/* ============ DESIGN TOKENS ============ */
:root{
  --navy-900:#14181D; --navy-800:#1D2229; --navy-700:#272E37; --navy-600:#39424D;
  --gold-500:#c9a227; --gold-400:#dcbd4f; --gold-300:#efdc9b; --gold-600:#8a6e0f;
  --teal-500:#e93b6e; --teal-400:#f58aa8; --pink:#e93b6e;
  --ink:#0B1220; --body:#4A5568; --muted:#8A96A8;
  --line:#e6dfc8; --surface:#faf8f0; --canvas:#f3eedd; --canvas-2:#ece5cc; --card:#fffdf7;
  --ok:#16A34A; --warn:#E0A200; --bad:#DC2626;
  --r-sm:10px; --r:16px; --r-lg:24px; --r-xl:32px;
  --sh-1:0 1px 2px rgba(11,18,32,.06),0 1px 3px rgba(11,18,32,.04);
  --sh-2:0 4px 12px rgba(11,18,32,.06),0 12px 32px rgba(11,18,32,.06);
  --sh-3:0 18px 50px rgba(11,18,32,.13);
  --sh-gold:0 10px 30px rgba(201,162,39,.32);
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-io:cubic-bezier(.65,0,.35,1);
  --maxw:1220px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  color:var(--body);background:var(--surface);line-height:1.65;font-size:16px;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5{font-family:'Sora','Manrope',sans-serif;color:var(--ink);margin:0 0 .5em;line-height:1.15;letter-spacing:-.022em}
h1{font-size:clamp(2.1rem,5vw,3.9rem);font-weight:800}
h2{font-size:clamp(1.7rem,3.4vw,2.7rem);font-weight:700}
h3{font-size:clamp(1.15rem,1.8vw,1.4rem);font-weight:700}
p{margin:0 0 1rem}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.sec{padding:clamp(56px,8vw,110px) 0;position:relative}
.sec--tint{background:var(--canvas)}
.sec--dark{background:var(--navy-900);color:#B9C6DA}
.sec--dark h2,.sec--dark h3,.sec--dark h4{color:#fff}
.center{text-align:center}
.lead{font-size:clamp(1rem,1.4vw,1.14rem);color:var(--body);max-width:64ch}
.center .lead{margin-inline:auto}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold-600);
  background:rgba(201,162,39,.11);border:1px solid rgba(201,162,39,.28);
  padding:7px 15px;border-radius:100px;margin-bottom:18px;
}
.eyebrow::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--pink);animation:pulseDot 2s var(--ease-io) infinite}
@keyframes pulseDot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(1.6)}}
.grad-text{background:linear-gradient(100deg,var(--gold-400),var(--gold-300) 45%,var(--teal-400));-webkit-background-clip:text;background-clip:text;color:transparent}

/* ============ BUTTONS ============ */
.btn{
  --bg:var(--gold-500);--fg:#0B1220;
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:14px 28px;border-radius:100px;border:0;cursor:pointer;overflow:hidden;
  font-weight:700;font-size:.94rem;letter-spacing:.01em;background:var(--bg);color:var(--fg);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .25s;
  box-shadow:var(--sh-gold);white-space:nowrap;
}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.55),transparent 80%);transform:translateX(-130%);transition:transform .75s var(--ease)}
.btn:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(201,162,39,.42)}
.btn:hover::after{transform:translateX(130%)}
.btn:active{transform:translateY(-1px)}
.btn--ghost{--bg:transparent;--fg:#fff;border:1.5px solid rgba(255,255,255,.32);box-shadow:none}
.btn--ghost:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.6);box-shadow:none;transform:translateY(-3px)}
/* the ghost button is white-on-transparent for the dark hero; once the header goes
   frosted-white on scroll that renders white-on-white and the label disappears */
