@font-face{font-family:"Frank Ruhl Libre";src:url(/assets/fonts/FrankRuhlLibre-var-latin.woff2) format("woff2");font-weight:300 900;font-display:swap}
@font-face{font-family:Heebo;src:url(/assets/fonts/Heebo-var-latin.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--black:#0A0A0A;--ink:#262626;--sand:#F2F2F2;--g1:#C6C6C6;--g2:#8A8A8A;--g3:#474747;--saf:#FFFFFF;--danger:#D4D4D4;
--s1:.25rem;--s2:.5rem;--s3:1rem;--s4:1.5rem;--s5:2.5rem;--s6:4rem;--s7:6rem;--gap:clamp(1.5rem,4vw,3.5rem)}
*{box-sizing:border-box}html{background:var(--black);color:var(--sand)}
body{margin:0;font:400 1.0625rem/1.6 Heebo,system-ui,sans-serif}
a{color:var(--sand)}
:focus-visible{outline:3px solid var(--saf);outline-offset:3px;box-shadow:0 0 0 9px #0A0A0A}
.vh{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
header{display:flex;align-items:center;justify-content:space-between;padding-block:var(--s3);padding-inline:var(--s4);border-block-end:1px solid var(--g3);position:relative}
.logo{font:500 1.375rem/1 "Frank Ruhl Libre",serif;text-decoration:none}
.navbtn{font:500 1rem Heebo;color:var(--sand);background:none;border:1px solid var(--g2);border-radius:999px;min-block-size:44px;padding-inline:var(--s4)}
nav ul{list-style:none;margin:0;padding:0}
nav a{display:block;padding-block:.75rem;text-decoration:none;font-size:1.0625rem}
nav a[aria-current]{text-decoration:underline;text-underline-offset:.3em;text-decoration-thickness:2px}
#menu{display:none;position:absolute;inset-inline:0;inset-block-start:100%;background:var(--black);border-block-end:1px solid var(--g3);padding:var(--s3) var(--s4);z-index:5}
.navbtn[aria-expanded=true]+#menu{display:block}
#menu li+li{border-block-start:1px solid var(--g3)}
.proposal{font-size:.8125rem;color:var(--g1)}
@media(min-width:64rem){.navbtn{display:none}#menu{display:block;position:static;border:0;padding:0;background:none}#menu ul{display:flex;gap:var(--s4)}#menu li+li{border:0}nav a{font-size:.9375rem;padding-block:.5rem}}
/* HERO */
.hero{display:grid;grid-template-columns:1fr;min-block-size:calc(100svh - 77px)}
.ph{position:relative;background:#6B6B6B;aspect-ratio:2/1;display:grid;place-items:center;overflow:hidden}



.field{background:var(--black);padding:var(--s4) var(--s4) var(--s5);display:flex;flex-direction:column;justify-content:center}
h1{font:400 clamp(2.125rem,1.3rem + 3.6vw,4.5rem)/1.08 "Frank Ruhl Libre",serif;margin:0;max-inline-size:12ch;letter-spacing:-.01em}
h1 span{display:block}h1 .b{margin-block-start:var(--gap);color:var(--g1)}
.lede{margin-block:var(--s5) 0;max-inline-size:34ch;color:var(--g1);font-size:1.125rem}
.ctas{display:flex;flex-wrap:wrap;gap:var(--s3);margin-block-start:var(--s5)}
.btn{display:inline-flex;align-items:center;min-block-size:48px;padding-inline:1.5rem;border-radius:999px;font:600 1rem/1 Heebo;text-decoration:none;border:2px solid var(--sand);transition:none}
.btn-p{background:var(--sand);color:var(--black)}
.btn-p:hover{background:#FFFFFF;border-color:#FFFFFF}
.btn-p:active{background:var(--g1);border-color:var(--g1)}
.btn-s{background:transparent;color:var(--sand)}
.btn-s:hover{background:var(--ink)}
.btn-s:active{background:var(--g3)}
.btn:focus-visible{outline:3px solid var(--saf);outline-offset:3px;box-shadow:0 0 0 9px #0A0A0A}
.btn-d{background:transparent;color:var(--danger);border-color:var(--danger)}
.btn-d:hover{background:#2E2E2E}.btn[disabled]{opacity:1;color:var(--g2);border-color:var(--g3);background:transparent;cursor:not-allowed}
.enso{inline-size:40px;block-size:40px;margin-block-end:var(--s3)}@media(min-width:64rem){.enso{inline-size:40px;block-size:40px;margin-block-end:var(--s3)}@media(min-width:64rem){.enso{inline-size:56px;block-size:56px;margin-block-end:var(--s4)}}}
@media(min-width:48rem){.field{padding:var(--s6) var(--s5)}.ph{aspect-ratio:16/9}}
@media(min-width:64rem){.hero{grid-template-columns:1fr 1fr;block-size:calc(100vh - 77px);min-block-size:640px}
 .ph{aspect-ratio:auto;order:2}.field{order:1;padding-inline:clamp(3rem,7vw,7rem)}}
/* content */
main.c{max-inline-size:44rem;margin-inline:auto;padding:var(--s6) var(--s4)}
main.c h1{font-size:clamp(2.125rem,1.6rem + 2.4vw,3.5rem);max-inline-size:none}
h2{font:400 1.75rem/1.2 "Frank Ruhl Libre",serif;margin-block:var(--s6) var(--s3)}
p{max-inline-size:62ch}.muted{color:var(--g1)}
.tag{display:inline-flex;align-items:center;gap:.4em;font:700 .75rem/1 Heebo;letter-spacing:.08em;text-transform:uppercase;color:var(--black);background:var(--g1);border-radius:4px;padding:.3rem .5rem;vertical-align:middle}
.tag::before{content:"";inline-size:.5rem;block-size:.5rem;border:2px solid currentColor;border-radius:50%}
.card{border:1px solid var(--g3);border-radius:12px;padding:var(--s4);margin-block:var(--s4)}
label{display:block;font-weight:600;margin-block:var(--s4) var(--s2)}
textarea,input{inline-size:100%;font:1rem Heebo;color:var(--sand);background:var(--ink);border:1px solid var(--g2);border-radius:8px;padding:.75rem}
textarea:disabled,input:disabled{color:var(--g1);background:#1A1A1A;border-style:dashed}
.he{font-family:Heebo;unicode-bidi:isolate}
.row{display:flex;gap:var(--s3);flex-wrap:wrap;margin-block-start:var(--s4)}
.confirm{border:2px solid var(--danger);border-radius:12px;padding:var(--s4);margin-block-start:var(--s4)}
footer{border-block-start:1px solid var(--g3);padding:var(--s5) var(--s4);color:var(--g1);font-size:.9375rem}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* v16-brief ext */
@media(max-width:47.99rem){.ph{aspect-ratio:3/1}.field{padding-block:1rem 1.5rem}.enso{inline-size:32px;block-size:32px;margin-block-end:.5rem}h1 .b{margin-block-start:1.25rem}.lede{margin-block-start:1rem;font-size:1.0625rem}.ctas{margin-block-start:1.25rem;gap:.75rem}}
.sec+.sec{border-block-start:1px solid var(--g3)}
details{border-block-end:1px solid var(--g3)}details:first-of-type{border-block-start:1px solid var(--g3)}
summary{cursor:pointer;min-block-size:48px;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-weight:600;padding-block:.75rem;list-style:none}
summary::-webkit-details-marker{display:none}summary::after{content:"+";font-size:1.5rem;line-height:1}details[open] summary::after{content:"–"}
summary:focus-visible{outline:3px solid var(--saf);outline-offset:2px}
.banner{position:sticky;inset-block-start:0;z-index:9;background:var(--sand);color:var(--black);font-weight:700;text-align:center;padding:.625rem 1rem}
.blk{block-size:48px;border-radius:8px;background:var(--g3);margin-block:.5rem 1rem}
.blk.s{inline-size:45%;display:inline-block;margin-inline-end:4%}
.price{font:400 2rem/1.2 "Frank Ruhl Libre",serif;border:2px dashed var(--g2);border-radius:12px;padding:1rem 1.5rem;display:inline-block}
ul.ck{padding-inline-start:1.2rem}ul.ck li{margin-block:.4rem}
.ring{inline-size:160px;block-size:160px}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(2.75rem,1fr));gap:.5rem;max-inline-size:30rem}
.steps li{aspect-ratio:1;border:1px solid var(--g2);border-radius:50%;display:grid;place-items:center;font-size:.8125rem;color:var(--g1)}
.steps li.d{background:var(--g1);color:var(--black);border-color:var(--g1)}
.entries{list-style:none;padding:0}.entries li{border-block-end:1px solid var(--g3);padding-block:.75rem}
.vframe{aspect-ratio:16/9;background:#1A1A1A;border:2px dashed var(--g2);border-radius:12px;display:grid;place-items:center;text-align:center;padding:1rem;color:var(--g1)}
.play{inline-size:64px;block-size:64px;border-radius:50%;border:2px solid var(--sand);background:var(--black);color:var(--sand);font-size:1.25rem}
.cap{background:var(--black);border:1px solid var(--g2);border-radius:8px;padding:.75rem 1rem;margin-block-start:.5rem;font-size:1rem}
@media(min-width:64rem){.two{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}main.c.w{max-inline-size:64rem}}
.pnav{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1.25rem;padding:.5rem 1.5rem;border-block-end:1px solid var(--g3);background:var(--ink);font-size:.9375rem}
.pnav ul{display:flex;flex-wrap:wrap;gap:0 1rem;list-style:none;margin:0;padding:0}.pnav a{display:inline-block;padding-block:.6rem}
.pnav a[aria-current]{text-decoration-thickness:2px;text-underline-offset:.3em}.pnav li a:not([aria-current]){text-decoration:none}
.fl{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;list-style:none;padding:0;margin:0 0 .5rem}.fl a{display:inline-block;padding-block:.6rem}
/* builder additions */
.ph img{position:absolute;inset:0;inline-size:100%;block-size:100%;object-fit:cover;z-index:1}
.stg{display:inline-block;margin:var(--s3) 0 0;background:var(--sand);color:var(--black);font:700 .875rem/1.3 Heebo;padding:.3rem .6rem;border-radius:4px}
.skip:focus{position:static;inline-size:auto;block-size:auto;clip:auto;display:inline-block;padding:.5rem 1rem;background:var(--sand);color:var(--black)}
blockquote.q{margin:var(--s4) 0;padding-inline-start:var(--s4);border-inline-start:2px solid var(--g2);font:400 1.375rem/1.4 "Frank Ruhl Libre",serif}
.h2c{margin-block-start:0}.small{font-size:.875rem}.m0{margin:0}
.err{color:var(--danger);margin:.25rem 0 0;font-size:.9375rem;min-block-size:1em}
select{inline-size:100%;font:1rem Heebo;color:var(--sand);background:var(--ink);border:1px solid var(--g2);border-radius:8px;padding:.75rem;min-block-size:48px}
.vl{padding-inline-start:1.2rem}.vl li{margin-block:.3rem}
.bf .fl a{color:var(--sand)}
.c{max-inline-size:44rem;margin-inline:auto;padding:0 1.5rem 4rem}
/* v16-brief: approved :disabled styles (design/v16-brief-spec.md "CTAs", 5.37:1 G2 on Black; qa/v16-brief-disabled-contrast.py) */
.btn:disabled{opacity:1;color:#8A8A8A;border-color:#474747;background:transparent;cursor:not-allowed}.play:disabled{color:#8A8A8A;border-color:#474747;cursor:not-allowed}input:disabled,textarea:disabled,select:disabled{color:#8A8A8A;border-color:#474747;background:transparent;opacity:1;-webkit-text-fill-color:#8A8A8A;cursor:not-allowed}fieldset{border:0;padding:0;margin:0;min-inline-size:0}
.jr-hint{margin:0}

/* v16-brief 23:10: editorial-placeholder tag (Black on G1 10.91:1) + spec 768 band 21:9 */
.tag-ed{margin-inline-start:.5rem}.tag-ed::before{display:none}
@media(min-width:48rem) and (max-width:63.99rem){.ph{aspect-ratio:21/9}}
/* hero spec 9a58321b: photo A monochrome (baked files, no CSS filter, no scrim); placeholder label + silhouette removed */
.photo{background:var(--black);display:block}
.photo img{object-fit:cover;object-position:50% 40%}
@media(max-width:47.99rem){.ph{aspect-ratio:12/5}}
@media(min-width:64rem){.photo img{object-position:50% 35%;inset:50% auto auto 0;transform:translateY(-50%);block-size:auto;aspect-ratio:720/823;max-block-size:100%}}
/* rc3 01:40: final spec c26159db "Hero 1024–1359 crop (now: hero photo at ≥64rem, every width)"; overrides the line above at >=64rem */
@media(min-width:64rem){.photo{container-type:size;background:var(--black)}.photo img{inset:auto 0 0 0;margin-inline:auto;transform:none;inline-size:min(100cqi,120cqb);block-size:min(100cqb,155cqi);max-block-size:none;aspect-ratio:auto;object-fit:cover;object-position:50% 42%;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 10%),linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to bottom,transparent,#000 10%),linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);mask-composite:intersect}}
/* rc item 1: kept pages (philosophy, legal, 404) on the brief template */
.kept .lead{font-size:1.25rem}.kept .pull{font:500 1.5rem/1.35 "Frank Ruhl Libre",serif;border-inline-start:3px solid var(--sand);padding-inline-start:var(--s3);margin-block:var(--s5)}.kept .litany{font-style:italic}.kept .sources{margin-block-start:var(--s5);border-block-start:1px solid var(--g3);padding-block-start:var(--s3)}.kept .sources h2{font-size:1.125rem}.kept .btn{margin:var(--s2) var(--s2) 0 0}
/*rc7*/
@media(max-width:47.99rem){.ph.photo{aspect-ratio:8/5}.photo img{object-position:50% 50%}}
body{min-block-size:100vh;min-block-size:100dvh;display:flex;flex-direction:column}body>*{flex-shrink:0;box-sizing:border-box;inline-size:100%}body>main{flex-grow:1}
@media(max-width:47.99rem){.hero-what{min-block-size:0}}
@media(min-width:48rem) and (max-width:79.99rem){.field{padding-block:var(--s5)}h1 .b{margin-block-start:var(--s4)}.lede,.ctas{margin-block-start:var(--s4)}}

/* rc8 (QA 7) D6: band768 v2, 48-63.99rem only, photo-A picture (.b768): whole head + 12% headroom, contained in the 21:9 band, sides fade to Black */
@media(min-width:48rem) and (max-width:63.99rem){.photo.b768 img{inset:0 auto 0 50%;transform:translateX(-50%);inline-size:auto;max-inline-size:100%;block-size:100%;aspect-ratio:672/443;object-fit:cover;object-position:50% 50%;-webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent)}}
/* rc8 (QA 7) D7: monochrome select in WebKit; arrow fill G1 #C6C6C6 (8.86:1 on Ink #262626, 11.59:1 on Black when disabled/transparent) */
select{-webkit-appearance:none;appearance:none;background-color:var(--ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M0 0h12L6 8z' fill='%23C6C6C6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875rem center;background-size:12px 8px;padding-inline-end:2.5rem}select:disabled{background-color:transparent}select:focus-visible{outline:3px solid var(--saf);outline-offset:3px;box-shadow:0 0 0 9px #0A0A0A}
/* rc8 r2: select box height = rc7 rendered height (Chromium 52px, WebKit 60px); disabled select keeps the D7 #C6C6C6 arrow */
select{block-size:52px}@supports(hanging-punctuation:first){select{block-size:60px}}select:disabled{background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M0 0h12L6 8z' fill='%23C6C6C6'/%3E%3C/svg%3E") no-repeat right .875rem center/12px 8px}
