/* ===========================================================================
   FinShark — Design Token System
   Change a variable here → it propagates to every component that uses it.
   Structure: Primitives → Semantic aliases → Dynamic (JS-driven)
   =========================================================================== */
:root{
  /* ── Primitive colour palette ── */
  --blue:#004ca3;      /* brand primary */
  --blue-700:#003c82;
  --blue-500:#2a6fcc;
  --blue-300:#7faae0;
  --blue-100:#d8e6f7;
  --blue-50:#eef4fc;
  --navy:#0a2150;      /* deep background / dark text */

  --green:#3fb01e;     /* growth / positive */
  --green-600:#2f8a17;
  --green-50:#ecf8e4;

  --amber:#f5a623;     /* CTA / action */
  --amber-600:#e0901a;
  --amber-50:#fdeccd;

  /* ── Semantic role tokens (change these to retheme sections) ── */
  --accent:var(--blue);        /* primary interactive colour — links, eyebrows, badges */
  --accent-alt:var(--green);   /* secondary accent — growth, positive values */
  --cta:var(--amber);          /* call-to-action buttons */
  --cta-text:#3a2a05;          /* text on amber buttons */
  --hero-fin-blue:#004ca3;     /* fin colour when moving right */
  --hero-fin-green:#3fb01e;    /* fin colour when moving left */

  /* ── Surface & text scale ── */
  --bg:#f8fafc;
  --surface:#ffffff;
  --ink:#1a1f2e;
  --ink-600:#4a5366;
  --ink-400:#8a93a6;
  --ink-300:#b8c0cc;
  --line:#e6ecf3;

  /* ── Border radii ── */
  --r-sm:10px; --r:14px; --r-lg:20px; --r-xl:28px;

  /* ── Elevation shadows ── */
  --sh-sm:0 1px 2px rgba(16,38,72,.06),0 2px 8px rgba(16,38,72,.05);
  --sh-md:0 6px 16px rgba(16,38,72,.08),0 2px 6px rgba(16,38,72,.05);
  --sh-lg:0 24px 48px rgba(16,38,72,.14),0 8px 20px rgba(16,38,72,.08);

  /* ── Motion ── */
  --ease:cubic-bezier(.22,.61,.36,1);

  /* ── Typography ── */
  --head:'Sora',sans-serif;
  --body:'Hanken Grotesk',sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,monospace;

  /* ── Dynamic — updated by JS, never edit manually ── */
  /* Fin is blue on launch → accent text starts as opposite (green) */
  --fin-accent:#3fb01e;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--body);background:var(--bg);color:var(--ink);
  -webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden;}
h1,h2,h3,h4{font-family:var(--head);letter-spacing:-.03em;line-height:1.2;margin:0;}
a{color:inherit;text-decoration:none;}
p{text-wrap:pretty;}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
.wrap.narrow{max-width:860px;}
.split-2col{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
@media(max-width:860px){.split-2col{grid-template-columns:1fr;gap:36px;}}
.eyebrow{font-family:var(--head);font-weight:700;font-size:12.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--blue);}
.section{padding:clamp(64px,8vw,108px) 0;position:relative;}
.section.alt{background:linear-gradient(180deg,#fff,var(--blue-50));}
.section-head{max-width:60ch;margin-bottom:44px;}
.section-head.center{margin-inline:auto;text-align:center;}
.section-head h2{font-size:clamp(30px,4.4vw,52px);font-weight:800;margin-top:14px;}
.section-head p{margin-top:14px;color:var(--ink-600);font-size:17px;text-transform:none;}

/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;gap:9px;font-family:var(--head);
  font-weight:600;font-size:15px;padding:13px 22px;border-radius:12px;border:1.5px solid transparent;
  cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .2s,color .2s;
  min-height:46px;white-space:nowrap;}
.btn svg{width:16px;height:16px;}
.btn-amber{background:var(--amber);color:#3a2a05;box-shadow:0 8px 22px rgba(245,166,35,.32);}
.btn-amber:hover{box-shadow:0 14px 30px rgba(245,166,35,.42);}
.btn-blue{background:var(--blue);color:#fff;}
.btn-blue:hover{box-shadow:0 14px 30px rgba(0,76,163,.34);}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink);}
.btn-ghost:hover{border-color:var(--blue-300);color:var(--blue);}
.btn-on-dark{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.22);}
.btn-on-dark:hover{background:rgba(255,255,255,.2);}

/* scroll progress */
.scrollbar{position:fixed;top:0;left:0;right:0;height:3px;transform-origin:0 50%;z-index:120;
  background:linear-gradient(90deg,var(--blue),var(--green));}

/* header */
.hd{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .3s var(--ease),box-shadow .3s,border-color .3s;
  border-bottom:1px solid transparent;}
.hd.scrolled{background:rgba(248,250,252,.84);backdrop-filter:blur(14px);border-color:var(--line);box-shadow:var(--sh-sm);}
.hd .bar{display:flex;align-items:center;justify-content:space-between;height:74px;position:relative;}
.hd-logo{display:flex;align-items:center;}
.hd-logo img{height:30px;width:auto;}
.hd-nav{display:flex;align-items:center;gap:4px;}
.hd-link{font-family:var(--head);font-weight:600;font-size:15px;color:var(--ink-600);padding:9px 14px;
  border-radius:10px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:color .2s,background .2s;}
