/* Layout: varsity scoreboard. Expanded athletic display type, black bands like a jersey stripe; prices live only on the quote page, set like a receipt in mono. */
:root{
  --red:#C41E3A;
  --red-deep:#8F1229;
  --red-tint:#FBEAED;
  --ink:#141112;
  --paper:#FFFFFF;
  --surface:#F6F3F3;
  --line:#E3DCDD;
  --muted:#5D5456;
  --band:#141112;
  --band-line:#2C2527;
  --on-band:#FFFFFF;
  --on-band-muted:#BDB4B6;
  --on-red:#FFFFFF;
  --focus:#C41E3A;
  --display:"Archivo","Arial Black",Arial,sans-serif;
  --body:"Instrument Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --wrap:1160px;
  --gutter-l:max(16px, env(safe-area-inset-left, 0px));
  --gutter-r:max(16px, env(safe-area-inset-right, 0px));
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --red:#E3364F; --red-deep:#C41E3A; --red-tint:#2B1519;
    --ink:#F3EEEE; --paper:#121011; --surface:#1B1718; --line:#2F282A; --muted:#A99FA1;
    --band:#0A0809; --band-line:#2F282A; --on-band:#FFFFFF; --on-band-muted:#B3AAAC;
    --focus:#FF6B80;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --red:#E3364F; --red-deep:#C41E3A; --red-tint:#2B1519;
  --ink:#F3EEEE; --paper:#121011; --surface:#1B1718; --line:#2F282A; --muted:#A99FA1;
  --band:#0A0809; --band-line:#2F282A; --on-band:#FFFFFF; --on-band-muted:#B3AAAC;
  --focus:#FF6B80;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--paper)}
a{color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--gutter-l);padding-right:var(--gutter-r)}
h1,h2,h3{font-family:var(--display);font-stretch:118%;line-height:1.02;margin:0;text-wrap:balance;letter-spacing:-0.01em}
h2,.h2{font-size:clamp(1.9rem,4.4vw,3.1rem);font-weight:850}
h3{font-size:1.15rem;font-weight:800;font-stretch:108%;line-height:1.2}
p{margin:0}
.eyebrow{font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--red);font-weight:600}
.lede{font-size:1.125rem;color:var(--muted);max-width:60ch}
.tag{font-family:var(--mono);font-size:.82rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--body);font-weight:700;font-size:1rem;padding:.8rem 1.25rem;border-radius:4px;text-decoration:none;border:2px solid transparent;cursor:pointer;line-height:1.2}
.btn-red{background:var(--red);color:var(--on-red)}
.btn-red:hover{background:var(--red-deep)}
.btn-line{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-line:hover{background:var(--ink);color:var(--paper)}
.btn-ghost-band{border-color:var(--on-band-muted);color:var(--on-band);background:transparent}
.btn-ghost-band:hover{border-color:var(--on-band)}
.textlink{font-weight:700;color:var(--red);text-decoration:none}
.textlink:hover{text-decoration:underline}
section{padding-block:clamp(56px,8vw,96px);scroll-margin-top:70px}
.sec-head{display:grid;gap:.75rem;margin-bottom:2.25rem;max-width:62ch}

/* Header */
.bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--paper);border-bottom:1px solid var(--line)}
.bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.7rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.brand svg{width:38px;height:38px;flex:none}
.wordmark{font-family:var(--display);font-weight:900;font-stretch:125%;font-size:1.3rem;letter-spacing:.01em;line-height:1}
.wordmark b{color:var(--red);font-weight:900}
.nav{display:flex;gap:1.4rem;align-items:center}
.nav a{text-decoration:none;font-weight:600;font-size:.95rem}
.nav a:hover,.nav a[aria-current="page"]{color:var(--red)}
.bar .btn{padding:.6rem 1rem;font-size:.92rem}
.bar-actions{display:flex;align-items:center;gap:.5rem}
.menu-btn{display:none;font-family:var(--body);font-weight:700;font-size:.92rem;padding:.55rem .9rem;border:2px solid var(--ink);border-radius:4px;background:transparent;color:var(--ink);cursor:pointer;line-height:1.2}
.bar.open .menu-btn{background:var(--ink);color:var(--paper)}
@media (max-width:820px){
  .bar .wrap{flex-wrap:wrap}
  .menu-btn{display:inline-flex}
  .nav{display:none;order:3;width:100%;flex-direction:column;align-items:stretch;gap:0;padding-bottom:.3rem}
  .bar.open .nav{display:flex}
  .nav a{padding:.8rem 0;border-top:1px solid var(--line);font-size:1rem}
}
@media (max-width:480px){.bar-actions .btn{display:none}}

