/* =====================================================================
   BIQADX — home.css  (Maider-format home page)
   Namespaced `mx-`. Relies on tokens/fonts from landing.css (:root).
   Loaded AFTER landing.css. Light, editorial, generous whitespace —
   modelled section-for-section on maiderchina.com.
   ===================================================================== */

/* word-split primitives */
.mx-w{ display:inline-block; overflow:hidden; vertical-align:top; padding-bottom:.06em; margin-bottom:-.06em; }
.mx-w__i{ display:inline-block; will-change:transform; }
[data-go]{ --go:0; }
[data-mask]{ --mask:0; }

/* section dot navigation (desktop) */
.mx-dots{ position:fixed; right:clamp(14px,2vw,26px); top:50%; transform:translateY(-50%); z-index:900; display:flex; flex-direction:column; gap:15px; }
.mx-dots__d{ position:relative; display:block; width:11px; height:11px; border-radius:50%; background:rgba(132,146,172,.45); box-shadow:0 0 0 1px rgba(255,255,255,.18); transition:background .3s var(--ease), transform .3s var(--ease), box-shadow .3s var(--ease); }
.mx-dots__d:hover{ background:rgba(132,146,172,.85); transform:scale(1.2); }
.mx-dots__d.on{ background:var(--accent); box-shadow:0 0 0 4px rgba(37,99,235,.2); }
.mx-dots__lbl{ position:absolute; right:22px; top:50%; transform:translateY(-50%) translateX(6px); white-space:nowrap; font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#fff; background:var(--ink); padding:.34rem .62rem; border-radius:6px; opacity:0; pointer-events:none; transition:.25s var(--ease); box-shadow:0 12px 26px -14px rgba(0,0,0,.55); }
.mx-dots__d:hover .mx-dots__lbl{ opacity:1; transform:translateY(-50%) translateX(0); }
@media (max-width:980px){ .mx-dots{ display:none; } }

/* =====================================================================
   HERO — full-screen video (no text)
   ===================================================================== */
.mx-vhero{ position:relative; height:100svh; min-height:560px; overflow:hidden; background:#05131a; }
.mx-vhero__vid{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.06); }
.mx-vhero__edge{ position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(180deg, rgba(5,19,26,.28) 0%, transparent 18%, transparent 74%, rgba(5,19,26,.6) 100%); }
.mx-vhero__cue{ position:absolute; left:50%; bottom:24px; transform:translateX(-50%); z-index:3; }

/* =====================================================================
   HERO (ind_r1) — full-screen Swiper cross-fade
   ===================================================================== */
.mx-hero{ position:relative; height:100svh; min-height:600px; overflow:hidden; isolation:isolate; color:#fff; }
.mx-hero__bg{ position:absolute; inset:0; z-index:0; }
.mx-hero__bg, .mx-hero__bg .swiper-wrapper{ height:100%; }
.mx-hero__bg .swiper-slide{ height:100%; position:relative; overflow:hidden; display:flex; align-items:flex-end; }
.mx-hero__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.mx-hero__scrim{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(6,20,24,.5) 0%, rgba(6,20,24,.1) 34%, rgba(6,20,24,.6) 78%, rgba(6,20,24,.9) 100%),
    radial-gradient(120% 80% at 10% 90%, rgba(37,99,235,.4), transparent 60%);
}
.mx-hero__inner{ position:relative; z-index:2; padding-bottom:clamp(120px,20vh,220px); }
.mx-kick{ display:inline-flex; align-items:center; gap:.6rem; font-weight:700; font-size:.76rem; letter-spacing:.2em; text-transform:uppercase; color:#93C5FD; margin:0 0 1.1rem; }
.mx-hero__title{ font-size:clamp(2.7rem,7.5vw,6.6rem); line-height:.98; color:#fff; letter-spacing:-.02em; margin:0 0 1.3rem; max-width:15ch; }
.mx-hero__sub{ font-size:clamp(1.05rem,1.5vw,1.3rem); max-width:58ch; color:rgba(255,255,255,.86); margin:0; }
.mx-hero__cta{ position:absolute; left:50%; transform:translateX(-50%); bottom:clamp(64px,10vh,110px); z-index:4; display:flex; flex-wrap:wrap; gap:.9rem; width:100%; }
.mx-hero__dots{ position:absolute; right:clamp(20px,4vw,54px); top:50%; transform:translateY(-50%); z-index:4; display:flex; flex-direction:column; gap:.55rem; width:auto; }
.mx-hero__dots .swiper-pagination-bullet{ width:9px; height:9px; margin:0!important; background:rgba(255,255,255,.5); opacity:1; transition:.3s; }
.mx-hero__dots .swiper-pagination-bullet-active{ background:#fff; transform:scale(1.3); }
.mx-cue{ position:absolute; left:50%; bottom:22px; transform:translateX(-50%); z-index:4; display:flex; flex-direction:column; align-items:center; gap:.45rem; font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.78); }
.mx-cue__mouse{ width:21px; height:33px; border:1.5px solid rgba(255,255,255,.6); border-radius:12px; position:relative; }
.mx-cue__mouse::after{ content:""; position:absolute; left:50%; top:7px; width:3px; height:6px; border-radius:2px; background:#fff; transform:translateX(-50%); animation:mxwheel 1.5s var(--ease) infinite; }
@keyframes mxwheel{ 0%{opacity:0;transform:translate(-50%,0)} 40%{opacity:1} 80%{opacity:0;transform:translate(-50%,10px)} 100%{opacity:0} }

/* =====================================================================
   ABOUT / INTRO + big numbers (ind_r2)
   ===================================================================== */
/* about — big image-filled BIQADX wordmark centre, info scattered at 4 corners */
.mx-about{ position:relative; background:var(--sand); overflow:hidden; padding:clamp(56px,7.5vw,106px) 0; border-top:1px solid var(--line); }
.mx-about__logo{ position:absolute; z-index:1; left:50%; top:50%; width:min(84vw,960px); height:auto; pointer-events:none; user-select:none;
  transform:translate(calc(-50% + (.5 - var(--go,0)) * 70px), -50%);
  opacity:calc(.5 + var(--go,0)*.5); }

.mx-about__grid{ position:relative; z-index:3; display:grid; grid-template-columns:1fr 1fr; gap:clamp(2.6rem,11vh,6.5rem) 2rem; min-height:min(58vh,500px); }
.mx-about__c{ opacity:calc(.2 + var(--go,0)*.8); transform:translateY(calc((1 - var(--go,0))*16px)); max-width:34ch; }
.mx-about__c--tl{ align-self:start; }
.mx-about__c--tl .eyebrow{ padding-bottom:.9rem; border-bottom:1px solid var(--line); }
.mx-about__c--tl p{ color:var(--muted); margin:1rem 0 0; max-width:32ch; font-size:1.02rem; }
.mx-about__c--tr{ align-self:start; justify-self:end; text-align:right; }
.mx-about__c--bl{ align-self:end; }
.mx-about__c--br{ align-self:end; justify-self:end; text-align:right; }
.mx-about__big{ display:block; font-family:var(--serif); font-weight:500; font-size:clamp(3rem,6vw,5.4rem); line-height:.9; color:var(--ink); }
.mx-about__big2{ display:block; font-family:var(--serif); font-weight:500; font-size:clamp(2.4rem,5vw,4.4rem); line-height:.95; color:var(--ink); }
.mx-about__big2 .accent{ color:var(--accent); }
/* editorial accent tick above each data point */
.mx-about__big::before, .mx-about__big2::before{ content:""; display:block; width:38px; height:2px; background:var(--accent); margin:0 0 1rem; }
.mx-about__c--tr .mx-about__big::before, .mx-about__c--br .mx-about__big2::before{ margin-left:auto; }
.mx-about__c > span{ display:block; margin-top:.7rem; color:var(--muted-2); font-size:.74rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; line-height:1.45; max-width:22ch; }
.mx-about__c--tr > span, .mx-about__c--br > span{ margin-left:auto; }
.mx-nums{ display:grid; grid-template-columns:repeat(4,1fr); margin-top:clamp(3rem,6vw,5rem); border-top:1px solid var(--line); opacity:calc(.3 + var(--go)*.7); transform:translateY(calc((1 - var(--go))*22px)); }
.mx-num{ padding:clamp(1.6rem,3vw,2.4rem) clamp(1rem,2vw,1.6rem) 0 0; border-right:1px solid var(--line); }
.mx-num:last-child{ border-right:0; }
.mx-num__n{ font-family:var(--serif); font-weight:500; font-size:clamp(2.4rem,4.6vw,3.8rem); line-height:1; color:var(--ink); display:block; }
.mx-num__n .accent{ font-size:.7em; }
.mx-num__l{ display:block; margin-top:.6rem; color:var(--muted); font-size:.92rem; max-width:20ch; }

/* about visual — one calm image with a soft scroll-driven scale reveal */
.mx-intro__img{ margin:0; border-radius:20px; overflow:hidden; height:clamp(340px,52vh,540px); box-shadow:0 44px 90px -54px rgba(16,39,46,.6); }
.mx-intro__img img{ width:100%; height:100%; object-fit:cover; transform:scale(calc(1.14 - var(--go,0) * 0.14)); opacity:calc(.5 + var(--go,0) * .5); }

/* =====================================================================
   FOUR PILLARS — full-screen horizontal image panels (ind_r3)
   ===================================================================== */
.mx-caps{ background:var(--sand); }
.mx-caps__stage{ position:relative; height:100svh; overflow:hidden; display:flex; align-items:center; }
.mx-caps__label{ position:absolute; top:clamp(78px,12vh,108px); left:0; right:0; z-index:6; width:100%; max-width:1200px; margin:0 auto; padding:0 clamp(20px,5vw,64px);
  display:flex; align-items:baseline; gap:.6rem; font-size:.74rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--muted-2); }
.mx-caps__label .en{ font-family:var(--serif); font-weight:500; font-size:1.05rem; letter-spacing:0; color:var(--accent); }
.mx-caps__track{ display:flex; align-items:center; gap:clamp(2px,.4vw,8px); padding:0 6vw; will-change:transform; }
.mx-cap{ position:relative; flex:0 0 min(88vw,1300px); height:min(86vh,860px); border-radius:18px; background-size:cover; background-position:center; display:flex; align-items:flex-end; overflow:hidden;
  transform-origin:center center; will-change:transform, opacity; box-shadow:0 40px 90px -50px rgba(16,39,46,.6); }
.mx-cap__scrim{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(6,20,24,.28) 0%, rgba(6,20,24,0) 34%, rgba(6,20,24,.5) 66%, rgba(6,20,24,.9) 100%); }
.mx-cap__body{ position:relative; z-index:2; width:100%; color:#fff; display:flex; justify-content:space-between; align-items:flex-end; gap:clamp(1.5rem,4vw,4rem); padding:clamp(28px,4vw,54px); }
.mx-cap__left{ max-width:62%; }
.mx-cap__no{ display:inline-flex; align-items:center; gap:.4rem; font-family:var(--serif); font-size:1.1rem; color:#93C5FD; }
.mx-cap__no i{ opacity:.5; font-style:normal; }
.mx-cap__t{ font-size:clamp(2.2rem,4.8vw,4.2rem); line-height:1.02; color:#fff; letter-spacing:-.02em; margin:0 0 .7rem; }
.mx-cap__tag{ display:inline-block; font-size:.82rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#93C5FD; }
.mx-cap__right{ max-width:36%; min-width:min(340px,90%); }
.mx-cap__ic{ width:48px; height:48px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.28); color:#fff; font-size:1.35rem; margin-bottom:1rem; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
.mx-cap__right p{ color:rgba(255,255,255,.9); font-size:clamp(.98rem,1.15vw,1.12rem); line-height:1.55; margin:0; }

/* =====================================================================
   PROBLEM — cinematic, low-text band (doc: problem being addressed)
   ===================================================================== */
.mx-prob{ position:relative; color:#fff; overflow:hidden; isolation:isolate; display:flex; align-items:center; min-height:80vh; padding:clamp(84px,14vh,170px) 0; }
.mx-prob__media{ position:absolute; inset:-10% 0; z-index:-2; }
.mx-prob__media img{ width:100%; height:100%; object-fit:cover; }
.mx-prob__scrim{ position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, rgba(10,20,38,.92) 0%, rgba(10,20,38,.6) 50%, rgba(10,20,38,.28) 100%); transition:background .6s var(--ease); }
.mx-prob.flip-on .mx-prob__scrim{ background:linear-gradient(90deg, rgba(10,20,38,.94) 0%, rgba(29,78,216,.4) 55%, rgba(10,20,38,.3) 100%); }
.mx-prob__inner{ max-width:900px; }
.mx-prob .eyebrow, .mx-prob .eyebrow .en{ color:#93C5FD; }
.mx-prob__h{ font-size:clamp(2.4rem,5.2vw,4.6rem); line-height:1; color:#fff; letter-spacing:-.02em; margin:.9rem 0 clamp(2rem,4vw,3rem); }
.mx-prob__pts{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; max-width:820px; }
.mx-prob__pt{ border-top:2px solid rgba(255,255,255,.26); padding-top:1.1rem; }
.mx-prob__ic{ display:inline-grid; place-items:center; width:44px; height:44px; border-radius:11px; background:rgba(147,197,253,.16); color:#93C5FD; font-size:1.3rem; margin-bottom:.9rem; }
.mx-prob__pt b{ display:block; font-size:1.12rem; margin-bottom:.3rem; }
.mx-prob__pt > span:last-child{ display:block; color:rgba(255,255,255,.76); font-size:.94rem; }

/* =====================================================================
   PORTFOLIO — 12 programs, visual carousel (doc: portfolio overview)
   ===================================================================== */
.mx-pf__head{ display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; margin-bottom:clamp(2rem,4vw,3rem); }
.mx-pf__nav{ display:flex; gap:.6rem; flex:0 0 auto; }
.mx-pf__nav button{ width:52px; height:52px; border-radius:50%; border:1px solid var(--line); background:#fff; color:var(--ink); display:grid; place-items:center; font-size:1.25rem; transition:.3s var(--ease); }
.mx-pf__nav button:hover{ background:var(--ink); color:#fff; border-color:var(--ink); }
.mx-pf__nav button.swiper-button-disabled{ opacity:.35; pointer-events:none; }
.mx-pf__slider{ padding:.4rem clamp(16px,5vw,64px) 1.2rem; overflow:visible; }
.mx-pcard{ background:#fff; border:1px solid var(--line); border-radius:16px; padding:1.6rem 1.5rem; min-height:252px; height:auto; display:flex; flex-direction:column; color:var(--ink);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s; }
.mx-pcard:hover{ transform:translateY(-6px); box-shadow:0 26px 50px -32px rgba(17,26,43,.4); border-color:var(--accent-soft); }
.mx-pcard__no{ font-family:var(--serif); font-size:1rem; color:var(--accent); }
.mx-pcard__ic{ width:48px; height:48px; border-radius:11px; display:grid; place-items:center; background:var(--accent-soft); color:var(--accent-ink); font-size:1.4rem; margin:.7rem 0 1rem; }
.mx-pcard--g .mx-pcard__ic{ background:var(--green-soft); color:var(--green); }
.mx-pcard h5{ font-family:var(--serif); font-weight:500; font-size:1.22rem; line-height:1.2; margin:0 0 .6rem; flex:1; }
.mx-pcard__tag{ font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); }
.mx-pcard--g .mx-pcard__tag{ color:var(--green); }
.mx-pcard__go{ display:inline-flex; align-items:center; gap:.4rem; margin-top:1rem; font-weight:600; font-size:.9rem; color:var(--ink); }
.mx-pcard:hover .mx-pcard__go{ color:var(--accent); }
.mx-pcard__go .ti{ transition:transform .3s var(--ease); }
.mx-pcard:hover .mx-pcard__go .ti{ transform:translateX(4px); }
.mx-pf__bar{ position:relative; height:3px; background:var(--line); border-radius:3px; margin:1.2rem 0 1.6rem; overflow:hidden; }
.mx-pf__bar .swiper-pagination-progressbar-fill{ background:var(--accent); }
.mx-pf__disc{ display:flex; gap:.6rem; align-items:flex-start; color:var(--muted); font-size:.88rem; max-width:82ch; margin:0; }
.mx-pf__disc .ti{ color:var(--accent); font-size:1.1rem; flex:0 0 auto; margin-top:.05rem; }
.mx-pf__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.mx-pf__more{ text-align:center; margin:clamp(2rem,4vw,3rem) 0 1.4rem; }

/* PORTFOLIO — editorial program index */
.mx-prog__lead{ font-family:var(--serif); font-weight:500; font-size:clamp(1.5rem,2.6vw,2.2rem); line-height:1.15; letter-spacing:-.01em; color:var(--ink); max-width:26ch; margin:0 0 clamp(2.2rem,4vw,3.2rem);
  opacity:calc(.2 + var(--go,0)*.8); transform:translateY(calc((1 - var(--go,0))*16px)); }
.mx-prog__groups{ display:grid; grid-template-columns:1.35fr 1fr; gap:clamp(2rem,4vw,4rem); align-items:start; }
.mx-prog__col{ display:flex; flex-direction:column; gap:clamp(1.8rem,3.5vw,2.8rem); }
.mx-prog__cat{ display:block; font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); padding-bottom:.7rem; margin-bottom:.2rem; border-bottom:2px solid var(--accent-soft); }
.mx-prog__row{ display:flex; align-items:center; gap:.95rem; padding:.9rem .5rem; border-bottom:1px solid var(--line); color:var(--ink); transition:background .28s var(--ease), padding .28s var(--ease); }
.mx-prog__row:hover{ background:var(--sand); padding-left:.85rem; padding-right:.85rem; border-radius:9px; border-bottom-color:transparent; }
.mx-prog__ic{ flex:0 0 auto; width:40px; height:40px; border-radius:10px; display:grid; place-items:center; background:var(--accent-soft); color:var(--accent-ink); font-size:1.2rem; }
.mx-prog__row--g .mx-prog__ic{ background:var(--green-soft); color:var(--green); }
.mx-prog__name{ flex:1; font-family:var(--serif); font-weight:500; font-size:clamp(1.02rem,1.3vw,1.16rem); color:var(--ink); transition:color .25s; }
.mx-prog__row:hover .mx-prog__name{ color:var(--accent); }
.mx-prog__stage{ font-size:.66rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--muted-2); white-space:nowrap; }
.mx-prog__arr{ color:var(--muted-2); font-size:1.05rem; transition:color .25s var(--ease), transform .25s var(--ease); }
.mx-prog__row:hover .mx-prog__arr{ color:var(--accent); transform:translate(2px,-2px); }
.mx-prog__foot{ display:flex; align-items:center; justify-content:space-between; gap:2rem; margin-top:clamp(2.4rem,4vw,3.4rem); padding-top:clamp(1.6rem,3vw,2.2rem); border-top:1px solid var(--line); }
.mx-prog__disc{ color:var(--muted); font-size:.85rem; max-width:64ch; margin:0; }

/* PORTFOLIO — simple visual program grid */
.mx-pg__lead{ font-family:var(--serif); font-weight:500; font-size:clamp(1.5rem,2.6vw,2.2rem); line-height:1.15; letter-spacing:-.01em; color:var(--ink); max-width:26ch; margin:0 0 clamp(2.2rem,4vw,3.2rem);
  opacity:calc(.2 + var(--go,0)*.8); transform:translateY(calc((1 - var(--go,0))*16px)); }
.mx-pg__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.mx-pg__card{ display:flex; flex-direction:column; gap:.45rem; background:#fff; border:1px solid var(--line); border-radius:15px; padding:1.5rem 1.4rem; color:var(--ink); min-height:158px;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s; }
.mx-pg__card:hover{ transform:translateY(-6px); box-shadow:0 26px 50px -32px rgba(17,26,43,.4); border-color:var(--accent-soft); }
.mx-pg__ic{ width:50px; height:50px; border-radius:13px; display:grid; place-items:center; background:var(--accent-soft); color:var(--accent-ink); font-size:1.5rem; margin-bottom:.45rem;
  transition:background .3s, color .3s; }
.mx-pg__card--g .mx-pg__ic{ background:var(--green-soft); color:var(--green); }
.mx-pg__card:hover .mx-pg__ic{ background:var(--accent); color:#fff; }
.mx-pg__card--g:hover .mx-pg__ic{ background:var(--green); }
.mx-pg__name{ font-family:var(--serif); font-weight:500; font-size:1.08rem; line-height:1.2; color:var(--ink); flex:1; }
.mx-pg__stage{ font-size:.64rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--muted-2); }
.mx-pg__foot{ display:flex; align-items:center; justify-content:space-between; gap:2rem; margin-top:clamp(2.2rem,4vw,3rem); }
.mx-pg__disc{ color:var(--muted); font-size:.84rem; max-width:60ch; margin:0; }

/* NEWS — featured + list */
.mx-news2__grid{ display:grid; grid-template-columns:1.3fr 1fr; gap:clamp(1.4rem,2.5vw,2.2rem); align-items:stretch; }
.mx-news2__feat{ position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; background:var(--ink); color:#fff; border-radius:20px; padding:clamp(1.8rem,3vw,2.8rem); min-height:clamp(280px,40vh,380px);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease); }
.mx-news2__feat:hover{ transform:translateY(-5px); box-shadow:0 34px 64px -38px rgba(17,26,43,.6); }
.mx-news2__glow{ position:absolute; inset:0; background:radial-gradient(80% 90% at 85% 12%, rgba(37,99,235,.5), transparent 60%), radial-gradient(70% 80% at 10% 100%, rgba(37,99,235,.28), transparent 60%); }
.mx-news2__feat > *{ position:relative; z-index:1; }
.mx-news2__k{ display:inline-block; align-self:flex-start; font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#93C5FD; background:rgba(147,197,253,.14); border:1px solid rgba(147,197,253,.3); padding:.3rem .6rem; border-radius:5px; margin-bottom:1rem; }
.mx-news2__ft{ font-size:clamp(1.4rem,2.4vw,2rem); line-height:1.1; color:#fff; margin:0 0 1.2rem; max-width:20ch; }
.mx-news2__go{ display:inline-flex; align-items:center; gap:.45rem; font-weight:600; font-size:.92rem; color:#fff; }
.mx-news2__feat:hover .mx-news2__go .ti{ transform:translateX(4px); }
.mx-news2__go .ti{ transition:transform .3s var(--ease); }
.mx-news2__list{ display:flex; flex-direction:column; }
.mx-news2__item{ display:flex; align-items:center; flex-wrap:wrap; gap:.3rem .8rem; padding:1.1rem .3rem; border-bottom:1px solid var(--line); color:var(--ink); transition:padding .28s var(--ease); }
.mx-news2__item:first-child{ border-top:1px solid var(--line); }
.mx-news2__item:hover{ padding-left:.7rem; }
.mx-news2__item .mx-news2__k{ margin-bottom:0; background:var(--accent-soft); border-color:transparent; color:var(--accent-ink); }
.mx-news2__item h4{ flex:1 1 100%; font-family:var(--serif); font-weight:500; font-size:1.06rem; line-height:1.25; margin:.25rem 0 0; color:var(--ink); transition:color .25s; }
.mx-news2__item:hover h4{ color:var(--accent); }
.mx-news2__arr{ position:absolute; opacity:0; }
.mx-news2__all{ display:inline-flex; align-items:center; gap:.5rem; margin-top:1.3rem; font-weight:600; font-size:.92rem; color:var(--accent); }
.mx-news2__all .ti{ transition:transform .3s var(--ease); }
.mx-news2__all:hover .ti{ transform:translateX(4px); }

/* PORTFOLIO — editorial typographic index */
.mx-idx__head{ display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; margin-bottom:clamp(2rem,3.5vw,3rem); }
.mx-idx__lead{ font-family:var(--serif); font-weight:500; font-size:clamp(1.7rem,3.2vw,2.9rem); line-height:1.06; letter-spacing:-.015em; color:var(--ink); margin:0;
  opacity:calc(.2 + var(--go,0)*.8); transform:translateY(calc((1 - var(--go,0))*16px)); }
.mx-idx__all{ flex:0 0 auto; }
.mx-idx__list{ border-bottom:1px solid var(--line); }
.mx-idx__row{ display:grid; grid-template-columns:1fr auto auto; align-items:baseline; gap:clamp(1rem,2.5vw,2.4rem); padding:clamp(1.3rem,2vw,1.9rem) .4rem; border-top:1px solid var(--line); color:var(--ink);
  transition:padding .32s var(--ease), background .32s var(--ease); }
.mx-idx__row:hover{ background:var(--sand); padding-left:1.2rem; padding-right:1.2rem; border-radius:14px; }
.mx-idx__name{ font-family:var(--serif); font-weight:500; font-size:clamp(1.5rem,3vw,2.5rem); line-height:1.02; letter-spacing:-.015em; color:var(--ink); transition:color .25s var(--ease); }
.mx-idx__row:hover .mx-idx__name{ color:var(--accent); }
.mx-idx__stage{ align-self:center; font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--muted-2); white-space:nowrap; }
.mx-idx__arr{ align-self:center; color:var(--muted-2); font-size:1.2rem; transition:color .25s var(--ease), transform .25s var(--ease); }
.mx-idx__row:hover .mx-idx__arr{ color:var(--accent); transform:translate(3px,-3px); }
.mx-idx__disc{ color:var(--muted); font-size:.84rem; max-width:64ch; margin:clamp(1.6rem,3vw,2.2rem) 0 0; }

/* NEWS — editorial list */
.mx-nws__head{ display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; margin-bottom:clamp(1.8rem,3vw,2.6rem); }
.mx-nws__lead{ font-family:var(--serif); font-weight:500; font-size:clamp(1.7rem,3.2vw,2.9rem); line-height:1.06; letter-spacing:-.015em; color:var(--ink); margin:0;
  opacity:calc(.2 + var(--go,0)*.8); transform:translateY(calc((1 - var(--go,0))*16px)); }
.mx-nws__list{ border-top:1px solid var(--line); }
.mx-nws__row{ display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:clamp(1rem,2.5vw,2.2rem); padding:clamp(1.2rem,2vw,1.8rem) .35rem; border-bottom:1px solid var(--line); color:var(--ink);
  transition:padding .3s var(--ease), background .3s var(--ease); }
.mx-nws__row:hover{ background:#fff; padding-left:1.1rem; padding-right:1.1rem; border-radius:12px; }
.mx-nws__k{ font-size:.66rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); background:var(--accent-soft); padding:.34rem .62rem; border-radius:5px; white-space:nowrap; align-self:start; margin-top:.15rem; }
.mx-nws__title{ font-family:var(--serif); font-weight:500; font-size:clamp(1.15rem,2vw,1.6rem); line-height:1.18; letter-spacing:-.01em; color:var(--ink); transition:color .25s var(--ease); }
.mx-nws__row:hover .mx-nws__title{ color:var(--accent); }
.mx-nws__go{ display:inline-flex; align-items:center; gap:.4rem; font-weight:600; font-size:.9rem; color:var(--muted-2); white-space:nowrap; transition:color .25s; }
.mx-nws__row:hover .mx-nws__go{ color:var(--accent); }
.mx-nws__go .ti{ transition:transform .3s var(--ease); }
.mx-nws__row:hover .mx-nws__go .ti{ transform:translateX(4px); }

/* VISION — cinematic image-backed statement band */
.mx-vband{ position:relative; color:#fff; overflow:hidden; isolation:isolate; min-height:min(74vh,640px); display:flex; align-items:center; padding:clamp(70px,12vw,140px) 0; }
.mx-vband__media{ position:absolute; inset:-12% 0; z-index:-2; }
.mx-vband__media img{ width:100%; height:100%; object-fit:cover; }
.mx-vband__scrim{ position:absolute; inset:0; z-index:-1;
  background:linear-gradient(90deg, rgba(6,17,26,.92) 0%, rgba(6,17,26,.62) 52%, rgba(6,17,26,.34) 100%),
    radial-gradient(70% 90% at 92% 8%, rgba(37,99,235,.34), transparent 60%); }
.mx-vband__inner{ max-width:830px; }
.mx-vband__eyebrow{ display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:#93C5FD; margin-bottom:1.1rem; }
.mx-vband__h{ font-size:clamp(2.2rem,5vw,4.4rem); line-height:1.03; color:#fff; letter-spacing:-.02em; margin:0; max-width:18ch; }
.mx-vband__ac{ color:#93C5FD; }
.mx-vband__sub{ margin:clamp(1.3rem,2.5vw,2rem) 0 0; color:rgba(255,255,255,.85); font-size:clamp(1.05rem,1.5vw,1.3rem); max-width:52ch; }

/* decentralized architecture diagram — intelligence layer → distributed points */
.mx-arch{ width:100%; max-width:520px; margin:0 auto; }
.mx-arch__layer{ position:relative; background:rgba(147,197,253,.07); border:1px solid rgba(147,197,253,.26); border-radius:14px; padding:1.1rem 1.3rem 1.2rem; text-align:center; }
.mx-arch__cap{ display:inline-flex; align-items:center; gap:.4rem; font-size:.68rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:#93C5FD; margin-bottom:.8rem; }
.mx-arch__cap .ti{ font-size:1.05rem; }
.mx-arch__chips{ display:flex; flex-wrap:wrap; justify-content:center; gap:.4rem; }
.mx-arch__chips span{ font-size:.72rem; font-weight:600; color:rgba(255,255,255,.9); background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); padding:.36rem .72rem; border-radius:7px; }
.mx-arch__nodes{ display:flex; justify-content:space-between; gap:.5rem; margin-top:56px; }
.mx-arch__node{ position:relative; flex:1 1 0; min-width:0; display:flex; flex-direction:column; align-items:center; gap:.55rem; }
/* precise connector up to the intelligence layer + a data pulse travelling down */
.mx-arch__node::before{ content:""; position:absolute; left:50%; top:-56px; width:1.5px; height:56px; background:linear-gradient(180deg, rgba(147,197,253,.5), rgba(147,197,253,.1)); }
.mx-arch__node::after{ content:""; position:absolute; left:50%; margin-left:-2px; width:4px; height:4px; border-radius:50%; background:#93C5FD; box-shadow:0 0 7px 1px rgba(147,197,253,.8); animation:archflow 2.6s cubic-bezier(.5,0,.5,1) infinite; }
.mx-arch__node:nth-child(2)::after{ animation-delay:.45s; }
.mx-arch__node:nth-child(3)::after{ animation-delay:.9s; }
.mx-arch__node:nth-child(4)::after{ animation-delay:1.35s; }
.mx-arch__node:nth-child(5)::after{ animation-delay:1.8s; }
.mx-arch__node:nth-child(6)::after{ animation-delay:2.25s; }
@keyframes archflow{ 0%{ top:-56px; opacity:0; } 12%{ opacity:1; } 82%{ opacity:1; } 100%{ top:-8px; opacity:0; } }
.mx-arch__dot{ width:clamp(44px,5vw,54px); aspect-ratio:1; border-radius:13px; display:grid; place-items:center; background:rgba(147,197,253,.09); border:1px solid rgba(147,197,253,.3); color:#93C5FD; font-size:1.2rem; transition:transform .35s var(--ease), border-color .35s; }
.mx-arch__node:hover .mx-arch__dot{ transform:translateY(-3px); border-color:#93C5FD; }
.mx-arch__lbl{ font-size:.62rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:rgba(255,255,255,.7); text-align:center; white-space:nowrap; }

/* =====================================================================
   APPROACH — honest-stage flow (visual, no heading)
   ===================================================================== */
.mx-flow__steps{ display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; position:relative; }
/* base rail + scroll-filled progress rail */
.mx-flow__steps::before{ content:""; position:absolute; left:10%; right:10%; top:27px; height:2px; background:var(--line); z-index:0; }
.mx-flow__steps::after{ content:""; position:absolute; left:10%; top:27px; height:2px; width:calc(var(--prog,0) * 80%); background:var(--accent); z-index:0; transition:width .25s var(--ease); }
.mx-flow__step{ position:relative; z-index:1; text-align:center; display:flex; flex-direction:column; align-items:center; opacity:.42; transition:opacity .45s var(--ease); }
.mx-flow__step.on{ opacity:1; }
.mx-flow__ic{ width:56px; height:56px; border-radius:50%; display:grid; place-items:center; background:#fff; border:2px solid var(--line); color:var(--muted-2); font-size:1.45rem;
  transition:background .45s var(--ease), border-color .45s var(--ease), color .45s var(--ease), transform .45s var(--slow), box-shadow .45s var(--ease); }
.mx-flow__step.on .mx-flow__ic{ background:var(--accent); border-color:var(--accent); color:#fff; transform:scale(1.12); box-shadow:0 12px 26px -10px rgba(37,99,235,.6); }
.mx-flow__no{ margin-top:.95rem; font-family:var(--serif); font-size:.9rem; color:var(--muted-2); transition:color .45s var(--ease); }
.mx-flow__step.on .mx-flow__no{ color:var(--accent); }
.mx-flow__step b{ margin-top:.15rem; font-family:var(--serif); font-weight:500; font-size:clamp(1.1rem,1.6vw,1.4rem); color:var(--ink); }
.mx-flow__step > span:last-child{ margin-top:.15rem; color:var(--muted); font-size:.85rem; }
.mx-flow__foot{ max-width:66ch; margin:clamp(2.4rem,5vw,3.4rem) auto 0; text-align:center; color:var(--muted); }

/* =====================================================================
   PROBLEM — editorial scatter (About-style), no heading
   ===================================================================== */
.mx-prob2{ position:relative; background:var(--sand); overflow:hidden; padding:clamp(74px,10vw,138px) 0; border-top:1px solid var(--line); }
.mx-prob2__word{ position:absolute; z-index:1; left:50%; top:50%; white-space:nowrap; pointer-events:none; user-select:none;
  font-family:var(--serif); font-weight:600; letter-spacing:-.01em; line-height:1; font-size:clamp(104px,21vw,320px);
  transform:translate(calc(-50% + (.5 - var(--go,0)) * 130px), -50%);
  background:linear-gradient(150deg, rgba(37,99,235,.72), rgba(8,32,38,.9)), url(/assets/img/problem.jpg) center/cover;
  -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent;
  opacity:calc(.5 + var(--go,0)*.5); }
.mx-prob2__grid{ position:relative; z-index:3; display:grid; grid-template-columns:1fr 1fr; gap:clamp(3rem,18vh,11rem) 2rem; min-height:min(74vh,640px); }
.mx-prob2__c{ opacity:calc(.2 + var(--go,0)*.8); transform:translateY(calc((1 - var(--go,0))*16px)); max-width:34ch; }
.mx-prob2__c--tl{ align-self:start; }
.mx-prob2__c--tl p{ color:var(--muted); margin:0; max-width:30ch; font-size:1.05rem; }
.mx-prob2__c--tr{ align-self:start; justify-self:end; text-align:right; }
.mx-prob2__c--bl{ align-self:end; }
.mx-prob2__c--br{ align-self:end; justify-self:end; text-align:right; }
.mx-prob2__ic{ display:inline-grid; place-items:center; width:46px; height:46px; border-radius:11px; background:var(--accent-soft); color:var(--accent-ink); font-size:1.3rem; margin-bottom:.8rem; }
.mx-prob2__c--tr .mx-prob2__ic, .mx-prob2__c--br .mx-prob2__ic{ margin-left:auto; }
.mx-prob2__c b{ display:block; font-family:var(--serif); font-weight:500; font-size:clamp(1.3rem,2.2vw,1.8rem); color:var(--ink); }
.mx-prob2__c > span:last-child{ display:block; margin-top:.4rem; color:var(--muted); font-size:.92rem; max-width:22ch; }
.mx-prob2__c--tr > span:last-child, .mx-prob2__c--br > span:last-child{ margin-left:auto; }

.mx-news__head--bare{ display:flex; justify-content:flex-end; }

/* PROBLEM — editorial split (image + compact points), distinct layout */
.mx-gap{ background:#fff; border-top:1px solid var(--line); }
.mx-gap__grid{ display:grid; grid-template-columns:1.02fr .98fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.mx-gap__lead{ font-family:var(--serif); font-weight:500; font-size:clamp(1.85rem,3.4vw,3rem); line-height:1.06; letter-spacing:-.01em; color:var(--ink); margin:0 0 clamp(1.7rem,3vw,2.6rem); max-width:18ch;
  opacity:calc(.15 + var(--go,0)*.85); transform:translateY(calc((1 - var(--go,0))*16px)); }
.mx-gap__list{ display:flex; flex-direction:column; }
.mx-gap__item{ display:flex; gap:1.1rem; align-items:flex-start; padding:1.1rem 0; border-top:1px solid var(--line); }
.mx-gap__item:last-child{ border-bottom:1px solid var(--line); }
.mx-gap__ic{ flex:0 0 auto; width:48px; height:48px; border-radius:12px; display:grid; place-items:center; background:var(--accent-soft); color:var(--accent-ink); font-size:1.35rem; }
.mx-gap__item b{ display:block; font-family:var(--serif); font-weight:500; font-size:1.24rem; color:var(--ink); }
.mx-gap__item span{ display:block; margin-top:.2rem; color:var(--muted); font-size:.96rem; }
.mx-gap__media{ margin:0; border-radius:20px; overflow:hidden; height:clamp(420px,60vh,600px); box-shadow:0 44px 90px -54px rgba(17,26,43,.55); }
.mx-gap__media img{ width:100%; height:100%; object-fit:cover; }

/* PROBLEM → diagnostic access — infographic timeline (line fills + nodes light on scroll) */
.mx-jrny{ background:var(--sand); border-top:1px solid var(--line); }
.mx-jrny__lead{ font-family:var(--serif); font-weight:500; font-size:clamp(1.5rem,2.7vw,2.3rem); line-height:1.14; letter-spacing:-.01em; color:var(--ink); max-width:26ch; margin:0 0 clamp(2.6rem,5vw,4rem);
  opacity:calc(.2 + var(--go,0)*.8); transform:translateY(calc((1 - var(--go,0))*16px)); }
.mx-jrny__track{ position:relative; max-width:960px; margin:0 auto; }
/* centred vertical rail through the node centres (JS: --line-top / --line-len) */
.mx-jrny__line{ position:absolute; left:50%; transform:translateX(-50%); top:var(--line-top,30px); width:3px; height:var(--line-len,72%); background:var(--line); border-radius:3px; z-index:0; }
.mx-jrny__fill{ position:absolute; left:0; top:0; width:100%; height:calc(var(--prog,0) * 100%); background:var(--accent); border-radius:3px; transition:height .2s linear; }
.mx-jrny__steps{ position:relative; z-index:1; display:flex; flex-direction:column; gap:clamp(1.8rem,3.5vw,2.8rem); }
.mx-jrny__step{ display:grid; grid-template-columns:1fr 60px 1fr; align-items:center; column-gap:clamp(1.2rem,3vw,2.4rem); opacity:.5; transition:opacity .45s var(--ease); }
.mx-jrny__step.on{ opacity:1; }
.mx-jrny__node{ position:relative; grid-column:2; justify-self:center; width:60px; height:60px; border-radius:50%; display:grid; place-items:center; background:#fff; border:2px solid var(--line); color:var(--muted-2); font-size:1.5rem;
  transition:background .5s var(--ease), border-color .5s var(--ease), color .5s var(--ease), transform .6s cubic-bezier(.34,1.56,.64,1), box-shadow .5s var(--ease); }
.mx-jrny__step.on .mx-jrny__node{ background:var(--accent); border-color:var(--accent); color:#fff; transform:scale(1.1); box-shadow:0 12px 26px -10px rgba(37,99,235,.55); }
.mx-jrny__step.is-win.on .mx-jrny__node{ background:var(--green); border-color:var(--green); box-shadow:0 12px 26px -10px rgba(76,154,81,.55); }
/* live (leading) node — pulsing ring */
.mx-jrny__step.current .mx-jrny__node::after{ content:""; position:absolute; inset:-5px; border-radius:50%; border:2px solid var(--accent); animation:jrnyRing 1.7s ease-out infinite; }
.mx-jrny__step.current.is-win .mx-jrny__node::after{ border-color:var(--green); }
@keyframes jrnyRing{ 0%{ transform:scale(.72); opacity:.85; } 100%{ transform:scale(1.75); opacity:0; } }

/* glowing pulse that travels down the rail with the fill */
.mx-jrny__pulse{ position:absolute; left:50%; top:calc(var(--line-top,30px) + var(--prog,0) * var(--line-len,0px)); transform:translate(-50%,-50%); z-index:3; width:13px; height:13px; border-radius:50%;
  background:var(--accent); box-shadow:0 0 0 5px rgba(37,99,235,.16), 0 0 20px 5px rgba(37,99,235,.6); transition:top .18s linear; }
.mx-jrny__pulse::before{ content:""; position:absolute; inset:-4px; border-radius:50%; background:rgba(37,99,235,.3); animation:jrnyRing 1.5s ease-out infinite; }

/* plain text (no box) alternating left / right of the centre line, revealing on scroll */
.mx-jrny__card{ background:none; border:0; padding:.1rem .3rem;
  opacity:0; transition:opacity .6s var(--ease), transform .6s var(--slow); }
.mx-jrny__step:nth-child(odd) .mx-jrny__card{ grid-column:3; text-align:left; transform:translateX(30px); }
.mx-jrny__step:nth-child(even) .mx-jrny__card{ grid-column:1; text-align:right; transform:translateX(-30px); }
.mx-jrny__step:nth-child(even) .mx-jrny__tags{ align-items:flex-end; }
.mx-jrny__step.on .mx-jrny__card{ opacity:1; transform:none; }
.mx-jrny__no{ font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); }
.mx-jrny__step.is-win .mx-jrny__no{ color:var(--green); }
.mx-jrny__card h3{ font-family:var(--serif); font-weight:500; font-size:clamp(1.12rem,1.5vw,1.3rem); line-height:1.16; margin:.35rem 0 .55rem; color:var(--ink); }
.mx-jrny__card p{ color:var(--muted); font-size:.9rem; line-height:1.5; margin:0; }
.mx-jrny__tags{ display:flex; flex-direction:column; gap:.35rem; margin-top:.9rem; }
.mx-jrny__tags span{ align-self:flex-start; font-size:.68rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--accent-ink); background:var(--accent-soft); padding:.28rem .55rem; border-radius:6px; }

/* =====================================================================
   OUR APPROACH (ind_r4)
   ===================================================================== */
.mx-adv__grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:start; }
.mx-adv__grid h2{ max-width:12ch; }
.mx-adv .statement{ font-family:var(--serif); font-weight:500; font-size:clamp(1.5rem,2.8vw,2.2rem); line-height:1.1; color:var(--muted-2); transition:color .5s var(--ease); }
.mx-adv.flip-on .statement{ color:var(--accent); }
.mx-adv__body > p:last-child{ color:var(--muted); }

/* =====================================================================
   REACH — India map wipe + marquee (ind_r5)
   ===================================================================== */
.mx-reach{ overflow:hidden; }
.mx-reach__head{ max-width:760px; }
.mx-reach__scroll{ display:inline-flex; align-items:center; gap:.5rem; margin:.4rem 0 0; font-size:.75rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted-2); font-weight:700; }
.mx-reach__scroll::after{ content:"\2193"; }
.mx-reach__mapwrap{ position:relative; display:grid; place-items:center; margin:clamp(2rem,5vw,3.5rem) 0; }
.mx-reach__india{ width:min(42vw,380px); height:auto; filter:drop-shadow(0 24px 44px rgba(16,39,46,.22)); clip-path:inset(0 calc((100 - var(--mask))*1%) 0 0); opacity:calc(.2 + var(--mask)*.008); }
.mx-reach__pin{ position:absolute; top:30%; left:calc(50% - min(21vw,190px) + 8%); display:inline-flex; align-items:center; gap:.45rem; font-size:.82rem; color:var(--accent-ink); font-weight:700; }
.mx-reach__dot{ width:9px; height:9px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 5px var(--accent-soft); animation:mxpulse 2.4s var(--ease) infinite; }
@keyframes mxpulse{ 50%{ box-shadow:0 0 0 10px rgba(37,99,235,0); } }

/* marquee */
.mx-marq{ overflow:hidden; padding:1.25rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.mx-marq__track{ display:flex; width:max-content; animation:mxmarq 42s linear infinite; }
.mx-marq__item{ display:inline-flex; align-items:center; gap:1.3rem; padding-right:1.3rem; white-space:nowrap; font-family:var(--serif); font-size:clamp(1.05rem,1.9vw,1.6rem); color:var(--muted-2); }
.mx-marq__sep{ width:6px; height:6px; border-radius:50%; background:var(--accent); }
@keyframes mxmarq{ to{ transform:translateX(-50%); } }

/* =====================================================================
   COLLABORATION grid (ind_r6)
   ===================================================================== */
.mx-clients__head{ max-width:720px; margin:0 auto clamp(2.4rem,5vw,3.4rem); text-align:center; }
.mx-clients__head .lead-2{ max-width:60ch; }
.mx-clients__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.mx-client{ display:flex; align-items:center; gap:1rem; background:#fff; border:1px solid var(--line); border-radius:12px; padding:1.3rem 1.5rem; font-weight:600; color:var(--ink); transition:transform .35s var(--ease), border-color .35s, box-shadow .35s; }
.mx-client:hover{ transform:translateY(-4px); border-color:var(--accent-soft); box-shadow:0 22px 44px -34px rgba(16,39,46,.4); }
.mx-client__ic{ width:46px; height:46px; flex:0 0 auto; border-radius:10px; display:grid; place-items:center; background:var(--accent-soft); color:var(--accent-ink); font-size:1.4rem; }

/* =====================================================================
   NEWS / UPDATES (ind_r7)
   ===================================================================== */
.mx-news__head{ display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; margin-bottom:clamp(2rem,4vw,3rem); }
.mx-news__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.mx-newscard{ display:flex; flex-direction:column; gap:.8rem; background:#fff; border:1px solid var(--line); border-radius:14px; padding:1.7rem 1.6rem; min-height:230px; color:var(--ink); transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s; }
.mx-newscard:hover{ transform:translateY(-6px); box-shadow:0 26px 50px -34px rgba(16,39,46,.4); border-color:var(--accent-soft); }
.mx-newscard .stage{ align-self:flex-start; font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); background:var(--accent-soft); padding:.3rem .6rem; border-radius:4px; }
.mx-newscard h5{ font-family:var(--serif); font-weight:500; font-size:1.25rem; line-height:1.25; margin:0; flex:1; }
.mx-newscard__go{ display:inline-flex; align-items:center; gap:.4rem; font-weight:600; font-size:.9rem; color:var(--accent); }
.mx-newscard__go .ti{ transition:transform .3s var(--ease); }
.mx-newscard:hover .mx-newscard__go .ti{ transform:translateX(4px); }

/* =====================================================================
   CTA (ind_r8)
   ===================================================================== */
.mx-cta{ background:var(--ink); color:#fff; padding:clamp(64px,10vw,120px) 0; position:relative; overflow:hidden; }
.mx-cta::before{ content:""; position:absolute; inset:0; background:radial-gradient(80% 120% at 50% 120%, rgba(37,99,235,.4), transparent 60%); opacity:calc(var(--mask)*.01); }
.mx-cta__inner{ position:relative; text-align:center; max-width:760px; }
.mx-cta__ey{ display:inline-flex; align-items:center; gap:.5rem; font-size:.74rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#93C5FD; }
.mx-cta__ey .dot{ width:7px; height:7px; border-radius:50%; background:var(--green); display:inline-block; animation:mxpulse 2.4s var(--ease) infinite; }
.mx-cta__h{ font-size:clamp(2rem,5vw,3.6rem); color:#fff; margin:1rem 0 1.8rem; line-height:1.02; }
.mx-cta__form{ display:flex; gap:.7rem; max-width:500px; margin:0 auto; }
.mx-cta__form input{ flex:1; padding:.95rem 1.15rem; border:1px solid rgba(255,255,255,.24); border-radius:6px; font-family:var(--sans); font-size:1rem; background:rgba(255,255,255,.06); color:#fff; }
.mx-cta__form input::placeholder{ color:rgba(255,255,255,.55); }
.mx-cta__form input:focus{ outline:none; border-color:#93C5FD; box-shadow:0 0 0 3px rgba(147,197,253,.2); }
.mx-cta__note{ display:inline-flex; align-items:center; gap:.4rem; margin-top:1rem; color:rgba(255,255,255,.6); font-size:.82rem; }

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:980px){
  .mx-adv__grid{ grid-template-columns:1fr; align-items:start; gap:1.6rem; }
  .mx-about__grid{ gap:clamp(2.2rem,8vh,4.5rem) 1.5rem; min-height:min(56vh,460px); }
  .mx-gap__grid{ grid-template-columns:1fr; gap:2rem; }
  .mx-gap__media{ height:clamp(300px,42vh,420px); order:-1; }
  .mx-pf__grid{ grid-template-columns:repeat(2,1fr); }
  .mx-idx__head, .mx-nws__head{ flex-direction:column; align-items:flex-start; gap:1.2rem; }
  .mx-say__grid{ grid-template-columns:1fr; gap:clamp(2.4rem,6vw,3.4rem); }
  .mx-news__grid{ grid-template-columns:1fr 1fr; }
  .mx-reach__india{ width:min(66vw,320px); }
}
@media (max-width:768px){
  .mx-about{ display:flex; flex-direction:column; }
  .mx-about__grid{ grid-template-columns:1fr; gap:1.8rem; min-height:0; text-align:left; }
  .mx-about__c{ max-width:none; }
  .mx-about__c--tr, .mx-about__c--br{ justify-self:start; text-align:left; }
  .mx-about__c--tr .mx-about__big::before, .mx-about__c--br .mx-about__big2::before{ margin-left:0; }
  .mx-about__c--tr > span, .mx-about__c--br > span{ margin-left:0; }
  .mx-about__logo{ position:relative; left:auto; top:auto; transform:none; opacity:1; width:min(92%,440px); margin:0 auto clamp(1.6rem,6vw,2.6rem); order:-1; }
  /* hero: shorter on phones (full-screen video felt too tall) */
  .mx-vhero{ height:68svh; min-height:0; }
  /* platform keeps its horizontal pin on mobile too — just stack the card body */
  .mx-cap__body{ flex-direction:column; align-items:flex-start; gap:1rem; }
  .mx-cap__left, .mx-cap__right{ max-width:100%; min-width:0; }
  .mx-cap__t{ font-size:clamp(1.9rem,7.5vw,2.6rem); }
  .mx-cap__right p{ font-size:.98rem; }
  .mx-pf__grid{ grid-template-columns:1fr; }
  .mx-idx__row{ grid-template-columns:1fr; gap:.35rem; padding:1rem .35rem; }
  .mx-idx__name{ font-size:1.35rem; line-height:1.12; }
  .mx-idx__stage{ justify-self:start; font-size:.6rem; }
  .mx-idx__arr{ display:none; }
  .mx-nws__row{ grid-template-columns:auto 1fr; gap:.8rem; }
  .mx-nws__go{ display:none; }
  .mx-arch__nodes{ flex-wrap:wrap; justify-content:center; gap:1.3rem 1.5rem; margin-top:1.8rem; }
  .mx-arch__node{ flex:0 0 27%; }
  .mx-arch__node::before, .mx-arch__node::after{ display:none; }
  .mx-jrny__step{ grid-template-columns:50px 1fr; column-gap:1rem; }
  .mx-jrny__node{ width:50px; height:50px; font-size:1.3rem; }
  .mx-jrny__step:nth-child(odd) .mx-jrny__card, .mx-jrny__step:nth-child(even) .mx-jrny__card{ grid-column:2; text-align:left; transform:translateX(18px); }
  .mx-jrny__step.on .mx-jrny__card{ transform:none; }
  .mx-jrny__step:nth-child(even) .mx-jrny__tags{ align-items:flex-start; }
  .mx-jrny__line{ left:25px; }
  .mx-jrny__pulse{ left:25px; }
  .mx-flow__steps{ grid-template-columns:repeat(2,1fr); gap:1.8rem 1rem; }
  .mx-flow__steps::before{ display:none; }
  .mx-prob2{ display:flex; flex-direction:column; }
  .mx-prob2__grid{ grid-template-columns:1fr; gap:1.8rem; min-height:0; text-align:left; }
  .mx-prob2__c--tr, .mx-prob2__c--br{ justify-self:start; text-align:left; }
  .mx-prob2__c--tr .mx-prob2__ic, .mx-prob2__c--br .mx-prob2__ic{ margin-left:0; }
  .mx-prob2__c--tr > span:last-child, .mx-prob2__c--br > span:last-child{ margin-left:0; }
  .mx-prob2__word{ position:relative; left:auto; top:auto; transform:none; opacity:1; order:-1; align-self:center; font-size:30vw; margin-bottom:.5rem; }
  .mx-hero__dots{ top:auto; bottom:120px; transform:none; right:16px; }
  .mx-hero__cta{ padding-left:0; }
}
@media (max-width:560px){
  .mx-nums{ grid-template-columns:1fr 1fr; }
  .mx-clients__grid, .mx-news__grid{ grid-template-columns:1fr; }
  .mx-hero__cta .btn{ flex:1; justify-content:center; }
}

/* reduced motion */
@media (prefers-reduced-motion: reduce){
  .mx-marq__track, .mx-cue__mouse::after, .mx-reach__dot, .mx-cta__ey .dot,
  .mx-jrny__pulse::before, .mx-jrny__step.current .mx-jrny__node::after,
  .mx-arch__node::after{ animation:none!important; }
  [data-go]{ --go:1; } [data-mask]{ --mask:100; }
  .mx-jrny__card{ opacity:1; transform:none; }
  .mx-nums{ opacity:1; transform:none; }
  .mx-reach__india{ clip-path:none; opacity:1; }
  .mx-intro__img img{ transform:none; opacity:1; }
  /* GSAP is off → stack the capability cards so all stay reachable */
  .mx-caps__stage{ height:auto; display:block; overflow:visible; }
  .mx-caps__label{ position:static; margin:0 auto; padding:clamp(48px,9vw,72px) clamp(20px,5vw,64px) 0; }
  .mx-caps__track{ flex-direction:column; transform:none!important; padding:clamp(20px,4vw,40px) clamp(20px,5vw,64px); gap:20px; }
  .mx-cap{ flex-basis:auto; width:100%; height:auto; min-height:70vh; transform:none!important; opacity:1!important; }
  .mx-cap__body{ flex-direction:column; align-items:flex-start; gap:1.2rem; }
  .mx-cap__left, .mx-cap__right{ max-width:100%; min-width:0; }
}
