/* roadies.ai house stylesheet. The Stage: Ink house, Bone program inserts, one light per scene. Zero JavaScript. */
:root{--ink:#0F1A2C;--slate:#3C4A5E;--signal:#C8A24A;--tide:#1B5E5A;--bone:#FAFAF8;--sand:#E8E6E2;--stone:#B5B2AC;--graphite:#5C5A55;--carbon:#1F1E1B;
--display:"Manrope",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
--text:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
--gutter:clamp(1.125rem,5vw,5rem);--mark:1.625rem;color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--ink);color:var(--bone);font:400 1rem/1.6 var(--text);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;overflow-x:clip}
h1,h2,h3,p,ol,ul,dl,dd,figure,blockquote,fieldset{margin:0}
ol,ul{padding:0;list-style:none}
h1,h2,h3{font-family:var(--display);font-weight:800}
a{color:inherit}
img{max-width:100%}
[id]{scroll-margin-top:1.5rem}
:focus-visible{outline:3px solid var(--signal);outline-offset:3px}
.insert :focus-visible,.fa :focus-visible,.sheet :focus-visible{outline-color:var(--ink)}
.vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:1rem;top:0;transform:translateY(-130%);background:var(--signal);color:var(--ink);font-weight:600;padding:.75rem 1rem;z-index:10;text-decoration:none}
.skip:focus{transform:none}
.wrap{max-width:88rem;margin-inline:auto;padding-inline:var(--gutter)}
.tnum{font-variant-numeric:tabular-nums}
.sq{display:inline-block;width:.5em;height:.5em;background:var(--signal);border-radius:1px;flex:none}

/* Form honeypot, preserved from the live form. Real visitors never see or fill it. */
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}

/* Header: the locked lockup file, sized so the frame is one mark tall; the file's own clear space is trimmed by margin */
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:2.25rem;padding-block:.75rem}
.lockup{display:inline-flex;align-items:center;flex:none;color:var(--bone);text-decoration:none}
.lockup img{display:block;height:calc(var(--mark)*2);width:auto;max-width:none;margin:calc(var(--mark)*-.5) calc(var(--mark)*-.4714) calc(var(--mark)*-.5) calc(var(--mark)*-.5714)}
.lockup .logo-print{display:none}
.nav{display:none}
.nav ul{display:flex;gap:0 1.25rem}
.nav a{display:block;padding-block:.5rem;font-size:.875rem;font-weight:500;text-decoration:none}
.nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.45em}
.nav a:hover,.foot-cols a:hover{text-decoration:underline;text-underline-offset:.3em}
.menu-link{display:block;padding:.25rem 0 .25rem 1rem;font-weight:600;font-size:.9375rem;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.3em}

/* Scenes: flat full-bleed bands, hard cuts */
.scene{background:var(--ink);color:var(--bone)}
.insert{background:var(--bone);color:var(--ink)}
.cut{border-top:1px solid var(--slate)}
.insert+.insert{border-top:1px solid var(--ink)}
.band{padding-block:clamp(4rem,2.5rem + 7vw,10rem)}
.label{font:700 .75rem/1.35 var(--display);letter-spacing:.24em;text-transform:uppercase;color:var(--stone)}
.insert .label,.sheet .label{color:var(--slate)}
.d1,.d2,.dbig,.dh{font-family:var(--display);font-weight:800;text-wrap:balance;overflow-wrap:break-word}
/* Sentence-length lines ride the height cap, the H1 a step above; title cards of five words or fewer do not */
.d1{font-size:clamp(2.25rem,min(.25rem + 8.6vw,1.5rem + 8.5svh),9.25rem);line-height:.96;letter-spacing:-.04em}
.d2{font-size:clamp(2.125rem,min(.25rem + 6.6vw,1.25rem + 8svh),7rem);line-height:.98;letter-spacing:-.04em}
.dbig{font-size:clamp(3rem,.5rem + 10.4vw,10rem);line-height:.92;letter-spacing:-.045em}
.label+.d2,.label+.dbig{margin-top:clamp(1rem,2vw,1.75rem)}
.answer{margin-top:clamp(1.5rem,3vw,3rem);font-size:clamp(1.0625rem,.95rem + .45vw,1.3125rem);line-height:1.6;max-width:50ch}
.answer a{font-weight:600;text-decoration-thickness:1px;text-underline-offset:.3em}
.insert .answer a{color:var(--tide)}
.textlink{display:inline-block;margin-top:2rem;padding-block:.25rem;font-weight:600;font-size:1.0625rem;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.35em}
.textlink:hover{text-decoration-thickness:3px}
.insert .textlink{color:var(--tide)}

