/* lab.ascenthi.com — shared styles (v1.0.0, forked from www/site.css v1.0.0)
   Used by every page on this site, landing included. Adds pricing cards,
   step cards, and the checkout-result treatment on top of the www base. */
:root{
  --ground:#1a252f; --raised:#2c3e50; --gold:#c5a059; --gold-dark:#a8863f;
  --paper:#f5f7f9; --ink:#22303c; --muted:#3c4c5a; --line:rgba(44,62,80,.16);
  --display:"Bricolage Grotesque",Georgia,serif;
  --body:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%}
.wrap{max-width:780px;margin:0 auto;padding:0 24px}
header.site{background:var(--ground);padding:14px 0}
header.site .wrap{display:flex;align-items:center;justify-content:space-between}
header.site img{height:24px;display:block}
header.site a.back{color:#c6d2dd;font-size:13.5px;text-decoration:none;font-weight:600}
header.site a.back:hover{color:#fff}
main{padding:48px 0 72px}
h1{font-family:var(--display);font-size:clamp(26px,4vw,34px);font-weight:700;line-height:1.15;margin-bottom:6px;text-wrap:balance}
.updated{font-size:13.5px;color:var(--gold-dark);font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:28px}
h2{font-family:var(--display);font-size:21px;font-weight:700;margin:36px 0 10px;line-height:1.25}
h3{font-size:16.5px;font-weight:700;margin:24px 0 8px}
p{margin:0 0 14px;color:var(--muted);font-size:15.5px}
ul,ol{margin:0 0 16px;padding-left:24px;color:var(--muted);font-size:15.5px}
li{margin-bottom:8px}
a{color:var(--gold-dark)}
a:hover{color:var(--raised)}
strong{color:var(--ink)}
blockquote{border-left:3px solid var(--gold);padding:4px 0 4px 16px;margin:0 0 16px;color:var(--muted)}
hr{border:0;border-top:1px solid var(--line);margin:32px 0}
.contact-block{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px 22px;margin-top:8px}
.contact-block p{margin-bottom:6px}
footer.site{border-top:1px solid var(--line);padding:28px 0 40px;font-size:13.5px;color:var(--muted)}
footer.site .wrap{display:flex;flex-wrap:wrap;gap:10px 22px}
footer.site a{text-decoration:none}
/* forms (Netlify) */
form.inquiry{background:#fff;border:1px solid var(--line);border-radius:10px;padding:26px;margin-top:24px;display:flex;flex-direction:column;gap:16px}
form.inquiry .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
form.inquiry label{display:block;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
form.inquiry input,form.inquiry textarea{width:100%;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);font:400 15px var(--body);padding:10px 12px}
form.inquiry textarea{min-height:120px;resize:vertical}
form.inquiry button{align-self:flex-start;background:var(--gold);color:#1e2a36;font:700 15px var(--body);border:0;border-radius:6px;padding:12px 28px;cursor:pointer}
form.inquiry button:hover{background:#d6b678}
input:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media (max-width:640px){form.inquiry .row{grid-template-columns:1fr}}

/* ---------- lab additions (v1.0.0) ---------- */
/* Hero band (landing) */
.hero{background:var(--ground);color:#eef3f7;padding:64px 0 72px}
.hero .wrap{max-width:880px}
.hero .eyebrow{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.hero h1{color:#fff;font-size:clamp(30px,5vw,44px);margin-bottom:14px}
.hero p.lede{color:#c6d2dd;font-size:17.5px;max-width:58ch;margin-bottom:26px}
.btn-gold{display:inline-block;background:var(--gold);color:#1e2a36;font:700 15px var(--body);text-decoration:none;border-radius:6px;padding:13px 28px}
.btn-gold:hover{background:#d6b678;color:#1e2a36}
.btn-ghost{display:inline-block;color:#c6d2dd;font:600 14.5px var(--body);text-decoration:none;padding:13px 18px}
.btn-ghost:hover{color:#fff}
.hero .fineprint{font-size:12.5px;color:#93a6b8;margin-top:14px}
/* Wider content bands on the landing */
.wide{max-width:980px;margin:0 auto;padding:0 24px}
section.band{padding:56px 0}
section.band h2{margin-top:0}
/* Step cards */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
.step{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px}
.step .n{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--raised);color:#fff;font:700 14px var(--body);margin-bottom:12px}
.step h3{margin:0 0 8px;font-size:16.5px}
.step p{font-size:14.5px;margin:0}
/* Pricing cards */
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
.price-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;display:flex;flex-direction:column}
.price-card.featured{border:2px solid var(--gold)}
.price-card .plan{font:700 13px var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dark)}
.price-card .amount{font-family:var(--display);font-size:34px;font-weight:700;color:var(--ink);margin:8px 0 2px}
.price-card .amount small{font-size:15px;font-weight:600;color:var(--muted)}
.price-card ul{list-style:none;padding:0;margin:14px 0 0;font-size:14.5px}
.price-card li{padding-left:22px;position:relative;margin-bottom:9px}
.price-card li::before{content:"✓";position:absolute;left:0;color:var(--gold-dark);font-weight:700}
.forfeit-note{margin-top:22px;font-size:13.5px;color:var(--muted);background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:8px;padding:12px 16px}
/* Checkout result pages */
.result{max-width:520px;margin:64px auto;padding:0 24px;text-align:center}
.result .mark{width:56px;height:56px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:26px;font-weight:700;margin-bottom:18px}
.result .mark.ok{background:#e6f4ea;color:#1b5e20}
.result .mark.no{background:#f1f3f5;color:#5b6d7d}
.result h1{margin-bottom:10px}
.result p{font-size:15.5px}
.result .card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 24px;margin-top:18px;text-align:left}
.result .card ol{margin:0;padding-left:22px;font-size:14.5px}
@media (max-width:760px){.steps,.pricing{grid-template-columns:1fr}}
