/* ==========================================================================
   AFC HOLIDAYS / MICE TOURS / page stylesheet
   Everything is scoped to .amx (the <main id="afc-mice"> wrapper) plus one
   block for the existing #enqmiceModal. Poppins only, reused from the site.
   No external libraries. Works with Bootstrap 4 + jQuery already on the page.

   Contents
   01 Tokens and base        07 Experiences (editorial)
   02 Shared pieces          08 Destinations (concave carousel)
   03 Hero                   09 Why AFC (bento)
   04 Approach               10 Process
   05 Ribbon                 11 Partners
   06 Services (scroll stack)12 FAQ   13 Final CTA   14 Motion   15 Modal
   16 Responsive             17 Reduced motion
   ========================================================================== */

/* 01 TOKENS AND BASE ------------------------------------------------------ */
.amx{
  --amx-red:#971419;
  --amx-red-deep:#6d0c11;
  --amx-ink:#14181b;
  --amx-ink-soft:#22282c;
  --amx-paper:#f6f2ec;
  --amx-sand:#ecdcc4;
  --amx-gold:#e8bd7b;
  --amx-muted:#5f6468;
  --amx-line:#e3ddd3;
  --amx-white:#fff;
  --amx-header:105px;            /* real header height, set by JS; used for sticky and anchors */
  --amx-offset:0px;              /* extra space JS adds only when the site has not already cleared the fixed header */
  --amx-r-xl:32px;
  --amx-r-lg:24px;
  --amx-r-md:16px;
  --amx-gutter:24px;
  --amx-ease:cubic-bezier(.2,.75,.2,1);
  /* photo used inside the large "30+" numerals */
  --amx-num-photo:url("../img/mice/dubai-2.webp");
  position:relative;
  display:block;
  padding-top:var(--amx-offset);
  background:var(--amx-white);
  color:var(--amx-ink);
  font-family:'Poppins',Arial,sans-serif!important;
  font-size:16px;
  line-height:1.7;
  font-weight:400;
  text-align:left;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
@supports (overflow:clip){.amx{overflow-x:clip}}
.amx *,.amx *::before,.amx *::after{box-sizing:border-box}
.amx *:not(.fa){font-family:'Poppins',Arial,sans-serif!important}
.amx h1,.amx h2,.amx h3,.amx p,.amx ul,.amx ol,.amx figure{margin:0;padding:0}
.amx h1,.amx h2,.amx h3{color:inherit;font-weight:600;text-transform:none}
.amx ul,.amx ol{list-style:none}
.amx img{display:block;max-width:100%;height:auto}
.amx a{color:inherit;text-decoration:none}
.amx a:hover{color:inherit;text-decoration:none}
.amx button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0}
.amx :focus{outline:none}
.amx :focus-visible{outline:3px solid var(--amx-gold);outline-offset:3px;border-radius:6px}
.amx svg{display:block}
.amx .amx-sprite{position:absolute;width:0;height:0;overflow:hidden}
.amx [id]{scroll-margin-top:calc(var(--amx-header) + 24px)}

/* 02 SHARED PIECES -------------------------------------------------------- */
.amx .amx-wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}

.amx .amx-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:22px;color:var(--amx-red);font-size:12px;font-weight:600;letter-spacing:.16em;line-height:1.4;text-transform:uppercase}
.amx .amx-eyebrow::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}
.amx .amx-eyebrow--light{color:var(--amx-gold)}

.amx .amx-title{font-size:clamp(34px,4.1vw,60px);font-weight:600;letter-spacing:-.035em;line-height:1.1}
.amx .amx-accent{color:var(--amx-red)}

.amx .amx-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(32px,6vw,96px);align-items:end;margin-bottom:64px}
.amx .amx-head-note{color:var(--amx-muted);font-size:15px;line-height:1.8;max-width:420px;justify-self:end}

.amx .amx-pill{display:inline-flex;align-items:center;gap:10px;padding:9px 18px;border:1px solid rgba(255,255,255,.45);border-radius:100px;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-size:12px;font-weight:500;letter-spacing:.08em;line-height:1.4;text-transform:uppercase}
.amx .amx-pill--glass{border-color:rgba(255,255,255,.35);background:rgba(20,24,27,.34);letter-spacing:.02em;text-transform:none;font-size:13px}