/* Hero */
.hero{padding-block:clamp(40px,6vw,80px) clamp(48px,7vw,88px)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,64px);align-items:start}
.hero h1{font-size:clamp(2.1rem,7vw,4.4rem);font-weight:900;font-stretch:112%;line-height:.95;margin-top:.9rem}
.hero h1 em{font-style:normal;color:var(--red);display:block;white-space:nowrap}
.hero .lede{margin-top:1.4rem}
.hero-ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.8rem}
.hours{margin-top:1.4rem;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;color:var(--muted);font-size:.92rem}
.hours span{display:inline-flex;align-items:center;gap:.45rem}
.dot{width:8px;height:8px;border-radius:50%;background:var(--red);display:inline-block}
@media (max-width:900px){.hero .wrap{grid-template-columns:minmax(0,1fr)}}

/* Picker */
.picker{border:2px solid var(--ink);border-radius:6px;background:var(--paper);overflow:hidden}
.picker-top{background:var(--ink);color:var(--paper);padding:.9rem 1.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.picker-top h2{font-size:1.05rem;font-stretch:110%;font-weight:800;color:var(--paper)}
.picker-top .tag{color:var(--paper);opacity:.75;font-weight:400}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;padding:1.1rem 1.2rem .4rem}
.chip{font-family:var(--body);font-size:.88rem;font-weight:600;padding:.45rem .8rem;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}
.chip:hover{border-color:var(--red)}
.chip[aria-pressed="true"]{background:var(--red);border-color:var(--red);color:var(--on-red)}
.result{margin:1rem 1.2rem 1.2rem;padding:1.1rem 1.2rem;border-radius:4px;background:var(--red-tint);display:grid;gap:.5rem}
.result h3{font-size:1.2rem}
.result p{color:var(--muted);font-size:.95rem}
.result-links{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem}

