/* Nextstep4u — the homepage story (owner, 24 Oct 2026).
 *
 * Every section after the hero, after the owner's reference (the Apptics
 * page): a small pill over a dark heading with one lit icon tile and a
 * coloured phrase, a grey lede, then ONE crafted object per card, made from
 * the product's own interface (a paper, a clock, a report, a palette) rather
 * than stock art. A continuous light-grey ground with a different soft haze
 * behind each section, near-flat white paper cards, and objects that cast
 * the shadow. One blue band (pricing); one dark object (the report card).
 *
 * Surfaces: paper (cards), float (objects), frost (a glass look with no
 * blur, may move) and glass (real backdrop blur, on three static surfaces
 * only, never on phones). Ticks and crosses are drawn discs, never glyphs.
 *
 * Motion is light and physical, owner 24 Oct 2026: cards rise once when
 * they enter the view (home.js `.rv` -> `.in`), each object does one small
 * thing that means something (the paper is marked, the chart is drawn, the
 * clock ticks), and five loops run only while on screen ([data-loop],
 * story.js). Transform and opacity only. Under reduced motion the page is
 * complete and still.
 *
 * Colours: app.css tokens and canvas hexes only (scripts/check-palette.py);
 * masks use the keyword black. Type: Outfit; Open Sans stays on the two
 * proof numbers alone. */

:root{
  --st-out:cubic-bezier(.16,1,.3,1);
  --st-io:cubic-bezier(.65,0,.35,1);
  --st-paper-sh:inset 0 1px 0 #FFFFFF,0 0 0 1px rgba(13,20,32,.035),0 1px 2px rgba(13,20,32,.04),0 24px 48px -30px rgba(13,20,32,.22);
  --st-float-sh:0 0 0 1px rgba(13,20,32,.045),0 4px 10px -4px rgba(13,20,32,.06),0 16px 32px -10px rgba(13,20,32,.16);
  --ck:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E");
  --cx:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E");
}

/* ── ground ── */
/* overflow-x:clip, so a card waiting to slide in from the side never widens
   the page on a phone (it does not make a scroll container). */
#main{background:var(--chip);}
.st-sec{position:relative;isolation:isolate;overflow-x:clip;padding-top:96px;padding-bottom:96px;background:transparent;}
.st-sec + .st-sec{padding-top:24px;}
.st-haze::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(30% 40% at var(--hx,12%) var(--hy,30%),color-mix(in srgb,var(--blue-line) 40%,transparent),transparent 70%),
             radial-gradient(26% 36% at var(--gx,88%) var(--gy,75%),color-mix(in srgb,var(--green-line) 30%,transparent),transparent 70%);
  /* fades out before the section's edges, so no glow ends in a straight line */
  -webkit-mask-image:linear-gradient(180deg,transparent,black 20%,black 80%,transparent);mask-image:linear-gradient(180deg,transparent,black 20%,black 80%,transparent);}
#voices[hidden] + .st-sec{padding-top:96px;}
.st-sec + .st-close{padding-top:24px;}
.st-nowrap{white-space:nowrap;}

/* ── surfaces ── */
.st-card,.st-tile{position:relative;background:var(--page);border-radius:22px;box-shadow:var(--st-paper-sh);}
.st-float{background:var(--page);border-radius:14px;box-shadow:var(--st-float-sh);}
.st-frost{background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.72));
  box-shadow:inset 0 1px 0 #FFFFFF,inset 0 0 0 1px rgba(255,255,255,.6),0 10px 24px -10px rgba(13,20,32,.2);}
.st-glass{background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,255,255,.38));
  -webkit-backdrop-filter:blur(12px) saturate(150%);backdrop-filter:blur(12px) saturate(150%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 0 0 1px rgba(255,255,255,.45),0 14px 30px -10px rgba(13,20,32,.18);}
.st-glass.on-blue{background:rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 0 0 1px rgba(255,255,255,.18);}
@media (max-width:720px){
  .st-glass{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(255,255,255,.9);}
  .st-glass.on-blue{background:rgba(255,255,255,.16);}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){ .st-glass{background:rgba(255,255,255,.9);} }

/* Cards stay put on hover; the object in them lifts. */
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  :is(.st-card,.st-tile) .st-lift{transition:translate .3s var(--st-out);}
  :is(.st-card,.st-tile):hover .st-lift{translate:0 -4px;}
}

