/* Layout: left-aligned survey-sheet page — thesis + example lead ticket, then sequence, guardrails, audience, waitlist. */
:root{
  --ground:#EDF0F3; --sheet:#FFFFFF; --ink:#13202B; --muted:#55636F; --rule:#C9D1D8;
  --marker:#E3A912; --marker-ink:#1A1405; --ok:#1F7A55; --err:#B3261E;
  --display:"Archivo","Arial Narrow",system-ui,sans-serif;
  --body:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --ground:#0E151C; --sheet:#151F29; --ink:#E4EAF0; --muted:#98A6B3; --rule:#2A3946;
  --marker:#F0B925; --marker-ink:#1A1405; --ok:#5CC896; --err:#FF8A80; color-scheme:dark}}
:root[data-theme="dark"]{
  --ground:#0E151C; --sheet:#151F29; --ink:#E4EAF0; --muted:#98A6B3; --rule:#2A3946;
  --marker:#F0B925; --marker-ink:#1A1405; --ok:#5CC896; --err:#FF8A80; color-scheme:dark}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ground);color:var(--ink);font:400 1.0625rem/1.6 var(--body);
  padding-inline:max(16px,4vw)}
.wrap{max-width:72rem;margin-inline:auto}
a{color:inherit;text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--marker);outline-offset:2px}

/* header */
.top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:1.25rem;border-bottom:1px solid var(--rule)}
.brand{display:flex;align-items:center;gap:.6rem;font:800 1.15rem/1 var(--display);font-stretch:118%;letter-spacing:.01em;text-decoration:none}
.brand svg{width:26px;height:26px}
.top a.cta-sm{font:600 .9rem/1 var(--body);text-decoration:none;padding:.65rem 1rem;border:1.5px solid var(--ink);border-radius:2px}
.top a.cta-sm:hover{background:var(--ink);color:var(--ground)}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,4.5rem);align-items:start;padding-block:clamp(2.5rem,7vw,5.5rem) clamp(2.5rem,6vw,4.5rem)}
.eyebrow{font:500 .78rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 1.1rem}
h1{font:800 clamp(2.4rem,6.2vw,4.6rem)/.98 var(--display);font-stretch:112%;letter-spacing:-.015em;margin:0 0 1.4rem;text-wrap:balance}
h1 mark{background:linear-gradient(transparent 58%,var(--marker) 58%,var(--marker) 92%,transparent 92%);color:inherit;padding-inline:.04em}
.lede{font-size:1.2rem;max-width:34rem;margin:0 0 2rem;color:var(--ink)}
.actions{display:flex;flex-wrap:wrap;gap:.9rem 1.4rem;align-items:center}
.btn{display:inline-block;font:600 1rem/1 var(--body);background:var(--marker);color:var(--marker-ink);border:0;border-radius:2px;padding:1rem 1.35rem;text-decoration:none;cursor:pointer}
.btn:hover{filter:brightness(1.06)}
.status{font:400 .85rem/1.4 var(--mono);color:var(--muted)}

/* lead ticket (example) */
.ticket{background:var(--sheet);border:1px solid var(--rule);border-radius:3px;box-shadow:0 1px 0 var(--rule),0 18px 40px -28px rgba(10,20,30,.45);font-family:var(--mono);font-size:.84rem;min-width:0}
.ticket-head{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.85rem 1.1rem;border-bottom:1px dashed var(--rule)}
.demo{background:var(--marker);color:var(--marker-ink);font-weight:500;letter-spacing:.08em;padding:.15rem .45rem;border-radius:2px;font-size:.72rem}
.fields{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;padding:1rem 1.1rem;border-bottom:1px dashed var(--rule)}
.fields dt{color:var(--muted)} .fields dd{margin:0}
.log{list-style:none;margin:0;padding:.6rem 1.1rem 1rem;display:grid;gap:.15rem}
.log li{display:grid;grid-template-columns:5.6rem 1fr;gap:.8rem;padding:.45rem 0;border-bottom:1px solid color-mix(in srgb,var(--rule) 55%,transparent);font-variant-numeric:tabular-nums}
.log li:last-child{border-bottom:0}
.log time{color:var(--muted)}
.log .who{font-family:var(--body);font-size:.92rem;line-height:1.45}
.log .tag{display:inline-block;font-family:var(--mono);font-size:.72rem;color:var(--ok);margin-left:.35rem}
.log q{font-style:italic}
.ticket-foot{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.85rem 1.1rem;background:color-mix(in srgb,var(--marker) 16%,var(--sheet));border-top:1px solid var(--rule)}
.ticket-foot strong{font-weight:500}