/* Promise band */
.promise{background:var(--band);color:var(--on-band);padding-block:1.1rem}
.promise ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 1.6rem}
.promise li{font-family:var(--mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.07em;display:flex;align-items:center;gap:.55rem}
.promise li::before{content:"";width:7px;height:7px;background:var(--red);transform:rotate(45deg);flex:none}

/* Services grid */
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.svc{background:var(--paper);padding:1.6rem 1.5rem 1.7rem;display:grid;gap:.8rem;align-content:start;min-width:0}
.svc-head{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;flex-wrap:wrap}
.svc .tag{color:var(--muted);font-weight:400;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em}
.svc p{color:var(--muted);font-size:.95rem}
.svc ul{margin:0;padding:0;list-style:none;display:grid;gap:.3rem;font-size:.93rem}
.svc li{padding-left:1rem;position:relative}
.svc li::before{content:"";position:absolute;left:0;top:.65em;width:6px;height:2px;background:var(--red)}
.svc-foot{margin-top:1.4rem;display:flex;justify-content:flex-end}
@media (max-width:960px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.svc-grid{grid-template-columns:minmax(0,1fr)}}

/* Work / portfolio */
.work{background:var(--paper);border-top:1px solid var(--line)}
.cases{display:grid;gap:clamp(36px,5vw,64px)}
.case{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,56px);align-items:center}
.case.flip .mock{order:2}
.mock{border:2px solid var(--ink);border-radius:8px;overflow:hidden;background:var(--surface)}
.mock-bar{display:flex;align-items:center;gap:.4rem;padding:.55rem .8rem;background:var(--ink)}
.mock-bar i{width:9px;height:9px;border-radius:50%;background:var(--paper);opacity:.45;display:block}
.mock-bar span{margin-left:.6rem;font-family:var(--mono);font-size:.72rem;color:var(--paper);opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mock svg{display:block;width:100%;height:auto}
.m-ink{fill:var(--ink)}
.m-paper{fill:var(--paper)}
.m-line{fill:var(--line)}
.m-muted{fill:var(--muted)}
.m-red{fill:var(--red)}
.m-stroke{fill:none;stroke:var(--ink);stroke-width:2}
.m-text{font-family:var(--body);font-size:11px;fill:var(--muted)}
.m-text-strong{font-family:var(--body);font-size:12px;font-weight:700;fill:var(--ink)}
.m-text-on{font-family:var(--body);font-size:11px;font-weight:700;fill:var(--on-red)}
.m-display{font-family:var(--display);font-weight:900;font-size:22px;fill:var(--ink)}
.m-display-red{font-family:var(--display);font-weight:900;font-size:22px;fill:var(--red)}
.case-body{display:grid;gap:.9rem;min-width:0}
.case-body h3{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:900;font-stretch:115%}
.case-meta{display:flex;flex-wrap:wrap;gap:.4rem .9rem;font-family:var(--mono);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.case-meta .status{color:var(--red);font-weight:600}
.case-body p{color:var(--muted)}
.case-body ul{margin:0;padding:0;list-style:none;display:grid;gap:.4rem;font-size:.97rem}
.case-body li{display:flex;gap:.6rem}
.case-body li::before{content:"";width:7px;height:7px;background:var(--red);transform:rotate(45deg);margin-top:.55em;flex:none}
.stack{display:flex;flex-wrap:wrap;gap:.4rem}
.stack span{font-family:var(--mono);font-size:.74rem;border:1.5px solid var(--line);border-radius:3px;padding:.2rem .55rem;color:var(--ink)}
.work-foot{margin-top:clamp(36px,5vw,56px);border-top:2px solid var(--ink);padding-top:1.3rem;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem}
.work-foot p{font-size:1.05rem;font-weight:600}
@media (max-width:900px){.case{grid-template-columns:minmax(0,1fr)}.case.flip .mock{order:0}}

/* Lake feature */
.lake{background:var(--surface)}
.lake .wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,64px);align-items:center}
.lake .lede{margin-top:1rem}
.checks{margin:1.4rem 0 1.2rem;padding:0;list-style:none;display:grid;gap:.5rem}
.checks li{display:flex;gap:.6rem;font-size:.97rem}
.checks li::before{content:"";width:7px;height:7px;background:var(--red);transform:rotate(45deg);margin-top:.55em;flex:none}
.diagram{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:1rem;overflow-x:auto}
.diagram svg{display:block;width:100%;min-width:520px;height:auto}
.d-ink{stroke:var(--ink);fill:var(--paper)}
.d-roof{fill:var(--ink)}
.d-red{fill:var(--red)}
.d-link{stroke:var(--red);stroke-width:2.5;stroke-dasharray:7 6;fill:none}
.d-arc{stroke:var(--red);fill:none;stroke-width:2;stroke-linecap:round}
.d-ground{stroke:var(--muted);stroke-width:1.5}
.d-water{fill:var(--red-tint)}
.d-wave{stroke:var(--red);opacity:.35;fill:none;stroke-width:1.5}
.d-dock{stroke:var(--ink);stroke-width:4}
.d-label{font-family:var(--mono);font-size:12px;fill:var(--muted)}
.d-label-strong{font-family:var(--mono);font-size:12px;fill:var(--ink);font-weight:600}
@media (max-width:900px){.lake .wrap{grid-template-columns:minmax(0,1fr)}}

