:root{--black:#080808;--surface:#151515;--white:#f5f3ef;--gray:#b0b0b0;--gold:#c6a76b;--border:#303030;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--black);color:var(--white);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--gold);outline-offset:7px}a:hover{color:var(--gold)}.wrap{width:min(1320px,88%);margin-inline:auto}.header{display:flex;justify-content:space-between;align-items:center;padding-block:30px;border-bottom:1px solid var(--border)}.brand{font-size:19px;font-weight:800;letter-spacing:3px;line-height:1.25}.brand span{display:block;font-size:12px;letter-spacing:3.05px;font-weight:400;margin-top:4px;color:var(--gray)}nav{display:flex;gap:36px;font-size:14px}nav a:last-child{color:var(--white)}nav span{margin-left:14px}.hero{display:grid;grid-template-columns:1.14fr 1fr;gap:0 52px;padding-top:64px}.hero-copy{align-self:center;position:relative;z-index:1}.eyebrow{font-size:12px;letter-spacing:2.5px;color:var(--gold);font-weight:600;margin:0 0 28px}h1{font-size:clamp(64px,7.1vw,108px);line-height:1.02;letter-spacing:-5px;margin:0 0 28px;font-weight:800}h1 span{color:var(--gold)}.intro{max-width:410px;color:var(--gray);font-size:18px;line-height:1.75;margin:0 0 34px}.button{display:inline-flex;gap:45px;align-items:center;background:var(--gold);color:var(--black);padding:15px 24px;font-size:14px;font-weight:700}.button:hover{background:var(--white);color:var(--black)}.hero-art{margin:0;position:relative;height:570px;background:#111;overflow:hidden}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-art:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(8,8,8,.85));pointer-events:none}.hero-art figcaption{position:absolute;z-index:1;bottom:25px;left:26px;right:26px;display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:1.6px;color:#d5c7b0}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-bottom:1px solid var(--border);padding:40px 0 27px;font-size:12px;letter-spacing:2px;color:var(--gray)}.hero-bottom a span{margin-left:24px}.section{padding-block:85px;border-bottom:1px solid var(--border)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:38px}.section-head .eyebrow,.about .eyebrow{margin-bottom:16px}h2{font-size:clamp(32px,3.3vw,48px);letter-spacing:-1.6px;line-height:1.15;margin:0;font-weight:700}.section-head>p{font-size:14px;color:var(--gray);margin:0}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.project-top{display:flex;justify-content:space-between;gap:10px;font-size:12px;letter-spacing:1.3px;margin-bottom:14px;color:var(--gray)}.status{color:var(--gold);font-size:12px;letter-spacing:1px}.cover{height:350px;border:1px solid var(--border);padding:28px;display:flex;flex-direction:column;justify-content:center;position:relative;background:var(--surface);overflow:hidden}.cover-kicker{font-size:12px;letter-spacing:1.8px;position:absolute;top:26px;left:28px;right:22px;color:var(--gray)}.cover h3{margin:20px 0 0;line-height:1.06;font-size:43px;letter-spacing:-1px}.cover p{font-size:12px;line-height:1.5;color:var(--gray);margin:20px 0 0}.novel .cover{background:#171510}.novel h3{font-family:Georgia,serif;font-weight:400;font-size:48px;color:#ddcdae}.novel h3 em{font-weight:400}.cover-line{width:40px;height:1px;background:var(--gold);margin-top:24px}.novel .cover p{margin-top:15px}.screenplay .cover{background:#101719}.screenplay h3{font-size:clamp(24px,2.55vw,38px);font-weight:900;letter-spacing:-1.5px;line-height:1.15}.period{color:var(--gold)}.freedom .cover{background:#191412}.freedom h3{font-family:Georgia,serif;line-height:1.2;font-size:35px;color:#cfb78e;font-weight:400}.small-of{font-style:italic;font-size:26px}.project-info{padding-top:19px}.project-info h4{font-size:19px;letter-spacing:-.35px;margin:0 0 8px;font-weight:500}.project-info p{font-size:14px;color:var(--gray);margin:0;line-height:1.75}.about{display:grid;grid-template-columns:1fr 1fr;gap:100px}.about-copy p{color:var(--gray);margin:0 0 20px;font-size:16px}.about-copy .large-copy{font-size:25px;line-height:1.45;color:var(--white);letter-spacing:-.5px}.vision-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:start}.vision h2 span{color:var(--gold)}.vision-label{font-size:12px;letter-spacing:1.5px;color:var(--gold)}.vision-grid p{font-size:16px;color:var(--gray);max-width:470px}.vision-steps{display:flex;justify-content:space-between;gap:20px;max-width:720px;margin-top:48px;padding-top:24px;border-top:1px solid var(--border);font-size:12px;letter-spacing:1.7px;color:var(--gray)}.vision-steps span:nth-child(even){color:var(--gold)}footer{padding-block:35px;display:flex;justify-content:space-between;align-items:center;gap:30px}footer p,footer>span{font-size:12px;color:var(--gray)}footer .brand{font-size:15px}footer .brand span{font-size:12px}.skip{position:absolute;left:20px;top:-100px;background:var(--gold);color:black;padding:10px;z-index:10}.skip:focus{top:10px}@media(min-width:1600px){.hero{padding-top:80px}.hero-art{height:620px}}@media(max-width:1000px){.hero{gap:30px}.hero-art{height:520px}h1{letter-spacing:-3px;font-size:clamp(55px,7.4vw,80px)}.cover{padding:20px;height:310px}.cover-kicker{left:20px;font-size:12px}.novel h3{font-size:38px}.freedom h3{font-size:28px}.project-top{flex-direction:column;gap:3px}.about{gap:45px}}@media(max-width:700px){.wrap{width:88%}.header{padding-block:24px;gap:20px}.brand{font-size:15px;letter-spacing:2px}.brand span{font-size:12px;letter-spacing:2px}nav{gap:17px;font-size:12px}nav span{display:none}.hero{grid-template-columns:1fr;padding-top:45px;gap:35px}h1{font-size:clamp(52px,13vw,84px);letter-spacing:-3px}.hero .eyebrow{font-size:12px;letter-spacing:1.7px;margin-bottom:24px}.intro{font-size:16px;max-width:360px}.hero-art{height:430px}.hero-bottom{padding-top:0;font-size:12px;letter-spacing:1px;gap:20px}.hero-bottom>span{max-width:150px}.hero-bottom a span{margin-left:5px}.section{padding-block:55px}.section-head{display:block}.section-head>p{margin-top:20px}.projects{grid-template-columns:1fr;gap:35px}.project-top{flex-direction:row}.cover{height:380px;padding:32px}.cover-kicker{left:32px;font-size:12px}.novel h3{font-size:56px}.screenplay h3{font-size:42px}.freedom h3{font-size:42px}.project-info p{font-size:16px}.about,.vision-grid{grid-template-columns:1fr;gap:30px}.vision-steps{font-size:12px;letter-spacing:.5px;gap:12px}.vision-steps span{max-width:95px}footer{flex-wrap:wrap;gap:20px}footer p{width:100%;order:3;margin:0}footer>span{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.project-top{flex-wrap:wrap;letter-spacing:1px}.status{letter-spacing:.6px}.cover-kicker{letter-spacing:1px}.brand span{font-size:12px;letter-spacing:1.8px}nav{font-size:14px}
/* Cinematic, edge-to-edge opening */
.wrap{width:min(1680px,90%)}
.header{position:absolute;z-index:5;inset:0 0 auto;padding-block:32px;border:0}
.header nav a{font-weight:600;font-size:.875rem;transition:color .25s}
.header .brand{color:var(--white)}
.hero.cinematic{isolation:isolate;position:relative;display:flex;align-items:center;justify-content:center;min-height:800px;min-height:max(800px,100svh);padding:140px 5% 170px;overflow:hidden;background:var(--black)}
.hero-scene{position:absolute;z-index:-3;inset:0;overflow:hidden;pointer-events:none}
.hero-scene img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.88;animation:scene-arrive 4s cubic-bezier(.16,1,.3,1) both}
.hero-shade{position:absolute;z-index:-2;inset:0;pointer-events:none;background:linear-gradient(180deg,#080808 0%,rgba(8,8,8,.25) 20%,rgba(8,8,8,.08) 50%,rgba(8,8,8,.55) 78%,#080808 100%),linear-gradient(90deg,rgba(8,8,8,.72),transparent 22%,rgba(8,8,8,.32) 48%,transparent 80%,rgba(8,8,8,.8)),radial-gradient(ellipse at center,rgba(8,8,8,.35),transparent 65%)}
.cinematic .hero-copy{width:100%;text-align:center;align-self:auto}
.cinematic .eyebrow{color:#e4d6ba;font-size:.75rem;letter-spacing:.3em;margin-bottom:30px;animation:copy-arrive 1.2s .1s both}
.cinematic h1{font-size:clamp(3.1rem,9.9vw,10rem);font-weight:900;line-height:1.04;letter-spacing:-.065em;margin:0;text-shadow:0 3px 45px rgba(0,0,0,.3)}
.cinematic .headline-line{display:block;color:var(--white);animation:copy-arrive 2.6s cubic-bezier(.22,.61,.36,1) both}
.cinematic .headline-line:nth-child(1){animation-delay:.15s}.cinematic .headline-line:nth-child(2){animation-delay:.6s}.cinematic .headline-line:nth-child(3){animation-delay:1.05s;color:var(--gold)}
.hero-caption{font-size:1rem;font-weight:400;letter-spacing:.06em;color:#d2cfca;margin:30px 0 0;animation:copy-arrive 1.4s .7s both}
.cinematic .hero-bottom{position:absolute;bottom:42px;left:5%;right:5%;width:auto;max-width:none;display:flex;justify-content:space-between;align-items:center;border:0;margin:0;padding:0;gap:20px;color:var(--gray);font-size:.75rem;letter-spacing:.15em;animation:copy-arrive 1.4s .9s both}
.cinematic .hero-bottom a{color:var(--white);font-size:.875rem;letter-spacing:.12em}.cinematic .hero-bottom a:hover{color:var(--gold)}
.cinematic .hero-bottom a span{display:inline-block;margin-left:20px;color:var(--gold);font-size:1.25rem;transition:transform .3s}.cinematic .hero-bottom a:hover span{transform:translateY(5px)}
.section{padding-block:100px}.work{padding-top:65px}.section-head{margin-bottom:48px}h2{font-size:clamp(2rem,4vw,4rem)}
.projects{gap:36px}.cover{height:430px;transition:transform .7s cubic-bezier(.2,.7,.2,1),border-color .5s}.project:hover .cover{transform:translateY(-7px);border-color:#786442}.project-info h4{transition:color .3s}.project:hover h4{color:var(--gold)}
.reveal{opacity:0;transform:translateY(36px);transition:opacity 1s var(--delay,0ms),transform 1.2s cubic-bezier(.16,1,.3,1) var(--delay,0ms)}.reveal.is-visible{opacity:1;transform:translateY(0)}
@keyframes copy-arrive{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes scene-arrive{from{opacity:.35;transform:scale(1.065)}to{opacity:.88;transform:scale(1)}}
@media(min-width:1700px){.hero.cinematic{min-height:100svh}}
@media(max-width:1000px){.cover{height:350px}.projects{gap:22px}.hero.cinematic{min-height:max(720px,95svh)}.cinematic h1{font-size:10.3vw}.cinematic .hero-bottom>span{max-width:none}}
@media(max-width:700px){.header{padding-block:25px;align-items:flex-start}.header nav{gap:14px}.header nav a{font-size:.875rem}.header nav a:first-child{display:none}.header .brand{font-size:1rem}.header .brand span{font-size:.75rem;letter-spacing:.08em}.hero.cinematic{padding:140px 5% 150px;min-height:max(690px,95svh)}.hero-scene img{object-position:38% center}.hero-shade{background:linear-gradient(180deg,#080808 0%,rgba(8,8,8,.2) 22%,rgba(8,8,8,.4) 60%,#080808 100%),linear-gradient(90deg,rgba(8,8,8,.3),rgba(8,8,8,.1) 50%,rgba(8,8,8,.6))}.cinematic h1{font-size:11.8vw;line-height:1.12;letter-spacing:-.065em}.cinematic .eyebrow{font-size:.75rem;letter-spacing:.18em;margin-bottom:24px}.hero-caption{font-size:.875rem;max-width:260px;margin:24px auto 0;letter-spacing:.03em}.cinematic .hero-bottom{bottom:36px;flex-direction:column;gap:18px;text-align:center}.cinematic .hero-bottom>span{font-size:.75rem;max-width:none;letter-spacing:.08em}.cinematic .hero-bottom a{font-size:.875rem}.section{padding-block:65px}.work{padding-top:35px}.cover{height:380px}.projects{gap:38px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.hero-scene img{opacity:.88}.project:hover .cover{transform:none}}
/* Hero detail and introduction typography */
.hero-categories{margin:18px 0 0;color:var(--gold);font-size:.75rem;letter-spacing:.2em;animation:copy-arrive 1.4s .85s both}.hero-categories span{margin-inline:10px;color:#82765f}
.cinematic .hero-bottom{justify-content:center}
.about{grid-template-columns:.8fr 1.2fr;gap:8vw;padding-top:70px;padding-bottom:100px;align-items:start}
.about-name{color:var(--gold)!important;font-size:.75rem!important;letter-spacing:.16em;margin:0 0 22px!important}
.about-copy .large-copy{font-size:clamp(1.8rem,3.7vw,3.7rem);font-weight:600;letter-spacing:-.045em;line-height:1.2;max-width:900px;margin-bottom:30px}
.about-copy>p:last-child{max-width:580px;line-height:1.8}
.type-mask{display:block;overflow:hidden;padding-bottom:.11em;margin-bottom:-.11em}
.type-line{display:block;transform:translateY(112%) rotate(2deg);opacity:0;transform-origin:left bottom;transition:transform 2.18s cubic-bezier(.22,.61,.36,1) var(--line-delay,0ms),opacity 1.48s var(--line-delay,0ms)}
.type-reveal.is-visible .type-line{transform:translateY(0) rotate(0);opacity:1}
.scroll-word{color:#8a8883;transition:color .4s ease}.scroll-word.lit{color:var(--white)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:700px){.about{grid-template-columns:1fr;gap:30px;padding-top:40px;padding-bottom:65px}.hero-categories{font-size:.75rem;letter-spacing:.075em;margin-top:18px}.hero-categories span{margin-inline:5px}.cinematic .hero-bottom{bottom:30px}.about-copy .large-copy{font-size:2rem}.hero-caption{margin-top:24px}}
@media(prefers-reduced-motion:reduce){.type-line{transform:none;opacity:1}.scroll-word{color:var(--white)}.hero-copy{transform:none!important;opacity:1!important}}
/* Signature artwork: frame the supplied mark without its outer whitespace. */
.signature-brand{display:block;position:relative;width:230px;aspect-ratio:2.2;overflow:hidden;flex-shrink:0;mix-blend-mode:screen}
.signature-brand img{display:block;position:absolute;max-width:none;width:170%;height:auto;left:0;top:0;transform:translate(-21%,-22%)}
.header{align-items:center;padding-block:14px}
footer .signature-brand{width:180px}
@media(max-width:700px){.header{align-items:center;padding-block:14px;gap:14px}.header .signature-brand{width:160px}.header nav{gap:12px}footer .signature-brand{width:165px}}
@media(max-width:360px){.header .signature-brand{width:135px}.header nav{gap:10px}.header nav a{font-size:.8125rem}}
/* Native scrolling project gallery: three originals, no repeated covers. */
.carousel-controls{display:flex;align-items:center;justify-content:space-between;margin:0 0 25px;gap:20px}
.carousel-controls button{font:inherit;color:var(--white);background:transparent;border:1px solid var(--border);cursor:pointer;transition:color .25s,border-color .25s;min-height:44px}
.carousel-toggle{padding:10px 18px;font-size:.875rem!important}.carousel-arrows{display:flex;gap:10px}.carousel-arrows button{width:48px;font-size:1.4rem}.carousel-controls button:hover{color:var(--gold);border-color:var(--gold)}.carousel-controls button:disabled{opacity:.35;cursor:default}.carousel-controls button:focus-visible,.carousel-track:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.projects.carousel-track{display:flex;gap:32px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--gold) #151515;padding:12px 0 26px;scroll-behavior:auto}
.carousel-track .project{flex:0 0 38%;min-width:0;opacity:1;transform:none;transition:none}
.carousel-track .cover.poster{height:auto;aspect-ratio:1030/1526;padding:0;background:#101010;border:0;overflow:hidden;transform:none}
.poster img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 1.2s cubic-bezier(.2,.7,.2,1);transform-origin:center}
@media(hover:hover){.carousel-track .project:hover .poster img{transform:scale(1.025)}.carousel-track .project:hover .cover{transform:none}}
.carousel-track .project-info p{font-size:1rem}.carousel-track .project-info h4{font-size:1.4rem}.carousel-track .project-top{min-height:24px}
@media(max-width:700px){.projects.carousel-track{gap:22px}.carousel-track .project{flex-basis:83%}.carousel-track .project-top{flex-direction:column;min-height:42px;gap:3px}.carousel-track .project-info h4{font-size:1.2rem}}
@media(prefers-reduced-motion:reduce){.poster img{transition:none}.carousel-track .project:hover .poster img{transform:none}}
/* Repeated tracks make the visual loop seamless; copies are hidden from assistive technology. */
.projects.carousel-track{scrollbar-width:none;overflow-anchor:none}
.projects.carousel-track::-webkit-scrollbar{display:none}

/* Full-width gallery and quiet edge-to-edge section rules. */
.section.wrap{width:100%;padding-inline:max(5%,calc((100% - 1680px)/2));border-bottom:1px solid rgba(245,243,239,.065)}
.work.section.wrap{padding-inline:0}
.work>.section-head,.work .carousel-controls{width:min(1680px,90%);margin-inline:auto}
.projects.carousel-track{width:100%}
.carousel-track .project{flex-basis:min(34.2vw,638.4px)}
.vision-steps{border-top-color:rgba(245,243,239,.065)}
@media(max-width:700px){.carousel-track .project{flex-basis:74.7vw}}
/* Compact gallery sized around available screen height. */
.work.section{--poster-height:clamp(180px,calc(100svh - 390px),400px);padding-block:35px}
.work>.section-head{margin-bottom:20px;align-items:center}
.work .section-head .eyebrow{margin-bottom:10px}
.work .section-head h2{font-size:clamp(1.75rem,3vw,2.75rem)}
.work .carousel-controls{margin-bottom:10px}
.work .projects.carousel-track{gap:26px;padding-block:6px 12px}
.work .carousel-track .project{flex:0 0 calc(var(--poster-height) * 1030 / 1526)}
.work .carousel-track .cover.poster{height:var(--poster-height);width:100%}
.work .project-top{font-size:.75rem;letter-spacing:.025em;flex-wrap:wrap;align-content:flex-start;min-height:40px;margin-bottom:8px;gap:2px 10px}
.work .project-top .status{font-size:.75rem;letter-spacing:.025em}
.work .project-info{padding-top:12px}
.work .project-info h4{font-size:1rem;line-height:1.3;margin-bottom:7px}
.work .project-info p{font-size:.875rem;line-height:1.5}
@media(max-width:700px){.work.section{--poster-height:clamp(180px,calc(100svh - 420px),320px);padding-block:25px}.work>.section-head{margin-bottom:16px}.work .section-head>p{margin-top:10px;font-size:.875rem;line-height:1.4}.work .projects.carousel-track{gap:20px}.work .project-top{min-height:38px}.work .carousel-controls{margin-bottom:8px}}
@media(max-height:550px) and (min-width:701px){.work.section{--poster-height:150px;padding-block:20px}.work .carousel-track .project{flex-basis:240px}.work .carousel-track .cover.poster{width:auto;margin-inline:auto}.work .section-head>p{max-width:320px}.work>.section-head{margin-bottom:10px}.work .project-top{min-height:20px}.work .project-info{padding-top:8px}.work .project-info p{line-height:1.35}}
/* Art-directed portrait compositions keep the thinker and worlds in view. */
.hero-scene picture{display:block;width:100%;height:100%}
@media(max-width:1180px) and (orientation:portrait){.hero-scene img{object-fit:contain;object-position:center;animation-name:portrait-scene-arrive}.hero-shade{background:linear-gradient(180deg,#080808 0%,rgba(8,8,8,.15) 15%,rgba(8,8,8,.15) 35%,rgba(8,8,8,.38) 48%,rgba(8,8,8,.12) 65%,rgba(8,8,8,.08) 78%,#080808 100%),linear-gradient(90deg,rgba(8,8,8,.2),transparent 20%,transparent 80%,rgba(8,8,8,.2))}}
@keyframes portrait-scene-arrive{from{opacity:.35;transform:scale(1.02)}to{opacity:.88;transform:scale(1)}}
/* Future app concept, using the project's own artwork. */
.vision-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:65px;align-items:center}
.vision-copy .vision-label{display:block;margin-top:30px;line-height:1.6}
.vision-copy>p{max-width:510px;line-height:1.8}
.vision-copy .vision-steps{margin-top:32px;font-size:.75rem;gap:12px;letter-spacing:.06em;align-items:center}
.app-concept{margin:0;min-width:0}
.device-composition{position:relative;padding:25px 12% 110px 0;isolation:isolate}
.tv-device{background:#111;border:1px solid #4a4540;border-radius:12px;padding:9px 9px 16px;box-shadow:0 25px 60px #0008;position:relative}
.tv-screen{aspect-ratio:16/10;background:#080808;border-radius:5px;overflow:hidden;position:relative}
.tv-navigation{display:flex;align-items:center;justify-content:space-between;padding:3% 4%;position:relative;z-index:2;background:linear-gradient(#080808,transparent);font-size:12px}
.app-wordmark{font-size:14px;font-weight:800;letter-spacing:.06em}.app-wordmark-dot{color:var(--gold)}
.tv-navigation>div{display:flex;gap:18px;color:#bbb}.tv-navigation>div span:first-child{color:var(--gold)}.screen-profile{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;border:1px solid #736043;color:#ddcaae;font-size:12px}
.tv-feature{position:absolute;inset:0 0 23%;overflow:hidden}.tv-feature>img{position:absolute;width:66%;height:100%;right:0;object-fit:cover;object-position:center 33%}
.tv-feature:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080808 8%,#080808dd 30%,transparent 75%),linear-gradient(0deg,#080808,transparent 55%)}
.tv-feature-copy{position:absolute;z-index:1;top:28%;left:5%;display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.screen-kicker{color:var(--gold);font-size:12px;letter-spacing:.08em}.tv-feature-copy strong{font-family:Georgia,serif;font-size:clamp(24px,2.7vw,43px);line-height:1.08;font-weight:400}.screen-description{font-size:12px;color:#c7c4bc}.screen-play{background:var(--gold);color:#080808;font-size:12px;font-weight:700;padding:5px 12px;margin-top:2px}
.tv-shelf{position:absolute;bottom:3%;left:5%;right:5%;height:25%;font-size:12px;color:#d8d4cc}.tv-shelf>div{display:flex;height:calc(100% - 22px);gap:10px;margin-top:5px}.tv-shelf img{width:26%;height:100%;object-fit:cover;object-position:center 25%;border-radius:3px}.tv-indicator{position:absolute;bottom:6px;left:50%;width:3px;height:3px;background:var(--gold);border-radius:50%}
.phone-device{position:absolute;right:0;bottom:22px;width:29%;min-width:155px;max-width:230px;padding:6px;border:1px solid #71675b;background:#151515;border-radius:28px;box-shadow:-15px 20px 55px #000b;z-index:3}
.phone-screen{aspect-ratio:9/19.5;position:relative;background:#080808;border-radius:22px;overflow:hidden}
.phone-status{display:flex;justify-content:space-between;padding:10px 16px 5px;font-size:12px}.phone-navigation{font-size:12px;letter-spacing:.08em;font-weight:800;padding:8px 12px}.phone-navigation>span{color:var(--gold)}
.phone-feature{position:absolute;inset:65px 0 60px}.phone-feature>img{width:100%;height:100%;object-fit:cover;object-position:center 40%}.phone-feature:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#080808 0%,#080808a6 28%,transparent 70%)}.phone-feature>div{position:absolute;z-index:1;left:12px;right:12px;bottom:7px;display:flex;flex-direction:column;gap:7px}.phone-feature .screen-kicker{font-size:12px;letter-spacing:0}.phone-feature strong{font-size:22px;line-height:1.05}.phone-play{background:var(--gold);color:#080808;text-align:center;padding:6px;font-size:12px;font-weight:700;border-radius:3px}
.phone-bottom-nav{position:absolute;bottom:17px;left:10px;right:10px;display:flex;justify-content:space-around;line-height:1.1;text-align:center;color:#aaa;font-size:18px}.phone-bottom-nav>span:first-child{color:var(--gold)}.phone-bottom-nav small{font-size:12px;display:block;margin-top:4px}.home-indicator{position:absolute;bottom:6px;left:34%;width:32%;height:3px;background:#c5c5c5;border-radius:2px}
.app-concept figcaption{font-size:12px;letter-spacing:.12em;color:var(--gold);line-height:1.7}.app-concept figcaption span{display:block;color:var(--gray);letter-spacing:.04em;margin-top:3px}
@media(max-width:1100px){.vision-grid{grid-template-columns:1fr;gap:40px}.vision-copy>p{max-width:660px}.vision-copy .vision-steps{max-width:570px}.app-concept{width:min(100%,800px);margin-inline:auto}.tv-feature-copy strong{font-size:38px}.device-composition{padding-bottom:115px}.tv-navigation{font-size:14px}}
@media(max-width:600px){.device-composition{padding:5px 0 130px}.tv-device{padding:6px 6px 12px;border-radius:8px}.tv-screen{aspect-ratio:4/3}.tv-navigation{padding:10px;font-size:12px}.tv-navigation>div{gap:10px}.app-wordmark{font-size:12px}.screen-profile{display:none}.tv-feature-copy{top:28%;gap:6px;max-width:65%}.tv-feature-copy strong{font-size:25px}.tv-feature-copy .screen-kicker{font-size:12px;letter-spacing:0;max-width:170px}.screen-description{display:none}.tv-shelf{height:22%}.phone-device{width:36%;min-width:135px;max-width:165px;right:0;bottom:0;border-radius:22px}.phone-screen{border-radius:16px}.phone-feature strong{font-size:18px}.phone-feature .screen-kicker{display:none}.phone-feature>div{left:9px;right:9px}.phone-bottom-nav small{font-size:12px}.phone-status{padding:8px 10px 4px}.phone-navigation{padding:6px 9px}.phone-feature{top:56px}.app-concept figcaption{margin-top:22px;padding-right:30%}.vision-copy .vision-steps{flex-wrap:wrap}.tv-shelf img{width:24%}}
/* Center the concept caption and keep the roadmap tidy at narrow widths. */
.app-concept figcaption{text-align:center;padding-inline:0;width:100%;text-wrap:balance}
.app-concept figcaption span{display:block;text-align:center}
.vision-copy .vision-steps{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:8px;max-width:570px;letter-spacing:0;font-size:.75rem}
.vision-copy .vision-steps>span{white-space:nowrap;max-width:none;flex-shrink:0}
@media(max-width:1100px){.vision-grid{gap:32px}.vision-copy .vision-steps{width:100%;max-width:510px}.app-concept{max-width:760px}}
@media(max-width:600px){.vision-copy .vision-steps{gap:4px;margin-top:25px;padding-top:20px;font-size:.75rem;justify-content:space-between}.vision-copy .vision-steps>span[aria-hidden]{display:none}.app-concept figcaption{padding:0;margin-top:24px;letter-spacing:.075em}.app-concept figcaption span{letter-spacing:.025em;margin-top:5px}.vision-grid{gap:30px}.vision-copy .vision-label{margin-top:24px}.vision-copy>p{line-height:1.65}}
@media(max-width:360px){.vision-copy .vision-steps{justify-content:flex-start;gap:16px;overflow-x:auto;padding-bottom:8px}}
/* Contact */
.contact{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8vw;align-items:start}
.contact-copy>p:last-child{max-width:410px;color:var(--gray);line-height:1.8;margin-top:25px}
.contact-form{min-width:0}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-form label{display:block;font-size:.875rem;color:var(--white);margin-bottom:9px}
.contact-form input:not([type=hidden]),.contact-form textarea{width:100%;font:inherit;font-size:1rem;line-height:1.5;color:var(--white);background:#111;border:1px solid #39352f;border-radius:3px;padding:14px 16px;margin-bottom:23px;outline:none;transition:border-color .2s}
.contact-form textarea{resize:vertical;min-height:160px}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#85817b;opacity:1}
.contact-submit{display:flex;gap:24px;align-items:center}.contact-submit .button{border:0;cursor:pointer;font-family:inherit;flex-shrink:0;min-height:48px}.contact-submit .button:focus-visible{outline:2px solid var(--white);outline-offset:5px}.contact-submit p{font-size:.75rem;color:var(--gray);line-height:1.6;margin:0;max-width:260px}.contact-submit p a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1000px){.contact{grid-template-columns:1fr;gap:30px}.contact-copy>p:last-child{max-width:600px}.contact-form{max-width:800px;width:100%}}
@media(max-width:600px){.contact-fields{grid-template-columns:1fr;gap:0}.contact-submit{align-items:flex-start;flex-direction:column;gap:15px}.contact-submit .button{width:100%;justify-content:space-between}.contact-submit p{max-width:none}.contact-copy>p:last-child{margin-top:20px}}
/* Four section links remain visible on every screen size. */
.header nav a:first-child{display:inline-block}
@media(max-width:700px){.header{flex-wrap:wrap;justify-content:center;gap:5px;padding-top:8px}.header .signature-brand{width:135px}.header nav{width:100%;display:flex;justify-content:center;gap:clamp(14px,4vw,28px)}.header nav a{font-size:.875rem;white-space:nowrap}.header nav a:first-child{display:inline-block}}

/* Center the mobile footer in reading order. */
@media(max-width:700px){footer.wrap{flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:center;text-align:center;gap:18px;padding-block:36px}footer .signature-brand{order:0;margin-inline:auto}footer p{order:1;width:100%;max-width:290px;margin:0;line-height:1.7;text-wrap:balance}footer>span{order:2;display:block;margin:0;line-height:1.6}}

/* Shared navigation and story pages. */
.header nav{align-items:center}.header nav a:hover,.header nav a:focus-visible{color:var(--gold)}
.project-menu{position:relative;font-size:.875rem;font-weight:600;color:var(--white)}
.project-menu summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:6px}.project-menu summary::-webkit-details-marker{display:none}.project-menu summary:after{content:"⌄";font-size:12px;color:var(--gold)}.project-menu summary:hover,.project-menu[open] summary{color:var(--gold)}.project-menu summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.project-dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%);width:185px;padding:8px;background:#111;border:1px solid #39352f;box-shadow:0 14px 35px #0009;z-index:10}.header nav .project-dropdown a{display:block;padding:10px 12px;min-height:44px;color:var(--white);white-space:nowrap}.header nav .project-dropdown a:hover,.header nav .project-dropdown a:focus-visible{color:var(--gold);background:#1d1b17}
.storyteller-link{margin-top:12px}.about-copy>p:not(.large-copy){max-width:580px;line-height:1.8}
.inner-page .header{position:relative;inset:auto}.profile-intro{padding-block:80px 65px}.profile-intro h1{font-size:clamp(2.5rem,6.5vw,6rem);letter-spacing:-.045em;line-height:1.1;max-width:1100px;overflow-wrap:break-word}.profile-lead{font-size:clamp(1.125rem,2.2vw,1.6rem);max-width:730px;color:var(--gray);line-height:1.6;margin-top:30px}.profile-story{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw}.profile-copy{max-width:700px}.profile-copy p{margin:0 0 24px;color:var(--gray);font-size:1.125rem;line-height:1.8}.profile-copy em{color:var(--white)}
.category-section h2{margin-bottom:36px}.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,320px));gap:40px}.category-grid .cover.poster{height:auto;aspect-ratio:1030/1526;padding:0;border:0}.category-grid .project-top{flex-direction:column;gap:2px}.category-grid .project-info h4{font-size:1.2rem}.category-grid .project-info p{font-size:1rem}
@media(max-width:700px){.header nav{gap:clamp(10px,3vw,22px)}.profile-intro{padding-block:50px 40px}.profile-story{grid-template-columns:1fr;gap:30px}.profile-copy p{font-size:1rem}.category-grid{grid-template-columns:minmax(0,320px);justify-content:center;gap:35px}.project-dropdown{left:auto;right:-45px;transform:none}.storyteller-link{gap:22px}}

/* Projects title navigates; its adjacent control opens category links. */
.project-menu{display:flex;align-items:center;gap:2px;min-height:44px}
.projects-toggle{display:grid;place-items:center;width:24px;min-height:44px;padding:0;border:0;background:transparent;color:var(--gold);font:inherit;cursor:pointer}
.projects-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.project-dropdown[hidden]{display:none}
.header nav .projects-page-link{color:var(--white)}.header nav .projects-page-link:hover,.header nav .projects-page-link:focus-visible{color:var(--gold)}

/* Keep all five navigation destinations comfortable on small screens. */
@media(max-width:700px){.header nav{flex-wrap:wrap;column-gap:16px;row-gap:0}.header nav>a{display:inline-flex;align-items:center;min-height:44px}.header nav .project-dropdown a{display:block}}

/* Storyteller portrait, softly blended into the page. */
.storyteller-intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:4vw;align-items:center;padding-block:25px 45px}
.storyteller-intro h1{font-size:clamp(2.5rem,4.5vw,5rem)}
.storyteller-portrait{margin:0;width:100%;max-width:620px;justify-self:end;position:relative;mix-blend-mode:lighten}
.storyteller-portrait img{display:block;width:100%;height:auto;opacity:.86;mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 85%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 85%,transparent)}
@media(max-width:800px){.storyteller-intro{grid-template-columns:1fr;gap:15px;padding-block:45px 20px}.storyteller-intro h1{font-size:clamp(2.5rem,7vw,4rem)}.storyteller-portrait{justify-self:center;max-width:480px}.storyteller-intro .profile-lead{margin-bottom:0}}

/* Full-width storyteller opening with continuous room backdrop. */
.storyteller-page .header{position:absolute;inset:0 0 auto}
.storyteller-opening{position:relative;isolation:isolate;overflow:hidden;width:100%;min-height:max(760px,100svh);margin:0;padding:180px 5% 130px;display:flex;align-items:center;justify-content:flex-start;background:var(--black)}
.storyteller-room,.storyteller-shade{position:absolute;inset:0;pointer-events:none;z-index:-2}
.storyteller-room img{width:100%;height:100%;object-fit:cover;object-position:65% center}
.storyteller-shade{z-index:-1;background:linear-gradient(180deg,rgba(8,8,8,.65),rgba(8,8,8,.18) 25%,rgba(8,8,8,.22) 72%,#080808),linear-gradient(270deg,rgba(8,8,8,.1) 25%,rgba(8,8,8,.35) 55%,rgba(8,8,8,.7))}
.storyteller-opening .storyteller-intro-copy{width:47%;max-width:850px;position:relative}
.storyteller-opening h1{font-size:clamp(2.5rem,4.8vw,5.8rem);line-height:1.1;letter-spacing:-.045em}
.storyteller-opening .profile-lead{font-size:clamp(1rem,1.5vw,1.4rem);max-width:560px}
@media(max-width:900px) and (orientation:portrait){.storyteller-opening{min-height:max(850px,100svh);align-items:flex-end;padding:180px 6% 65px}.storyteller-opening .storyteller-intro-copy{width:100%;max-width:none}.storyteller-room img{object-position:80% top}.storyteller-shade{background:linear-gradient(180deg,rgba(8,8,8,.6),rgba(8,8,8,.12) 25%,rgba(8,8,8,.25) 45%,rgba(8,8,8,.85) 68%,#080808)}.storyteller-opening h1{font-size:clamp(2.5rem,7vw,4rem)}.storyteller-opening .eyebrow{margin-bottom:18px}.storyteller-opening .profile-lead{margin-top:22px}}

/* Keep the portrait discreet behind the introduction. */
.storyteller-room::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.85);pointer-events:none}

/* Keep the full name on one line within the opening copy. */
.storyteller-opening h1{font-size:clamp(1.5rem,3.4vw,4.2rem)}
.storyteller-opening h1>span{white-space:nowrap;display:inline-block}
@media(max-width:900px) and (orientation:portrait){.storyteller-opening h1{font-size:clamp(1rem,6.7vw,3.5rem)}}

/* Compact navigation for phones and tablets. */
.menu-toggle{display:none}
.header nav[hidden]{display:none!important}
@media(max-width:1180px){
 .header{flex-wrap:nowrap;justify-content:space-between;align-items:center;padding-block:12px;gap:20px}
 .header .signature-brand{width:150px}
 .menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:48px;height:48px;padding:10px;border:1px solid #454038;border-radius:3px;background:#080808;color:var(--white);cursor:pointer}
 .menu-toggle span{display:block;width:22px;height:2px;background:currentColor;margin:0;transition:transform .2s,opacity .2s}
 .menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
 .menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .menu-toggle:hover{color:var(--gold)}.menu-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
 .header nav{position:absolute;top:100%;left:0;right:0;width:100%;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:18px 24px;background:#0c0c0c;border:1px solid #302b24;box-shadow:0 20px 45px #000a;max-height:calc(100dvh - 110px);overflow-y:auto}
 .header nav>a,.header nav .projects-page-link{display:flex;align-items:center;min-height:52px;font-size:1.125rem;padding:8px 0}
 .header nav>a:first-child{display:flex}
 .project-menu{display:grid;grid-template-columns:1fr 48px;gap:0;min-height:52px}
 .projects-toggle{width:48px;min-height:48px;font-size:1.25rem}
 .project-dropdown{position:static;grid-column:1/-1;transform:none;width:100%;padding:0 0 10px 16px;margin:0 0 8px;border:0;border-left:1px solid #665439;background:transparent;box-shadow:none}
 .header nav .project-dropdown a{font-size:1rem;padding:10px 12px;min-height:44px}
}

/* Vision: three platform concepts built from original project artwork. */
.vision-intro{max-width:1200px;margin-left:5%}.vision-intro-note{color:var(--gray);max-width:700px;font-size:1rem;line-height:1.8}
.platform-section{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:7vw;align-items:center}
.platform-copy>p:not(.eyebrow){color:var(--gray);font-size:1.0625rem;line-height:1.8;max-width:530px}.platform-copy h2{margin-bottom:25px}
.platform-visual{margin:0;min-width:0}.platform-device{padding:25px 0}.platform-visual figcaption{text-align:center;color:var(--gold);font-size:.875rem;margin-top:16px}.platform-visual figcaption span{display:block;color:var(--gray);margin-top:5px;font-size:.8125rem}
.mobile-preview .phone-device{position:relative;right:auto;bottom:auto;width:230px;max-width:100%;min-width:0;margin:auto}.mobile-preview .phone-screen{aspect-ratio:9/19.5}.mobile-preview .phone-feature strong{font-size:28px}.mobile-preview .phone-feature .screen-kicker{display:block}.mobile-preview .phone-device{box-shadow:0 20px 70px #0009}
.television-preview .tv-device{width:100%}.television-preview .tv-screen{aspect-ratio:16/10}.television-preview .tv-feature-copy strong{font-size:clamp(24px,3vw,44px)}
.browser-concept{border:1px solid #51483b;border-radius:10px;overflow:hidden;background:#0c0c0c;box-shadow:0 20px 60px #0008}.browser-bar{display:flex;align-items:center;gap:6px;padding:12px;background:#211f1c}.browser-bar i{width:7px;height:7px;border-radius:50%;background:#85765d}.browser-bar>span{font-size:12px;color:#c5beb1;margin-left:12px}.browser-app{padding:18px}.browser-nav{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:12px;margin-bottom:16px}.browser-nav strong{font-size:14px;letter-spacing:.08em}.browser-nav strong span{color:var(--gold)}.browser-nav>span{color:var(--gray)}
.browser-feature{position:relative;min-height:250px;isolation:isolate;overflow:hidden}.browser-feature>img{position:absolute;inset:0 0 0 auto;width:65%;height:100%;object-fit:cover;object-position:center 30%;z-index:-2}.browser-feature:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0c0c0c 10%,#0c0c0cd9 40%,transparent),linear-gradient(0deg,#0c0c0c,transparent 50%);z-index:-1}.browser-feature>div{padding:25px 12px}.browser-feature small{font-size:12px;color:var(--gold);letter-spacing:.1em}.browser-feature strong{display:block;font-family:Georgia,serif;font-weight:400;font-size:clamp(24px,2.5vw,40px);line-height:1.15;margin-top:12px}.browser-feature p{font-size:12px;color:#bbb}.concept-watch{display:inline-block;font-size:12px;background:var(--gold);color:#080808;padding:7px 14px}.browser-shelf>p{font-size:14px;color:#ccc}.browser-shelf>div{display:flex;gap:12px}.browser-shelf img{width:calc((100% - 24px)/3);aspect-ratio:1.7;object-fit:cover;object-position:center 25%;border-radius:3px}
@media(max-width:1000px){.platform-section{grid-template-columns:1fr;gap:30px}.platform-copy>p:not(.eyebrow){max-width:700px}.platform-visual{width:100%;max-width:700px;margin:auto}.platform-device{padding:10px 0}.vision-intro{margin-inline:auto}.television-preview .tv-feature-copy strong{font-size:36px}.browser-feature strong{font-size:36px}}
@media(max-width:600px){.browser-app{padding:12px}.browser-nav>span{display:none}.browser-feature{min-height:235px}.browser-feature strong{font-size:28px}.television-preview .tv-screen{aspect-ratio:4/3}.television-preview .tv-feature-copy strong{font-size:25px}.platform-copy>p:not(.eyebrow){font-size:1rem}.vision-page .profile-copy .button{gap:18px}}

/* TV and phone preview in the Vision opening. */
.vision-page .vision-opening{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:5vw;align-items:center;width:90%;max-width:1680px;margin-inline:auto;padding-block:60px 75px}
.vision-opening-visual,.vision-opening-copy{min-width:0}
.vision-opening .app-concept{width:100%;max-width:none;margin:0}
.vision-opening h1{font-size:clamp(2.5rem,4.5vw,5.5rem)}
.vision-opening .profile-lead{font-size:clamp(1.125rem,1.6vw,1.4rem)}
.vision-opening .device-composition{padding-bottom:115px}
@media(max-width:1100px){.vision-page .vision-opening{grid-template-columns:1fr;gap:35px;padding-block:45px 60px}.vision-opening-visual{width:100%;max-width:760px;margin-inline:auto}.vision-opening-copy{width:100%;max-width:760px;margin-inline:auto}.vision-opening h1{font-size:clamp(2.5rem,6vw,4.5rem)}}
@media(max-width:600px){.vision-page .vision-opening{padding-top:25px;gap:30px}.vision-opening .device-composition{padding-bottom:130px}}

/* Scale the complete web preview as a landscape browser on mobile. */
@media(max-width:600px){
 .web-preview .platform-device{container-type:inline-size}
 .web-preview .browser-concept{aspect-ratio:16/10;display:flex;flex-direction:column;border-radius:2cqw}
 .web-preview .browser-bar{flex:0 0 9%;padding:1.5cqw 2.5cqw;gap:1cqw}
 .web-preview .browser-bar i{width:1.2cqw;height:1.2cqw}
 .web-preview .browser-bar>span{font-size:2cqw;margin-left:2cqw;line-height:1.2}
 .web-preview .browser-app{flex:1;min-height:0;padding:2cqw;display:grid;grid-template-rows:10% 62% 28%}
 .web-preview .browser-nav{margin:0;gap:2cqw;font-size:2cqw}
 .web-preview .browser-nav strong{font-size:2.3cqw}
 .web-preview .browser-nav>span{display:block;font-size:2cqw}
 .web-preview .browser-feature{min-height:0}
 .web-preview .browser-feature>div{padding:2cqw}
 .web-preview .browser-feature small{font-size:1.9cqw}
 .web-preview .browser-feature strong{font-size:5cqw;margin-top:1cqw}
 .web-preview .browser-feature p{font-size:2cqw;margin:1cqw 0}
 .web-preview .concept-watch{font-size:2cqw;padding:1cqw 2cqw}
 .web-preview .browser-shelf{min-height:0;display:flex;flex-direction:column}
 .web-preview .browser-shelf>p{font-size:2.2cqw;margin:.6cqw 0 1cqw}
 .web-preview .browser-shelf>div{gap:2cqw;min-height:0;flex:1}
 .web-preview .browser-shelf img{width:calc((100% - 4cqw)/3);height:100%;aspect-ratio:auto;border-radius:.5cqw}
}

/* Individual stories and their dated development archive. */
.story-opening{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:7vw;align-items:center;padding-block:60px 85px}.story-cover{margin:0;max-width:390px;width:100%;justify-self:center}.story-cover img{display:block;width:100%;height:auto;aspect-ratio:1030/1526;object-fit:cover}.story-introduction{min-width:0}.story-back{display:inline-block;color:var(--gray);font-size:.875rem;margin-bottom:35px}.story-introduction .eyebrow{margin-bottom:18px}.story-introduction h1{font-size:clamp(2.5rem,5vw,5.5rem);letter-spacing:-.04em;line-height:1.08;margin-bottom:30px}.story-facts{display:grid;grid-template-columns:1fr 1fr;gap:22px 30px;margin:0 0 30px}.story-facts dt{font-size:.8125rem;color:var(--gray);margin-bottom:5px}.story-facts dd{margin:0;font-size:1rem}.story-facts>div:first-child dd{color:var(--gold)}.story-synopsis{font-size:1.125rem;line-height:1.8;color:var(--gray);max-width:700px}.story-format-note{font-size:.875rem;color:var(--gray);max-width:650px}.story-journal,.story-trailer{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8vw}.journal-intro,.story-trailer>div>p:last-child{color:var(--gray);max-width:390px;font-size:1rem}.journal-entry{padding:0 0 32px;margin-bottom:32px;border-bottom:1px solid var(--border)}.journal-entry:last-child{margin-bottom:0}.journal-entry time{color:var(--gold);font-size:.875rem}.journal-entry h3{font-size:1.5rem;line-height:1.3;margin:15px 0}.journal-entry p{font-size:1rem;line-height:1.8;color:var(--gray);margin:0}.story-trailer video{width:100%;aspect-ratio:16/9;background:#111}.trailer-pending{aspect-ratio:16/9;background:#101010;border:1px solid #302c25;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:25px}.trailer-pending p{font-size:1.125rem;color:var(--gold);margin:0 0 12px}.trailer-pending span{font-size:.875rem;color:var(--gray);max-width:300px}.cover.poster:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(max-width:800px){.story-opening{grid-template-columns:1fr;gap:35px;padding-block:30px 55px}.story-cover{max-width:280px}.story-introduction h1{font-size:clamp(2.4rem,8vw,4rem)}.story-journal,.story-trailer{grid-template-columns:1fr;gap:28px}.story-synopsis{font-size:1rem}.story-back{margin-bottom:25px}}

/* Bounded development archive, with an optional full-page reading mode. */
.journal-panel{min-width:0}
.journal-expand{display:block;margin:0 0 16px auto;min-height:44px;padding:10px 16px;border:1px solid #665439;background:transparent;color:var(--gold);font:inherit;font-size:.875rem;cursor:pointer}
.journal-expand[hidden]{display:none}
.journal-entries{max-height:560px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--gold) #191919;scrollbar-gutter:stable;border:1px solid #353027;background:#0e0e0e;padding:28px}
.journal-entries::-webkit-scrollbar{width:7px}.journal-entries::-webkit-scrollbar-track{background:#191919}.journal-entries::-webkit-scrollbar-thumb{background:var(--gold);border-radius:5px}
.journal-entries:focus-visible,.journal-expand:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.journal-expand:hover{color:var(--white);border-color:var(--white)}
.journal-panel.is-expanded .journal-entries{max-height:none;overflow:visible}
@media(max-width:800px){.journal-entries{max-height:400px;max-height:min(400px,60svh);padding:22px 18px}.journal-entry h3{font-size:1.25rem}}

/* Next steps after each story. */
.story-next{display:flex;justify-content:space-between;align-items:center;gap:40px}.story-next p{max-width:520px;color:var(--gray);font-size:1rem;line-height:1.8;margin-top:22px}.story-next-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px;flex-shrink:0}.story-secondary{display:inline-flex;align-items:center;gap:20px;min-height:44px;color:var(--gold);font-size:1rem}.story-secondary:hover{color:var(--white)}
@media(max-width:800px){.story-next{flex-direction:column;align-items:flex-start;gap:24px}.story-next-actions{width:100%}.story-next-actions .button{gap:24px;max-width:100%}}

.story-next .story-secondary{font-size:clamp(1.25rem,2.2vw,2rem);line-height:1.35}.story-next>div:first-child .button{margin-top:12px}.story-next-actions{flex-shrink:1}.form-status{font-size:.9375rem;line-height:1.6;color:var(--gray);margin:18px 0 0}.form-status:empty{display:none}.form-status[data-state=success]{color:var(--gold)}.form-status[data-state=error]{color:#f1b5a9}.contact-submit button:disabled{opacity:.65;cursor:wait}

/* Tablet story footer: deliberate wrapping for the closing invitation. */
@media(min-width:701px) and (max-width:1180px){.story-next .story-contact-closing{display:block}.story-next .story-secondary{white-space:nowrap;font-size:clamp(1.125rem,2.2vw,1.625rem);gap:12px}.story-next-actions{flex-shrink:0}.story-next{gap:28px}}

/* A quiet newsletter invitation above the footer. */
.newsletter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7vw;align-items:center;padding-block:70px;border-bottom:1px solid rgba(245,243,239,.065)}.newsletter-copy .eyebrow{margin-bottom:18px}.newsletter-copy h2{font-size:clamp(2rem,3.5vw,3.5rem)}.newsletter-copy>p:last-child{color:var(--gray);max-width:460px;line-height:1.8}.newsletter-form{min-width:0}.newsletter-form label{display:block;font-size:.875rem;margin-bottom:10px}.newsletter-fields{display:flex;gap:12px}.newsletter-fields input{flex:1;min-width:0;width:100%;font:inherit;background:#111;border:1px solid #39352f;color:var(--white);padding:14px 16px;border-radius:3px}.newsletter-fields input:focus{outline:2px solid var(--gold);outline-offset:2px}.newsletter-fields .button{border:0;font-family:inherit;cursor:pointer;gap:20px;white-space:nowrap;min-height:48px}.newsletter-fields .button:focus-visible{outline:2px solid var(--white);outline-offset:4px}.newsletter-fields .button:disabled{opacity:.65;cursor:wait}.newsletter-note{font-size:.8125rem;color:var(--gray);line-height:1.7;margin:16px 0 0}.newsletter-note a{text-decoration:underline;text-underline-offset:3px}.newsletter-journal-link{display:inline-block;color:var(--gold);padding-block:10px}
@media(max-width:1000px){.newsletter{grid-template-columns:1fr;gap:25px;padding-block:50px}.newsletter-form{width:100%;max-width:700px}}@media(max-width:600px){.newsletter-fields{flex-direction:column}.newsletter-fields .button{justify-content:space-between}.newsletter{padding-block:45px}}

/* Privacy notice and shared footer link. */
.footer-legal a{display:inline-block;margin-left:18px;text-decoration:underline;text-underline-offset:4px}.privacy-page{max-width:850px;padding-block:65px 85px}.privacy-page h1{font-size:clamp(3rem,7vw,6rem);letter-spacing:-.04em}.privacy-page>p,.privacy-page section p{font-size:1rem;line-height:1.85;color:var(--gray)}.privacy-page .privacy-date{font-size:.875rem;color:var(--gold)}.privacy-page section{margin-top:38px}.privacy-page h2{font-size:clamp(1.4rem,3vw,2rem);letter-spacing:-.025em;line-height:1.3}.privacy-page a{color:var(--white);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.privacy-page a:hover{color:var(--gold)}
@media(max-width:700px){.footer-legal a{display:block;margin:10px 0 0}.privacy-page{padding-block:40px 55px}}
