@font-face{font-family:'Young Serif';src:url('/assets/fonts/YoungSerif-400.0cd5d5dcb8.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Figtree';src:url('/assets/fonts/Figtree-400.a8c5361721.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Figtree';src:url('/assets/fonts/Figtree-700.fb25ae5a79.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{--display-weight:400;--wordmark-spacing:0;--wordmark-case:none}
:root{color-scheme:light;--bg:#E6DEC8;--surface:#E6DEC8;--text:#1C241D;--muted:#595c50;--accent:#1F4D2B;--accent-2:#C77800;--line:#c6c0ad;--link:#1F4D2B;--on-accent:#ffffff;--font-display:'Young Serif', ui-serif, Georgia, 'Times New Roman', serif;--font-body:'Figtree', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 1.0625rem/1.65 var(--font-body);overflow-wrap:break-word;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
html{background:var(--bg)}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
img,svg{max-width:100%;height:auto}
a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:.08em}
a:hover{text-decoration-thickness:.14em}
:focus-visible{outline:3px solid var(--accent-2);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--surface);color:var(--text);padding:.6rem 1rem;z-index:10}
.skip:focus{left:1rem;top:1rem}
.wrap{width:min(100% - 2.5rem, 48rem);margin-inline:auto}
.wide{width:min(100% - 2.5rem, 68rem);margin-inline:auto}
header.site{position:sticky;top:0;z-index:50;border-bottom:1px solid transparent;background:color-mix(in srgb,#E6DEC8 82%,transparent);-webkit-backdrop-filter:blur(10px) saturate(1.2);backdrop-filter:blur(10px) saturate(1.2);transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .2s}
html:not(.hdr-scrolled) header.site{border-bottom-color:var(--line)}
html.hdr-scrolled header.site{border-bottom-color:color-mix(in srgb,var(--line) 70%,transparent)}
html.hdr-hid header.site{transform:translateY(calc(-100% - 2px))}
header.site .wide{display:flex;align-items:center;gap:.5rem 1.25rem;padding-block:.55rem;min-height:3.25rem}
header.site nav{margin-left:auto}
:target,[id]{scroll-margin-top:4.5rem}
.brand{display:inline-flex;align-items:center;gap:.6rem;color:var(--text);text-decoration:none;font:var(--display-weight,600) 1.35rem/1 var(--font-display);letter-spacing:var(--wordmark-spacing,-.01em);text-transform:var(--wordmark-case,none)}
.brand img{width:2rem;height:2rem}
nav ul{display:flex;gap:1.25rem;list-style:none;margin:0;padding:0}
nav a{color:var(--text);text-decoration:none;font-weight:500;padding:.25rem 0;border-bottom:2px solid transparent}
nav a:hover,nav a[aria-current=page]{border-bottom-color:var(--accent)}
.hero{position:relative;overflow:hidden;isolation:isolate;padding-block:clamp(3rem, 10vw, 7.5rem) clamp(2.5rem, 7vw, 5rem);border-bottom:1px solid var(--line)}
.eyebrow{margin:0 0 1rem;color:var(--muted);font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.hero h1{margin:0;hyphens:manual;font:var(--display-weight,600) clamp(2.4rem, 8vw, 5.2rem)/1.02 var(--font-display);letter-spacing:-.025em;max-width:16ch}
.hero .lede{margin:1.5rem 0 0;font-size:clamp(1.15rem, 2.6vw, 1.45rem);line-height:1.5;color:var(--muted);max-width:34ch}
.hero .lede em{color:var(--text);font-style:normal;box-shadow:inset 0 -.35em 0 color-mix(in srgb, var(--accent-2) 30%, transparent)}
.cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}
.button{display:inline-block;padding:.75rem 1.2rem;border-radius:999px;background:var(--accent);color:var(--on-accent);text-decoration:none;font-weight:600}
.button.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}
.button:hover{filter:brightness(1.08)}
main{display:block;flex:1 0 auto}
main:focus,main h1:focus,main h2:focus{outline:none}
@media (prefers-reduced-motion: no-preference){
main{transition:opacity .12s ease-out}
main.leaving,main.entering{opacity:0}
}
.prose{padding-block:clamp(2.5rem, 6vw, 4.5rem)}
.prose h1{font:var(--display-weight,600) clamp(2rem, 6vw, 3.2rem)/1.1 var(--font-display);letter-spacing:-.02em;margin:0 0 1rem}
.prose h2{font:var(--display-weight,600) clamp(1.45rem, 4vw, 1.9rem)/1.2 var(--font-display);letter-spacing:-.01em;margin:3rem 0 .75rem}
.prose h2::before{content:"";display:block;width:2.5rem;height:3px;background:var(--accent-2);margin-bottom:.9rem;border-radius:2px}
.prose p,.prose li{max-width:65ch}
.prose ul{padding-left:1.2rem}
.prose li{margin:.45rem 0}
.prose li::marker{color:var(--accent)}
.prose .tagline{font-style:italic;color:var(--muted)}
.prose .signoff{margin-top:3rem;font:italic 500 1.3rem/1.4 var(--font-display);color:var(--accent)}
.cards{display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, 19rem), 1fr));gap:1.25rem;padding:0;list-style:none;margin:2rem 0 0}
.card{background:var(--surface);border:1px solid var(--line);border-radius:1rem;padding:1.5rem}
.card h2{margin:0 0 .5rem;font:var(--display-weight,600) 1.5rem/1.2 var(--font-display)}
.card h2::before{display:none}
.card p{margin:.5rem 0 0}
.badge{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .6rem;border-radius:999px;border:1px solid var(--accent);color:var(--link)}
footer.site{border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}
footer.site .wide{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-block:2rem}
footer.site p{margin:0}
@media (prefers-reduced-motion: no-preference){
html{scroll-behavior:smooth}
a,.button,nav a{transition:border-color .2s, filter .2s, text-decoration-thickness .2s}
}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
@media print{header.site nav,.cta,footer.site{display:none}body{background:#fff;color:#000}}
.hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.hero .wrap>*{position:relative}
.hero .lede{text-shadow:0 0 18px var(--bg)}
.sound-toggle,.sound-fab{display:inline-flex;align-items:center;gap:.4rem;font:500 .85rem/1 var(--font-body);color:var(--text);background:transparent;border:1px solid var(--line);border-radius:999px;padding:.45rem .75rem;cursor:pointer;min-height:2.25rem}
.sound-toggle:not(.ready){visibility:hidden}
.sound-toggle[aria-pressed=true],.sound-fab[aria-pressed=true]{border-color:var(--accent);color:var(--link)}
.spk{width:1.375rem;height:1.125rem;fill:currentColor;flex:none}
.spk .x{fill:#b3452f}
[aria-pressed=true]>.spk .x,[aria-pressed=false]>.spk .w{display:none}
[aria-pressed=true]>.spk .w{fill:var(--accent-2)}
.sound-fab{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,calc(env(safe-area-inset-bottom) + .75rem));z-index:55;width:3rem;height:3rem;padding:0;justify-content:center;background:color-mix(in srgb,#E6DEC8 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 16px rgba(28,36,29,.18);opacity:0;visibility:hidden;transform:translateY(.5rem) scale(.9);transition:opacity .25s,transform .25s,visibility 0s .25s}
.sound-fab .spk{width:1.65rem;height:1.35rem;image-rendering:pixelated}
.sound-fab .lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
html.hdr-hid:not(.cine-on) .sound-fab{opacity:1;visibility:visible;transform:none;transition:opacity .25s,transform .25s}
.listen-foot{flex-basis:100%}
.listen-along{font:500 .8rem/1.2 var(--font-body);color:var(--muted,var(--text));text-decoration:none;border-bottom:1px dotted var(--line);padding:.2rem 0}
.listen-along::before{content:"\25B6\FE0E";font-size:.65em;margin-right:.4rem;color:var(--accent-2);vertical-align:.1em}
.listen-along:hover,.listen-along:focus-visible{color:var(--link);border-bottom-color:var(--accent)}
.data{margin-top:3rem;padding:1.5rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface)}
.data h2{margin-top:0}
.data h2::before{display:none}
@media (max-width:899px){.listen-along.in-head{display:none}}
@media (min-width:900px){.listen-foot{display:none}}
@media (max-width:560px){header.site .wide{gap:.5rem .9rem}.brand{font-size:1.15rem}.brand img{width:1.6rem;height:1.6rem}nav ul{gap:.9rem}.sound-toggle .lbl{display:none}.sound-toggle{padding:.45rem .6rem}}
@media (max-width:440px){.brand span{display:none}}
@media (max-width:340px){nav ul{gap:.6rem}nav a{font-size:.95rem}}
.hero .prompt{margin:1.25rem 0 0;font:500 .95rem/1.4 ui-monospace,'JetBrains Mono',Menlo,monospace;color:var(--link)}
.hero .prompt:empty{display:none}
.film{padding-top:clamp(2rem,5vw,3.5rem)}
.film figure{margin:0}
.film video{display:block;width:100%;height:auto;aspect-ratio:16/9;border-radius:1rem;border:1px solid var(--line);background:var(--surface);object-fit:cover}
.film figcaption{margin-top:.6rem;color:var(--muted);font-size:.85rem}
.feature{padding-top:clamp(2.5rem,6vw,4.5rem)}
.feature h2{margin:0 0 1rem;font:var(--display-weight,600) clamp(1.6rem,4.5vw,2.4rem)/1.1 var(--font-display);letter-spacing:-.015em}
.feature h2 span{display:block;margin-bottom:.4rem;color:var(--muted);font:600 .8rem/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase}
.feature figure{margin:0}
.feature video{display:block;width:100%;height:auto;aspect-ratio:16/9;border-radius:1rem;border:1px solid var(--line);background:#000;object-fit:contain}
.feature figcaption{margin-top:.6rem;color:var(--muted);font-size:.85rem}
@media (orientation:portrait) and (max-width:700px){.feature video{aspect-ratio:9/16;width:min(100%, calc(78svh * 9 / 16));margin-inline:auto}}
.lot-on{position:relative;overflow:hidden;height:clamp(25rem,46vw,34rem);border-radius:1rem;background:#0b0e22;border:1px solid var(--line)}
.lot-on .lot-art{position:absolute;left:0;top:0;image-rendering:pixelated;image-rendering:crisp-edges}
.lot-on .screen{position:absolute;overflow:hidden;background:#1d2a44;z-index:2}
.lot-on .screen video{display:block;width:100%;height:100%;aspect-ratio:auto;border:0;border-radius:0;object-fit:cover;background:#000}
.lot-on .screen.lifted{position:fixed;z-index:60}
.lot-on .screen.flying video{object-fit:contain}
.drivein-screen{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;background:transparent;cursor:pointer;display:grid;place-items:center}
.drivein-screen svg{width:calc(var(--px,4px)*9);height:calc(var(--px,4px)*9);image-rendering:pixelated;transition:transform .25s,opacity .25s}
.drivein-screen:hover svg{transform:scale(1.12)}
.drivein-screen:focus-visible{outline:3px solid #ffd66b;outline-offset:-3px}
.screen.playing .drivein-screen svg,.screen.flying .drivein-screen svg{opacity:0}
.screen.flying .drivein-screen{cursor:zoom-out}
.reel{position:absolute;left:0;bottom:0;height:3px;width:0;background:#ffd66b;opacity:0;transition:opacity .4s;pointer-events:none}
.screen.flying .reel{opacity:.85}
.cine-hint{position:absolute;left:50%;top:1.2rem;transform:translateX(-50%);padding:.35rem .8rem;border-radius:999px;background:rgba(10,12,30,.6);color:#f4ecd4;font:500 .85rem/1.2 var(--font-body);opacity:0;transition:opacity .5s;pointer-events:none;white-space:nowrap}
.cine-hint.on{opacity:1}
.cine-shade{position:fixed;inset:0;z-index:59;background:#05060c;opacity:0;pointer-events:none;transition:opacity .6s}
.cine-shade.on{opacity:1}
html.cine-on,html.cine-on body{overflow:hidden}
@media (prefers-reduced-motion: no-preference){
.lot-on .screen.flying{transition:left .6s cubic-bezier(.2,.8,.2,1),top .6s cubic-bezier(.2,.8,.2,1),width .6s cubic-bezier(.2,.8,.2,1),height .6s cubic-bezier(.2,.8,.2,1)}
}
.wisp{position:fixed;left:0;top:0;width:45px;height:45px;z-index:70;pointer-events:none;image-rendering:pixelated;image-rendering:crisp-edges;opacity:0;transition:opacity .6s;filter:drop-shadow(0 0 6px rgba(232,255,122,.55))}
.wisp.on{opacity:1}
.whisper{position:fixed;left:0;top:0;z-index:70;margin:0;pointer-events:none;padding:.4rem .75rem;max-width:min(17rem,calc(100vw - 1rem));border-radius:.9rem;background:color-mix(in srgb,var(--bg) 88%,transparent);border:1px solid var(--line);box-shadow:0 6px 24px rgba(0,0,0,.12);color:var(--text);font:italic 500 .95rem/1.3 var(--font-display);opacity:0;transition:opacity .45s}
.whisper.on{opacity:1}
.whisper.hush{opacity:0}
.whisper.big{max-width:min(19rem,calc(100vw - 5rem));padding:.55rem .9rem;font-size:1.08rem}
.tour-replay{margin-left:1rem;padding:.1rem 0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;text-decoration:underline dotted;text-underline-offset:.2em}
.tour-replay::before{content:"";display:inline-block;width:3px;height:3px;margin:0 .7rem .25rem .1rem;vertical-align:middle;background:#9bbd2a;box-shadow:3px 0 #9bbd2a,0 3px #c6e04a,3px 3px #c6e04a,-3px -3px #c6c0ad,6px -3px #c6c0ad,0 0 8px 2px rgba(199,224,74,.6)}
.tour-replay:hover{color:var(--link)}
@media print{.tour-replay,.wisp,.whisper{display:none}}
.film-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 .75rem}
.film-tab{display:inline-flex;align-items:baseline;gap:.45rem;padding:.5rem .95rem;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--text);font:600 .95rem/1.2 var(--font-body);text-decoration:none;cursor:pointer}
.film-tab small{font-weight:400;color:var(--muted);font-size:.8rem}
.film-tab[aria-pressed=true],.film-tab[aria-current=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.film-tab[aria-pressed=true] small,.film-tab[aria-current=true] small{color:color-mix(in srgb,var(--on-accent) 75%,transparent)}
.film-tab:hover{border-color:var(--accent)}
@media (max-width:440px){.film-tabs{gap:.4rem;flex-wrap:nowrap}.film-tab{padding:.45rem .7rem;font-size:.88rem;white-space:nowrap}.film-tab small{font-size:.74rem}}
.cine-tabs{display:none;position:absolute;left:50%;bottom:max(1.1rem,env(safe-area-inset-bottom));transform:translateX(-50%);margin:0;padding:.3rem;gap:.3rem;flex-wrap:nowrap;border-radius:999px;background:rgba(10,12,30,.62);opacity:0;transition:opacity .4s;z-index:3}
.screen.flying .cine-tabs{display:flex}
.screen.flying:hover .cine-tabs,.screen.flying:focus-within .cine-tabs,.screen.flying:not(.playing) .cine-tabs,.cine-tabs:hover{opacity:1}
.cine-tabs .film-tab{border-color:transparent;color:#f4ecd4;padding:.4rem .8rem;font-size:.85rem;white-space:nowrap}
.cine-tabs .film-tab small{color:rgba(244,236,212,.7)}
.cine-tabs .film-tab[aria-pressed=true]{background:#ffd66b;color:#1b1a2e}
.cine-tabs .film-tab[aria-pressed=true] small{color:#4a3d2a}
.lot-on .lot-art{touch-action:manipulation;cursor:pointer}
.sound-ask{position:fixed;z-index:72;left:max(.75rem,env(safe-area-inset-left));bottom:max(.9rem,calc(env(safe-area-inset-bottom) + .6rem));display:grid;grid-template-columns:auto auto;align-items:end;gap:0 .35rem;pointer-events:none;opacity:0;transform:translateY(1.5rem) scale(.9);transform-origin:20% 100%;transition:opacity .35s,transform .45s cubic-bezier(.3,1.6,.5,1)}
.sound-ask.in{opacity:1;transform:none}
.sound-ask.out{opacity:0;transform:translateY(1rem) scale(.9);transition:opacity .35s,transform .35s}
.ask-art{grid-column:1;grid-row:2;width:88px;height:52px;image-rendering:pixelated;image-rendering:crisp-edges;pointer-events:auto;cursor:pointer;filter:drop-shadow(0 3px 0 rgba(28,36,29,.18))}
.ask-bubble{grid-column:1/3;grid-row:1;position:relative;margin:0 0 .6rem .3rem;padding:.55rem .85rem .5rem;border-radius:1rem;background:#fffaf0;border:2px solid #1C241D;box-shadow:3px 3px 0 #1C241D;color:#1C241D;font:italic 500 1.02rem/1.25 var(--font-display);max-width:min(16rem,calc(100vw - 2rem));padding-right:1.6rem;pointer-events:auto}
.ask-bubble::after{content:"";position:absolute;left:1.6rem;bottom:-.55rem;width:.8rem;height:.8rem;background:#fffaf0;border:solid #1C241D;border-width:0 2px 2px 0;transform:rotate(45deg)}
.ask-bubble small{display:block;margin-top:.15rem;font:500 .75rem/1.2 var(--font-body);color:#595c50;font-style:normal;letter-spacing:.02em}
.ask-spk{display:inline-block}
.ask-x{position:absolute;right:-.5rem;top:-.55rem;width:1.9rem;height:1.9rem;border-radius:50%;border:2px solid #1C241D;background:#E6DEC8;color:#1C241D;font:700 1.05rem/1 var(--font-body);cursor:pointer;pointer-events:auto;display:grid;place-items:center;padding:0}
.ask-x:hover{background:#fff}
.ask-notes{position:absolute;left:4.5rem;bottom:2.4rem;pointer-events:none}
.ask-notes i{position:absolute;font-style:normal;font-size:1.2rem;color:var(--accent-2);opacity:0;animation:note 1.2s ease-out var(--d,0ms) forwards}
@keyframes note{0%{opacity:0;transform:translate(0,0) scale(.6)}20%{opacity:1}100%{opacity:0;transform:translate(var(--dx,40px),-110px) rotate(20deg) scale(1.2)}}
@media (prefers-reduced-motion: no-preference){
.sound-ask.in .ask-art{animation:bob 1.8s ease-in-out infinite}
.sound-ask.in .ask-spk{animation:bob 1s ease-in-out infinite}
.sound-ask.yay .ask-art{animation:flip .7s cubic-bezier(.3,1.4,.5,1) 1}
@keyframes bob{50%{transform:translateY(-3px)}}
@keyframes flip{0%{transform:none}45%{transform:translateY(-26px) rotate(-180deg)}100%{transform:rotate(-360deg)}}
}
@media print{.sound-ask,.sound-fab{display:none}header.site{position:static}}