.hd-link:hover,.hd-link.active{color:var(--blue);}
.hd-link svg{width:14px;height:14px;transition:transform .25s var(--ease);}
.hd-item.hot .hd-link svg{transform:rotate(90deg);}
.hd-right{display:flex;align-items:center;gap:14px;}
.hd-cta{font-family:var(--head);font-weight:600;font-size:15px;color:var(--blue);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;}
.hd-cta svg{width:15px;height:15px;transition:transform .2s var(--ease);}
.hd-cta:hover svg{transform:translateX(3px);}
.hd.on-dark:not(.scrolled) .hd-link,.hd.on-dark:not(.scrolled) .hd-cta{color:#fff;}
.hd.on-dark:not(.scrolled) .hd-link:hover{color:#fff;}

/* mega panel (shared, morphs) */
.mega{position:absolute;top:100%;left:50%;width:min(760px,calc(100vw - 32px));z-index:90;padding-top:12px;}
.mega-inner{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-lg);
  padding:16px;overflow:visible;}
.mega-2{display:grid;grid-template-columns:1fr 244px;gap:16px;}
.mega-tiles{display:grid;grid-template-columns:1fr 1fr;gap:3px;align-content:start;}
.mega-tile{display:flex;gap:12px;align-items:flex-start;padding:11px 12px;border-radius:12px;transition:background .15s;}
.mega-tile:hover{background:var(--blue-50);}
.mega-ico{width:38px;height:38px;flex:none;border-radius:10px;background:var(--blue-50);color:var(--blue);
  display:grid;place-items:center;transition:background .2s,color .2s;}
.mega-ico svg{width:20px;height:20px;}
.mega-tile:hover .mega-ico{background:var(--blue);color:#fff;}
.mega-tx{display:flex;flex-direction:column;gap:2px;min-width:0;}
.mega-tx .t{font-family:var(--head);font-weight:600;font-size:14px;color:var(--ink);letter-spacing:-.01em;}
.mega-tx .d{font-size:12px;color:var(--ink-400);line-height:1.35;text-transform:none;}
.mega-feat{background:linear-gradient(160deg,var(--blue),var(--blue-700));color:#fff;border-radius:14px;
  padding:22px 20px;display:flex;flex-direction:column;align-items:stretch;gap:10px;}
.mega-feat .eyebrow{color:var(--blue-300);white-space:nowrap;}
.mega-feat h4{font-family:var(--head);font-weight:700;font-size:18px;line-height:1.15;}
.mega-feat p{font-size:12.5px;color:rgba(255,255,255,.82);line-height:1.5;text-transform:none;}
.mega-feat .btn{width:100%;justify-content:center;}
.mega-all{display:inline-flex;align-items:center;gap:6px;font-family:var(--head);font-weight:600;font-size:13px;color:#fff;}
.mega-all svg{width:14px;height:14px;}

/* mobile drawer */
.burger{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:11px;background:var(--surface);
  cursor:pointer;flex-direction:column;gap:5px;align-items:center;justify-content:center;}
.burger span{width:20px;height:2px;background:var(--ink);border-radius:2px;}
.drawer{position:fixed;inset:0;z-index:130;background:var(--surface);padding:24px;overflow-y:auto;}
.drawer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.drawer-x{width:44px;height:44px;border:1px solid var(--line);border-radius:11px;background:none;cursor:pointer;font-size:20px;}
.drawer-grp{border-bottom:1px solid var(--line);padding:6px 0;}
.drawer-grp>button{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:none;
  font-family:var(--head);font-weight:700;font-size:18px;padding:14px 4px;cursor:pointer;color:var(--ink);}
.drawer-grp>button svg{width:20px;height:20px;flex:none;color:var(--ink-400);transition:transform .25s var(--ease);}
.drawer-grp.open>button svg{transform:rotate(180deg);color:var(--blue);}
.drawer-sub a{display:flex;align-items:center;gap:11px;padding:10px 8px;color:var(--ink-600);border-radius:10px;}
.drawer-sub a:hover{background:var(--blue-50);color:var(--blue);}
.drawer-sub .dico{width:30px;height:30px;flex:none;border-radius:8px;background:var(--blue-50);color:var(--blue);display:grid;place-items:center;}
.drawer-sub .dico svg{width:17px;height:17px;}

/* hero */
.hero{position:relative;min-height:max(92vh,640px);display:flex;align-items:center;overflow:hidden;}
.hero-vis{position:absolute;inset:0;z-index:1;}
.hero-fin{position:absolute;right:-3%;top:50%;width:min(620px,50%);opacity:.10;z-index:2;color:var(--blue);}
.hero-c{position:relative;z-index:3;padding-top:90px;max-width:840px;}
.hero h1{font-size:clamp(40px,7vw,84px);font-weight:800;line-height:.96;letter-spacing:-.03em;}
.hero h1 .hw{display:inline-block;white-space:pre;}
.hero .grn{color:var(--fin-accent);transition:color .65s var(--ease);}
.hero-sub{font-size:clamp(17px,2vw,22px);color:var(--ink-600);margin:26px 0 36px;max-width:56ch;line-height:1.5;text-transform:none;}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;}

/* page hero (inner pages) */
.phero{position:relative;min-height:max(66vh,460px);padding:160px 0 80px;overflow:hidden;}
.phero-vis{position:absolute;inset:0;z-index:0;opacity:.9;}
.phero .wrap{position:relative;z-index:2;}
.crumb{display:flex;align-items:center;gap:8px;color:var(--ink-400);font-size:13px;font-family:var(--head);font-weight:600;margin-bottom:18px;}
.crumb svg{width:13px;height:13px;}
.phero h1{font-size:clamp(36px,5.6vw,68px);font-weight:800;line-height:.96;letter-spacing:-.03em;}
.phero .accent{color:var(--fin-accent);transition:color .65s var(--ease);}
.phero-lede{font-size:clamp(17px,2vw,21px);color:var(--ink-600);margin-top:20px;max-width:60ch;line-height:1.5;text-transform:none;}

/* abstract visuals */
.vis{position:absolute;inset:0;overflow:hidden;}
.blob{position:absolute;border-radius:50%;filter:blur(48px);opacity:.5;will-change:transform;}
.dotfield{position:absolute;inset:0;background-image:radial-gradient(var(--blue-100) 1.3px,transparent 1.3px);background-size:22px 22px;}
.geo-shape{position:absolute;will-change:transform;}
.vis-card{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);
  background:var(--surface);box-shadow:var(--sh-sm);min-height:280px;}
.vis-cap{position:absolute;left:14px;bottom:12px;z-index:5;font-family:var(--mono);font-size:11px;color:var(--ink-400);
  background:rgba(255,255,255,.8);border:1px solid var(--line);padding:4px 9px;border-radius:7px;backdrop-filter:blur(4px);text-transform:none;}

/* stat band */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 26px;box-shadow:var(--sh-sm);}
.stat .num{font-family:var(--head);font-weight:800;font-size:clamp(34px,4.2vw,52px);letter-spacing:-.04em;color:var(--blue);line-height:1;}
.stat .lbl{margin-top:10px;color:var(--ink-600);font-size:14.5px;text-transform:none;}
.stat .ph{display:inline-block;margin-top:12px;font-family:var(--mono);font-size:10px;color:var(--amber-600);background:var(--amber-50);padding:2px 7px;border-radius:5px;text-transform:none;}

