/* Built from public/css/src by .impeccable/tools/build-css.py. Do not edit directly. */
/* SAFTCheck site styles. Direction "Revisão a vermelho": printed listing, red pencil, teal actions.
   Class-based on purpose: pages not yet converted still use Tailwind utilities alongside this file. */
@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-weight:400 900;font-display:swap;src:url("/fonts/schibsted-grotesk.woff2") format("woff2")}
@font-face{font-family:"Schibsted Grotesk";font-style:italic;font-weight:400 900;font-display:swap;src:url("/fonts/schibsted-grotesk-italic.woff2") format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400 700;font-display:swap;src:url("/fonts/jetbrains-mono.woff2") format("woff2")}
@font-face{font-family:"Caveat";font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/caveat-600.woff2") format("woff2")}
:root{
  --paper:#FFFFFF;
  --sheet:#F7F6F1;
  --band:#EAF0E5;
  --rule:#E2E0D8;
  --rule-2:#CDCAC0;
  --ink:#1F2124;
  --ink-2:#4A4E54;
  --ink-3:#64686E;
  --red:#B8291E;
  --red-deep:#962017;
  --red-tint:#F9E9E6;
  --teal:#0E5E5B;
  --teal-deep:#094744;
  --teal-tint:#E4EFEC;
  --sans:"Schibsted Grotesk", ui-sans-serif, system-ui, sans-serif;
  --mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;
  --hand:"Caveat", "Segoe Print", cursive;
  --lh:28px;
  --ind:2ch;
  --mw:340px;
  --mg:56px;
  --ease:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scrollbar-color:#C9C6BC #FFFFFF;scroll-padding-top:24px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"kern"}
.pp{background:var(--paper);color:var(--ink);font-size:17px;line-height:1.6}
::selection{background:#F2D2CC;color:var(--ink)}
::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{background:#fff}
::-webkit-scrollbar-thumb{background:#CFCBC1;border-radius:10px;border:3px solid #fff}
::-webkit-scrollbar-thumb:hover{background:#A9A59A}
img,svg{display:block}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
:where(.pp) a:not([class]),.lnk{color:var(--teal);text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:.22em;transition:color .15s,text-decoration-color .15s}
:where(.pp) a:not([class]):hover,.lnk:hover{color:var(--teal-deep);text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:4px}
input,button{font:inherit}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:16px;top:-60px;background:var(--ink);color:#fff;padding:10px 14px;border-radius:6px;z-index:50;text-decoration:none}
.skip:focus{top:12px;color:#fff}
.wrap{max-width:1280px;margin-inline:auto;padding-inline:40px}
.ico{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ico-sm{width:17px;height:17px}
.num{font-variant-numeric:tabular-nums}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:8px;font:600 16px/1 var(--sans);letter-spacing:-.005em;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background-color .18s var(--ease),box-shadow .18s var(--ease),transform .12s var(--ease),border-color .18s}
.btn .ico{width:18px;height:18px;transition:transform .25s var(--ease)}
.btn:hover .ico{transform:translateX(3px)}
.btn-primary{background:var(--teal);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 8px 18px -10px rgba(9,71,68,.7)}
.btn-primary:hover{background:var(--teal-deep);color:#fff;text-decoration:none}
.btn-primary:active{transform:translateY(1px)}
.btn-primary[disabled]{background:#6E9592;cursor:progress;box-shadow:none}
.btn-ghost{background:#fff;color:var(--ink);border-color:var(--rule-2)}
.btn-ghost:hover{border-color:var(--ink-2);color:var(--ink);text-decoration:none}
.btn-block{width:100%}

/* ---------- header ---------- */
.site-head{background:#fff;border-bottom:1px solid var(--rule);position:relative;z-index:20}
.site-head .wrap{display:flex;align-items:center;height:68px;gap:40px}
.wordmark{font:800 23px/1 var(--sans);letter-spacing:-.035em;color:var(--ink);text-decoration:none;display:inline-flex;align-items:baseline}
.wordmark:hover{color:var(--ink);text-decoration:none}
.wordmark .ck{position:relative;font-weight:500;letter-spacing:-.03em}
.wordmark .ck svg{position:absolute;left:-1px;bottom:-6px;width:calc(100% + 4px);height:7px;overflow:visible}
.wordmark .ck path{fill:none;stroke:var(--red);stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke}
.nav{display:flex;gap:30px;align-items:center}
.nav a{color:var(--ink-2);text-decoration:none;font-weight:500;font-size:15.5px;padding:6px 0;position:relative}
.nav a:hover{color:var(--ink)}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav a:hover::after{transform:scaleX(1)}
.head-end{margin-left:auto;display:flex;align-items:center;gap:22px}
.langs{display:flex;gap:2px;font:600 12.5px/1 var(--sans);letter-spacing:.05em}
.langs a{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:30px;border-radius:6px;color:var(--ink-3);text-decoration:none}
.langs a:hover{color:var(--ink);background:var(--sheet)}
.langs a[aria-current]{color:var(--ink);background:var(--sheet);box-shadow:inset 0 0 0 1px var(--rule)}
.signin{font-weight:600;font-size:15.5px;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:1px solid var(--rule-2);border-radius:8px}
.signin:hover{color:var(--ink);border-color:var(--ink-2)}
.menu{display:none;position:relative}
.menu summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:8px;cursor:pointer;color:var(--ink)}
.menu summary::-webkit-details-marker{display:none}
.menu summary:hover{background:var(--sheet)}
.menu .ico{width:22px;height:22px}
.menu-panel{position:absolute;right:-8px;top:52px;width:min(320px,calc(100vw - 32px));background:#fff;border:1px solid var(--rule);border-radius:12px;box-shadow:0 22px 44px -18px rgba(25,25,20,.28);padding:10px;display:grid}
.menu-panel a{display:flex;align-items:center;min-height:46px;padding:0 12px;border-radius:8px;color:var(--ink);text-decoration:none;font-weight:500}
.menu-panel a:hover{background:var(--sheet)}
.menu-panel .menu-cta{color:#fff;justify-content:center;margin-bottom:6px}
.menu-panel .menu-cta:hover{background:var(--teal-deep);color:#fff}
.menu-panel .langs{padding:10px 8px 4px;border-top:1px solid var(--rule);margin-top:6px}
.menu-panel .langs a{min-height:40px;min-width:44px;padding:0;font-weight:600}

/* ---------- paper sheet + listing ---------- */
.sheet{position:relative;background:var(--sheet);border:1px solid var(--rule);border-radius:4px;box-shadow:0 1px 2px rgba(30,30,22,.05),0 24px 48px -30px rgba(30,30,22,.34)}
.sheet.feed{padding:44px 92px 40px}
.sheet.feed::before,.sheet.feed::after{content:"";position:absolute;top:0;bottom:0;width:46px;background:radial-gradient(circle at 50% 50%,#fff 0 5.5px,#D8D5CB 6px 6.8px,transparent 7.2px) 0 12px/46px 36px repeat-y}
.sheet.feed::before{left:0;border-right:1px dashed var(--rule-2)}
.sheet.feed::after{right:0;border-left:1px dashed var(--rule-2)}
.ink-host{position:relative}
svg.ink{position:absolute;left:0;top:0;pointer-events:none;overflow:visible;z-index:4;mix-blend-mode:multiply}
.ink-red{fill:none;stroke:var(--red);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:.92}
.ink-line{stroke-width:1.5}
.ink-strike{stroke-width:1.9}

.listing-head{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;padding-bottom:12px;margin-bottom:8px;border-bottom:1px solid var(--rule-2);font-size:14px;color:var(--ink-2)}
.listing-head .fname{font-weight:600;color:var(--ink)}
.listing-head .meta{color:var(--ink-3)}
.listing-head .meta::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--rule-2);vertical-align:middle;margin-right:14px}
.tag{display:inline-flex;align-items:center;font:700 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);background:#fff;border:1px solid var(--rule-2);padding:5px 7px 4px;border-radius:4px}

.excerpt{display:grid;grid-template-columns:minmax(0,1fr) var(--mw);column-gap:var(--mg);align-items:start}
.code{font:400 14px/var(--lh) var(--mono);color:var(--ink);font-variant-ligatures:none;font-feature-settings:"calt" 0}
.ln{display:grid;grid-template-columns:5.6ch minmax(0,1fr);min-height:var(--lh)}
.ln:nth-child(6n+1),.ln:nth-child(6n+2),.ln:nth-child(6n+3){background:var(--band)}
.ln .n{color:var(--ink-3);text-align:right;padding-right:1.8ch;font-size:12.5px;user-select:none;font-variant-numeric:tabular-nums}
.ln code{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;padding-left:calc(var(--d,0) * var(--ind) + 2ch);text-indent:-2ch;padding-right:1ch}
.ln.hit{background:var(--red-tint)!important}
.ln.hit .n{color:var(--red-deep);font-weight:600}
.t{color:var(--ink-2)}
.v{color:var(--ink);font-weight:500}
.mark{font-weight:600;color:var(--ink)}
html:not(.js) .mark{text-decoration:underline wavy var(--red);text-underline-offset:4px}
.strike{color:var(--ink-3)}
html:not(.js) .strike{text-decoration:line-through var(--red) 2px}
.ins{white-space:nowrap;text-indent:0;color:var(--teal-deep);font-weight:600;background:var(--teal-tint);border-radius:3px;padding:1px 2px}
.strike + .ins{margin-left:.6ch}
.nw{white-space:nowrap}
.box{white-space:nowrap;display:inline-flex;align-items:center;gap:6px;margin-left:.6ch;padding:0 8px;border:1.5px dashed var(--teal);border-radius:4px;color:var(--teal-deep);font:500 12.5px/22px var(--sans);text-indent:0;vertical-align:1px;background:#fff}
.box .ico{width:14px;height:14px}
.gapline{display:flex;align-items:center;gap:14px;margin:16px calc(var(--mw) + var(--mg)) 16px 0;color:var(--ink-3);font-size:13px;white-space:nowrap}
.gapline::before,.gapline::after{content:"";flex:1;border-top:1px dashed var(--rule-2)}
.margin{padding-top:max(0px,calc(var(--row) * var(--lh) - 3px));position:relative;z-index:5}
.note .hand{font:600 26px/1.02 var(--hand);color:var(--red);margin:0 0 8px;max-width:20ch;transform:rotate(-1.4deg);transform-origin:0 50%}
.note .where{font-size:13.5px;color:var(--ink-2);line-height:1.45}

@media (max-width:1180px){:root{--mw:300px;--mg:44px}.sheet.feed{padding:40px 76px 36px}}
@media (max-width:920px){
  .nav,.head-end .langs,.head-end .signin{display:none}
  .menu{display:block}
  .excerpt{grid-template-columns:minmax(0,1fr)}
  .margin{padding-top:0;margin-top:18px;padding-left:5.6ch}
  .gapline{margin-right:0}
  .ln code{padding-right:18px}
  .sheet.feed{padding:32px 26px 28px}
  .sheet.feed::before,.sheet.feed::after{display:none}
}
@media (max-width:600px){
  :root{--lh:23px;--ind:.5ch}
  body{font-size:16px}
  .wrap{padding-inline:18px}
  .site-head .wrap{height:60px}
  .wordmark{font-size:21px}
  .code{font-size:11.5px}
  .ln{grid-template-columns:4.6ch minmax(0,1fr)}
  .ln code{padding-right:15px}
  .ln .n{font-size:11px;padding-right:1.4ch}
  .margin{padding-left:0}
  .note .hand{font-size:24px;max-width:none}
  .listing-head .meta{flex-basis:100%}
  .listing-head .meta::before{display:none}
}

/* ---------- footer ---------- */
.site-foot{border-top:1px solid var(--rule);background:#fff;padding:56px 0 40px;font-size:15px;color:var(--ink-2)}
.foot-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px}
.foot-grid h2{font:600 13px/1.2 var(--sans);letter-spacing:.02em;color:var(--ink);margin-bottom:14px}
.foot-grid li+li{margin-top:8px}
.foot-grid a{color:var(--ink-2);text-decoration:none}
.foot-grid a:hover{color:var(--ink);text-decoration:underline}
.foot-btn{background:none;border:0;padding:0;color:var(--ink-2);cursor:pointer;font:inherit}
.foot-btn:hover{color:var(--ink);text-decoration:underline}
.foot-brand p{margin-top:14px;max-width:34ch;line-height:1.55}
.foot-base{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:44px;padding-top:20px;border-top:1px solid var(--rule);font-size:13.5px;color:var(--ink-3)}
.foot-base .langs a{min-height:28px}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}

/* ========== cookie banner ========== */
.btn-sm{min-height:36px;padding:0 14px;font-size:14px;border-radius:7px;flex:none}
.cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:40}
@media (min-width:640px){.cookie{left:auto;max-width:460px}}
.cookie-in{background:#fff;border:1px solid var(--rule-2);border-radius:10px;padding:14px 16px;box-shadow:0 22px 44px -18px rgba(25,25,20,.28)}
.cookie-row{display:flex;align-items:center;gap:10px}
.cookie-row p{flex:1;font-size:13.5px;line-height:1.45;color:var(--ink-2)}

/* ========== landing ========== */

/* ---------- hero ---------- */
.hero{padding:22px 0 0}
.hero > .wrap{max-width:1400px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) var(--mw);column-gap:var(--mg);align-items:center;margin-bottom:34px}
.hero h1{font-size:clamp(2.35rem,.9rem + 3.4vw,3.9rem);line-height:1;letter-spacing:-.04em;font-weight:780;text-wrap:balance}
.hero h1 .l1,.hero h1 .l2{display:block}
@media (min-width:1240px){.hero h1 .l1,.hero h1 .l2{white-space:nowrap}}
.u{position:relative;white-space:nowrap;display:inline-block}
.u svg{position:absolute;left:-3%;bottom:-.16em;width:106%;height:.24em;overflow:visible}
.u path{fill:none;stroke:var(--red);stroke-width:3.2;stroke-linecap:round;vector-effect:non-scaling-stroke}
.lede{margin-top:22px;font-size:19px;line-height:1.55;color:var(--ink-2);max-width:46ch}
.lede strong{color:var(--ink);font-weight:600}
.deadline{display:inline-flex;align-items:flex-start;gap:10px;margin-top:22px;padding:10px 14px 10px 12px;background:#fff;border:1px solid var(--rule);border-radius:8px;font-size:15px;color:var(--ink-2);line-height:1.4}
.deadline .ico{color:var(--teal);margin-top:-1px}
.deadline strong{color:var(--ink);font-weight:650}

.slip{background:#fff;border:1px solid var(--rule);border-radius:10px;padding:18px;box-shadow:0 1px 1px rgba(30,30,22,.04),0 16px 32px -18px rgba(30,30,22,.30)}
.drop{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px;min-height:156px;padding:20px 16px;border:1.5px dashed #B9B5A9;border-radius:8px;background:#FCFCFA;cursor:pointer;transition:border-color .2s,background-color .2s,box-shadow .2s}
.drop:hover{border-color:var(--teal)}
.drop.drag{border-color:var(--teal);background:var(--teal-tint);box-shadow:inset 0 0 0 3px rgba(14,94,91,.08)}
form:focus-within .drop{border-color:var(--teal)}
#file:focus-visible + .drop, .drop:has(+ #file:focus-visible){outline:2px solid var(--teal);outline-offset:3px}
.drop .ico{width:28px;height:28px;color:var(--teal);margin-bottom:6px}
.drop-title{font-weight:650;font-size:16.5px;color:var(--ink);letter-spacing:-.01em}
.drop-sub{font-size:14.5px;color:var(--ink-2)}
.drop-sub u{color:var(--teal);text-underline-offset:.2em}
.drop-file{font-size:14px;font-weight:600;color:var(--teal-deep);min-height:0}
.drop.has-file{border-style:solid;border-color:var(--teal);background:var(--teal-tint)}
.drop.has-file .drop-sub{display:none}
.slip .btn{margin-top:14px;min-height:52px;font-size:16.5px}
.assure{margin-top:16px;display:grid;gap:7px;font-size:14px;color:var(--ink-2)}
.assure li{display:flex;align-items:center;gap:9px}
.assure .ico{width:17px;height:17px;color:var(--teal)}
.quota{margin-top:12px;padding-top:12px;border-top:1px solid var(--rule);font-size:13px;color:var(--ink-3);line-height:1.45}

.hero .listing{position:relative}
.hero .note .where{max-width:30ch}
.hero-caption{display:grid;grid-template-columns:minmax(0,1fr) var(--mw);column-gap:var(--mg);margin-top:22px;padding-top:16px;border-top:1px solid var(--rule-2);font-size:15px;color:var(--ink-2)}
.hero-caption p{max-width:62ch}
.hero-caption a{font-weight:600}

/* ---------- sections ---------- */
section{scroll-margin-top:16px}
.sec{padding:120px 0 0}
.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 64px;align-items:end;margin-bottom:48px}
.sec h2{font-size:clamp(1.9rem,1.2rem + 1.6vw,2.75rem);line-height:1.06;letter-spacing:-.032em;font-weight:740;text-wrap:balance;max-width:20ch}
.sec-head p{color:var(--ink-2);font-size:18px;max-width:52ch}

.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.steps li{padding:28px 32px 8px 0;position:relative}
.steps li+li{padding-left:32px;border-left:1px solid var(--rule)}
.step-n{display:block;font:300 52px/1 var(--sans);letter-spacing:-.04em;color:var(--ink-3);margin-bottom:22px;font-variant-numeric:tabular-nums}
.steps h3{font-size:21px;letter-spacing:-.018em;font-weight:680;margin-bottom:10px}
.steps p{color:var(--ink-2);font-size:16.5px;max-width:36ch}

.checks{margin-top:96px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:64px}
.checks h2{max-width:13ch}
.checks .aside{color:var(--ink-2);margin-top:18px;max-width:34ch}
.checklist{display:grid;grid-template-columns:1fr 1fr;column-gap:40px;border-top:1px solid var(--rule-2)}
.checklist li{display:grid;grid-template-columns:24px 1fr;gap:4px 14px;padding:18px 0 20px;border-bottom:1px solid var(--rule)}
.checklist .ico{color:var(--teal);width:20px;height:20px;margin-top:3px;stroke-width:2.1}
.checklist strong{font-weight:650;font-size:17px;letter-spacing:-.01em}
.checklist span{grid-column:2;color:var(--ink-2);font-size:15.5px;line-height:1.5}

/* encoding */
.enc-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 64px;margin-bottom:44px}
.enc-copy h2{max-width:16ch}
.enc-copy p{color:var(--ink-2);max-width:56ch}
.enc-copy p+p{margin-top:16px}
.enc-copy p strong{color:var(--ink);font-weight:600}
.enc-copy .more{display:inline-flex;align-items:center;gap:8px;margin-top:24px;font-weight:600}
.enc-sheet{margin:0}
.enc-sheet .note+.note{margin-top:14px}
.enc-sheet .ln.hex code{color:var(--ink-2)}
.after{margin:26px calc(var(--mw) + var(--mg)) 0 0;padding-top:18px;border-top:1px dashed var(--rule-2)}
.after-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--teal-deep);margin-bottom:8px}
.after-label .ico{width:17px;height:17px;stroke-width:2.1}
.after .ln{background:var(--teal-tint)!important}

/* guides */
.guides{display:grid;grid-template-columns:1fr 1fr;column-gap:56px;border-top:1px solid var(--ink)}
.guides a{align-content:start;display:grid;grid-template-columns:1fr 24px;gap:6px 20px;padding:22px 0 24px;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink)}
.guides a strong{font-size:18.5px;font-weight:650;letter-spacing:-.014em;line-height:1.3;text-wrap:pretty}
.guides a span{grid-column:1;color:var(--ink-2);font-size:15.5px;line-height:1.5}
.guides a .ico{grid-row:1;grid-column:2;color:var(--ink-3);margin-top:3px;transition:transform .3s var(--ease),color .2s}
.guides a:hover strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
.guides a:hover .ico{transform:translateX(4px);color:var(--teal)}
.guides-all{display:inline-flex;align-items:center;gap:8px;margin-top:26px;font-weight:600}

/* pricing */
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--sheet);border:1px solid var(--rule);border-radius:6px}
.plan{padding:34px 32px 32px;display:flex;flex-direction:column;position:relative}
.plan+.plan{border-left:1px solid var(--rule)}
.plan.pop{background:#fff;margin:-14px 0;border-radius:6px;border:1px solid var(--rule-2);box-shadow:0 22px 44px -26px rgba(30,30,22,.35);padding-top:48px;z-index:1}
.plan.pop+.plan{border-left:0}
.badge{position:absolute;top:18px;left:32px;display:inline-flex;align-items:center;gap:6px;font:650 12.5px/1 var(--sans);letter-spacing:.01em;color:var(--teal-deep);background:var(--teal-tint);padding:6px 9px;border-radius:999px}
.plan h3{font-size:20px;font-weight:700;letter-spacing:-.015em}
.plan .for{color:var(--ink-2);font-size:15px;margin-top:4px;min-height:48px}
.price{display:flex;align-items:baseline;gap:8px;margin:20px 0 4px}
.price b{font-size:52px;font-weight:720;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}
.price span{color:var(--ink-2);font-size:15px}
.plan ul{margin:22px 0 28px;display:grid;gap:11px;font-size:15.5px}
.plan li{display:flex;gap:10px;align-items:flex-start}
.plan li .ico{width:18px;height:18px;color:var(--teal);margin-top:3px;stroke-width:2.1}
.soon{display:inline-block;margin-left:6px;font-size:12px;font-weight:600;color:var(--ink-2);border:1px solid var(--rule-2);border-radius:999px;padding:1px 8px;vertical-align:1px;white-space:nowrap}
.plan .btn{margin-top:auto}
.plan .small{min-height:2.9em;margin-top:12px;font-size:13.5px;color:var(--ink-3);line-height:1.45}
.fine{margin-top:28px;font-size:14.5px;color:var(--ink-2);max-width:86ch;line-height:1.55}

/* faq */
.faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:64px}
.faq h2{position:sticky;top:24px}
.faq-intro{color:var(--ink-2);margin-top:16px;max-width:30ch}
.qa{border-top:1px solid var(--ink)}
.qa details{border-bottom:1px solid var(--rule)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:22px 0;font-size:18.5px;font-weight:620;letter-spacing:-.012em;line-height:1.35}
.qa summary::-webkit-details-marker{display:none}
.qa summary:hover{color:var(--teal-deep)}
.qa summary .ico{width:20px;height:20px;margin-top:3px;color:var(--ink-3);transition:transform .35s var(--ease)}
.qa details[open] summary .ico{transform:rotate(45deg);color:var(--ink)}
.qa details p{padding:0 48px 24px 0;color:var(--ink-2);max-width:68ch}

/* closing */
.closing{margin-top:120px;margin-bottom:96px}
.closing-in{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:center;padding:56px 64px}
.closing h2{font-size:clamp(2rem,1.2rem + 2vw,3.1rem);line-height:1.02;letter-spacing:-.035em;font-weight:760}
.closing p{color:var(--ink-2);margin-top:14px;font-size:18px}
.closing-act{display:grid;gap:14px;justify-items:start}
.closing-act .deadline{margin-top:0}

@media (max-width:1180px){.hero-caption{grid-template-columns:1fr}}
@media (max-width:920px){
  .hero{padding-top:0}
  .hero .wrap{padding-inline:0}
  .hero .sheet.feed{border-radius:0;border-inline:0;padding:30px 24px 30px;box-shadow:none;border-top:0}
  .hero-grid{grid-template-columns:minmax(0,1fr);row-gap:26px;margin-bottom:34px}
  .sec{padding-top:88px}
  .sec-head{grid-template-columns:1fr;margin-bottom:32px}
  .steps{grid-template-columns:1fr}
  .steps li,.steps li+li{padding:22px 0;border-left:0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:56px 1fr;column-gap:12px}
  .step-n{font-size:38px;margin:0;grid-row:span 2}
  .checks,.faq{grid-template-columns:1fr;gap:36px}
  .enc-copy{grid-template-columns:1fr;margin-bottom:32px}
  .after{margin-right:0}
  .checks{margin-top:72px}
  .faq h2{position:static}
  .plans{grid-template-columns:1fr;background:transparent;border:0;gap:16px}
  .plan{background:var(--sheet);border:1px solid var(--rule)!important;border-radius:8px}
  .plan.pop{margin:0;order:-1}
  .plan .for{min-height:0}
  .closing-in{grid-template-columns:1fr;padding:40px 28px}
}
@media (max-width:600px){
  .hero .sheet.feed{padding:24px 18px 26px}
  .hero h1{font-size:2.45rem;line-height:1}
  .lede{font-size:16.5px;margin-top:14px}
  .lede .more-m{display:none}
  .deadline{margin-top:14px;font-size:14px}
  .slip{padding:14px}
  .drop{min-height:112px;padding:14px}
  .drop .ico{width:24px;height:24px;margin-bottom:2px}
  .checklist{grid-template-columns:1fr}
  .guides{grid-template-columns:1fr}
  .qa summary{font-size:17px}
  .qa details p{padding-right:0}
  .enc-sheet.sheet.feed{margin-inline:-18px;border-radius:0;border-inline:0;padding:22px 16px 24px}
  .plan{padding:28px 22px}
  .plan.pop{padding-top:46px}
  .badge{left:22px}
  .closing{margin-top:88px;margin-bottom:64px}
  .closing-in{padding:32px 20px}
  .closing-act .btn{width:100%}
}

/* ========== landing additions ========== */
.notice{margin:0 0 22px;padding:12px 16px;background:#fff;border:1px solid var(--rule-2);border-radius:8px;font-size:15px;color:var(--ink)}
.form-error{margin-top:10px;font-size:14px;line-height:1.45;color:var(--red-deep)}
a.deadline{text-decoration:none;color:var(--ink-2)}
a.deadline:hover{border-color:var(--rule-2)}
a.deadline:hover span{text-decoration:underline;text-underline-offset:.2em}
.checks .aside + .aside{margin-top:14px;font-size:15.5px}

/* ========== result ========== */

.res{--mw:380px;--mg:52px}
.res{max-width:1180px}
.res-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 0 0;flex-wrap:wrap}
.back{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15.5px;text-decoration:none;min-height:40px}
.back .ico{width:18px;height:18px;transition:transform .3s var(--ease)}
.back:hover .ico{transform:translateX(-3px)}
.progress{display:flex;align-items:center;gap:0;font-size:14px;color:var(--ink-3)}
.progress li{display:flex;align-items:center;gap:8px}
.progress li+li::before{content:"";width:28px;height:1px;background:var(--rule-2);margin:0 12px}
.progress .dot{width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;font:600 12px/1 var(--sans);border:1px solid var(--rule-2);color:var(--ink-3);background:#fff}
.progress .done .dot{background:var(--teal);border-color:var(--teal);color:#fff}
.progress .done .dot .ico{width:13px;height:13px;stroke-width:2.6}
.progress [aria-current] {color:var(--ink);font-weight:600}
.progress [aria-current] .dot{border-color:var(--ink);color:var(--ink)}

/* verdict */
.verdict{padding:44px 0 52px;display:grid;grid-template-columns:minmax(0,1fr) var(--mw);column-gap:var(--mg);align-items:end;border-bottom:1px solid var(--rule)}
.filecard{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:15px;color:var(--ink-2)}
.filecard .ico{color:var(--ink-3)}
.filecard strong{color:var(--ink);font-weight:650}
.verdict h1{margin-top:22px;font-size:clamp(2.6rem,1.4rem + 3.4vw,4.4rem);line-height:1;letter-spacing:-.042em;font-weight:780}
.verdict h1 .l1,.verdict h1 .l2{display:block}
.verdict h1 .count{display:inline-block;margin:0 .1em 0 .12em;color:var(--red)}
.verdict .sub{margin-top:18px;font-size:19px;line-height:1.55;color:var(--ink-2);max-width:50ch}
.oks{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:22px;font-size:16px;font-weight:600}
.oks li{display:flex;align-items:center;gap:8px;color:var(--teal-deep)}
.oks .ico{width:19px;height:19px;stroke-width:2.2}
.facts-head{display:grid;gap:0;border-top:1px solid var(--ink);font-size:15px}
.facts-head div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--rule)}
.facts-head dt{color:var(--ink-3)}
.facts-head dd{font-weight:600;text-align:right}
.example-note{display:flex;gap:8px;align-items:flex-start;margin-top:14px;font-size:13.5px;color:var(--ink-3);line-height:1.45}
.example-note .ico{width:16px;height:16px;margin-top:1px}

/* findings */
.findings{padding:56px 0 0}
.block-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.block-head h2{font-size:clamp(1.6rem,1.2rem + 1vw,2.1rem);letter-spacing:-.03em;font-weight:720;line-height:1.1}
.block-head p{color:var(--ink-2);font-size:15.5px}
.find-sheet{padding:30px 34px 34px}
.find-sheet .note h3{font-size:19px;font-weight:700;letter-spacing:-.015em;line-height:1.25;margin-bottom:12px}
.find-sheet .note h3 small{display:block;font-size:13px;font-weight:600;color:var(--red-deep);letter-spacing:.01em;margin-bottom:4px}
.facts{display:grid;gap:0;font-size:14.5px;line-height:1.45;border-top:1px solid var(--rule-2)}
.facts div{display:grid;grid-template-columns:104px 1fr;gap:12px;padding:8px 0;border-bottom:1px solid var(--rule)}
.facts dt{color:var(--ink-3)}
.facts dd{color:var(--ink)}
.facts .found{font-weight:650;color:var(--red-deep);font-variant-numeric:tabular-nums;letter-spacing:.01em}
.doclink{display:inline-flex;align-items:center;gap:7px;margin-top:12px;font-size:14px;font-weight:600}
.doclink .ico{width:16px;height:16px}
.find-sheet .gapline{margin-top:26px;margin-bottom:26px}

/* offer */
.offer{margin-top:72px;display:grid;grid-template-columns:minmax(0,1fr) var(--mw);column-gap:var(--mg);row-gap:28px;align-items:start}
.offer h2{font-size:clamp(1.75rem,1.2rem + 1.3vw,2.4rem);letter-spacing:-.032em;font-weight:740;line-height:1.08;max-width:22ch;text-wrap:balance}
.offer .lead{margin-top:14px;font-size:18px;color:var(--ink-2);max-width:54ch}
.offer .lead strong{color:var(--ink)}
.fix-sheet{margin-top:26px;padding:22px 26px 20px;background:#fff}
.fix-sheet .ln{background:transparent!important;min-height:36px;align-items:start;padding-top:4px}
.fix-row+.fix-row{margin-top:14px;padding-top:14px;border-top:1px dashed var(--rule-2)}
.fix-cap{display:flex;gap:8px;align-items:flex-start;margin:6px 0 0 5.6ch;font-size:14px;color:var(--teal-deep);line-height:1.45}
.fix-cap .ico{width:16px;height:16px;margin-top:2px;stroke-width:2}
.pay{background:var(--sheet);border:1px solid var(--rule);border-radius:10px;padding:26px 24px 22px;position:sticky;top:20px}
.pay .price{display:flex;align-items:baseline;gap:8px}
.pay .price b{font-size:54px;font-weight:740;letter-spacing:-.045em;line-height:1}
.pay .price span{font-size:15px;color:var(--ink-2)}
.pay .what{font-size:15px;color:var(--ink-2);margin-top:6px}
.pay ul{margin:18px 0 20px;display:grid;gap:9px;font-size:15px}
.pay li{display:flex;gap:10px;align-items:flex-start}
.pay li .ico{width:18px;height:18px;color:var(--teal);margin-top:2px}
.pay .btn{min-height:54px;font-size:17px}
.pay .terms{margin-top:12px;font-size:13.5px;color:var(--ink-2);line-height:1.5;text-align:center}
.pay .alt-plan{margin-top:16px;padding-top:14px;border-top:1px solid var(--rule);font-size:14.5px;line-height:1.5;color:var(--ink-2)}
.pay .alt-plan a{font-weight:600}
.diy{grid-column:1/-1;display:flex;gap:12px;align-items:flex-start;padding:18px 0 0;border-top:1px solid var(--rule);font-size:15.5px;color:var(--ink-2)}
.diy .ico{color:var(--ink-3);margin-top:2px}

/* tech */
.tail{margin:64px 0 96px}
.tech{border-top:1px solid var(--ink);border-bottom:1px solid var(--rule)}
.tech summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-weight:650;font-size:17px}
.tech summary::-webkit-details-marker{display:none}
.tech summary span{color:var(--ink-3);font-weight:400;font-size:14.5px;margin-left:10px}
.tech summary .ico{color:var(--ink-3);transition:transform .35s var(--ease)}
.tech[open] summary .ico{transform:rotate(45deg)}
.tech dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px;padding:4px 0 24px;font-size:14.5px}
.tech dl div{padding:12px 0;border-top:1px solid var(--rule)}
.tech dt{color:var(--ink-3);font-size:13.5px}
.tech dd{margin-top:3px;font-weight:550;overflow-wrap:anywhere}
.tech .wide{grid-column:1/-1}
.tail-foot{display:flex;justify-content:space-between;gap:16px 32px;flex-wrap:wrap;align-items:center;margin-top:28px;font-size:14.5px;color:var(--ink-3)}

@media (max-width:920px){
  .verdict{grid-template-columns:1fr;row-gap:28px;padding-top:32px}
  .find-sheet{padding:22px 20px 24px}
  .offer{grid-template-columns:1fr}
  .pay{position:static}
  .tech dl{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .res-top{padding-top:16px}
  .progress .lbl{display:none}
  .progress li[aria-current] .lbl{display:inline}
  .progress li+li::before{width:16px;margin:0 8px}
  .verdict h1{font-size:2.6rem}
  .verdict .sub{font-size:17px}
  .findings .wrap-bleed{margin-inline:-18px}
  .find-sheet{border-radius:0;border-inline:0;padding:20px 16px 22px}
  .find-sheet .facts div{grid-template-columns:96px 1fr}
  .fix-sheet{padding:16px 12px}
  .fix-cap{margin-left:0}
  .tech dl{grid-template-columns:1fr}
  .pay{padding:22px 18px}
}

/* ========== result additions ========== */
.notice-ok{border-color:#B9D6CF;background:var(--teal-tint)}
.notice-err{border-color:#E7C2BC;background:var(--red-tint)}
.notice-err p+p,.notice-ok p+p{margin-top:6px}
.notice-wait{display:flex;gap:14px;align-items:flex-start;border-color:#B9D6CF;background:var(--teal-tint)}
.notice-wait p+p{margin-top:4px}
.notice-wait .btn{margin-top:12px}
.res .notice{margin-top:22px}
.parse{margin-top:28px}
.spinner{flex:none;width:20px;height:20px;margin-top:2px;border-radius:50%;border:2.5px solid rgba(14,94,91,.25);border-top-color:var(--teal);animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}
.downloads{display:grid;gap:10px;margin-top:22px}
.downloads .btn{justify-content:flex-start}
.problems{display:grid;gap:22px}
.excerpt.no-listing{grid-template-columns:minmax(0,1fr)}
.excerpt.no-listing .margin{padding-top:0}
.excerpt.no-listing .note h3{font-size:18px}
.note-foot{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;margin-top:12px}
.note-foot .doclink{margin-top:0}
.rule-id{font:500 12px/1 var(--mono);color:var(--ink-3);background:#fff;border:1px solid var(--rule);border-radius:4px;padding:3px 6px}
.facts code{font:500 13px/1.4 var(--mono);color:var(--ink-2);overflow-wrap:anywhere}
.fix-ctl{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px;padding-top:14px;border-top:1px dashed var(--rule-2)}
.fix-ctl form{display:inline-flex}
.fix-ctl.muted{font-size:14px;color:var(--ink-2);gap:8px}
.fix-ctl.muted .ico{width:16px;height:16px;color:var(--ink-3)}
.fix-ctl .edit-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.field{min-height:36px;padding:0 10px;border:1px solid var(--rule-2);border-radius:7px;background:#fff;font:500 14px/1 var(--mono);color:var(--ink);min-width:0;width:16em;max-width:100%}
.field:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:var(--teal)}
.btn-text{background:none;border:0;padding:0 6px;min-height:36px;color:var(--ink-2);cursor:pointer;font:500 14px/1 var(--sans)}
.btn-text:hover{color:var(--ink);text-decoration:underline}
.btn-sm .ico{width:16px;height:16px}
.cut{color:var(--ink-3);padding:0 2px}
.verdict .count{position:relative}
.notes .find-sheet{background:#fff}

/* ========== content and app pages ========== */
/* Docs, guides, legal, deadline, account, auth, checkout. One column on paper, the listing look kept for code. */

.page{padding:48px 0 112px}
.col{max-width:760px}
.col-sm{max-width:480px;margin-inline:auto}
.col-md{max-width:620px;margin-inline:auto}
.col-lg{max-width:1080px}

.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:14.5px;color:var(--ink-3);margin-bottom:28px}
.crumbs a{font-weight:600}
.crumbs .sep{color:var(--rule-2)}
.page .back{margin-bottom:20px}

.page-head{padding-bottom:30px;margin-bottom:40px;border-bottom:1px solid var(--ink)}
.page-head h1{font-size:clamp(2.1rem,1.3rem + 2.3vw,3.2rem);line-height:1.04;letter-spacing:-.038em;font-weight:760;text-wrap:balance;max-width:22ch}
.page-head .lede{margin-top:18px;max-width:58ch}
.page-head.compact{padding-bottom:22px;margin-bottom:32px}
.page-head.compact h1{font-size:clamp(1.8rem,1.3rem + 1.4vw,2.4rem)}
.page-head.compact .lede{font-size:17px;margin-top:10px}
.eyebrow{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin-bottom:14px;font-size:14px;color:var(--ink-3)}
.eyebrow .rule-id{font-size:12.5px}

/* ---------- prose (article bodies) ---------- */
.prose{max-width:68ch;font-size:17.5px;line-height:1.72;color:var(--ink)}
.prose > * + *{margin-top:18px}
.prose h2{margin-top:56px;font-size:clamp(1.45rem,1.2rem + .6vw,1.7rem);line-height:1.2;letter-spacing:-.024em;font-weight:720;text-wrap:balance}
.prose h3{margin-top:36px;font-size:19.5px;line-height:1.3;letter-spacing:-.014em;font-weight:680}
.prose h2 + *,.prose h3 + *{margin-top:12px}
.prose > :first-child{margin-top:0}
.prose ul{list-style:disc;padding-left:1.35em}
.prose ol{list-style:decimal;padding-left:1.5em}
.prose li + li{margin-top:7px}
.prose li::marker{color:var(--ink-3)}
.prose li > ul,.prose li > ol{margin-top:7px}
.prose strong{font-weight:650}
.prose em{font-style:italic}
.prose code{font:500 .84em/1.4 var(--mono);background:var(--sheet);border:1px solid var(--rule);border-radius:4px;padding:1px 5px;overflow-wrap:anywhere}
.prose pre{background:var(--sheet);border:1px solid var(--rule);border-radius:4px;padding:14px 18px;overflow-x:auto;font:400 13.5px/1.75 var(--mono);color:var(--ink)}
.prose pre code{background:none;border:0;padding:0;font-size:inherit;overflow-wrap:normal}
.prose table{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.5}
.prose th,.prose td{text-align:left;vertical-align:top;padding:10px 16px 10px 0;border-bottom:1px solid var(--rule)}
.prose thead th,.prose tr:first-child th{border-bottom-color:var(--ink);font-size:14px;font-weight:650}
.prose blockquote{margin:0;padding-left:18px;border-left:2px solid var(--red);color:var(--ink-2)}
.prose hr{border:0;border-top:1px solid var(--rule);margin:40px 0}
@media (max-width:600px){
  .prose{font-size:16.5px}
  .prose table{display:block;overflow-x:auto}
}

/* ---------- call to action after an article ---------- */
.cta-box{margin-top:64px;padding:30px 32px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 32px;align-items:center}
.cta-box h2{font-size:22px;line-height:1.2;letter-spacing:-.02em;font-weight:720}
.cta-box p{margin-top:6px;color:var(--ink-2);font-size:16px;max-width:50ch}
@media (max-width:600px){.cta-box{grid-template-columns:1fr;padding:24px 20px}.cta-box .btn{width:100%}}

/* ---------- link lists (index pages, "other guides") ---------- */
.more-head{margin-top:88px;margin-bottom:6px;font-size:14px;font-weight:650;color:var(--ink-3)}
.guides.one{grid-template-columns:1fr}
.guides .meta{grid-column:1;font-size:13.5px;color:var(--ink-3)}
.guides .rule-id{justify-self:start;grid-column:1}
.page-foot-note{margin-top:40px;font-size:15px;color:var(--ink-2);max-width:68ch}

/* ---------- panels and forms ---------- */
.panel{background:#fff;border:1px solid var(--rule);border-radius:10px;padding:28px 30px}
.panel + .panel{margin-top:20px}
.panel h2{font-size:19px;line-height:1.25;letter-spacing:-.015em;font-weight:700}
.panel h2 + p{margin-top:6px}
.panel > p{color:var(--ink-2);font-size:15.5px}
.panel .actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.panel .small{margin-top:14px;font-size:13.5px;color:var(--ink-3);line-height:1.5}
.panel-danger{border-color:#E7C2BC}
.panel-danger h2{color:var(--red-deep)}
.panel.center{text-align:center}
.panel.center .actions{justify-content:center}
@media (max-width:600px){.panel{padding:22px 18px}}

.form{display:grid;gap:18px}
.form-row{display:grid;gap:7px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-grid .full{grid-column:1/-1}
@media (max-width:600px){.form-grid{grid-template-columns:1fr}}
.label{font-size:14.5px;font-weight:600;color:var(--ink)}
.input{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--rule-2);border-radius:8px;background:#fff;color:var(--ink);font:400 16px/1.2 var(--sans);transition:border-color .15s}
.input:hover{border-color:var(--ink-3)}
.input:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:var(--teal)}
.input.mono{font-family:var(--mono);font-size:15px}
.input[aria-invalid=true]{border-color:var(--red)}
.form .form-error{margin-top:0}
.hint{font-size:13.5px;color:var(--ink-3);line-height:1.5}

.btn-danger{background:var(--red);color:#fff;box-shadow:0 8px 18px -10px rgba(150,32,23,.6)}
.btn-danger:hover{background:var(--red-deep);color:#fff;text-decoration:none}
.btn-danger-ghost{background:#fff;color:var(--red-deep);border-color:#E7C2BC}
.btn-danger-ghost:hover{border-color:var(--red);color:var(--red-deep);text-decoration:none}
.btn-ghost.btn-sm,.btn-primary.btn-sm{font-weight:600}

/* ---------- status pills, definition lists, tables ---------- */
.pill{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font:600 13px/1 var(--sans);padding:6px 9px;border-radius:999px;border:1px solid var(--rule-2);color:var(--ink-2);background:#fff;text-decoration:none}
.pill .ico{width:14px;height:14px;stroke-width:2.3}
.pill-ok{color:var(--teal-deep);background:var(--teal-tint);border-color:#B9D6CF}
.pill-err{color:var(--red-deep);background:var(--red-tint);border-color:#E7C2BC}
.pill-warn{color:var(--ink);background:var(--sheet)}

.dl{display:grid;border-top:1px solid var(--rule-2);font-size:15.5px}
.dl div{display:grid;grid-template-columns:minmax(120px,200px) minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--rule)}
.dl dt{color:var(--ink-3)}
.dl dd{font-weight:550;overflow-wrap:anywhere}
.dl .mono{font:500 14px/1.5 var(--mono)}
.panel .dl{margin-top:18px}
@media (max-width:600px){.dl div{grid-template-columns:1fr;gap:2px}}

.table-wrap{overflow-x:auto;margin-inline:-2px;padding-inline:2px}
.table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.45}
.table th{text-align:left;font-size:13.5px;font-weight:650;color:var(--ink-2);padding:0 18px 10px 0;border-bottom:1px solid var(--ink);white-space:nowrap}
.table td{padding:13px 18px 13px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.table th:last-child,.table td:last-child{padding-right:0}
.table .r{text-align:right}
.table .mono{font:500 14px/1.45 var(--mono)}
.table .muted{color:var(--ink-3)}
.table .nw{white-space:nowrap}
.table tr.current td{background:var(--red-tint)}
.table tr.current td:first-child{box-shadow:inset 3px 0 0 var(--red);padding-left:12px}
.table tbody tr.link{cursor:pointer}
.table tbody tr.link:hover td{background:var(--sheet)}
.table a.cell{color:var(--ink);text-decoration:none;font-weight:600;overflow-wrap:anywhere}
.table a.cell:hover{color:var(--teal-deep);text-decoration:underline}

/* ---------- docs format checker ---------- */
.checker{margin-top:36px;padding:26px 28px 24px;scroll-margin-top:24px}
.checker h2{font-size:19px;letter-spacing:-.015em;font-weight:700}
.checker form{display:flex;gap:10px;margin-top:14px}
.checker .input{flex:1;font-family:var(--mono);font-size:16px}
.checker .notice{margin:14px 0 0;display:flex;gap:10px;align-items:flex-start}
.checker .notice .ico{margin-top:2px;width:18px;height:18px;stroke-width:2.2}
.checker .notice-ok .ico{color:var(--teal)}
.checker .notice-err .ico{color:var(--red)}
.checker .hint{margin-top:12px}
.checker-cta{display:flex;gap:14px 24px;align-items:center;margin-top:20px;padding-top:18px;border-top:1px dashed var(--rule-2);font-size:15px;color:var(--ink-2)}
.checker-cta p{flex:1}
.checker-cta strong{color:var(--ink);font-weight:650}
@media (max-width:600px){.checker{padding:20px 16px}.checker form,.checker-cta{flex-direction:column;align-items:stretch}}

/* ---------- deadline ---------- */
.answer{padding:30px 34px 28px;margin-bottom:24px}
.answer .label{font-size:14px;color:var(--ink-3);font-weight:600}
.answer .big{margin-top:10px;font-size:clamp(1.6rem,1.15rem + 1.5vw,2.3rem);line-height:1.15;letter-spacing:-.03em;font-weight:740;text-wrap:balance;max-width:26ch}
.answer .left{display:inline-block;margin-top:16px;font:600 30px/1 var(--hand);color:var(--red);transform:rotate(-1.4deg);transform-origin:0 50%}
.answer .why{margin-top:12px;font-size:15.5px;color:var(--ink-2);max-width:60ch}
.inline-cta{display:flex;gap:14px 28px;align-items:center;justify-content:space-between;padding:20px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-bottom:56px}
.inline-cta p{color:var(--ink-2);font-size:15.5px;max-width:56ch}
.inline-cta .btn{flex:none;white-space:nowrap}
.cta-box .btn{white-space:nowrap}
.inline-cta strong{display:block;color:var(--ink);font-size:17px;font-weight:650}
.section-h{font-size:clamp(1.45rem,1.2rem + .6vw,1.7rem);line-height:1.2;letter-spacing:-.024em;font-weight:720;margin:56px 0 14px}
.section-h:first-child{margin-top:0}
.page .copy p{color:var(--ink-2);max-width:66ch}
.page .copy p + p{margin-top:14px}
@media (max-width:600px){.answer{padding:22px 18px}.inline-cta{flex-direction:column;align-items:stretch}.inline-cta .btn{width:100%}}

/* ---------- app pages: dashboard, run, account ---------- */
.app-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 32px;flex-wrap:wrap}
.app-head .who{font-size:14.5px;color:var(--ink-3);overflow-wrap:anywhere}
.app-head .who strong{color:var(--ink);font-weight:600}
.nav-form{display:contents}
.nav-btn{background:none;border:0;padding:6px 0;cursor:pointer;font:500 15.5px/1.6 var(--sans);color:var(--ink-2)}
.nav-btn:hover{color:var(--red-deep)}
.menu-panel .nav-btn{display:flex;align-items:center;width:100%;min-height:46px;padding:0 12px;border-radius:8px;text-align:left;font-size:17px;color:var(--ink)}
.menu-panel .nav-btn:hover{background:var(--sheet)}
.nav a[aria-current]{color:var(--ink)}
.nav a[aria-current]::after{transform:scaleX(1)}

.quick{display:flex;gap:12px;align-items:stretch;margin-bottom:28px}
.quick .drop{flex:1;min-height:76px;flex-direction:row;justify-content:flex-start;text-align:left;gap:14px;padding:14px 18px}
.quick .drop .ico{margin:0;width:24px;height:24px}
.quick .drop-file{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.quick .btn{min-height:auto;padding-inline:26px}
.quick + .form-error{margin:-18px 0 24px}
@media (max-width:600px){.quick{flex-direction:column}.quick .btn{min-height:52px}}

.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);margin-bottom:48px}
.stats div{padding:20px 24px 22px 0}
.stats div + div{padding-left:24px;border-left:1px solid var(--rule)}
.stats dt{font-size:14px;color:var(--ink-3)}
.stats dd{margin-top:6px;font-size:40px;line-height:1;font-weight:720;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.stats .bad dd{color:var(--red)}
@media (max-width:600px){.stats div{padding:14px 10px 16px 0}.stats div + div{padding-left:12px}.stats dd{font-size:30px}}

.empty{padding:40px 0;text-align:center;color:var(--ink-2)}
.empty .btn{margin-top:16px}
.pager{margin-top:20px;font-size:14px}
.retention{margin-top:28px;font-size:14px;color:var(--ink-3)}

.run-status{text-align:right}
.run-status .big{margin-top:6px;font-size:26px;font-weight:720;letter-spacing:-.025em;line-height:1.1}
.run-status .big.err{color:var(--red)}
.run-status .big.ok{color:var(--teal-deep)}
@media (max-width:600px){.run-status{text-align:left}}
.stack > * + *{margin-top:20px}
.offer-list{display:grid;gap:10px;margin-top:18px;font-size:15.5px}
.offer-list li{display:flex;gap:10px;align-items:flex-start}
.offer-list .ico{width:18px;height:18px;color:var(--teal);margin-top:3px;stroke-width:2.1}
.ref{margin-top:14px;font:500 12.5px/1.4 var(--mono);color:var(--ink-3);overflow-wrap:anywhere}
.kind{font-size:14px;font-weight:600;color:var(--ink-3)}
.panel .price{margin:8px 0 2px}
.panel .price b{font-size:46px}

/* ---------- error pages ---------- */
.err-page{min-height:100vh;display:grid;place-items:center;padding:40px 18px}
.err{max-width:460px;text-align:center}
.err .code{display:inline-block;font:600 88px/1 var(--hand);color:var(--red);transform:rotate(-3deg)}
.err h1{margin-top:16px;font-size:28px;line-height:1.15;letter-spacing:-.025em;font-weight:740}
.err p{margin-top:12px;color:var(--ink-2)}
.err .btn{margin-top:28px}
.err .wordmark{display:flex;width:max-content;margin:0 auto 36px}

/* ---------- small helpers for the pages above ---------- */
.page-head h1 + .eyebrow{margin:14px 0 0}
.eyebrow .ico{width:16px;height:16px}
.checker + .prose{margin-top:56px}
.break{overflow-wrap:anywhere}
.panel-title{font-size:clamp(1.5rem,1.2rem + .9vw,1.9rem);line-height:1.15;letter-spacing:-.028em;font-weight:740;text-wrap:balance}
.kind + .panel-title{margin-top:6px}
.kind{display:flex;align-items:center;gap:7px}
.mt-s{margin-top:10px;color:var(--ink-2);font-size:16px}
.who-big{margin-top:6px;font-weight:650;font-size:18px;overflow-wrap:anywhere}
.stack-actions{display:grid;gap:10px}
.stack-actions .hint{text-align:center}
.after-panel{margin-top:22px}
.run-next{margin-top:40px}
.panel-form{margin-top:20px}
.panel .notice{margin-bottom:0}
.page .notice{margin-bottom:22px}
.page .notice-wait .ico{color:var(--teal);margin-top:2px}
.quick .drop > span{display:grid;gap:2px;min-width:0}
.quick .drop:has(+ input:focus-visible){outline:2px solid var(--teal);outline-offset:3px}
.btn .spinner{margin:0;width:18px;height:18px;border-color:rgba(255,255,255,.35);border-top-color:#fff}
.page-head + .dl{border-top:0}
/* Runs table on phones: file name and status on the first line, the rest wraps below as one muted line. */
@media (max-width:600px){
  .runs thead{display:none}
  .runs,.runs tbody{display:block}
  .runs tr{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:14px 0;border-bottom:1px solid var(--rule)}
  .runs td{padding:0;border:0;font-size:14px;color:var(--ink-3)}
  .runs td:first-child{flex:1 1 calc(100% - 120px);order:0;font-size:15px}
  .runs td:last-child{order:1;margin-left:auto}
  .runs td:not(:first-child):not(:last-child){order:2}
  .runs td.mono{font-size:13px}
}