/* Holiday */
.holiday .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
.ticket{border:2px solid var(--red);border-radius:6px;overflow:hidden}
.ticket-head{background:var(--red);color:var(--on-red);padding:.9rem 1.2rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:baseline}
.ticket-head h3{color:var(--on-red)}
.ticket-head .tag{color:var(--on-red)}
.ticket ul{list-style:none;margin:0;padding:0}
.ticket li{padding:.7rem 1.2rem;border-bottom:1px solid var(--line);font-size:.95rem;display:flex;justify-content:space-between;gap:1rem}
.ticket li span:last-child{color:var(--muted);font-family:var(--mono);font-size:.8rem;white-space:nowrap}
.ticket-foot{padding:.9rem 1.2rem}
.small{font-size:.88rem;color:var(--muted)}
.holiday .lede{margin-top:1rem}
.holiday-notes{margin-top:1.4rem;display:grid;gap:.6rem}
@media (max-width:900px){.holiday .wrap{grid-template-columns:minmax(0,1fr)}}

/* Business IT */
.biz{background:var(--band);color:var(--on-band)}
.biz .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,64px);align-items:start}
.biz h1,.biz h2{color:var(--on-band)}
.biz .lede{color:var(--on-band-muted);margin-top:1rem}
.biz-list{margin:1.6rem 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 1.5rem}
.biz-list li{display:flex;gap:.6rem;font-size:.97rem}
.biz-list li::before{content:"";width:7px;height:7px;background:var(--red);transform:rotate(45deg);margin-top:.55em;flex:none}
.who{margin-top:1.6rem;color:var(--on-band-muted);font-size:.95rem}
.plan-card{border:1px solid var(--band-line);border-radius:6px;overflow:hidden;background:var(--band)}
.plan-card-top{padding:1.4rem 1.4rem 1.2rem;border-bottom:1px solid var(--band-line)}
.plan-card-top h3{font-size:1.5rem;color:var(--on-band);margin-top:.4rem}
.plan-card-top p{color:var(--on-band-muted);font-size:.92rem;margin-top:.5rem}
.resp{padding:1.1rem 1.4rem;display:grid;gap:.7rem}
.resp div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.8rem;align-items:baseline;font-size:.93rem}
.resp .tag{color:var(--red);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
.plan-actions{padding:0 1.4rem 1.4rem;display:grid;gap:.6rem}
@media (max-width:900px){.biz .wrap{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){.biz-list{grid-template-columns:minmax(0,1fr)}}

/* About */
.about .wrap{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(24px,5vw,56px);align-items:center}
.portrait{width:clamp(140px,22vw,220px);aspect-ratio:1;max-width:100%;border-radius:50%;background:var(--red-tint);display:grid;place-items:center;border:3px solid var(--ink)}
.portrait svg{width:58%;height:auto}
.about p{max-width:62ch;margin-top:1rem;font-size:1.05rem}
.about p.muted{color:var(--muted)}
.creds{margin-top:1.4rem;display:flex;flex-wrap:wrap;gap:.5rem}
.creds span{font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;border:1.5px solid var(--ink);padding:.3rem .65rem;border-radius:3px}
@media (max-width:640px){.about .wrap{grid-template-columns:minmax(0,1fr)}}

/* Area */
.area{padding-block:0 clamp(56px,8vw,96px)}
.area-box{border-top:2px solid var(--ink);padding-top:1.4rem;display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:1.5rem}
.towns{display:flex;flex-wrap:wrap;gap:.45rem}
.towns span{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:.3rem .75rem;font-size:.9rem}
.towns span.home{background:var(--red);border-color:var(--red);color:var(--on-red);font-weight:700}
@media (max-width:760px){.area-box{grid-template-columns:minmax(0,1fr)}}

/* Contact */
.contact{background:var(--surface)}
.contact .wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,64px);align-items:start}
.contact-lines{margin-top:1.6rem;display:grid;gap:1rem}
.contact-lines div{display:grid;gap:.15rem}
.contact-lines .eyebrow{color:var(--muted)}
.contact-lines strong{font-size:1.15rem}
.contact-lines a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.contact-lines a:hover{color:var(--red)}
form{background:var(--paper);border:2px solid var(--ink);border-radius:6px;padding:1.4rem;display:grid;gap:1rem}
.row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
label{display:grid;gap:.35rem;font-weight:600;font-size:.92rem}
input,select,textarea{font:inherit;font-weight:400;font-size:1rem;color:var(--ink);background:var(--paper);border:1.5px solid var(--line);border-radius:4px;padding:.65rem .75rem;width:100%;min-width:0}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px var(--red-tint)}
textarea{min-height:110px;resize:vertical}
.form-note{font-size:.9rem;padding:.75rem .9rem;border-radius:4px;background:var(--red-tint);color:var(--ink)}
@media (max-width:900px){.contact .wrap{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){.row2{grid-template-columns:minmax(0,1fr)}}

/* ===== Pricing page ===== */
.pv-head{padding-block:clamp(36px,5vw,64px) 1.6rem}
.pv-head h1{font-size:clamp(2.1rem,6vw,3.8rem);font-weight:900;font-stretch:112%;margin-top:.8rem}
.pv-head .lede{margin-top:1rem}
.seg{display:inline-flex;border:2px solid var(--ink);border-radius:999px;padding:4px;gap:4px;margin-top:1.6rem;max-width:100%}
.seg button{font-family:var(--body);font-weight:700;font-size:1rem;padding:.6rem 1.3rem;border-radius:999px;border:0;background:transparent;color:var(--ink);cursor:pointer;white-space:nowrap}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.seg-sub{margin-top:.7rem;font-size:.92rem;color:var(--muted)}
.qgrid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr);gap:clamp(24px,4vw,56px);align-items:start;padding-bottom:clamp(56px,8vw,96px)}
.qgroup{margin-bottom:2rem}
.qgroup > h2{font-size:1.25rem;font-stretch:110%;font-weight:850;padding-bottom:.6rem;border-bottom:2px solid var(--ink)}
.qitem{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.15rem .85rem;align-items:start;padding:.85rem 0;border-bottom:1px solid var(--line)}
.qitem input[type="checkbox"],.qitem input[type="radio"]{width:20px;height:20px;accent-color:var(--red);margin:.2rem 0 0;padding:0}
.qname{font-weight:600;cursor:pointer;display:block;font-size:1rem}
.qunit{font-size:.85rem;color:var(--muted)}
.qprice{font-family:var(--mono);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.92rem;text-align:right}
.qextra{grid-column:2 / -1;display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;margin-top:.55rem}
.qextra .qlabel{font-size:.85rem;color:var(--muted)}
.stepper{display:inline-flex;align-items:stretch;border:1.5px solid var(--line);border-radius:4px;overflow:hidden;background:var(--paper)}
.stepper button{width:38px;border:0;background:var(--surface);color:var(--ink);font-size:1.15rem;font-weight:700;cursor:pointer;line-height:1}
.stepper button:hover{background:var(--red-tint)}
.stepper input{width:70px;text-align:center;border:0;border-left:1.5px solid var(--line);border-right:1.5px solid var(--line);border-radius:0;padding:.45rem .3rem;font-family:var(--mono);font-variant-numeric:tabular-nums;-moz-appearance:textfield}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.stepper input:focus{box-shadow:none}
.tiers{display:grid;gap:.4rem;width:100%}
.tiers label{display:flex;gap:.6rem;align-items:center;font-weight:500;font-size:.95rem;cursor:pointer}
.tiers label span:last-child{margin-left:auto;font-family:var(--mono);font-size:.88rem;font-weight:600}
.where{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;padding:.9rem 0;border-bottom:1px solid var(--line)}
.where label{display:flex;gap:.55rem;align-items:center;font-weight:600;font-size:.97rem;cursor:pointer}
.where input[type="radio"]{width:20px;height:20px;accent-color:var(--red);margin:0}
.miles{display:flex;gap:.7rem;align-items:center;padding:.8rem 0;border-bottom:1px solid var(--line)}