/* Interior pages: the same house, H1 always a step above the scene display lines */
.interior .band{padding-block:clamp(3.5rem,2rem + 5vw,7.5rem)}
.interior .d2{font-size:clamp(1.875rem,min(.25rem + 4.4vw,1rem + 5.5svh),5rem);line-height:1;letter-spacing:-.035em}
.dh{font-size:clamp(2.125rem,min(.25rem + 5.6vw,1rem + 7svh),6.5rem);line-height:1;letter-spacing:-.035em;max-width:24ch}
.page-top{padding-block:1rem clamp(3rem,2rem + 5vw,7rem)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:.25rem .5rem;font-size:.875rem;color:var(--stone)}
.crumbs li+li::before{content:"/";margin-right:.5rem}
.crumbs a{color:var(--bone);text-underline-offset:.25em}
.page-top .kicker{display:block;margin-top:clamp(1.75rem,4vw,3rem);margin-bottom:.9rem}
.page-top .crumbs+.dh{margin-top:clamp(1.75rem,4vw,3rem)}
.page-top .lede{margin-top:clamp(1.25rem,2.5vw,2.25rem);font-size:clamp(1.0625rem,1rem + .45vw,1.375rem);line-height:1.5;max-width:52ch}
.page-top .textlink{margin-top:1.5rem}
.body-copy{margin-top:clamp(1.25rem,2.5vw,2.25rem);font-size:clamp(1.0625rem,1rem + .45vw,1.3125rem);line-height:1.6;max-width:52ch}

/* Hero */
.hero{padding-block:1rem clamp(3.5rem,8vw,8rem)}
.hero .label{display:block;margin-bottom:.625rem}
.hero-foot{margin-top:clamp(1rem,3vw,3rem);display:grid;gap:1.5rem}
.lede{font-size:clamp(1rem,.95rem + .4vw,1.25rem);line-height:1.45;max-width:44ch}
.slot,.cta{display:grid;gap:.9rem;justify-items:start;align-content:start}
.slot .btn,.cta .btn{min-width:min(100%,15rem)}
.micro{margin-top:.3rem;font-size:.9375rem;color:var(--stone);max-width:44ch}
.slot .micro,.cta .micro{margin-top:0}
.cta-band{padding-block:clamp(3rem,2rem + 4vw,6rem)}

/* The house form: the one lit object */
.house-form{max-width:44rem}
.talk{display:grid;gap:1.5rem;margin-top:clamp(2rem,4vw,3.5rem)}
.fl{display:block;font-weight:600;margin-bottom:.375rem;color:var(--bone)}
.field{display:block;width:100%;min-width:0;margin:0;background:var(--ink);color:var(--bone);border:2px solid var(--bone);border-radius:2px;font:500 clamp(1.25rem,1rem + .9vw,1.75rem)/1.2 var(--text);padding:.7em .8em;-webkit-appearance:none;appearance:none}
.field::placeholder{color:var(--stone);opacity:1;font-size:.72em;font-weight:400}
.field:focus-visible{outline:3px solid var(--signal);outline-offset:3px}
.field:user-invalid{border:4px solid var(--signal);padding:calc(.7em - 2px) calc(.8em - 2px)}
.field:autofill{box-shadow:inset 0 0 0 100rem var(--ink);-webkit-text-fill-color:var(--bone);caret-color:var(--bone)}
.field:-webkit-autofill{box-shadow:inset 0 0 0 100rem var(--ink);-webkit-text-fill-color:var(--bone);caret-color:var(--bone)}
textarea.field{field-sizing:content;min-height:9rem;resize:vertical;line-height:1.4}
.btn{display:inline-flex;align-items:center;justify-content:center;margin:0;min-height:3.5rem;padding:.9rem 1.5rem;background:var(--signal);color:var(--ink);border:2px solid var(--signal);border-radius:2px;font:800 1.0625rem/1.1 var(--display);text-decoration:none;cursor:pointer}
.btn:hover{background:var(--bone);border-color:var(--bone)}
.talk .btn{justify-self:start}
.hint{margin-top:.6rem;font-size:.9375rem;font-weight:500}
.expect{font-weight:700;font-size:1.0625rem}
.human{color:var(--stone);max-width:56ch}
.reassure{padding-top:1.25rem;border-top:1px solid var(--slate);color:var(--stone);max-width:60ch}
.reassure strong{color:var(--bone)}
.under-form{margin-top:1.5rem;color:var(--stone);font-size:.9375rem}

