@import "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:wght@300;400;500;600&display=swap";
:root{--ink:#0b0a09;--ink2:#141210;--bone:#ede6d6;--dim:#b7afa0;--gold:#c9a56a;--goldb:#e0c48a;--line:#2c2820;--disp:"Instrument Serif","Iowan Old Style",Georgia,serif;--sans:"Inter","Helvetica Neue","Segoe UI",sans-serif}
*,*:before,*:after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:5rem}
body{margin:0;background:var(--ink);color:var(--bone);font:18px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%}
a{color:inherit}
p{margin:0 0 1rem}
.scrim{position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(80% 50% at 50% 0,#c9a56a1f,#0000 70%)}
main,.ftr,.hdr{position:relative;z-index:1}
.wrap{max-width:72rem;margin:0 auto;padding:0 1.25rem}
.narrow{max-width:44rem}.center{text-align:center}
.disp{font-family:var(--disp);font-style:italic;font-weight:400}
.sans{font-family:var(--sans);font-style:normal;font-weight:500;letter-spacing:.02em;font-size:18px}
.gold{color:var(--gold)}.muted{color:var(--dim)}.mt{margin-top:2rem}
.label,.kick{font-size:15px;line-height:1.4;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 .75rem}
.h1{font-size:2.5rem;line-height:1.1;margin:.25rem 0 1.25rem}
.h2{font-size:2.25rem;line-height:1.15;margin:.25rem 0 1rem}
.h3{font-size:1.6rem;line-height:1.3;margin:0 0 .75rem}
.small,.note{font-size:16px;line-height:1.5;color:var(--dim)}
/* header */
.hdr{position:sticky;top:0;z-index:30;background:#0b0a09e6;backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4rem;padding-top:env(safe-area-inset-top)}
.brand{display:flex;align-items:center;gap:.6rem;min-height:44px;text-decoration:none;color:var(--gold)}
.brand .logo{width:40px;height:40px}
.brand span{font-size:11px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--bone)}
.menu-btn{min-height:44px;min-width:44px;padding:0 1rem;background:none;border:1px solid var(--line);color:var(--bone);font:500 13px var(--sans);letter-spacing:.16em;text-transform:uppercase}
.nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--ink);border-bottom:1px solid var(--line);flex-direction:column;padding:.5rem 1.25rem 1rem}
.nav.open{display:flex}
.nav a{display:flex;align-items:center;min-height:48px;text-decoration:none;font-size:15px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);border-bottom:1px solid var(--line)}
.nav a:hover,.nav a[aria-current]{color:var(--bone)}
.nav a.nav-cta{color:var(--gold);border:0}
@media(min-width:900px){.menu-btn{display:none}.nav{display:flex;position:static;flex-direction:row;padding:0;border:0;background:none;gap:.25rem}
.nav a{border:0;padding:0 .7rem;min-height:44px;font-size:12px;letter-spacing:.2em}.nav a[aria-current]{box-shadow:inset 0 -1px var(--gold)}
.nav a.nav-cta{border:1px solid var(--gold);margin-left:.5rem}}
/* hero */
.field{position:relative;height:34dvh;min-height:15rem;overflow:hidden}
.field>svg:first-child{position:absolute;inset:0;width:100%;height:100%}
.helix-field{position:absolute;top:16%;left:3%;height:6rem;opacity:.55;color:var(--gold)}
.hero-title{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:0 1.25rem}
.hero-title h1{margin:0;display:flex;flex-direction:column;align-items:center}
.hero-title .kick{letter-spacing:.42em;margin:0}
.big{font-size:2.9rem;line-height:1;margin-top:.5rem}
.tag{font-size:20px;margin:.9rem 0 0}
.lead{font-size:21px;line-height:1.5;margin-top:1.5rem}
.for{color:var(--dim)}
.ask{font-size:2rem;line-height:1.25;margin:.25rem 0 .75rem}
/* sections */
.sec{padding:3rem 0;border-top:1px solid var(--line)}
.sec.top{border-top:0;padding-top:2.5rem}
.hero+.sec{border-top:0;padding-top:1rem}
.cards{list-style:none;padding:0;margin:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.cards li{background:var(--ink)}
.cards li>a,.cards.static li{display:block;padding:1.25rem 1.25rem;text-decoration:none;min-height:44px}
.cards li>a:hover{background:var(--ink2)}
.cards h3{margin:0 0 .4rem}.cards h3.disp{font-size:1.65rem;color:var(--gold);line-height:1.25}
.cards p{margin:0}
.box{border:1px solid #c9a56a66;background:var(--ink2);padding:1.5rem}
.bullets{padding-left:1.2rem;margin:0}.bullets li{margin:.4rem 0}
.steps{list-style:none;padding:0;margin:0 0 1rem;display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.steps li{background:var(--ink);padding:1.1rem 1.25rem}.steps p{margin:0}.steps .label{margin-bottom:.25rem}
.split{display:grid;gap:2rem}
.next{margin-top:1.5rem}.next a,.linkbtn{display:inline-flex;align-items:center;min-height:44px;color:var(--bone);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}
.linkbtn{background:none;border:0;font:inherit;cursor:pointer;padding:0}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.6rem 1.5rem;background:var(--bone);color:var(--ink);border:1px solid var(--bone);font:500 15px var(--sans);letter-spacing:.03em;text-decoration:none;cursor:pointer;text-align:center}
.btn:hover{background:var(--goldb);border-color:var(--goldb)}
.btn.ghost{background:none;color:var(--bone);border-color:var(--gold)}.btn.ghost:hover{background:var(--ink2)}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.cta-wrap{margin-top:1.75rem}.cta-wrap .note{margin-top:.75rem}
.two-btn{display:flex;flex-direction:column;gap:.75rem;margin:1.5rem 0 .75rem}
.two-btn .btn{width:100%}
@media(min-width:640px){.two-btn{flex-direction:row;justify-content:center}.two-btn .btn{width:auto}}
/* about */
.profile{display:flex;align-items:center;gap:1.25rem;margin-bottom:.5rem}
.profile img{width:112px;height:112px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px #c9a56a59}
.profile .h1{margin:0}
.verify{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin:1rem 0 1.75rem}
.verify .note{margin:0}
/* forms */
.form{display:grid;gap:1.75rem;margin-top:1rem}
.fld{display:block;border:0;padding:0;margin:0;min-width:0}
.fl{display:flex;gap:.6rem;font-size:18px;font-weight:500;padding:0;line-height:1.45}
.fl b,.q legend b{color:var(--gold);font-weight:500;min-width:1rem}
.help{display:block;font-size:16px;color:var(--dim);margin:.25rem 0 .5rem}
.sub{display:block;font-size:16px;color:var(--bone);margin-top:.75rem}
input[type=text],input[type=email],input[type=url],input[type=date],textarea{display:block;width:100%;margin-top:.35rem;min-height:48px;padding:.6rem .75rem;background:var(--ink);color:var(--bone);border:1px solid var(--line);border-radius:0;font:18px/1.4 var(--sans);color-scheme:dark}
textarea{resize:vertical}
input:focus,textarea:focus{border-color:var(--gold);outline:none}
.invalid{border-color:#c47888!important}
.checks{display:grid;gap:.5rem}
.chk{display:flex;align-items:center;gap:.75rem;min-height:52px;padding:.6rem 1rem;border:1px solid var(--line);background:var(--ink);cursor:pointer;line-height:1.35}
.chk input{width:22px;height:22px;accent-color:var(--gold);flex:none;margin:0}
.chk:has(input:checked){border-color:var(--gold);background:var(--ink2)}
.err{color:#e3a3b0;font-size:16px}
pre{white-space:pre-wrap;font:16px/1.55 var(--sans);background:var(--ink);border:1px solid var(--line);padding:1rem;overflow-wrap:anywhere}
.q{border:0;padding:0;margin:0;min-width:0}
.q legend{display:flex;gap:.6rem;font-size:19px;font-weight:500;margin-bottom:.6rem;padding:0}
#sc-out{margin-top:2rem}
.fb{list-style:none;padding:0;margin:1rem 0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.fb li{background:var(--ink);padding:1.1rem 1.25rem}.fb .label{margin-bottom:.3rem}.fb p{margin:0}
.dl{display:grid;gap:1px;background:var(--line);margin:2rem 0 0}.dl div{background:var(--ink);padding:1.1rem 1.25rem}.dl dd{margin:0}
/* footer */
.ftr{border-top:1px solid var(--line);margin-top:2rem}
.ftr-in{display:flex;flex-direction:column;gap:1.5rem;padding:2.5rem 1.25rem calc(2.5rem + env(safe-area-inset-bottom))}
.ftr-name{font-size:1.9rem;margin:.25rem 0 .75rem}.ftr .kick{font-size:11px;letter-spacing:.4em}
.ftr-links{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.ftr-links a{display:flex;align-items:center;min-height:44px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);text-decoration:none}
.ftr-links a:hover{color:var(--bone)}
@media(min-width:640px){.wrap{padding:0 2rem}.h1{font-size:3rem}.big{font-size:3.75rem}.helix-field{height:10rem;left:6%}.lead{font-size:24px}.ask{font-size:2.4rem}
.cards{grid-template-columns:1fr 1fr}.cards li>a,.cards.static li{padding:1.75rem 2rem}.sec{padding:4.5rem 0}.box{padding:2rem}}
@media(min-width:1024px){.big{font-size:4.25rem}.helix-field{height:12rem}.lead{font-size:27px;line-height:1.4}.for{font-size:19px}.tag{font-size:24px}
.split{grid-template-columns:1fr 1fr;align-items:start}.steps{grid-template-columns:repeat(4,1fr)}
.ftr-in{flex-direction:row;justify-content:space-between;align-items:flex-end}.ftr-in>div:first-child{max-width:36rem}}
@media(prefers-reduced-motion:no-preference){.btn{transition:background-color .15s}}
/* v2 readability pass */
:root{--bone:#f0f0f0;--dim:#d6d0c4}
body{font-size:19px;line-height:1.6}
main p,main li,main dd{max-width:65ch}
.center p,.center .quick{margin-left:auto;margin-right:auto}
p{margin:0 0 1.15rem}
.small,.note,.help{font-size:17px;color:var(--dim)}
.wrap{padding:0 1.5rem}
.sec{padding:2.75rem 0}
.h2{font-size:2rem}
.label,.kick{font-size:15px}
.btn{font-size:17px;min-height:52px}
/* starfield/helix: dimmed, never behind body text */
.field{height:24dvh;min-height:12rem}
.field>svg{opacity:.35}
.hero-title{background:radial-gradient(60% 70% at 50% 50%,#0b0a09d9,#0b0a0900)}
.lead{font-size:20px;line-height:1.55;margin-top:1.25rem}
.hero+.sec,.home-ask{border-top:0;padding-top:.5rem;padding-bottom:2rem}
.ask{font-size:1.9rem;margin-bottom:.25rem}
.quick{list-style:none;padding:0;margin:1.25rem auto 0;display:grid;gap:0}
.quick a{display:flex;justify-content:center;align-items:center;min-height:44px;color:var(--bone);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}
/* accordions */
.acc{border-top:1px solid var(--line);margin:1.25rem 0 0}
.acc details,details.acc1{border-bottom:1px solid var(--line)}
details.acc1{border-top:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:60px;padding:.75rem 0;font-family:var(--disp);font-style:italic;font-size:1.6rem;line-height:1.25;color:var(--gold)}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";font:300 1.75rem var(--sans);color:var(--gold);flex:none}
details[open]>summary:after{content:"–"}
details>:not(summary){margin-left:0}
details[open]{padding-bottom:1.25rem}
details .steps{margin-bottom:1.25rem}
/* compact footer on phones */
.ftr{margin-top:1rem}.ftr-in{padding:2rem 1.5rem calc(2rem + env(safe-area-inset-bottom));gap:1rem}
.ftr-name{display:none}.ftr .small{font-size:15px}
@media(min-width:640px){.wrap{padding:0 2rem}.sec{padding:4rem 0}.h2{font-size:2.4rem}.field{height:34dvh}.ask{font-size:2.4rem}}
@media(min-width:1024px){body{font-size:19px}.lead{font-size:24px}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.shows{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.show{background:var(--ink);padding:1.25rem}
.show-date{margin:0;font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:500}
.show-name{margin:.35rem 0 .2rem;font-size:21px;line-height:1.3;font-weight:600;color:var(--bone)}
.show-city{margin:0;color:var(--dim)}
.show-link{margin:.25rem 0 0}
.show-link a{display:inline-flex;align-items:center;min-height:44px;color:var(--bone);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}
@media(min-width:900px){.show{display:grid;grid-template-columns:11rem 1fr auto;column-gap:1.5rem;align-items:baseline}.show-date{grid-row:1/3}.show-link{grid-row:1/3;grid-column:3;margin:0}}
