/* Flow pages in the Website look: /start/, /thanks/*, /r/, /privacy/, /terms/, 404. Builds on web.css; never restyles its shared classes. */
.label{font:700 12px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.small{font-size:14px}
fieldset{border:0;min-width:0}
button.btn{cursor:pointer;border:0}
button.btn-line{border:1px solid var(--ink);background:transparent}
.btn-block{width:100%;justify-content:center;min-height:56px;font-size:16px}
.btn[disabled]{opacity:.6;cursor:wait}

/* ── /start/ ── */
.st{padding:40px 0 96px}
.st>.wrap{display:grid;grid-template-columns:1fr minmax(0,500px);gap:72px;align-items:start}
.st h1{font-size:clamp(46px,5vw,70px);max-width:10em;margin:18px 0 28px;text-wrap:balance}
.promises{list-style:none;display:grid;gap:18px;max-width:30em}
.promises li{display:flex;gap:14px;align-items:flex-start;color:var(--ink-2)}
.promises li strong{color:var(--ink);font-weight:600}
.promises svg{flex:none;width:22px;height:22px;margin-top:3px;color:var(--red)}
.st-proof{margin-top:30px;padding-top:22px;border-top:1px solid var(--line);font-size:15px;color:var(--ink-2);max-width:30em}
.st-proof .n{font-size:20px;font-weight:600;color:var(--ink)}
.st-side{position:relative;margin-top:44px;display:flex;gap:22px;align-items:center}
.st-side .frame{width:150px;flex:none;border-radius:22px;box-shadow:0 24px 50px -28px rgba(60,40,20,.4)}
.st-side .frame img{height:100%}
.st-side .hand{font-size:27px;line-height:1.05;transform:rotate(-3deg)}
.st>.wrap>div:first-child{position:sticky;top:32px}
.st-card{padding:36px;border-radius:28px;box-shadow:0 1px 0 rgba(30,26,22,.03),0 30px 60px -40px rgba(70,45,20,.35)}
.st-card h2{font-size:36px;margin-bottom:6px}
.st-card .sub{color:var(--muted);font-size:15px;margin-bottom:8px}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}
.tile{position:relative;display:block}
.tile input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.tile span{display:flex;flex-direction:column;gap:3px;height:100%;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#fff;font:400 13.5px/1.35 var(--sans);color:var(--muted);transition:border-color .2s,background .2s}
.tile svg{width:22px;height:22px;color:var(--red);margin-bottom:6px}
.tile b{font:600 15px/1.25 var(--sans);color:var(--ink)}
.tile:hover span{border-color:#BDB9B2}
.tile input:checked+span{border-color:var(--red);background:var(--red-soft);box-shadow:inset 0 0 0 1px var(--red)}
.tile input:focus-visible+span{outline:2px solid var(--red);outline-offset:3px}
.form .opt{font-weight:400;color:var(--muted)}
.form select{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23575757' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 16px center;padding-right:40px}
.form .choices{grid-template-columns:repeat(2,1fr)}
.form .choice span{font-family:var(--num);font-size:16px;justify-content:center}
.form .field.err .tiles span,.form .field.err .choice span{border-color:var(--down)}
.form .consent{font-weight:400}
.form .consent a{color:var(--red)}
.st-card .reply{margin-top:2px;text-align:center;font-size:13.5px;color:var(--muted)}

/* ── thank-you pages ── */
.ty{padding:72px 0 36px;text-align:center}
.ty-in{max-width:760px}
.ty-mark{width:60px;height:60px;margin:0 auto 22px;border-radius:50%;background:var(--red-soft);color:var(--red);display:grid;place-items:center}
.ty-mark svg{width:28px;height:28px}
.ty h1{font-size:clamp(52px,6.4vw,92px);margin:14px 0 20px}
.ty .lede{font-size:19px;color:var(--ink-2);max-width:32em;margin:0 auto}
.wa{display:inline-flex;align-items:center;gap:10px;margin-top:26px;padding:10px 18px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-size:15px}
.wa i{width:9px;height:9px;border-radius:50%;background:#25D366;box-shadow:0 0 0 4px rgba(37,211,102,.18);flex:none}
.ty-body{padding:20px 0 110px}
.ty-col{max-width:760px;display:grid;gap:22px}
.deliv{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;text-decoration:none;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.deliv:hover{transform:translateY(-3px);box-shadow:0 30px 60px -36px rgba(60,40,20,.4);border-color:#D9CCBA}
.deliv .big{font:600 72px/1 var(--num);letter-spacing:-.01em;min-width:2.2em;text-align:center;padding:18px 20px;border-radius:20px;background:var(--paper)}
.deliv .big small{display:block;font:700 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:8px}
.deliv h2{font-size:34px;margin:6px 0 6px}
.deliv p{color:var(--ink-2);font-size:16px}
.deliv .go{display:inline-flex;gap:8px;margin-top:12px;color:var(--red);font-weight:500;font-size:15px}
.next{background:var(--paper);border-color:transparent}
.next h2{font-size:clamp(32px,3.4vw,44px);margin:10px 0 10px}
.next p{color:var(--ink-2);margin-bottom:22px;max-width:34em}
.next .small{margin:16px 0 0}
.next p.eyebrow{color:var(--red);margin:0}
.next .link{color:var(--ink)}
.booking{display:grid;place-items:center;min-height:180px;padding:24px;border:1.5px dashed #C9C5BD;border-radius:18px;background:var(--card);text-align:center;color:var(--ink-2);font-size:15px}
.ty-more{display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:center;font-size:15px;color:var(--ink-2);margin-top:6px}

/* profit report (rendered by pages.js from localStorage td_calc) */
.report{padding:36px}
.report-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.report-head .brand{font:400 30px/1 var(--serif)}
.report-head .label{margin-top:8px;display:block}
.report-hero{padding:26px 0 18px;display:grid;gap:4px}
.report-hero .big{font:600 clamp(64px,8vw,96px)/1 var(--num);letter-spacing:-.01em}
#calc-compare{font:500 17px/1.4 var(--num);color:var(--ink-2)}
.report .ledger .sub{font-size:14px;color:var(--ink-2)}
.report .ledger .sub span:last-child{color:var(--ink)}
.report .ledger p{font-family:var(--sans);font-size:15px;line-height:1.5;color:var(--ink-2)}
.report .ledger p b{color:var(--ink)}
#calc-in-wrap{margin-top:28px}
#calc-in-wrap .label{margin-bottom:4px}
.report .note{margin-top:20px;font-size:13.5px;color:var(--muted)}
.report-actions{display:flex;gap:12px;flex-wrap:wrap}
.print-only{display:none}
@media print{
  @page{margin:14mm}
  body{background:#fff}
  .bare-head,.no-print,.toast{display:none!important}
  .ty-body{padding:0}
  .report{border:0;padding:0}
  .print-only{display:block}
  .rv{opacity:1!important;transform:none!important}
}

/* ── /r/ shared result ── */
.share{padding:64px 0 110px}
.share>.wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center}
.share h1{font-size:clamp(50px,6vw,88px);margin:16px 0 22px}
.share h1 .n{font-weight:600;font-style:normal;white-space:nowrap}
.share .lede{font-size:19px;color:var(--ink-2);max-width:30em}
.share .row{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0 16px}
.share .fine{font-size:14px;color:var(--muted)}
.rcard{padding:34px;border-radius:28px;box-shadow:0 40px 80px -48px rgba(60,40,20,.45);display:grid;gap:4px}
.rcard .row2{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--ink-2)}
.rcard .row2 .n{font-size:18px;color:var(--ink)}
.rcard .strike{text-decoration:line-through;text-decoration-color:var(--red);text-decoration-thickness:2px}
.rcard .bign{font:600 clamp(64px,7vw,104px)/1 var(--num);letter-spacing:-.01em;margin:22px 0 8px}
.rcard [data-s=verdict]{font-size:15px;color:var(--ink-2);min-height:1.5em}
.rcard .foot{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13.5px;color:var(--muted)}
.rcard .foot img{height:18px;width:auto}

/* ── legal ── */
.legal-head{padding-bottom:24px}
.legal-head h1{margin-bottom:12px}
.legal-body{padding:24px 0 110px}
.legal{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(32px,6vw,88px);align-items:start}
.toc{position:sticky;top:104px;display:flex;flex-direction:column;gap:2px;font-size:14px;line-height:1.35}
.toc .label{margin-bottom:10px}
.toc a{color:var(--muted);text-decoration:none;padding:7px 0 7px 14px;border-left:2px solid var(--line);transition:color .2s,border-color .2s}
.toc a:hover,.toc a.on{color:var(--ink);border-left-color:var(--red)}
.legal .prose h2{scroll-margin-top:100px}
.legal .prose>h2:first-child{margin-top:0}
.prose b{font-weight:600}

/* ── 404 ── */
.lost{padding:72px 0 120px}
.lost>.wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:72px;align-items:center}
.lost h1{font-size:clamp(52px,6.4vw,92px);margin:16px 0 20px}
.lost .lede{font-size:19px;color:var(--ink-2);max-width:28em}
.lost .row{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.lost .ledger{margin-top:10px}
.lost .card .hand{display:block;margin-top:18px;font-size:26px;transform:rotate(-2deg)}

@media (max-width:900px){
  .st>.wrap,.share>.wrap,.lost>.wrap{grid-template-columns:1fr;gap:44px}
  .st>.wrap>div:first-child{position:static}
  .st-side{display:none}
  .legal{grid-template-columns:1fr}.toc{display:none}
}
@media (max-width:600px){
  .st{padding:24px 0 72px}
  .st h1{font-size:44px;margin:14px 0 22px}
  .st-card{padding:24px 20px;border-radius:24px}
  .st-card h2{font-size:30px}
  .tiles{gap:8px}
  .tile span{padding:12px 13px}
  .ty{padding:48px 0 28px}
  .ty h1{font-size:54px}
  .ty .lede,.share .lede,.lost .lede{font-size:17px}
  .card{padding:24px 20px}
  .deliv{grid-template-columns:1fr;gap:18px}
  .deliv .big{justify-self:start}
  .report{padding:24px 18px}
  .share{padding:40px 0 80px}
  .share h1{font-size:48px}
  .rcard{padding:26px 20px}
  .lost{padding:48px 0 88px}
}
#calc-date{white-space:nowrap}