/* Ruled lists: the three things, plain rows */
.three{margin-top:clamp(2.5rem,5vw,5rem);border-top:1px solid var(--slate)}
.three>div{display:grid;gap:.5rem 3rem;padding-block:1.5rem;border-bottom:1px solid var(--slate)}
.three dt{font:800 clamp(1.375rem,1rem + 1.4vw,2.25rem)/1.1 var(--display);letter-spacing:-.02em}
.three dd{color:var(--stone);font-size:clamp(1rem,.95rem + .25vw,1.1875rem);max-width:52ch}
.rows{margin-top:clamp(2rem,4vw,3.5rem);border-top:2px solid var(--ink);max-width:62rem}
.rows li{padding-block:1.1rem;border-bottom:1px solid var(--ink);font-size:clamp(1.0625rem,1rem + .3vw,1.25rem);max-width:64ch}
.rows b{font-family:var(--display);font-weight:800}
.scene .rows{border-top-color:var(--slate)}
.scene .rows li{border-bottom-color:var(--slate)}

/* Set change: radio cues, sibling combinator, hard cut, sheets straight on the Ink stage */
.set-band{padding-block:clamp(3rem,2rem + 5vw,7rem)}
.set-intro{font-size:clamp(1.0625rem,1rem + .3vw,1.25rem);max-width:52ch}
.set{margin-top:1.5rem;padding:0;border:0;min-width:0}
.set legend{float:left;width:100%;padding:0;margin:0 0 .9rem}
.cue{display:inline-flex;align-items:center;min-height:2.75rem;margin:0 .5rem .5rem 0;padding:.5rem 1.1rem;border:1px solid var(--stone);border-radius:2px;font:700 .9375rem/1.2 var(--display);cursor:pointer}
.cue:hover{border-color:var(--bone)}
.cue-in:checked+.cue{background:var(--bone);border-color:var(--bone);color:var(--ink)}
.cue-in:focus-visible+.cue{outline:3px solid var(--signal);outline-offset:3px}
.sheets{clear:both;padding-top:1.25rem}
.p-sc,.p-cl,#set-sc:checked~.sheets .p-oa,#set-cl:checked~.sheets .p-oa{display:none}
#set-sc:checked~.sheets .p-sc,#set-cl:checked~.sheets .p-cl{display:block}
.plate{max-width:76rem}
.band .plate,.plate-solo{margin-top:clamp(2rem,4vw,3.5rem)}
.card-intro{margin-bottom:1rem;max-width:62ch;font-size:clamp(1rem,.95rem + .3vw,1.1875rem);line-height:1.5}
.plate figcaption{margin-top:1rem;font-weight:600;font-size:.9375rem}

/* Sheets */
.sheet{background:var(--bone);color:var(--ink);padding:clamp(1.25rem,.75rem + 2.5vw,3.5rem)}
.sheet-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding-bottom:.9rem;border-bottom:2px solid var(--ink)}
.ptag{font:800 .8125rem/1 var(--display);letter-spacing:.16em;text-transform:uppercase}
.chip{font:700 .75rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--ink);border-radius:2px;padding:.35rem .55rem}
.stitle{margin-top:1.25rem;font:700 clamp(1.25rem,1rem + 1vw,1.875rem)/1.2 var(--display);letter-spacing:-.015em}
.stitle b{font-weight:800}
.smeta{margin-top:.3rem;color:var(--slate);font-size:.9375rem}
.sgrid{margin-top:clamp(1.5rem,3vw,2.75rem);display:grid;gap:2.5rem}
.k{display:block;font:700 .6875rem/1.3 var(--display);letter-spacing:.18em;text-transform:uppercase;color:var(--slate)}
.blk{margin-top:clamp(1.75rem,3vw,2.5rem);padding-top:1.1rem;border-top:2px solid var(--ink)}
.blk>.k+*{margin-top:.6rem}

