:root{--ink:#050505;--paper:#f2f2f0;--muted:#999;--line:#292929;--gold:#e31b2f;--orange:#ff243b;--serif:"Helvetica Neue",Helvetica,Arial,sans-serif;--sans:"Helvetica Neue",Helvetica,Arial,sans-serif;--mono:"Helvetica Neue",Helvetica,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:fixed;top:0;left:1rem;z-index:99;padding:.8rem 1rem;background:var(--paper);color:var(--ink);transform:translateY(-120%)}.skip-link:focus{transform:none}.grain{position:fixed;inset:0;z-index:20;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}
.site-header{height:88px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:absolute;top:0;width:100%;z-index:10}.brand{display:flex;align-items:center;gap:.8rem}.brand>span:first-child{display:grid;place-items:center;border:1px solid #5e1820;width:38px;height:38px;font-family:var(--serif);font-style:italic}.brand-word{font-size:.8rem;letter-spacing:.11em;text-transform:uppercase}.site-header nav{display:flex;gap:2rem;font:400 .72rem var(--mono);text-transform:uppercase;letter-spacing:.12em}.site-header nav a{transition:color .2s}.site-header nav a:hover{color:var(--gold)}.availability{font:400 .65rem var(--mono);text-transform:uppercase;letter-spacing:.09em}.availability i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#e31b2f;box-shadow:0 0 0 5px #e31b2f1c;margin-right:.6rem}
.hero{min-height:100vh;padding:155px 4vw 70px;position:relative}.hero-kicker{display:flex;justify-content:space-between;font:400 .68rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}h1,h2{font-weight:600;line-height:.94;letter-spacing:-.045em;margin:0}h1{font-size:clamp(3.8rem,8.3vw,8rem);margin:5vh 0 4vh;position:relative;z-index:2}h1 span,h1 em{display:block}h1 em,h2 em{font-family:var(--serif);font-weight:600;color:var(--gold)}h1 em{text-align:right}.hero-stage{width:72%;height:min(45vw,560px);margin:-1.5vw auto 0;position:relative;overflow:hidden;background:#140507}.stage-art{position:absolute;inset:0;background:radial-gradient(circle at 70% 35%,#ff263d 0 5%,#8e0d1b 6%,transparent 20%),linear-gradient(145deg,transparent 40%,#31070d 41%,#050505 71%),linear-gradient(45deg,#151515,#65101c 48%,#090909 49%);filter:saturate(.9)}.stage-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 48%,#ff334d55 49%,transparent 51%);transform:skew(-15deg)}.frame-line{position:absolute;inset:8%;border:1px solid #fff3}.timecode{position:absolute;right:2rem;top:2rem;font:400 .6rem var(--mono);letter-spacing:.1em}.play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);border:1px solid #fff8;border-radius:50%;width:82px;height:82px;color:white;background:#05050599;cursor:pointer;backdrop-filter:blur(10px);transition:transform .3s,background .3s}.play:hover{transform:translate(-50%,-50%) scale(1.08);background:var(--orange)}.stage-caption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:1.2rem 1.5rem;background:linear-gradient(transparent,#000a);font:400 .62rem var(--mono);letter-spacing:.08em;text-transform:uppercase}.hero-copy{font-size:clamp(.95rem,1.4vw,1.2rem);line-height:1.5;max-width:34rem;margin:3rem 0 0 auto;color:#b6b6b6}
.marquee{border-block:1px solid var(--line);overflow:hidden;padding:1rem 0;color:var(--gold);font:300 .65rem var(--mono);letter-spacing:.16em;white-space:nowrap}.marquee div{width:max-content;animation:marquee 22s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}
.section{padding:10rem 4vw}.section-head{display:grid;grid-template-columns:1.4fr .6fr;align-items:end;gap:4rem;margin-bottom:5rem}.eyebrow{display:block;color:var(--gold);font:300 .65rem var(--mono);letter-spacing:.17em;text-transform:uppercase;margin-bottom:2rem}.section h2{font-size:clamp(3.5rem,7vw,7.2rem)}.section-head p{color:var(--muted);line-height:1.7;font-size:.9rem;max-width:30rem}.filters{display:flex;gap:.4rem;margin-bottom:2rem;flex-wrap:wrap}.filters button{border:1px solid var(--line);background:transparent;color:var(--muted);padding:.7rem 1rem;border-radius:3rem;cursor:pointer;font:300 .62rem var(--mono);text-transform:uppercase;letter-spacing:.08em}.filters button.is-active,.filters button:hover{color:var(--ink);background:var(--paper)}.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:5rem 1.5rem}.project-card{grid-column:span 7}.project-card:nth-child(even){grid-column:6/span 7}.project-visual{aspect-ratio:16/10;position:relative;overflow:hidden;cursor:crosshair;background:#29251e}.palette-amber{background:linear-gradient(145deg,#1a1814 10%,#5e4a34 55%,#d08d47)}.palette-red{background:linear-gradient(35deg,#130f11,#5e1e20 55%,#e05a33)}.palette-blue{background:linear-gradient(145deg,#080d12,#1c4550 55%,#b0aaa0)}.palette-olive{background:linear-gradient(35deg,#11130d,#4e5533 62%,#c09a59)}.palette-violet{background:linear-gradient(150deg,#0b0910,#352048 60%,#a66c58)}.project-visual:before{content:"";position:absolute;width:45%;height:160%;left:38%;top:-30%;background:#fff1;transform:rotate(24deg);filter:blur(15px)}.project-frame{position:absolute;inset:1rem;z-index:2;border:1px solid #fff3;display:flex;justify-content:space-between;padding:.8rem;color:#fff9;font:300 .58rem var(--mono);letter-spacing:.16em}.preview-motion{position:absolute;inset:-20%;background:repeating-linear-gradient(105deg,transparent 0 8%,#fff1 9%,transparent 10%);transform:translateX(-30%);transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}.project-visual:hover .preview-motion,.project-visual:focus .preview-motion{transform:translateX(30%)}.hover-hint{position:absolute;z-index:3;right:1.8rem;bottom:1.8rem;background:#0a0a09c7;border:1px solid #fff3;padding:.7rem 1rem;border-radius:4rem;font:300 .56rem var(--mono);text-transform:uppercase;letter-spacing:.1em;opacity:0;transform:translateY(8px);transition:.3s}.project-visual:hover .hover-hint,.project-visual:focus .hover-hint{opacity:1;transform:none}.project-info{display:flex;justify-content:space-between;padding:1.2rem 0;border-bottom:1px solid var(--line)}.project-info span,.project-info small{display:block;color:var(--muted);font:300 .58rem var(--mono);text-transform:uppercase;letter-spacing:.08em}.project-info h3{font:500 1.5rem var(--sans);margin:.5rem 0}.project-info>div:last-child{text-align:right}.project-info small{margin-top:.6rem;font-size:.5rem;color:#756f67}
.transformation{background:#0e0e0c}.comparison{height:min(52vw,680px);position:relative;overflow:hidden;background:#14130f}.compare-layer{position:absolute;inset:0;display:flex;align-items:flex-end;padding:2rem;font:300 .65rem var(--mono);letter-spacing:.12em;text-transform:uppercase}.before{background:linear-gradient(#5557,#1119),linear-gradient(135deg,#6e6a5b,#30332e 55%,#85827b);filter:saturate(.15)}.after{clip-path:inset(0 calc(100% - var(--position)) 0 0);background:radial-gradient(circle at 70% 27%,#f2b256 0 4%,transparent 20%),linear-gradient(135deg,#141a18,#5b4029 55%,#c07337);color:white}.compare-divider{position:absolute;top:0;bottom:0;left:var(--position);width:1px;background:white;pointer-events:none}.compare-divider b{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--paper);color:var(--ink)}.comparison input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}
.about{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;align-items:center}.portrait{aspect-ratio:4/5;background:linear-gradient(145deg,#2a2824,#121110);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid var(--line);color:#7e7970;font:500 clamp(2rem,4vw,4rem)/.95 var(--serif);font-style:italic}.portrait small{font:300 .55rem var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-top:2rem}.about-copy p{font-size:1.05rem;line-height:1.8;color:#aaa69e;max-width:42rem}.about-copy blockquote{font:600 italic clamp(2rem,4vw,4rem) var(--serif);margin:4rem 0 0;color:var(--gold)}
.toolkit{border-top:1px solid var(--line)}.toolkit>h2{margin-bottom:5rem}.skill-list>div{display:grid;grid-template-columns:80px .65fr 1fr;align-items:center;padding:2rem 0;border-top:1px solid var(--line)}.skill-list>div:last-child{border-bottom:1px solid var(--line)}.skill-list span{font:300 .65rem var(--mono);color:var(--gold)}.skill-list h3{font-size:2rem;margin:0}.skill-list p{color:var(--muted);margin:0}.demo-note{font:300 .55rem var(--mono);color:#77736b;text-transform:uppercase;letter-spacing:.08em;margin-top:1rem}
.contact{text-align:center;background:linear-gradient(180deg,#0a0a09,#18130e);min-height:85vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.contact h2{font-size:clamp(4rem,10vw,10rem)}.contact>p{color:var(--muted);max-width:35rem;line-height:1.7}.contact-disabled{margin:3rem 0 5rem;min-width:290px;display:flex;justify-content:space-between;background:transparent;color:#817a70;border:1px solid #443b31;padding:1.3rem 1.5rem;cursor:not-allowed}.contact-meta{display:flex;gap:3rem;color:#6f6a62;font:300 .55rem var(--mono);text-transform:uppercase;letter-spacing:.08em}footer{height:110px;padding:0 4vw;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#77736c;font:300 .6rem var(--mono);text-transform:uppercase;letter-spacing:.08em}
dialog{width:min(90vw,720px);border:1px solid #5b5145;background:#12110f;color:var(--paper);padding:5rem;box-shadow:0 30px 120px #000}dialog::backdrop{background:#000c;backdrop-filter:blur(8px)}dialog h2{font-size:3.5rem;margin-bottom:1.5rem}dialog p{line-height:1.7;color:var(--muted)}dialog code{color:var(--gold)}.dialog-close{position:absolute;right:1rem;top:1rem;border:0;background:transparent;color:white;font-size:2rem;cursor:pointer}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease;transition-delay:var(--delay,0ms)}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:800px){.site-header{height:72px}.brand-word,.availability{display:none}.site-header nav{gap:1.2rem}.hero{padding-top:120px}.hero-kicker span:nth-child(2){display:none}h1{font-size:clamp(4rem,18vw,7rem);margin-top:8vh}.hero-stage{width:100%;height:62vw;margin-top:1rem}.play{width:68px;height:68px}.stage-caption span:last-child{display:none}.section{padding:7rem 5vw}.section-head{grid-template-columns:1fr;gap:1rem;margin-bottom:3rem}.project-grid{display:block}.project-card{margin-bottom:3.5rem}.project-info{gap:1rem}.comparison{height:80vw}.about{grid-template-columns:1fr}.portrait{max-width:520px}.skill-list>div{grid-template-columns:45px 1fr}.skill-list p{grid-column:2;margin-top:.8rem}.contact-meta{flex-direction:column;gap:1rem}footer{padding:1rem 5vw}.hero-copy{margin-left:0}.section h2{font-size:clamp(3rem,14vw,5.5rem)}dialog{padding:4rem 2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee div{animation:none}.reveal{opacity:1;transform:none;transition:none}.preview-motion,.play{transition:none}}

/* Aldrin's confirmed red and black direction */
.section{padding:9rem 4vw}
.section h2{font-size:clamp(3rem,5.6vw,5.8rem)}
.eyebrow{font-weight:400}
.palette-amber{background:linear-gradient(145deg,#070707 10%,#351017 55%,#e31b2f)}
.palette-red{background:linear-gradient(35deg,#050505,#5c0b17 55%,#ff243b)}
.palette-blue{background:linear-gradient(145deg,#050505,#21070b 55%,#a10f20)}
.palette-olive{background:linear-gradient(35deg,#050505,#3a0a11 62%,#cf182a)}
.palette-violet{background:linear-gradient(150deg,#050505,#28070d 60%,#77101d)}
.transformation{background:#090909}
.after{background:radial-gradient(circle at 70% 27%,#ff334a 0 4%,transparent 20%),linear-gradient(135deg,#090909,#3d0810 55%,#d3192d)}
.portrait{background:linear-gradient(145deg,#20070b,#090909);color:#858585}
.about-copy blockquote{font-size:clamp(1.8rem,3vw,3rem)}
.contact{background:linear-gradient(180deg,#050505,#190408);min-height:80vh}
.contact h2{font-size:clamp(3.4rem,7.5vw,7.5rem)}
.contact-disabled{border-color:#5e1820}
dialog{border-color:#5e1820;background:#0b0b0b}
@media(max-width:800px){h1{font-size:clamp(3.2rem,14vw,5.4rem)}.section h2{font-size:clamp(2.7rem,11vw,4.5rem)}}

/* Tighter editorial scale and cleaner content rhythm */
.hero{padding-top:140px}
h1{font-size:clamp(3.2rem,6.4vw,6.2rem);margin:4vh 0 1.5rem}
.hero-copy{font-size:clamp(.9rem,1.15vw,1.05rem);max-width:32rem;margin:0 0 2.25rem auto;color:#aaa}
.hero-stage{margin:0 auto}
.section{padding:7rem 4vw}
.section h2{font-size:clamp(2.6rem,4.4vw,4.5rem)}
.work .section-head{grid-template-columns:1fr;margin-bottom:3rem}
.contact h2{font-size:clamp(3rem,5.8vw,5.8rem)}
@media(max-width:800px){.hero{padding-top:110px}.hero-kicker span:nth-child(2){display:none}h1{font-size:clamp(2.8rem,11.5vw,4.4rem)}.hero-copy{margin:0 0 1.5rem}.section{padding:5.5rem 5vw}.section h2{font-size:clamp(2.35rem,9.5vw,3.8rem)}}
.contact-actions{display:flex;gap:.75rem;margin:3rem 0 5rem;flex-wrap:wrap;justify-content:center}.contact-link{min-width:min(90vw,360px);display:flex;justify-content:space-between;background:transparent;color:var(--paper);border:1px solid #5e1820;padding:1.3rem 1.5rem;transition:background .25s,border-color .25s,color .25s}
.contact-link:hover,.contact-link:focus-visible{background:var(--gold);border-color:var(--gold);color:white}

/* Keep the hero statement visually connected */
.hero-message{max-width:74rem;margin:3.5rem auto 2.5rem}
.hero-message h1{margin:0;font-size:clamp(3.2rem,6vw,6rem)}
.hero-message h1 em{text-align:left;margin-left:clamp(2rem,8vw,8rem);margin-top:.18em}
.hero-message .hero-copy{margin:1.35rem 0 0 clamp(2rem,8vw,8rem);max-width:31rem}
@media(max-width:800px){.hero-message{margin:2.5rem 0 1.75rem}.hero-message h1{font-size:clamp(2.8rem,11vw,4.1rem)}.hero-message h1 em{margin-left:1.5rem}.hero-message .hero-copy{margin:1rem 0 0 1.5rem}}

/* Real portrait supplied by Aldrin */
.portrait{position:relative;margin:0;overflow:hidden;padding:0;display:block;background:#090909}
.portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 45%;filter:saturate(.72) contrast(1.08)}
.portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,#050505d9 100%),linear-gradient(135deg,#e31b2f16,transparent 46%);pointer-events:none}
.portrait figcaption{position:absolute;z-index:2;left:1.25rem;right:1.25rem;bottom:1.2rem;display:flex;align-items:end;justify-content:space-between;gap:1rem;color:var(--paper);text-align:left}
.portrait figcaption span{font-size:.85rem;font-style:normal;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.portrait figcaption small{margin:0;font-size:.55rem;text-align:right;color:#c8c8c8}