.amx .amx-btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:56px;padding:8px 26px;border:1px solid transparent;border-radius:100px;font-size:14px;font-weight:600;line-height:1.2;white-space:nowrap;transition:transform .35s var(--amx-ease),background-color .25s,color .25s,border-color .25s,box-shadow .35s}
.amx .amx-btn:has(.amx-btn-dot){padding-right:8px}
.amx .amx-btn-dot{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--amx-red);color:#fff;flex:none;transition:transform .45s var(--amx-ease),background-color .25s}
.amx .amx-btn-dot svg{width:18px;height:18px}
.amx .amx-btn:hover{transform:translateY(-2px)}
.amx .amx-btn:hover .amx-btn-dot{transform:rotate(-45deg)}
.amx .amx-btn:active{transform:translateY(0)}
.amx .amx-btn--light{background:#fff;color:var(--amx-ink);box-shadow:0 12px 30px rgba(0,0,0,.18)}
.amx .amx-btn--light:hover{color:var(--amx-ink);box-shadow:0 18px 40px rgba(0,0,0,.26)}
.amx .amx-btn--ghost{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.06);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.amx .amx-btn--ghost:hover{background:#fff;color:var(--amx-ink)}
.amx .amx-btn--ghost .fa{font-size:19px}
.amx .amx-btn--red{background:var(--amx-red);color:#fff}
.amx .amx-btn--red:hover{background:var(--amx-red-deep);color:#fff}
.amx .amx-btn--red .amx-btn-dot{background:#fff;color:var(--amx-red)}
.amx .amx-btn--card{min-height:48px;background:var(--amx-ink);color:#fff;padding-left:22px}
.amx .amx-btn--card .amx-btn-dot{width:34px;height:34px}

.amx .amx-link{display:inline-flex;flex:none;white-space:nowrap;align-items:center;gap:12px;padding:6px 0;border-bottom:1px solid currentColor;color:var(--amx-ink);font-size:14px;font-weight:600;transition:color .25s,gap .35s var(--amx-ease)}
.amx .amx-link svg{width:18px;height:18px}
.amx .amx-link:hover{color:var(--amx-red);gap:18px}

.amx .amx-round{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--amx-line);border-radius:50%;background:#fff;color:var(--amx-ink);transition:background-color .25s,color .25s,border-color .25s,opacity .25s}
.amx .amx-round svg{width:20px;height:20px}
.amx .amx-round:hover{background:var(--amx-ink);border-color:var(--amx-ink);color:#fff}
.amx .amx-round:disabled{opacity:.35;cursor:default;background:transparent;color:var(--amx-ink);border-color:var(--amx-line)}

.amx .amx-frame{position:relative;overflow:hidden;border-radius:var(--amx-r-lg);background:var(--amx-sand);isolation:isolate}
.amx .amx-frame img{width:100%;height:100%;object-fit:cover}
.amx .amx-frame img[data-amx-parallax]{position:absolute;left:0;top:-10%;height:120%;will-change:transform}
.amx .amx-frame figcaption{position:absolute;left:20px;bottom:20px}
/* Hover zoom for editorial photos. It uses the separate `scale` property, so it adds to the
   parallax transform that the script writes instead of fighting it. Pointer devices only. */
@media (hover:hover){
  .amx .amx-frame>img,.amx .amx-tile--photo>img,.amx .amx-final>img{transition:scale 1s var(--amx-ease)}
  .amx .amx-frame:hover>img{scale:1.06}
  .amx .amx-frame--inset:hover>img{scale:1.08}
  .amx .amx-tile--photo:hover>img{scale:1.05}
  .amx .amx-final:hover>img{scale:1.04}
}

/* 03 HERO ------------------------------------------------------------------ */
.amx .amx-hero{position:relative;display:flex;align-items:flex-end;margin:14px var(--amx-gutter) 0;min-height:clamp(600px,calc(100vh - var(--amx-header) - 44px),780px);border-radius:var(--amx-r-xl);overflow:hidden;color:#fff;background:var(--amx-ink);isolation:isolate}
.amx .amx-hero-media{position:absolute;inset:0;z-index:-1}
.amx .amx-hero-media img{position:absolute;left:0;top:-20%;width:100%;height:120%;object-fit:cover;object-position:50% 40%;will-change:transform}
.amx .amx-hero-media::after{content:'';position:absolute;inset:0;background:linear-gradient(95deg,rgba(13,17,20,.88) 0%,rgba(13,17,20,.62) 42%,rgba(13,17,20,.12) 78%),linear-gradient(0deg,rgba(13,17,20,.6),transparent 45%)}
.amx .amx-hero-inner{width:min(1280px,calc(100% - 96px));margin-inline:auto;padding:76px 0 48px}
.amx .amx-hero h1{display:flex;flex-direction:column;align-items:flex-start;gap:26px}
.amx .amx-hero-head{display:block;font-size:clamp(44px,5.3vw,84px);font-weight:600;letter-spacing:-.045em;line-height:1.03}
.amx .amx-hero .amx-accent{display:block;color:var(--amx-gold)}
.amx .amx-hero-lede{max-width:560px;margin-top:28px;color:rgba(255,255,255,.88);font-size:clamp(15px,1.2vw,17px);line-height:1.75}
.amx .amx-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.amx .amx-hero-facts{display:flex;flex-wrap:wrap;margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.22);max-width:560px}
.amx .amx-hero-facts li{display:flex;flex-direction:column;gap:2px;padding-right:36px;margin-right:36px;border-right:1px solid rgba(255,255,255,.22)}
.amx .amx-hero-facts li:last-child{border:0;margin:0;padding:0}
.amx .amx-hero-facts strong{font-size:26px;font-weight:600;letter-spacing:-.03em;line-height:1.2}
.amx .amx-hero-facts span{color:rgba(255,255,255,.72);font-size:12px;letter-spacing:.04em}

/* cut-out corner, after the Travara reference */
.amx .amx-hero-notch{position:absolute;right:0;bottom:0;padding:18px 0 0 18px;background:#fff;border-top-left-radius:var(--amx-r-xl);color:var(--amx-ink)}
.amx .amx-hero-notch::before,.amx .amx-hero-notch::after{content:'';position:absolute;width:var(--amx-r-xl);height:var(--amx-r-xl);background:radial-gradient(circle at 0 0,transparent calc(var(--amx-r-xl) - .5px),#fff var(--amx-r-xl))}
.amx .amx-hero-notch::before{right:0;top:calc(var(--amx-r-xl) * -1)}
.amx .amx-hero-notch::after{left:calc(var(--amx-r-xl) * -1);bottom:0}
.amx .amx-notch-card{display:flex;align-items:center;gap:18px;padding:18px 20px;border-radius:22px;background:var(--amx-paper);transition:background-color .3s}
.amx .amx-hero-notch:hover{color:var(--amx-ink)}
.amx .amx-hero-notch:hover .amx-notch-card{background:var(--amx-sand)}
.amx .amx-notch-photos{display:flex}
.amx .amx-notch-photos img{width:48px;height:48px;border:3px solid var(--amx-paper);border-radius:50%;object-fit:cover}
.amx .amx-notch-photos img+img{margin-left:-14px}
.amx .amx-notch-text{display:flex;flex-direction:column;line-height:1.4}
.amx .amx-notch-text strong{font-size:14px;font-weight:600}
.amx .amx-notch-text small{color:var(--amx-muted);font-size:12px}
.amx .amx-notch-go{display:grid;place-items:center;width:40px;height:40px;margin-left:6px;border-radius:50%;background:var(--amx-ink);color:#fff;transition:transform .45s var(--amx-ease),background-color .25s}
.amx .amx-notch-go svg{width:18px;height:18px}
.amx .amx-hero-notch:hover .amx-notch-go{background:var(--amx-red);transform:rotate(45deg)}

/* chapter navigation */
.amx .amx-chapters{display:flex;justify-content:space-between;gap:28px;padding:30px 0;border-bottom:1px solid var(--amx-line);overflow-x:auto;scrollbar-width:none}
.amx .amx-chapters::-webkit-scrollbar{display:none}
.amx .amx-chapters a{display:flex;align-items:baseline;gap:10px;color:var(--amx-muted);font-size:15px;font-weight:500;white-space:nowrap;transition:color .25s}
.amx .amx-chapters i{color:var(--amx-red);font-size:11px;font-style:normal;font-weight:600;letter-spacing:.08em}
.amx .amx-chapters a:hover,.amx .amx-chapters a.is-active{color:var(--amx-ink)}

/* 04 APPROACH ------------------------------------------------------------- */
.amx .amx-approach{padding:140px 0 40px}
.amx .amx-approach-top{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(48px,7vw,120px);align-items:start}
.amx .amx-statement{font-size:clamp(28px,3.2vw,46px);font-weight:500;letter-spacing:-.03em;line-height:1.25}
.amx .amx-statement em{font-style:normal;color:var(--amx-red);padding:0 .1em;margin:0 -.1em;border-radius:6px;-webkit-box-decoration-break:clone;box-decoration-break:clone;background:linear-gradient(rgba(232,189,123,.36),rgba(232,189,123,.36)) no-repeat 0 86%/100% 36%;transition:background-size 1.1s var(--amx-ease) .1s}
/* blur highlight: words sharpen as the heading scrolls in, key phrases get a marker sweep */
.amx.amx-ready .amx-statement em:not(.is-lit){background-size:0% 36%}
.amx .amx-statement .amx-hw{display:inline-block;opacity:.16;filter:blur(6px);transition:opacity .7s ease,filter .9s var(--amx-ease)}
.amx .amx-statement .amx-hw.is-on{opacity:1;filter:blur(0)}
.amx .amx-approach-sub{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;justify-items:start;max-width:560px;margin-top:48px;color:var(--amx-muted);font-size:16px;line-height:1.85}
.amx .amx-approach-visual{position:relative;padding-bottom:70px}
.amx .amx-frame--tall{aspect-ratio:4/5}
.amx .amx-frame--inset{position:absolute;left:-22%;bottom:0;width:58%;aspect-ratio:7/5;border:8px solid #fff;border-radius:var(--amx-r-lg);box-shadow:0 24px 50px rgba(20,24,27,.16)}
.amx .amx-orbit{position:absolute;right:-44px;top:-52px;width:148px;height:148px}
.amx .amx-orbit-disc{fill:#fff}
.amx .amx-orbit-core{fill:var(--amx-red)}
.amx .amx-orbit-arrow{fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.amx .amx-orbit text{fill:var(--amx-ink);font-size:14.5px;font-weight:600;letter-spacing:.12em}
.amx .amx-orbit-spin{transform-origin:100px 100px;animation:amx-spin 24s linear infinite}

.amx .amx-mice{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:110px;border-top:1px solid var(--amx-line)}
.amx .amx-mice li{position:relative;padding:34px 28px 0 0}
.amx .amx-mice li+li{padding-left:28px;border-left:1px solid var(--amx-line)}
.amx .amx-mice-letter{display:block;margin-bottom:18px;color:var(--amx-red);font-size:clamp(56px,6vw,88px);font-weight:600;letter-spacing:-.05em;line-height:.9}
.amx .amx-mice h3{font-size:18px;font-weight:600;letter-spacing:-.01em;margin-bottom:8px}
.amx .amx-mice p{color:var(--amx-muted);font-size:14px;line-height:1.7}

/* 05 RIBBON (3D satin ribbon on canvas, drawn by mice-tours.js) -------------- */
.amx .amx-ribbon{position:relative;height:320px;margin-top:-40px;margin-bottom:-160px;overflow:hidden;z-index:2;pointer-events:none}
.amx .amx-ribbon canvas{position:absolute;left:0;top:0;width:100%;height:100%;display:none}
.amx .amx-ribbon.is-live canvas{display:block}
/* static, readable fallback when canvas or JavaScript is unavailable */
.amx .amx-ribbon-fallback{position:absolute;left:-3%;top:50%;width:106%;margin:0;padding:17px 0;transform:translateY(-50%) rotate(-2deg);background:linear-gradient(180deg,#ac191f,#971419 55%,#7f1015);color:#fff;font-size:20px;font-weight:700;letter-spacing:.07em;line-height:1.3;text-align:center;text-transform:uppercase;white-space:nowrap;overflow:hidden;box-shadow:0 14px 24px -10px rgba(20,24,27,.4)}
.amx .amx-ribbon-fallback i{display:inline-block;width:7px;height:7px;margin:0 18px 3px;border-radius:50%;background:var(--amx-gold);vertical-align:middle}
.amx .amx-ribbon.is-live .amx-ribbon-fallback{display:none}

/* 06 SERVICES (SCROLL STACK) ---------------------------------------------- */
.amx .amx-services{padding:200px 0 70px;background:linear-gradient(180deg,#fff 0%,var(--amx-paper) 15%,var(--amx-paper) 100%)}
.amx .amx-stack-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:48px;align-items:start}
.amx .amx-stack-index{display:none}
.amx .amx-stack{position:relative}
.amx .amx-card{position:relative;display:grid;grid-template-columns:42% minmax(0,1fr);min-height:520px;margin-bottom:32px;border-radius:var(--amx-r-xl);background:#fff;color:var(--amx-ink);overflow:hidden;box-shadow:0 -1px 0 rgba(20,24,27,.04),0 30px 60px -30px rgba(20,24,27,.25);transform-origin:50% 0}
.amx .amx-card:last-child{margin-bottom:0}
.amx .amx-card-media{position:relative;margin:14px 0 14px 14px;border-radius:22px;overflow:hidden;background:var(--amx-sand)}
.amx .amx-card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--amx-ease)}
@media (hover:hover){.amx .amx-card:hover .amx-card-media img{transform:scale(1.05)}}
.amx .amx-card-media::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,17,20,.55),transparent 45%)}
.amx .amx-card-num{position:absolute;left:24px;bottom:8px;z-index:1;color:#fff;font-size:clamp(72px,8vw,120px);font-weight:600;letter-spacing:-.06em;line-height:1}
.amx .amx-card-body{display:flex;flex-direction:column;padding:clamp(28px,3.4vw,52px)}
.amx .amx-card-count{font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--amx-red)}
.amx .amx-card-count i{font-style:normal;opacity:.45;color:var(--amx-ink)}
.amx .amx-card h3{margin-top:14px;font-size:clamp(30px,3vw,44px);font-weight:600;letter-spacing:-.035em;line-height:1.08}
.amx .amx-card-tag{margin-top:10px;color:var(--amx-red);font-size:17px;font-weight:500;letter-spacing:-.01em}
.amx .amx-card-desc{margin-top:18px;max-width:540px;color:var(--amx-muted);font-size:15px;line-height:1.75}
.amx .amx-card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin-top:24px;margin-bottom:28px}
.amx .amx-card-list li{display:flex;align-items:flex-start;gap:10px;font-size:14px;font-weight:500;line-height:1.5}
.amx .amx-card-list svg{flex:none;width:18px;height:18px;margin-top:1px;color:var(--amx-red)}
.amx .amx-card-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:auto;padding-top:22px;border-top:1px solid rgba(20,24,27,.12)}
.amx .amx-card-foot p{color:var(--amx-muted);font-size:13px;line-height:1.5}
.amx .amx-card-foot b{display:block;color:var(--amx-ink);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
/* card themes */
.amx .amx-card--sand{background:var(--amx-sand)}
.amx .amx-card--sand .amx-card-desc,.amx .amx-card--sand .amx-card-foot p{color:#5c5345}
.amx .amx-card--ink{background:var(--amx-ink);color:#fff}
.amx .amx-card--red{background:var(--amx-red);color:#fff}
.amx .amx-card--ink .amx-card-count,.amx .amx-card--ink .amx-card-tag,.amx .amx-card--ink .amx-card-list svg,.amx .amx-card--red .amx-card-count,.amx .amx-card--red .amx-card-tag,.amx .amx-card--red .amx-card-list svg{color:var(--amx-gold)}
.amx .amx-card--ink .amx-card-count i,.amx .amx-card--red .amx-card-count i{color:#fff}
.amx .amx-card--ink .amx-card-desc,.amx .amx-card--ink .amx-card-foot p,.amx .amx-card--red .amx-card-desc,.amx .amx-card--red .amx-card-foot p{color:rgba(255,255,255,.78)}
.amx .amx-card--ink .amx-card-foot,.amx .amx-card--red .amx-card-foot{border-color:rgba(255,255,255,.2)}
.amx .amx-card--ink .amx-card-foot b,.amx .amx-card--red .amx-card-foot b{color:#fff}
.amx .amx-card--ink .amx-btn--card,.amx .amx-card--red .amx-btn--card{background:#fff;color:var(--amx-ink)}
.amx .amx-card--red .amx-btn--card .amx-btn-dot{background:var(--amx-ink)}
/* Card border. ::after is the quiet static line. The travelling highlight is a ring-shaped mask
   (.amx-card-trace, added by mice-tours.js) with one rotating gradient behind it. Only `transform`
   is animated, so nothing is repainted. It is rendered for a single card at a time: the front card,
   and only while the services block is on screen. */
.amx .amx-card::after{content:'';position:absolute;inset:0;z-index:3;border:1px solid rgba(20,24,27,.09);border-radius:inherit;pointer-events:none}
.amx .amx-card--ink::after,.amx .amx-card--red::after{border-color:rgba(255,255,255,.16)}
.amx .amx-card{--amx-trace-a:var(--amx-red);--amx-trace-b:var(--amx-gold)}
.amx .amx-card--sand{--amx-trace-b:#fff}
.amx .amx-card--ink{--amx-trace-a:#d02a31}
.amx .amx-card--red{--amx-trace-a:var(--amx-gold);--amx-trace-b:#fff}
.amx .amx-card-trace{display:none;position:absolute;inset:0;z-index:4;padding:2px;border-radius:inherit;overflow:hidden;pointer-events:none;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.amx .amx-stack.is-live .amx-card.is-front .amx-card-trace{display:block}
.amx .amx-card-trace i{position:absolute;left:50%;top:50%;width:var(--amx-trace-d,1200px);height:var(--amx-trace-d,1200px);margin:calc(var(--amx-trace-d,1200px) / -2) 0 0 calc(var(--amx-trace-d,1200px) / -2);background:conic-gradient(from 0deg,transparent 0deg 268deg,var(--amx-trace-a) 330deg,var(--amx-trace-b) 357deg,transparent 360deg);animation:amx-turn 9s linear infinite;will-change:transform}
@keyframes amx-turn{to{transform:rotate(360deg)}}

/* stacking only on screens that can show a whole card */
@media (min-width:1025px) and (min-height:740px){
  .amx .amx-card{position:sticky;top:calc(var(--amx-header) + 28px);will-change:transform}
  .amx .amx-card:nth-child(2){top:calc(var(--amx-header) + 42px)}
  .amx .amx-card:nth-child(3){top:calc(var(--amx-header) + 56px)}
  .amx .amx-card:nth-child(4){top:calc(var(--amx-header) + 70px)}
  .amx .amx-card:nth-child(5){top:calc(var(--amx-header) + 84px)}
  .amx .amx-card:nth-child(6){top:calc(var(--amx-header) + 98px)}
  .amx .amx-stack{padding-bottom:24px}
}
@media (min-width:1240px) and (min-height:740px){
  .amx .amx-stack-layout{grid-template-columns:250px minmax(0,1fr);gap:56px}
  .amx .amx-stack-index{display:block;position:sticky;top:calc(var(--amx-header) + 40px)}
  .amx .amx-stack-index>p{margin-bottom:18px;color:var(--amx-muted);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
  .amx .amx-stack-index ol{margin-bottom:32px;border-left:1px solid #d9d2c6}
  .amx .amx-stack-index a{position:relative;display:flex;gap:14px;align-items:baseline;padding:11px 0 11px 20px;color:#8b8f92;font-size:15px;font-weight:500;line-height:1.35;transition:color .3s,padding .4s var(--amx-ease)}
  .amx .amx-stack-index a::before{content:'';position:absolute;left:-1px;top:0;width:2px;height:100%;background:var(--amx-red);transform:scaleY(0);transition:transform .4s var(--amx-ease)}
  .amx .amx-stack-index i{font-size:11px;font-style:normal;font-weight:600;letter-spacing:.08em}
  .amx .amx-stack-index a:hover{color:var(--amx-ink)}
  .amx .amx-stack-index a.is-active{color:var(--amx-ink);font-weight:600;padding-left:28px}
  .amx .amx-stack-index a.is-active::before{transform:scaleY(1)}
  .amx .amx-stack-index a.is-active i{color:var(--amx-red)}
  .amx .amx-stack-index .amx-btn{min-height:48px;padding-left:22px;font-size:13px}
  .amx .amx-stack-index .amx-btn-dot{width:34px;height:34px}
}

/* 07 EXPERIENCES ---------------------------------------------------------- */
.amx .amx-exp{padding:150px 0 140px}
.amx .amx-exp-grid{display:grid;grid-template-columns:minmax(0,.38fr) minmax(0,.62fr);gap:28px;align-items:start}
.amx .amx-exp-photo-a{aspect-ratio:1/.62;margin-bottom:44px}
.amx .amx-exp-lead .amx-title{font-size:clamp(30px,3.2vw,46px)}
.amx .amx-exp-text{margin-top:22px;color:var(--amx-muted);font-size:15px;line-height:1.85}
/* Feature boxes and benefit cards share one behaviour: a sand wash rises from the base and a red
   accent line draws across the top. The card itself does not move. */
.amx .amx-exp-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px;counter-reset:amx-point}
.amx .amx-exp-points li,.amx .amx-benefits li{position:relative;overflow:hidden;isolation:isolate;border:1px solid var(--amx-line);border-radius:var(--amx-r-md)}
.amx .amx-exp-points li::before,.amx .amx-benefits li::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#f3e7d4,var(--amx-sand));transform:scaleY(0);transform-origin:50% 100%;transition:transform .7s var(--amx-ease)}
.amx .amx-exp-points li::after,.amx .amx-benefits li::after{content:'';position:absolute;left:0;top:0;width:100%;height:2px;background:linear-gradient(90deg,var(--amx-red),var(--amx-gold));transform:scaleX(0);transform-origin:0 50%;transition:transform .8s var(--amx-ease)}
.amx .amx-exp-points li:hover::before,.amx .amx-benefits li:hover::before{transform:scaleY(1)}
.amx .amx-exp-points li:hover::after,.amx .amx-benefits li:hover::after{transform:scaleX(1)}
.amx .amx-exp-points li{counter-increment:amx-point;padding:22px 24px 26px;background:linear-gradient(180deg,#fbf9f5,var(--amx-paper))}
.amx .amx-exp-points h3{display:flex;flex-direction:column;gap:14px;font-size:17px;font-weight:600;letter-spacing:-.015em;line-height:1.3;margin-bottom:8px}
.amx .amx-exp-points h3::before{content:counter(amx-point,decimal-leading-zero);color:var(--amx-red);font-size:11px;font-weight:600;letter-spacing:.14em}
.amx .amx-exp-points p{color:var(--amx-muted);font-size:13px;line-height:1.65;transition:color .4s}
.amx .amx-exp-points li:hover p,.amx .amx-benefits li:hover p{color:#5c5345}
.amx .amx-exp-photo-b{aspect-ratio:16/10.2}
/* client journey video (Plyr skin lives in the site's plyr.css; only brand tuning here) */
.amx .amx-exp-video{aspect-ratio:16/9;background:var(--amx-ink);isolation:isolate;-webkit-clip-path:inset(0 round var(--amx-r-lg));clip-path:inset(0 round var(--amx-r-lg));
  --plyr-color-main:#971419;--plyr-font-family:'Poppins',Arial,sans-serif;--plyr-control-radius:10px;--plyr-video-background:#14181b;--plyr-control-spacing:12px}
.amx .amx-exp-video .amx-video,.amx .amx-exp-video .plyr{position:absolute;inset:0;width:100%;height:100%;min-width:0;border-radius:inherit}
.amx .amx-exp-video .amx-video{object-fit:cover;background:var(--amx-ink)}
.amx .amx-exp-video .plyr video{width:100%;height:100%;object-fit:contain}
.amx .amx-exp-video .plyr__video-wrapper{height:100%;padding-bottom:0!important;aspect-ratio:auto!important}
.amx .amx-exp-video .plyr__poster{background-size:cover}
.amx .amx-exp-video .plyr__control--overlaid{padding:26px;background:#fff;color:var(--amx-red);box-shadow:0 14px 40px rgba(0,0,0,.35);transition:transform .35s var(--amx-ease),background-color .25s,color .25s}
.amx .amx-exp-video .plyr__control--overlaid:hover,.amx .amx-exp-video .plyr__control--overlaid:focus-visible{background:var(--amx-red);color:#fff;transform:translate(-50%,-50%) scale(1.08)}
.amx .amx-exp-video .plyr__control--overlaid svg{width:22px;height:22px}
.amx .amx-exp-video figcaption{left:20px;top:20px;bottom:auto;z-index:3;pointer-events:none;transition:opacity .4s ease}
.amx .amx-exp-video.is-playing figcaption{opacity:0}
/* Experience tags. Static wrapped list by default; the script adds .is-live and repeats the list
   inside a track that moves by exactly one list width, so the loop has no gap or jump. */
.amx .amx-tagbelt{margin-top:56px;padding-top:36px;border-top:1px solid var(--amx-line)}
.amx .amx-exp-tags{display:flex;flex-wrap:wrap;gap:12px}
.amx .amx-exp-tags li{display:inline-flex;align-items:center;gap:10px;padding:11px 22px 11px 18px;border:1px solid var(--amx-line);border-radius:100px;background:#fff;font-size:14px;font-weight:500;line-height:1.3;white-space:nowrap;transition:background-color .3s,color .3s,border-color .3s}
.amx .amx-exp-tags li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--amx-red);flex:none;transition:background-color .3s}
.amx .amx-exp-tags li:nth-child(even){background:var(--amx-paper);border-color:transparent}
.amx .amx-exp-tags li:nth-child(even)::before{background:var(--amx-gold)}
.amx .amx-exp-tags li:hover{background:var(--amx-ink);border-color:var(--amx-ink);color:#fff}
.amx .amx-exp-tags li:hover::before{background:var(--amx-gold)}
.amx .amx-tagbelt.is-live{position:relative;overflow:hidden}
.amx .amx-tagbelt.is-live::before,.amx .amx-tagbelt.is-live::after{content:'';position:absolute;z-index:1;top:36px;bottom:0;width:7%;pointer-events:none;background:linear-gradient(90deg,#fff,rgba(255,255,255,0))}
.amx .amx-tagbelt.is-live::before{left:0}
.amx .amx-tagbelt.is-live::after{right:0;transform:scaleX(-1)}
.amx .amx-tagbelt.is-paused .amx-tagbelt-track{animation-play-state:paused}
.amx .amx-tagbelt-track{display:flex;width:max-content;animation:amx-belt var(--amx-belt-t,40s) linear infinite;will-change:transform}
.amx .amx-tagbelt.is-live .amx-exp-tags{flex:none;flex-wrap:nowrap;padding-right:12px}
.amx .amx-tagbelt:hover .amx-tagbelt-track,.amx .amx-tagbelt:focus-within .amx-tagbelt-track{animation-play-state:paused}
@keyframes amx-belt{to{transform:translate3d(calc(var(--amx-belt-w,0px) * -1),0,0)}}

/* 08 DESTINATIONS (CONCAVE CAROUSEL) -------------------------------------- */
/* dark inset panel, same family as the process panel, so the photos carry the colour */
.amx .amx-dest{margin:0 var(--amx-gutter);padding:120px 0 104px;border-radius:var(--amx-r-xl);background:radial-gradient(900px 520px at 88% -8%,rgba(151,20,25,.34),transparent 62%),radial-gradient(760px 480px at 0% 108%,rgba(232,189,123,.1),transparent 60%),var(--amx-ink);color:#fff}
.amx .amx-dest .amx-eyebrow{color:var(--amx-gold)}
.amx .amx-dest .amx-title{color:#fff}
.amx .amx-dest .amx-accent{color:var(--amx-gold)}
.amx .amx-dest .amx-head-note{color:rgba(255,255,255,.72)}
.amx .amx-dest .amx-round{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.06);color:#fff}
.amx .amx-dest .amx-round:hover{background:#fff;border-color:#fff;color:var(--amx-ink)}
.amx .amx-dest .amx-round:disabled{opacity:.3;background:transparent;border-color:rgba(255,255,255,.3);color:#fff}
.amx .amx-dest .amx-dcard-in{background:var(--amx-ink-soft);box-shadow:0 26px 36px -22px rgba(0,0,0,.8)}
/* the glass labels sit on moving 3D cards: a plain tint looks the same and avoids a live blur per card */
.amx .amx-dest .amx-dcard .amx-pill--glass{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(20,24,27,.58)}
.amx .amx-dest .amx-dest-foot{color:rgba(255,255,255,.7)}
.amx .amx-dest .amx-link{color:#fff}
.amx .amx-dest .amx-link:hover{color:var(--amx-gold)}
.amx .amx-dest .amx-head{margin-bottom:24px}
.amx .amx-dest .amx-head-note{display:flex;flex-direction:column;gap:24px}
.amx .amx-dest-ctrl{display:flex;gap:10px}
.amx .amx-dest-prev svg{transform:rotate(180deg)}
.amx .amx-rail{--amx-dw:clamp(240px,23vw,330px);display:flex;gap:22px;padding:56px calc(50% - var(--amx-dw) / 2);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab}
.amx .amx-rail::-webkit-scrollbar{display:none}
.amx .amx-rail.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.amx .amx-rail:focus-visible{outline-offset:-6px}
.amx .amx-dcard{flex:0 0 var(--amx-dw);scroll-snap-align:center}
.amx .amx-dcard-in{position:relative;height:calc(var(--amx-dw) * 1.42);border-radius:var(--amx-r-lg);background:var(--amx-sand);transform-origin:50% 50%;will-change:transform;box-shadow:0 30px 50px -28px rgba(20,24,27,.45)}
/* The photo sits in its own clipping layer. Rounding is applied three ways (overflow, clip-path and the
   image itself) because browsers can drop overflow clipping on a 3D transformed parent while a child
   transition is finishing, which is what squared the corners after hover. */
.amx .amx-dcard-pic{position:absolute;inset:0;border-radius:inherit;overflow:hidden;-webkit-clip-path:inset(0 round var(--amx-r-lg));clip-path:inset(0 round var(--amx-r-lg));isolation:isolate;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.amx .amx-dcard img{width:100%;height:100%;object-fit:cover;border-radius:inherit;pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform 1s var(--amx-ease)}
@media (hover:hover){.amx .amx-dcard:hover img{transform:scale(1.06)}}
.amx .amx-dcard-pic::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(0deg,rgba(13,17,20,.62),transparent 48%),linear-gradient(180deg,rgba(13,17,20,.5),transparent 26%)}
.amx .amx-dcard-tag{position:absolute;z-index:1;left:18px;top:18px;color:#fff;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-shadow:0 1px 10px rgba(0,0,0,.5)}
.amx .amx-dcard h3{position:absolute;z-index:1;left:50%;bottom:22px;transform:translateX(-50%);flex-direction:column;gap:0;padding:10px 24px;border-radius:22px;font-size:18px;font-weight:600;line-height:1.3;white-space:nowrap}
.amx .amx-dcard h3 small{font-size:11px;font-weight:400;opacity:.85}
.amx .amx-dest-foot{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:8px;color:var(--amx-muted);font-size:14px}

/* 09 WHY AFC (BENTO) ------------------------------------------------------ */
.amx .amx-why{padding:150px 0 110px}
.amx .amx-bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(280px,auto);gap:18px}
.amx .amx-tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:30px;border-radius:var(--amx-r-lg);overflow:hidden}
.amx .amx-tile--intro{grid-column:span 5;justify-content:center;padding:10px 40px 10px 0}
.amx .amx-tile--intro .amx-title{font-size:clamp(30px,3.2vw,46px)}
.amx .amx-tile--intro>p:last-child{margin-top:22px;color:var(--amx-muted);font-size:15px;line-height:1.8}
.amx .amx-tile--ink{grid-column:span 4;background:var(--amx-ink);color:#fff}
.amx .amx-tile--sand{grid-column:span 3;background:var(--amx-sand)}
.amx .amx-tile--photo{grid-column:span 6;padding:0}
.amx .amx-tile--photo img{position:absolute;left:0;top:-10%;width:100%;height:120%;object-fit:cover}
.amx .amx-tile--photo::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,17,20,.5),transparent 55%)}
.amx .amx-tile--photo figcaption{position:absolute;z-index:1;left:22px;bottom:22px}
.amx .amx-tile--red{grid-column:span 3;background:var(--amx-red);color:#fff}
.amx .amx-tile--line{grid-column:span 3;border:1px solid var(--amx-line)}
.amx .amx-num{margin-bottom:auto;font-size:clamp(52px,5.4vw,84px);font-weight:600;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.amx .amx-num--photo{font-size:clamp(96px,11vw,170px);line-height:.9;margin-top:-6px}
.amx .amx-num--photo span{background-image:var(--amx-num-photo),linear-gradient(120deg,var(--amx-gold),#f6dcb0);background-size:cover;background-position:center;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.amx .amx-num-label{margin-top:24px;font-size:17px;font-weight:600;letter-spacing:-.01em;line-height:1.3}
.amx .amx-num-note{margin-top:4px;font-size:13px;line-height:1.55;opacity:.72}
.amx .amx-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:18px}
.amx .amx-benefits li{padding:26px 26px 30px;background:#fff}
/* outlined numerals: large, but quieter than the solid statistics above */
.amx .amx-benefits span{display:block;margin-bottom:34px;font-size:clamp(48px,4.4vw,64px);font-weight:600;letter-spacing:-.04em;line-height:1;color:var(--amx-red);transition:color .5s ease}
@supports ((-webkit-text-stroke:1px #000) or (text-stroke:1px #000)){
  .amx .amx-benefits span{color:transparent;-webkit-text-stroke:1.2px rgba(151,20,25,.55)}
  .amx .amx-benefits li:hover span{color:var(--amx-red)}
}
.amx .amx-benefits h3{margin:0 0 8px;font-size:19px;font-weight:600;letter-spacing:-.02em;line-height:1.3}
.amx .amx-benefits p{color:var(--amx-muted);font-size:14px;line-height:1.7;transition:color .4s}

/* 10 PROCESS -------------------------------------------------------------- */
.amx .amx-process{margin:0 var(--amx-gutter) 0;padding:110px 0 100px;border-radius:var(--amx-r-xl);background:var(--amx-ink);color:#fff}
.amx .amx-process-inner{width:min(1280px,calc(100% - 96px));margin-inline:auto}
.amx .amx-process-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:80px}
.amx .amx-process .amx-accent{color:var(--amx-gold)}
.amx .amx-steps{--amx-p:1;position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px;padding-top:44px}
.amx .amx-steps::before,.amx .amx-steps::after{content:'';position:absolute;left:0;top:7px;width:100%;height:2px;background:rgba(255,255,255,.16)}
.amx .amx-steps::after{background:var(--amx-gold);transform-origin:0 50%;transform:scaleX(var(--amx-p))}
.amx .amx-steps li{position:relative}
.amx .amx-steps li::before{content:'';position:absolute;left:0;top:-44px;width:16px;height:16px;border-radius:50%;background:var(--amx-ink);border:2px solid rgba(255,255,255,.35);z-index:1;transition:background-color .4s,border-color .4s}
.amx .amx-steps li.is-on::before{background:var(--amx-gold);border-color:var(--amx-gold)}
.amx .amx-step-n{color:var(--amx-gold);font-size:12px;font-weight:600;letter-spacing:.12em}
.amx .amx-steps h3{margin:10px 0 10px;font-size:clamp(24px,2.3vw,32px);font-weight:600;letter-spacing:-.03em;line-height:1.2}
.amx .amx-steps p{max-width:250px;color:rgba(255,255,255,.7);font-size:14px;line-height:1.7}

/* 11 PARTNERS (FILTERABLE LOGO WALL) ---------------------------------------- */
.amx .amx-partners{padding:0 0 140px}
.amx .amx-partners .amx-head{margin-bottom:48px;padding-top:110px;border-top:1px solid var(--amx-line)}
.amx .amx-pwall{padding:clamp(20px,2.6vw,36px);border-radius:var(--amx-r-xl);background:var(--amx-paper)}
.amx .amx-ptabs{display:flex;flex-wrap:wrap;gap:8px}
.amx .amx-ptab{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:6px 8px 6px 18px;border:1px solid #d9d2c6;border-radius:100px;background:transparent;color:var(--amx-ink);font-size:13.5px;font-weight:500;line-height:1.2;white-space:nowrap;transition:background-color .3s,color .3s,border-color .3s}
.amx .amx-ptab i{min-width:28px;padding:5px 7px;border-radius:100px;background:rgba(20,24,27,.07);font-size:11px;font-style:normal;font-weight:600;line-height:1.3;text-align:center;transition:background-color .3s,color .3s}
.amx .amx-ptab:hover{border-color:var(--amx-ink)}
.amx .amx-ptab.is-active{background:var(--amx-ink);border-color:var(--amx-ink);color:#fff}
.amx .amx-ptab.is-active i{background:var(--amx-red);color:#fff}
.amx .amx-pstatus{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin:clamp(22px,2.4vw,32px) 0 18px;padding-top:22px;border-top:1px solid #dfd8cc}
.amx .amx-pstatus strong{font-size:18px;font-weight:600;letter-spacing:-.015em}
.amx .amx-pstatus span{color:var(--amx-muted);font-size:13.5px}
.amx .amx-pstatus em{margin-left:auto;color:var(--amx-muted);font-size:12px;font-style:normal;font-weight:500;letter-spacing:.06em;text-transform:uppercase}
.amx .amx-pgrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.amx .amx-plogo{display:grid;place-items:center;height:124px;padding:22px 20px;border:1px solid transparent;border-radius:var(--amx-r-md);background:#fff;transition:transform .5s var(--amx-ease),box-shadow .5s var(--amx-ease),border-color .3s}
.amx .amx-plogo img{width:auto;height:auto;max-width:100%;max-height:76px;object-fit:contain}
.amx .amx-plogo:hover{transform:translateY(-3px);box-shadow:0 18px 34px -20px rgba(20,24,27,.3)}
.amx .amx-plogo[hidden]{display:none}
.amx .amx-plogo.is-enter{animation:amx-pop .5s var(--amx-ease) both;animation-delay:calc(var(--amx-n,0) * 28ms)}
.amx .amx-pmore{display:flex;justify-content:center;margin-top:24px}
.amx .amx-pmore[hidden]{display:none}
.amx .amx-btn--outline{min-height:48px;padding-left:22px;border-color:#cfc7b9;background:#fff;color:var(--amx-ink);font-size:13.5px}
.amx .amx-btn--outline .amx-btn-dot{width:34px;height:34px;background:var(--amx-ink)}
.amx .amx-btn--outline:hover{border-color:var(--amx-ink);color:var(--amx-ink)}
.amx .amx-btn--outline:hover .amx-btn-dot{transform:rotate(90deg)}
.amx .amx-btn--outline[aria-expanded="true"] .amx-btn-dot{transform:rotate(45deg)}
@keyframes amx-pop{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}

/* 12 FAQ ------------------------------------------------------------------ */
.amx .amx-faq{margin-top:24px;padding:130px 0;background:radial-gradient(1100px 620px at 100% 0%,rgba(151,20,25,.055),transparent 62%),radial-gradient(900px 560px at 0% 100%,rgba(232,189,123,.2),transparent 60%),linear-gradient(135deg,#fcfaf6 0%,var(--amx-paper) 55%,#f3ebdf 100%)}
.amx .amx-faq-grid{display:grid;grid-template-columns:minmax(0,.4fr) minmax(0,.6fr);gap:clamp(40px,7vw,110px);align-items:start}
.amx .amx-faq-lead{position:sticky;top:calc(var(--amx-header) + 40px)}
.amx .amx-faq-lead>p:not(.amx-eyebrow){margin-top:22px;color:var(--amx-muted);font-size:15px;line-height:1.8}
.amx .amx-faq-card{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-top:40px;padding:28px;border-radius:var(--amx-r-lg);background:#fff}
.amx .amx-faq-card p{font-size:17px;font-weight:500;letter-spacing:-.01em;line-height:1.45}
.amx .amx-q{border-bottom:1px solid #d9d2c6}
.amx .amx-q:first-child{border-top:1px solid #d9d2c6}
.amx .amx-q summary{display:grid;grid-template-columns:36px minmax(0,1fr) 40px;gap:14px;align-items:center;padding:24px 0;list-style:none;cursor:pointer}
.amx .amx-q summary::-webkit-details-marker{display:none}
.amx .amx-q-n{color:var(--amx-red);font-size:12px;font-weight:600;letter-spacing:.08em}
.amx .amx-q h3{font-size:18px;font-weight:500;letter-spacing:-.015em;line-height:1.45;transition:color .25s}
.amx .amx-q summary:hover h3{color:var(--amx-red)}
.amx .amx-q-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;transition:transform .45s var(--amx-ease),background-color .3s,color .3s}
.amx .amx-q-ico svg{width:18px;height:18px}
.amx .amx-q[open] .amx-q-ico{background:var(--amx-red);color:#fff;transform:rotate(45deg)}
.amx .amx-q-a{overflow:hidden}
.amx .amx-q-a p{padding:0 54px 28px 50px;color:var(--amx-muted);font-size:15px;line-height:1.85}
.amx .amx-q-a a{color:var(--amx-red);font-weight:500;border-bottom:1px solid currentColor}

/* 13 FINAL CTA ------------------------------------------------------------ */
.amx .amx-final{position:relative;display:grid;place-items:center;min-height:620px;margin:24px var(--amx-gutter) 32px;padding:110px 32px;border-radius:var(--amx-r-xl);overflow:hidden;color:#fff;text-align:center;background:var(--amx-ink);isolation:isolate}
.amx .amx-final>img{position:absolute;z-index:-2;left:0;top:-10%;width:100%;height:120%;object-fit:cover}
.amx .amx-final::before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(0deg,rgba(13,17,20,.82),rgba(13,17,20,.55))}
.amx .amx-final-inner{display:flex;flex-direction:column;align-items:center;max-width:940px}
.amx .amx-final h2{margin:28px 0 22px;font-size:clamp(38px,5.4vw,80px);font-weight:600;letter-spacing:-.04em;line-height:1.05}
.amx .amx-final .amx-accent{color:var(--amx-gold)}
.amx .amx-final-inner>p:not(.amx-pill){max-width:520px;color:rgba(255,255,255,.85);font-size:16px;line-height:1.75}
.amx .amx-final-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:38px}

/* 14 MOTION (only active once the script adds .amx-ready) ------------------ */
.amx.amx-ready [data-amx-reveal]{opacity:0;transform:translateY(30px);transition:opacity .9s ease,transform 1s var(--amx-ease);transition-delay:calc(var(--amx-d,0) * 90ms)}
.amx.amx-ready [data-amx-reveal].is-in{opacity:1;transform:none}
.amx [data-amx-delay="1"]{--amx-d:1}.amx [data-amx-delay="2"]{--amx-d:2}.amx [data-amx-delay="3"]{--amx-d:3}
/* staggered word reveal */
.amx .amx-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
.amx .amx-w>span{display:inline-block;transform:translateY(110%);transition:transform 1s var(--amx-ease);transition-delay:calc(var(--amx-n,0) * 55ms)}
.amx .is-in .amx-w>span,.amx .amx-split.is-in .amx-w>span{transform:none}
@keyframes amx-spin{to{transform:rotate(360deg)}}

/* 15 EXISTING ENQUIRY MODAL (styled only, markup and logic untouched) ------ */
#enqmiceModal.amx-enquiry .modal-dialog{max-width:540px}
#enqmiceModal.amx-enquiry .modal-content{border:0;border-radius:24px;overflow:hidden;box-shadow:0 40px 100px rgba(0,0,0,.35)}
#enqmiceModal.amx-enquiry .modal-body{padding:36px 36px 34px}
#enqmiceModal.amx-enquiry .title{padding-right:36px;color:#14181b;font-family:'Poppins',Arial,sans-serif!important;font-size:24px;font-weight:600;letter-spacing:-.03em;line-height:1.3}
#enqmiceModal.amx-enquiry form{margin-top:18px}
#enqmiceModal.amx-enquiry .form-control{min-height:48px;border-color:#e3ddd3;border-radius:12px;font-family:'Poppins',Arial,sans-serif!important;font-size:14px}
#enqmiceModal.amx-enquiry .form-control:focus{border-color:#971419;box-shadow:0 0 0 3px rgba(151,20,25,.12)}
#enqmiceModal.amx-enquiry .btn-danger{min-height:54px;border-color:#971419;border-radius:100px;background:#971419;font-family:'Poppins',Arial,sans-serif!important;font-size:14px;font-weight:600;letter-spacing:.06em}
#enqmiceModal.amx-enquiry .btn-danger:hover{background:#6d0c11;border-color:#6d0c11}
#enqmiceModal.amx-enquiry .close{position:absolute;right:0;top:-4px;z-index:2;font-size:30px;font-weight:400}

/* 16 RESPONSIVE ----------------------------------------------------------- */
@media (max-width:1240px){
  .amx .amx-pgrid{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media (max-width:1100px){
  .amx .amx-wrap,.amx .amx-hero-inner,.amx .amx-process-inner{width:calc(100% - 64px)}
  .amx .amx-card{grid-template-columns:40% minmax(0,1fr)}
  .amx .amx-card-list{grid-template-columns:minmax(0,1fr)}
  .amx .amx-orbit{right:-24px;top:-44px;width:120px;height:120px}
  .amx .amx-bento{grid-auto-rows:minmax(250px,auto)}
  .amx .amx-tile{padding:24px}
}
@media (max-width:1024px){
  .amx{--amx-gutter:14px;--amx-r-xl:26px}
  .amx .amx-head{grid-template-columns:minmax(0,1fr);gap:24px;margin-bottom:48px}
  .amx .amx-head-note{justify-self:start;max-width:600px}
  .amx .amx-hero{min-height:680px}
  .amx .amx-hero-inner{padding-bottom:128px}
  .amx .amx-approach{padding:110px 0 20px}
  .amx .amx-approach-top{grid-template-columns:minmax(0,1fr) minmax(0,.62fr);gap:48px}
  .amx .amx-frame--inset{left:-14%}
  .amx .amx-mice{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:80px}
  .amx .amx-mice li{padding-bottom:34px}
  .amx .amx-mice li:nth-child(3){padding-left:0;border-left:0}
  .amx .amx-mice li:nth-child(n+3){border-top:1px solid var(--amx-line)}
  .amx .amx-services{padding:190px 0 25px}
  .amx .amx-card{min-height:0;margin-bottom:20px}
  .amx .amx-exp{padding:110px 0}
  .amx .amx-exp-grid{grid-template-columns:minmax(0,1fr)}
  .amx .amx-exp-lead{display:grid;grid-template-columns:minmax(0,.45fr) minmax(0,.55fr);column-gap:36px;align-items:center}
  .amx .amx-exp-photo-a{grid-row:1/span 3;margin-bottom:0;align-self:stretch}
  .amx .amx-exp-lead .amx-eyebrow{align-self:end}
  .amx .amx-exp-text{align-self:start}
  .amx .amx-dest{padding:96px 0 84px}
  .amx .amx-why{padding:110px 0 100px}
  .amx .amx-tile--intro{grid-column:span 12;padding:0 0 20px}
  .amx .amx-tile--ink{grid-column:span 7}
  .amx .amx-tile--sand{grid-column:span 5}
  .amx .amx-tile--photo{grid-column:span 12;min-height:320px}
  .amx .amx-tile--red,.amx .amx-tile--line{grid-column:span 6}
  .amx .amx-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
  .amx .amx-process{padding:90px 0 80px}
  .amx .amx-partners{padding-bottom:100px}
  .amx .amx-partners .amx-head{padding-top:90px;margin-bottom:36px}
  .amx .amx-pgrid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .amx .amx-pstatus em{margin-left:0;width:100%}
  .amx .amx-why{padding-bottom:90px}
  .amx .amx-faq{padding:100px 0}
  .amx .amx-faq-grid{grid-template-columns:minmax(0,1fr)}
  .amx .amx-faq-lead{position:static;max-width:640px}
}
@media (max-width:767px){
  .amx{--amx-gutter:10px;--amx-r-xl:22px;--amx-r-lg:18px;--amx-header:82px;font-size:15px}
  .amx .amx-wrap,.amx .amx-hero-inner,.amx .amx-process-inner{width:calc(100% - 40px)}
  .amx .amx-eyebrow{margin-bottom:16px;font-size:11px}
  .amx .amx-title{font-size:clamp(30px,8.6vw,40px)}
  .amx .amx-head{margin-bottom:36px}
  .amx .amx-btn{min-height:52px;font-size:13px}
  .amx .amx-btn-dot{width:36px;height:36px}

  .amx .amx-hero{margin-top:10px;min-height:0;align-items:stretch}
  .amx .amx-hero-media::after{background:linear-gradient(0deg,rgba(13,17,20,.9) 0%,rgba(13,17,20,.62) 55%,rgba(13,17,20,.35) 100%)}
  .amx .amx-hero-inner{width:calc(100% - 36px);padding:56px 0 128px}
  .amx .amx-hero h1{gap:22px}
  .amx .amx-hero-kicker{font-size:10px;padding:8px 14px;letter-spacing:.06em;text-align:left}
  .amx .amx-hero-head{font-size:clamp(38px,11.4vw,52px);line-height:1.06}
  .amx .amx-hero-lede{margin-top:22px}
  .amx .amx-hero-actions{flex-direction:column;align-items:flex-start;margin-top:28px;gap:10px}
  .amx .amx-hero-facts{margin-top:36px;padding-top:20px}
  .amx .amx-hero-facts li{padding-right:18px;margin-right:18px}
  .amx .amx-hero-facts strong{font-size:21px}
  .amx .amx-hero-facts span{font-size:11px}
  .amx .amx-hero-notch{padding:12px 0 0 12px}
  .amx .amx-notch-card{gap:12px;padding:12px 14px;border-radius:16px}
  .amx .amx-notch-photos img{width:38px;height:38px}
  .amx .amx-notch-text strong{font-size:12px}
  .amx .amx-notch-text small{font-size:10.5px}
  .amx .amx-notch-go{width:32px;height:32px;margin-left:0}
  .amx .amx-chapters{width:100%;padding:22px 20px;gap:24px}
  .amx .amx-chapters a{font-size:14px}

  .amx .amx-approach{padding:72px 0 20px}
  .amx .amx-approach-top{grid-template-columns:minmax(0,1fr);gap:64px}
  .amx .amx-statement{font-size:clamp(25px,7vw,32px);line-height:1.3}
  .amx .amx-approach-sub{margin-top:32px;font-size:15px}
  .amx .amx-approach-visual{width:calc(100% - 28px);margin-left:28px;padding-bottom:56px}
  .amx .amx-frame--tall{aspect-ratio:1/1.05}
  .amx .amx-frame--inset{left:-28px;width:56%;border-width:6px}
  .amx .amx-orbit{right:-8px;top:-46px;width:104px;height:104px}
  .amx .amx-mice{margin-top:64px}
  .amx .amx-mice li{padding:24px 16px 24px 0}
  .amx .amx-mice li+li{padding-left:16px}
  .amx .amx-mice li:nth-child(3){padding-left:0}
  .amx .amx-mice-letter{font-size:52px;margin-bottom:12px}
  .amx .amx-mice h3{font-size:16px}
  .amx .amx-mice p{font-size:13px}

  .amx .amx-ribbon{height:210px;margin-top:-20px;margin-bottom:-105px}
  .amx .amx-ribbon-fallback{padding:12px 0;font-size:14px}
  .amx .amx-ribbon-fallback i{margin:0 10px 2px;width:5px;height:5px}
  .amx .amx-services{padding:140px 0 25px}
  .amx .amx-card{display:block;margin-bottom:16px}
  .amx .amx-card-media{height:230px;margin:10px 10px 0}
  .amx .amx-card-num{left:18px;bottom:4px;font-size:72px}
  .amx .amx-card-body{padding:26px 22px 24px}
  .amx .amx-card-count{display:none}
  .amx .amx-card h3{margin-top:0;font-size:28px}
  .amx .amx-card-tag{font-size:15px}
  .amx .amx-card-desc{font-size:14px;margin-top:14px}
  .amx .amx-card-list{margin-top:18px;margin-bottom:22px}
  .amx .amx-card-foot{flex-direction:column;align-items:flex-start;gap:16px}

  .amx .amx-exp{padding:76px 0}
  .amx .amx-exp-lead{display:block}
  .amx .amx-exp-photo-a{aspect-ratio:1/.8;margin-bottom:32px}
  .amx .amx-exp-grid{gap:32px}
  .amx .amx-exp-points{grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:10px}
  .amx .amx-exp-points li{padding:20px}
  .amx .amx-exp-photo-b{aspect-ratio:1/.8}
  .amx .amx-exp-video{aspect-ratio:16/9}
  .amx .amx-exp-video figcaption{left:14px;top:14px}
  .amx .amx-exp-video .plyr__control--overlaid{padding:18px}
  .amx .amx-frame figcaption{left:14px;font-size:12px}
  .amx .amx-tagbelt{margin-top:36px;padding-top:28px}
  .amx .amx-tagbelt.is-live::before,.amx .amx-tagbelt.is-live::after{top:28px}
  .amx .amx-exp-tags{gap:8px}
  .amx .amx-tagbelt.is-live .amx-exp-tags{padding-right:8px}
  .amx .amx-exp-tags li{padding:9px 16px 9px 13px;font-size:13px}

  .amx .amx-dest{padding:68px 0 60px}
  .amx .amx-rail{--amx-dw:66vw;gap:14px;padding-top:36px;padding-bottom:44px}
  .amx .amx-round{width:46px;height:46px}
  .amx .amx-dest-foot{flex-direction:column;align-items:flex-start;gap:14px}

  .amx .amx-why{padding:76px 0}
  .amx .amx-bento{gap:10px;grid-auto-rows:auto}
  .amx .amx-tile{min-height:200px;padding:20px}
  .amx .amx-tile--intro{min-height:0}
  .amx .amx-tile--ink{grid-column:span 12}
  .amx .amx-tile--sand,.amx .amx-tile--red,.amx .amx-tile--line{grid-column:span 6}
  .amx .amx-tile--sand{order:3}
  .amx .amx-tile--red{order:3}
  .amx .amx-tile--line{order:4;grid-column:span 12;min-height:160px}
  .amx .amx-tile--photo{order:5;min-height:250px}
  .amx .amx-num{font-size:clamp(40px,11.5vw,54px)}
  .amx .amx-num--photo{font-size:112px}
  .amx .amx-num-label{margin-top:18px;font-size:15px}
  .amx .amx-num-note{font-size:12px}
  .amx .amx-tile--photo figcaption{left:14px;bottom:14px;right:14px;font-size:12px}
  .amx .amx-benefits{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:10px}
  .amx .amx-benefits li{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:18px;align-items:start;padding:20px 20px 22px}
  .amx .amx-benefits span{grid-row:1/span 2;margin:0;font-size:44px}
  .amx .amx-benefits h3{font-size:17px}

  .amx .amx-partners{padding-bottom:72px}
  .amx .amx-partners .amx-head{padding-top:64px;margin-bottom:28px}
  .amx .amx-pwall{padding:14px;border-radius:var(--amx-r-lg)}
  .amx .amx-ptabs{flex-wrap:nowrap;margin:0 -14px;padding:0 14px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .amx .amx-ptabs::-webkit-scrollbar{display:none}
  .amx .amx-ptab{min-height:42px;padding-left:15px;font-size:13px}
  .amx .amx-pstatus{margin:18px 0 14px;padding-top:16px}
  .amx .amx-pstatus strong{font-size:16px}
  .amx .amx-pstatus span{font-size:12.5px}
  .amx .amx-pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .amx .amx-plogo{height:104px;padding:16px 18px}
  .amx .amx-plogo img{max-height:64px}
  .amx .amx-pmore{margin-top:16px}
  .amx .amx-why{padding-bottom:64px}
  .amx .amx-process{padding:64px 0 60px}
  .amx .amx-process-head{flex-direction:column;align-items:flex-start;margin-bottom:48px}
  .amx .amx-steps{grid-template-columns:minmax(0,1fr);gap:32px;padding:0 0 0 40px}
  .amx .amx-steps::before,.amx .amx-steps::after{left:7px;top:6px;width:2px;height:calc(100% - 12px)}
  .amx .amx-steps::after{transform-origin:50% 0;transform:scaleY(var(--amx-p))}
  .amx .amx-steps li::before{left:-40px;top:4px}
  .amx .amx-steps p{max-width:none}

  .amx .amx-faq{margin-top:10px;padding:76px 0}
  .amx .amx-faq-card{margin-top:28px;padding:22px}
  .amx .amx-q summary{grid-template-columns:26px minmax(0,1fr) 36px;gap:10px;padding:20px 0}
  .amx .amx-q h3{font-size:16px}
  .amx .amx-q-ico{width:36px;height:36px}
  .amx .amx-q-a p{padding:0 8px 24px 36px;font-size:14px}

  .amx .amx-final{min-height:540px;margin-top:10px;margin-bottom:20px;padding:80px 20px}
  .amx .amx-final h2{font-size:clamp(34px,10vw,46px)}
  .amx .amx-final-actions{flex-direction:column;align-items:center}
  #enqmiceModal.amx-enquiry .modal-body{padding:30px 20px 24px}
  #enqmiceModal.amx-enquiry .title{font-size:20px}
}
@media (max-width:380px){
  .amx .amx-notch-text small{display:none}
  .amx .amx-hero-facts li{padding-right:12px;margin-right:12px}
}

/* 17 REDUCED MOTION ------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  .amx *,.amx *::before,.amx *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .amx.amx-ready [data-amx-reveal]{opacity:1;transform:none}
  .amx .amx-w>span{transform:none}
  .amx .amx-statement .amx-hw{opacity:1;filter:none}
  .amx.amx-ready .amx-statement em:not(.is-lit){background-size:100% 36%}
  .amx .amx-card-trace{display:none!important}
  .amx .amx-tagbelt-track{animation:none}
}
