/* Nabhaya design layer (v3). Loaded after styles.css and any page CSS, on every page.
   Brand palette from the logo animation: deep navy, cream and mint, with the product's teal for action on light.
   Type: General Sans (Indian Type Foundry, via Fontshare) for headings at moderate weights, Inter for text.
   Dark bookends (home hero, waiting-room band, closing band, footer) and light, warm content in between. */

@font-face{font-family:"General Sans";src:url(/assets/fonts/general-sans-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"General Sans";src:url(/assets/fonts/general-sans-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"General Sans";src:url(/assets/fonts/general-sans-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"General Sans";src:url(/assets/fonts/general-sans-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-latin.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-latin-ext.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap;
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --navy-950:#1B1F33; --navy-900:#24283F; --navy-800:#2F344D; --navy-700:#3D4160; --navy-600:#4C5175;
  --cream:#FCF3E5; --sand:#FBF6EE; --mint:#29D2BD; --mint-soft:#D7F6F1; --teal:#0F766E; --teal-700:#0B5E58;
  --led:#FFC163;
  --text:#4A4F68; --text-2:#6D7290; --hair:#E8E6E1;
  --f-display:"General Sans","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --f-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --ink:var(--navy-900);--ink-2:var(--text);--ink-3:var(--text-2);--line:var(--hair);--line-2:#F0EEE9;
  --accent:var(--teal);--accent-600:var(--teal-700);--accent-soft:#E3F3F0;--bg:#FFFFFF;--surface-2:var(--sand);
  --pop-bg:var(--navy-800);--pop-solid:var(--navy-800);
  --shadow-sm:none;--shadow:0 1px 2px rgba(36,40,63,.04);
  --shadow-lg:0 40px 90px -40px rgba(27,31,51,.45),0 2px 8px rgba(27,31,51,.06);
  --r:20px;
  --sec:clamp(96px,10vw,152px);
  --ease:cubic-bezier(.16,1,.3,1);
}

/* ---------- Type ---------- */
body{background:#fff;color:var(--text);font-family:var(--f-body);font-size:16.5px;line-height:1.65;text-rendering:optimizeLegibility}
h1,h2,h3,h4,summary,.f2-h{font-family:var(--f-display)}
h1,h2,h3{color:var(--navy-900);letter-spacing:-.02em;font-stretch:normal}
h1{font-size:clamp(42px,5.4vw,76px);line-height:1.02;font-weight:600;letter-spacing:-.032em}
h2,.head h2{font-size:clamp(32px,3.5vw,52px);line-height:1.06;font-weight:600;letter-spacing:-.03em}
h3{font-size:clamp(18px,1.35vw,21px);line-height:1.3;font-weight:600;letter-spacing:-.01em}
h1 em,h2 em{color:inherit!important;font-style:normal;background:none!important;-webkit-text-fill-color:currentColor}
.lede{font-size:clamp(17.5px,1.2vw,19.5px);line-height:1.62;color:var(--text);max-width:56ch}
.head{margin-bottom:clamp(40px,4.4vw,64px);gap:20px 64px}
.head p{color:var(--text);font-size:17.5px;max-width:46ch}
.muted{color:var(--text-2)}
.eyebrow{font-family:var(--f-body);text-transform:none;letter-spacing:0;font-size:14.5px;font-weight:600;color:var(--teal)}
summary{font-weight:500;font-size:18.5px;color:var(--navy-900);letter-spacing:-.01em}
details{border-color:var(--hair);padding-block:22px}

/* ---------- Rhythm and bands ---------- */
.wrap{max-width:1240px;padding-inline:clamp(20px,4vw,40px)}
.wrap.wide{max-width:1240px}
.section{padding-block:var(--sec)}
.section.tight{padding-block:clamp(64px,7vw,104px)}
.tint,.section.cream,section.cream,.cream{background:var(--sand)!important}
.hero-ecg,.cta-ecg,.hero-mark,.hero .float,.ab-pulse{display:none!important}
.rv{opacity:1!important;transform:none!important;transition:none!important}

/* ---------- Header ---------- */
.nav{background:rgba(255,255,255,.82);border-bottom:1px solid rgba(36,40,63,.06);transition:background .35s,border-color .35s}
.nav-in{height:76px}
.menu > a,.dd-btn{font-family:var(--f-body);font-weight:500;font-size:15px;color:var(--navy-900)}
.menu > a:hover,.dd-btn:hover{background:var(--sand)}
.dd-panel{border-radius:20px;border:1px solid var(--hair);box-shadow:0 30px 70px -30px rgba(27,31,51,.3)}
/* over the dark home hero */
.dark-top .h3{margin-top:-76px}
.dark-top:not(.nav-solid) .nav{background:transparent;border-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.dark-top.nav-moved:not(.nav-solid) .nav{background:rgba(36,40,63,.72);border-color:rgba(252,243,229,.08);-webkit-backdrop-filter:saturate(1.3) blur(14px);backdrop-filter:saturate(1.3) blur(14px)}
.dark-top:not(.nav-solid) .menu > a,.dark-top:not(.nav-solid) .dd-btn{color:var(--cream)}
.dark-top:not(.nav-solid) .menu > a:hover,.dark-top:not(.nav-solid) .dd-btn:hover,.dark-top:not(.nav-solid) .dd.open .dd-btn{background:rgba(252,243,229,.12);color:var(--cream)}
.dark-top:not(.nav-solid) .menu > a:focus-visible,.dark-top:not(.nav-solid) .dd-btn:focus-visible{outline-color:var(--mint)}
.dark-top:not(.nav-solid) .nav-cta{background:var(--mint);color:var(--navy-950)}
.dark-top:not(.nav-solid) .burger{color:var(--cream);border-color:rgba(252,243,229,.3);background:transparent}

/* ---------- Buttons ---------- */
.btn{border-radius:12px;font-family:var(--f-body);font-weight:600;font-size:15.5px;padding:15px 22px;letter-spacing:-.005em;box-shadow:none}
.btn .arrow{display:none}
.btn-sm{padding:11px 16px;font-size:14.5px}
.btn-accent{background:var(--teal);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.16) inset,0 10px 24px -12px rgba(15,118,110,.8)}
.btn-accent:hover{background:var(--teal-700);transform:translateY(-1px)}
.btn-line{background:#fff;border:1px solid #DCD9D2;color:var(--navy-900)}
.btn-line:hover{border-color:var(--navy-900)}
.btn-mint{background:var(--mint);color:var(--navy-950);box-shadow:0 0 0 1px rgba(255,255,255,.15) inset,0 14px 34px -14px rgba(41,210,189,.75)}
.btn-mint:hover{background:#4ADCCB;transform:translateY(-1px)}
.btn-ghost{background:rgba(252,243,229,.06);border:1px solid rgba(252,243,229,.26);color:var(--cream)}
.btn-ghost:hover{background:rgba(252,243,229,.12);border-color:var(--cream)}

/* ---------- Surfaces ---------- */
.card,.tile,.quote,.plan,.mod,.fitem,.trust,.compare,.nscalc,.post-card{box-shadow:none;border-color:var(--hair);border-radius:var(--r)}
.card:hover,.tile:hover,.post-card:hover{transform:none;box-shadow:0 20px 40px -28px rgba(27,31,51,.3);border-color:#D9D5CC}
.mock{border-color:var(--hair);box-shadow:var(--shadow-lg)}
.mock-cap{font-size:13px;color:var(--text-2)}
.ref-band{background:#fff;border:1px solid var(--hair);box-shadow:none}
.ref-band .ref-ic{background:var(--sand);color:var(--teal)}

/* ---------- Closing band ---------- */
.cta{background:var(--navy-800);background-image:radial-gradient(70% 120% at 100% 0%,rgba(41,210,189,.16),transparent 60%);border-radius:28px;padding:clamp(40px,6vw,80px);box-shadow:none}
.cta h2{color:var(--cream);font-size:clamp(32px,3.6vw,52px)}
.cta p{color:#C5C8DA}
.cta .btn-accent{background:var(--mint);color:var(--navy-950);box-shadow:none}
.cta .btn-accent:hover{background:#4ADCCB}
.cta .btn-line{background:transparent;border-color:rgba(252,243,229,.28);color:var(--cream)}
.cta .btn-line:hover{border-color:var(--cream)}

/* =====================================================================
   Scroll reveal (motion.js adds html.mo; nothing is hidden without it)
   ===================================================================== */
.mo .sr{opacity:0;transform:translate3d(0,28px,0);filter:blur(6px);transition:opacity .9s var(--ease),transform 1s var(--ease),filter .9s var(--ease)}
.mo .sr.sr-in{opacity:1;transform:none;filter:none}
.mo .sr-words .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.mo .sr-words .wi{display:inline-block;transform:translate3d(0,105%,0);transition:transform 1s var(--ease)}
.mo .sr-words.sr-in .wi{transform:none}
[data-lit-scroll] span{color:rgba(36,40,63,.16);transition:color .35s ease}
[data-lit-scroll] span.on{color:var(--navy-900)}

/* =====================================================================
   Home hero (dark navy)
   ===================================================================== */
.h3{position:relative;isolation:isolate;overflow:hidden;background:var(--navy-800);color:#C9CCDD;padding-top:calc(76px + clamp(56px,8vw,120px))}
.h3-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(90% 70% at 50% 0%,#40456A 0%,var(--navy-800) 55%,var(--navy-900) 100%)}
.h3-glow{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55}
.h3-glow.g1{width:52vw;height:52vw;left:-18vw;top:30%;background:radial-gradient(circle,rgba(41,210,189,.38),transparent 65%)}
.h3-glow.g2{width:46vw;height:46vw;right:-14vw;top:8%;background:radial-gradient(circle,rgba(252,243,229,.16),transparent 65%)}
.h3-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(252,243,229,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(252,243,229,.05) 1px,transparent 1px);background-size:72px 72px;
  -webkit-mask:radial-gradient(70% 55% at 50% 30%,#000 10%,transparent 75%);mask:radial-gradient(70% 55% at 50% 30%,#000 10%,transparent 75%)}
.h3-copy{text-align:center;display:flex;flex-direction:column;align-items:center}
.h3-kicker{display:inline-flex;align-items:center;gap:10px;margin:0;padding:7px 14px 7px 10px;border-radius:999px;background:rgba(252,243,229,.06);border:1px solid rgba(252,243,229,.14);color:#E7E3F0;font-size:14px;font-weight:500}
.h3-dot{width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 4px rgba(41,210,189,.18)}
.h3 h1{margin-top:26px;color:var(--cream);font-size:clamp(42px,5.6vw,84px);line-height:1;letter-spacing:-.04em;font-weight:600;max-width:none}
@media (max-width:760px){.h3-br{display:none}}
.h3-lede{margin-top:26px;max-width:62ch;font-size:clamp(17.5px,1.3vw,20px);line-height:1.6;color:#CDD0E1}
.h3-price{margin-top:10px;font-size:15.5px;color:#9FA4C0}
.h3-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:34px}
.h3-actions .btn{padding:17px 26px;font-size:16px}
.h3-assure{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 24px;font-size:14px;color:#A9AECB}
.h3-assure li{display:inline-flex;align-items:center;gap:8px}
.h3-assure li::before{content:"";width:15px;height:15px;background:var(--mint);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat}
.h3-stage{position:relative;margin-top:clamp(56px,7vw,96px);padding-bottom:clamp(64px,7vw,104px);--p:0;perspective:1600px}
.h3-stage::after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:100vw;bottom:0;height:40%;background:linear-gradient(180deg,transparent,#fff 92%);z-index:-1}
.h3-window{position:relative;max-width:1120px;margin-inline:auto;border-radius:22px;padding:10px;background:linear-gradient(180deg,rgba(252,243,229,.16),rgba(252,243,229,.04));
  box-shadow:0 0 0 1px rgba(252,243,229,.14),0 60px 120px -50px rgba(0,0,0,.6),0 30px 60px -40px rgba(41,210,189,.35);
  transform-origin:50% 0;transform:rotateX(calc((1 - var(--p)) * 14deg)) scale(calc(.9 + var(--p) * .1));will-change:transform}
.h3-window .tour{border-radius:14px;border:0;box-shadow:none;overflow:hidden;background:#fff}
.h3-window .tour-tabs{justify-content:center;gap:4px;padding:8px;background:#fff;border-bottom:1px solid #EEF0F4}
.h3-window .tour-tabs button{flex:0 0 auto;padding:9px 15px;font-size:14px;border-radius:10px;color:var(--text);font-family:var(--f-body)}
.h3-window .tour-tabs button[aria-selected="true"]{background:#F1F3F7;color:var(--navy-900);box-shadow:none}
.h3-window .tour-stage{aspect-ratio:1200/750}
.h3-window .tour-panel{min-height:0;overflow:hidden}
.h3-window .tour.play .tour-tabs button[data-i="0"][aria-selected="true"] .bar::after{animation-duration:15.2s}
.h3-cap{text-align:center;margin:22px 0 0;font-size:13px;color:var(--text-2)}
.h3-float{position:absolute;z-index:2;display:flex;align-items:center;gap:12px;padding:12px 16px 12px 12px;border-radius:16px;background:rgba(255,255,255,.97);
  box-shadow:0 30px 60px -28px rgba(27,31,51,.55),0 0 0 1px rgba(27,31,51,.06);transform:translate3d(0,var(--dy,0),0);font-size:13px;color:var(--text)}
.h3-float b{display:block;color:var(--navy-900);font-size:14px;font-family:var(--f-display);font-weight:600}
.h3-float small{display:block;font-size:12.5px;color:var(--text-2)}
.f-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;flex:none}
.f-ic.wa{background:#E3F5EA;color:#1FA855}
.f-ic.cash{background:#FFF1DC;color:#B45309}
.f-wa{left:max(0px,calc(50% - 660px));top:24%}
.f-cash{right:max(0px,calc(50% - 650px));top:52%}
.f-tok{right:max(8px,calc(50% - 600px));top:4%;background:var(--navy-900);color:#C9CCDD;gap:14px;padding:12px 18px;box-shadow:0 30px 60px -28px rgba(0,0,0,.6),0 0 0 1px rgba(252,243,229,.12)}
.f-tok .f-lbl{font-size:11.5px;color:#9FA4C0;max-width:5ch;line-height:1.2}
.f-tok .f-num{font-family:var(--f-display);font-size:38px;line-height:1;color:var(--led);font-variant-numeric:tabular-nums;text-shadow:0 0 18px rgba(255,193,99,.35)}
.f-tok .f-num.tick{animation:tbFlip .55s var(--ease)}
.f-tok .f-doc{font-family:var(--f-display);color:var(--cream);font-weight:600;font-size:14px}
.f-tok .f-doc small{color:#9FA4C0;font-weight:400}
@media (max-width:1100px){.h3-float{display:none}}
@media (max-width:640px){.h3-kicker{font-size:12.5px;padding:6px 12px 6px 9px}.h3-stage::after{height:22%}.h3-window{padding:6px;border-radius:16px}.h3-window .tour{border-radius:11px}.h3-window .tour-tabs{justify-content:flex-start}}

/* USPs and the manifesto */
.usp{padding-block:clamp(24px,3vw,40px) clamp(56px,6vw,88px)}
.usp-row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.usp-row li{display:flex;flex-direction:column;gap:6px}
.usp-ic{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--sand);color:var(--teal);margin-bottom:10px}
.usp-row b{font-family:var(--f-display);font-weight:600;color:var(--navy-900);font-size:17px}
.usp-row small{font-size:14.5px;color:var(--text-2);line-height:1.5}
.usp-note{margin:36px 0 0;padding-top:24px;border-top:1px solid var(--hair);font-size:14.5px;color:var(--text-2)}
.manifesto{padding-block:clamp(72px,9vw,140px);background:#fff}
.mf-text{margin:0;max-width:24ch;font-family:var(--f-display);font-weight:500;font-size:clamp(32px,4.4vw,64px);line-height:1.12;letter-spacing:-.03em;color:var(--navy-900)}
@media (max-width:900px){.usp-row{grid-template-columns:1fr 1fr;row-gap:32px}}

/* =====================================================================
   A clinic day, pinned and scroll-driven (home.js)
   ===================================================================== */
.dz-pinned{height:calc(var(--dz-n,5) * 90vh + 100vh + var(--sec));padding-block:var(--sec) 0!important}
.dz-pinned > .wrap{position:sticky;top:76px;height:calc(100vh - 76px);display:flex;flex-direction:column;justify-content:safe center;padding-block:24px}
.dz-pinned .head{margin-bottom:clamp(20px,2.4vw,36px)}
.dz-pinned .head h2{font-size:clamp(28px,2.6vw,40px)}
.dz-pinned .head p{font-size:16px}
.dz-left{min-width:0}
.dz-pinned .dz .day-visual{display:flex;flex-direction:column;justify-content:center}
.dz-pinned .dz .day-panel .mock{max-height:calc(100vh - 400px);overflow:hidden}
.dz-pinned .dz .day-panel .mock-cap{display:none}
.dz-pinned .sec-cta{margin-top:20px;padding-block:12px}
.dz-pinned > .wrap{padding-block:12px 16px}
.dz{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,5vw,88px);align-items:center}
.dz-clock{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.dz-face{position:relative;width:46px;height:46px;border-radius:50%;border:2px solid var(--navy-900);flex:none}
.dz-face i{position:absolute;left:50%;bottom:50%;width:2px;border-radius:2px;background:var(--navy-900);transform-origin:50% 100%}
.dz-h{height:12px;margin-left:-1px;transform:rotate(var(--hr,270deg))}
.dz-m{height:17px;margin-left:-1px;background:var(--teal)!important;transform:rotate(var(--mn,0deg))}
.dz-t{font-family:var(--f-display);font-weight:600;font-size:clamp(34px,3.2vw,48px);letter-spacing:-.03em;color:var(--navy-900);font-variant-numeric:tabular-nums;line-height:1}
.dz-ap{font-weight:600;color:var(--text-2);font-size:15px;align-self:flex-end;margin-bottom:6px}
.dz-rail{display:flex;gap:6px;margin-bottom:24px}
.dz-rail i{flex:1;height:3px;border-radius:3px;background:#E7E4DD;transition:background .4s}
.dz-rail i.on{background:var(--teal)}
.dz .day-steps{position:relative}
.dz-pinned .dz .day-steps{display:grid}
.dz-pinned .dz .day-step{grid-area:1/1;min-height:0;padding:0;border:0;opacity:0;transform:translateY(18px);transition:opacity .5s var(--ease),transform .6s var(--ease);pointer-events:none}
.dz-pinned .dz .day-step.on{opacity:1;transform:none;pointer-events:auto}
.dz-pinned .dz .day-step .time{display:none}
.dz .day-step h3{font-size:clamp(24px,2.2vw,34px);letter-spacing:-.025em;margin:0 0 12px}
.dz .day-step p{max-width:44ch;color:var(--text)}
.dz-pinned .dz .day-inline{display:none}
.dz-pinned .day-sticky{position:relative;top:auto}
.dz .day-progress{display:none}
.dz .day-panel{transition:opacity .6s var(--ease),transform .7s var(--ease)}
.dz .day-panel[aria-hidden="true"]{opacity:0;transform:translateY(16px) scale(.985)}
section:not(.dz-pinned) .dz{grid-template-columns:1fr}
section:not(.dz-pinned) .dz .day-visual,section:not(.dz-pinned) .dz-clock,section:not(.dz-pinned) .dz-rail{display:none}
section:not(.dz-pinned) .dz .day-step{opacity:1;min-height:0;padding-block:28px;border-top:1px solid var(--hair)}
section:not(.dz-pinned) .dz .day-inline{display:block;margin-top:14px}

/* =====================================================================
   Waiting-room band with the interactive token board
   ===================================================================== */
.wr{background:var(--navy-800);background-image:radial-gradient(60% 80% at 100% 50%,rgba(41,210,189,.14),transparent 60%);color:#C9CCDD;padding-block:var(--sec)}
.wr-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,520px);gap:clamp(40px,6vw,96px);align-items:center}
.wr h2{color:var(--cream)}
.wr-copy > p{margin-top:20px;font-size:18px;color:#C9CCDD;max-width:48ch}
.wr-list{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-direction:column;gap:12px;font-size:15.5px;color:#DADDEB}
.wr-list li{position:relative;padding-left:28px}
.wr-list li::before{content:"";position:absolute;left:0;top:.72em;width:14px;height:2px;border-radius:2px;background:var(--mint)}
.wr .wr-try{margin-top:28px;font-size:14.5px;color:var(--mint);font-weight:600}
@media (max-width:1000px){.wr-grid{grid-template-columns:1fr}}

.hx-board{position:relative;padding-bottom:30px}
.tb{position:relative;background:var(--navy-950);color:#CFD3E6;border-radius:28px;padding:26px 26px 22px;
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 50px 100px -50px rgba(0,0,0,.8),0 0 0 1px rgba(252,243,229,.08);
  background-image:radial-gradient(120% 80% at 100% 0%,rgba(255,193,99,.08),transparent 55%),radial-gradient(90% 70% at 0% 100%,rgba(41,210,189,.12),transparent 60%)}
.tb-head{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;color:#9FA4C0}
.tb-live{display:inline-flex;align-items:center;gap:9px;font-weight:600;color:#E7E9F3}
.tb-live i{width:8px;height:8px;border-radius:50%;background:var(--led);animation:tbLive 2.4s ease-out infinite}
@keyframes tbLive{0%{box-shadow:0 0 0 0 rgba(255,193,99,.55)}70%,100%{box-shadow:0 0 0 9px rgba(255,193,99,0)}}
.tb-clock{font-family:var(--f-display);font-variant-numeric:tabular-nums;font-size:16px;color:#CFD3E6}
.tb-now{margin-top:22px;padding:22px 22px 18px;border-radius:20px;background:rgba(0,0,0,.25);box-shadow:0 0 0 1px rgba(255,255,255,.05) inset}
.tb-lbl{font-size:13.5px;color:#9FA4C0}
.tb-call-row{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-top:4px}
.tb-num{display:block;font-family:var(--f-display);font-weight:600;font-size:clamp(92px,9vw,136px);line-height:.86;letter-spacing:-.04em;color:var(--led);font-variant-numeric:tabular-nums;text-shadow:0 0 28px rgba(255,193,99,.35)}
.tb-num.flip .tb-digits{display:inline-block;animation:tbFlip .55s var(--ease)}
@keyframes tbFlip{0%{opacity:0;transform:translateY(38%) scaleY(.85);filter:blur(4px)}60%{opacity:1;filter:blur(0)}100%{transform:none}}
.tb-to{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right;padding-bottom:6px}
.tb-to b{font-family:var(--f-display);font-weight:600;font-size:clamp(20px,1.7vw,26px);color:#fff}
.tb-to span{font-size:15px;color:#C3C7DA}
.tb-to .tb-ini{margin-top:8px;font-size:12.5px;font-weight:600;color:var(--navy-950);background:var(--mint-soft);border-radius:999px;padding:3px 9px}
.tb-rows{width:100%;margin-top:16px;border-collapse:collapse;font-size:14.5px;font-variant-numeric:tabular-nums}
.tb-rows,.tb-rows tr,.tb-rows thead,.tb-rows tbody{background:none;border:0}
.tb-rows th{font-weight:500;color:#8A8FAD;font-size:12.5px;text-align:left;padding:6px 10px;background:none;border:0;text-transform:none;letter-spacing:0}
.tb-rows td{padding:9px 10px;border:0;border-top:1px solid rgba(255,255,255,.07);color:#DADDEB;background:none;text-align:left}
.tb-rows th:nth-child(n+2),.tb-rows td:nth-child(n+2){text-align:right}
.tb-rows .tb-t{font-family:var(--f-display);font-weight:600;font-size:17px;color:#fff}
.tb-rows tr.on td{background:rgba(255,193,99,.08)}
.tb-rows tr.on .tb-t{color:var(--led)}
.tb-ctl{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;flex-wrap:wrap}
.tb-btn{font:600 15.5px var(--f-body);color:var(--navy-950);background:var(--mint);border:0;border-radius:12px;padding:14px 20px;cursor:pointer;transition:transform .15s,background .15s}
.tb-btn:hover{background:#4ADCCB}
.tb-btn:active{transform:scale(.97)}
.tb-voice{display:inline-flex;align-items:center;padding:4px;border-radius:12px;background:rgba(255,255,255,.07)}
.tb-voice button{font:600 13.5px var(--f-body);color:#C3C7DA;background:none;border:0;border-radius:9px;padding:9px 11px;cursor:pointer;display:inline-flex;align-items:center;gap:7px}
.tb-voice button[aria-pressed="true"]{background:rgba(255,255,255,.14);color:#fff}
.tb-v[aria-pressed="false"] .tb-wave{opacity:.25}
.tb button:focus-visible{outline:2px solid var(--led);outline-offset:2px}
.tb-wa{position:absolute;left:-24px;bottom:0;display:flex;align-items:center;gap:12px;max-width:min(340px,92%);background:#fff;border-radius:16px;padding:12px 16px 12px 12px;box-shadow:0 24px 50px -24px rgba(0,0,0,.5)}
.tb-wa[hidden]{display:none}
.tb-wa.pop{animation:tbPop .5s var(--ease)}
@keyframes tbPop{0%{opacity:0;transform:translateY(10px) scale(.96)}100%{opacity:1;transform:none}}
.tb-wa-ic{flex:none;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#E3F5EA;color:#1FA855}
.tb-wa b{display:block;font-size:13.5px;color:var(--navy-900)}
.tb-wa small{display:block;font-size:13px;color:var(--text);line-height:1.4}
.nab-paused .tb-live i{animation:none}
@media (max-width:640px){
  .tb{padding:20px 18px 18px;border-radius:24px}.tb-now{padding:18px 16px 14px}.tb-num{font-size:92px}
  .tb-rows th:nth-child(4),.tb-rows td:nth-child(4){display:none}
  .hx-board{padding-bottom:0}
  .tb-wa{position:relative;left:auto;bottom:auto;margin:-14px 12px 0;max-width:none}
}

/* =====================================================================
   Footer: dark navy, the animated logo as its signature
   ===================================================================== */
footer.site.f2{background:var(--navy-800);background-image:radial-gradient(48% 34% at 50% 82%,#3A3E5D 0%,rgba(58,62,93,.5) 45%,transparent 75%);color:#B7BBD2;border-top:0}
.f2-tag{color:var(--cream)}
.f2-bio{color:#A5AAC6}
.f2-trust li{background:rgba(252,243,229,.05);border-color:rgba(252,243,229,.12);color:#DADDEB}
.f2-trust svg{color:var(--mint)}
.f2-h{text-transform:none;letter-spacing:0;font-size:14.5px;font-weight:600;color:var(--cream)}
.f2-h-sm{color:#9FA4C0;font-weight:500}
.f2-col a{color:#B7BBD2}
.f2-col a:hover{color:var(--mint)}
.f2 .foot-social a{background:rgba(252,243,229,.05);border-color:rgba(252,243,229,.12);color:#DADDEB}
.f2 .foot-social a:hover{background:rgba(41,210,189,.14);border-color:rgba(41,210,189,.4);color:var(--mint)}
.f2-card{background:rgba(252,243,229,.04);border-color:rgba(252,243,229,.1);-webkit-backdrop-filter:none;backdrop-filter:none}
.f2-ci b{color:var(--cream)}
.f2-ci,.f2-ci a,.f2-ci .ecopy{color:#B7BBD2}
.f2-ci a:hover,.f2-ci .ecopy:hover{color:var(--mint)}
.f2-ic{background:rgba(41,210,189,.12);color:var(--mint)}
.f2-bottom{color:#8F94B2;border-top:1px solid rgba(252,243,229,.08);margin-top:36px;padding-top:22px}
.f2-bl .foot-link{color:#8F94B2}
.f2-bl .foot-link:hover,.f2-up:hover{color:var(--mint)}
.f2-up{color:#DADDEB}
.f2 a:focus-visible,.f2 button:focus-visible{outline-color:var(--mint)}
.f2-mark{display:none!important}

/* ---------- Inner-page heroes ---------- */
.hero{padding-block:clamp(56px,7vw,104px) clamp(48px,6vw,88px)}
.hero .lede{max-width:54ch}

/* ---------- Contact button ---------- */
.fab-btn{background:var(--navy-800);box-shadow:0 0 0 1px rgba(252,243,229,.14),0 16px 34px -12px rgba(27,31,51,.7)}
.fab-btn:hover{background:var(--navy-700)}
.fab-btn::before{border-color:var(--mint)}

@media (prefers-reduced-motion:reduce){
  .h3-window,.h3-float{transform:none!important}
  .tb-live i,.tb-num.flip .tb-digits,.tb-wa.pop,.f-tok .f-num.tick{animation:none}
}

/* =====================================================================
   Announcement bar: in the page flow above the sticky header, so it slides away as soon as you scroll
   ===================================================================== */
.strip{background:var(--navy-950);color:#B9BDD4;font-size:13.5px;line-height:1.4;position:relative;z-index:41}
.strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px;padding-block:8px}
.strip p{margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px}
.strip b{color:var(--cream);font-weight:600}
.st-dot{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 3px rgba(41,210,189,.18);flex:none}
.strip a{color:var(--cream);text-decoration:none;font-weight:500}
.strip a:hover{color:var(--mint)}
.st-link{margin-left:6px;padding:3px 10px;border-radius:999px;background:rgba(41,210,189,.12);color:var(--mint)!important}
.st-r{gap:14px!important;color:#8F94B2}
@media (max-width:640px){.strip{font-size:12.5px}.strip .wrap{min-height:34px;padding-block:7px}.strip .st-msg{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.strip .st-dot{display:inline-block;margin-right:8px;vertical-align:1px}}

/* =====================================================================
   Built in: a bento grid, each feature with a small live illustration
   ===================================================================== */
.bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.bento-i{position:relative;display:flex;flex-direction:column;gap:18px;padding:24px;border-radius:24px;background:var(--sand);border:1px solid #F0E9DD;overflow:hidden;transition:border-color .3s,box-shadow .3s}
.bento-i:hover{border-color:#E4D9C6;box-shadow:0 24px 50px -32px rgba(27,31,51,.35)}
.b-7{grid-column:span 7}.b-5{grid-column:span 5}.b-4{grid-column:span 4}.b-3{grid-column:span 3}
.bt h3{font-size:18.5px;margin:0}
.bt p{margin:8px 0 0;font-size:14.5px;line-height:1.55;color:var(--text)}
.bp{display:inline-block;margin-top:14px;font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:999px}
.bp.every{background:#E3F3F0;color:var(--teal-700)}
.bp.plan{background:#EEEAF6;color:#4C4A86}
.bv{position:relative;height:150px;border-radius:16px;background:#fff;border:1px solid #F0E9DD;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:14px;font-size:12.5px;color:var(--text)}
.b-7 .bv,.b-5 .bv{height:190px}
/* TV */
.bv-tv{background:linear-gradient(180deg,#fff,#F7F3EC);flex-direction:column;gap:6px}
.bv-screen{width:62%;max-width:300px;aspect-ratio:16/8;border-radius:12px;background:var(--navy-950);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;box-shadow:0 20px 40px -24px rgba(27,31,51,.6)}
.bv-l{font-size:10.5px;color:#9FA4C0}
.bv-tok{font-family:var(--f-display);font-size:44px;line-height:1;color:var(--led);text-shadow:0 0 18px rgba(255,193,99,.35)}
.bv-room{font-size:11px;color:#DADDEB}
.bv-stand{width:60px;height:6px;border-radius:4px;background:#D9D3C7}
.bv-wave{position:absolute;right:12%;top:30%;display:flex;gap:4px;align-items:center}
.bv-wave i{width:4px;border-radius:3px;background:var(--teal);height:10px;animation:bvWave 1.2s ease-in-out infinite}
.bv-wave i:nth-child(2){height:18px;animation-delay:.15s}.bv-wave i:nth-child(3){height:12px;animation-delay:.3s}
@keyframes bvWave{50%{transform:scaleY(.4)}}
.bv-say{position:absolute;right:6%;top:52%;font-size:11.5px;font-style:italic;color:var(--teal-700)}
/* payments */
.bv-pay{justify-content:space-between;padding:0 22px}
.bv-qr{display:flex;flex-direction:column;align-items:center;gap:8px;font-weight:600;color:var(--navy-900)}
.bv-qrg{display:grid;grid-template-columns:repeat(7,10px);grid-auto-rows:10px;gap:2px;padding:8px;border-radius:10px;background:#fff;border:1px solid var(--hair)}
.bv-qrg i{background:var(--navy-900);border-radius:2px}.bv-qrg i.o{background:transparent}
.bv-gw{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(2,auto);gap:6px}
.bv-gw li{padding:5px 10px;border-radius:8px;background:var(--sand);font-weight:600;color:var(--navy-900);font-size:12px}
.bv-paid{position:absolute;right:16px;bottom:14px;font-weight:600;color:#1F8A4C;background:#E3F5EA;padding:4px 10px;border-radius:999px}
/* cash-up */
.bv-cash{flex-direction:column;align-items:stretch;padding:0 22px;gap:8px}
.bv-row{display:flex;justify-content:space-between;align-items:baseline;padding:8px 12px;border-radius:10px;background:var(--sand)}
.bv-row b{font-family:var(--f-display);font-size:18px;color:var(--navy-900)}
.bv-hid b{letter-spacing:.06em;color:#B9B3A7}
.bv-chip{align-self:flex-start;font-size:11.5px;color:var(--teal-700)}
/* register */
.bv-reg{flex-direction:column;align-items:stretch;padding:12px 14px;gap:4px;justify-content:flex-start}
.bv-rh,.bv-rr{display:grid;grid-template-columns:1.6fr 1fr .6fr;gap:8px;padding:6px 8px;border-radius:8px}
.bv-rh{font-weight:600;color:var(--navy-900);font-size:11.5px}
.bv-rr{background:var(--sand);font-size:11.5px}
.bv-new{background:#E3F3F0;animation:bvNew 3.2s ease-in-out infinite}
@keyframes bvNew{0%,30%{opacity:0;transform:translateY(6px)}45%,100%{opacity:1;transform:none}}
/* lab */
.bv-doc{width:96px;height:118px;border-radius:8px;background:#fff;border:1px solid var(--hair);box-shadow:0 14px 30px -20px rgba(27,31,51,.5);padding:14px 10px;display:flex;flex-direction:column;gap:9px}
.bv-dl{height:5px;border-radius:3px;background:#E6E1D7}.bv-dl.s{width:60%}
.bv-ver{font-weight:600;color:#1F8A4C;background:#E3F5EA;padding:5px 11px;border-radius:999px}
.bv-qrs{width:34px;height:34px;border-radius:6px;background:repeating-linear-gradient(90deg,var(--navy-900) 0 3px,transparent 3px 6px),repeating-linear-gradient(0deg,var(--navy-900) 0 3px,transparent 3px 6px);background-blend-mode:multiply;opacity:.75}
/* price */
.bv-price{flex-direction:column;gap:2px}
.bv-price b{font-family:var(--f-display);font-size:48px;line-height:1;color:var(--navy-900);letter-spacing:-.03em}
/* india */
.bv-india{background:radial-gradient(circle at 50% 55%,#E3F3F0,#fff 70%)}
.bv-pin{width:16px;height:16px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 6px rgba(15,118,110,.18)}
.bv-ring{position:absolute;width:60px;height:60px;border-radius:50%;border:2px solid rgba(15,118,110,.35);animation:bvRing 2.6s ease-out infinite}
@keyframes bvRing{0%{transform:scale(.4);opacity:1}100%{transform:scale(2.2);opacity:0}}
.bv-tag{position:absolute;top:18px;left:16px;font-weight:600;color:var(--navy-900);background:#fff;border:1px solid var(--hair);padding:4px 9px;border-radius:999px}
.bv-lock{position:absolute;bottom:16px;right:16px;font-weight:600;color:var(--teal-700)}
/* support */
.bv-toast{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border-radius:12px;background:var(--navy-900);color:#C9CCDD;max-width:88%}
.bv-toast b{color:var(--cream);font-size:12.5px}
.bv-toast small{font-size:11.5px}
.bv-end{align-self:flex-start;margin-top:6px;font-weight:600;font-size:11.5px;color:var(--navy-950);background:var(--mint);padding:3px 9px;border-radius:7px}
/* export */
.bv-file{width:56px;height:70px;border-radius:8px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:10px;font-weight:700;font-size:11px;color:#fff;box-shadow:0 14px 26px -16px rgba(27,31,51,.6)}
.bv-file.x{background:#1D7A47}.bv-file.c{background:var(--navy-700);transform:translateY(8px)}
.bv-arrow{position:absolute;bottom:14px;width:2px;height:22px;background:var(--teal);border-radius:2px}
.nab-paused .bv-wave i,.nab-paused .bv-new,.nab-paused .bv-ring{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){.bv-wave i,.bv-new,.bv-ring{animation:none}}
@media (max-width:1100px){.b-7,.b-5{grid-column:span 6}.b-4{grid-column:span 6}.b-3{grid-column:span 6}}
@media (max-width:640px){.bento{grid-template-columns:1fr}.bento-i{grid-column:auto!important}}

/* =====================================================================
   Specialty screens, pinned and scroll-driven (home.js)
   Left: the open specialty, large (count, name, what the screen covers), and a quiet list to jump.
   Right: the real screen on its own.
   ===================================================================== */
.sp-pinned{height:calc(var(--sp-n,9) * 50vh + 100vh + var(--sec));padding-block:var(--sec) 0!important}
.sp-pinned > .wrap{position:sticky;top:76px;height:calc(100vh - 76px);display:flex;flex-direction:column;justify-content:safe center;padding-block:16px 20px}
.sp-pinned .head{margin-bottom:clamp(24px,3vw,44px)}
.sp-pinned .head h2{font-size:clamp(28px,2.8vw,42px)}
.sp-pinned .head p{font-size:16px}
.sp-pinned .spec-note{margin-top:28px;font-size:14px}
.sp-pinned .spec-links{margin-top:6px;font-size:14px}
.sp-pinned .spec{grid-template-columns:minmax(260px,4fr) minmax(0,8fr);gap:clamp(32px,5vw,80px);align-items:center;margin-top:0}
.sp-side{display:flex;flex-direction:column;gap:28px;min-width:0}
.sp-now{display:none}
.sp-pinned .sp-now{display:flex;flex-direction:column;gap:8px}
.sp-count{font-family:var(--f-display);font-size:14px;font-weight:600;color:var(--teal);font-variant-numeric:tabular-nums}
.sp-name{font-family:var(--f-display);font-weight:600;font-size:clamp(34px,3.4vw,52px);line-height:1.02;letter-spacing:-.03em;color:var(--navy-900)}
.sp-desc{margin:4px 0 0;font-size:16px;line-height:1.55;color:var(--text);max-width:36ch;min-height:4.65em}
.sp-link{font-weight:600;font-size:14.5px}
.sp-now.in .sp-name,.sp-now.in .sp-desc{animation:spIn .55s var(--ease)}
.sp-pinned .spec-list{position:relative;top:auto;display:grid;grid-template-columns:1fr 1fr;gap:2px 16px;border:0;padding:0;background:none;box-shadow:none}
.sp-pinned .spec-list [role="tab"]{position:relative;display:block;padding:7px 0 7px 14px;border:0;border-radius:0;background:none!important;box-shadow:none!important;text-align:left;overflow:visible}
.sp-pinned .spec-list [role="tab"] .ico,.sp-pinned .spec-list [role="tab"] small{display:none!important}
.sp-pinned .spec-list [role="tab"] b{font-weight:500;font-size:14.5px;color:var(--text-2);transition:color .25s}
.sp-pinned .spec-list [role="tab"]:hover b{color:var(--navy-900)}
.sp-pinned .spec-list [role="tab"][aria-selected="true"] b{color:var(--navy-900);font-weight:600}
.sp-pinned .spec-list [role="tab"]::before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:2px;border-radius:2px;background:#E5E1D8}
.sp-pinned .spec-list [role="tab"]::after{content:"";position:absolute;left:0;top:7px;bottom:7px;width:2px;border-radius:2px;background:var(--teal);transform-origin:top;transform:scaleY(var(--sp,0))}
.sp-pinned .spec-panel figcaption{display:none}
.sp-pinned .spec-panel .mock{max-height:calc(100vh - 420px);overflow:hidden}
.sp-pinned .spec-panel{animation:spIn .6s var(--ease)}
@keyframes spIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ---------- Closing band: room before the footer on every page ---------- */
main > section:last-child{padding-bottom:clamp(88px,9vw,136px)}
main > section.wrap:last-child .cta{margin-bottom:0}

/* =====================================================================
   Footer wordmark: brand colours drifting inside the letters, a photograph of a surgical light
   screened over them, and a light sheen.
   A soft light follows the pointer. Everything stops for reduced motion and the Pause switch.
   ===================================================================== */
.f2-wm{position:relative;width:min(100% - 2*clamp(20px,4vw,40px),1240px);margin:clamp(40px,5vw,72px) auto 0;margin-bottom:calc(-1 * clamp(10px,2.2vw,30px))}
.f2-wm-in{position:relative;aspect-ratio:794/195;overflow:hidden;background:#123B44;--mx:50%;--my:50%;
  -webkit-mask:url(/assets/wordmark.svg) center/100% 100% no-repeat;mask:url(/assets/wordmark.svg) center/100% 100% no-repeat}
.wm-aurora{position:absolute;inset:-40% -20%;
  background:
    radial-gradient(28% 60% at 15% 40%,#29D2BD 0%,transparent 70%),
    radial-gradient(30% 70% at 45% 70%,#0F766E 0%,transparent 70%),
    radial-gradient(26% 60% at 70% 30%,#FFC163 0%,transparent 70%),
    radial-gradient(30% 70% at 92% 65%,#FCF3E5 0%,transparent 70%),
    radial-gradient(24% 50% at 58% 50%,#7AA2FF 0%,transparent 70%),
    linear-gradient(100deg,#0B5E58,#2F344D 60%,#3D4160);
  filter:saturate(1.15);animation:wmDrift 16s ease-in-out infinite alternate}
@keyframes wmDrift{0%{transform:translate3d(-6%,-4%,0) rotate(-2deg) scale(1)}50%{transform:translate3d(4%,3%,0) rotate(2deg) scale(1.06)}100%{transform:translate3d(8%,-2%,0) rotate(-1deg) scale(1.02)}}
/* a surgical light (photo: Unsplash licence) glows through the letters, screened over the colour field, drifting slowly */
.wm-art{position:absolute;inset:0;background:url(/assets/brand/wm-photo.webp) 35% 50%/cover;mix-blend-mode:screen;filter:brightness(1.1);animation:wmArt 32s ease-in-out infinite alternate}
@keyframes wmArt{to{background-position:62% 50%}}
.wm-sheen{position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.28) 48%,transparent 60%);background-size:250% 100%;animation:wmSheen 7s ease-in-out infinite}
@keyframes wmSheen{0%{background-position:120% 0}60%,100%{background-position:-60% 0}}
.f2-wm-in::after{content:"";position:absolute;inset:0;background:radial-gradient(22% 80% at var(--mx) var(--my),rgba(252,243,229,.5),transparent 70%);opacity:0;transition:opacity .4s}
.f2-wm-in.lit::after{opacity:1}
.nab-paused .wm-aurora,.nab-paused .wm-art,.nab-paused .wm-sheen{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){.wm-aurora,.wm-art,.wm-sheen{animation:none}}
footer.site.f2{overflow:hidden;padding-bottom:0}

/* =====================================================================
   Cookie choices: a light card in the corner (a bottom sheet on phones) with the short notice,
   and a second view with each category. Reject all and Accept all carry equal weight.
   ===================================================================== */
.cookie{position:fixed;left:max(20px,env(safe-area-inset-left));right:auto;bottom:max(20px,env(safe-area-inset-bottom));z-index:70;
  width:min(440px,calc(100vw - 40px));max-height:calc(100vh - 40px);overflow:auto;display:flex;flex-direction:column;gap:14px;
  padding:22px;border-radius:20px;background:#fff;color:var(--text);border:1px solid #ECE6DA;
  box-shadow:0 30px 70px -24px rgba(27,31,51,.45),0 2px 6px rgba(27,31,51,.06);animation:ckIn .35s var(--ease) both}
.cookie[hidden]{display:none}
@keyframes ckIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.cookie .ck-head{display:flex;align-items:center;gap:12px}
.cookie .ck-ic{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#E3F3F0;color:var(--teal-700)}
.cookie .ck-title{display:block;flex:1;margin:0;font:600 17px/1.25 var(--f-display);color:var(--navy-900);letter-spacing:-.01em}
.cookie .ck-back{display:inline-flex;align-items:center;gap:4px;padding:6px 8px;margin-right:-6px;border:0;border-radius:8px;background:none;font:500 13.5px var(--f-body);color:var(--text-2);cursor:pointer}
.cookie .ck-back:hover{background:var(--sand);color:var(--navy-900)}
.cookie [hidden]{display:none!important}
.cookie .ck-text{margin:0;font-size:14px;line-height:1.6;color:var(--text);white-space:normal}
.cookie .ck-text b{font-weight:600;color:var(--navy-900)}
.cookie .ck-text a{color:var(--teal-700);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.cookie .ck-prefs{display:flex;flex-direction:column;gap:12px}
.cookie .ck-prefs ul{list-style:none;margin:0;padding:0;border:1px solid #ECE6DA;border-radius:14px;overflow:hidden}
.cookie .ck-prefs li{padding:12px 14px}
.cookie .ck-prefs li+li{border-top:1px solid #F1ECE2}
.cookie .ck-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0;cursor:default}
.cookie .ck-row label{cursor:pointer}
.cookie .ck-row b{font-size:14.5px;font-weight:600;color:var(--navy-900)}
.cookie .ck-always{font-size:12.5px;font-weight:600;color:var(--teal-700)}
.cookie .ck-desc{margin:4px 0 0;font-size:12.5px;line-height:1.5;color:var(--text-2)}
.cookie .ck-desc span{display:block;margin-top:2px;color:#8A8FA8}
.cookie .ck-desc span::before{content:"Used by: "}
.cookie .ck-sw{-webkit-appearance:none;appearance:none;flex:none;position:relative;width:40px;height:24px;margin:0;border-radius:999px;background:#CDD1DE;cursor:pointer;transition:background .2s}
.cookie .ck-sw::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(27,31,51,.25);transition:transform .2s var(--ease)}
.cookie .ck-sw:checked{background:var(--teal)}
.cookie .ck-sw:checked::after{transform:translateX(16px)}
.cookie .ck-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cookie .ck-btn{padding:12px 14px;border:0;border-radius:12px;background:var(--navy-900);color:#fff;font:600 14.5px var(--f-body);cursor:pointer;transition:background .2s}
.cookie .ck-btn:hover{background:var(--navy-700)}
.cookie .ck-save{grid-column:1/-1;background:#fff;color:var(--navy-900);box-shadow:inset 0 0 0 1.5px var(--navy-900)}
.cookie .ck-save:hover{background:var(--sand)}
.cookie .ck-link{grid-column:1/-1;justify-self:center;padding:6px 10px;border:0;border-radius:8px;background:none;font:600 14px var(--f-body);color:var(--teal-700);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.cookie .ck-link:hover{color:var(--navy-900)}
.cookie .ck-sw:focus-visible,.cookie .ck-btn:focus-visible,.cookie .ck-link:focus-visible,.cookie .ck-back:focus-visible,.cookie a:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
@media (max-width:560px){
  .cookie{left:0;right:0;bottom:0;width:auto;max-height:85vh;border-radius:20px 20px 0 0;border-width:1px 0 0;padding:20px 18px calc(18px + env(safe-area-inset-bottom));animation-name:ckUp}
  @keyframes ckUp{from{transform:translateY(100%)}to{transform:none}}
}
/* the buttons stay in view while the category list scrolls */
.cookie.is-prefs .ck-actions{position:sticky;bottom:-22px;margin:0 -22px -22px;padding:12px 22px 22px;background:#fff;box-shadow:0 -12px 18px -14px rgba(27,31,51,.25)}
@media (max-width:560px){.cookie.is-prefs .ck-actions{bottom:calc(-1 * (18px + env(safe-area-inset-bottom)));margin:0 -18px calc(-1 * (18px + env(safe-area-inset-bottom)));padding:12px 18px calc(18px + env(safe-area-inset-bottom))}}
@media (prefers-reduced-motion:reduce){.cookie{animation:none}}
@media (max-width:640px){
  .bv-say{display:none}.bv-wave{right:6%;top:18%}
  .bv-pay{padding:0 14px;gap:10px}
  .bv-gw{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;min-width:0}
  .bv-gw li{font-size:11px;padding:4px 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .bv-qrg{grid-template-columns:repeat(7,8px);grid-auto-rows:8px}
  .bv-screen{width:70%}
}

/* =====================================================================
   Inner-page dark hero: add class "hero-dark" and data-hero to a section.wrap.hero.
   Full-bleed navy behind the wrap, cream type, mint action; the header turns transparent over it.
   ===================================================================== */
.hero-dark{position:relative;isolation:isolate;color:#C9CCDD}
.hero-dark::before{content:"";position:absolute;top:0;bottom:-1px;left:calc(50% - 50vw);right:calc(50% - 50vw);z-index:-2;
  background:radial-gradient(80% 70% at 70% 0%,#40456A 0%,var(--navy-800) 55%,var(--navy-900) 100%)}
.hero-dark::after{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);z-index:-1;pointer-events:none;
  background-image:radial-gradient(40% 50% at 8% 90%,rgba(41,210,189,.18),transparent 70%),linear-gradient(rgba(252,243,229,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(252,243,229,.045) 1px,transparent 1px);
  background-size:auto,72px 72px,72px 72px;
  -webkit-mask:linear-gradient(180deg,#000 40%,transparent);mask:linear-gradient(180deg,#000 40%,transparent)}
.dark-top .hero-dark{margin-top:-76px;padding-top:calc(76px + clamp(48px,6vw,96px));padding-bottom:clamp(64px,7vw,112px)}
.hero-dark h1,.hero-dark h2,.hero-dark h3{color:var(--cream)}
.hero-dark .lede,.hero-dark p{color:#CDD0E1}
.hero-dark .crumbs,.hero-dark .crumbs li{color:#8F94B2}
.hero-dark .crumbs a{color:#C9CCDD}
.hero-dark .crumbs a:hover{color:var(--mint)}
.hero-dark .assure,.hero-dark .assure *{color:#A9AECB}
.hero-dark .assure svg{color:var(--mint)}
.hero-dark .eyebrow{color:var(--mint)}
.hero-dark .btn-accent{background:var(--mint);color:var(--navy-950);box-shadow:0 14px 34px -14px rgba(41,210,189,.75)}
.hero-dark .btn-accent:hover{background:#4ADCCB}
.hero-dark .btn-line{background:rgba(252,243,229,.06);border-color:rgba(252,243,229,.26);color:var(--cream)}
.hero-dark .btn-line:hover{border-color:var(--cream)}
.hero-dark .mock-cap,.hero-dark figcaption{color:#9FA4C0}
.hero-dark .mock{box-shadow:0 0 0 1px rgba(252,243,229,.12),0 60px 120px -50px rgba(0,0,0,.65)}
.hero-dark a.link{color:var(--mint)}

/* =====================================================================
   Scroll-pinned steps (motion.js). Markup:
   <section data-pin> … <div data-pin-frame> … [data-pin-step]… … [data-pin-panel]… </div></section>
   On wide screens the frame holds still while scrolling moves through the steps (html .pin-on on the
   section); on phones and with reduced motion the steps work as tabs. Current step/panel get .is-on,
   each step gets --pin-s (0..1, how far through it the visitor is).
   ===================================================================== */
[data-pin].pin-on{height:calc(var(--pin-n,4) * var(--pin-len,70vh) + 100vh + var(--sec));padding-block:var(--sec) 0!important}
[data-pin].pin-on [data-pin-frame]{position:sticky;top:76px;height:calc(100vh - 76px);display:flex;flex-direction:column;justify-content:safe center;padding-block:16px 20px}
[data-pin].pin-on > .wrap:not([data-pin-frame]){height:100%}
[data-pin-panels]{display:grid}
[data-pin-panel]{grid-area:1/1;transition:opacity .6s var(--ease),transform .7s var(--ease)}
.pinjs [data-pin-panel]:not(.is-on){opacity:0;visibility:hidden;transform:translateY(14px) scale(.985)}
[data-pin-step]{cursor:pointer;transition:color .25s,opacity .25s}
@media (prefers-reduced-motion:reduce){[data-pin-panel]{transition:none}}

/* ---------- Inner-page heroes line up with the page grid and use the site's heading weight ---------- */
.hero.wrap{max-width:1240px}
.hero h1{font-size:clamp(40px,1.2rem + 3.4vw,76px);font-weight:600;letter-spacing:-.034em}

/* ---------- No tracked all-caps labels anywhere ---------- */
.flag,.pc-lead,tr.group th,.tag,.tag-acc,.avail,.fx-plan,th{text-transform:none;letter-spacing:0}

/* ---------- Section heads: heading on the left in at most two lines, intro aligned beside it ---------- */
.head{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:end;gap:18px clamp(32px,5vw,88px);margin-bottom:clamp(40px,4.4vw,64px)}
.head > div{min-width:0}
.head h2,.head > div > h2{max-width:none;margin:0;font-size:clamp(30px,2.9vw,44px);line-height:1.08;text-wrap:balance}
.head > p,.head > a{margin:0 0 6px;max-width:46ch;justify-self:start;font-size:17px;line-height:1.6;text-wrap:pretty}
.head.stack,.head:not(:has(> p)):not(:has(> a)){grid-template-columns:1fr}
.head .eyebrow{margin-bottom:10px}
@media (max-width:900px){.head{grid-template-columns:1fr;gap:14px}.head > p,.head > a{margin:0}}
/* one heading size for every section heading, so none runs past two lines on desktop */
main h2{font-size:clamp(30px,2.9vw,44px);line-height:1.08;text-wrap:balance}
main .split h2{max-width:none;font-size:clamp(28px,2.6vw,40px)}
.head{align-items:start}
.head > p,.head > a{margin:0;padding-top:.45em;max-width:50ch;font-size:16.5px}
/* headings never carry a character cap; in narrow side columns they step down a size */
main h2{max-width:none!important}
.ftext h2,.abx-story-copy h2,.co2-info h2,.wr-copy h2,.fo-head h2,.split > div > h2{font-size:clamp(28px,2.4vw,36px)}
.cta h2{font-size:clamp(30px,2.9vw,44px)}
.cta{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}
@media (max-width:900px){.cta{grid-template-columns:1fr}}
.h2-sub{margin:10px 0 0;font-family:var(--f-display);font-weight:500;font-size:clamp(20px,1.6vw,24px);color:var(--teal-700);letter-spacing:-.01em}

/* FAQ (every page but /faq/): sticky heading and contact on the left, one column of questions */
.faqx{background:var(--sand)}
.faqx-grid{display:grid;grid-template-columns:minmax(340px,1fr) minmax(0,1.45fr);gap:clamp(32px,5vw,80px);align-items:start}
.faqx-side{position:sticky;top:110px}
.faqx-side h2{margin:0;font-size:clamp(28px,2.3vw,34px);text-wrap:balance}
.faqx-side .faq-cta{margin-top:28px;padding:20px;border-radius:18px;background:#fff;border:1px solid #EEE7DA;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.faqx-side .faq-cta p{margin:0}
.faqx-side .faq-cta .actions{display:flex;flex-direction:column;gap:8px;width:100%}
.faqx-side .faq-cta .btn{justify-content:center}
.faqx .faq{display:block;columns:auto;margin:0}
.faqx .faq details{background:none}
@media (max-width:900px){.faqx-grid{grid-template-columns:1fr}.faqx-side{position:static}}
.faqx-side .faqx-lede{margin:14px 0 0;font-size:16px;color:var(--text);max-width:40ch}
.faqx-side .faqx-lede .ecopy{vertical-align:baseline}

/* Inner-page heroes on the home .h3 component (clinic product page, specialty solutions) */
.h3 .h3-crumbs{justify-content:center;margin:0 0 22px;color:#8F94B2}
.h3 .h3-crumbs a{color:#C9CCDD}
.h3 .h3-crumbs a:hover{color:var(--mint)}
.h3 .h3-crumbs li{color:#8F94B2}
@media (max-width:640px){.h3-stage::after{height:clamp(48px,14vw,64px)}.h3-cap{color:#A9AECB}}

/* Built in (solution pages): a dark lead tile across the top, two tiles below, each with its live illustration */
.bento-trio .bt-lead{grid-column:span 12;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:clamp(24px,4vw,64px);padding:clamp(24px,3vw,40px);background:var(--navy-900)!important;border-color:transparent}
.bento-trio .bt-lead:hover{border-color:transparent;box-shadow:0 30px 60px -36px rgba(27,31,51,.7)}
.bento-trio .bt-lead .bt{order:-1}
.bento-trio .bt-lead .bt h3{color:var(--cream);font-size:clamp(22px,2vw,28px);letter-spacing:-.02em}
.bento-trio .bt-lead .bt p{color:#C9CCDD;font-size:16px;max-width:46ch;margin-top:12px}
.bento-trio .bt-lead .bp.every{background:rgba(41,210,189,.14);color:var(--mint)}
.bento-trio .bt-lead .bp.plan{background:rgba(252,243,229,.1);color:var(--cream)}
.bento-trio .bt-lead .bv{height:230px;border-color:transparent;box-shadow:0 24px 50px -30px rgba(0,0,0,.6)}
.bento-trio .bt-lead .bv-pay{justify-content:center;gap:clamp(28px,5vw,72px)}
@media (min-width:901px){.bento-trio .bt-lead .bv-screen,.bento-trio .bt-lead .bv-stand{margin-right:32%}}
.bento-trio .bt-side{grid-column:span 6}
.bento-trio .bt-side .bv{height:170px}
.tint .bento-i,.built-sec.tint .bento-i{background:#fff}
@media (max-width:900px){.bento-trio .bt-lead{grid-template-columns:1fr}.bento-trio .bt-lead .bt{order:0}}

/* Case story (solution pages, clinic product page): a scroll-drawn "before -> with Nabhaya" graphic beside the quote */
.cst-card{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);border-radius:28px;overflow:hidden;background:#fff;border:1px solid #EEE7DA;box-shadow:0 40px 80px -60px rgba(27,31,51,.45)}
.cst-vis{--p:0;position:relative;isolation:isolate;display:flex;align-items:center;padding:clamp(28px,3.2vw,48px);background:var(--navy-900);color:#C9CCDD;overflow:hidden}
.cst-vis::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 70% at 85% 50%,rgba(41,210,189,.16),transparent 70%),linear-gradient(rgba(252,243,229,.045) 1px,transparent 1px) 0 0/48px 48px,linear-gradient(90deg,rgba(252,243,229,.045) 1px,transparent 1px) 0 0/48px 48px}
.cst-cols{display:grid;grid-template-columns:minmax(0,.9fr) 48px minmax(0,1.15fr);align-items:center;width:100%}
.cst-lbl{margin:0 0 12px;font-size:13px;font-weight:500;color:#9FA4C0}
.cst-after .cst-lbl{color:var(--mint)}
.cst-before ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cst-before li{--k:clamp(0,(var(--p) - .25 - var(--i) * .09) * 7,1);padding:11px 14px;border-radius:12px;background:rgba(252,243,229,.06);border:1px solid rgba(252,243,229,.12);font-size:14px;line-height:1.35;color:#E3E5EF;opacity:calc(1 - var(--k) * .5)}
.cst-before li span{background:linear-gradient(#FF8F7A,#FF8F7A) 0 58%/calc(var(--k) * 100%) 1.5px no-repeat}
.cst-links{align-self:stretch;width:100%;height:100%;overflow:visible}
.cst-links path{fill:none;stroke:var(--mint);stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:calc(1 - clamp(0,(var(--p) - .45) * 4,1));opacity:.75}
.cst-after{--a:clamp(0,(var(--p) - .58) * 4,1);opacity:calc(.2 + .8 * var(--a));transform:translateY(calc((1 - var(--a)) * 18px)) scale(calc(.96 + .04 * var(--a)))}
.csu{border-radius:16px;background:#fff;padding:16px 18px;box-shadow:0 30px 60px -30px rgba(0,0,0,.55);color:var(--text);font-size:13.5px}
.csu-h b{display:block;font-family:var(--f-display);font-weight:600;font-size:17px;color:var(--navy-900);letter-spacing:-.01em}
.csu-h span{display:block;margin-top:2px;font-size:12.5px;color:var(--text-2)}
.csu-dots{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px;margin:14px 0 6px}
.csu-dots i{height:8px;border-radius:4px;background:#E7E9EF}
.csu-dots i.on{background:var(--teal)}
.csu-rows{list-style:none;margin:10px 0 0;padding:0}
.csu-rows li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-top:1px solid #F0F1F5}
.csu-rows li:first-child{border-top:0}
.csu-rows b{font-weight:600;color:var(--navy-900);white-space:nowrap}
.csu-rows li.hi b{color:var(--teal-700)}
.csu-rows em.ok{display:inline-flex;align-items:center;gap:4px;font-style:normal;color:var(--teal-700)}
.csu-bars{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}
.csu-bars span{display:block;font-size:12.5px;margin-bottom:5px}
.csu-bars i{display:block;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--teal),var(--mint));transform-origin:left;transform:scaleX(calc(var(--w) * (.15 + .85 * var(--a))))}
.csu-wa{display:flex;align-items:center;gap:8px;margin:12px 0 0;padding:9px 12px;border-radius:12px;background:#E3F5EA;color:#14532D;font-size:12.5px;line-height:1.35}
.csu-wa i{display:flex;color:#1FA855;flex:none}
.csu-tv{display:flex;flex-direction:column;align-items:center;gap:2px;padding:22px 18px;background:var(--navy-950);border:1px solid rgba(252,243,229,.12)}
.csu-l{font-size:12px;color:#9FA4C0}
.csu-tok{font-family:var(--f-display);font-size:64px;line-height:1;color:var(--led);text-shadow:0 0 22px rgba(255,193,99,.4)}
.csu-room{font-size:13px;color:var(--cream)}
.cst-body{display:flex;flex-direction:column;padding:clamp(28px,3.4vw,52px)}
.cst-quote{margin:0}
.cst-quote .tq-tag,.cst-more .tq-tag{display:inline-block;margin:0;padding:5px 11px;border-radius:999px;background:#E3F3F0;color:var(--teal-700);font-size:12.5px;font-weight:600}
.cst-quote blockquote{margin:18px 0 0;font-family:var(--f-display);font-weight:500;font-size:clamp(19px,1.5vw,22px);line-height:1.45;letter-spacing:-.01em;color:var(--navy-900)}
.cst-quote .who{display:flex;align-items:center;gap:12px;margin-top:22px}
.cst-quote .avatar,.cst-more .avatar{background:var(--navy-900);color:var(--cream)}
.cst-glance{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 0;padding:18px 0;border-block:1px solid var(--hair)}
.cst-glance b{display:block;font-family:var(--f-display);font-weight:600;font-size:24px;line-height:1.1;color:var(--navy-900);letter-spacing:-.02em}
.cst-glance span{display:block;margin-top:3px;font-size:13px;color:var(--text-2)}
.cst-cta-p{margin:22px 0 0;font-size:15px;color:var(--text)}
.cst-cta-p b{color:var(--navy-900)}
.cst-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:20px}
.cst-more{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:center;gap:14px clamp(24px,4vw,64px);margin:16px 0 0;padding:clamp(22px,2.6vw,32px);border-radius:24px;background:var(--sand);border:1px solid #F0E9DD}
.cst-more .tq-tag{grid-column:1/-1;justify-self:start}
.cst-more blockquote{margin:0;font-size:16.5px;line-height:1.6;color:var(--text)}
.cst-more .who{display:flex;align-items:center;gap:12px}
@media (max-width:1000px){.cst-card{grid-template-columns:1fr}.cst-more{grid-template-columns:1fr}}
@media (max-width:640px){.cst-cols{grid-template-columns:1fr;gap:16px}.cst-links{display:none}.cst-glance{grid-template-columns:repeat(3,auto);justify-content:space-between;gap:14px}.cst-glance b{font-size:20px}.cst-glance span{font-size:12.5px}}
@media (prefers-reduced-motion:reduce){.cst-vis{--p:1!important}}
.eyebrow::before{content:none!important}
/* Announcement bar close button */
.strip[hidden]{display:none}
.strip .wrap{position:relative}
.st-x{flex:none;display:grid;place-items:center;width:28px;height:28px;margin-right:-6px;border:0;border-radius:8px;background:none;color:#8F94B2;cursor:pointer;transition:background .2s,color .2s}
.st-x:hover{background:rgba(252,243,229,.08);color:var(--cream)}
.st-x:focus-visible{outline:2px solid var(--mint);outline-offset:1px}
.h3-copy > h1:first-child{margin-top:0}
/* Phones and tablets: the menu opens as a white drawer, so its links stay dark even over a dark banner */
@media (max-width:1080px){
  .dark-top:not(.nav-solid) .menu > a,.dark-top:not(.nav-solid) .dd-btn{color:var(--navy-900)}
  .dark-top:not(.nav-solid) .menu > a:hover,.dark-top:not(.nav-solid) .dd-btn:hover,.dark-top:not(.nav-solid) .dd.open .dd-btn{background:var(--sand);color:var(--navy-900)}
}
/* small labels that are headings for document structure */
main h2.eyebrow{font:600 14.5px/1.4 var(--f-body);letter-spacing:0;margin:0 0 10px;max-width:none;color:var(--teal)}
.cs-before h3{font-size:15px;font-weight:700;margin:0 0 10px}
.cs-before .b h3{color:#B42318}
.cs-before .a h3{color:var(--teal-700)}