/* sections */
section{padding-block:clamp(2.5rem,6vw,4.5rem);border-top:1px solid var(--rule)}
h2{font:750 clamp(1.7rem,3.6vw,2.5rem)/1.05 var(--display);font-stretch:108%;margin:0 0 .8rem;text-wrap:balance;max-width:40rem}
.sub{color:var(--muted);max-width:38rem;margin:0 0 2.2rem}

.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;counter-reset:s}
.steps li{counter-increment:s;min-width:0;border-top:3px solid var(--ink);padding-top:1rem}
.steps li::before{content:counter(s,decimal-leading-zero);display:block;font:500 .8rem/1 var(--mono);color:var(--muted);margin-bottom:.8rem;letter-spacing:.06em}
h3{font:700 1.25rem/1.2 var(--display);font-stretch:104%;margin:0 0 .5rem}
.steps p,.rules p,.who-grid p{margin:0;color:var(--muted)}

.rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid var(--rule);background:var(--sheet)}
.rules div{padding:1.4rem 1.5rem;min-width:0;border-bottom:1px solid var(--rule)}
.rules div:nth-child(odd){border-right:1px solid var(--rule)}
.rules div:nth-last-child(-n+2){border-bottom:0}
.rules h3{font-size:1.05rem}

.who-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.6rem}
.who-grid > div{min-width:0}
.who-grid .kick{font:500 .72rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem}

/* waitlist */
.join{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4rem);align-items:start}
form{background:var(--sheet);border:1px solid var(--rule);border-radius:3px;padding:1.5rem;display:grid;gap:1.1rem}
.row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{display:grid;gap:.4rem;min-width:0}
label{font:600 .88rem/1.2 var(--body)}
input[type=email],input[type=text],select{font:400 1rem/1.3 var(--body);color:var(--ink);background:var(--ground);border:1px solid var(--rule);border-radius:2px;padding:.75rem .8rem;width:100%}
.check{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;font:400 .9rem/1.45 var(--body)}
.check input{width:1.1rem;height:1.1rem;margin-top:.15rem;accent-color:var(--ink)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fine{font-size:.82rem;color:var(--muted);margin:0}
#msg{font:500 .92rem/1.4 var(--body);margin:0;min-height:1.3em}
#msg.ok{color:var(--ok)} #msg.err{color:var(--err)}
button[disabled]{opacity:.6;cursor:wait}

footer{border-top:1px solid var(--rule);padding-block:1.6rem 2.4rem;display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;justify-content:space-between;font-size:.88rem;color:var(--muted)}
footer nav{display:flex;gap:1.2rem}

@media (max-width:900px){
  .hero,.join{grid-template-columns:minmax(0,1fr)}
  .steps{grid-template-columns:minmax(0,1fr)}
  .who-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:620px){
  .rules{grid-template-columns:minmax(0,1fr)}
  .rules div:nth-child(odd){border-right:0}
  .rules div:nth-last-child(2){border-bottom:1px solid var(--rule)}
  .row,.who-grid{grid-template-columns:minmax(0,1fr)}
  .log li{grid-template-columns:minmax(0,1fr);gap:.1rem}
}
@media (prefers-reduced-motion:no-preference){
  .pulse{animation:pulse 2.4s ease-in-out infinite}
  @keyframes pulse{50%{opacity:.35}}
}

/* nav */
.top nav{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}
.top nav a.link{font:500 .92rem/1 var(--body);text-decoration:none;color:var(--muted)}
.top nav a.link:hover,.top nav a.link[aria-current="page"]{color:var(--ink)}
.top nav a.link[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--marker);text-decoration-thickness:3px;text-underline-offset:6px}
@media (max-width:560px){.top nav{gap:.9rem}.top nav a.link{font-size:.85rem}.top a.cta-sm{padding:.55rem .75rem;font-size:.82rem}}