/* cards */
.cardgrid{display:grid;gap:22px;align-items:stretch;}
.cardgrid.c3{grid-template-columns:repeat(3,1fr);}
.cardgrid.c2{grid-template-columns:repeat(2,1fr);}
.cardgrid>*{height:100%;}
.fcard{position:relative;min-height:260px;height:100%;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:30px 26px 28px;box-shadow:var(--sh-sm);overflow:hidden;}

/* ── Orphan last-card centering ─────────────────────────── */
/* 2-col: 1 card alone in last row */
.cardgrid.c2>*:last-child:nth-child(2n+1){grid-column:1/-1;max-width:calc((100% - 22px)/2);margin-left:auto;margin-right:auto;}
/* 3-col: 1 card alone in last row */
.cardgrid.c3>*:last-child:nth-child(3n+1){grid-column:1/-1;max-width:calc((100% - 44px)/3);margin-left:auto;margin-right:auto;}
/* 3-col: 2 cards in last row — centre the pair */
.cardgrid.c3>*:nth-last-child(2):nth-child(3n+1){grid-column:1/-1;max-width:calc((100% - 44px)/3);margin-left:auto;margin-right:0;}
.cardgrid.c3>*:last-child:nth-child(3n+2){max-width:calc((100% - 44px)/3);margin-left:0;margin-right:auto;}
.fcard::before{content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;
  background:radial-gradient(120% 90% at 50% -10%,var(--blue-50),transparent 70%);transition:opacity .4s var(--ease);}
.fcard:hover::before{opacity:1;}
.fcard>*{position:relative;z-index:2;}
.fcard .fico{width:52px;height:52px;border-radius:14px;background:var(--blue-50);color:var(--blue);display:grid;place-items:center;margin-bottom:18px;}
.fcard .fico svg{width:26px;height:26px;}
.fcard .eyebrow{font-size:11px;display:block;margin-bottom:10px;}
.fcard h3{font-size:21px;font-weight:700;}
.fcard p{margin-top:9px;color:var(--ink-600);font-size:14.5px;text-transform:none;}
.fcard .more{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:16px;font-family:var(--head);font-weight:600;font-size:14px;color:var(--blue);}
.fcard .more svg{width:14px;height:14px;}

/* list with animated check/icon */
.flist{display:grid;gap:14px;max-width:760px;}
.flist .row{display:flex;gap:14px;align-items:flex-start;}
.flist .ic{width:42px;height:42px;flex:none;border-radius:12px;background:var(--blue-50);color:var(--blue);display:grid;place-items:center;}
.flist .ic svg{width:21px;height:21px;}
.flist .tx h4{font-family:var(--head);font-weight:700;font-size:17px;}
.flist .tx p{color:var(--ink-600);font-size:14.5px;margin-top:3px;text-transform:none;}

/* prose */
.prose{max-width:64ch;}
.prose p{font-size:17px;color:var(--ink-600);margin:0 0 18px;text-transform:none;}
.prose h3{font-size:clamp(22px,3vw,32px);font-weight:800;margin:30px 0 14px;}
.prose .lead{font-size:19px;color:var(--ink);}
.prose ul{margin:0 0 18px;padding-left:22px;}
.prose li{font-size:16.5px;color:var(--ink-600);margin:0 0 9px;line-height:1.6;text-transform:none;}
.doc-meta{font-family:var(--mono);font-size:12px;color:var(--ink-400);text-transform:none;margin:0 0 26px;}
.doc-meta a{color:var(--blue);}

/* compare table */
.ctable{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--surface);box-shadow:var(--sh-sm);}
.ctable th,.ctable td{padding:16px 20px;text-align:left;font-size:15px;border-bottom:1px solid var(--line);text-transform:none;}
.ctable thead th{font-family:var(--head);font-weight:700;font-size:15px;background:var(--blue-50);}
.ctable thead th:last-child{color:var(--blue);}
.ctable tr:last-child td{border-bottom:none;}
.ctable td:first-child{color:var(--ink-400);}
.ctable td:last-child{font-weight:600;}