/* ── section heads ── */
.st-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;margin:0 auto 48px;max-width:760px;}
.st-pill{
  display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;
  background:var(--page);box-shadow:0 1px 2px rgba(13,20,32,.06),0 0 0 1px rgba(13,20,32,.05);
  font-size:12.5px;font-weight:500;color:var(--ink-3);
}
.st-pill.is-light{background:rgba(255,255,255,.16);color:#FFFFFF;box-shadow:0 0 0 1px rgba(255,255,255,.25);}
.st-h2{margin:0;font-size:clamp(28px,3.6vw,44px);line-height:1.12;letter-spacing:-.03em;font-weight:600;color:var(--ink);text-wrap:balance;}
.st-h2 em,.st-close-h em{font-style:normal;background:linear-gradient(90deg,var(--blue-deep),var(--blue) 45%,#3B86EE);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone;}
.st-h2 em.is-green{background-image:linear-gradient(90deg,var(--green-deep),var(--green-ink) 45%,var(--green));}
.st-price .st-h2 em{background:none;color:var(--blue-line);}
.st-h3{margin:0;font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--ink);display:flex;align-items:center;gap:10px;}
.st-ico{position:relative;overflow:hidden;display:inline-grid;place-items:center;vertical-align:-.12em;width:1.04em;height:1.04em;border-radius:.26em;margin:0 .06em;rotate:-5deg;
  background:linear-gradient(160deg,#3B86EE,var(--blue) 55%,var(--blue-deep));
  box-shadow:inset 0 2px 0 rgba(255,255,255,.45),inset 0 -6px 10px rgba(13,58,120,.35),0 12px 24px -6px rgba(2,101,224,.55);}
.st-ico::after{content:"";position:absolute;inset:6% 10% 54%;border-radius:.2em .2em 50% 50%;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0));pointer-events:none;}
.st-ico svg{width:.62em;height:.62em;}
.st-ico.is-green{background:linear-gradient(160deg,var(--green),var(--green-ink) 55%,var(--green-deep));box-shadow:inset 0 2px 0 rgba(255,255,255,.45),inset 0 -6px 10px rgba(0,105,92,.35),0 12px 24px -6px rgba(0,148,124,.5);}
.st-ico.is-frost{background:rgba(255,255,255,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 0 0 1px rgba(255,255,255,.4),0 10px 22px -8px rgba(13,58,120,.5);}
.st-lede{margin:0;font-size:16.5px;line-height:1.55;color:var(--ink-3);max-width:56ch;}
.st-lede a{color:var(--blue);}
.st-left{text-align:left;}
.st-note{margin:0;font-size:13px;color:var(--ink-3);}

.st-dark-btn{
  display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 18px;border-radius:999px;white-space:nowrap;
  background:linear-gradient(180deg,var(--night-3),var(--night));color:#FFFFFF;font-weight:600;font-size:14.5px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 18px rgba(13,20,32,.18);
}
.st-dark-btn:hover{color:#FFFFFF;}
.st-dark-btn svg,.st-more svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s var(--ease);}
.st-more{display:inline-flex;align-items:center;gap:6px;}
.st-more svg{width:14px;height:14px;}
@media (hover:hover){ .st-dark-btn:hover svg,.st-more:hover svg{transform:translateX(3px);} }
.st-card h3,.st-tile h3{margin:0;font-size:17.5px;font-weight:600;letter-spacing:-.015em;color:var(--ink);}
.st-card p,.st-tile p{margin:6px 0 0;font-size:14.5px;line-height:1.5;color:var(--ink-3);}

/* ── features ── */
.st-feat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.st-card{padding:24px;display:flex;flex-direction:column;overflow:hidden;}
.st-feed{margin:22px -24px -24px;padding:4px 24px 24px;flex:1;display:flex;flex-direction:column;gap:10px;
  -webkit-mask-image:linear-gradient(180deg,black 85%,transparent);mask-image:linear-gradient(180deg,black 85%,transparent);}
.st-row{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:14px;background:var(--page);box-shadow:var(--st-float-sh);}
.st-doc{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;flex:none;background:var(--blue-bg);}
.st-doc svg{width:18px;height:18px;fill:var(--page);stroke:var(--blue);stroke-width:1.8;stroke-linejoin:round;}
.st-row span{display:flex;flex-direction:column;min-width:0;flex:1;}
.st-row b{font-size:14px;font-weight:600;color:var(--ink);}
.st-row small{font-size:12.5px;color:var(--ink-4);}
.st-row em{font-style:normal;font-size:12.5px;font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;}

.st-ui-q{margin:20px -24px -24px;padding:16px 24px 24px;flex:1;background:radial-gradient(70% 60% at 85% 100%,var(--green-bg),transparent 70%);}
.st-q-top{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:var(--ink-4);}
.st-q-top em{font-style:normal;color:var(--amber-deep);background:var(--amber-bg);padding:1px 8px;border-radius:99px;font-variant-numeric:tabular-nums;}
.st-card .st-q-stem{margin:10px 0 12px;font-size:14px;font-weight:500;color:var(--ink);}
.st-opt{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:12px;background:var(--page);font-size:13.5px;color:var(--ink-2);box-shadow:0 0 0 1px var(--line-2);}
.st-opt + .st-opt{margin-top:6px;}
.st-opt b{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:var(--chip);font-size:12px;color:var(--ink-3);}
.st-opt small{margin-left:auto;font-size:11.5px;font-weight:600;}
.st-opt.is-wrong{box-shadow:0 0 0 1px var(--red);background:var(--red-bg);}
.st-opt.is-wrong b{background:var(--red);color:#FFFFFF;} .st-opt.is-wrong small{color:var(--red);}
.st-opt.is-right{box-shadow:0 0 0 1px var(--green);background:var(--green-bg);}
.st-opt.is-right b{background:var(--green);color:#FFFFFF;} .st-opt.is-right small{color:var(--green-deep);}
.st-why{position:relative;z-index:1;margin:10px 0 0 22px;padding:10px 12px;border-radius:14px;font-size:12.5px;line-height:1.45;color:var(--ink-2);transform:rotate(-1deg);}
.st-why b{display:inline-block;margin-right:6px;padding:1px 8px;border-radius:99px;background:var(--green-bg);color:var(--green-deep);font-size:11px;font-weight:700;}

.st-ui-chart{display:flex;flex-direction:column;margin-top:20px;flex:1;}
.st-legend{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--ink-3);align-items:center;}
.st-legend span::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:1px;}
.st-legend .is-blue::before{background:var(--blue);} .st-legend .is-green::before{background:var(--green);} .st-legend .is-amber::before{background:var(--amber);}
.st-legend small{margin-left:auto;color:var(--ink-3);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;}
.st-plot{position:relative;margin-top:10px;}
.st-plot svg{display:block;width:100%;height:auto;overflow:visible;}
.st-gridl path{stroke:var(--line-2);stroke-width:1;}
.st-ln{fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.st-ln.is-blue{stroke:var(--blue);} .st-ln.is-green{stroke:var(--green);} .st-ln.is-amber{stroke:var(--amber);}
.st-yax text,.st-xax text{font-size:10px;fill:var(--ink-4);font-family:inherit;} .st-xax text{text-anchor:middle;}
.st-end{fill:#FFFFFF;stroke:var(--blue);stroke-width:2.5;}
.st-deltas{margin-top:auto;padding-top:14px;display:flex;gap:8px;}
.st-deltas span{flex:1;padding:8px 10px;border-radius:12px;background:var(--chip);font-size:12px;color:var(--ink-3);}
.st-deltas span::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:1px;}
.st-deltas .is-blue::before{background:var(--blue);} .st-deltas .is-green::before{background:var(--green);} .st-deltas .is-amber::before{background:var(--amber);}
.st-deltas b{display:block;margin-top:2px;font-size:16px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;}
.st-plot::after{content:"";position:absolute;top:0;bottom:12%;left:9%;right:-2px;background:linear-gradient(90deg,transparent,var(--page) 20px);transform-origin:100% 50%;transform:scaleX(0);pointer-events:none;}

/* ── four steps ── */
.st-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:20px;}
.st-step{--ac:var(--blue);--ac-bg:var(--blue-bg);--ac-line:var(--blue-line);
  position:relative;display:grid;grid-template-columns:1fr 1fr;padding:10px;border-radius:28px;
  background:linear-gradient(135deg,var(--ac-bg),var(--page) 46%,var(--sunk));
  box-shadow:inset 0 1px 0 #FFFFFF,0 0 0 1px var(--ac-line),0 30px 60px -34px color-mix(in srgb,var(--ac) 50%,transparent);}
.st-step:nth-child(2){--ac:var(--green-ink);--ac-bg:var(--green-bg);--ac-line:var(--green-line);}
.st-step:nth-child(3){--ac:var(--amber-ink);--ac-bg:var(--amber-bg);--ac-line:var(--amber-line);}
.st-step:nth-child(4){--ac:var(--blue-deep);}
.st-step-t{position:relative;padding:28px 26px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;justify-content:flex-end;min-height:300px;}
.st-num{position:absolute;top:4px;left:22px;font-size:104px;font-weight:700;letter-spacing:-.04em;line-height:1;color:transparent;
  background:linear-gradient(180deg,color-mix(in srgb,var(--ac) 60%,var(--ac-line)),color-mix(in srgb,var(--ac-line) 20%,transparent) 92%);
  -webkit-background-clip:text;background-clip:text;}
.st-tag{position:relative;display:inline-flex;padding:5px 13px;border-radius:999px;color:#FFFFFF;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  background:linear-gradient(180deg,#3B86EE,var(--blue) 60%,var(--blue-deep));box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 8px 18px -4px rgba(2,101,224,.5);}
.st-step h3{position:relative;margin:0;font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--ink);}
.st-step p{position:relative;margin:0;font-size:15px;line-height:1.5;color:var(--ink-3);max-width:40ch;}
.st-step-ui{border-radius:20px;overflow:hidden;min-height:300px;padding:28px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:radial-gradient(circle,color-mix(in srgb,var(--ac) 16%,transparent) 1px,transparent 1.6px) 0 0/18px 18px,
             linear-gradient(180deg,var(--page),color-mix(in srgb,var(--ac-bg) 55%,var(--page)));
  box-shadow:inset 0 1px 0 #FFFFFF,0 0 0 1px color-mix(in srgb,var(--ac-line) 70%,transparent),0 18px 40px -24px color-mix(in srgb,var(--ac) 45%,transparent);}

.st-pick{width:100%;max-width:320px;display:flex;flex-direction:column;align-items:center;}
.st-browser{display:flex;align-items:center;gap:5px;width:100%;padding:9px 14px;border-radius:999px;background:var(--page);box-shadow:var(--st-float-sh);font-size:12px;color:var(--ink-3);}
.st-browser i{width:7px;height:7px;border-radius:50%;background:var(--line-3);}
.st-browser span{margin-left:8px;}
.st-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;margin-top:14px;}
.st-chips span{text-align:center;padding:8px 6px;border-radius:12px;background:var(--page);font-size:12px;color:var(--ink-3);box-shadow:0 0 0 1px var(--line);white-space:nowrap;}
.st-chips .is-on{background:var(--blue);color:#FFFFFF;box-shadow:0 8px 18px -6px rgba(2,101,224,.5);}
.st-wires{width:100%;height:44px;}
.st-wires path{fill:none;stroke:var(--line-3);stroke-width:1.5;stroke-dasharray:3 4;vector-effect:non-scaling-stroke;}
.st-wires path.is-on{stroke:var(--blue);stroke-dasharray:none;}
.st-brandbar{display:grid;place-items:center;width:100%;height:52px;border-radius:999px;background:linear-gradient(90deg,var(--blue-deep),var(--blue) 45%,#3B86EE);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 14px 28px -10px rgba(2,101,224,.55);}
.st-brandbar{grid-auto-flow:column;justify-content:center;gap:8px;color:#FFFFFF;}
.st-brandbar img{height:26px;width:auto;}
/* The real logo, on white so its blue and gold read (owner, 8 Nov 2026). */
.st-logo-chip,.st-flip-name{display:grid;place-items:center;padding:5px 14px;border-radius:999px;background:#FFFFFF;
  box-shadow:0 0 0 1px rgba(255,255,255,.6),0 8px 18px -8px rgba(13,20,32,.35);}
.st-logo-chip img{height:32px;width:auto;}
.st-brandbar b,.st-flip-name b{font-size:17px;font-weight:700;letter-spacing:-.02em;color:#FFFFFF;}

.st-clock{width:100%;max-width:300px;padding:18px 20px;border-radius:18px;background:linear-gradient(180deg,var(--night-3),var(--night));color:#FFFFFF;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 22px 40px -14px rgba(13,20,32,.5);transform:perspective(900px) rotateX(6deg) rotateY(-8deg);}
.st-clock span,.st-clock small{font-size:12px;color:var(--ink-4);}
.st-clock b{display:block;margin-top:2px;font-size:40px;line-height:1.05;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
.st-prog{height:6px;margin:14px 0 8px;border-radius:99px;background:var(--night-3);overflow:hidden;}
.st-prog i{display:block;height:100%;transform-origin:left;transform:scaleX(.29);background:linear-gradient(90deg,var(--green),#3B86EE);}

.st-stack{display:grid;width:100%;max-width:300px;} .st-stack > *{grid-area:1/1;}
.st-stack > span{border-radius:14px;background:var(--page);box-shadow:0 0 0 1px rgba(13,20,32,.05),0 8px 18px -10px rgba(13,20,32,.14);}
.st-stack > span:first-child{transform:rotate(7deg) translate(10px,10px);opacity:.45;}
.st-stack > span:nth-child(2){transform:rotate(3.5deg) translate(5px,5px);opacity:.75;}
.st-receipt{position:relative;padding:16px;border-radius:14px;background:var(--page);transform:rotate(-2deg);box-shadow:var(--st-float-sh);
  display:flex;flex-direction:column;gap:8px;font-size:13px;}
.st-receipt div{display:flex;justify-content:space-between;color:var(--ink-3);}
.st-receipt b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums;}
.st-receipt .is-weak{padding-top:8px;border-top:1px dashed var(--line-3);}
.st-receipt .is-weak b{color:var(--red);}
.st-receipt small{font-size:11.5px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;text-align:right;}

.st-week{position:relative;width:100%;max-width:320px;padding:22px 16px 10px;border-radius:16px;background:var(--page);box-shadow:var(--st-float-sh);
  transform:perspective(900px) rotateX(10deg) rotate(-3deg);}
.st-week::before{content:"";position:absolute;top:-7px;left:28px;right:28px;height:14px;background:radial-gradient(circle,var(--night-3) 0 3.5px,transparent 4px) 0 0/calc(100% / 6) 100% repeat-x;}
.st-week-h{display:flex;justify-content:space-between;margin:0 0 6px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);}
.st-week-h small{font-size:10.5px;color:var(--ink-3);}
.st-week div{display:flex;align-items:center;gap:10px;padding:10px 2px;border-top:1px solid var(--line-2);font-size:13px;color:var(--ink);}
.st-week b{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;flex:none;background:var(--chip);font-size:11.5px;color:var(--ink-2);font-weight:700;}
.st-week span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;}
.st-week em{flex:none;padding:3px 8px;border-radius:99px;font-style:normal;font-size:11px;font-weight:600;white-space:nowrap;}
.st-week .is-rev{background:var(--blue-bg);color:var(--blue-deep);}
.st-week .is-slow{background:var(--red-bg);color:var(--red);}
.st-week .is-skip{background:var(--amber-bg);color:var(--amber-deep);}

/* ── benefits: offset masonry, seven tiles ── */
.st-bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;
  grid-template-rows:repeat(6,minmax(112px,auto));grid-template-areas:"a b c" "a b c" "a d c" "e d g" "e f g" "e f g";}
.st-tile{padding:22px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;}
.st-t-a{grid-area:a;} .st-t-b{grid-area:b;} .st-t-c{grid-area:c;} .st-t-d{grid-area:d;}
.st-t-e{grid-area:e;} .st-t-f{grid-area:f;} .st-t-g{grid-area:g;}
.st-t-a h3,.st-t-c h3,.st-t-e h3{font-size:18px;}

/* A · the funnel */
.st-funnel{position:relative;flex:1;margin:-22px -22px 8px;min-height:220px;}
.st-cone{position:absolute;inset:16% 4% 32%;filter:blur(8px);}
.st-cone::before{content:"";position:absolute;inset:0;clip-path:polygon(0 0,100% 0,60% 100%,40% 100%);
  background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--blue-line) 70%,transparent));}
.st-funnel > .st-fq{position:absolute;display:grid;place-items:center;border-radius:50%;background:var(--page);color:var(--blue);font-weight:700;font-size:13px;line-height:1;box-shadow:0 0 0 3px var(--page),0 0 0 9px color-mix(in srgb,var(--c) 70%,transparent),0 10px 20px -6px rgba(13,20,32,.2);}
.st-funnel > img.st-fq{object-fit:cover;background:var(--page);}
.st-funnel > .st-fq.is-ta{font-family:var(--ta);font-weight:400;font-size:17px;color:var(--amber-deep);}
.st-funnel > .st-fq:nth-child(2){width:34px;height:34px;left:5%;top:12px;}
.st-funnel > .st-fq:nth-child(3){width:46px;height:46px;left:22%;top:18%;}
.st-funnel > .st-fq:nth-child(4){width:52px;height:52px;left:calc(50% - 26px);top:4%;}
.st-funnel > .st-fq:nth-child(5){width:40px;height:40px;right:22%;top:22%;}
.st-funnel > .st-fq:nth-child(6){width:30px;height:30px;right:6%;top:14px;}
.st-funnel-mark{position:absolute;left:50%;top:62%;translate:-50% -50%;display:grid;place-items:center;width:104px;height:104px;border-radius:50%;
  background:#FFFFFF;box-shadow:0 0 0 6px color-mix(in srgb,var(--blue-bg) 80%,transparent),0 16px 30px -10px rgba(2,101,224,.4);}
.st-funnel-mark img{width:80%;}
.st-funnel-tag{position:absolute;left:50%;bottom:8px;translate:-50% 0;display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 5px;border-radius:8px;
  background:var(--page);font-size:12.5px;color:var(--ink-2);box-shadow:var(--st-float-sh);white-space:nowrap;}
.st-funnel-tag i{width:20px;height:20px;border-radius:5px;background:var(--green) var(--ck) center/12px no-repeat;}
/* The steps as a checklist, all on screen (owner, 8 Nov 2026). Without
   motion the first three show ticked; with motion they tick in turn,
   hold, and clear together. */
.st-ticks{list-style:none;margin:0 0 16px;padding:12px 14px;display:grid;gap:7px;border-radius:14px;background:var(--page);box-shadow:var(--st-float-sh);}
.st-ticks li{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:var(--ink-3);}
.st-ticks i{flex:none;width:20px;height:20px;border-radius:50%;box-sizing:border-box;border:1.5px solid var(--line-3);background:#FFFFFF var(--ck) center/12px no-repeat;}
.st-ticks li.is-done{color:var(--ink);}
.st-ticks li.is-done i{border-color:var(--green);background-color:var(--green);}
.st-funnel-tag.is-extra{opacity:0;}

/* B · the live waveform */
.st-bars{position:relative;display:flex;align-items:center;justify-content:space-between;height:120px;margin-bottom:18px;padding-top:28px;}
.st-bars i{flex:none;width:9px;height:var(--h);border-radius:99px;transform-origin:center;
  background:linear-gradient(180deg,var(--green-line) 0 18%,var(--green) 18% 72%,var(--green-ink));}
.st-bars i.n{background:linear-gradient(180deg,var(--red-bg) 0 18%,var(--red) 18%);}
.st-bars i.s{background:var(--line-3);}
.st-live{position:absolute;left:0;right:0;top:0;display:flex;justify-content:space-between;font-size:12px;color:var(--ink-3);}
.st-live small{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);}

/* C · mistakes flow down into the band and come out as habits */
.st-flip{flex:1;display:flex;flex-direction:column;justify-content:center;margin:-22px -22px 18px;padding:0 22px;
  -webkit-mask-image:linear-gradient(180deg,transparent,black 16%,black 84%,transparent);mask-image:linear-gradient(180deg,transparent,black 16%,black 84%,transparent);}
.st-flip-lane{height:128px;overflow:hidden;margin-inline:-22px;padding-inline:22px;}
.st-flip-lane.is-in{margin-bottom:-6px;} .st-flip-lane.is-out{margin-top:-6px;}
.st-flip-lane > div{display:flex;flex-direction:column;}
.st-flip-row{display:flex;align-items:center;gap:10px;margin:0 2px 8px;padding:9px 12px;border-radius:12px;font-size:13px;background:var(--page);color:var(--ink-2);box-shadow:var(--st-float-sh);}
.st-flip .is-no{color:var(--ink-4);}
.st-flip i{width:20px;height:20px;border-radius:50%;flex:none;background:var(--red) var(--cx) center/11px no-repeat;}
.st-flip .is-ok i{background:var(--green) var(--ck) center/12px no-repeat;}
.st-flip-band{position:relative;z-index:1;display:grid;place-items:center;height:84px;margin:0 -22px;}
.st-flip-band svg{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 14px 22px rgba(2,101,224,.3));}
.st-flip-name{position:relative;}
.st-flip-name img{height:34px;width:auto;}

/* D · three parts around one mark */
.st-orbit{position:relative;height:214px;margin-bottom:12px;}
.st-orbit::before,.st-orbit::after{content:"";position:absolute;left:50%;top:50%;border-radius:50%;translate:-50% -50%;}
.st-orbit::before{width:200px;height:200px;background:radial-gradient(circle,var(--blue-bg) 0 36%,color-mix(in srgb,var(--blue-bg) 45%,transparent) 54%,transparent 70%);}
.st-orbit::after{display:none;width:104px;height:104px;background:rgba(255,255,255,.75);box-shadow:0 0 0 1px #FFFFFF,0 10px 24px -10px rgba(2,101,224,.25);}
.st-orbit-mark{position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:1;display:grid;place-items:center;width:100px;height:100px;border-radius:50%;
  background:#FFFFFF;box-shadow:0 0 0 6px color-mix(in srgb,var(--blue-bg) 80%,transparent),0 12px 26px -8px rgba(2,101,224,.35);}
.st-orbit-mark img{width:80%;}
/* The three parts as bubbles, named in full (owner, 8 Nov 2026); the Tamil
   one in Meera Inimai at its own weight, never a faked bold. */
.st-orbit-i{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:5px 13px 5px 5px;border-radius:999px;
  background:var(--page);color:var(--ink);font-weight:600;font-size:13px;line-height:1.2;white-space:nowrap;
  box-shadow:0 0 0 1px rgba(13,20,32,.04),0 12px 26px -8px rgba(13,20,32,.2);}
.st-orbit-i i{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;font-style:normal;font-weight:700;font-size:12px;}
.st-orbit-i [lang="ta"]{font-family:var(--ta);font-weight:400;}
.st-orbit-i.is-1{left:0;top:6px;rotate:-3deg;font-size:14.5px;}
.st-orbit-i.is-1 i{background:var(--amber-bg);color:var(--amber-deep);font-size:17px;}
.st-orbit-i.is-2{right:0;top:30px;rotate:3deg;}
.st-orbit-i.is-2 i{background:var(--blue-bg);color:var(--blue);}
.st-orbit-i.is-3{left:50%;bottom:4px;translate:-50% 0;rotate:-1.5deg;}
.st-orbit-i.is-3 i{background:var(--green-bg);color:var(--green-deep);}

/* E · the sign-in code */
.st-signin{display:flex;flex-direction:column;gap:10px;margin:auto 6px;margin-bottom:auto;padding:18px;border-radius:16px;background:var(--page);box-shadow:var(--st-float-sh);rotate:-1.5deg;}
.st-signin b{font-size:14px;color:var(--ink);font-weight:600;}
.st-signin small{margin-top:-6px;font-size:12px;color:var(--ink-4);}
.st-t-e h3{margin-top:22px;}
.st-otp{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;}
.st-otp i{display:grid;place-items:center;aspect-ratio:1;border-radius:10px;background:var(--page);box-shadow:inset 0 0 0 1px var(--line);font-style:normal;font-weight:700;font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums;}
.st-otp .is-caret{box-shadow:inset 0 0 0 2px var(--blue),0 0 0 4px var(--blue-bg);}
.st-otp .is-caret::after{content:"";width:1.5px;height:16px;background:var(--blue);}
.st-g{display:flex;justify-content:center;padding:9px 12px;border-radius:10px;font-size:13px;font-weight:600;color:var(--ink-2);box-shadow:0 0 0 1px var(--line);}

/* F · exam-hall practice: calm */
.st-hall{position:relative;flex:1;display:grid;place-items:center;padding:28px 0 6px;margin-bottom:18px;} .st-hall > *{grid-area:1/1;}
.st-hall-card,.st-hall-back{width:min(100%,264px);border-radius:16px;background:var(--page);}
.st-hall-back{align-self:stretch;box-shadow:0 0 0 1px rgba(13,20,32,.04),0 8px 18px -10px rgba(13,20,32,.14);}
.st-hall-back:first-child{transform:translateY(-22px) scale(.84);opacity:.35;}
.st-hall-back:nth-child(2){transform:translateY(-11px) scale(.92);opacity:.65;}
.st-hall-card{position:relative;padding:14px 16px;box-shadow:var(--st-float-sh);}
.st-hall-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--ink-4);}
.st-hall-top b{padding:3px 10px;border-radius:999px;background:var(--night);color:#FFFFFF;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;box-shadow:0 6px 14px -4px rgba(13,20,32,.4);}
.st-hall-grid{display:grid;grid-template-columns:repeat(4,38px);gap:12px;justify-content:center;margin:16px 0 14px;}
.st-hall-grid i{position:relative;display:grid;place-items:center;height:38px;border-radius:11px;font-style:normal;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink-3);background:var(--page);box-shadow:0 0 0 1px var(--line);}
.st-hall-grid .a{background:var(--green);color:#FFFFFF;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 6px 12px -4px rgba(0,148,124,.45);}
.st-hall-grid .m{background:var(--amber-bg);color:var(--amber-deep);box-shadow:0 0 0 1.5px var(--amber);}
.st-hall-grid .now{color:var(--blue);box-shadow:0 0 0 2px var(--blue);}
.st-hall-key{display:flex;justify-content:center;gap:16px;font-size:11.5px;color:var(--ink-4);}
.st-hall-key span::before{content:"";display:inline-block;width:8px;height:8px;border-radius:3px;margin-right:6px;}
.st-hall-key .a::before{background:var(--green);} .st-hall-key .m::before{background:var(--amber-bg);box-shadow:0 0 0 1.5px var(--amber);}

/* E, F, G · aurora to white. The owner picked the daily-challenge card as
   the look for its neighbours (24 Oct 2026); the sign-in card mirrors it and
   the exam-hall card warms its right side with amber. The white object sits
   where the colour fades, so it reads as glass on light. */
.st-t-e{background:radial-gradient(70% 55% at 85% 0%,color-mix(in srgb,#3B86EE 64%,transparent),transparent 70%),radial-gradient(60% 55% at 5% 5%,color-mix(in srgb,var(--green-line) 75%,transparent),transparent 70%),
             linear-gradient(180deg,color-mix(in srgb,var(--blue-line) 72%,var(--page)) 0%,color-mix(in srgb,var(--blue-line) 72%,var(--page)) 26%,var(--blue-bg) 46%,var(--page) 66%);}
.st-t-f{background:radial-gradient(70% 55% at 15% 0%,color-mix(in srgb,#3B86EE 60%,transparent),transparent 70%),radial-gradient(60% 55% at 95% 5%,color-mix(in srgb,var(--amber-line) 75%,transparent),transparent 70%),
             linear-gradient(180deg,color-mix(in srgb,var(--blue-line) 72%,var(--page)) 0%,color-mix(in srgb,var(--blue-line) 72%,var(--page)) 22%,var(--blue-bg) 44%,var(--page) 64%);}
:is(.st-t-e,.st-t-f) .st-signin,.st-t-f .st-hall-card{box-shadow:inset 0 1px 0 #FFFFFF,0 0 0 1px rgba(255,255,255,.7),0 22px 44px -16px rgba(13,58,120,.35);}
.st-t-f .st-hall-back{background:rgba(255,255,255,.7);}
.st-t-a{background:radial-gradient(70% 45% at 15% 0%,color-mix(in srgb,#3B86EE 52%,transparent),transparent 70%),radial-gradient(60% 45% at 95% 5%,color-mix(in srgb,var(--green-line) 75%,transparent),transparent 70%),
             linear-gradient(180deg,color-mix(in srgb,var(--blue-line) 72%,var(--page)) 0%,var(--blue-bg) 34%,var(--page) 56%);}
.st-t-b{background:radial-gradient(70% 60% at 85% 0%,color-mix(in srgb,#3B86EE 56%,transparent),transparent 70%),radial-gradient(60% 60% at 5% 5%,color-mix(in srgb,var(--green-line) 75%,transparent),transparent 70%),
             linear-gradient(180deg,color-mix(in srgb,var(--blue-line) 72%,var(--page)) 0%,var(--blue-bg) 40%,var(--page) 64%);}
.st-t-c{background:radial-gradient(70% 45% at 15% 0%,color-mix(in srgb,#3B86EE 52%,transparent),transparent 70%),radial-gradient(60% 45% at 95% 5%,color-mix(in srgb,var(--amber-line) 75%,transparent),transparent 70%),
             linear-gradient(180deg,color-mix(in srgb,var(--blue-line) 72%,var(--page)) 0%,var(--blue-bg) 34%,var(--page) 58%);}
.st-t-d{background:radial-gradient(70% 55% at 15% 0%,color-mix(in srgb,var(--green-line) 75%,transparent),transparent 70%),radial-gradient(60% 55% at 95% 5%,color-mix(in srgb,#3B86EE 52%,transparent),transparent 70%),
             linear-gradient(180deg,color-mix(in srgb,var(--blue-line) 72%,var(--page)) 0%,var(--blue-bg) 38%,var(--page) 62%);}

/* G · today's challenge: aurora to white, a glass week strip */
.st-t-g{justify-content:flex-end;color:var(--ink);
  background:radial-gradient(70% 55% at 15% 0%,color-mix(in srgb,#3B86EE 64%,transparent),transparent 70%),radial-gradient(60% 55% at 95% 5%,color-mix(in srgb,var(--green-line) 75%,transparent),transparent 70%),
             linear-gradient(180deg,color-mix(in srgb,var(--blue-line) 72%,var(--page)) 0%,color-mix(in srgb,var(--blue-line) 72%,var(--page)) 30%,var(--blue-bg) 48%,var(--page) 66%);}
.st-t-g h3{color:var(--ink);font-size:22px;line-height:1.2;letter-spacing:-.02em;margin-top:18px;}
.st-t-g p{color:var(--ink-3);}
.st-t-g .st-dark-btn{align-self:flex-start;margin-top:16px;}
.st-days{align-self:center;display:flex;gap:8px;padding:10px;border-radius:18px;margin-block:auto;}
.st-days i{position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;font-style:normal;font-size:13px;font-weight:600;color:var(--blue-deep);background:rgba(255,255,255,.5);}
.st-days .is-today{background:var(--blue);color:#FFFFFF;box-shadow:0 6px 14px -4px rgba(2,101,224,.55);}

/* ── the report ── */
.st-story-proof .st-pill{margin-bottom:14px;}
.st-story-proof .st-lede{margin-top:14px;}
.st-story-proof .v1-story-proof-in{position:relative;isolation:isolate;}
.st-story-proof .v1-story-proof-in::before{content:"";position:absolute;inset:-12% -6% -12% 42%;z-index:-1;
  background:radial-gradient(45% 55% at 60% 50%,var(--blue-bg),transparent 70%),radial-gradient(30% 40% at 85% 75%,var(--green-bg),transparent 70%);}
#proof{border-radius:28px;box-shadow:0 0 0 10px rgba(255,255,255,.65),0 0 0 11px rgba(13,20,32,.05),0 40px 70px -30px rgba(13,20,32,.45);}
/* Sample review lines and cards show only in preview (story.js sets the class). */
html:not(.st-preview-reviews) #proof .v1-reviews:has(.v1-reviews-stamp){display:none;}
#proof .v1-cut-fill{width:var(--w,0);transition:none;}
#proof .v1-jump-arrow{animation:none;}

/* ── calculator ── */
.st-calc{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:10px;max-width:1080px;margin:0 auto;padding:10px;border-radius:28px;background:var(--page);box-shadow:var(--st-paper-sh);}
.st-calc-in{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:20px;background:var(--chip);}
.st-range{display:flex;flex-direction:column;gap:12px;padding:14px 16px;border-radius:14px;background:var(--page);font-size:13.5px;color:var(--ink-3);
  box-shadow:0 0 0 1px rgba(13,20,32,.035),0 6px 16px -10px rgba(13,20,32,.2);}
.st-range > span{display:flex;justify-content:space-between;align-items:baseline;}
.st-range b{font-size:18px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;}
.st-range input{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:99px;margin:0;
  background:linear-gradient(90deg,var(--blue) var(--v,50%),var(--line) var(--v,50%));}
.st-range input::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--page);box-shadow:0 0 0 2px var(--blue),0 4px 10px rgba(2,101,224,.3);cursor:pointer;}
.st-range input::-moz-range-thumb{width:20px;height:20px;border:0;border-radius:50%;background:var(--page);box-shadow:0 0 0 2px var(--blue),0 4px 10px rgba(2,101,224,.3);cursor:pointer;}
.st-range input:focus-visible{outline:2.5px solid var(--blue);outline-offset:4px;}
.st-calc-sum{margin-top:auto;padding:16px;border-radius:14px;text-align:center;background:linear-gradient(180deg,#FFFFFF,var(--blue-tint));box-shadow:var(--st-float-sh);}
.st-calc-sum span,.st-calc-sum small{font-size:13px;color:var(--ink-3);}
.st-calc-sum b{display:block;font-size:34px;font-weight:700;letter-spacing:-.03em;color:var(--blue);font-variant-numeric:tabular-nums;}
.st-calc-out{display:flex;flex-direction:column;gap:16px;padding:20px;border-radius:20px;background:var(--chip);}
.st-gauge{display:flex;flex-direction:column;align-items:center;}
.st-dial{--dw:320px;position:relative;width:var(--dw);max-width:100%;aspect-ratio:2 / 1;overflow:hidden;}
.st-dial::before{content:"";position:absolute;left:0;top:0;width:100%;aspect-ratio:1;box-sizing:border-box;border-radius:50%;border:22px solid var(--blue-line);}
.st-dial svg{position:absolute;left:0;top:100%;width:100%;overflow:visible;transform-origin:50% 0;transform:rotate(calc(var(--p) * 1.8deg));}
.st-dial path{fill:none;stroke:var(--blue);stroke-width:22;}
.st-gauge-v{position:relative;margin-top:-64px;max-width:230px;text-align:center;}
.st-gauge-v b{display:block;font-size:38px;font-weight:700;letter-spacing:-.03em;line-height:1.05;color:var(--ink);font-variant-numeric:tabular-nums;}
.st-gauge-v span{display:block;margin-top:2px;font-size:13px;color:var(--ink-3);}
.st-calc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;}
/* Plan choice: three segments, the picked one blue (owner, 8 Nov 2026). */
.st-calc-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border-radius:14px;background:var(--page);}
.st-calc-plans button{min-height:42px;border:0;border-radius:10px;background:transparent;font:inherit;font-size:14.5px;font-weight:600;color:var(--ink-3);cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease);}
.st-calc-plans button[aria-checked="true"]{background:var(--blue);color:#FFFFFF;box-shadow:0 6px 14px -6px rgba(2,101,224,.6);}
.st-calc-plans button:focus-visible{outline:2.5px solid var(--blue);outline-offset:2px;}
.st-range input:disabled{opacity:.4;cursor:not-allowed;}
.st-calc-grid .is-cost{background:var(--amber-tint);box-shadow:0 0 0 1px var(--amber-line);}
.st-calc-grid .is-cost dd{color:var(--amber-deep);}
.st-calc-grid small{margin-top:2px;font-size:11.5px;line-height:1.3;color:var(--ink-3);}
.st-calc-cap{margin:0;padding:10px 14px;border-radius:12px;background:var(--blue-bg);color:var(--ink-2);font-size:13px;line-height:1.45;}
.st-calc-grid div{display:flex;flex-direction:column;justify-content:space-between;padding:14px;border-radius:14px;background:var(--page);box-shadow:0 0 0 1px rgba(13,20,32,.035),0 6px 16px -10px rgba(13,20,32,.2);}
.st-calc-grid dt{font-size:12.5px;color:var(--ink-3);}
.st-calc-grid dd{margin:4px 0 0;font-size:24px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;}

/* ── before vs after ── */
.st-vs{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:center;}
.st-vs-t{display:flex;flex-direction:column;align-items:flex-start;gap:14px;}
.st-vs-t .st-dark-btn{margin-top:8px;}
.st-vs-table{position:relative;isolation:isolate;border-radius:28px;background:var(--page);padding:8px 8px 8px 0;box-shadow:var(--st-paper-sh);}
.st-vs-table::before{content:"";position:absolute;top:8px;bottom:8px;right:8px;width:130px;border-radius:18px;z-index:0;
  background:linear-gradient(180deg,#3B86EE,var(--blue) 35%,var(--blue-deep));box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 22px 40px -12px rgba(2,101,224,.5);}
.st-vs-row{display:grid;grid-template-columns:minmax(0,1fr) 128px 130px;align-items:stretch;}
.st-vs-row > span{position:relative;z-index:1;display:flex;align-items:center;padding:13px 16px;font-size:14px;color:var(--ink-2);}
.st-vs-row > span:nth-child(n+2){display:grid;place-items:center;}
.st-vs-row + .st-vs-row > span:is(:first-child,:nth-child(2)){border-top:1px solid var(--line-2);}
.st-vs-head > span{font-size:13px;font-weight:600;color:var(--ink-3);}
.st-vs-head > span.is-us{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-weight:700;color:#FFFFFF;}
/* The real logo on a white chip, not the mark and a typed name (owner, 8 Nov 2026). */
.st-vs-head .is-us .st-logo-chip{padding:5px 9px;border-radius:12px;}
.st-vs-head .is-us .st-logo-chip img{width:min(96px,100%);height:auto;}
.st-vs-head > span:nth-child(2){padding:13px 10px;font-size:12.5px;}
.st-vs-row :is(.is-yes,.is-no)::before,.st-vs-row .is-us.is-yes::after{content:"";grid-area:1/1;width:22px;height:22px;border-radius:50%;}
.st-vs-row .is-yes:not(.is-us)::before{background:var(--ink-2) var(--ck) center/12px no-repeat;}
.st-vs-row .is-no::before{background:var(--ink-4) var(--cx) center/10px no-repeat;}
.st-vs-row .is-us.is-yes::before{width:24px;height:24px;background:var(--page);box-shadow:0 4px 10px -2px rgba(13,58,120,.45);}
.st-vs-row .is-us.is-yes::after{width:24px;height:24px;background:var(--blue);-webkit-mask:var(--ck) center/12px no-repeat;mask:var(--ck) center/12px no-repeat;}
@media (min-width:721px){ .st-vs-head > span:nth-child(2){white-space:nowrap;} }

/* ── pricing: the one blue band ── */
.st-price{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;gap:40px;padding:52px 40px 44px;border-radius:28px;color:#FFFFFF;
  background:linear-gradient(160deg,#3B86EE,var(--blue) 50%,var(--blue-deep));box-shadow:0 30px 60px -20px rgba(2,101,224,.35);}
.st-price::before,.st-price::after{content:"";position:absolute;z-index:-1;border-radius:50%;pointer-events:none;}
.st-price::before{width:560px;height:560px;left:28%;top:-40%;border:56px solid rgba(255,255,255,.06);}
.st-price::after{width:380px;height:380px;right:-120px;bottom:-30%;border:40px solid rgba(255,255,255,.045);}
.st-price-t{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;max-width:720px;margin:0 auto;}
.st-price .st-h2{color:#FFFFFF;}
.st-price-t > p{margin:0;font-size:16px;line-height:1.55;color:rgba(255,255,255,.85);max-width:52ch;}
.st-price-promise{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 24px;font-size:14.5px;}
.st-price-promise li{display:flex;align-items:center;gap:10px;}
.st-price-promise li::before{content:"";width:20px;height:20px;border-radius:50%;flex:none;background:rgba(255,255,255,.22) var(--ck) center/11px no-repeat;}
.st-tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch;}
.st-tier{position:relative;display:flex;flex-direction:column;gap:14px;padding:26px 24px 24px;border-radius:24px;overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.08));
  -webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 0 0 1px rgba(255,255,255,.22),0 24px 48px -24px rgba(13,58,120,.55);}
.st-tier.is-best{translate:0 -12px;color:var(--ink);background:linear-gradient(165deg,#FFFFFF 40%,var(--blue-tint));
  -webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:inset 0 1px 0 #FFFFFF,0 0 0 1px #FFFFFF,0 40px 70px -24px rgba(13,58,120,.6);}
.st-tier-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:26px;}
.st-tier-top b{font-size:18px;font-weight:600;letter-spacing:-.015em;}
.st-tier-label{padding:3px 10px;border-radius:99px;background:rgba(255,255,255,.2);font-size:12px;font-weight:600;}
.st-tier.is-best .st-tier-label{background:var(--green-bg);color:var(--green-deep);}
.st-tier-price{display:flex;align-items:baseline;gap:8px;}
.st-tier-price b{font-size:46px;font-weight:700;letter-spacing:-.035em;line-height:1;font-variant-numeric:tabular-nums;}
.st-tier-price span{font-size:14px;color:rgba(255,255,255,.85);}
.st-tier.is-best .st-tier-price span{color:var(--ink-3);}
.st-tier > p{margin:0;font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.88);}
.st-tier.is-best > p{color:var(--ink-3);}
.st-tier ul{list-style:none;margin:0;padding:16px 0 0;border-top:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column;gap:10px;font-size:14px;}
.st-tier.is-best ul{border-top-color:var(--line);color:var(--ink-2);}
.st-tier li{display:flex;align-items:center;gap:10px;}
.st-tier li::before{content:"";width:20px;height:20px;border-radius:50%;flex:none;background:rgba(255,255,255,.24) var(--ck) center/11px no-repeat;}
.st-tier.is-best li::before{background-color:var(--blue);}
.st-tier-go{margin-top:auto;display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:999px;font-weight:600;font-size:14.5px;
  background:#FFFFFF;color:var(--blue-deep);box-shadow:0 10px 22px -10px rgba(13,58,120,.6);}
a.st-tier-go:hover{color:var(--blue-deep);}
.st-tier.is-best .st-tier-go{background:linear-gradient(180deg,var(--night-3),var(--night));color:#FFFFFF;}
.st-tier.is-best a.st-tier-go:hover{color:#FFFFFF;}
.st-tier-go.is-soon{background:rgba(255,255,255,.14);color:#FFFFFF;box-shadow:inset 0 0 0 1px rgba(255,255,255,.32);}
.st-tier.is-best .st-tier-go.is-soon{background:var(--chip);color:var(--ink-3);box-shadow:inset 0 0 0 1px var(--line);}
.st-tiers-note{margin:-14px 0 0;text-align:center;font-size:14px;line-height:1.5;color:rgba(255,255,255,.9);}
.st-tiers-note a{color:#FFFFFF;font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.st-tiers-note a:hover{color:#FFFFFF;}

/* ── free every day ── */
.st-ca{margin-top:48px;}
.st-ca .v1-sec-head{margin-bottom:16px;}
#exam-cards .v1-exam{border-top:0;border-radius:22px;box-shadow:var(--st-paper-sh);}
#exam-cards .v1-exam::after,#exam-cards .v1-exam-wash{display:none;}
#exam-cards .v1-exam.is-live{order:-1;background:radial-gradient(70% 60% at 100% 0%,var(--green-bg),transparent 70%),var(--page);
  box-shadow:0 0 0 1px var(--green-line),0 22px 44px -24px rgba(0,148,124,.45);}
#exam-cards .v1-exam-state{text-transform:none;letter-spacing:0;font-size:12px;font-weight:600;}
#ca-list .v1-empty{border:0;border-radius:16px;background:var(--page);box-shadow:var(--st-paper-sh);padding:18px 20px;color:var(--ink-3);}

/* ── WhatsApp: a light card ── */
#whatsapp.v1-band{background:var(--chip);color:var(--ink-3);padding:24px 0;}
#whatsapp .st-wa-card{padding:32px;border-radius:24px;background:linear-gradient(135deg,var(--green-bg),var(--page) 62%);
  box-shadow:inset 0 1px 0 #FFFFFF,0 0 0 1px var(--green-line),0 24px 48px -28px rgba(0,105,92,.3);}
#whatsapp h2{color:var(--ink);} #whatsapp p{color:var(--ink-3);} #whatsapp .v1-ticks{color:var(--green-deep);}
#whatsapp .v1-field{box-shadow:0 0 0 1px var(--line),0 6px 16px -10px rgba(13,20,32,.2);}

/* ── reviews ──
   Until a real, consented review exists the whole section stays off the
   page: no samples, no "reviews open soon" note (owner, 8 Nov 2026).
   ?preview=reviews still shows the sample cards for layout work. */
html:not(.st-preview-reviews) #voices:has(.v1-voice-stamp){display:none;}

/* ── FAQs ── */
.st-faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:1000px;margin:0 auto;align-items:start;}
.st-faq details{border-radius:16px;background:var(--page);box-shadow:var(--st-paper-sh);}
.st-faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;cursor:pointer;font-size:15px;font-weight:500;color:var(--ink);}
.st-faq summary::-webkit-details-marker{display:none;}
.st-faq summary::after{content:"";width:14px;height:14px;flex:none;color:var(--ink-3);transition:transform .2s var(--ease);
  background:linear-gradient(currentColor 0 0) center/14px 2px no-repeat,linear-gradient(currentColor 0 0) center/2px 14px no-repeat;}
.st-faq details[open]{box-shadow:0 0 0 1px var(--blue-line),0 12px 26px -14px rgba(2,101,224,.3);}
.st-faq details[open] summary::after{transform:rotate(45deg);color:var(--blue);}
.st-faq summary:focus-visible{outline:2.5px solid var(--blue);outline-offset:2px;border-radius:16px;}
.st-faq details p{margin:0;padding:0 20px 18px;font-size:14.5px;line-height:1.55;color:var(--ink-3);}
.st-faq-more{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px 12px 20px;border-radius:16px;
  background:linear-gradient(90deg,var(--blue-tint),var(--page));box-shadow:0 0 0 1px rgba(13,20,32,.06);font-size:15px;font-weight:500;color:var(--ink);}

/* ── the close ── */
.st-close{position:relative;overflow:hidden;padding-top:110px;padding-bottom:110px;background:linear-gradient(180deg,var(--chip),var(--page));}
.st-close-in{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;}
.st-close-h{margin:6px 0 0;font-size:clamp(30px,4.4vw,54px);line-height:1.08;letter-spacing:-.035em;font-weight:600;color:var(--ink);max-width:26ch;text-wrap:balance;}
.st-close .v1-story-go{margin-top:8px;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 20px 36px -14px rgba(var(--amber-rgb),.7);}

/* The light footer, the Write to us card and the watermark moved to v1.css
   (8 Nov 2026): every page wears the same footer now. */

/* ── motion ── */
@media (prefers-reduced-motion:no-preference){
  @keyframes st-rise{from{opacity:0;translate:0 12px}}
  @keyframes st-drop{from{opacity:0;translate:0 -14px}}
  @keyframes st-pop{from{opacity:0;scale:.6}}
  @keyframes st-fade{from{opacity:0}}
  @keyframes st-ring{from{opacity:.9;scale:.92}to{opacity:0;scale:1.3}}
  @keyframes st-set{from{opacity:0;transform:translateY(-10px) scale(.8) rotate(-12deg)}}
  @keyframes st-uncover{from{transform:scaleX(1)}}
  @keyframes st-prog{from{transform:scaleX(0)}}
  @keyframes st-strike{from{transform:scaleX(0)}}
  @keyframes st-band{from{opacity:0;scale:.7 1}}
  @keyframes st-fall{to{translate:0 6px}}
  @keyframes st-live-a{50%{scale:1 .86}} @keyframes st-live-b{50%{scale:1 .74}} @keyframes st-live-c{50%{scale:1 .92}}
  @keyframes st-blink{50%{opacity:0}}
  @keyframes st-col{from{opacity:0;transform:scaleY(.9)}}
  @keyframes st-dial-in{from{transform:rotate(0deg)}}

  /* Reveals that feel physical: cards rise, the table and the report slide
     in from their side, the price band grows from below, and a head reads
     in order (pill, heading, lede) with its tile set down last. */
  .js .rv.in{transition:opacity .36s var(--ease) var(--d,0ms),transform .8s var(--st-out) var(--d,0ms),filter .55s var(--ease) var(--d,0ms);}
  .js :is(.st-card,.st-tile,.st-step).rv{transform-origin:50% 100%;}
  .js .st-card.rv:not(.in),.js .st-tile.rv:not(.in),.js .st-step.rv:not(.in){transform:perspective(1100px) translateY(44px) rotateX(9deg) scale(.95);filter:blur(5px);}
  .js .st-calc.rv:not(.in){transform:translateY(20px) scale(.985);}
  .js .st-vs-t.rv:not(.in){transform:translateX(-20px);}
  .js .st-vs-table.rv:not(.in),.js #proof.rv:not(.in){transform:translateX(28px);}
  .js .st-price.rv{transform-origin:50% 100%;}
  .js .st-price.rv:not(.in){transform:scale(.965);}
  .js :is(.st-head,.st-close-in).rv{opacity:1;transform:none;}
  .js :is(.st-head,.st-close-in).rv > *{opacity:0;transform:translateY(12px);}
  .js :is(.st-head,.st-close-in).rv > :is(.st-pill,.v1-story-badge){transform:scale(.92);}
  .js :is(.st-head,.st-close-in).rv.in > *{opacity:1;transform:none;transition:opacity .34s var(--ease),transform .6s var(--st-out);}
  .js :is(.st-head,.st-close-in).rv.in > :nth-child(2){transition-delay:70ms;}
  .js :is(.st-head,.st-close-in).rv.in > :nth-child(n+3){transition-delay:140ms;}
  :is(.st-head,.st-close-in).rv.in .st-ico{animation:st-set .5s var(--spring) .24s backwards;}

  /* features */
  .st-card.rv.in .st-feed .st-row{animation:st-rise .5s var(--st-out) backwards;}
  .st-card.rv.in .st-feed .st-row:nth-child(1){animation-delay:calc(var(--d,0ms) + 160ms);}
  .st-card.rv.in .st-feed .st-row:nth-child(2){animation-delay:calc(var(--d,0ms) + 240ms);}
  .st-card.rv.in .st-feed .st-row:nth-child(3){animation-delay:calc(var(--d,0ms) + 320ms);}
  .st-card.rv.in .st-opt.is-wrong small{animation:st-fade .3s var(--ease) calc(var(--d,0ms) + 300ms) backwards;}
  .st-card.rv.in .st-opt.is-right b{animation:st-pop .42s var(--spring) calc(var(--d,0ms) + 620ms) backwards;}
  .st-card.rv.in .st-opt.is-right small{animation:st-fade .3s var(--ease) calc(var(--d,0ms) + 700ms) backwards;}
  .st-card.rv.in .st-why{animation:st-fade .4s var(--ease) calc(var(--d,0ms) + 900ms) backwards;}
  .st-card.rv.in .st-plot::after{animation:st-uncover 1.1s var(--st-io) calc(var(--d,0ms) + 250ms) backwards;}
  .st-card.rv.in .st-end{animation:st-fade .3s var(--ease) calc(var(--d,0ms) + 1250ms) backwards;}

  /* steps */
  .st-step.rv.in .st-step-ui > *{animation:st-rise .6s var(--st-out) .15s backwards;}
  .st-step.rv.in .st-chips .is-on{animation:st-pop .45s var(--spring) .32s backwards;}
  .st-step.rv.in .st-wires{animation:st-fade .4s var(--ease) .45s backwards;}
  .st-step.rv.in .st-brandbar{animation:st-rise .5s var(--st-out) .52s backwards;}
  .st-step.rv.in .st-prog i{animation:st-prog 1s var(--st-out) .3s backwards;}
  .st-step.rv.in .st-receipt .is-weak{animation:st-rise .4s var(--st-out) .95s backwards;}
  .st-step.rv.in .st-week div{animation:st-rise .45s var(--st-out) backwards;}
  .st-step.rv.in .st-week div:nth-child(2){animation-delay:.3s;}
  .st-step.rv.in .st-week div:nth-child(3){animation-delay:.38s;}
  .st-step.rv.in .st-week div:nth-child(4){animation-delay:.46s;}
  .st-step.rv.in .st-week em{animation:st-pop .36s var(--spring) .7s backwards;}

  /* benefits */
  .st-t-a.rv.in .st-funnel > .st-fq{animation:st-drop .5s var(--st-out) var(--fin,120ms) backwards,st-fall var(--fd,5.6s) ease-in-out calc(1.2s + var(--fin,120ms)) infinite alternate;}
  .st-t-a.rv.in .st-funnel-mark{animation:st-pop .5s var(--spring) .38s backwards;}
  /* Five numbered milestones, one at a time: each rises in, holds for about
     two seconds, and leaves before the next arrives, so two never overlap. */
  @keyframes st-tag-cycle{
    0%{opacity:0;translate:-50% 8px;}
    3%,17%{opacity:1;translate:-50% 0;}
    20%,100%{opacity:0;translate:-50% -8px;}
  }
  @keyframes st-tick-1{0%,8%{border-color:var(--line-3);background-color:#FFFFFF;}11%,90%{border-color:var(--green);background-color:var(--green);}95%,100%{border-color:var(--line-3);background-color:#FFFFFF;}}
  @keyframes st-tick-t1{0%,8%{color:var(--ink-3);}11%,90%{color:var(--ink);}95%,100%{color:var(--ink-3);}}
  .st-t-a.rv.in .st-ticks li:nth-child(1){animation:st-tick-t1 10s linear infinite;}
  .st-t-a.rv.in .st-ticks li:nth-child(1) i{animation:st-tick-1 10s linear infinite;}
  @keyframes st-tick-2{0%,22%{border-color:var(--line-3);background-color:#FFFFFF;}25%,90%{border-color:var(--green);background-color:var(--green);}95%,100%{border-color:var(--line-3);background-color:#FFFFFF;}}
  @keyframes st-tick-t2{0%,22%{color:var(--ink-3);}25%,90%{color:var(--ink);}95%,100%{color:var(--ink-3);}}
  .st-t-a.rv.in .st-ticks li:nth-child(2){animation:st-tick-t2 10s linear infinite;}
  .st-t-a.rv.in .st-ticks li:nth-child(2) i{animation:st-tick-2 10s linear infinite;}
  @keyframes st-tick-3{0%,36%{border-color:var(--line-3);background-color:#FFFFFF;}39%,90%{border-color:var(--green);background-color:var(--green);}95%,100%{border-color:var(--line-3);background-color:#FFFFFF;}}
  @keyframes st-tick-t3{0%,36%{color:var(--ink-3);}39%,90%{color:var(--ink);}95%,100%{color:var(--ink-3);}}
  .st-t-a.rv.in .st-ticks li:nth-child(3){animation:st-tick-t3 10s linear infinite;}
  .st-t-a.rv.in .st-ticks li:nth-child(3) i{animation:st-tick-3 10s linear infinite;}
  @keyframes st-tick-4{0%,50%{border-color:var(--line-3);background-color:#FFFFFF;}53%,90%{border-color:var(--green);background-color:var(--green);}95%,100%{border-color:var(--line-3);background-color:#FFFFFF;}}
  @keyframes st-tick-t4{0%,50%{color:var(--ink-3);}53%,90%{color:var(--ink);}95%,100%{color:var(--ink-3);}}
  .st-t-a.rv.in .st-ticks li:nth-child(4){animation:st-tick-t4 10s linear infinite;}
  .st-t-a.rv.in .st-ticks li:nth-child(4) i{animation:st-tick-4 10s linear infinite;}
  @keyframes st-tick-5{0%,64%{border-color:var(--line-3);background-color:#FFFFFF;}67%,90%{border-color:var(--green);background-color:var(--green);}95%,100%{border-color:var(--line-3);background-color:#FFFFFF;}}
  @keyframes st-tick-t5{0%,64%{color:var(--ink-3);}67%,90%{color:var(--ink);}95%,100%{color:var(--ink-3);}}
  .st-t-a.rv.in .st-ticks li:nth-child(5){animation:st-tick-t5 10s linear infinite;}
  .st-t-a.rv.in .st-ticks li:nth-child(5) i{animation:st-tick-5 10s linear infinite;}
  .js .st-t-b.rv .st-bars i{transform:scaleY(.15);transition:transform .7s var(--st-out) calc(var(--d,0ms) + var(--i,0) * 28ms);}
  .js .st-t-b.rv.in .st-bars i{transform:none;}

  .st-t-c.rv.in .st-flip-band{animation:st-band .6s var(--st-out) calc(var(--d,0ms) + 150ms) backwards;}
  /* Both lanes move down at one slow pace: a mistake slides under the band
     and a habit slides out of it. Each lane holds its rows twice, so moving
     by half its height loops without a seam. */
  @keyframes st-flow{from{transform:translateY(-50%)}to{transform:none}}
  .st-t-c.rv.in .st-flip-lane > div{animation:st-flow 14s linear infinite;}
  .st-t-c.rv.in .st-flip-name img{animation:st-glow 3.5s var(--st-io) 1s infinite;}
  @keyframes st-glow{50%{scale:1.12;filter:drop-shadow(0 0 8px rgba(255,255,255,.7));}}
  .st-t-d.rv.in .st-orbit::before{animation:st-pop .8s var(--st-out) .1s backwards;}
  .st-t-d.rv.in .st-orbit-i{animation:st-pop .42s var(--spring) backwards;}
  .st-t-d.rv.in .st-orbit-i.is-1{animation-delay:.2s;} .st-t-d.rv.in .st-orbit-i.is-2{animation-delay:.28s;} .st-t-d.rv.in .st-orbit-i.is-3{animation-delay:.36s;}
  .st-t-e.rv.in .st-otp i:nth-child(-n+4){animation:st-fade .2s var(--ease) backwards;}
  .st-t-e.rv.in .st-otp i:nth-child(1){animation-delay:calc(var(--d,0ms) + 300ms);}
  .st-t-e.rv.in .st-otp i:nth-child(2){animation-delay:calc(var(--d,0ms) + 420ms);}
  .st-t-e.rv.in .st-otp i:nth-child(3){animation-delay:calc(var(--d,0ms) + 540ms);}
  .st-t-e.rv.in .st-otp i:nth-child(4){animation-delay:calc(var(--d,0ms) + 660ms);}
  .st-t-e.rv.in .st-otp .is-caret::after{animation:st-blink 1s steps(1) .9s 6;}
  .st-t-f.rv.in .st-hall-grid i{animation:st-pop .4s var(--spring) backwards;}
  .st-t-f.rv.in .st-hall-grid i:nth-child(1){animation-delay:calc(var(--d,0ms) + 150ms);}
  .st-t-f.rv.in .st-hall-grid i:nth-child(2){animation-delay:calc(var(--d,0ms) + 195ms);}
  .st-t-f.rv.in .st-hall-grid i:nth-child(3){animation-delay:calc(var(--d,0ms) + 240ms);}
  .st-t-f.rv.in .st-hall-grid i:nth-child(4){animation-delay:calc(var(--d,0ms) + 285ms);}
  .st-t-f.rv.in .st-hall-grid i:nth-child(5){animation-delay:calc(var(--d,0ms) + 330ms);}
  .st-t-f.rv.in .st-hall-grid i:nth-child(6){animation-delay:calc(var(--d,0ms) + 375ms);}
  .st-t-f.rv.in .st-hall-grid i:nth-child(7){animation-delay:calc(var(--d,0ms) + 420ms);}
  .st-t-f.rv.in .st-hall-grid i:nth-child(8){animation-delay:calc(var(--d,0ms) + 465ms);}
  .st-t-f.rv.in .st-hall-grid .now::after{content:"";position:absolute;inset:-5px;border-radius:14px;box-shadow:0 0 0 2px var(--blue-line);animation:st-ring 2.4s var(--ease) 1s infinite;}
  .st-t-g.rv.in .st-days i{animation:st-pop .36s var(--spring) backwards;}
  .st-t-g.rv.in .st-days i:nth-child(1){animation-delay:calc(var(--d,0ms) + 200ms);}
  .st-t-g.rv.in .st-days i:nth-child(2){animation-delay:calc(var(--d,0ms) + 240ms);}
  .st-t-g.rv.in .st-days i:nth-child(3){animation-delay:calc(var(--d,0ms) + 280ms);}
  .st-t-g.rv.in .st-days i:nth-child(4){animation-delay:calc(var(--d,0ms) + 320ms);}
  .st-t-g.rv.in .st-days i:nth-child(5){animation-delay:calc(var(--d,0ms) + 360ms);}
  .st-t-g.rv.in .st-days i:nth-child(6){animation-delay:calc(var(--d,0ms) + 400ms);}
  .st-t-g.rv.in .st-days i:nth-child(7){animation-delay:calc(var(--d,0ms) + 440ms);}
  .st-t-g.rv.in .st-days .is-today::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 2px var(--blue);animation:st-ring 2.6s var(--ease) .8s infinite;}

  /* report: the cut-off fill grows by transform, the arrow nudges twice */
  #proof .v1-cut-fill{transform-origin:0 50%;transition:transform .9s var(--st-out) .2s;}
  #proof .v1-cut-track:not(.in) .v1-cut-fill{transform:scaleX(0);}
  #proof .v1-jump-arrow{animation:nudge 1.9s var(--ease) 1.1s 2 backwards;}

  /* calculator, compare, pricing, FAQ */
  .st-dial svg{transition:transform .35s var(--ease);}
  .st-calc.rv.in .st-dial svg{animation:st-dial-in .9s var(--st-out) .25s backwards;}
  .st-vs-table.rv.in::before{transform-origin:50% 100%;animation:st-col .6s var(--st-out) .1s backwards;}
  .st-vs-table.rv.in .st-vs-row .is-us{animation:st-pop .36s var(--spring) backwards;}
  .st-vs-table.rv.in .st-vs-row:nth-child(2) .is-us{animation-delay:250ms;}
  .st-vs-table.rv.in .st-vs-row:nth-child(3) .is-us{animation-delay:295ms;}
  .st-vs-table.rv.in .st-vs-row:nth-child(4) .is-us{animation-delay:340ms;}
  .st-vs-table.rv.in .st-vs-row:nth-child(5) .is-us{animation-delay:385ms;}
  .st-vs-table.rv.in .st-vs-row:nth-child(6) .is-us{animation-delay:430ms;}
  .st-vs-table.rv.in .st-vs-row:nth-child(7) .is-us{animation-delay:475ms;}
  .st-vs-table.rv.in .st-vs-row:nth-child(8) .is-us{animation-delay:520ms;}
  @keyframes st-tier-in{from{opacity:0;filter:blur(5px);transform:perspective(1000px) translateY(46px) rotateX(12deg) scale(.94);}}
  .st-price.rv.in .st-tier{transform-origin:50% 100%;animation:st-tier-in .85s var(--st-out) calc(var(--d,0ms) + 260ms) backwards;}
  .st-price.rv.in .st-tier.is-best .st-tier-label{animation:st-pop .45s var(--spring) .9s backwards;}
  .st-faq details[open] > p{animation:st-rise .24s var(--ease);}
  .js .st-watermark.rv:not(.in){transform:translateY(24px);}
}

/* Cards lean toward a mouse pointer and a soft light follows it (story.js
   adds .is-tilt once a card has arrived, .is-hot while the pointer is on it).
   Never on touch, never under reduced motion. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  html.js .is-tilt.is-tilt{transition:opacity .36s var(--ease),transform .6s var(--st-out),box-shadow .45s var(--st-out),filter .5s var(--ease);}
  html.js .is-tilt.is-hot{transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-6px) scale(1.012);
    transition:opacity .36s var(--ease),transform .18s var(--st-out),box-shadow .45s var(--st-out);}
  html.js :is(.st-card,.st-tile).is-hot{box-shadow:inset 0 1px 0 #FFFFFF,0 0 0 1px var(--blue-line),0 44px 70px -30px rgba(2,101,224,.34);}
  html.js .st-step.is-hot{box-shadow:inset 0 1px 0 #FFFFFF,0 0 0 1px var(--ac-line),0 44px 80px -36px color-mix(in srgb,var(--ac) 60%,transparent);}
  html.js .st-tier.is-hot{box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 0 0 1px rgba(255,255,255,.4),0 44px 70px -24px rgba(13,58,120,.7);}
  html.js .st-tier.is-best.is-hot{box-shadow:inset 0 1px 0 #FFFFFF,0 0 0 1px #FFFFFF,0 50px 80px -24px rgba(13,58,120,.7);}
  .st-glare{position:absolute;inset:0;z-index:5;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .4s var(--ease);mix-blend-mode:multiply;
    background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--blue-line) 38%,transparent),transparent 65%);}
  .st-tier .st-glare{mix-blend-mode:normal;background:radial-gradient(300px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.22),transparent 62%);}
  .st-tier.is-best .st-glare{mix-blend-mode:multiply;background:radial-gradient(300px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--blue-line) 45%,transparent),transparent 62%);}
  .is-hot > .st-glare{opacity:1;}
}

/* ── narrower screens ── */
@media (max-width:980px){
  .st-feat{grid-template-columns:1fr;}
  .st-bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;grid-template-areas:"a b" "a d" "c e" "f g";}
  .st-vs{grid-template-columns:1fr;gap:28px;}
  .st-price{padding:36px 24px 24px;gap:32px;}
  .st-tiers{grid-template-columns:minmax(0,440px);justify-content:center;gap:16px;}
  .st-tier.is-best{order:-1;translate:none;}
  .st-tiers-note{margin-top:-8px;}
  .st-calc{grid-template-columns:1fr;}
}
@media (max-width:720px){
  .st-calc-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .st-sec{padding-top:64px;padding-bottom:64px;}
  .st-tier{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(255,255,255,.14);}
  .st-tier.is-best{background:linear-gradient(165deg,#FFFFFF 40%,var(--blue-tint));}
  .st-tier-price b{font-size:40px;}
  #voices[hidden] + .st-sec{padding-top:64px;}
  .st-head{margin-bottom:32px;}
  .st-step{grid-template-columns:1fr;}
  .st-step-t{min-height:0;padding-top:96px;}
  .st-num{font-size:72px;}
  .st-step-ui{min-height:240px;}
  .st-bento{grid-template-columns:1fr;grid-template-areas:"a" "b" "c" "d" "e" "f" "g";gap:14px;}
  .st-tile{padding:18px;}
  .st-funnel{min-height:200px;margin:-18px -18px 8px;}
  .st-flip{margin:-18px -18px 16px;padding:0 18px;}
  .st-flip-lane{margin-inline:-18px;padding-inline:18px;}
  .st-flip-band{margin:0 -18px;}
  .st-orbit{height:206px;}
  .st-orbit-mark{width:88px;height:88px;}
  .st-orbit-i{font-size:12.5px;}
  .st-orbit-i.is-1{font-size:13.5px;}
  .st-funnel-mark{width:92px;height:92px;}
  .st-bars{height:96px;}
  .st-faq{grid-template-columns:1fr;}
  .st-faq-more{flex-wrap:wrap;}
  .st-vs-table::before{width:96px;}
  .st-vs-row{grid-template-columns:minmax(0,1fr) 84px 96px;}
  .st-vs-row > span{padding:12px 10px;font-size:13px;}
  .st-dial{--dw:260px;}
  .st-gauge-v{margin-top:-52px;max-width:190px;}
  #whatsapp .st-wa-card{padding:22px;}
  .st-chips span{font-size:11px;padding:8px 2px;}
  .st-week div{font-size:12px;gap:8px;}
  .st-funnel-tag{font-size:11.5px;}
  .st-t-g{min-height:320px;}
  .st-days{gap:5px;padding:8px;} .st-days i{width:32px;height:32px;font-size:12px;}
}

/* ══ The ₹9 Daily Challenge page (daily-challenge.html, 25 Oct 2026) ══════
   The homepage story, told around one test: the hero carries today's
   challenge as a ticket with its price and a live closing time, a sample
   report sits behind it (marked as an example), then the week, the
   stories, the plans and the questions. The ticket is filled from the
   server (assets/challenge.js); until then it says it is loading. */
.dc-hero{padding-top:56px;padding-bottom:72px;background:
  radial-gradient(40% 60% at 88% 30%,color-mix(in srgb,var(--blue-line) 60%,transparent),transparent 72%),
  radial-gradient(30% 50% at 8% 70%,color-mix(in srgb,var(--green-line) 45%,transparent),transparent 72%),
  linear-gradient(180deg,var(--chip),var(--sunk) 60%,var(--page));}
.dc-hero-in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center;}
.dc-h1{margin:18px 0 0;color:var(--ink);font-size:clamp(34px,4.8vw,58px);line-height:1.06;letter-spacing:-.04em;font-weight:600;text-wrap:balance;}
.dc-h1 em{font-style:normal;background:linear-gradient(90deg,var(--blue-deep),var(--blue) 45%,#3B86EE);-webkit-background-clip:text;background-clip:text;color:transparent;}
.dc-hero-t .st-lede{margin-top:18px;}
.dc-promise{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px;}
.dc-promise li{display:flex;align-items:center;gap:8px;padding:7px 14px 7px 8px;border-radius:999px;background:var(--page);
  box-shadow:0 1px 2px rgba(13,20,32,.06),0 0 0 1px rgba(13,20,32,.05);font-size:13.5px;font-weight:500;color:var(--ink-2);}
.dc-promise li::before{content:"";width:20px;height:20px;border-radius:50%;background:var(--green) var(--ck) center/11px no-repeat;}

.dc-stack{position:relative;padding:104px 0 12px 28px;}
.dc-behind{position:absolute;right:-14px;top:0;width:74%;padding:16px 20px 60px;border-radius:22px;rotate:4deg;background:var(--page);
  box-shadow:var(--st-paper-sh);opacity:.92;}
.dc-behind small{display:block;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);}
.dc-behind b{display:block;margin-top:6px;font-size:15px;font-weight:600;color:var(--ink);}
.dc-bars{display:grid;gap:8px;margin-top:12px;}
.dc-bars div{display:grid;grid-template-columns:96px 1fr 40px;gap:10px;align-items:center;font-size:12px;color:var(--ink-3);}
.dc-bars i{height:8px;border-radius:99px;background:var(--line-2);overflow:hidden;position:relative;}
.dc-bars i::after{content:"";position:absolute;inset:0;width:var(--w);border-radius:inherit;background:linear-gradient(90deg,var(--blue),#3B86EE);}
.dc-bars i.is-weak::after{background:linear-gradient(90deg,var(--amber-ink),var(--amber));}
.dc-bars em{font-style:normal;font-weight:600;color:var(--ink-2);text-align:right;font-variant-numeric:tabular-nums;}

.dc-ticket{position:relative;z-index:1;border-radius:26px;overflow:hidden;background:var(--page);
  box-shadow:inset 0 1px 0 #FFFFFF,0 0 0 1px rgba(13,20,32,.05),0 40px 70px -28px rgba(13,58,120,.45);}
.dc-ticket-top{position:relative;display:flex;align-items:center;gap:16px;padding:22px 24px;color:#FFFFFF;
  background:linear-gradient(150deg,#3B86EE,var(--blue) 50%,var(--blue-deep));}
.dc-ticket-top::after{content:"";position:absolute;right:-60px;top:-80px;width:220px;height:220px;border-radius:50%;border:34px solid rgba(255,255,255,.08);pointer-events:none;}
.dc-day{flex:none;display:grid;place-items:center;align-content:center;width:64px;height:68px;border-radius:16px;line-height:1.05;text-align:center;
  background:rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 0 0 1px rgba(255,255,255,.25);}
.dc-day b{font-size:1.6rem;font-weight:750;font-variant-numeric:tabular-nums;}
.dc-day span{font-size:.66rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;opacity:.9;}
.dc-ticket-what{min-width:0;display:grid;gap:4px;}
.dc-ticket-what small{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.85;}
.dc-ticket-what b{font-size:19px;font-weight:650;letter-spacing:-.01em;overflow-wrap:anywhere;}
.dc-ticket-what span{font-size:13.5px;opacity:.9;}
.dc-ticket-body{padding:22px 24px 24px;display:grid;gap:16px;}
.dc-ticket-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.dc-ticket-price{display:flex;align-items:baseline;gap:8px;}
.dc-ticket-price b{font-size:52px;font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums;}
.dc-ticket-price span{font-size:14px;color:var(--ink-3);}
.dc-live{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:var(--green-bg);color:var(--green-deep);font-size:13px;font-weight:600;}
.dc-live i{width:8px;height:8px;border-radius:50%;background:var(--green);animation:v1-dc-pulse 1.8s var(--ease) infinite;}
.dc-live.is-off{background:var(--chip);color:var(--ink-3);}
.dc-live.is-off i{background:var(--ink-4);animation:none;}
.dc-ticket-list{list-style:none;margin:0;padding:14px 0 0;border-top:1px dashed var(--line-3);display:grid;gap:9px;font-size:14px;color:var(--ink-2);}
.dc-ticket-list li{display:flex;align-items:center;gap:10px;}
.dc-ticket-list li::before{content:"";width:20px;height:20px;border-radius:50%;flex:none;background:var(--blue) var(--ck) center/11px no-repeat;}
.dc-cta{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;border-radius:999px;font-weight:600;font-size:16px;
  background:linear-gradient(180deg,var(--night-3),var(--night));color:#FFFFFF;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 16px 30px -14px rgba(13,20,32,.55);
  transition:transform .18s var(--spring);}
.dc-cta:hover{color:#FFFFFF;transform:translateY(-1px);}
.dc-cta svg{width:18px;height:18px;fill:none;stroke:#FFFFFF;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.dc-cta.is-soft{background:var(--chip);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line);}
.dc-cta.is-soft:hover{color:var(--ink);}
.dc-fine{margin:0;text-align:center;font-size:12.5px;color:var(--ink-3);}
.dc-fine a{color:var(--ink-2);text-decoration:underline;text-underline-offset:3px;}
.dc-score{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;}
.dc-score b{font-size:48px;font-weight:700;letter-spacing:-.035em;line-height:1;color:var(--green-deep);font-variant-numeric:tabular-nums;}
.dc-score span{font-size:14px;color:var(--ink-3);}

/* the week */
.dc-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;}
.dc-wd{position:relative;display:grid;gap:4px;align-content:start;min-height:132px;padding:14px 14px 16px;border-radius:18px;background:var(--page);box-shadow:var(--st-paper-sh);}
.dc-wd small{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);}
.dc-wd b{font-size:24px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;}
.dc-wd span{font-size:12.5px;line-height:1.4;color:var(--ink-3);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.dc-wd em{margin-top:auto;justify-self:start;font-style:normal;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:99px;background:var(--chip);color:var(--ink-3);}
.dc-wd.is-today{background:linear-gradient(160deg,#3B86EE,var(--blue) 55%,var(--blue-deep));box-shadow:0 22px 40px -18px rgba(2,101,224,.7);}
.dc-wd.is-today :is(small,b,span){color:#FFFFFF;}
.dc-wd.is-today em{background:rgba(255,255,255,.2);color:#FFFFFF;}
.dc-wd.is-done em{background:var(--green-bg);color:var(--green-deep);}
.dc-wd.is-missed em{background:var(--amber-bg);color:var(--amber-deep);}
.dc-wd.is-past{opacity:.85;}

/* my challenges */
.dc-mine{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:20px;align-items:stretch;}
.dc-trend{padding:22px;border-radius:22px;background:var(--page);box-shadow:var(--st-paper-sh);display:grid;gap:10px;align-content:start;}
.dc-trend small{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);}
.dc-trend b{font-size:40px;font-weight:700;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;}
.dc-trend svg{width:100%;height:90px;overflow:visible;}
.dc-trend path{fill:none;stroke:var(--blue);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;}
.dc-trend circle{fill:var(--blue);}
.dc-list{display:grid;gap:10px;}
.dc-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px;border-radius:16px;background:var(--page);box-shadow:var(--st-paper-sh);}
.dc-row .dc-day{width:48px;height:50px;border-radius:12px;background:var(--blue-bg);color:var(--blue-deep);box-shadow:none;}
.dc-row .dc-day b{font-size:1.15rem;}
.dc-row-t{min-width:0;}
.dc-row-t b{display:block;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dc-row-t span{font-size:13px;color:var(--ink-3);}
.dc-row-s{font-weight:700;font-variant-numeric:tabular-nums;color:var(--green-deep);text-align:right;}
.dc-row-s a{font-size:12.5px;font-weight:600;display:block;}
.dc-row-s.is-missed{color:var(--amber-deep);font-weight:600;font-size:13px;}

@media (max-width:980px){
  .dc-hero-in{grid-template-columns:1fr;gap:36px;}
  .dc-stack{max-width:520px;width:100%;margin:0 auto;padding-left:0;}
  .dc-week{grid-template-columns:repeat(4,minmax(0,1fr));}
  .dc-mine{grid-template-columns:1fr;}
}
@media (max-width:720px){
  .dc-hero{padding-top:32px;padding-bottom:48px;}
  .dc-behind{display:none;}
  .dc-stack{padding:0;}
  .dc-week{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .dc-wd{min-height:112px;}
  .dc-ticket-price b{font-size:44px;}
}
@media (prefers-reduced-motion:reduce){.dc-live i{animation:none;}.dc-cta{transition:none;}}

/* The Daily Challenge inside the app (assets/app-frame.js): the page title
   comes from the shell, so the hero's headline and the example report give
   way to today's card. */
html.ns-app .dc-hero-t,html.ns-app .dc-behind{display:none;}
html.ns-app .dc-hero-in{grid-template-columns:minmax(0,640px);gap:0;}
html.ns-app .dc-hero{padding-top:8px;}

/* Centred in the app's content area (owner, 7 Nov 2026: first "not properly
   aligned", then "properly center aligned"). The public page centres a
   1200px column and pads it for a marketing hero; inside the app that left
   today's card floating off-centre in a tinted panel, a little below and
   right of where it belonged. So: the page uses the shell's full column, no
   hero backdrop, no room kept for the example report (hidden here), and
   today's card, the section heads and the plans panel each sit on the
   centre line of that column. The page title stays at the left edge, as on
   every app screen. */
html.ns-app .ns-app-main .v1-wrap{max-width:none;margin:0;padding:0;}
html.ns-app .ns-app-main .st-sec{padding-top:0;padding-bottom:40px;}
html.ns-app .dc-hero{background:none;padding:0 0 40px;overflow:visible;}
html.ns-app .dc-hero-in{justify-content:center;}
html.ns-app .dc-stack{padding:0;margin:0 auto;width:100%;max-width:640px;}
html.ns-app .ns-app-main .st-head{align-items:center;text-align:center;margin:0 auto 20px;max-width:640px;}
html.ns-app .ns-app-main .st-h2{font-size:clamp(22px,2.4vw,28px);}
html.ns-app .ns-app-main .pg{margin:0 auto;}

/* Today's card, in motion (owner, 7 Nov 2026: "something motion graphic").
   It rises in, a light sweeps across the blue band now and then, the date
   tile floats, and the score, the ticks and the button arrive one after
   another. Decoration only; nothing waits on it, and a reduced-motion
   setting gets the still card. */
@media (prefers-reduced-motion:no-preference){
  @keyframes dc-in{from{opacity:0;translate:0 26px;scale:.97}}
  @keyframes dc-up{from{opacity:0;translate:0 10px}}
  @keyframes dc-tick{from{opacity:0;scale:.3;rotate:-40deg}}
  @keyframes dc-big{from{opacity:0;scale:.8;filter:blur(6px)}}
  @keyframes dc-sheen{0%{translate:-110% 0}28%,100%{translate:110% 0}}
  @keyframes dc-bob{50%{translate:0 -4px}}
  @keyframes dc-breathe{to{scale:1.14;translate:-14px 10px}}
  @keyframes dc-nudge{50%{translate:4px 0}}

  .dc-ticket{animation:dc-in .7s var(--spring) both;}
  .dc-ticket-top::before{content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.2) 50%,transparent 70%);
    translate:-110% 0;animation:dc-sheen 6s ease-in-out 1.2s infinite;}
  .dc-ticket-top::after{animation:dc-breathe 7s ease-in-out infinite alternate;}
  .dc-day{animation:dc-bob 4.5s ease-in-out infinite;}

  .dc-ticket-body > *{animation:dc-up .55s var(--spring) both;}
  .dc-ticket-body > :nth-child(2){animation-delay:.1s;}
  .dc-ticket-body > :nth-child(3){animation-delay:.35s;}
  .dc-ticket-body > :nth-child(4){animation-delay:.45s;}
  .dc-ticket-body > :nth-child(5){animation-delay:.55s;}
  .dc-score b,.dc-ticket-price b{display:inline-block;animation:dc-big .8s var(--spring) .1s both;}
  .dc-ticket-list li{animation:dc-up .5s var(--spring) both;}
  .dc-ticket-list li::before{animation:dc-tick .55s var(--spring) both;}
  .dc-ticket-list li:nth-child(1),.dc-ticket-list li:nth-child(1)::before{animation-delay:.2s;}
  .dc-ticket-list li:nth-child(2),.dc-ticket-list li:nth-child(2)::before{animation-delay:.28s;}
  .dc-ticket-list li:nth-child(3),.dc-ticket-list li:nth-child(3)::before{animation-delay:.36s;}

  .dc-cta:not(.is-soft){position:relative;overflow:hidden;}
  .dc-cta:not(.is-soft)::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.14) 50%,transparent 70%);
    translate:-110% 0;animation:dc-sheen 5s ease-in-out 2s infinite;}
  .dc-cta:not(.is-soft) svg{animation:dc-nudge 1.6s ease-in-out infinite;}
}
/* The public page's long drop shadow reads as a grey block under the card
   in the app's column; a short one keeps the lift. */
html.ns-app .dc-ticket{box-shadow:inset 0 1px 0 #FFFFFF,0 0 0 1px rgba(13,20,32,.05),0 18px 36px -24px rgba(13,58,120,.45);}