/* Score and level meter */
.score{display:flex;align-items:baseline;gap:.4rem}
.score .num{font:800 clamp(4.5rem,3rem + 5vw,8rem)/.85 var(--display);letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.score .of{font:700 clamp(1.25rem,1rem + 1vw,2rem)/1 var(--display);color:var(--slate);font-variant-numeric:tabular-nums}
.meter{margin-top:1.5rem}
.segs{display:flex;gap:3px;height:1.5rem}
.segs i{flex:1 1 0;min-width:0;border:1px solid var(--slate);border-radius:1px}
.segs .on{background:var(--ink);border-color:var(--ink)}
.ticks{position:relative;height:4.2rem}
.ticks span{position:absolute;top:0;display:flex;align-items:flex-end;padding-right:.4rem;border-right:2px solid var(--ink);font:600 .75rem/1.4rem var(--text);white-space:nowrap}
.ticks .t50{right:50%;height:1.4rem}
.ticks .t70{right:30%;height:2.8rem}
.ticks .t85{right:15%;height:4.2rem}
.bandline{margin-top:.9rem;font:700 1.0625rem/1.3 var(--display)}
.verdict{margin-top:1.75rem;font:800 clamp(1.375rem,1rem + 1.3vw,2.125rem)/1.18 var(--display);letter-spacing:-.02em;text-wrap:balance}

/* The bill: billing order, rank in text, fixed size steps by position */
.ask{font:600 clamp(1.0625rem,1rem + .4vw,1.3125rem)/1.45 var(--text);text-wrap:pretty}
.bill{margin-top:1.5rem;border-top:2px solid var(--ink)}
.bill li{display:grid;grid-template-columns:2.75rem minmax(0,1fr);gap:.75rem;align-items:baseline;padding-block:1rem;border-bottom:1px solid var(--sand)}
.b1{--bs:clamp(1.625rem,1.25rem + 1.2vw,2.375rem)}
.b2{--bs:clamp(1.4375rem,1.1rem + .9vw,1.875rem)}
.b3{--bs:clamp(1.3125rem,1rem + .6vw,1.5625rem)}
.bill .here{--bs:1.25rem;background:var(--ink);color:var(--bone);padding-inline:.75rem;border-bottom-color:var(--ink)}
.rank{font:800 calc(var(--bs)*1.1)/1 var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.bn{font:800 var(--bs)/1.1 var(--display);letter-spacing:-.02em;overflow-wrap:break-word}
.bt{margin-top:.4rem}
.bd{margin-top:.25rem;font-size:.9375rem;line-height:1.45}
.here p{font:700 var(--bs)/1.3 var(--display)}
.anchor{margin-top:clamp(1.75rem,3vw,2.75rem);background:var(--ink);color:var(--bone);padding:clamp(1.25rem,1rem + 1.5vw,2.25rem)}
.anchor .not{color:var(--stone)}
.anchor .is{margin-top:.5rem;font:800 clamp(1.25rem,1rem + 1vw,1.875rem)/1.22 var(--display);letter-spacing:-.015em;text-wrap:balance}
.crewline+.lockline{margin-top:1rem}
.lockline{font:800 clamp(1.125rem,1rem + .5vw,1.375rem)/1.3 var(--display);letter-spacing:-.01em;text-wrap:balance}
.srch li{padding-block:.75rem;border-bottom:1px solid var(--sand);max-width:70ch}
.concede{margin-top:1.5rem;max-width:70ch}
.worths>div{padding-block:1rem;border-bottom:1px solid var(--sand)}
.worths .fh{margin-top:0}
.worth{display:inline-block;margin-top:.6rem;background:var(--ink);color:var(--bone);font:700 .8125rem/1 var(--display);letter-spacing:.06em;padding:.45rem .6rem;border-radius:2px}

/* Sound Check sheet */
.scope{margin-top:1.75rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;border-top:2px solid var(--ink)}
.scope li{padding-block:1rem;border-bottom:1px solid var(--sand);font-size:.9375rem;line-height:1.35}
.scope b{display:block;margin-bottom:.3rem;font:800 clamp(2.25rem,1.5rem + 2vw,3.5rem)/1 var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.sev{margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:.5rem}
.sev li{border:1px solid var(--ink);border-radius:2px;padding:.45rem .65rem;font:700 .9375rem/1 var(--display)}
.sev li:first-child{background:var(--ink);color:var(--bone)}
.locked{margin-top:.9rem;font-size:.9375rem;color:var(--slate);max-width:60ch}
.finding+.finding{margin-top:2rem}
.finding{padding-top:1.1rem;border-top:2px solid var(--ink)}
.fh{margin-top:.5rem;font:800 clamp(1.25rem,1rem + .9vw,1.75rem)/1.2 var(--display);letter-spacing:-.015em;text-wrap:balance}
.fb{margin-top:.6rem;max-width:62ch}
.ev{margin-top:.6rem;font-size:.875rem;color:var(--slate)}
.side>div+div,.side>div+p{margin-top:1.75rem}
.side>div{padding-top:1.1rem;border-top:2px solid var(--ink)}
.side div p:not(.k){margin-top:.5rem}
.finds-line{margin-top:1.75rem;padding-top:1rem;border-top:4px solid var(--ink);font:800 clamp(1.375rem,1rem + 1.2vw,2rem)/1.15 var(--display);letter-spacing:-.02em}

/* Search tracks: ten slots, the sample business dark, absence as a dashed empty slot */
.track+.track{margin-top:1.75rem}
.tq{font:800 clamp(1.125rem,1rem + .6vw,1.5rem)/1.25 var(--display);letter-spacing:-.01em}
.trow{margin-top:1rem}
.tl{font-size:.9375rem;line-height:1.45;max-width:62ch}
.slots{margin-top:.5rem;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,2.5rem);gap:4px;justify-content:start}
.slots li{display:grid;place-items:center;height:2.25rem;border:1px solid var(--slate);border-radius:1px;font:700 .75rem/1 var(--display);font-variant-numeric:tabular-nums;color:var(--slate)}
.slots .you{background:var(--ink);border-color:var(--ink);color:var(--bone)}
.slots .named{background:var(--sand)}
.slots .gap{border:2px dashed var(--slate);background:transparent}
.who li{padding-block:.5rem;border-bottom:1px solid var(--sand)}

/* Competitive landscape sheet: static map, text key as the accessible version */
.mh{margin-top:1.75rem;padding-top:1rem;border-top:2px solid var(--ink);font:800 clamp(1.25rem,1rem + .9vw,1.75rem)/1.2 var(--display);letter-spacing:-.015em}
.map-wrap{margin-top:1rem;overflow-x:auto}
.map{display:block;width:100%;min-width:34rem;max-width:50rem;height:auto}
.map text{font-family:var(--text);font-size:12px;font-weight:600;fill:var(--ink)}
.map .qn{font-family:var(--display);font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;fill:var(--slate)}
.map .tag{font-family:var(--display);font-size:9.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.map .ax{font-size:11px;font-weight:600;fill:var(--slate)}
.map .axt{font-size:12px;font-weight:700}
.map-legend{margin-top:1rem;font-size:.9375rem;max-width:72ch}
.key{margin-top:1.25rem;border-top:2px solid var(--ink)}
.key li{padding-block:.85rem;border-bottom:1px solid var(--sand);font-size:.9375rem;line-height:1.5;max-width:80ch}
.key b{font-family:var(--display);font-weight:800;font-size:1.0625rem}
.entries{margin-top:1.25rem;border-top:2px solid var(--ink)}
.entries>li{display:grid;gap:.75rem 3rem;padding-block:1.5rem;border-bottom:1px solid var(--sand)}
.en{font:800 clamp(1.3125rem,1rem + 1vw,1.875rem)/1.15 var(--display);letter-spacing:-.02em}
.el{margin-top:.5rem}
.eflag{display:inline-block;margin-top:.6rem;background:var(--ink);color:var(--bone);font:700 .75rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;padding:.4rem .55rem;border-radius:2px}
.edl>div{padding-block:.5rem;border-bottom:1px solid var(--sand)}
.edl>div:last-child{border-bottom:0}
.edl dt{display:inline;font-weight:700}
.edl dd{display:inline}

/* Ongoing view and program inserts */
.closing-line{margin-top:clamp(2rem,4vw,3.5rem);font:700 clamp(1.25rem,1rem + .9vw,1.875rem)/1.3 var(--display);letter-spacing:-.015em;max-width:40ch;text-wrap:balance}
.insert-cols{display:grid;gap:2rem;margin-top:clamp(1.5rem,3vw,3rem)}
.insert-cols .answer{margin-top:0}
.pull{padding-top:1.5rem;border-top:4px solid var(--ink);font:800 clamp(1.375rem,1rem + 1.3vw,2.125rem)/1.2 var(--display);letter-spacing:-.02em;text-wrap:balance;max-width:26ch}
.scene .pull{border-top-color:var(--bone)}
.pull-gap{margin-top:clamp(2rem,4vw,3.5rem)}
.prose p+p{margin-top:1.1rem}
.beats{margin-top:clamp(2rem,4vw,3rem);display:grid;gap:1.25rem;max-width:60ch;font-size:clamp(1.0625rem,.95rem + .45vw,1.3125rem)}
.beats b{font-family:var(--display);font-weight:800}

/* Sub-questions under a scene */
.subqs{margin-top:clamp(2.5rem,5vw,4rem);border-top:1px solid var(--slate)}
.subqs>div{display:grid;gap:.5rem 3rem;padding-block:1.5rem;border-bottom:1px solid var(--slate)}
.subqs h3{font-size:clamp(1.375rem,1rem + 1.4vw,2.25rem);line-height:1.1;letter-spacing:-.02em;text-wrap:balance}
.subqs p{color:var(--stone);font-size:clamp(1rem,.95rem + .25vw,1.1875rem);max-width:52ch}
.subqs .pullp{color:var(--bone);font:800 clamp(1.125rem,1rem + .6vw,1.5rem)/1.3 var(--display);letter-spacing:-.01em}
.insert .subqs{border-top-color:var(--ink)}
.insert .subqs>div{border-bottom-color:var(--ink)}
.insert .subqs p{color:var(--ink)}

/* Situations */
.cases{margin-top:clamp(2rem,4vw,3.5rem);display:grid;gap:2.5rem 2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr))}
.case{border-top:4px solid var(--ink);padding-top:1.25rem}
.case .chip{display:inline-block}
.case h3{margin-top:1rem;font-size:clamp(1.375rem,1rem + 1.2vw,2rem);line-height:1.15;letter-spacing:-.02em;text-wrap:balance}
.case>p{margin-top:.75rem;max-width:56ch}
.case .k{margin-top:1.25rem}
.case ul{margin-top:.5rem;border-top:1px solid var(--ink)}
.case li{padding-block:.6rem;border-bottom:1px solid var(--sand)}

/* Credits: role first, name second */
.credits{margin-top:clamp(2.5rem,5vw,4.5rem);border-top:2px solid var(--ink)}
.credits li{display:grid;gap:.5rem 3rem;padding-block:1.5rem;border-bottom:1px solid var(--ink)}
.role{font:700 .8125rem/1.35 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--slate)}
.credits h3{margin-top:.35rem;font-size:clamp(1.625rem,1.1rem + 1.8vw,2.75rem);line-height:1.05;letter-spacing:-.03em}
.xp{font-size:clamp(1rem,.95rem + .3vw,1.25rem);max-width:48ch}
.li-link{display:inline-block;margin-top:.4rem;padding-block:.25rem;color:var(--tide);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.3em}
.li-link:hover{text-decoration-thickness:3px}