/* tabs */
.tabs-bar{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:28px;}
.tab{position:relative;font-family:var(--head);font-weight:600;font-size:15px;color:var(--ink-600);background:none;border:none;cursor:pointer;padding:12px 18px;border-radius:11px;min-height:46px;}
.tab.on{color:#fff;}
.tab .pill{position:absolute;inset:0;background:var(--blue);border-radius:11px;z-index:0;}
.tab .lab{position:relative;z-index:1;}
.tab-panel{background:var(--blue-50);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(28px,4vw,52px);display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center;min-height:320px;}
.tab-panel h3{font-size:clamp(24px,3vw,38px);font-weight:800;margin-bottom:14px;}
.tab-panel p{color:var(--ink-600);font-size:16px;text-transform:none;}
.tab-points{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:10px;}
.tab-points li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;text-transform:none;}
.tab-points .ck{width:21px;height:21px;flex:none;border-radius:50%;background:var(--green-50);color:var(--green);display:grid;place-items:center;margin-top:2px;}
.tab-points .ck svg{width:12px;height:12px;}

/* marquee */
.mq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.mq-tk{display:flex;width:max-content;}
.mq-tile{display:inline-flex;align-items:center;padding:0 40px;font-family:var(--head);font-weight:700;font-size:22px;color:var(--ink-400);white-space:nowrap;text-transform:none;}
.t-card{width:380px;flex:none;margin:0 11px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;box-shadow:var(--sh-sm);text-transform:none;}
.t-card .qm{font-family:var(--head);font-weight:800;font-size:44px;color:var(--blue-100);line-height:.6;}
.t-card blockquote{margin:8px 0 18px;font-size:16px;color:var(--ink);line-height:1.5;}
.t-card .who{font-family:var(--head);font-weight:700;font-size:14.5px;}
.t-card .role{color:var(--ink-400);font-size:13px;}

/* divider */
.divider{position:relative;height:120px;overflow:hidden;}
.divider svg{width:100%;height:100%;}

/* cta band */
.cta{position:relative;overflow:hidden;border-radius:var(--r-xl);background:linear-gradient(140deg,var(--blue),var(--navy));color:#fff;padding:clamp(36px,5vw,64px);}
.cta .cta-vis{position:absolute;inset:0;z-index:0;opacity:.5;}
.cta-inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;}
.cta h2{font-size:clamp(26px,3.6vw,42px);font-weight:800;max-width:18ch;}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap;}

/* ── Animated FinShark logo (footer + loader) ── */
.fs-logo{display:inline-flex;align-items:center;gap:14px;}
.fs-logo__mark{height:56px;width:auto;display:block;overflow:visible;}
.fs-logo__word{font-family:var(--head);font-weight:800;font-size:28px;letter-spacing:.02em;color:#fff;white-space:nowrap;}
.fs-wave{fill:#ffffff;}
.fs-fin{fill:#ffffff;}
.fs-bar{fill:#45c51a;}
.fs-bar,.fs-fin{transform-box:fill-box;}
.fs-bar{transform-origin:50% 100%;}
.fs-fin{transform-origin:50% 100%;}

/* ── Phase 1: entry (one-shot CSS transitions) ── */
.fs-wave{opacity:0;transform:translateX(-22px);
  transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);}
.fs-wave2{transition-delay:.12s;}
.fs-bar{transform:scaleY(0);transition:transform .7s cubic-bezier(.34,1.56,.64,1);}
.fs-bar1{transition-delay:.45s;}
.fs-bar2{transition-delay:.58s;}
.fs-bar3{transition-delay:.71s;}
.fs-fin{opacity:0;transform:translateY(-40px) scale(.5);
  transition:opacity .85s cubic-bezier(.34,1.56,.64,1),transform .85s cubic-bezier(.34,1.56,.64,1);
  transition-delay:.95s;}
/* wordmark: one-shot only, no idle loop */
.fs-logo__word{opacity:0;transform:translateX(-10px);
  transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1);
  transition-delay:1.25s;}
.fs-logo.is-in .fs-wave{opacity:1;transform:translateX(0);}
.fs-logo.is-in .fs-bar{transform:scaleY(1);}
.fs-logo.is-in .fs-fin{opacity:1;transform:translateY(0) scale(1);}
.fs-logo.is-in .fs-logo__word{opacity:1;transform:translateX(0);}

/* ── Phase 2: continuous idle loop (bars + waves + fin, wordmark stays put) ── */
@keyframes bar-beat{0%,100%{transform:scaleY(1)}38%{transform:scaleY(.5)}65%{transform:scaleY(.78)}}
@keyframes wave-drift{0%,100%{transform:translateX(0)}50%{transform:translateX(10px)}}
@keyframes fin-bob{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.05)}}
/* Kill entry transitions so keyframes can take over cleanly */
.fs-logo.is-idle .fs-bar,.fs-logo.is-idle .fs-wave,.fs-logo.is-idle .fs-fin{transition:none;}
.fs-logo.is-idle .fs-bar1{animation:bar-beat 2.2s ease-in-out infinite;}
.fs-logo.is-idle .fs-bar2{animation:bar-beat 2.2s ease-in-out infinite .28s;}
.fs-logo.is-idle .fs-bar3{animation:bar-beat 2.2s ease-in-out infinite .56s;}
.fs-logo.is-idle .fs-wave{animation:wave-drift 3.6s ease-in-out infinite;}
.fs-logo.is-idle .fs-wave2{animation:wave-drift 3.6s ease-in-out infinite .7s;}
.fs-logo.is-idle .fs-fin{animation:fin-bob 2.8s ease-in-out infinite .4s;}

@media(prefers-reduced-motion:reduce){
  .fs-wave,.fs-bar,.fs-fin,.fs-logo__word{transition:none !important;}
  .fs-bar1,.fs-bar2,.fs-bar3,.fs-wave,.fs-wave2,.fs-fin{animation:none !important;}
}