.hdr.stuck .btn--ghost{--fg:var(--ink);border-color:var(--line);background:var(--card)}
.hdr.stuck .btn--ghost:hover{background:var(--canvas);border-color:var(--gold-500)}
.btn--dark{--bg:var(--navy-800);--fg:#fff;box-shadow:0 10px 28px rgba(29,34,41,.26)}
.btn--dark:hover{box-shadow:0 16px 38px rgba(29,34,41,.34)}
.btn--sm{padding:10px 20px;font-size:.86rem}
.btn--line{--bg:#fff;--fg:var(--ink);border:1.5px solid var(--line);box-shadow:var(--sh-1)}
.btn--line:hover{border-color:var(--gold-500);box-shadow:var(--sh-2)}

/* ============ HEADER ============ */
.hdr{position:fixed;top:0;left:0;right:0;z-index:900;transition:all .45s var(--ease);background:rgba(250,248,240,.95);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);box-shadow:0 1px 0 var(--line),0 8px 30px rgba(11,18,32,.07)}
.hdr__in{display:flex;align-items:center;gap:28px;padding:16px 24px;max-width:var(--maxw);margin:0 auto;transition:padding .4s var(--ease)}
.hdr.stuck .hdr__in{padding:10px 24px}
.logo{display:flex;align-items:center;gap:11px;font-family:'Sora';font-weight:800;font-size:1.2rem;color:var(--ink);transition:color .4s;letter-spacing:-.02em}
.logo__full{height:58px;width:auto;display:block;transition:transform .5s var(--ease)}
.logo:hover .logo__full{transform:scale(1.04)}
.logo__full--dark{height:68px}
.logo small{display:block;font-family:'Manrope';font-size:.6rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;opacity:.65;margin-top:-2px}
.nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.nav__i{position:relative}
.nav__l{
  display:flex;align-items:center;gap:5px;padding:9px 14px;border-radius:10px;
  font-weight:600;font-size:.92rem;color:var(--body);transition:all .3s;cursor:pointer;
}
.nav__l:hover{color:var(--gold-600);background:rgba(201,162,39,.1)}
.nav__l svg{transition:transform .3s var(--ease)}
.nav__i:hover .nav__l svg{transform:rotate(180deg)}
.drop{
  position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(10px);
  min-width:250px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);
  box-shadow:var(--sh-3);padding:9px;opacity:0;visibility:hidden;transition:all .32s var(--ease);
}
.nav__i:hover .drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.drop a{display:flex;align-items:center;gap:11px;padding:10px 13px;border-radius:10px;font-size:.9rem;font-weight:600;color:var(--body);transition:all .22s}
.drop a:hover{background:var(--canvas);color:var(--ink);transform:translateX(4px)}
.drop a i{width:28px;height:28px;border-radius:8px;background:var(--canvas-2);display:grid;place-items:center;font-style:normal;font-size:.85rem;flex:0 0 28px}
.hdr__cta{display:flex;gap:10px;align-items:center}
.burger{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--canvas);cursor:pointer;padding:0;place-items:center}
.burger span{display:block;width:19px;height:2px;background:var(--ink);border-radius:2px;margin:3.5px auto;transition:.3s var(--ease)}
.mnav{position:fixed;inset:0;z-index:950;background:var(--navy-900);padding:90px 24px 40px;overflow-y:auto;transform:translateY(-100%);transition:transform .5s var(--ease);display:none}
.mnav.open{transform:translateY(0)}
.mnav a{display:block;padding:14px 4px;font-family:'Sora';font-size:1.15rem;font-weight:600;color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.mnav a.sub{font-size:.95rem;font-family:'Manrope';color:#94A3B8;padding-left:18px}
.mnav__x{position:absolute;top:22px;right:22px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:none;color:#fff;font-size:1.4rem;cursor:pointer}

/* ============ HERO ============ */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;background:linear-gradient(160deg,#0A1D3B 0%,#123A63 55%,#0A2647 100%);overflow:hidden;padding:152px 0 80px}
.hero__mesh{position:absolute;inset:-25%;z-index:0;filter:blur(70px);opacity:.62}
.hero__mesh i{position:absolute;border-radius:50%;display:block}
.blob1{width:44vw;height:44vw;background:radial-gradient(circle,#1B4B8F,transparent 68%);top:2%;left:-6%;animation:float1 22s var(--ease-io) infinite}
.blob2{width:38vw;height:38vw;background:radial-gradient(circle,#c9a227,transparent 68%);top:32%;right:-4%;animation:float2 26s var(--ease-io) infinite}
.blob3{width:32vw;height:32vw;background:radial-gradient(circle,#e93b6e,transparent 68%);bottom:2%;left:32%;animation:float3 19s var(--ease-io) infinite}
@keyframes float1{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(9vw,7vh) scale(1.16)}66%{transform:translate(-5vw,12vh) scale(.9)}}
@keyframes float2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-11vw,-9vh) scale(1.22)}}
@keyframes float3{0%,100%{transform:translate(0,0) scale(1)}40%{transform:translate(7vw,-11vh) scale(.86)}75%{transform:translate(-8vw,4vh) scale(1.1)}}
.hero__grid{position:absolute;inset:0;z-index:1;opacity:.4;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:62px 62px;
  mask-image:radial-gradient(ellipse 85% 60% at 50% 42%,#000 35%,transparent 100%);
  -webkit-mask-image:radial-gradient(ellipse 85% 60% at 50% 42%,#000 35%,transparent 100%);
}
.hero .wrap{position:relative;z-index:3}
.hero__row{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:56px;align-items:center}
.hero__row>*{min-width:0}
.hero h1{color:#fff;margin-bottom:20px}
.hero__sub{color:#A9BAD2;font-size:clamp(1rem,1.35vw,1.14rem);max-width:56ch;margin-bottom:34px}
.hero__btns{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:40px}
.hero__trust{display:flex;gap:26px;flex-wrap:wrap;align-items:center;padding-top:26px;border-top:1px solid rgba(255,255,255,.1)}
.hero__trust div{display:flex;align-items:center;gap:9px;font-size:.83rem;font-weight:600;color:#8FA3BF}
.hero__trust svg{color:var(--teal-400);flex:0 0 17px}

/* rotating headline word */
/* Rotating headline word. Driven by JS class toggling rather than staggered
   animation-delays — delays are fragile (a reduced-motion override or a paused
   tab desyncs them and every word ends up stacked on top of the others).
   Exactly one child carries .on at any time. No overflow clipping, so descenders
   on "salary." and "generation." stay intact. */
.rot{display:inline-grid;vertical-align:bottom}
/* The gradient MUST live on each word, never on .rot. background-clip:text builds
   its mask from every descendant glyph, so a parent-level gradient paints all four
   words at once no matter what opacity the children carry — they stack into an
   unreadable blob. Per-word clipping keeps each mask to its own letterforms.
   visibility is a second, independent guarantee that inactive words never paint. */
.rot span{
  grid-area:1/1;
  background-image:linear-gradient(100deg,var(--gold-400),var(--gold-300) 45%,var(--teal-400));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  opacity:0;visibility:hidden;transform:translateY(.26em);
  transition:opacity .5s var(--ease),transform .5s var(--ease),visibility 0s linear .5s;
  will-change:opacity,transform;
}
.rot span.on{
  opacity:1;visibility:visible;transform:none;
  transition:opacity .5s var(--ease),transform .5s var(--ease),visibility 0s;
}
.rot span.out{
  opacity:0;visibility:visible;transform:translateY(-.26em);
  transition:opacity .5s var(--ease),transform .5s var(--ease),visibility 0s linear .5s;
}
/* if JS never runs, show only the first word */
.no-js .rot span:not(:first-child){display:none}
.no-js .rot span:first-child{opacity:1;visibility:visible;transform:none}

/* hero mini calculator card */
.hcard{
  background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.13);border-radius:var(--r-xl);
  padding:28px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);
  box-shadow:0 30px 80px rgba(0,0,0,.42);position:relative;
  animation:cardIn 1.1s var(--ease) .35s both;
}
@keyframes cardIn{from{opacity:0;transform:translateY(38px) rotateX(9deg)}to{opacity:1;transform:none}}
.hcard__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.hcard__top h4{color:#fff;font-size:1.02rem;margin:0}
.hcard__tag{font-size:.66rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--teal-400);background:rgba(233,59,110,.15);border:1px solid rgba(233,59,110,.3);padding:5px 11px;border-radius:100px}
.hf{margin-bottom:17px}
.hf__lab{display:flex;justify-content:space-between;font-size:.79rem;font-weight:700;color:#9FB2CC;margin-bottom:9px}
.hf__val{color:var(--gold-400);font-family:'Sora';font-size:.92rem}
.hcard__out{background:linear-gradient(135deg,rgba(201,162,39,.16),rgba(233,59,110,.1));border:1px solid rgba(201,162,39,.28);border-radius:var(--r);padding:18px;margin:22px 0 18px;text-align:center}
.hcard__out small{display:block;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9FB2CC;margin-bottom:5px}
.hcard__out b{font-family:'Sora';font-size:clamp(1.5rem,3vw,2.05rem);color:#fff;font-weight:800;display:block;letter-spacing:-.02em}
.hcard__out em{font-style:normal;font-size:.79rem;color:var(--teal-400);font-weight:700}

/* range slider */
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:100px;background:var(--canvas-2);outline:none;cursor:pointer}
.hcard input[type=range]{background:rgba(255,255,255,.18)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--gold-500);border:3px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.35);cursor:grab;transition:transform .2s var(--ease)}
input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.22)}
input[type=range]::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.05)}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--gold-500);border:3px solid #fff;cursor:grab;box-shadow:0 2px 6px rgba(11,18,32,.22)}

/* ============ MARQUEE ============ */
.mq{background:var(--navy-800);padding:20px 0;overflow:hidden;border-block:1px solid rgba(255,255,255,.07)}
.mq__t{display:flex;gap:52px;width:max-content;animation:scrollX 34s linear infinite}
.mq:hover .mq__t{animation-play-state:paused}
@keyframes scrollX{to{transform:translateX(-50%)}}
.mq__t span{display:flex;align-items:center;gap:11px;color:#7B8DA8;font-weight:700;font-size:.85rem;letter-spacing:.05em;white-space:nowrap}
.mq__t span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold-500)}

/* ============ REVEAL ANIM ============ */
[data-rv]{opacity:0;transition:opacity .85s var(--ease),transform .85s var(--ease)}
[data-rv="up"]{transform:translateY(38px)}
[data-rv="left"]{transform:translateX(-42px)}
[data-rv="right"]{transform:translateX(42px)}
[data-rv="zoom"]{transform:scale(.93)}
[data-rv].in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  [data-rv]{opacity:1;transform:none}
}

/* ============ STATS ============ */
.stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-2)}
.stat{background:var(--card);padding:30px 16px;text-align:center;transition:all .4s var(--ease);position:relative}
.stat::before{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:linear-gradient(90deg,var(--gold-500),var(--teal-500));transform:scaleX(0);transition:transform .45s var(--ease)}
.stat:hover{background:var(--canvas);transform:translateY(-5px);z-index:2;box-shadow:var(--sh-2)}
.stat:hover::before{transform:scaleX(1)}
.stat b{display:block;font-family:'Sora';font-size:clamp(1.45rem,2.6vw,2.1rem);font-weight:800;color:var(--ink);letter-spacing:-.03em}
.stat span{font-size:.76rem;font-weight:700;color:var(--muted);letter-spacing:.05em;text-transform:uppercase}