/* Fact table */
.facts-wrap{margin-top:clamp(1.5rem,3vw,2.5rem);overflow-x:auto}
.facts{width:100%;max-width:62rem;border-collapse:collapse;border-top:2px solid var(--ink);font-size:clamp(.9375rem,.9rem + .2vw,1.0625rem)}
.facts th,.facts td{text-align:left;vertical-align:baseline;padding:.85rem 1rem .85rem 0;border-bottom:1px solid var(--sand)}
.facts th{width:32%;font:700 .75rem/1.5 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--slate)}
.facts a{color:var(--tide);overflow-wrap:anywhere;text-underline-offset:.25em}

/* Running order */
.running{margin-top:clamp(2.5rem,5vw,5rem);border-top:1px solid var(--slate)}
.running li{display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:.5rem 1rem;align-items:baseline;padding-block:1.5rem;border-bottom:1px solid var(--slate)}
.running .n{grid-row:span 2;font:800 clamp(2rem,1.5rem + 2.5vw,5rem)/.9 var(--display);letter-spacing:-.04em;color:var(--stone);font-variant-numeric:tabular-nums}
.running h3{display:flex;align-items:center;gap:.35em;font-size:clamp(1.5rem,1rem + 2.2vw,3.25rem);line-height:1.02;letter-spacing:-.03em;text-wrap:balance}
.running h3 .sq{width:.34em;height:.34em}
.running li>p{color:var(--stone);font-size:clamp(1rem,.95rem + .3vw,1.25rem);max-width:48ch}
.running .start{display:inline-block;margin-top:.75rem;padding:.35rem .5rem;border:1px solid var(--bone);border-radius:2px;color:var(--bone);font:700 .75rem/1 var(--display);letter-spacing:.2em;text-transform:uppercase}
.bring>div{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:.75rem;padding-block:.35rem;font-size:clamp(1rem,.95rem + .3vw,1.1875rem)}
.bring dt{font:700 .75rem/2 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--stone)}
.running .textlink{margin-top:.75rem}

