/* Phase 3: original artwork, continuous editorial chapters, native scrolling. */
body[data-page="home"] .brooklyn-introduction.introduction-hero{position:relative;isolation:isolate;min-height:100svh;padding:130px 6vw 125px;background:radial-gradient(ellipse at 15% 30%,#28382d 0,transparent 60%),#101714;overflow:clip}
.introduction-hero:after{content:'';position:absolute;inset:auto 0 0;height:120px;background:linear-gradient(transparent,#20241b);pointer-events:none;z-index:-1}
.introduction-hero .brooklyn-portrait{border-color:#b9ae99;box-shadow:0 0 0 12px #d1cfb807,0 28px 80px #0004;transform:perspective(900px) rotateX(var(--portrait-rx,0deg)) rotateY(var(--portrait-ry,0deg)) translateY(var(--intro-drift,0px));transition:transform .3s ease-out,box-shadow .4s,border-color .4s;animation:intro-portrait-in 1.1s cubic-bezier(.2,.7,.2,1) both}
.introduction-hero .brooklyn-portrait:hover{border-color:#e89b7e;box-shadow:0 0 0 16px #d1cfb80b,0 35px 90px #0005}
.introduction-hero .brooklyn-intro-copy h1{font:500 clamp(44px,6vw,100px)/1.04 'Manrope',sans-serif;letter-spacing:-.065em;margin:24px 0 32px}
.introduction-hero .brooklyn-intro-copy>*{animation:intro-copy-in .85s cubic-bezier(.2,.7,.2,1) both}
.introduction-hero .brooklyn-intro-copy>:nth-child(2){animation-delay:.1s}.introduction-hero .brooklyn-intro-copy>:nth-child(3){animation-delay:.2s}.introduction-hero .brooklyn-intro-copy>:nth-child(4){animation-delay:.3s}.introduction-hero .brooklyn-intro-copy>:nth-child(5){animation-delay:.4s}
.intro-scroll-link{position:absolute;bottom:36px;right:6vw;display:flex;gap:45px;align-items:center;color:#dedfcb;text-decoration:none;font:10px 'DM Mono',monospace;letter-spacing:.13em;padding:14px 0;border-bottom:1px solid #dedfcb50;animation:intro-copy-in 1s .5s both}.intro-scroll-link span{font-size:22px;transition:transform .3s}.intro-scroll-link:hover span{transform:translateY(5px)}
html.android-running .introduction-hero .brooklyn-portrait,html.android-running .introduction-hero .brooklyn-intro-copy>*,html.android-running .intro-scroll-link{animation-play-state:paused}
@keyframes intro-portrait-in{from{opacity:0;clip-path:circle(35%);filter:blur(5px)}to{opacity:1;clip-path:circle(51%);filter:blur(0)}}
@keyframes intro-copy-in{from{opacity:0;translate:0 26px;clip-path:inset(0 0 20%)}to{opacity:1;translate:0 0;clip-path:inset(0)}}
@media(max-width:800px){body[data-page="home"] .brooklyn-introduction.introduction-hero{padding:110px 7vw 110px;gap:40px}.introduction-hero .brooklyn-portrait{max-width:300px;width:76vw}.introduction-hero .brooklyn-intro-copy h1{font-size:clamp(42px,8.5vw,70px)}.intro-scroll-link{right:7vw;bottom:25px}}
@media(prefers-reduced-motion:reduce){.introduction-hero .brooklyn-portrait,.introduction-hero .brooklyn-intro-copy>*,.intro-scroll-link{animation:none!important;transition:none!important}.introduction-hero .brooklyn-portrait{transform:none}.intro-scroll-link span{transition:none}}
:root{--phase-ink:#20241b;--phase-paper:#f0edde;--phase-red:#e53924;--phase-muted:#bfc0ae}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{cursor:auto}a,button{cursor:pointer}body .cursor-dot,body .cursor-ring{display:none!important}
body[data-page="home"]{background:var(--phase-ink);color:var(--phase-paper);overflow-x:clip}
body[data-page="home"] main{overflow:visible}
.phase-sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}
body .site-header,body[data-page="home"] .site-header{position:fixed;inset:0 0 auto;z-index:90;padding:22px 30px;background:none;border:0;pointer-events:none;mix-blend-mode:normal}
.site-header .monogram{pointer-events:auto;color:#f0edde!important;text-shadow:0 1px 3px #20241b80;background:transparent;padding:8px 12px;border-radius:0}
.site-header nav{pointer-events:auto}.site-menu-toggle{pointer-events:auto;position:fixed;top:22px;right:30px;width:48px;height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #eeead855;background:#20241bf2;color:var(--phase-paper);border-radius:3px;z-index:91}
.site-menu-toggle span{width:20px;height:1px;background:currentColor;transition:transform .3s,opacity .3s}
.site-menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(6px) rotate(45deg)}.site-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.site-menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-6px) rotate(-45deg)}
.site-menu{inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:100px 8vw 45px;border:0;background:#20241b;color:var(--phase-paper);overflow:auto}
.site-menu[open]{display:flex;flex-direction:column;justify-content:space-between;animation:menu-reveal .35s ease both}.site-menu::backdrop{background:#20241b}
.site-menu nav{display:flex;flex-direction:column;margin:4vh 0}.site-menu nav a{font:600 clamp(48px,9vw,140px)/1.25 'Syne',sans-serif;color:inherit;text-decoration:none;border-bottom:1px solid #eeead838;letter-spacing:-.055em;transition:padding .25s,color .25s}
.site-menu nav a:before{content:attr(data-index);font:12px 'DM Mono',monospace;letter-spacing:0;display:inline-block;width:50px;vertical-align:middle}.site-menu nav a:hover,.site-menu nav a:focus-visible{color:#ea614a;padding-left:18px}.site-menu nav a[aria-current]:after{content:'•';font-size:20px;margin-left:24px;vertical-align:middle}
.menu-footnote,.chapter-label{font:11px/1.6 'DM Mono',monospace;letter-spacing:.15em}.site-menu-open{overflow:hidden}
:focus-visible{outline:2px solid #e46d53;outline-offset:6px}
@keyframes menu-reveal{from{opacity:0;clip-path:inset(0 0 100%)}to{opacity:1;clip-path:inset(0)}}
.boot-panel{text-align:center}.boot-panel .loader-mark{font:800 clamp(80px,15vw,180px)/1 'Syne',sans-serif;letter-spacing:-.08em}.loader-mark span{font:20px 'DM Mono',monospace;vertical-align:top;letter-spacing:0}.boot-track{height:5px;padding:0;border:0;background:#f0edde25}.android-intro{transition:opacity .45s,visibility .45s;background:var(--phase-ink)}.android-intro.boot-complete{opacity:0;pointer-events:none}
.poster-chapter{height:270svh;position:relative;background:var(--phase-ink)}
.poster-pin{height:100svh;position:sticky;top:0;overflow:hidden;display:grid;place-items:center;isolation:isolate}
.poster-pin:before{content:'';position:absolute;inset:0;z-index:-1;background:repeating-radial-gradient(ellipse at 20% 50%,transparent 0 110px,#cbd0ae09 111px 112px,transparent 113px 190px);pointer-events:none}
.poster-pin>.chapter-label{position:absolute;top:100px;left:0;right:0;text-align:center;z-index:4}.poster-folio{position:absolute;bottom:35px;text-align:center;font:10px 'DM Mono',monospace;letter-spacing:.16em;z-index:4}
.cat-poster{width:min(37vw,48svh,470px);margin:0;position:relative;z-index:2;transform-origin:center;will-change:transform;box-shadow:0 20px 80px #0005}
.cat-poster img{display:block;width:100%;height:auto}.kinetic-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;pointer-events:none;z-index:1}
.kinetic-line{width:max-content;white-space:nowrap;margin:0;line-height:1.02;letter-spacing:-.05em;will-change:transform;font-size:clamp(64px,12vw,230px)}.kinetic-serif{font-family:Georgia,serif;font-weight:400;color:#d26c4b}.kinetic-sans{font-family:'Syne',sans-serif;font-weight:700}
.kinetic-line{display:flex;animation:kinetic-flow 24s linear infinite}
.kinetic-line>span{display:block;flex:none;padding-right:6vw}
.kinetic-sans{animation-direction:reverse;animation-duration:28s}
@keyframes kinetic-flow{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.kinetic-line{animation:none;transform:translateX(-15%)}}
.poster-signature{position:absolute;z-index:3;pointer-events:none;font:italic 30vw/.8 Georgia,serif;color:#ed583a;transform:rotate(-12deg);opacity:.16}
.editorial-manifesto{padding:13vh 6vw 14vh;text-align:center;background:var(--phase-ink);position:relative;overflow:clip}
.editorial-manifesto h2{font:500 clamp(34px,5.8vw,110px)/1.08 'Manrope',sans-serif;letter-spacing:-.06em;margin:70px auto 48px;max-width:1700px;text-transform:uppercase}
.manifesto-line{display:block;--word-reveal:100%;color:#f0edde;background:linear-gradient(90deg,#f0edde var(--word-reveal),#8c927f var(--word-reveal));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.manifesto-line em{font-family:Georgia,serif;font-weight:400;text-transform:none;font-size:1.11em;color:#d97656;-webkit-text-fill-color:#d97656}
.manifesto-note{max-width:590px;margin:0 auto 36px;color:#c5c6b6;font-size:clamp(16px,1.45vw,22px);line-height:1.65}.phase-text-link{display:inline-flex;gap:40px;color:inherit;font:11px 'DM Mono',monospace;letter-spacing:.1em;padding:16px 0;text-decoration:none;border-bottom:1px solid #f0edde70}
.project-stream{padding:10vh 6vw 14vh;background:linear-gradient(var(--phase-ink),#151b17);overflow:clip}.stream-heading{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:end;margin-bottom:100px}.stream-heading .chapter-label{grid-column:1/-1}.stream-heading h2{font:500 clamp(42px,6vw,110px)/1 'Manrope',sans-serif;letter-spacing:-.055em;margin:0}.stream-heading h2 em{font-family:Georgia,serif;font-weight:400}.stream-heading>p:last-child{max-width:280px;justify-self:end;color:#bfc0ae;line-height:1.7}
.featured-stream{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:3vw;row-gap:110px;align-items:start}
.stream-item{min-width:0}.stream-item>a{display:block;color:inherit;text-decoration:none;transform-origin:center}.stream-major{grid-column:span 7}.stream-major:nth-child(2){grid-column:8/13;margin-top:170px}.stream-major:nth-child(3){grid-column:1/6;margin-top:-30px}.stream-major:nth-child(4){grid-column:6/13;margin-top:120px}
.stream-minor{grid-column:span 4;margin-top:35px}.stream-minor:nth-child(3n+2){margin-top:130px}.stream-minor:last-child{grid-column:5/9}
.stream-media{overflow:hidden;aspect-ratio:1.25;background:#272d25}.stream-major:nth-child(2) .stream-media,.stream-major:nth-child(3) .stream-media{aspect-ratio:.88}.stream-minor .stream-media{aspect-ratio:1.4}
.stream-media img{display:block;width:100%;height:100%;object-fit:cover;transition:filter .3s}.stream-item a:hover img{filter:brightness(1.13)}.stream-item a:focus-visible{clip-path:none!important;opacity:1!important;transform:none!important}
.stream-meta{display:flex;justify-content:space-between;gap:12px;font:10px/1.5 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;color:#c0c5b7}.stream-meta>span:last-child{font-size:22px}
.stream-item h3{font:500 clamp(20px,2.2vw,36px)/1.18 'Manrope',sans-serif;letter-spacing:-.04em;margin:20px 0 10px;max-width:700px}.stream-minor h3{font-size:clamp(18px,1.6vw,25px)}.stream-status{font:10px 'DM Mono',monospace;color:#bfc0ae;text-transform:uppercase;letter-spacing:.07em}
.phase-gallery-link{margin-top:100px;display:flex;align-items:center;justify-content:space-between;color:inherit;border-top:1px solid #d4d6bd55;border-bottom:1px solid #d4d6bd55;padding:28px 0;text-decoration:none;font:500 clamp(25px,4vw,64px)/1.2 'Syne',sans-serif}.phase-gallery-link span{transition:transform .3s}.phase-gallery-link:hover span{transform:translate(8px,-8px)}
body[data-page="home"] .brooklyn-introduction{background:#101714;padding:12vh 6vw;scroll-margin-top:80px;min-height:90svh}.brooklyn-intro-copy h2{font:500 clamp(42px,6vw,100px)/1.05 'Manrope',sans-serif;letter-spacing:-.065em;margin:25px 0 40px}
body[data-page="home"] .education-section{background:#101714;padding:50px 6vw 110px;color:var(--phase-paper)}
body[data-page="home"] .lil-entry{margin:0;padding:8vh 6vw;border:0;background:#252d24;min-height:550px}body[data-page="home"] .public-email{padding:70px 6vw;background:#101714;flex-wrap:wrap}body[data-page="home"] .public-email a{overflow-wrap:anywhere}
body[data-page="home"] .about-github{background:var(--phase-red);padding:75px 6vw;margin:0}body[data-page="home"] .about-github strong{font-size:clamp(25px,5.2vw,86px)}body[data-page="home"] .contact-section{background:var(--phase-paper);color:#111;padding:100px 6vw;opacity:1;transform:none}body[data-page="home"] .closing{padding:12vh 6vw;background:var(--phase-red);opacity:1;transform:none}body[data-page="home"] .closing h2{font-size:clamp(42px,7.5vw,140px)}
.gallery-index-title{padding:120px 0 50px}.gallery-index-title h1{font:500 clamp(55px,8vw,130px)/1 'Manrope',sans-serif;letter-spacing:-.06em;margin:20px 0}.gallery-main{padding-top:0!important}
@media(max-width:800px){body .site-header,body[data-page="home"] .site-header{padding:16px}.site-menu-toggle{right:16px;top:16px}.site-menu{padding:100px 7vw 35px}.poster-chapter{height:230svh}.poster-pin>.chapter-label{top:90px}.editorial-manifesto{padding:90px 6vw}.editorial-manifesto h2{margin:50px 0 35px}.manifesto-line{display:inline}.manifesto-line:after{content:' '}.stream-heading{display:block;margin-bottom:60px}.stream-heading h2{margin:30px 0}.stream-heading>p:last-child{max-width:none}.featured-stream{gap:70px 5vw}.stream-major,.stream-major:nth-child(2),.stream-major:nth-child(3),.stream-major:nth-child(4){grid-column:1/-1;margin-top:0}.stream-major:nth-child(2),.stream-major:nth-child(4){grid-column:2/-1}.stream-major:nth-child(2) .stream-media,.stream-major:nth-child(3) .stream-media{aspect-ratio:1.1}.stream-minor,.stream-minor:nth-child(3n+2),.stream-minor:last-child{grid-column:span 6;margin-top:0}.stream-minor:last-child{grid-column:3/11}.stream-meta{font-size:9px}.stream-item h3{font-size:24px}.stream-minor h3{font-size:18px}.phase-gallery-link{margin-top:65px}.brooklyn-intro-copy h2{font-size:clamp(40px,8vw,64px)}body[data-page="home"] .lil-entry{padding:60px 6vw}body[data-page="home"] .contact-section{padding:70px 6vw}.poster-folio{font-size:8px;bottom:25px}}
@media(max-width:420px){.stream-minor,.stream-minor:nth-child(3n+2),.stream-minor:last-child{grid-column:2/12}.stream-minor h3{font-size:21px}.stream-minor .stream-media{aspect-ratio:1.35}.kinetic-line{font-size:68px}.poster-folio{max-width:210px;line-height:1.7}.site-menu nav a:before{width:30px}.phase-gallery-link{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.poster-chapter{height:100svh;min-height:540px}.poster-pin{position:relative;min-height:540px}.site-menu[open]{animation:none}.site-menu nav a,.stream-media img,.site-menu-toggle span{transition:none}.manifesto-line{background:none;-webkit-text-fill-color:var(--phase-paper)}.stream-item>a{transform:none!important;opacity:1!important;clip-path:none!important}}
