@font-face{font-family:"Cal Sans";src:url("../fonts/CalSans.woff2") format("woff2");font-display:swap}
@font-face{font-family:"Instrument Sans";font-weight:400 700;src:url("../fonts/InstrumentSans-Variable.woff2") format("woff2-variations");font-display:swap}

/* Theme: the only place literal colors live. Values match tokens.css. */
:root{
  --canvas:#f4f6f8;
  --surface:#ffffff;
  --sunken:#f2f4f5;
  --sunken-2:#e4e6e9;
  --ink:#12161e;
  --ink-2:#51555c;
  --ink-3:#686c72;
  --line:rgba(18,22,30,0.09);
  --line-input:rgba(18,22,30,0.2);
  --brand:#151b25;
  --brand-hover:#262e3d;
  --brand-ink:#ffffff;
  --sun:#ffb42f;
  --sun-soft:#fef0d4;
  --sun-ink:#362207;
  --warn-text:#7e4f04;
  --bad:#f16127;
  --bad-soft:#ffece3;
  --bad-text:#cc3401;
  --navy:#151b25;
  --on-dark:#ffffff;
  --on-dark-2:#b9bec6;
  --on-dark-line:rgba(255,255,255,0.12);
  --paper:#f8f5f1;
  --sky-a:#a08fd3;--sky-b:#c8a1d1;--sky-c:#f4bca9;
  --plan:rgba(18,22,30,0.16);
  --hatch:#ffd2be;
  --shadow-card:0 0 0 1px rgba(16,23,31,0.05),0 1px 2px rgba(16,23,31,0.04);
  --shadow-float:0 0 0 1px rgba(16,23,31,0.06),0 24px 56px rgba(16,23,31,0.12);
  --shadow-phone:0 0 0 1px rgba(16,23,31,0.08),0 30px 60px -20px rgba(16,23,31,0.28);
  --rad-sm:8px;--rad-md:11px;--rad-lg:14px;
  --display:"Cal Sans","Instrument Sans",system-ui,sans-serif;
  --body:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease-out:cubic-bezier(0.23,1,0.32,1);
  --hair:1px;
  --alert: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' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4M12 16h.01'/%3E%3C/svg%3E");
  --header-h:60px;
}
@supports (color:oklch(0 0 0)){:root{--canvas:oklch(0.972 0.003 250);--surface:oklch(1 0 0);--sunken:oklch(0.965 0.003 250);--sunken-2:oklch(0.925 0.004 250);--ink:oklch(0.2 0.018 262);--ink-2:oklch(0.45 0.012 260);--ink-3:oklch(0.53 0.01 260);--line:oklch(0.2 0.018 262 / 0.09);--line-input:oklch(0.2 0.018 262 / 0.2);--brand:oklch(0.22 0.022 262);--brand-hover:oklch(0.3 0.03 262);--brand-ink:oklch(1 0 0);--sun:oklch(0.82 0.16 76);--sun-soft:oklch(0.96 0.04 85);--sun-ink:oklch(0.27 0.05 70);--warn-text:oklch(0.47 0.1 70);--bad:oklch(0.67 0.19 40);--bad-soft:oklch(0.955 0.024 45);--bad-text:oklch(0.557 0.195 35);--navy:oklch(0.22 0.022 262);--on-dark:oklch(1 0 0);--on-dark-2:oklch(0.8 0.012 262);--on-dark-line:oklch(1 0 0 / 0.12);--paper:oklch(0.972 0.006 85);--sky-a:oklch(0.69 0.1 295);--sky-b:oklch(0.76 0.08 320);--sky-c:oklch(0.84 0.07 40);--plan:oklch(0.2 0.018 262 / 0.16);--hatch:oklch(0.9 0.06 45);--shadow-card:0 0 0 1px oklch(0.2 0.02 255 / 0.05),0 1px 2px oklch(0.2 0.02 255 / 0.04);--shadow-float:0 0 0 1px oklch(0.2 0.02 255 / 0.06),0 24px 56px oklch(0.2 0.02 255 / 0.12);--shadow-phone:0 0 0 1px oklch(0.2 0.02 255 / 0.08),0 30px 60px -20px oklch(0.2 0.02 255 / 0.28)}}
@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){:root{--hair:0.5px}}

*{box-sizing:border-box;margin:0}
html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;font-synthesis:none;scroll-behavior:smooth;background:var(--canvas)}
body{background:var(--canvas);color:var(--ink);font:400 17px/1.55 var(--body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-wrap:break-word}
[id]{scroll-margin-top:calc(var(--header-h) + 16px)}
::selection{background:var(--sun);color:var(--sun-ink)}
a{color:inherit}
svg{display:block;flex:none}
button,a{touch-action:manipulation}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;user-select:none;-webkit-user-select:none}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}
.on-dark :focus-visible{outline-color:var(--on-dark)}
[hidden]:not(svg){display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:50;background:var(--brand);color:var(--brand-ink);padding:10px 16px;border-radius:99px;font-weight:600;text-decoration:none}
.skip:focus{top:12px}
.tnum{font-variant-numeric:tabular-nums}