/* In their words: excerpt lit, full quote in body type; scales to two or three quotes */
.quotes{margin-top:clamp(1rem,2vw,1.75rem);display:grid;gap:3rem}
.dq{font:800 clamp(1.75rem,1rem + 2.6vw,3.75rem)/1.05 var(--display);letter-spacing:-.03em;text-wrap:balance}
.label+.d2+.quotes{margin-top:clamp(2rem,4vw,3.5rem)}
.quote blockquote{margin-top:clamp(1.5rem,3vw,2.5rem)}
.quote blockquote p{font-size:1.25rem;line-height:1.55;max-width:60ch}
.quote figcaption{margin-top:1.25rem;display:flex;align-items:center;gap:.75rem;font-weight:600}
.aside-line{margin-top:clamp(2.5rem,5vw,4.5rem);padding-top:1.25rem;border-top:1px solid var(--slate);color:var(--stone);max-width:52ch}

/* Questions */
.qa{margin-top:clamp(1.5rem,3vw,2.5rem);border-top:2px solid var(--ink)}
.qa>div{display:grid;gap:.5rem 3rem;padding-block:1.25rem;border-bottom:1px solid var(--ink)}
.qa dt a{font:700 clamp(1.1875rem,1rem + .8vw,1.75rem)/1.25 var(--display);letter-spacing:-.015em;text-decoration:none;text-wrap:balance}
.qa dt a:hover{color:var(--tide);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.2em}
.qa dd{font-size:clamp(1rem,.95rem + .3vw,1.1875rem);max-width:56ch}