/* footer */
.ft{background:var(--navy);color:rgba(255,255,255,.7);padding:72px 0 36px;}
.ft-intro{display:flex;align-items:center;gap:30px;max-width:940px;margin:0 auto;}
.ft-logo{flex:none;}
.ft-logo img{height:36px;display:block;}
.ft-intro p{font-size:14px;line-height:1.7;color:rgba(255,255,255,.62);margin:0;text-transform:none;}
.ft-rule{border-top:1px dotted rgba(255,255,255,.22);margin:36px 0;}
.ft-offices{display:flex;flex-wrap:wrap;gap:22px 44px;font-size:13px;line-height:1.65;color:rgba(255,255,255,.62);text-transform:none;}
.ft-offices>div{max-width:300px;}
.ft-offices strong{color:#fff;font-weight:600;font-family:var(--head);}
.ft-offices a{color:rgba(255,255,255,.82);}
.ft-offices a:hover{color:#fff;}
.ft-grid{display:flex;flex-wrap:wrap;justify-content:space-between;gap:30px 24px;}
.ft-col{min-width:130px;}
.ft-col h4{color:#fff;font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;font-weight:600;font-family:var(--head);}
.ft-col a{display:block;font-size:14px;padding:5px 0;color:rgba(255,255,255,.62);transition:color .2s;}
.ft-col a:hover{color:#fff;}
.ft-social{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;}
.ft-social a{width:46px;height:46px;border-radius:14px;border:1px dotted rgba(255,255,255,.32);display:grid;place-items:center;color:rgba(255,255,255,.8);transition:transform .25s var(--ease),color .25s,border-color .25s,background .25s;}
.ft-social a:hover{transform:translateY(-4px);color:#fff;border-color:var(--amber);background:rgba(255,255,255,.06);}
.ft-social svg{width:20px;height:20px;}
.ft-credit{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;justify-content:center;text-align:center;margin-top:30px;font-size:13px;color:rgba(255,255,255,.55);text-transform:none;}
.ft-credit .legal{display:inline-flex;gap:16px;}
.ft-credit .legal a:hover{color:#fff;}

/* ── DynOrbit rings + typewriter ── */
/* Simple rotation only — centering is on the wrapper div, not the SVG */
@keyframes dynSpin{to{transform:rotate(360deg)}}
@keyframes dynSpinRev{to{transform:rotate(-360deg)}}
.type-cur{opacity:.7;animation:typeblink 1s step-end infinite;font-weight:300}
@keyframes typeblink{50%{opacity:0}}

/* Orbit wrapper */
.dyn-orbit-wrap{position:relative;display:flex;align-items:center;justify-content:center;margin:0 auto 56px;width:100%;height:600px;max-width:800px;}

/* Ring WRAPPER — handles centering, never animated */
.dyn-rw{position:absolute;top:50%;left:50%;}
.dyn-rw-a{width:620px;height:620px;margin-left:-310px;margin-top:-310px;}
.dyn-rw-b{width:490px;height:490px;margin-left:-245px;margin-top:-245px;}
.dyn-rw-c{width:370px;height:370px;margin-left:-185px;margin-top:-185px;}

/* Ring SVG — handles rotation only, fills wrapper */
.dyn-rsv{width:100%;height:100%;display:block;}
.dyn-rsv-a{animation:dynSpin 44s linear infinite;}
.dyn-rsv-b{animation:dynSpin 28s linear infinite;}
.dyn-rsv-c{animation:dynSpinRev 18s linear infinite;}

/* Tile grid */
.dyn-orbit-grid{position:relative;z-index:2;display:grid;grid-template-columns:152px 152px 152px;grid-template-rows:152px 152px;gap:16px;}

/* Fixed label */
.dyn-tile-label{position:absolute;top:14px;left:0;right:0;text-align:center;font-family:var(--body);font-weight:600;font-size:11px;opacity:.65;letter-spacing:.1em;text-transform:uppercase;}

/* Cycling word zone */
.dyn-tile-word{position:absolute;top:36px;left:6px;right:6px;bottom:8px;display:flex;align-items:center;justify-content:center;font-size:15px;overflow:hidden;}

/* ── Tablet ── */
@media(max-width:900px){
  .dyn-orbit-wrap{height:480px;max-width:660px;}
  .dyn-rw-a{width:500px;height:500px;margin-left:-250px;margin-top:-250px;}
  .dyn-rw-b{width:390px;height:390px;margin-left:-195px;margin-top:-195px;}
  .dyn-rw-c{width:290px;height:290px;margin-left:-145px;margin-top:-145px;}
  .dyn-orbit-grid{grid-template-columns:120px 120px 120px;grid-template-rows:120px 120px;gap:12px;}
  .dyn-tile-word{font-size:13px;}
}

/* ── Mobile ── */
@media(max-width:560px){
  .dyn-orbit-wrap{height:320px;max-width:100%;margin-bottom:36px;}
  .dyn-rw-a{width:310px;height:310px;margin-left:-155px;margin-top:-155px;}
  .dyn-rw-b{width:238px;height:238px;margin-left:-119px;margin-top:-119px;}
  .dyn-rw-c{width:176px;height:176px;margin-left:-88px;margin-top:-88px;}
  .dyn-orbit-grid{grid-template-columns:82px 82px 82px;grid-template-rows:82px 82px;gap:8px;}
  .dyn-tile-label{font-size:8px;top:10px;}
  .dyn-tile-word{font-size:11px;top:26px;}
}

/* loader */
.loader{position:fixed;inset:0;z-index:200;background:var(--navy);display:grid;place-items:center;}
.loader-core{display:flex;flex-direction:column;align-items:center;gap:22px;}
.loader-bar{width:200px;height:4px;border-radius:99px;background:rgba(255,255,255,.16);overflow:hidden;}
.loader-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--blue-300),var(--green));}
.loader-word{font-family:var(--head);font-weight:600;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.55);}

/* placeholder note */
.ph-note{font-family:var(--mono);font-size:11px;color:var(--amber-600);background:var(--amber-50);padding:2px 8px;border-radius:6px;text-transform:none;}

/* leadership grid — base definitions must come BEFORE media queries */
.ldr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;max-width:1200px;margin:0 auto;}
.ldr-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;height:100%;cursor:pointer;transition:box-shadow .22s,transform .22s;}
.ldr-card:hover{box-shadow:var(--sh-md);transform:translateY(-3px);}
.ldr-photo{width:100%;aspect-ratio:1;overflow:hidden;background:var(--blue-50);flex:none;}
.ldr-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.ldr-text{padding:24px;display:flex;flex-direction:column;gap:8px;flex:1;}
.ldr-name{font-size:18px;font-weight:700;font-family:var(--head);color:var(--ink);}
.ldr-role{font-size:13px;font-weight:600;color:var(--blue);}
.ldr-bio{font-size:14px;line-height:1.65;color:var(--ink-600);margin:8px 0 0;text-transform:none;}
/* modal */
.ldr-modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:500;display:flex;align-items:flex-end;justify-content:center;}
.ldr-modal{background:#fff;border-radius:22px 22px 0 0;padding:40px 28px 48px;max-height:88vh;overflow-y:auto;width:100%;max-width:520px;position:relative;text-align:center;}
.ldr-modal-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line);background:var(--surface);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink-400);}
.ldr-modal-close:hover{background:var(--line);}
.ldr-modal-photo{width:120px;height:120px;border-radius:50%;overflow:hidden;margin:0 auto 20px;border:3px solid var(--blue-100);}
.ldr-modal-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.ldr-modal-name{font-size:22px;font-weight:700;font-family:var(--head);color:var(--ink);margin-bottom:4px;}
.ldr-modal-role{font-size:13px;font-weight:600;color:var(--blue);margin-bottom:20px;}
.ldr-modal-bio{font-size:15px;line-height:1.72;color:var(--ink-600);text-align:left;text-transform:none;}