.wrap{max-width:1080px;margin-inline:auto;padding-inline:max(20px,env(safe-area-inset-left)) max(20px,env(safe-area-inset-right))}
@media (min-width:640px){.wrap{padding-inline:40px}}
section{padding-block:56px}
@media (min-width:768px){section{padding-block:88px}}

h1,h2{font-family:var(--display);font-weight:400;letter-spacing:-0.012em;text-wrap:balance}
h1{font-size:clamp(38px,10.4vw,66px);line-height:1.03}
h2{font-size:clamp(30px,7vw,46px);line-height:1.06}
h1 span,h2 span{color:var(--ink-3)}
.on-dark h2 span{color:var(--on-dark-2)}
h3{font:600 18px/1.3 var(--body);letter-spacing:-0.01em}
.lead{font-size:clamp(17px,2.2vw,19px);color:var(--ink-2);max-width:56ch;text-wrap:pretty}
.sec-head{display:flex;flex-direction:column;gap:14px;margin-bottom:32px;max-width:760px}
.small{font-size:14px;color:var(--ink-2)}
.cap{font-size:13px;color:var(--ink-3)}

/* Buttons: every button is a pill, one primary per view */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:99px;font:600 16px/1 var(--body);white-space:nowrap;text-decoration:none;transition:background-color 150ms ease-out,transform 100ms ease-out}
.btn:active{transform:scale(0.96)}
.btn-primary{background:var(--brand);color:var(--brand-ink)}
.btn-ghost{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-input)}
.btn-lg{min-height:52px;padding:0 26px;font-size:17px}
.btn-sm{min-height:44px;padding:0 16px;font-size:15px}
.btn-invert{background:var(--on-dark);color:var(--ink)}
@media (hover:hover) and (pointer:fine){
  .btn-primary:hover{background:var(--brand-hover)}
  .btn-ghost:hover{background:var(--sunken)}
  .btn-invert:hover{background:var(--sunken)}
  .link:hover{color:var(--ink)}
}
.link{color:var(--ink-2);text-decoration:underline;text-decoration-thickness:from-font;text-underline-offset:3px}

/* Status: a dot beside a word, never a filled block */
.kind{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--ink-2)}
.kind i{width:7px;height:7px;border-radius:99px;background:var(--t,var(--ink));flex:none}
[data-tone=sun]{--t:var(--sun)}[data-tone=bad]{--t:var(--bad)}[data-tone=mute]{--t:var(--ink-3)}

/* Header */
.top{position:sticky;top:0;z-index:20;background:var(--canvas);box-shadow:0 var(--hair) 0 var(--line);padding-top:env(safe-area-inset-top)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:var(--header-h);gap:16px}
.top nav{display:flex;align-items:center;gap:4px}
.top nav .navlink{display:none;padding:10px 12px;font-size:15px;font-weight:500;color:var(--ink-2);text-decoration:none;border-radius:99px}
@media (min-width:860px){.top nav .navlink{display:inline-flex}}
@media (hover:hover) and (pointer:fine){.top nav .navlink:hover{color:var(--ink);background:var(--sunken)}}
.logo{display:block}
.top .wrap>a{display:inline-flex;align-items:center;min-height:44px}