/* FAQ page: group labels, question headings, answers in Bone inserts, never collapsed */
.faq-group{padding-block:clamp(2.5rem,1.5rem + 4vw,5rem)}
.faq-group .label{display:block;margin-bottom:1.5rem}
.faq-item+.faq-item{margin-top:clamp(2rem,3vw,3rem)}
.fq{font-size:clamp(1.5rem,1rem + 1.6vw,2.5rem);line-height:1.12;letter-spacing:-.025em;text-wrap:balance;max-width:32ch}
.fa{margin-top:1rem;background:var(--bone);color:var(--ink);padding:clamp(1.25rem,1rem + 1.5vw,2.25rem);max-width:54rem}
.fa p{font-size:clamp(1.0625rem,1rem + .3vw,1.25rem);line-height:1.6;max-width:62ch}
.fa .textlink{margin-top:1rem;color:var(--tide)}

/* Plain link lists on the receipt and 404 */
.linklist{margin-top:.9rem;border-top:1px solid var(--slate);max-width:40rem}
.linklist li{border-bottom:1px solid var(--slate)}
.linklist a{display:block;padding-block:.85rem;font-weight:600;font-size:1.0625rem;text-underline-offset:.3em}
.stack-label{display:block;margin-top:clamp(2rem,4vw,3rem)}
.page-top>.wrap>.btn{margin-top:clamp(2rem,4vw,3rem)}

/* Footer: house lights up, deliberately quieter than the finale */
.site-foot{padding-block:clamp(3rem,6vw,5rem) 2rem}
.tagline{margin-top:1.5rem;font:800 clamp(1.5rem,1rem + 1.8vw,2.5rem)/1.05 var(--display);letter-spacing:-.03em}
.foot-cols{margin-top:clamp(2rem,4vw,3.5rem);display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr))}
.foot-cols .label{margin-bottom:.6rem}
.foot-cols a{display:inline-block;padding-block:.35rem;font-size:.9375rem;text-decoration:none}
.credline{margin-top:2.5rem;font-size:.9375rem}
.credline a{text-underline-offset:.3em}
.base{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--slate);color:var(--stone);font-size:.875rem}