@media(max-width:1024px){
  .stats{grid-template-columns:repeat(2,1fr);}
  .cardgrid.c3{grid-template-columns:1fr 1fr;}
  .cardgrid.c4{grid-template-columns:repeat(2,1fr);}
  .ldr-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:860px){
  .hd-nav,.hd-cta{display:none;}
  .burger{display:flex;}
  .cardgrid.c3,.cardgrid.c2{grid-template-columns:1fr;}
  .tab-panel{grid-template-columns:1fr;}
  .ft-intro{flex-direction:column;text-align:center;}
  .mega-2{grid-template-columns:1fr;}
  .ldr-grid{grid-template-columns:1fr;gap:4px;max-width:400px;}
  .ldr-card{flex-direction:column;align-items:center;text-align:center;padding:28px 20px;overflow:visible;border:none;background:transparent;border-radius:0;box-shadow:none;height:auto;}
  .ldr-card:hover{transform:none;box-shadow:none;}
  .ldr-photo{width:210px;height:210px;border-radius:50%;border:3px solid var(--blue-100);aspect-ratio:auto;}
  .ldr-text{padding:14px 0 0;gap:4px;align-items:center;}
  .ldr-bio{display:none;}
  .ldr-name{font-size:19px;}
  .ldr-role{font-size:13px;}
}
@media(max-width:560px){ .stats{grid-template-columns:1fr;} .cardgrid.c4{grid-template-columns:1fr;} .bk-cols{grid-template-columns:1fr;} .mq-tile{padding:0 20px;} }
@media(prefers-reduced-motion:reduce){ *{animation-duration:.001ms!important;} }

/* ---- wave 2: accordion, leaders, sectors, contact, reasons ---- */
.acc{display:grid;gap:12px;max-width:860px;margin-inline:auto;}
.acc-item{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:border-color .3s var(--ease),box-shadow .3s;}
.acc-item.open{border-color:var(--blue-100);box-shadow:var(--sh-sm);}
.acc-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:19px 22px;display:flex;align-items:center;gap:14px;}
.acc-item.open .acc-q{background:var(--blue-50);}
.acc-q .qico{width:22px;height:22px;flex:none;color:var(--ink-400);}
.acc-item.open .acc-q .qico{color:var(--blue);}
.acc-q .q{flex:1;font-family:var(--head);font-weight:600;font-size:17px;color:var(--ink);}
.acc-code{font-family:var(--head);font-weight:700;font-size:12px;letter-spacing:.12em;color:var(--ink-400);opacity:.55;}
.acc-item.open .acc-code{color:var(--blue);opacity:1;}
.acc-a-inner{position:relative;padding:18px 22px 20px 24px;font-size:15.5px;color:var(--ink-600);line-height:1.65;border-top:1px solid var(--line);text-transform:none;}
.acc-a-inner::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--blue),var(--green));}

.leaders{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:960px;margin:0 auto;}
.leader{display:flex;gap:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;box-shadow:var(--sh-sm);}
.leader .photo{width:120px;height:140px;flex:none;border-radius:14px;overflow:hidden;border:1px solid var(--line);}
.leader .nm{font-family:var(--head);font-weight:800;font-size:21px;}
.leader .ro{color:var(--blue);font-family:var(--head);font-weight:600;font-size:13.5px;margin-top:2px;}
.leader p{color:var(--ink-600);font-size:14px;margin-top:12px;text-transform:none;}

