@font-face { font-family:"Big Shoulders Display"; src:url("/fonts/big-shoulders-display-800.woff2") format("woff2"); font-weight:800; font-style:normal; font-display:swap; }
@font-face { font-family:"Big Shoulders Display"; src:url("/fonts/big-shoulders-display-900.woff2") format("woff2"); font-weight:900; font-style:normal; font-display:swap; }
@font-face { font-family:"Instrument Sans"; src:url("/fonts/instrument-sans-400.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"Instrument Sans"; src:url("/fonts/instrument-sans-700.woff2") format("woff2"); font-weight:700; font-style:normal; font-display:swap; }

:root { --desk:#171513; --desk-2:#211e1b; --paper:#f3ead9; --paper-deep:#ded0b7; --ink:#1b1815; --muted:#665d52; --yellow:#ffd43b; --blue:#2f5cf0; --pink:#ff4d8d; --bone:#efe6d6; --rule:#b9ab92; }
* { box-sizing:border-box; }
html { background:var(--desk); color:var(--bone); font-family:"Instrument Sans",sans-serif; }
body { margin:0; min-height:100vh; background:radial-gradient(circle at 18% 0%, #2b2723 0, transparent 34rem), var(--desk); }
a { color:inherit; }
.masthead { min-height:72px; padding:12px max(24px, calc((100vw - 1180px)/2)); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #3a3530; background:#1d1a17; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; font-family:"Big Shoulders Display",sans-serif; font-size:25px; letter-spacing:.01em; }
.brand img { width:44px; height:44px; object-fit:cover; border:2px solid #000; }
.brand b { color:var(--yellow); }
.private-mark { padding:7px 10px; border:1px solid #5a524a; border-radius:4px; color:#b8aea2; font-size:12px; }
main { width:min(1180px, calc(100% - 32px)); margin:auto; padding:56px 0 80px; }
.intro { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr); gap:48px; align-items:end; margin-bottom:44px; }
.kicker,.step { margin:0 0 7px; color:var(--yellow); font-size:13px; font-weight:700; }
h1,h2 { font-family:"Big Shoulders Display",sans-serif; margin:0; line-height:.92; }
h1 { font-size:clamp(58px,9vw,112px); font-weight:900; letter-spacing:-.025em; }
h2 { color:inherit; font-size:38px; font-weight:800; }
p { line-height:1.55; }
.intro-copy { margin:0; max-width:520px; color:#c4bbb0; font-size:17px; }
.paper { color:var(--ink); background:var(--paper); border:2px solid #000; box-shadow:7px 7px 0 #000; }
.gate { padding:30px; display:grid; grid-template-columns:1fr auto; gap:32px; align-items:end; }
.gate p { margin:10px 0 0; color:var(--muted); }
.inline-form { display:flex; gap:10px; align-items:end; }
label { display:grid; gap:7px; font-size:14px; font-weight:700; }
input,select,textarea,button,.button { font:inherit; }
input,select,textarea { width:100%; border:2px solid #000; border-radius:5px; padding:11px 12px; background:#fff; color:#111; }
textarea { resize:vertical; }
button,.button { display:inline-flex; justify-content:center; align-items:center; min-height:44px; padding:10px 16px; border:2px solid #000; border-radius:5px; background:var(--yellow); color:#000; font-weight:800; text-decoration:none; box-shadow:3px 3px 0 #000; cursor:pointer; }
button:active,.button:active { transform:translate(2px,2px); box-shadow:1px 1px 0 #000; }
button:disabled { cursor:not-allowed; opacity:.46; }
.button.secondary { background:#fff; }
.connection-strip { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:20px 22px; margin-bottom:28px; border:1px solid #4a443d; background:var(--desk-2); }
.connection-strip h2 { font-size:30px; }
.connection-strip p { margin:7px 0 0; color:#aaa095; }
.connection-actions { display:flex; gap:10px; }
.release-grid { display:grid; grid-template-columns:minmax(320px,.86fr) minmax(420px,1.14fr); gap:34px; align-items:start; }
.preview-column h2 { margin-bottom:18px; }
.video-drop { position:relative; min-height:610px; overflow:hidden; display:flex; align-items:center; justify-content:center; border:2px solid #000; background:#080808; box-shadow:8px 8px 0 #000; cursor:pointer; }
.video-drop:focus-within { outline:3px solid var(--yellow); outline-offset:3px; }
.video-drop input { position:absolute; inset:0; opacity:0; cursor:pointer; }
.video-drop video { width:100%; max-height:610px; object-fit:contain; }
#video-placeholder { display:grid; gap:8px; padding:30px; color:#fff; text-align:center; }
#video-placeholder b { font-family:"Big Shoulders Display",sans-serif; font-size:32px; }
#video-placeholder small { color:#aaa; font-weight:400; }
.file-meta { padding:12px 4px; color:#aaa; font-size:13px; }
.docket { padding:30px; background-image:repeating-linear-gradient(transparent 0 35px,rgba(27,24,21,.055) 35px 36px); }
.docket h2 { margin-bottom:8px; }
.docket > label,.docket fieldset,.consent { margin-top:22px; }
.account-line { margin:0 0 22px; color:var(--muted); }
label small { color:var(--muted); font-weight:400; text-align:right; }
fieldset { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; padding:16px; border:1px solid var(--rule); }
legend { padding:0 6px; font-weight:700; }
.check { display:flex; gap:8px; align-items:center; font-weight:600; }
.check input,.consent input { width:18px; height:18px; flex:0 0 auto; }
.consent { display:flex; gap:12px; padding:15px; border:2px solid #000; background:#fff; line-height:1.35; }
.publish-button { width:100%; min-height:58px; margin-top:18px; font-size:18px; background:var(--blue); color:#fff; }
.fine-print { color:var(--muted); font-size:12px; }
.publish-status,.notice { margin:16px 0; padding:13px 15px; border:2px solid #000; background:var(--yellow); color:#000; font-weight:700; }
.publish-status[data-kind="done"],.notice[data-kind="done"] { background:#a8c4ff; }
.publish-status[data-kind="error"],.notice[data-kind="error"] { background:var(--pink); }
footer { width:min(1180px,calc(100% - 32px)); margin:auto; padding:28px 0 40px; display:flex; justify-content:space-between; border-top:1px solid #3a3530; color:#948a80; font-size:13px; }
footer nav { display:flex; gap:20px; }
.legal { width:min(760px,calc(100% - 32px)); margin:auto; padding:64px 0 100px; }
.legal .paper { padding:clamp(24px,6vw,58px); }
.legal h1 { color:var(--ink); font-size:clamp(52px,9vw,86px); }
.legal h2 { margin-top:38px; font-size:30px; }
.legal p,.legal li { color:#4f473e; line-height:1.65; }
.legal .effective { color:#766c61; }
:focus-visible { outline:3px solid var(--yellow); outline-offset:3px; }
@media (max-width:800px) { .intro,.release-grid,.gate { grid-template-columns:1fr; } .inline-form { display:grid; } .video-drop { min-height:520px; } .connection-strip,footer { align-items:flex-start; flex-direction:column; } fieldset { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; } }