.receipt{position:sticky;top:calc(env(safe-area-inset-top,0px) + 84px);border:2px solid var(--ink);border-radius:6px;background:var(--paper);overflow:hidden}
.receipt-top{background:var(--ink);color:var(--paper);padding:.9rem 1.2rem;display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.receipt-top h2{font-size:1.05rem;font-stretch:110%;font-weight:800;color:var(--paper)}
.receipt-top .tag{color:var(--paper);opacity:.75;font-weight:400}
.rbody{padding:1rem 1.2rem;display:grid;gap:.45rem;font-size:.92rem;max-height:46vh;overflow:auto}
.rsub{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-top:.5rem}
.rsub:first-child{margin-top:0}
.rline{display:flex;justify-content:space-between;gap:1rem}
.rline span:first-child{min-width:0}
.rline span:last-child{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.rline.adj span{color:var(--muted)}
.rempty{color:var(--muted);font-size:.95rem;padding:.4rem 0}
.rtotal{border-top:2px dashed var(--line);padding:1rem 1.2rem;display:grid;gap:.55rem}
.rtotal-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.rtotal-row .lbl{font-weight:600}
.big{font-family:var(--display);font-stretch:118%;font-weight:900;font-size:2rem;line-height:1;font-variant-numeric:tabular-nums}
.big.red{color:var(--red)}
.mid{font-family:var(--display);font-stretch:118%;font-weight:850;font-size:1.35rem;line-height:1;font-variant-numeric:tabular-nums}
.rnotes{padding:0 1.2rem 1rem;display:grid;gap:.35rem;font-size:.82rem;color:var(--muted)}
.ractions{padding:0 1.2rem 1.2rem;display:grid;gap:.5rem}
.linkbtn{background:none;border:0;color:var(--muted);font:inherit;font-size:.88rem;cursor:pointer;text-decoration:underline;justify-self:center;padding:.2rem}
.howto{margin-top:1.2rem;border:1px solid var(--line);border-radius:6px;padding:1rem 1.2rem;background:var(--surface)}
.howto h3{font-size:1rem;margin-bottom:.5rem}
.howto ul{margin:0;padding:0;list-style:none;display:grid;gap:.4rem;font-size:.88rem;color:var(--muted)}
.howto b{color:var(--ink);font-family:var(--mono);font-weight:600}

.qbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:45;background:var(--ink);color:var(--paper);padding:.7rem var(--gutter-r) calc(.7rem + env(safe-area-inset-bottom,0px)) var(--gutter-l);justify-content:space-between;align-items:center;gap:1rem}
.qbar .qb-lbl{font-size:.8rem;opacity:.8;display:block}
.qbar .qb-amt{font-family:var(--display);font-stretch:118%;font-weight:900;font-size:1.3rem;line-height:1.1}
.qbar a{background:var(--red);color:var(--on-red);text-decoration:none;font-weight:700;padding:.6rem 1rem;border-radius:4px;white-space:nowrap}
@media (max-width:900px){
  .qgrid{grid-template-columns:minmax(0,1fr)}
  .receipt{position:static}
  .rbody{max-height:none}
  body.on-pricing .qbar{display:flex}
  body.on-pricing{padding-bottom:76px}
}

/* Footer */
footer{background:var(--band);color:var(--on-band);padding-block:2.4rem}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.2rem;align-items:center}
footer .wordmark{color:var(--on-band)}
footer p{color:var(--on-band-muted);font-size:.88rem}
footer p a{color:var(--on-band);text-decoration:none}
footer p a:hover{text-decoration:underline}
.foot-nav{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}
.foot-nav a{color:var(--on-band);text-decoration:none;font-weight:600;font-size:.92rem}
.foot-nav a:hover{color:var(--red)}