.sectors{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
/* Reveal wrappers must fill the grid cell so .sector height:100% works */
.sectors>*{height:100%;}
.sector{min-height:240px;height:100%;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px 22px;box-shadow:var(--sh-sm);transition:transform .25s var(--ease),box-shadow .25s;}
/* Orphan centering — sectors (4-col) */
.sectors>*:last-child:nth-child(4n+1){grid-column:1/-1;max-width:calc((100% - 54px)/4);margin-left:auto;margin-right:auto;}
.sectors>*:last-child:nth-child(4n+2){grid-column:1/-1;max-width:calc(2*(100% - 54px)/4 + 18px);margin-left:auto;margin-right:auto;}
.sector:hover{transform:translateY(-4px);box-shadow:var(--sh-md);}
.sector .sico{width:46px;height:46px;border-radius:12px;background:var(--blue-50);color:var(--blue);display:grid;place-items:center;margin-bottom:14px;}
.sector h4{font-family:var(--head);font-weight:700;font-size:16px;}
.sector p{color:var(--ink-600);font-size:13px;margin-top:6px;text-transform:none;}

.reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.reasons>*{height:100%;}
.reason{position:relative;min-height:220px;height:100%;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 26px;box-shadow:var(--sh-sm);}
/* Orphan centering — reasons (3-col) */
.reasons>*:last-child:nth-child(3n+1){grid-column:1/-1;max-width:calc((100% - 44px)/3);margin-left:auto;margin-right:auto;}
.reasons>*:nth-last-child(2):nth-child(3n+1){grid-column:1/-1;max-width:calc((100% - 44px)/3);margin-left:auto;margin-right:0;}
.reasons>*:last-child:nth-child(3n+2){max-width:calc((100% - 44px)/3);margin-right:auto;}
.reason .rn{font-family:var(--head);font-weight:800;font-size:40px;color:var(--blue-100);line-height:1;}
.reason h3{font-family:var(--head);font-weight:700;font-size:19px;margin-top:6px;}
.reason p{color:var(--ink-600);font-size:14.5px;margin-top:8px;text-transform:none;}

.cc-card{position:relative;display:grid;grid-template-columns:1.35fr 1fr;max-width:1080px;margin-inline:auto;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--sh-sm);overflow:hidden;}
.cc-main{padding:clamp(28px,3.4vw,46px);}
.cc-title{font-size:clamp(28px,3.4vw,42px);font-weight:800;margin:12px 0 14px;}
.cc-lede{font-size:16px;color:var(--ink-600);line-height:1.6;max-width:46ch;text-transform:none;}
.cc-info{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px;margin:30px 0;}
.cc-i{display:flex;gap:12px;align-items:flex-start;}
.cc-i .ic{width:40px;height:40px;flex:none;border-radius:11px;background:var(--blue-50);color:var(--blue);display:grid;place-items:center;}
.cc-i .k{font-family:var(--head);font-weight:700;font-size:14px;}
.cc-i .v{font-size:13.5px;color:var(--ink-600);line-height:1.5;text-transform:none;}
.cc-i .v a{color:var(--blue);}
.cc-form{background:var(--blue-50);border-left:1px solid var(--line);padding:clamp(24px,3vw,38px);display:flex;flex-direction:column;justify-content:center;}
.cc-form h3{font-size:20px;margin-bottom:16px;}
.cc-field{display:flex;flex-direction:column;gap:6px;margin-bottom:13px;}
.cc-field label{font-family:var(--head);font-weight:600;font-size:13px;}
.cc-field input,.cc-field select,.cc-field textarea{font-family:var(--body);font-size:14.5px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);width:100%;}
.cc-field input:focus,.cc-field select:focus,.cc-field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-50);}
.cc-field.bad input,.cc-field.bad textarea{border-color:#d64545;}
@media(max-width:1024px){.sectors{grid-template-columns:repeat(2,1fr);}.reasons{grid-template-columns:1fr;}}
@media(max-width:820px){.leaders{grid-template-columns:1fr;}.cc-card{grid-template-columns:1fr;}.cc-form{border-left:none;border-top:1px solid var(--line);}}
@media(max-width:560px){.sectors{grid-template-columns:1fr;}.cc-info{grid-template-columns:1fr;}.leader{flex-direction:column;}}

/* ---- wave 4: booking modal, quote wizard, quiz ---- */
.bk-scrim{position:fixed;inset:0;z-index:300;background:rgba(10,33,80,.55);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding:4vh 16px 16px;overflow-y:auto;}
.bk-modal{position:relative;width:min(820px,100%);background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--sh-lg);margin:auto;}
.bk-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink-600);cursor:pointer;display:grid;place-items:center;z-index:2;}
.bk-close svg{width:18px;height:18px;}
.bk-body{padding:30px clamp(20px,3vw,34px);}
.bk-intro{text-align:center;max-width:32ch;margin:0 auto 22px;}
.bk-ico{width:46px;height:46px;border-radius:13px;background:var(--blue-50);color:var(--blue);display:grid;place-items:center;margin:0 auto 12px;}
.bk-ico svg{width:24px;height:24px;}
.bk-intro h3{font-size:25px;}
.bk-intro p{font-size:14px;color:var(--ink-600);margin-top:8px;text-transform:none;}
.bk-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.bk-cal{border:1px solid var(--line);border-radius:14px;padding:16px;background:var(--bg);align-self:start;}
.bk-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.bk-cal-title{font-family:var(--head);font-weight:700;font-size:15px;}
.bk-nav{width:32px;height:32px;border-radius:9px;border:1px solid var(--line);background:var(--surface);cursor:pointer;display:grid;place-items:center;}
.bk-nav:disabled{opacity:.35;cursor:not-allowed;}
.bk-nav svg{width:16px;height:16px;}
.bk-dow{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-family:var(--head);font-weight:600;font-size:11px;color:var(--ink-400);margin-bottom:4px;}
.bk-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;}
.bk-day{aspect-ratio:1;border:none;background:none;border-radius:9px;font-size:13.5px;color:var(--ink);cursor:pointer;}
.bk-day.empty{visibility:hidden;}
.bk-day:hover:not(.dis):not(.sel){background:var(--blue-50);color:var(--blue);}
.bk-day.sel{background:var(--blue);color:#fff;font-weight:700;}
.bk-day.dis{color:var(--ink-300);cursor:not-allowed;opacity:.5;}
.bk-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:6px;}
.bk-slot{font-family:var(--head);font-weight:600;font-size:13px;padding:9px 6px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink-600);cursor:pointer;}
.bk-slot.on{background:var(--blue);border-color:var(--blue);color:#fff;}
.bk-foot{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:20px;padding-top:18px;border-top:1px solid var(--line);}
.bk-success{padding:46px 24px;text-align:center;}
.bk-check{width:62px;height:62px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;margin:0 auto 16px;}
.bk-check svg{width:30px;height:30px;}

/* wizard */
.wz{max-width:760px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-md);padding:clamp(26px,4vw,46px);}
.wz-prog{display:flex;gap:8px;margin-bottom:8px;}
.wz-prog .seg{flex:1;height:5px;border-radius:99px;background:var(--line);overflow:hidden;}
.wz-prog .seg i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--green));border-radius:99px;}
.wz-step-label{font-family:var(--head);font-weight:600;font-size:13px;color:var(--ink-400);margin-bottom:26px;}
.wz h3{font-size:clamp(22px,3vw,32px);font-weight:800;margin-bottom:20px;}
.wz-opts{display:grid;gap:10px;}
.wz-opts.two{grid-template-columns:1fr 1fr;}
.wz-opt{display:flex;align-items:center;gap:12px;padding:15px 18px;border:1.5px solid var(--line);border-radius:13px;background:var(--surface);cursor:pointer;font-family:var(--head);font-weight:600;font-size:15px;color:var(--ink);transition:.18s var(--ease);text-align:left;}
.wz-opt:hover{border-color:var(--blue-300);}
.wz-opt.on{border-color:var(--blue);background:var(--blue-50);color:var(--blue);}
.wz-opt .box{width:22px;height:22px;flex:none;border-radius:7px;border:1.5px solid var(--line);display:grid;place-items:center;color:#fff;}
.wz-opt.on .box{background:var(--blue);border-color:var(--blue);}
.wz-opt .box svg{width:13px;height:13px;}
.wz-field{display:flex;flex-direction:column;gap:6px;margin-bottom:13px;}
.wz-field label{font-family:var(--head);font-weight:600;font-size:13px;}
.wz-field input{font-family:var(--body);font-size:15px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;}
.wz-field input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-50);}
.wz-nav{display:flex;justify-content:space-between;gap:12px;margin-top:28px;}