/* Hero */
.hero{padding-block:36px 56px}
.hero .wrap{display:grid;gap:44px;align-items:center}
@media (min-width:900px){.hero{padding-block:72px 96px}.hero .wrap{grid-template-columns:minmax(0,1.15fr) minmax(0,0.85fr);gap:56px}}
.hero-copy{display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.cta-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.intro .hero-copy>*,.intro .phone{opacity:0;translate:0 8px;animation:rise 360ms var(--ease-out) forwards;animation-delay:calc(var(--n,0) * 90ms)}
.hero-copy>:nth-child(2){--n:1}.hero-copy>:nth-child(3){--n:2}.hero-copy>:nth-child(4){--n:3}.hero-copy>:nth-child(5){--n:4}
@keyframes rise{to{opacity:1;translate:0 0}}

/* Phone demo */
.phone{justify-self:center;width:min(340px,100%);border-radius:42px;background:var(--paper);box-shadow:var(--shadow-phone);overflow:hidden;position:relative;--n:3}
.scene{position:relative;color:var(--ink);background:linear-gradient(var(--sky-a),var(--sky-b) 58%,var(--sky-c));display:flex;flex-direction:column}
.scene svg{width:100%;height:auto;margin-top:-34px;pointer-events:none;user-select:none}
.scene-top{position:relative;z-index:1;padding:22px 20px 0;display:flex;flex-direction:column;gap:10px}
.biz{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600}
.biz-ico{width:36px;height:36px;border-radius:10px;background:var(--surface);display:grid;place-items:center;font-size:13px;font-weight:700;box-shadow:var(--shadow-card)}
.biz small{display:block;font-weight:400;font-size:12.5px;opacity:0.8}
.state{display:flex;flex-direction:column;gap:2px;min-height:86px}
.state .kind{color:var(--ink);font-weight:600;font-size:13.5px}
.big{font:600 44px/1 var(--body);letter-spacing:-0.03em}
.big small{font-size:18px;letter-spacing:0;margin-left:3px}
.state p{font-size:13.5px;opacity:0.82}
.phone-body{padding:6px 20px 22px;display:flex;flex-direction:column;gap:16px}
.phone-body .hello{font-weight:600;font-size:16px}
.week{display:flex;justify-content:space-between}
.week li{list-style:none;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-3)}
.week{padding:0}
.day{width:28px;height:28px;border-radius:99px;background:var(--sunken-2);display:grid;place-items:center;color:var(--on-dark);position:relative}
.day[data-done]{background:var(--ink)}
.day[data-today]{background:none;box-shadow:inset 0 0 0 2px var(--ink)}
.day[data-flag]::after{content:"";position:absolute;top:-2px;right:-2px;width:9px;height:9px;border-radius:99px;background:var(--sun);box-shadow:0 0 0 2px var(--paper)}
.week b{color:var(--ink)}
.swipe{position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:6px;border-radius:99px;background:var(--surface);box-shadow:var(--shadow-card);font-weight:600;font-size:16px;text-align:left;touch-action:pan-y;cursor:grab;-webkit-touch-callout:none;transition:background-color 200ms ease-out}
.swipe[data-drag]{cursor:grabbing}
.swipe::after{content:"";position:absolute;right:15px;top:50%;width:44px;height:44px;margin-top:-22px;border-radius:99px;border:1.5px dashed var(--line-input);transition:opacity 150ms ease-out}
.swipe[data-done]::after{opacity:0}
.swipe .knob{width:52px;height:52px;border-radius:99px;background:var(--ink);color:var(--on-dark);display:grid;place-items:center;box-shadow:0 0 0 5px var(--sun);margin:5px;flex:none;position:relative;z-index:1;will-change:transform;transition:transform 280ms var(--ease-out)}
.swipe[data-drag] .knob{transition:none}
.swipe .knob.nudge{animation:nudge 900ms cubic-bezier(0.645,0.045,0.355,1) 2}
@keyframes nudge{0%,100%{transform:translateX(0)}45%{transform:translateX(46px)}}
.swipe .knob svg{position:absolute;transition:opacity 220ms ease-out,scale 220ms var(--ease-out)}
.swipe .knob svg[hidden]{display:block;opacity:0;scale:0.3}
.swipe .lbl{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:6px;padding-right:58px;white-space:nowrap;transition:opacity 150ms ease-out}
.swipe .lbl svg{color:var(--ink-3)}
.swipe[data-done]{background:var(--sun-soft);color:var(--sun-ink);cursor:pointer}
.swipe[data-done] .lbl svg{display:none}
.hint{text-align:center;font-size:13px;color:var(--ink-3);transition:color 200ms ease-out}
.hint[data-on]{color:var(--ink);font-weight:600}