/* inner pages */
.page-head{padding-block:clamp(2.2rem,6vw,4rem) clamp(1.6rem,4vw,2.6rem)}
.page-head h1{font-size:clamp(2.1rem,5vw,3.6rem)}
.page-head .lede{margin-bottom:0}
.prose{max-width:44rem;padding-block:0 3.5rem}
.prose h2{font-size:1.3rem;margin:2.2rem 0 .5rem}
.prose p,.prose li{color:var(--ink)}
.prose ul{padding-left:1.2rem}
.meta{color:var(--muted);font-size:.9rem;margin:0 0 1rem}
.draft{border:1.5px solid var(--marker);padding:.8rem 1rem;margin:0 0 1.6rem;font-size:.92rem;background:var(--sheet)}

/* features */
.feat-group{padding-block:clamp(2rem,5vw,3.5rem);border-top:1px solid var(--rule)}
.feat-group > header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.6rem}
.feat-group h2{margin:0}
.feat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem 2rem}
.feat > div{min-width:0}
.feat p{margin:0;color:var(--muted)}
.chip{display:inline-block;font:500 .7rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:.35rem .5rem;border-radius:2px;border:1px solid var(--rule);color:var(--muted);background:var(--sheet);white-space:nowrap}
.chip.now{border-color:var(--marker);color:var(--ink);background:color-mix(in srgb,var(--marker) 18%,var(--sheet))}
.chip.no{border-color:var(--err);color:var(--err)}
.cta-band{display:flex;justify-content:space-between;align-items:center;gap:1.2rem;flex-wrap:wrap;padding-block:2.4rem;border-top:1px solid var(--rule)}
.cta-band p{margin:0;font:700 1.35rem/1.2 var(--display);font-stretch:106%}
@media (max-width:900px){.feat{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.feat{grid-template-columns:minmax(0,1fr)}}

/* faq */
.faq{max-width:46rem;padding-block:0 3rem;display:grid;gap:0;border-top:1px solid var(--rule)}
.faq details{border-bottom:1px solid var(--rule);padding-block:1.1rem}
.faq summary{cursor:pointer;font:700 1.12rem/1.3 var(--display);font-stretch:104%;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);color:var(--muted)}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:.7rem 0 0;color:var(--muted);max-width:40rem}
.faq summary:focus-visible{outline:3px solid var(--marker);outline-offset:3px}

/* small utility page (404, unsubscribe) */
.center-page{min-height:50vh;display:grid;align-content:center;gap:1rem;padding-block:3rem;max-width:36rem}
.center-page h1{font-size:clamp(2rem,5vw,3rem);margin:0}
.center-page p{margin:0;color:var(--muted)}
.code{font:500 .85rem/1 var(--mono);color:var(--muted);letter-spacing:.1em}
footer .contact{font-family:var(--mono);font-size:.82rem}

/* breadcrumbs */
.crumbs{font:500 .78rem/1 var(--mono);letter-spacing:.06em;color:var(--muted);margin:0 0 1.1rem}
.crumbs a{color:var(--muted)}