@media (min-width:48rem){.scope{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:52rem){.nav{display:block}.menu-link{display:none}}
@media (min-width:56rem){
  .three>div,.credits li,.qa>div,.subqs>div{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:baseline;padding-block:2rem}
  .insert-cols{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:5rem;align-items:start}
  .quotes:has(>:nth-child(2)){grid-template-columns:repeat(2,minmax(0,1fr))}
  .quotes:has(>:nth-child(2)) .d2{font-size:clamp(1.5rem,1rem + 1.8vw,2.75rem)}
  .quotes:has(>:nth-child(3))>:first-child{grid-column:1/-1}
}
@media (min-width:60rem){
  .sgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4rem}
  .entries>li{grid-template-columns:minmax(0,4fr) minmax(0,7fr)}
  .running li{grid-template-columns:7rem minmax(0,6fr) minmax(0,5fr);gap:1rem 3rem;padding-block:2.25rem}
  .running .n{grid-row:auto}
}
@media (min-width:64rem){
  .site-head .wrap{padding-block:1.5rem}
  .nav ul{gap:0 2rem}
  .nav a{font-size:.9375rem}
  .hero-foot{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:4rem;align-items:start}
}
@media (max-width:30rem){.d2,.dbig,.dh{letter-spacing:-.03em}.d1{letter-spacing:-.035em}}

/* House lights, rationed: one lit line per scene, never the H1, never body text, never a gold square.
   The lit state is the default render; motion only runs where supported and wanted. */
@keyframes lights-type{from{color:#B5B2AC}to{color:#FAFAF8}}
@keyframes lights-seg{from{background-color:transparent;border-color:#3C4A5E}to{background-color:#0F1A2C;border-color:#0F1A2C}}
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .lit{animation:lights-type steps(4,end) both;animation-timeline:view();animation-range:entry 0% cover 25%}
    .segs .on{animation:lights-seg steps(1,end) both;animation-timeline:view();animation-range:entry 0% cover 5%}
    .segs .on:nth-child(n+4){animation-range-end:cover 10%}
    .segs .on:nth-child(n+6){animation-range-end:cover 15%}
    .segs .on:nth-child(n+9){animation-range-end:cover 20%}
  }
}

@media (forced-colors:active){
  .sheet,.anchor,.fa,.case{border:1px solid CanvasText}
  .bill .here,.sev li:first-child,.eflag,.worth{border:1px solid CanvasText}
  .insert{border-top:1px solid CanvasText}
  .cue-in:checked+.cue{forced-color-adjust:none;background:Highlight;color:HighlightText;border-color:Highlight}
  .segs i,.slots li{border-color:CanvasText}
  .segs .on,.slots .you{forced-color-adjust:none;background:CanvasText;color:Canvas;animation:none}
}

/* The printed program: white paper, Ink type, all three sheets, URLs written out, forms become one line */
@media print{
  @page{size:letter;margin:.6in}
  html,body{background:#FFFFFF}
  *{background:transparent!important;color:#0F1A2C!important;border-color:#0F1A2C!important;box-shadow:none!important;animation:none!important}
  .skip,.nav,.menu-link,.set legend,.cue,.cue-in{display:none!important}
  .lockup .logo-screen{display:none!important}
  .lockup .logo-print{display:block!important}
  .band,.set-band,.site-foot,.faq-group,.cta-band{padding-block:18pt}
  .hero,.page-top{padding-block:0 18pt}
  .d1{font-size:30pt}.dh{font-size:26pt}.dbig{font-size:34pt}.d2{font-size:22pt}
  .sheets .plate{display:block!important;margin-bottom:18pt}
  .sheet{border:1px solid #0F1A2C!important;padding:14pt}
  .plate,.credits li,.running li,.qa>div,.entries>li,.finding,.bill li,.faq-item,.case{break-inside:avoid}
  .map-wrap{overflow:visible}
  .map{min-width:0}
  .house-form>*{display:none!important}
  .house-form::after{content:"Start at roadies.ai.";font:700 14pt/1.3 var(--display)}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;font-weight:400;overflow-wrap:anywhere}
  .sq{background:#C8A24A!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .segs i{border-color:#3C4A5E!important}
  .segs .on{border-color:#0F1A2C!important;border-width:1px 1px calc(1.5rem - 2px)}
  .slots .you{border-width:1px 1px calc(2.25rem - 2px)!important}
  .bill .here,.anchor,.sev li:first-child,.eflag,.worth,.fa{border:1px solid #0F1A2C}
}