/* Countdown strip */
.guide-link{margin-top:16px}
.yrbox{display:flex;flex-direction:column;gap:12px;max-width:640px}
.yr-lead{font-size:16px;color:var(--ink-2)}.yr-lead strong{color:var(--ink);font-weight:600}
.yr-pick{margin:0}.yr-pick .seg{max-width:420px}.yr-pick .seg label span{min-height:40px;font-size:clamp(12.5px,3.5vw,14.5px)}
.yr{gap:14px;padding:18px}
.yr-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.yr-top h3{font:400 clamp(26px,6.6vw,32px)/1 var(--display);letter-spacing:-0.015em}
.yr-top span{font-size:13.5px;color:var(--ink-3)}
.yr-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
@media (min-width:560px){.yr-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
.yr-stats div{background:var(--sunken);border-radius:var(--rad-md);padding:10px 12px;min-width:0}
.yr-stats dt{font-size:12px;color:var(--ink-3);line-height:1.3}
.yr-stats dd{margin:4px 0 0;font:400 clamp(21px,5.6vw,25px)/1 var(--display);color:var(--ink)}
.yr-stats dd small{font:500 12.5px/1 var(--body);color:var(--ink-2)}
.stack{display:flex;height:10px;border-radius:99px;background:var(--sunken);overflow:hidden}
.stack i{display:block;height:100%;transition:width 260ms var(--ease-out)}
.stack .s-ord{background:var(--ink)}.stack .s-dob{background:var(--sun)}.stack .s-tri{background:var(--bad);width:6.56%}
.legend{display:flex;flex-wrap:wrap;gap:4px 14px;padding:0;font-size:13px;color:var(--ink-2)}
.legend li{list-style:none;display:flex;align-items:center;gap:6px}
.legend i{width:9px;height:9px;border-radius:3px;flex:none}
.legend .l-ord{background:var(--ink)}.legend .l-dob{background:var(--sun)}.legend .l-tri{background:var(--bad)}
.yr[data-y="2026"] .s-ord{width:78.69%}.yr[data-y="2026"] .s-dob{width:14.75%}.yr[data-y="2027"] .s-ord{width:75.41%}.yr[data-y="2027"] .s-dob{width:14.75%}.yr[data-y="2028"] .s-ord{width:72.13%}.yr[data-y="2028"] .s-dob{width:16.39%}.yr[data-y="2029"] .s-ord{width:68.85%}.yr[data-y="2029"] .s-dob{width:18.03%}.yr[data-y="2030"] .s-ord{width:65.57%}.yr[data-y="2030"] .s-dob{width:19.67%}
@media (prefers-reduced-motion:reduce){.stack i{transition:none}}
.strip{background:var(--surface);box-shadow:var(--shadow-card);border-radius:var(--rad-lg);padding:16px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;justify-content:space-between}
.strip strong{font-weight:600}
.mt{margin-top:16px}
.years{display:flex;gap:6px;flex-wrap:wrap;padding:0}
.years li{list-style:none;font-size:13.5px;padding:5px 11px;border-radius:99px;background:var(--sunken);color:var(--ink-2)}
.years li[data-now]{background:var(--ink);color:var(--on-dark)}

/* Cards */
.grid3{display:grid;gap:16px}
@media (min-width:820px){.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.card{background:var(--surface);border-radius:var(--rad-lg);box-shadow:var(--shadow-card);padding:22px;display:flex;flex-direction:column;gap:10px;min-width:0}
@media (min-width:640px){.card{padding:26px}}
.card p{color:var(--ink-2);font-size:16px;text-wrap:pretty}
.card .ref{font-size:13px;color:var(--ink-3);margin-top:auto;padding-top:6px}
.card .figure{color:var(--ink);font:400 clamp(34px,9vw,60px)/1.02 var(--display);letter-spacing:-0.015em}
.law{display:grid;gap:16px}
@media (min-width:820px){.law{grid-template-columns:repeat(2,minmax(0,1fr))}.law .fine{grid-column:1 / -1}}
.fine{background:var(--bad-soft);box-shadow:none}
.fine h3{color:var(--bad-text)}
.fine-max{display:flex;flex-direction:column;gap:2px}
.card .fine-lbl{font-size:15px;font-weight:600;color:var(--ink-2)}
.card .fine-max .figure{font-size:clamp(48px,15.5vw,112px);line-height:0.98;letter-spacing:-0.02em;color:var(--bad-text)}
.card .fine-min{font-size:17px}
.fine-min b{font-weight:600}
.fine p{color:var(--ink)}
.fine .ref{color:var(--ink-2)}
.banner{display:flex;gap:12px;align-items:flex-start;background:var(--sunken);border-radius:var(--rad-md);padding:16px 18px;margin-top:16px;font-size:15.5px;color:var(--ink)}
.banner svg{margin-top:3px}
.banner p{max-width:78ch;text-wrap:pretty}

/* Steps */
.demo-video{margin:0;display:flex;flex-direction:column;gap:10px}
.demo-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;border-radius:var(--rad-lg);background:var(--navy);box-shadow:var(--shadow-card)}
@media (max-width:480px){.demo-video video{border-radius:var(--rad-md)}}
.steps{counter-reset:s;display:grid;gap:16px;padding:0}
@media (min-width:820px){.steps{grid-template-columns:repeat(3,minmax(0,1fr))}}
.steps li{list-style:none;counter-increment:s}
.steps .n::before{content:counter(s);font:400 22px/1 var(--display)}
.steps .n{width:40px;height:40px;border-radius:99px;background:var(--ink);color:var(--on-dark);display:grid;place-items:center}

/* Feature split */
.split{display:grid;gap:28px;align-items:center}
@media (min-width:900px){.split{grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);gap:56px}.split.flip>:first-child{order:2}}
.split+.split{margin-top:64px}
.copy{display:flex;flex-direction:column;gap:16px}
.checks{display:grid;gap:10px;padding:0}
.checks li{list-style:none;display:flex;gap:10px;align-items:flex-start;color:var(--ink-2);font-size:16px}
.checks svg{margin-top:4px;color:var(--ink)}
.checks b{color:var(--ink);font-weight:600}