/* role pages */
.pains{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem 2rem}
.pains > div{min-width:0;border-left:3px solid var(--marker);padding-left:1rem}
.pains p{margin:0;color:var(--muted)}
.fit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;border:1px solid var(--rule);background:var(--sheet)}
.fit > div{padding:1.3rem 1.5rem;min-width:0;border-bottom:1px solid var(--rule)}
.fit > div:nth-child(odd){border-right:1px solid var(--rule)}
.fit > div:nth-last-child(-n+2){border-bottom:0}
.fit .hd{display:flex;justify-content:space-between;align-items:baseline;gap:.4rem .8rem;flex-wrap:wrap;margin-bottom:.5rem}.fit h3{font-size:1.05rem;margin:0}
.fit p{margin:0;color:var(--muted)}
.callout{border:1.5px solid var(--rule);border-left:4px solid var(--err);background:var(--sheet);padding:1.2rem 1.4rem;max-width:46rem}
.callout h3{font-size:1.05rem}
.callout ul{margin:.4rem 0 .6rem;padding-left:1.1rem;color:var(--ink)}
.callout li{margin:.25rem 0}
.callout p{margin:.4rem 0 0;color:var(--muted);font-size:.92rem}
.hub{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding-block:0 3rem}
.hub a{display:grid;gap:.4rem;align-content:start;text-decoration:none;background:var(--sheet);border:1px solid var(--rule);border-radius:3px;padding:1.3rem 1.4rem;min-width:0}
.hub a:hover{border-color:var(--ink)}
.hub a strong{font:700 1.2rem/1.2 var(--display);font-stretch:104%}
.hub a span{color:var(--muted);font-size:.95rem}
.hub a em{font:500 .72rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-style:normal}
.who-grid h3 a{text-decoration:none}
.who-grid h3 a:hover{text-decoration:underline;text-decoration-color:var(--marker);text-decoration-thickness:3px}
.more{margin:1.6rem 0 0}

/* guides */
.guide{max-width:44rem;padding-block:0 3rem}
.guide h2{font-size:1.5rem;margin:2.6rem 0 .6rem}
.guide h3{margin-top:1.6rem}
.guide p,.guide li{color:var(--ink)}
.guide ul,.guide ol{padding-left:1.2rem}
.guide li{margin:.35rem 0}
.guide .meta{margin-bottom:1.4rem}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.4rem 0}
.facts div{background:var(--sheet);border:1px solid var(--rule);padding:1rem 1.1rem;min-width:0}
.facts b{display:block;font:800 1.9rem/1 var(--display);font-stretch:110%;margin-bottom:.4rem;font-variant-numeric:tabular-nums}
.facts span{color:var(--muted);font-size:.88rem;line-height:1.4;display:block}
.table-wrap{overflow-x:auto;margin:1rem 0}
.guide table{border-collapse:collapse;width:100%;min-width:32rem;font-size:.94rem}
.guide th,.guide td{text-align:left;vertical-align:top;padding:.6rem .7rem;border-bottom:1px solid var(--rule)}
.guide th{font:600 .8rem/1.2 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.sources{font-size:.88rem;color:var(--muted)}
.sources li{color:var(--muted);overflow-wrap:anywhere}
.tag-new{font:500 .68rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;background:var(--marker);color:var(--marker-ink);padding:.2rem .4rem;border-radius:2px;vertical-align:middle;margin-left:.4rem}
@media (max-width:900px){.pains,.hub{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.pains,.hub,.facts{grid-template-columns:minmax(0,1fr)}.fit{grid-template-columns:minmax(0,1fr)}.fit > div:nth-child(odd){border-right:0}.fit > div:nth-last-child(2){border-bottom:1px solid var(--rule)}}
@media (max-width:760px){.top{flex-wrap:wrap;row-gap:.9rem}.top nav{display:contents}.top .brand{order:0;margin-right:auto}.top a.cta-sm{order:1}.top::before{content:"";flex-basis:100%;order:2}.top nav a.link{order:3}}

[hidden]{display:none!important}
.join-forms{min-width:0}

/* skip link */
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:1rem;top:1rem;z-index:10;background:var(--ink);color:var(--ground);padding:.6rem .9rem;border-radius:2px}
@media (max-width:1100px){.who-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* waitlist follow-up questions */
#details textarea{font:400 1rem/1.4 var(--body);color:var(--ink);background:var(--ground);border:1px solid var(--rule);border-radius:2px;padding:.75rem .8rem;width:100%;min-height:5.5rem;resize:vertical}
#details h3{margin:0}
#details .lead-in{margin:0;color:var(--muted);font-size:.95rem}