/* tools / calculators */
.tool{max-width:760px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-md);padding:clamp(24px,4vw,40px);}
.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;}
.tool-field{display:flex;flex-direction:column;gap:6px;}
.tool-field label{font-family:var(--head);font-weight:600;font-size:13px;color:var(--ink-600);}
.tool-field input,.tool-field select{font-family:var(--body);font-size:15px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);width:100%;}
.tool-field input:focus,.tool-field select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-50);}
.tool-check{display:flex;gap:9px;flex-wrap:wrap;}
.tool-toggle{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border:1.5px solid var(--line);border-radius:11px;background:var(--surface);cursor:pointer;font-family:var(--head);font-weight:600;font-size:13.5px;color:var(--ink);transition:.18s var(--ease);}
.tool-toggle.on{border-color:var(--blue);background:var(--blue-50);color:var(--blue);}
.tool-toggle svg{width:13px;height:13px;}
.tool-res{margin-top:22px;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;}
.tool-res .row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line);font-size:15px;color:var(--ink-600);text-transform:none;}
.tool-res .row:last-child{border-bottom:none;}
.tool-res .row.win{background:var(--green-50);color:var(--ink);}
.tool-res .big{font-family:var(--head);font-weight:800;font-size:19px;color:var(--blue);letter-spacing:-.02em;}
.tool-note{font-size:12.5px;color:var(--ink-400);margin-top:14px;line-height:1.6;text-transform:none;}
@media(max-width:560px){.tool-grid{grid-template-columns:1fr;}}

/* sip + gst + income-tax two-column calc layouts */
.sip-layout{display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:start;}
.gst-layout{display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:start;}
.tax-layout{display:grid;grid-template-columns:1fr 300px;gap:28px;align-items:start;}
.tax-2col{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;}
@media(max-width:900px){.sip-layout,.gst-layout,.tax-layout{grid-template-columns:1fr;}}
@media(max-width:560px){.tax-2col{grid-template-columns:1fr;}}

/* quiz */
.qz{max-width:680px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-md);padding:clamp(28px,4vw,48px);text-align:center;}
.qz-bar{height:6px;border-radius:99px;background:var(--line);overflow:hidden;margin-bottom:28px;}
.qz-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--green));border-radius:99px;}
.qz-q{font-size:clamp(22px,3vw,30px);font-weight:800;margin-bottom:24px;}
.qz-opts{display:grid;gap:10px;text-align:left;}
.qz-opt{padding:15px 18px;border:1.5px solid var(--line);border-radius:13px;background:var(--surface);cursor:pointer;font-family:var(--head);font-weight:600;font-size:15px;transition:.18s var(--ease);}
.qz-opt:hover{border-color:var(--blue-300);}
.qz-opt.on{border-color:var(--blue);background:var(--blue-50);color:var(--blue);}
.qz-ring{width:150px;height:150px;margin:0 auto 22px;position:relative;}
.qz-ring .pct{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--head);font-weight:800;font-size:40px;letter-spacing:-.03em;color:var(--blue);}