.places{gap:0;padding-block:8px}
.places>div{padding-block:16px;box-shadow:0 var(--hair) 0 var(--line)}
.places>div:last-child{box-shadow:none}
.places dt{font-weight:600}
.places dd{margin:2px 0 0;color:var(--ink-2);font-size:16px;text-wrap:pretty}
/* Review queue mock */
.queue{padding:0;overflow:hidden}
.queue header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:18px 20px 12px}
.row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;align-items:center;padding:14px 20px;box-shadow:0 calc(var(--hair) * -1) 0 var(--line)}
.avatar{grid-row:span 2;width:40px;height:40px;border-radius:99px;background:var(--sunken);display:grid;place-items:center;font-size:13.5px;font-weight:600;color:var(--ink-2)}
.row .name{font-weight:600;font-size:15.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row .kind{font-size:13.5px}
.row .bar{grid-column:2}
@media (min-width:560px){.row{grid-template-columns:auto minmax(0,1fr) 150px}.row .bar{grid-column:3;grid-row:1 / span 2}}

/* Shift bar: plan underneath, what happened on top, the gap hatched */
.bar{position:relative;height:8px;border-radius:99px;background:var(--sunken);overflow:hidden}
.bar i{position:absolute;top:0;bottom:0;border-radius:99px}
.bar .plan{left:8%;right:8%;background:var(--plan)}
.bar .real{background:var(--ink)}
.bar .gap{background:repeating-linear-gradient(-45deg,var(--bad) 0 3px,var(--hatch) 3px 6px)}
.bar.b-missed .gap{left:8%;right:8%}
.bar.b-over .real{left:9%;right:4%}
.bar.b-late .gap{left:8%;width:14%}.bar.b-late .real{left:22%;right:8%}
.bar.b-ok .real{left:8%;right:8%}
.bar-lg{height:12px}
.bar-scale{display:flex;justify-content:space-between;font-size:12.5px;color:var(--ink-3);padding:6px 8% 0}

/* Ink band + report */
.band{background:var(--navy);color:var(--on-dark)}
.band .lead{color:var(--on-dark-2)}
.report-col{min-width:0}
.band .scroll-note{color:var(--on-dark-2);margin-bottom:4px}
@media (min-width:640px){.scroll-note{display:none}}
.report-wrap{overflow-x:auto;margin-inline:-20px;padding:8px 20px 28px;-webkit-overflow-scrolling:touch}
.report{background:var(--surface);color:var(--ink);border-radius:var(--rad-lg);box-shadow:var(--shadow-float);padding:22px;min-width:560px;max-width:720px}
@media (min-width:900px){.report-wrap{overflow:visible;margin:0;padding:0}.report{rotate:1deg;min-width:0}.report th,.report td{padding-inline:7px}}
.report h3{font-size:17px}
.report dl{display:grid;grid-template-columns:84px 1fr;gap:4px 8px;font-size:14px;margin:14px 0}
.report dt{color:var(--ink-3)}
.report dd{margin:0;font-weight:500}
table{width:100%;border-collapse:collapse;font-size:14px}
.report th{background:var(--ink);color:var(--on-dark);font-weight:500;padding:8px 10px;text-align:right}
.report th:first-child,.report td:first-child{text-align:left}
.report td{padding:9px 10px;text-align:right;box-shadow:0 var(--hair) 0 var(--line)}
.report tfoot td{font-weight:600;box-shadow:0 calc(var(--hair) * -2) 0 var(--ink)}
.report td:last-child{font-weight:600}
.plus-one{font-size:10px;color:var(--ink-3);vertical-align:super;line-height:0;margin-left:1px}
.report footer{display:flex;justify-content:space-between;gap:12px;margin-top:14px;font-size:12px;color:var(--ink-3)}
.total-mark{box-shadow:inset 0 -3px 0 var(--sun)}
.report footer{flex-wrap:wrap}
@media (max-width:899px){
  .report-wrap{overflow:visible;margin:0;padding:0 0 8px}
  .report{min-width:0;max-width:none;padding:18px}
  .report table,.report thead,.report tbody,.report tfoot{display:block}
  .report tr{display:grid;grid-template-columns:0.9fr 1fr 1.1fr 1fr;align-items:baseline}
  .report thead th{padding:8px 6px}
  .report thead th:nth-child(n+4):nth-child(-n+6){display:none}
  .report tbody tr{padding-block:11px;row-gap:5px;box-shadow:0 var(--hair) 0 var(--line)}
  .report td{padding:0 6px;box-shadow:none}
  .report td:nth-child(7){grid-column:4;grid-row:1}
  .report td:nth-child(4){grid-column:2;grid-row:2}
  .report td:nth-child(5){grid-column:3;grid-row:2}
  .report td:nth-child(6){grid-column:4;grid-row:2}
  .report td:nth-child(n+4):nth-child(-n+6){font-size:12.5px;font-weight:400;color:var(--ink-2)}
  .report td:nth-child(n+4):nth-child(-n+6)::before{display:block;font-size:11px;color:var(--ink-3)}
  .report td:nth-child(4)::before{content:"Pausa"}
  .report td:nth-child(5)::before{content:"Diurnas"}
  .report td:nth-child(6)::before{content:"Nocturnas"}
  .report tfoot tr{padding-block:11px 2px;row-gap:5px;box-shadow:0 calc(var(--hair) * -2) 0 var(--ink)}
  .report tfoot td{box-shadow:none}
  .report tfoot td:nth-child(n+2):nth-child(-n+4){display:none}
  .report tfoot td:nth-child(n+5):nth-child(-n+6){font-weight:600;color:var(--ink)}
  .report dl{grid-template-columns:76px minmax(0,1fr)}
}

/* Compare */
.compare{padding:0;overflow:hidden}
.compare table{font-size:15.5px}
.compare th,.compare td{padding:14px 16px;text-align:left;vertical-align:top;box-shadow:0 var(--hair) 0 var(--line)}
.compare thead th{font-size:13px;font-weight:500;color:var(--ink-3)}
.compare tbody th{font-weight:500;color:var(--ink-2);width:26%}
.compare td:last-child{font-weight:600}
.compare tr:last-child>*{box-shadow:none}
.compare td:last-child,.compare thead th:last-child{background:var(--navy);color:var(--on-dark);box-shadow:0 var(--hair) 0 var(--on-dark-line)}
.compare thead th:last-child{font:400 20px/1.2 var(--display);letter-spacing:-0.01em;padding-block:18px 10px}
.compare td:first-of-type{color:var(--ink-2)}
.s-val{display:flex;gap:8px;align-items:flex-start}
.s-val svg{margin-top:3px;color:var(--sun)}
@media (max-width:700px){
  .compare thead{display:none}
  .compare table,.compare tbody{display:block}
  .compare tr{display:grid;grid-template-columns:minmax(0,0.82fr) minmax(0,1.18fr);gap:12px 10px;padding:20px 18px;box-shadow:0 var(--hair) 0 var(--line)}
  .compare tr:last-child{box-shadow:none}
  .compare tbody th,.compare tbody td{display:block;width:auto;padding:0;box-shadow:none}
  .compare tbody th{grid-column:1 / -1;font-size:17px;font-weight:600;color:var(--ink);text-wrap:balance}
  .compare tbody td{padding:12px;border-radius:var(--rad-md);font-size:15px;line-height:1.4;color:var(--ink-2);font-weight:400;box-shadow:inset 0 0 0 1px var(--line)}
  .compare tbody tr:last-child td:first-of-type{box-shadow:inset 0 0 0 1px var(--line)}
  .compare tbody td:last-child{background:var(--navy);box-shadow:var(--shadow-card);color:var(--on-dark);font-weight:600;font-size:16px}
  .compare tbody td:last-child::before{color:var(--on-dark-2)}
  .s-val{gap:6px}
  .compare td::before{content:attr(data-h);display:block;margin-bottom:4px;font-size:12.5px;font-weight:500;color:var(--ink-3)}
}

.sizes{border:0;padding:0;margin:0 0 20px;min-width:0}
.sizes legend{font-weight:600;font-size:17px;padding:0;margin-bottom:12px}
.seg{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--sunken-2);border-radius:99px;padding:4px;max-width:560px}
.seg-thumb{position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px) / 5);border-radius:99px;background:var(--surface);box-shadow:var(--shadow-card);transition:transform 220ms var(--ease-out)}
.seg:has(label:nth-of-type(2) input:checked) .seg-thumb{transform:translateX(100%)}
.seg:has(label:nth-of-type(3) input:checked) .seg-thumb{transform:translateX(200%)}
.seg:has(label:nth-of-type(4) input:checked) .seg-thumb{transform:translateX(300%)}
.seg:has(label:nth-of-type(5) input:checked) .seg-thumb{transform:translateX(400%)}
.seg[data-i="1"] .seg-thumb{transform:translateX(100%)}.seg[data-i="2"] .seg-thumb{transform:translateX(200%)}.seg[data-i="3"] .seg-thumb{transform:translateX(300%)}.seg[data-i="4"] .seg-thumb{transform:translateX(400%)}
.seg label{position:relative;cursor:pointer;user-select:none;-webkit-user-select:none}
.seg label span{display:grid;place-items:center;min-height:44px;border-radius:99px;font-weight:600;font-size:clamp(12.5px,3.7vw,15px);color:var(--ink-2);white-space:nowrap;transition:color 150ms ease-out}
.seg input:checked+span{color:var(--ink)}
.seg input:focus-visible+span{outline:2px solid var(--ink);outline-offset:1px}
@media (hover:hover) and (pointer:fine){.seg input:not(:checked)+span:hover{color:var(--ink)}}
.plans{display:grid;gap:16px}
@media (min-width:760px){.plans{grid-template-columns:repeat(2,minmax(0,1fr))}}
.plan{gap:22px;padding:24px}
@media (min-width:640px){.plan{padding:30px}}
.plan header{display:flex;flex-direction:column;gap:4px}
.plan h3{font:400 28px/1.1 var(--display);letter-spacing:-0.01em}
.plan header p{font-size:16px}
.price{display:flex;flex-direction:column;gap:4px;padding-block:18px;box-shadow:0 var(--hair) 0 var(--line),0 calc(var(--hair) * -1) 0 var(--line)}
.card .price .figure{font-size:clamp(44px,11vw,60px)}
.plan .figure small{font:500 16px/1 var(--body);letter-spacing:0;color:var(--ink-2);margin-left:2px}
.card .price .cap{font-size:13.5px;color:var(--ink-3)}
.figure.swap{animation:swap 200ms var(--ease-out)}
@keyframes swap{from{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}
.plan-act{margin-top:auto;padding-top:4px}
.plan-act .btn{width:100%}
.plan-pro{background:var(--navy);color:var(--on-dark);box-shadow:var(--shadow-float)}
.plan-pro header p,.plan-pro .checks li,.plan-pro .figure small{color:var(--on-dark-2)}
.card.plan-pro .figure,.plan-pro .checks b,.plan-pro .checks svg{color:var(--on-dark)}
.card.plan-pro .price .cap{color:var(--on-dark-2)}
.plan-pro .price{box-shadow:0 var(--hair) 0 var(--on-dark-line),0 calc(var(--hair) * -1) 0 var(--on-dark-line)}
.wa{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:var(--rad-md);background:var(--on-dark-line)}
.card .wa .bub{max-width:82%;padding:8px 12px;border-radius:14px;font-size:14.5px;line-height:1.35}
.card .wa .me{align-self:flex-end;background:var(--on-dark);color:var(--ink);border-bottom-right-radius:4px}
.card .wa .bot{align-self:flex-start;background:var(--on-dark-line);color:var(--on-dark);border-bottom-left-radius:4px}
.wa .bot b{display:block;font-size:12px;font-weight:600;color:var(--on-dark-2)}
.card .wa .wa-cap{align-self:flex-end;font-size:12px;color:var(--on-dark-2)}
.plans-note{margin-top:14px}
.plan .figure .from{display:block;font:500 16px/1.2 var(--body);letter-spacing:0;color:var(--ink-2);margin-bottom:6px}
.promo .bf{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:14px;font-weight:500;color:var(--on-dark-2);margin-bottom:8px}
.promo h3{font-size:clamp(40px,11vw,56px);line-height:1}
.promo-steps{padding:0;display:grid;gap:14px;counter-reset:ps;padding-block:18px;box-shadow:0 var(--hair) 0 var(--on-dark-line),0 calc(var(--hair) * -1) 0 var(--on-dark-line)}
.promo-steps li{list-style:none;counter-increment:ps;display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;color:var(--on-dark-2);font-size:16px}
.promo-steps li::before{content:counter(ps);width:28px;height:28px;border-radius:99px;background:var(--on-dark-line);color:var(--on-dark);display:grid;place-items:center;font:600 14px/1 var(--body)}
.promo-steps b{color:var(--on-dark);font-weight:600}
.final .final-cap{color:var(--on-dark-2)}
.plan h3{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.soon{font:600 13px/1 var(--body);letter-spacing:0;padding:6px 11px;border-radius:99px;background:var(--sun);color:var(--sun-ink)}
.btn.btn-soon[disabled]{background:var(--on-dark-line);color:var(--on-dark-2);cursor:default}
.btn.btn-soon:active{transform:none}
.figure .quote-word{font-size:clamp(26px,6vw,36px)}
.all-prices{margin-top:20px}
.all-prices summary{list-style:none;display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:500;color:var(--ink-2);cursor:pointer;text-decoration:underline;text-decoration-thickness:from-font;text-underline-offset:3px}
.all-prices summary::-webkit-details-marker{display:none}
.all-prices summary svg{transition:rotate 180ms var(--ease-out)}
.all-prices[open] summary svg{rotate:180deg}
.tbl-scroll{overflow-x:auto;background:var(--surface);border-radius:var(--rad-lg);box-shadow:var(--shadow-card);margin-block:8px 10px;max-width:560px}
.tbl-scroll table{font-size:16px}
.tbl-scroll th,.tbl-scroll td{padding:12px 16px;text-align:right;box-shadow:0 var(--hair) 0 var(--line)}
.tbl-scroll th:first-child{white-space:nowrap}
@media (max-width:420px){.tbl-scroll th,.tbl-scroll td{padding:12px 10px}.tbl-scroll table{font-size:15px}}
.tbl-scroll th:first-child{text-align:left;font-weight:500}
.tbl-scroll thead th{font-size:13px;font-weight:500;color:var(--ink-3)}
.tbl-scroll tbody tr:last-child>*{box-shadow:none}
.quote{margin-top:16px;gap:22px;padding:24px}
@media (min-width:640px){.quote{padding:30px}}
.quote h3{font:400 26px/1.1 var(--display);letter-spacing:-0.01em;margin-bottom:6px}
.fields{display:grid;gap:16px}
@media (min-width:640px){.fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
.field label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}
.field input{width:100%;min-height:48px;padding:10px 14px;border:0;border-radius:var(--rad-md);font:400 16px/1.3 var(--body);color:var(--ink);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-input);appearance:none;-moz-appearance:textfield}
.field input::-webkit-outer-spin-button,.field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.field input:focus-visible{outline:2px solid var(--ink);outline-offset:0;box-shadow:none;border-radius:var(--rad-md)}
.field input[aria-invalid=true]{box-shadow:inset 0 0 0 2px var(--bad)}
.phone-in{position:relative;display:block}
.phone-in>span{position:absolute;left:14px;top:50%;translate:0 -50%;color:var(--ink-3);pointer-events:none}
.phone-in input{padding-left:52px;font-variant-numeric:tabular-nums}
.card .err{color:var(--bad-text)}
.dock[data-off]{display:none}
.err{display:flex;gap:6px;align-items:flex-start;margin-top:6px;font-size:14px;font-weight:500;color:var(--bad-text)}
.err[hidden]{display:none}
.err::before{content:"";flex:none;width:16px;height:16px;margin-top:2px;background:currentColor;-webkit-mask:var(--alert) center/contain no-repeat;mask:var(--alert) center/contain no-repeat}
.checks-in{display:grid;gap:2px}
.check-row{display:flex;align-items:center;gap:12px;min-height:48px;cursor:pointer;font-size:16px}
.check-row input{width:22px;height:22px;accent-color:var(--ink);flex:none;margin:0}
.quote-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.btn[disabled]{background:var(--sunken-2);color:var(--ink-3);cursor:default}
.quote-status{font-size:15px;color:var(--ink-2);max-width:46ch;text-wrap:pretty}
.quote-status[data-tone=bad]{color:var(--bad-text);font-weight:500}
/* Pending marker: visible on purpose until real values exist */
.todo{border-radius:var(--rad-lg);padding:24px;background:var(--sun-soft);color:var(--sun-ink);display:flex;flex-direction:column;gap:8px;box-shadow:inset 0 0 0 1.5px var(--sun)}
.todo strong{font-weight:600}

/* FAQ */
.faq{display:grid;gap:0;background:var(--surface);border-radius:var(--rad-lg);box-shadow:var(--shadow-card);overflow:hidden}
.faq details{box-shadow:0 var(--hair) 0 var(--line)}
.faq details:last-child{box-shadow:none}
.faq summary{list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 20px;min-height:60px;font-weight:600;font-size:17px;cursor:pointer;user-select:none;-webkit-user-select:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{color:var(--ink-3);transition:rotate 180ms var(--ease-out)}
.faq details[open] summary svg{rotate:180deg}
.faq .a{padding:0 20px 20px;color:var(--ink-2);max-width:70ch;text-wrap:pretty}
@media (hover:hover) and (pointer:fine){.faq summary:hover{background:var(--sunken)}}

/* Final CTA + footer */
.final .wrap{display:flex;flex-direction:column;gap:22px;align-items:flex-start}
footer.site{background:var(--navy);color:var(--on-dark-2);font-size:14px;padding-block:28px calc(28px + env(safe-area-inset-bottom));box-shadow:inset 0 var(--hair) 0 var(--on-dark-line)}
footer.site .wrap{display:flex;flex-direction:column;gap:14px}
footer.site nav{display:flex;flex-wrap:wrap;gap:6px 20px}
footer.site a{color:var(--on-dark);text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center}
footer.site p{max-width:80ch;text-wrap:pretty}
footer.site .foot-end{max-width:none;display:flex;align-items:center;justify-content:space-between;gap:16px}
.mark365{display:block;height:24px;width:auto;opacity:0.45;user-select:none;-webkit-user-drag:none}

@media (max-width:359px){.swipe{font-size:15px;gap:6px}.swipe::after{display:none}.swipe .lbl{padding-right:10px}.swipe .lbl svg{display:none}.report-wrap{margin-inline:-16px;padding-inline:16px}.dock p{display:none}.dock .btn{width:100%}.wrap{padding-inline:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right))}.btn-lg{padding:0 20px}.phone-body,.scene-top{padding-inline:16px}.day{width:26px;height:26px}.plan,.quote{padding:20px}}
/* Mobile sticky CTA: the primary action stays in reach */
.dock{position:fixed;left:0;right:0;bottom:0;max-width:100vw;box-sizing:border-box;z-index:30;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--canvas);box-shadow:0 calc(var(--hair) * -1) 0 var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;transform:translateY(110%);visibility:hidden;transition:transform 220ms var(--ease-out),visibility 0s 220ms}
.dock[data-show]{transform:none;visibility:visible;transition:transform 220ms var(--ease-out)}
@media (max-height:480px){:root{--header-h:52px}h1{font-size:40px}h2{font-size:32px}.hero{padding-block:24px 40px}.dock{display:none}}
.dock .btn{flex:none}
.dock p{min-width:0;font-size:13.5px;color:var(--ink-2);line-height:1.3}
@media (min-width:900px){.dock{display:none}}
body{padding-bottom:0}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .intro .hero-copy>*,.intro .phone{animation:none;opacity:1;translate:none}
  .btn,.swipe,.swipe .knob,.swipe .lbl,.hint,.swipe .knob svg,.faq summary svg,.dock,.dock[data-show],.seg-thumb,.seg label span,.all-prices summary svg{transition:none}
  .figure.swap,.swipe .knob.nudge{animation:none}
}
