@font-face{font-family:Space;src:url('./assets/SpaceGrotesk-Variable.woff2') format('woff2');font-style:normal;font-weight:300 700;font-display:swap}
:root{--ink:#090909;--paper:#e8e6de;--orange:#ff4b0a;--line:#ffffff26;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ink);color:var(--paper);font-family:Space,Arial,sans-serif;overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--orange);outline-offset:7px}img{display:block;width:100%;height:100%;object-fit:cover}figure,p,h1,h2{margin:0}::selection{background:var(--orange);color:var(--ink)}.mono{font:10px/1.4 'Courier New',monospace;letter-spacing:.065em}.orange{color:var(--orange)}.skip{position:fixed;top:-60px;left:24px;z-index:100;background:var(--orange);color:#000;padding:12px}.skip:focus{top:10px}.nav{position:absolute;top:0;left:0;right:0;height:100px;padding:0 3.2vw;display:flex;align-items:center;justify-content:space-between;z-index:20}.brand{width:106px;display:block}.nav-note{font:9px 'Courier New',monospace;letter-spacing:.1em;margin-left:7vw}.nav nav{display:flex;gap:40px;font-size:11px;font-weight:500}.nav nav span{font-size:8px;margin-left:10px;opacity:.65}.nav a:hover{color:var(--orange)}.hero-track{height:166svh}.sticky{position:sticky;top:0;height:100svh;min-height:560px;overflow:hidden}.hero{background:#151b1a}.hero-image{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}.hero-image img{object-position:50% 46%;transform:scale(1.045);will-change:transform;filter:brightness(.8)}.hero-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#0005,transparent 33%,#0001 50%,#0005)}.hero-grid{position:absolute;inset:100px 3.2vw 61px;pointer-events:none;border-top:1px solid #ffffff29;border-bottom:1px solid #ffffff29}.hero-grid:after{content:'+';position:absolute;top:28%;left:50%;font:22px 'Courier New';color:#ffffffa0}.hero-meta{position:absolute;top:119px;left:3.2vw;right:3.2vw;display:flex;justify-content:space-between}.hero-title{pointer-events:none;position:absolute;left:2.4vw;bottom:87px;color:var(--orange);font-size:clamp(90px,15.7vw,330px);font-weight:600;line-height:.77;letter-spacing:-.065em;display:flex;flex-direction:column;white-space:nowrap;width:95vw}.title-one{align-self:flex-start;will-change:transform}.title-two{align-self:flex-end;position:relative;margin-top:.09em;padding-right:.075em;will-change:transform}.title-dot{font-size:.09em;letter-spacing:0;position:absolute;right:-.35em;top:.12em}.hero-bottom{position:absolute;bottom:24px;left:3.2vw;right:3.2vw;display:flex;align-items:center;justify-content:space-between}.hero-bottom a{display:flex;align-items:center;gap:34px}.down{font-size:25px}.identity{padding:65px 5vw 32px;position:relative;overflow:hidden}.identity-top,.identity-bottom{display:flex;justify-content:space-between;align-items:center}.identity-top{color:#868681}.identity-copy{display:flex;align-items:center;justify-content:space-between;margin-top:87px}.identity-copy p{font-size:clamp(30px,4.6vw,86px);font-weight:400;letter-spacing:-.055em;line-height:1.05}.identity-copy em,.closing-words em{font-style:normal;color:#858580}.small-cross{font-size:56px;font-weight:300;color:var(--orange);margin-right:6vw}.identity-bottom{border-top:1px solid var(--line);padding-top:20px}.selected,.night-gallery{padding:105px 5vw 100px}.section-bar{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:17px;margin-bottom:70px}.section-bar h2{font:inherit}.photo-grid,.night-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:0 2.5vw}.photo-card{min-width:0}.photo-card button{display:block;width:100%;overflow:hidden;background:#141414}.photo-card img{aspect-ratio:3/2;transition:transform 1s cubic-bezier(.2,.8,.2,1),filter .5s;will-change:transform}.photo-card button:hover img{transform:scale(1.035)}figcaption{display:flex;justify-content:space-between;padding-top:12px;font:9px 'Courier New',monospace;letter-spacing:.08em;color:#999b94}figcaption span:last-child{color:var(--paper);font-size:14px;line-height:.7}.card-a{grid-column:1/9}.index-note{grid-column:10/13;align-self:end;padding-bottom:8px;font-size:10px;color:#999b94}.index-note .orange{font-size:18px}.index-note p{margin:35px 0}.thin-rule{display:block;width:36px;height:1px;background:var(--orange)}.card-b{grid-column:8/13;margin-top:120px}.card-b img{aspect-ratio:1.05;object-position:48% center}.card-c{grid-column:1/9;margin-top:65px}.card-c img{aspect-ratio:1.58}.red-track{height:155svh}.red-room{background:#430e09}.red-room>button{position:absolute;inset:0;width:100%;height:100%}.red-room img{object-position:center 40%;transform:scale(1.05);will-change:transform}.red-vignette{position:absolute;inset:0;background:linear-gradient(90deg,#24030155,transparent 70%);pointer-events:none}.red-label{position:absolute;top:35px;left:5vw;pointer-events:none}.red-type{pointer-events:none;position:absolute;left:4vw;bottom:12vh;font-size:clamp(60px,14.3vw,260px);font-weight:500;line-height:.78;letter-spacing:-.065em;color:#ff6a2c;mix-blend-mode:screen}.red-type span{display:block}.red-type span+span{margin-top:.1em}.red-bottom{position:absolute;bottom:30px;left:5vw;right:5vw;display:flex;justify-content:space-between;pointer-events:none}.night-gallery{padding-top:75px}.card-d{grid-column:2/8}.card-e{grid-column:9/13;margin-top:210px}.card-e img{aspect-ratio:.85}.closing-words{grid-column:1/6;margin-top:160px;font-size:clamp(40px,6vw,110px);letter-spacing:-.06em;line-height:1}.card-f{grid-column:6/12;margin-top:180px}.card-g{grid-column:2/7;margin-top:140px}.card-g img{aspect-ratio:1.15;object-position:50% 60%}footer{padding:0 3.2vw 25px;margin-top:90px}.footer-top{border-top:1px solid var(--line);padding-top:28px;display:grid;grid-template-columns:1fr 1fr auto;gap:30px;align-items:start}.footer-top p{font-size:clamp(15px,1.6vw,28px);letter-spacing:-.025em;line-height:1.3}.top-link{color:var(--orange);font-size:42px;line-height:.8}.footer-name{font-size:19.3vw;letter-spacing:-.065em;font-weight:600;line-height:.75;color:var(--orange);margin-top:130px;overflow:hidden;padding-bottom:10px}.footer-name>span{display:block}.footer-name>span+span{margin-top:.13em;display:flex;align-items:center;justify-content:space-between;padding-right:1vw}.footer-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ff4b0a66;padding-top:24px;margin-top:48px;color:#a2a29c}.footer-bottom button{font:inherit}.footer-bottom button span{color:var(--orange);margin-left:8px}.grain{display:none}#texture{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:12;opacity:.65}#cursor{position:fixed;left:0;top:0;width:76px;height:76px;border:1px solid #e8e6de80;border-radius:50%;display:grid;place-items:center;z-index:40;pointer-events:none;opacity:0;transition:opacity .2s,scale .3s;scale:.8;background:#08080820;backdrop-filter:blur(3px)}#cursor span{font:9px 'Courier New',monospace}#cursor.active{opacity:1;scale:1}[data-reveal]{opacity:1;transform:none}.js-motion [data-reveal]{opacity:0;transform:translateY(45px);transition:opacity .85s,transform 1.1s cubic-bezier(.2,.75,.15,1)}.js-motion [data-reveal].in-view{opacity:1;transform:none}dialog{position:fixed;inset:0;width:100vw;height:100svh;max-width:none;max-height:none;border:0;padding:80px 90px;background:#090909f5;color:var(--paper);overflow:hidden}dialog::backdrop{background:#090909}dialog[open]{display:flex;align-items:center;justify-content:center;z-index:100}#lightbox-image{width:100%;height:100%;object-fit:contain}.lightbox-toolbar{position:absolute;top:30px;left:35px;right:35px;display:flex;justify-content:space-between}.lightbox-toolbar button{font:inherit;padding:10px;margin:-10px}.lightbox-bottom{position:absolute;bottom:28px;left:0;right:0;text-align:center;color:#aaa}#prev,#next{position:absolute;top:50%;font-size:30px;padding:20px}#prev{left:8px}#next{right:8px}.reduced-motion html{scroll-behavior:auto}.reduced-motion #texture{display:none}.reduced-motion [data-reveal]{opacity:1;transform:none;transition:none}.reduced-motion *{scroll-behavior:auto!important}.reduced-motion .photo-card img{transition:none}
@media(min-width:1900px){.mono{font-size:12px}.nav nav{font-size:14px}.nav{height:120px}.hero-grid{top:120px}.hero-meta{top:140px}figcaption{font-size:12px}.selected,.night-gallery{max-width:2300px;margin:auto}}
@media(max-width:700px){.nav{height:80px;padding:0 6vw}.brand{width:83px}.nav-note{display:none}.nav nav{gap:24px;font-size:10px}.nav nav span{margin-left:5px}.hero-track{height:135svh}.sticky{min-height:500px}.hero-grid{inset:80px 6vw 66px}.hero-meta{top:100px;left:6vw;right:6vw;font-size:8px}.hero-image img{object-position:49% 40%}.hero-title{left:4vw;font-size:17vw;bottom:112px;line-height:.84;width:91vw;letter-spacing:-.075em}.title-two{font-size:1.42em;margin-top:.1em}.hero-bottom{left:6vw;right:6vw;bottom:26px;font-size:8px}.hero-bottom a{gap:17px}.coordinate{display:none}.identity{padding:45px 6vw 25px}.identity-top,.identity-bottom{font-size:8px}.identity-copy{margin-top:65px}.identity-copy p{font-size:32px}.small-cross{font-size:30px;margin:0}.identity-bottom span:nth-child(2){font-size:7px}.selected,.night-gallery{padding:70px 6vw}.section-bar{margin-bottom:45px;font-size:8px}.photo-grid,.night-grid{grid-template-columns:repeat(6,1fr);gap:0 4vw}.card-a{grid-column:1/7}.index-note{grid-column:1/3;grid-row:2;align-self:center;padding-top:40px;font-size:7px}.index-note p{margin:20px 0}.card-b{grid-column:3/7;margin-top:80px}.card-c{grid-column:1/7;margin-top:75px}.red-track{height:120svh}.red-room img{object-position:58% center}.red-type{font-size:22vw;bottom:18vh;left:5vw}.red-bottom{font-size:8px}.card-d{grid-column:1/6}.card-e{grid-column:3/7;margin-top:70px}.closing-words{grid-column:1/7;font-size:52px;margin-top:80px}.card-f{grid-column:2/7;margin-top:65px}.card-g{grid-column:1/6;margin-top:70px}figcaption{font-size:8px}.footer-top{grid-template-columns:1fr auto;gap:27px}.footer-top>.mono{grid-column:1/3;font-size:8px}.footer-top p{font-size:16px}.footer-name{margin-top:75px;font-size:19vw}.footer-bottom{font-size:7px;gap:15px;margin-top:30px}.footer-bottom>span:last-child{display:none}footer{margin-top:10px;padding:0 6vw 25px}#cursor{display:none}dialog{padding:80px 18px}#prev,#next{top:auto;bottom:10px;font-size:24px}.lightbox-toolbar{left:22px;right:22px}.grain{opacity:.035}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js-motion [data-reveal]{opacity:1;transform:none;transition:none}#texture{display:none}}


@media(min-width:701px){.hero-title{height:calc(100% - 250px);justify-content:space-between}.title-two{margin-top:0}.card-b img{aspect-ratio:1.5}}

@media(prefers-reduced-motion:no-preference){body:not(.loaded) .hero-image{animation:opening 1.5s cubic-bezier(.2,.7,.1,1) both}@keyframes opening{from{clip-path:inset(38% 0 38% 0)}to{clip-path:inset(0)}}}


.brand{width:auto;display:flex;align-items:center;gap:13px}.brand>span{font-size:11px;line-height:1.16;font-weight:500;letter-spacing:.055em}.nav-note{position:absolute;left:50vw;margin-left:0;transform:translateX(-50%);text-align:center;white-space:nowrap}.hero-bottom>a{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap}
#texture{opacity:1;image-rendering:auto}
@media(max-width:700px){.brand{width:auto;gap:9px}.brand>span{font-size:8px}}
@media(max-width:700px){.brand>span{font-size:8px}.brand{gap:10px}}


.signal-run{position:relative;display:inline-block}
.signal-run::before,.signal-run::after{content:attr(data-signal) / "";position:absolute;inset:0;pointer-events:none;opacity:0;white-space:pre;color:inherit}
.signal-run::before{clip-path:inset(24% 0 57% 0)}
.signal-run::after{clip-path:inset(68% 0 19% 0)}
.signal-active .signal-run{animation:signal-cut 420ms steps(1,end) both}
.signal-active .signal-run::before{animation:signal-upper 420ms steps(1,end) both;color:#fff}
.signal-active .signal-run::after{animation:signal-lower 420ms steps(1,end) both;color:#fff}
@keyframes signal-cut{
 0%,100%{clip-path:inset(0);opacity:1;color:inherit;text-shadow:none;transform:none}
 14%{clip-path:inset(0);opacity:1;color:#fff;text-shadow:0 0 .035em #fff9,0 0 .13em #fff4;transform:skewX(calc(-2deg * var(--signal-direction,1)))}
 29%{clip-path:polygon(0 0,100% 0,100% 38%,0 38%,0 46%,100% 46%,100% 100%,0 100%);opacity:.82;color:inherit;text-shadow:none;transform:none}
 45%{clip-path:inset(0);opacity:1;color:inherit;text-shadow:none;transform:none}
 67%{clip-path:polygon(0 0,100% 0,100% 69%,0 69%,0 74%,100% 74%,100% 100%,0 100%);opacity:.94;transform:translateX(calc(-1px * var(--signal-direction,1)))}
 82%{clip-path:inset(0);opacity:1;transform:none}
}
@keyframes signal-upper{
 0%,100%{opacity:0;transform:none}
 14%{opacity:1;transform:translateX(calc(clamp(3px,.055em,12px) * var(--signal-direction,1)))}
 29%{opacity:.6;transform:translateX(calc(clamp(2px,.035em,8px) * var(--signal-direction,1)))}
 45%{opacity:0;transform:none}
 67%{opacity:.7;transform:translateX(calc(-3px * var(--signal-direction,1)))}
 82%{opacity:0;transform:none}
}
@keyframes signal-lower{
 0%,100%{opacity:0;transform:none}
 14%{opacity:.9;transform:translateX(calc(clamp(3px,.045em,10px) * -1 * var(--signal-direction,1)))}
 29%{opacity:.45;transform:translateX(calc(-2px * var(--signal-direction,1)))}
 45%{opacity:0;transform:none}
 67%{opacity:.8;transform:translateX(calc(4px * var(--signal-direction,1)))}
 82%{opacity:0;transform:none}
}
.reduced-motion .signal-run,.reduced-motion .signal-run::before,.reduced-motion .signal-run::after{animation:none!important}
.reduced-motion .signal-run::before,.reduced-motion .signal-run::after{display:none}
@media(prefers-reduced-motion:reduce){.signal-run,.signal-run::before,.signal-run::after{animation:none!important}.signal-run::before,.signal-run::after{display:none}}
@media(max-width:700px){}
@media(max-width:700px){}


.brand{display:block}.brand>span{font-size:13px;font-weight:600;letter-spacing:.03em}.identity-copy{margin-bottom:90px}.hero-title{font-size:clamp(80px,17vw,355px)}.title-two{font-size:1.12em}.footer-name{font-size:20vw}
@media(max-width:700px){.hero-title{font-size:19vw}.title-two{font-size:1.5em}.brand>span{font-size:11px}.identity-copy{margin-bottom:65px}.footer-name{font-size:19vw}}

/* Selected display type: Syne ExtraBold, locally hosted. */
@font-face{font-family:Syne;src:url('./assets/Syne-Variable.ttf') format('truetype');font-style:normal;font-weight:400 800;font-display:swap}
.hero-title,.footer-name,.red-type,.brand>span{font-family:Syne,Space,Arial,sans-serif;font-weight:800}
.hero-title{font-size:clamp(36px,11.7vw,250px);letter-spacing:-.045em;line-height:.85}
.title-two{font-size:1.3em}
.footer-name{font-size:11.7vw;letter-spacing:-.045em;line-height:.9}
.red-type{font-size:12vw;letter-spacing:-.045em}
.brand>span{font-size:12px;letter-spacing:0}
@media(max-width:700px){.hero-title{font-size:11.2vw;line-height:.9}.title-two{font-size:1.6em}.footer-name{font-size:11vw}.red-type{font-size:12vw}.brand>span{font-size:10px}}

/* A quiet narrative within the existing photographic sequence. */
.about-story{max-width:680px}
.about-story p{font-size:clamp(16px,1.55vw,25px);line-height:1.5;letter-spacing:-.02em;text-wrap:pretty}
.about-story p+p{margin-top:1.25em}
.about-story p:not(:first-child){color:#a2a29c}
.identity-copy p{max-width:90%;text-wrap:balance}
.closing-words{max-width:100%;text-wrap:balance}
.red-bottom>span:first-child{max-width:85%}
@media(max-width:700px){.about-story p{font-size:17px}.hero-meta{font-size:7px}.hero-bottom>span:first-child{max-width:45%}.closing-words{font-size:46px}.identity-copy p{font-size:30px;max-width:88%}.red-bottom>span:first-child{max-width:80%}}

/* Fine, static grain is confined to the large brand lettering. */
.hero-title,.footer-name{filter:url(#letter-grain)}
.texture-definitions{position:absolute;pointer-events:none;overflow:hidden}
.identity-copy .signal-accent,.about-story .signal-accent{color:var(--orange)}
.signal-accent{white-space:nowrap}

/* Compact orange cursor follows the pointer, including during scrolling. */
#cursor{width:52px;height:52px;border-color:var(--orange);color:var(--orange);background:#09090938;backdrop-filter:blur(2px);transition:opacity .12s,scale .12s}
#cursor span{font-size:8px;letter-spacing:.035em}
@media(hover:none),(pointer:coarse){#cursor{display:none}}

/* A short directional drift dissolves the cursor after leaving a photograph. */
#cursor{filter:blur(5px);scale:.94;will-change:transform,opacity,filter;transition:opacity .4s ease-out,filter .45s ease-out,scale .45s ease-out}
#cursor.active{filter:blur(.2px);scale:1;transition:opacity .38s ease-out,filter .48s ease-out,scale .48s ease-out}
.reduced-motion #cursor{transition:none;filter:none}
@media(prefers-reduced-motion:reduce){#cursor,#cursor.active{transition:none;filter:none}}