/* ============ CARD GRIDS ============ */
/* minmax(0,1fr) not 1fr — grid items default to min-width:auto and will happily
   push past their container rather than shrink, which is what pushed the chart row
   wider than the KPI row above it. */
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.g2>*,.g3>*,.g4>*{min-width:0}
.card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .35s;
  position:relative;overflow:hidden;
}
.card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold-500),var(--teal-500));transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.card:hover{transform:translateY(-8px);box-shadow:var(--sh-3);border-color:transparent}
.card:hover::before{transform:scaleX(1)}
.card__ic{
  width:56px;height:56px;border-radius:17px;display:grid;place-items:center;margin-bottom:20px;
  background:linear-gradient(140deg,rgba(201,162,39,.16),rgba(233,59,110,.12));
  color:var(--gold-500);transition:all .45s var(--ease);
}
.card:hover .card__ic{transform:rotate(-7deg) scale(1.1);background:linear-gradient(140deg,var(--gold-500),#8a6e0f);color:#fff;box-shadow:var(--sh-gold)}
.card h3{margin-bottom:9px;font-size:1.12rem}
.card p{font-size:.93rem;margin:0}
.card__link{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-weight:700;font-size:.87rem;color:var(--gold-600);background:none;border:0;padding:0;cursor:pointer}
.card__link svg{transition:transform .3s var(--ease)}
.card:hover .card__link svg{transform:translateX(5px)}
.card__link:hover{color:var(--pink)}

/* ---- SVG icon system ---- */
.ic{display:block;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.card__ic .ic{width:27px;height:27px}
.why__ic .ic{width:21px;height:21px}
.panel__h .em .ic{width:22px;height:22px;color:var(--gold-500)}
.ctab .ic{width:15px;height:15px;flex:0 0 15px}
.drop a i .ic{width:15px;height:15px;color:var(--gold-500)}
.card:hover .card__ic .ic{stroke-width:2}
.post__img .ic{width:46px;height:46px;color:#fff;stroke-width:1.4;position:relative;z-index:2;transition:transform .5s var(--ease)}
.post:hover .post__img .ic{transform:scale(1.12) rotate(-5deg)}
.ring i span{display:flex}
.ring .ic{width:21px;height:21px;color:var(--navy-700);stroke-width:1.8}
h3 span[data-ico] .ic{width:17px;height:17px}
.insight em[data-ico] .ic{width:18px;height:18px;stroke-width:2}
.why__ic[data-ico] .ic{width:19px;height:19px}

/* ---- service card extras ---- */
.svc__facts{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}
.svc__facts span{
  font-size:.71rem;font-weight:700;color:var(--body);background:var(--canvas);
  border:1px solid var(--line);padding:5px 10px;border-radius:100px;white-space:nowrap;
  transition:all .3s var(--ease);
}
.card:hover .svc__facts span{border-color:rgba(201,162,39,.4);background:rgba(201,162,39,.07)}
.svc__foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}
/* wide CTA tile that closes the services grid */
.svc-cta{
  grid-column:span 2;display:flex;align-items:center;gap:26px;flex-wrap:wrap;
  background:linear-gradient(125deg,var(--navy-900),var(--navy-700));border-radius:var(--r-lg);
  padding:32px;color:#A9BAD2;position:relative;overflow:hidden;
}
.svc-cta::before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:rgba(201,162,39,.22);filter:blur(64px);top:-120px;right:-60px}
.svc-cta>*{position:relative;z-index:2}
.svc-cta h3{color:#fff;margin-bottom:7px}
.svc-cta p{font-size:.9rem;margin:0;max-width:44ch}
.svc-cta div{flex:1;min-width:230px}
@media(max-width:860px){.svc-cta{grid-column:span 1}}

/* ============ SECTION HEAD ============ */
.shead{max-width:720px;margin-bottom:52px}
.shead.center{margin-inline:auto}
.shead h2{margin-bottom:14px}

/* ============ PROCESS TIMELINE ============ */
.tl{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:60px}
.tl>*{min-width:0}
.tl::before{content:"";position:absolute;top:29px;left:9%;right:9%;height:2px;background:var(--line)}
.tl__fill{position:absolute;top:29px;left:9%;height:2px;background:linear-gradient(90deg,var(--gold-500),var(--teal-500));width:0;transition:width 1.8s var(--ease);border-radius:2px}
.tl__i{text-align:center;position:relative;z-index:2}
.tl__n{
  width:58px;height:58px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;
  background:var(--card);border:2px solid var(--line);font-family:'Sora';font-weight:800;font-size:1.1rem;color:var(--muted);
  transition:all .5s var(--ease);
}
.tl__i.on .tl__n{background:linear-gradient(140deg,var(--gold-400),var(--gold-500));border-color:transparent;color:#0B1220;box-shadow:var(--sh-gold);transform:scale(1.1)}
.tl__i h3{font-size:1.05rem;margin-bottom:7px}
.tl__i p{font-size:.89rem;margin:0}

/* ============ WHY / SPLIT ============ */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:60px;align-items:center}
.split>*{min-width:0}
.whylist{display:flex;flex-direction:column;gap:14px}
.why{display:flex;gap:17px;padding:19px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);transition:all .4s var(--ease)}
.why:hover{transform:translateX(9px);box-shadow:var(--sh-2);border-color:rgba(201,162,39,.4)}
.why__ic{width:44px;height:44px;flex:0 0 44px;border-radius:13px;background:linear-gradient(140deg,rgba(201,162,39,.16),rgba(233,59,110,.12));display:grid;place-items:center;color:var(--gold-500);transition:.4s}
.why:hover .why__ic{background:var(--gold-500);color:#fff}
.why h4{font-size:1rem;margin:0 0 4px}
.why p{font-size:.88rem;margin:0}

/* orbit visual */
.orbit{position:relative;aspect-ratio:1;max-width:440px;margin:0 auto;display:grid;place-items:center}
.orbit__c{width:130px;height:130px;border-radius:50%;background:linear-gradient(140deg,var(--navy-700),var(--navy-900));display:grid;place-items:center;color:#fff;text-align:center;box-shadow:0 20px 50px rgba(29,34,41,.3);z-index:3;position:relative}
.orbit__c b{font-family:'Sora';font-size:1.5rem;display:block;color:var(--gold-400)}
.orbit__c span{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#8FA3BF}
.ring{position:absolute;border:1.5px dashed rgba(201,162,39,.3);border-radius:50%}
.ring1{inset:16%;animation:spin 26s linear infinite}
.ring2{inset:0;animation:spin 40s linear infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.ring i{position:absolute;width:46px;height:46px;border-radius:14px;background:var(--card);box-shadow:var(--sh-2);display:grid;place-items:center;font-style:normal;font-size:1.15rem;border:1px solid var(--line)}

/* ============ MOBILE APP ============ */
.applist{display:flex;flex-direction:column;gap:18px;margin:28px 0 30px}
.appitem{display:flex;gap:16px;align-items:flex-start}
.appitem span{flex:0 0 44px;width:44px;height:44px;border-radius:12px;background:var(--canvas-2);display:grid;place-items:center;color:var(--gold-500);font-size:1.1rem}
.appitem b{display:block;font-family:'Sora';font-size:.98rem;margin-bottom:2px}
.appitem p{font-size:.87rem;color:var(--muted);line-height:1.5}
.playbtn{display:inline-flex;align-items:center;gap:12px;background:var(--ink);color:#fff;padding:12px 22px;border-radius:14px;transition:all .25s}
.playbtn:hover{background:var(--pink);transform:translateY(-2px)}
.playbtn small{display:block;font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.8;margin-bottom:1px}
.playbtn span{font-family:'Sora';font-weight:700;font-size:1.05rem;line-height:1.15}
.appshots{position:relative;display:flex;justify-content:center;padding:20px 0}
.appshot{width:250px;border-radius:28px;box-shadow:0 30px 60px rgba(11,18,32,.28);border:6px solid #fff}
.appshot--back{position:relative;z-index:1;transform:rotate(-6deg) translateX(28px)}
.appshot--front{position:absolute;z-index:2;left:50%;transform:translateX(-72%) rotate(4deg);top:56px}
@media(max-width:640px){.appshots{padding:10px 0 30px}.appshot{width:190px}.appshot--front{top:42px}}
.ring1 i:nth-child(1){top:-23px;left:calc(50% - 23px)}
.ring1 i:nth-child(2){bottom:-23px;left:calc(50% - 23px)}
.ring1 i:nth-child(3){left:-23px;top:calc(50% - 23px)}
.ring1 i:nth-child(4){right:-23px;top:calc(50% - 23px)}
.ring2 i:nth-child(1){top:12%;right:6%}
.ring2 i:nth-child(2){bottom:12%;left:6%}
.ring2 i:nth-child(3){bottom:6%;right:20%}
.ring i span{display:block;animation:spinBack 26s linear infinite}
.ring2 i span{animation:spinBack 40s linear infinite reverse}
@keyframes spinBack{to{transform:rotate(-360deg)}}

/* ============ CALCULATORS SECTION ============ */
.calctabs{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin-bottom:34px}
.ctab{
  padding:10px 19px;border-radius:100px;border:1.5px solid var(--line);background:var(--card);
  font-weight:700;font-size:.86rem;color:var(--body);cursor:pointer;transition:all .3s var(--ease);
  display:inline-flex;align-items:center;gap:7px;
}
.ctab:hover{border-color:var(--gold-500);color:var(--ink);transform:translateY(-2px)}
.ctab.on{background:var(--navy-800);border-color:var(--navy-800);color:#fff;box-shadow:0 8px 22px rgba(29,34,41,.24)}
.ctab em{font-style:normal;font-size:1rem}

.calc{display:grid;grid-template-columns:400px minmax(0,1fr);gap:26px;align-items:start}
.calc>*{min-width:0}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;box-shadow:var(--sh-2)}
.panel__h{display:flex;align-items:center;gap:13px;margin-bottom:6px}
.panel__h .em{width:44px;height:44px;border-radius:13px;background:linear-gradient(140deg,rgba(201,162,39,.16),rgba(233,59,110,.12));display:grid;place-items:center;font-size:1.25rem;flex:0 0 44px}
.panel__h h3{margin:0;font-size:1.16rem}
.panel__d{font-size:.86rem;color:var(--muted);margin:0 0 22px}
.fld{margin-bottom:19px}
.fld__top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px}
.fld__top label{font-size:.85rem;font-weight:700;color:var(--ink)}
.fld__box{display:flex;align-items:center;gap:3px;background:var(--canvas);border:1.5px solid var(--line);border-radius:9px;padding:3px 9px;transition:all .25s;justify-content:flex-end;flex:0 0 auto}
.fld__box:focus-within{border-color:var(--gold-500);background:var(--card);box-shadow:0 0 0 3px rgba(201,162,39,.14)}
.fld__box span{font-size:.8rem;font-weight:700;color:var(--muted);flex:0 0 auto}
/* sized in ch so ₹10,00,00,000 never clips; field:has() keeps short units compact */
.fld__box input{
  width:9.5ch;min-width:0;border:0;background:none;text-align:right;font-weight:800;
  font-family:'Sora';font-size:.88rem;color:var(--ink);outline:none;padding:5px 0;-moz-appearance:textfield;
}
.fld__box input[data-wide]{width:12ch}
.fld__box input::-webkit-outer-spin-button,.fld__box input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.fld__hint{display:flex;justify-content:space-between;font-size:.7rem;color:var(--muted);margin-top:6px;font-weight:600}
.seg{display:flex;gap:6px;background:var(--canvas);padding:4px;border-radius:11px;border:1px solid var(--line)}
.seg button{flex:1;padding:9px;border:0;background:none;border-radius:8px;font-weight:700;font-size:.83rem;color:var(--body);cursor:pointer;transition:all .3s var(--ease)}
.seg button.on{background:var(--card);color:var(--ink);box-shadow:var(--sh-1)}
/* form controls — applies to input, select AND textarea */
.sel{
  width:100%;display:block;padding:12px 14px;border:1.5px solid var(--line);border-radius:11px;
  background:var(--canvas);font-weight:600;font-size:.9rem;color:var(--ink);outline:none;
  transition:border-color .22s,background .22s,box-shadow .22s;
}
select.sel{cursor:pointer;font-weight:700;appearance:none;-webkit-appearance:none;padding-right:38px;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238A96A8' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center}
textarea.sel{resize:vertical;min-height:88px;line-height:1.6}
.sel::placeholder{color:#A3AEBF;font-weight:500}
.sel:hover{border-color:#CBD5E1}
.sel:focus{border-color:var(--gold-500);background:var(--card);box-shadow:0 0 0 3.5px rgba(201,162,39,.15)}
.sel.bad{border-color:var(--bad);background:#FEF2F2}
.sel.bad:focus{box-shadow:0 0 0 3.5px rgba(220,38,38,.13)}
.err{display:none;font-size:.76rem;font-weight:700;color:var(--bad);margin-top:6px}
.err.on{display:flex;align-items:center;gap:5px;animation:fadeDown .3s var(--ease)}
/* phone field with fixed +91 prefix */
.tel{display:flex;align-items:stretch;border:1.5px solid var(--line);border-radius:11px;background:var(--canvas);overflow:hidden;transition:border-color .22s,box-shadow .22s,background .22s}
.tel:focus-within{border-color:var(--gold-500);background:var(--card);box-shadow:0 0 0 3.5px rgba(201,162,39,.15)}
.tel.bad{border-color:var(--bad);background:#FEF2F2}
.tel span{display:grid;place-items:center;padding:0 12px;font-weight:800;font-size:.86rem;color:var(--muted);background:var(--canvas-2);border-right:1.5px solid var(--line)}
.tel input{flex:1;border:0;background:none;outline:none;padding:12px 14px;font-weight:600;font-size:.9rem;letter-spacing:.02em}
/* chip-style radio group */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips label{
  padding:9px 15px;border-radius:100px;border:1.5px solid var(--line);background:var(--card);cursor:pointer;
  font-weight:700;font-size:.82rem;color:var(--body);transition:all .25s var(--ease);user-select:none;
}
.chips label:hover{border-color:var(--gold-500);transform:translateY(-2px)}
.chips input:checked+label{background:var(--navy-800);border-color:var(--navy-800);color:#fff;box-shadow:0 6px 16px rgba(29,34,41,.22)}
.chips input:focus-visible+label{box-shadow:0 0 0 3.5px rgba(201,162,39,.3)}
/* trust badges under the form */
.tbadge{display:flex;flex-wrap:wrap;gap:14px;padding-top:16px;margin-top:4px;border-top:1px solid var(--line)}
.tbadge div{display:flex;align-items:center;gap:6px;font-size:.76rem;font-weight:700;color:var(--muted)}
.tbadge svg{color:var(--teal-500);flex:0 0 14px}
/* success state */
.sent{text-align:center;padding:34px 20px;animation:fadeDown .5s var(--ease)}
.sent__ic{width:70px;height:70px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;background:rgba(22,163,74,.11);color:var(--ok)}
.sent__ic svg{animation:tick .6s var(--ease) .15s both}
@keyframes tick{from{stroke-dasharray:40;stroke-dashoffset:40}to{stroke-dasharray:40;stroke-dashoffset:0}}
.sent h3{margin-bottom:8px}
.sent p{font-size:.92rem;max-width:38ch;margin-inline:auto}

.res{display:flex;flex-direction:column;gap:20px;min-width:0}
.res>*{min-width:0}
.rgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rgrid>*{min-width:0}
.rbox{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;position:relative;overflow:hidden;transition:all .4s var(--ease)}
.rbox:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}
.rbox small{display:block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.rbox b{font-family:'Sora';font-size:clamp(1.15rem,2vw,1.55rem);font-weight:800;color:var(--ink);letter-spacing:-.025em;display:block;line-height:1.2}
.rbox--hero{background:linear-gradient(135deg,var(--navy-800),var(--navy-700));border-color:transparent;color:#fff}
.rbox--hero small{color:#8FA3BF}
.rbox--hero b{color:var(--gold-400)}
.rbox--ok b{color:var(--ok)}
.rbox--bad b{color:var(--bad)}
.rbox i{position:absolute;right:-8px;bottom:-8px;font-size:3.2rem;opacity:.05;font-style:normal}

.chartwrap{min-width:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;box-shadow:var(--sh-1)}
.chartwrap__h{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}
.chartwrap__h h4{margin:0;font-size:1rem}
.chartrow{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px;align-items:center}
.chartrow>*{min-width:0}
.cbox{position:relative;height:270px}
.cbox--sm{height:210px}
.legend{display:flex;flex-direction:column;gap:11px}
.legend div{display:flex;align-items:center;gap:10px;font-size:.85rem;font-weight:600}
.legend i{width:11px;height:11px;border-radius:3px;flex:0 0 11px}
.legend b{margin-left:auto;font-family:'Sora';font-weight:800;color:var(--ink);font-size:.88rem}

.tblwrap{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-1)}
.tblwrap__h{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--line)}
.tblwrap__h h4{margin:0;font-size:1rem}
.tblscroll{max-height:330px;overflow-y:auto;overflow-x:auto}
table.dt{width:100%;border-collapse:collapse;font-size:.85rem}
table.dt th{position:sticky;top:0;background:var(--canvas);text-align:right;padding:12px 16px;font-size:.71rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);z-index:2;white-space:nowrap}
table.dt th:first-child,table.dt td:first-child{text-align:left}
table.dt td{padding:11px 16px;text-align:right;border-bottom:1px solid var(--canvas-2);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
table.dt tbody tr{transition:background .2s}
table.dt tbody tr:hover{background:var(--canvas)}
table.dt td.pos{color:var(--ok);font-weight:700}
table.dt tfoot td{background:var(--canvas);font-weight:800;color:var(--ink);border-top:2px solid var(--line)}

.actbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:20px 24px;background:linear-gradient(135deg,var(--navy-800),var(--navy-700));border-radius:var(--r-lg);color:#fff}
.actbar p{margin:0;font-size:.88rem;color:#A9BAD2;flex:1;min-width:210px}
.actbar b{color:#fff;display:block;font-family:'Sora';font-size:1rem;margin-bottom:2px}

/* ---- grouped form sections in the report builder ---- */
.fgrp{
  font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
  padding:16px 0 12px;margin-top:8px;border-top:1px solid var(--line);display:flex;align-items:center;gap:8px;
}
.fgrp:first-child{border-top:0;margin-top:0;padding-top:0}
.fgrp span{font-weight:600;letter-spacing:0;text-transform:none;font-size:.72rem;color:#A3AEBF}
/* Report builder: 19 stacked fields ran ~2x taller than the results column and left
   a dead white gap. Two columns halves the height and the two sides finish together. */
.rform{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 24px;align-items:start}
.rform>*{min-width:0}
.rform .fgrp{grid-column:1/-1}
.rform .fld--full{grid-column:1/-1}
/* Every field is the same shape — label block of reserved height, then a full-width
   value box, then the slider. Labels used to sit beside the input, so a two-line
   label squeezed the box and knocked the whole row out of line with its neighbour. */
.rform .fld{margin-bottom:18px;display:flex;flex-direction:column}
.rform .fld__top{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:9px}
.rform .fld__top label{min-height:2.5em;line-height:1.25;display:block;font-size:.83rem}
.rform .fld--full .fld__top label{min-height:0}
.rform .fld__box{width:100%;justify-content:space-between;padding:5px 12px}
.rform .fld__box input,.rform .fld__box input[data-wide]{flex:1 1 auto;width:auto;min-width:0;text-align:right;font-size:.92rem}
.rform .fld__box>span:first-child{margin-right:6px}
.rform .fld__hint{font-size:.66rem;margin-top:7px}
.rform .seg button{padding:9px 4px;font-size:.8rem}
.rform input[type=range]{margin-top:2px}
@media(max-width:1180px){.rform{grid-template-columns:1fr}.rform .fld__top label{min-height:0}}

/* share row under the download button */
.shareRow{display:flex;gap:9px;margin-top:11px}
.shareRow .btn{flex:1;padding:11px 12px;font-size:.82rem}
/* results column tracks the form on tall screens */
@media(min-width:1081px){ .calc--report .res{position:sticky;top:88px;align-self:start} }
.secs label{font-size:.78rem;padding:8px 13px}
.secs input:checked+label::before{content:"✓ ";font-weight:800}

/* ---- financial health score ---- */
.score{display:flex;gap:26px;align-items:center;flex-wrap:wrap;background:linear-gradient(125deg,var(--navy-900),var(--navy-700));
  border-radius:var(--r-lg);padding:26px 30px;color:#A9BAD2;position:relative;overflow:hidden}
.score::before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(201,162,39,.2);filter:blur(70px);top:-140px;right:-70px}
.score>*{position:relative;z-index:2}
.score__ring{width:118px;height:118px;flex:0 0 118px;position:relative;display:grid;place-items:center}
.score__ring svg{position:absolute;inset:0;transform:rotate(-90deg)}
.score__ring circle{fill:none;stroke-width:9;stroke-linecap:round}
.score__bg{stroke:rgba(255,255,255,.11)}
.score__fg{stroke:url(#scoreGrad);stroke-dasharray:327;stroke-dashoffset:327;transition:stroke-dashoffset 1.3s var(--ease)}
.score__ring b{font-family:'Sora';font-size:2.1rem;font-weight:800;color:#fff;line-height:1}
.score__ring i{display:block;font-style:normal;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:#8FA3BF;text-align:center;margin-top:2px}
.score__b{flex:1;min-width:260px}
.score__b h3{color:#fff;margin-bottom:5px;font-size:1.15rem}
.score__b p{font-size:.88rem;margin:0 0 15px}
.score__bars{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px 20px}
.score__bars>*{min-width:0}
.sbar{font-size:.75rem;font-weight:700}
.sbar div{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px;color:#9FB2CC}
.sbar u{text-decoration:none;color:#fff}
.sbar i{display:block;height:4px;border-radius:100px;background:rgba(255,255,255,.13);overflow:hidden}
.sbar i em{display:block;height:100%;border-radius:100px;background:linear-gradient(90deg,var(--gold-500),var(--teal-500));width:0;transition:width 1s var(--ease)}
@media(max-width:640px){.score__bars{grid-template-columns:1fr}}

/* insight strip */
.insight{display:flex;gap:12px;padding:15px 18px;border-radius:var(--r);background:linear-gradient(135deg,rgba(233,59,110,.09),rgba(201,162,39,.07));border:1px solid rgba(233,59,110,.22);font-size:.87rem;line-height:1.6}
.insight em{font-style:normal;font-size:1.15rem;flex:0 0 auto}
.insight b{color:var(--ink)}

/* ============ TESTIMONIALS ============ */
.tsl{overflow:hidden;position:relative}
.tsl__t{display:flex;gap:24px;transition:transform .7s var(--ease)}
.tst{flex:0 0 calc(33.333% - 16px);background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px;transition:all .4s var(--ease)}
.tst:hover{box-shadow:var(--sh-2);transform:translateY(-5px)}
.tst__q{font-size:2.6rem;font-family:'Sora';color:rgba(201,162,39,.28);line-height:.6;margin-bottom:14px;display:block}
.tst p{font-size:.93rem;margin-bottom:20px}
.tst__w{display:flex;align-items:center;gap:12px;padding-top:17px;border-top:1px solid var(--line)}
.av{width:44px;height:44px;border-radius:50%;background:linear-gradient(140deg,var(--gold-400),var(--teal-500));display:grid;place-items:center;font-family:'Sora';font-weight:800;color:#fff;font-size:.95rem;flex:0 0 44px}
.tst__w b{display:block;font-size:.92rem;color:var(--ink)}
.tst__w span{font-size:.78rem;color:var(--muted)}
.stars{color:var(--gold-500);font-size:.85rem;letter-spacing:2px;margin-bottom:12px}
.tsl__nav{display:flex;gap:9px;justify-content:center;margin-top:30px}
.tsl__nav button{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--line);background:var(--card);cursor:pointer;color:var(--body);transition:all .3s var(--ease);display:grid;place-items:center}
.tsl__nav button:hover{background:var(--navy-800);border-color:var(--navy-800);color:#fff;transform:scale(1.07)}

/* ============ CTA BAND ============ */
.cta{background:linear-gradient(125deg,var(--navy-900),var(--navy-700) 55%,#123A6B);border-radius:var(--r-xl);padding:clamp(40px,6vw,70px);text-align:center;position:relative;overflow:hidden}
.cta::before,.cta::after{content:"";position:absolute;border-radius:50%;filter:blur(60px)}
.cta::before{width:340px;height:340px;background:rgba(201,162,39,.3);top:-130px;right:-70px;animation:float2 18s var(--ease-io) infinite}
.cta::after{width:280px;height:280px;background:rgba(233,59,110,.24);bottom:-120px;left:-60px;animation:float3 22s var(--ease-io) infinite}
.cta>*{position:relative;z-index:2}
.cta h2{color:#fff}
.cta p{color:#A9BAD2;max-width:56ch;margin:0 auto 30px}
.cta__b{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ============ BLOG ============ */
.post{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:all .45s var(--ease)}
.post:hover{transform:translateY(-8px);box-shadow:var(--sh-3)}
.post__img{height:180px;background:linear-gradient(140deg,var(--navy-700),var(--teal-500));position:relative;overflow:hidden;display:grid;place-items:center;font-size:2.6rem}
.post__img::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,24,29,.45),transparent 55%)}
.post__b{padding:24px}
.post__tag{display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--teal-500);background:rgba(233,59,110,.11);padding:5px 11px;border-radius:100px;margin-bottom:12px}
.post h3{font-size:1.06rem;margin-bottom:9px}
.post p{font-size:.89rem;margin-bottom:14px}
.post__m{font-size:.77rem;color:var(--muted);font-weight:600}

/* ============ FAQ ============ */
.faq{border:1px solid var(--line);border-radius:var(--r);background:var(--card);margin-bottom:12px;overflow:hidden;transition:box-shadow .3s}
.faq[open]{box-shadow:var(--sh-2);border-color:rgba(201,162,39,.4)}
.faq summary{padding:19px 24px;font-weight:700;color:var(--ink);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:.97rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:'Sora';font-size:1.5rem;color:var(--gold-500);transition:transform .35s var(--ease);flex:0 0 auto;line-height:1}
.faq[open] summary::after{transform:rotate(135deg)}
.faq__b{padding:0 24px 21px;font-size:.92rem;animation:fadeDown .4s var(--ease)}
@keyframes fadeDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* ============ FOOTER ============ */
.ftr{background:linear-gradient(165deg,#0A2647 0%,#123A63 45%,#6e570d 140%);color:#B9C8DC;padding:70px 0 0}
.ftr__g{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr);gap:44px;padding-bottom:48px}
.ftr__g>*{min-width:0}
.ftr h5{color:#fff;font-family:'Sora';font-size:.95rem;margin-bottom:18px;font-weight:700}
.ftr ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.ftr a{font-size:.89rem;transition:all .25s;display:inline-block}
.ftr a:hover{color:var(--gold-400);transform:translateX(4px)}
.ftr p{font-size:.89rem;line-height:1.7}
.fcon{display:flex;gap:11px;align-items:flex-start;margin-bottom:13px;font-size:.88rem}
.fcon svg{color:var(--gold-500);flex:0 0 17px;margin-top:3px}
.ftr__bot{border-top:1px solid rgba(255,255,255,.09);padding:22px 0;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:.82rem}
.ftr__bot a:hover{color:var(--gold-400);transform:none}
.ftr__reg{border-top:1px solid rgba(255,255,255,.09);padding:18px 0 0;font-size:.84rem;font-weight:600;color:#D5DFEC;text-align:center;line-height:1.7}
.ftr__reg+.ftr__bot{border-top:0;padding-top:12px}
@media(min-width:653px){
  #svcGrid{grid-template-columns:repeat(6,minmax(0,1fr))}
  #svcGrid>.card{grid-column:span 2}
  #svcGrid>.card:nth-of-type(7){grid-column:2 / span 2}
  #svcGrid>.card:nth-of-type(8){grid-column:4 / span 2}
  #svcGrid>.svc-cta{grid-column:1 / -1}
}
.discl{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:var(--r);padding:18px 22px;font-size:.78rem;line-height:1.65;color:#6E819C;margin-bottom:26px}
.socs{display:flex;gap:10px;margin-top:18px}
.socs a{width:38px;height:38px;border-radius:11px;border:1px solid rgba(255,255,255,.13);display:grid;place-items:center;transition:all .3s var(--ease)}
.socs a:hover{background:var(--gold-500);border-color:var(--gold-500);color:#0B1220;transform:translateY(-4px)}

/* ============ MISC ============ */
.progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--gold-500),var(--teal-500));z-index:999;width:0;transition:width .1s linear}
.totop{position:fixed;bottom:26px;right:26px;width:48px;height:48px;border-radius:50%;background:var(--navy-800);color:#fff;border:0;cursor:pointer;display:grid;place-items:center;box-shadow:var(--sh-3);opacity:0;visibility:hidden;transform:translateY(16px);transition:all .4s var(--ease);z-index:800}
.totop.on{opacity:1;visibility:visible;transform:none}
.totop:hover{background:var(--gold-500);color:#0B1220;transform:translateY(-4px)}
.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(120px);background:var(--navy-800);color:#fff;padding:14px 24px;border-radius:100px;font-size:.88rem;font-weight:600;box-shadow:var(--sh-3);z-index:990;transition:transform .5s var(--ease);display:flex;align-items:center;gap:10px}
.toast.on{transform:translateX(-50%) translateY(0)}

/* ============ RESPONSIVE ============ */
@media(max-width:1080px){
  .hero__row{grid-template-columns:1fr;gap:44px}
  .calc{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .split{grid-template-columns:1fr;gap:40px}
  .tst{flex:0 0 calc(50% - 12px)}
  .ftr__g{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px}
}
@media(max-width:860px){
  .nav,.hdr__cta .btn{display:none}
  .burger{display:grid}
  .mnav{display:block}
  .g3,.g2{grid-template-columns:1fr}
  .tl{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}
  .tl::before,.tl__fill{display:none}
  .chartrow{grid-template-columns:1fr}
  .rgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .tst{flex:0 0 100%}
  .hero__trust{gap:16px}
}
@media(max-width:560px){
  .g4,.stats{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .rgrid{grid-template-columns:1fr}
  .wrap{padding:0 18px}
  .panel{padding:22px}
  .ftr__g{grid-template-columns:1fr}
}

/* ---- accents & layout tweaks (v3) ---- */
.hero .eyebrow,.cta .eyebrow{color:var(--gold-400)}
.btn--pink{--bg:var(--pink);--fg:#fff}
.btn--pink:hover{box-shadow:0 16px 40px rgba(233,59,110,.4)}
.nav__l--pink{color:var(--pink);font-weight:800}
.nav__l--pink:hover{color:#c42a58;background:rgba(233,59,110,.09)}
.appbtns{display:flex;gap:12px;flex-wrap:wrap}
section[id]{scroll-margin-top:92px}
@media(max-width:640px){.logo__full{height:46px}.hero{padding-top:124px}}
