@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root { --ink:#eeeeeb; --muted:#8f908e; --paper:#131313; --line:rgba(238,238,235,.2); --acid:#d9ff40; }
* { box-sizing:border-box; }
html { background:var(--paper); }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Manrope,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.wordmark,.utility-nav,.eyebrow,footer,.back,.project-role,.clip-index { font:500 .72rem/1.25 'DM Mono',monospace; letter-spacing:.055em; }
.reference-stage { min-height:100svh; position:relative; overflow-x:hidden; padding:clamp(1.4rem,3vw,3rem); display:flex; flex-direction:column; }
.reference-stage::before,.reference-stage::after { content:''; position:absolute; inset:0; pointer-events:none; z-index:0; opacity:.62; transition:opacity .45s ease; }
.reference-stage::before { background-image:linear-gradient(rgba(238,238,235,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(238,238,235,.06) 1px,transparent 1px); background-size:4.5rem 4.5rem,4.5rem 4.5rem; background-position:0 0,0 0; animation:idle-grid-drift 22s linear infinite; mask-image:radial-gradient(ellipse at center,#000 0%,transparent 76%); }
.reference-stage::after { background:radial-gradient(circle at var(--idle-x,-20rem) var(--idle-y,-20rem),rgba(217,255,64,.12) 0,rgba(217,255,64,.035) 5rem,transparent 13rem); opacity:.36; }
.reference-stage[data-project]::before,.reference-stage[data-project]::after { opacity:0; }
@keyframes idle-grid-drift { from { background-position:0 0,0 0; } to { background-position:4.5rem 4.5rem,-4.5rem 4.5rem; } }
@media (prefers-reduced-motion:reduce) { .reference-stage::before { animation:none; } }
@media (max-width:640px) { .reference-stage::before,.reference-stage::after { display:none!important; } .neon-cursor { display:none!important; } }
.site-header { position:relative; z-index:2; display:grid; gap:.45rem; }
.site-header .wordmark { font-size:.82rem; letter-spacing:.09em; }
.site-header p { margin:0; font-size:clamp(.72rem,1.1vw,.9rem); letter-spacing:.025em; }
.site-header .location { color:var(--muted); }
.site-header .tagline { color:var(--acid); font:500 .68rem/1.25 'DM Mono',monospace; letter-spacing:.055em; }
.session-timecode { position:absolute; z-index:3; top:clamp(1.5rem,3vw,3rem); left:50%; transform:translateX(-50%); color:var(--muted); font:500 .68rem/1.25 'DM Mono',monospace; letter-spacing:.08em; white-space:nowrap; pointer-events:none; }
.utility-nav { position:absolute; z-index:3; top:clamp(1.4rem,3vw,3rem); right:clamp(1.4rem,3vw,3rem); display:flex; gap:1.25rem; }
.utility-nav a:hover,.back:hover,.project-footer a:hover { color:var(--acid); }
.reference-list { position:relative; z-index:2; margin:auto 0; padding:clamp(1rem,6svh,7rem) 0; display:grid; align-content:center; }
.reference { width:max-content; max-width:100%; padding:clamp(.08rem,.35svh,.35rem) 0; display:grid; gap:.15rem; color:var(--muted); transition:color .3s ease, transform .3s ease; }
.reference span { font-size:clamp(2rem,min(5.4vw,7.3svh),5.8rem); font-weight:700; letter-spacing:-.065em; line-height:.92; }
.reference small { max-width:calc(100vw - 2.8rem); font:400 .65rem/1.2 'DM Mono',monospace; letter-spacing:.06em; overflow-wrap:anywhere; opacity:0; transition:opacity .25s ease; }
.reference[data-project] small { color:var(--acid); }
.reference[data-project]:hover,.reference[data-project]:focus,.reference.active { color:var(--ink); transform:translateX(.5rem); outline:none; }
.reference.active small,.reference:hover small { opacity:1; }
.reference-list:has(.reference[data-project]:hover) .reference:not(:hover) { opacity:.32; }
.reference.quiet { opacity:.52; cursor:default; }
.reference--about { margin-top:clamp(.5rem,2.8svh,4rem); color:var(--acid); }
.reference--about span { font-size:clamp(1.5rem,3vw,3.25rem); }
.reference--about small { opacity:1; color:var(--muted); }
.project-preview { position:absolute; inset:0; z-index:1; pointer-events:none; }
.preview-image { position:absolute; inset:0; background:#131313; opacity:0; transform:scale(1.03); transition:opacity .5s ease,transform .8s ease,filter .5s ease; filter:saturate(.65); }
.preview-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .5s ease; filter:saturate(.72) contrast(1.08); }
mux-video.preview-video { --media-object-fit:cover; --media-object-position:center; }
.preview-copy { position:absolute; right:clamp(1.4rem,3vw,3rem); bottom:clamp(3.8rem,7vw,6.5rem); z-index:2; max-width:min(34rem,calc(100vw - 2.8rem)); text-align:right; opacity:0; transform:translateY(.65rem); transition:opacity .35s ease,transform .35s ease; }
.preview-copy h1 { margin:.25rem 0 .45rem; font-size:clamp(2.1rem,5vw,5rem); line-height:.9; letter-spacing:-.07em; }
.preview-copy p { margin:0; font:400 .68rem/1.3 'DM Mono',monospace; letter-spacing:.06em; }
.reference-stage[data-project] .preview-copy { opacity:1; transform:translateY(0); }
.reference-stage:has(.reference[data-project]:hover) .preview-image { opacity:.68; transform:scale(1); filter:saturate(.9); }
.reference-stage[data-project='marlon'] .preview-image { opacity:0!important; }
.reference-stage[data-project='marlon'] .preview-video--marlon-wide { opacity:.68; }
.reference-stage[data-project='richie'] .preview-image { opacity:0!important; }
.preview-video--vertical,.preview-video--marlon-vertical { display:none; }
.reference-stage[data-project='richie'] .preview-video--richie.preview-video--wide { opacity:.62; }
.reference-stage[data-project='boys'] .preview-video--boys { opacity:.62; }
.reference-stage[data-project='docklands'] .preview-video--docklands { opacity:.62; }
.reference-stage[data-project='paul'] .preview-video--paul { opacity:.62; }
.reference-stage[data-project='ame'] .preview-video--ame { opacity:.62; }
.reference-stage[data-project='murat'] .preview-image { background-image:linear-gradient(90deg,rgba(19,19,19,.96) 0%,rgba(19,19,19,.42) 58%,rgba(19,19,19,.72)),url('/murat-18.jpg'); background-position:center,center; background-size:cover,contain; background-repeat:no-repeat; }
.reference-stage[data-project='murat'] .project-preview > .preview-image:first-child { opacity:0!important; }
.preview-image--murat-a,.preview-image--murat-b { background-position:center,center!important; background-size:cover,contain!important; background-repeat:no-repeat!important; }
.reference-stage:not([data-project='murat']) .preview-image--murat-a,
.reference-stage:not([data-project='murat']) .preview-image--murat-b { opacity:0!important; visibility:hidden!important; }
.reference-stage[data-project='murat'] .preview-image--murat-a,
.reference-stage[data-project='murat'] .preview-image--murat-b { visibility:visible; }
.reference-stage[data-project='murat'] .preview-image--murat-a { opacity:.68!important; background-image:linear-gradient(90deg,rgba(19,19,19,.96) 0%,rgba(19,19,19,.42) 58%,rgba(19,19,19,.72)),url('/murat-18.jpg'); }
.reference-stage[data-project='murat'] .preview-image--murat-b { opacity:0!important; }
.reference-stage[data-project='murat'][data-murat-layer='1'] .preview-image--murat-a { opacity:0!important; }
.reference-stage[data-project='murat'][data-murat-layer='1'] .preview-image--murat-b { opacity:.68!important; }
.reference-stage[data-project='murat'] .preview-image--murat-a,
.reference-stage[data-project='murat'] .preview-image--murat-b { transform:none!important; filter:none!important; transition:opacity .45s ease!important; will-change:opacity; backface-visibility:hidden; contain:paint; }
.reference-stage footer { position:relative; z-index:2; color:var(--muted); }
.contact-intro { padding-bottom:clamp(2.8rem,7vw,6rem); }
.contact-intro h1 { font-size:clamp(4rem,11vw,10rem); line-height:.78; }
.contact-apostrophe { display:inline-block; margin-left:.07em; }
.contact-layout { width:min(1180px,calc(100% - 2.8rem)); margin:0 auto clamp(5rem,10vw,10rem); display:grid; grid-template-columns:minmax(16rem,.72fr) minmax(0,1.28fr); gap:clamp(2.5rem,8vw,9rem); align-items:start; }
.contact-copy { position:sticky; top:6.2rem; max-width:25rem; }
.contact-copy > p:not(.eyebrow) { margin:1.2rem 0 1.8rem; color:var(--muted); font-size:clamp(1rem,1.45vw,1.25rem); line-height:1.45; }
.contact-direct { color:var(--acid); font:500 .72rem/1.25 'DM Mono',monospace; letter-spacing:.055em; }
.contact-form { display:grid; gap:1.35rem; }
.contact-form__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.1rem; }
.contact-form__grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.contact-field { display:grid; gap:.48rem; }
.contact-field > span,.contact-options legend { color:var(--acid); font:500 .68rem/1.25 'DM Mono',monospace; letter-spacing:.055em; }
.contact-field input,.contact-field select,.contact-field textarea { width:100%; border:1px solid rgba(238,238,235,.28); border-radius:0; outline:none; padding:.78rem .85rem; background:#191919; color:var(--ink); font:500 .9rem/1.35 'DM Mono',monospace; }
.contact-field textarea { resize:vertical; min-height:8.5rem; }
.contact-field input::placeholder,.contact-field textarea::placeholder { color:#777875; }
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus { border-color:var(--acid); box-shadow:0 0 0 1px var(--acid); }
.contact-options { border:1px solid rgba(238,238,235,.2); margin:0; padding:1rem; display:flex; flex-wrap:wrap; gap:.6rem 1rem; }
.contact-options legend { padding:0 .35rem; }
.contact-options label { display:inline-flex; align-items:center; gap:.45rem; color:var(--ink); font:500 .7rem/1.25 'DM Mono',monospace; letter-spacing:.035em; cursor:pointer; }
.contact-options input { accent-color:var(--acid); width:1rem; height:1rem; margin:0; }
.contact-options--checks { border-color:transparent; padding:0; gap:.65rem 1rem; }
.contact-options--checks legend { padding:0; width:100%; }
.contact-submit { justify-self:start; border:1px solid var(--acid); background:var(--acid); color:#131313; padding:.95rem 1.1rem; font:700 .74rem/1.2 'DM Mono',monospace; letter-spacing:.055em; cursor:pointer; transition:background .25s ease,color .25s ease; }
.contact-submit span { margin-left:.55rem; }
.contact-submit:hover,.contact-submit:focus-visible { background:transparent; color:var(--acid); outline:none; }
.contact-note { margin:0; color:var(--muted); font:400 .68rem/1.35 'DM Mono',monospace; letter-spacing:.03em; }
.project-page { min-height:100svh; }
.project-header { position:sticky; top:0; z-index:15; display:flex; justify-content:space-between; align-items:center; padding:1.45rem clamp(1.4rem,3vw,3rem); border-bottom:1px solid var(--line); background:rgba(19,19,19,.92); backdrop-filter:blur(12px); }
.project-header .wordmark { font-size:.78rem; }
.project-intro { padding:clamp(3.5rem,12vw,12rem) clamp(1.4rem,10vw,12rem) clamp(3rem,7vw,7rem); }
.eyebrow { color:var(--acid); margin:0 0 1.1rem; }
.project-intro h1 { margin:0; font-size:clamp(4rem,13vw,13rem); letter-spacing:-.09em; line-height:.76; }
.about-page .project-intro .about-title { font-size:clamp(2.35rem,10.2vw,9rem); letter-spacing:-.07em; line-height:.9; white-space:nowrap; }
.project-role { max-width:38rem; margin:2.5rem 0 0; color:var(--muted); }
.photography-intro { padding:clamp(3.5rem,12vw,12rem) clamp(1.4rem,10vw,12rem) clamp(3rem,7vw,7rem); }
.photography-intro h1 { max-width:100%; margin:0; font-size:clamp(4rem,13vw,13rem); line-height:.76; letter-spacing:-.09em; }
.photography-intro > p:last-child { margin:2.5rem 0 0; color:var(--muted); font:500 .72rem/1.25 'DM Mono',monospace; letter-spacing:.055em; }
.photography-cases { width:min(1100px,calc(100% - 2.8rem)); margin:0 auto clamp(5rem,10vw,10rem); display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:clamp(.65rem,1.3vw,1.1rem); }
.photography-case { position:relative; isolation:isolate; min-height:clamp(22rem,39vw,36rem); overflow:hidden; display:flex; border:1px solid var(--line); background:#191919; color:var(--ink); }
.photography-case--murat,.photography-case--biianco,.photography-case--hardt,.photography-case--nik,.photography-case--pending { grid-column:span 6; }
.photography-case img { position:absolute; z-index:-1; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.76) contrast(1.04); transition:transform .8s ease,filter .5s ease; }
.photography-case--murat img { object-fit:contain; object-position:right center; background:#191919; }
.photography-case--murat::after { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(15,15,15,.82) 0%,rgba(15,15,15,.12) 75%); }
.photography-case--biianco::after { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(15,15,15,.76) 0%,rgba(15,15,15,.08) 75%); }
.photography-case--hardt::after,.photography-case--nik::after { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(15,15,15,.78) 0%,rgba(15,15,15,.08) 75%); }
.photography-case--pending { background:linear-gradient(135deg,#272727 0%,#181818 54%,#111 100%); }
.photography-case__content { position:relative; width:100%; padding:clamp(1.15rem,2.4vw,2rem); display:flex; flex-direction:column; justify-content:space-between; gap:2rem; }
.photography-case__content::before,.photography-case__content::after { content:''; position:absolute; width:2.3rem; height:2.3rem; pointer-events:none; }
.photography-case__content::before { top:.55rem; left:.55rem; border-top:2px solid var(--acid); border-left:2px solid var(--acid); }
.photography-case__content::after { right:.55rem; bottom:.55rem; border-right:2px solid var(--acid); border-bottom:2px solid var(--acid); }
.photography-case__content p,.photography-case__content span { margin:0; color:var(--acid); font:500 .72rem/1.25 'DM Mono',monospace; letter-spacing:.055em; }
.photography-case__content h2 { margin:auto 0; font-size:clamp(2.5rem,5vw,5.3rem); line-height:.83; letter-spacing:-.075em; }
.photography-case--murat:hover img,.photography-case--murat:focus-visible img,.photography-case--biianco:hover img,.photography-case--biianco:focus-visible img,.photography-case--hardt:hover img,.photography-case--hardt:focus-visible img,.photography-case--nik:hover img,.photography-case--nik:focus-visible img { transform:scale(1.018); filter:saturate(.95) contrast(1.06); }
.photography-case--murat:hover,.photography-case--murat:focus-visible,.photography-case--biianco:hover,.photography-case--biianco:focus-visible,.photography-case--hardt:hover,.photography-case--hardt:focus-visible,.photography-case--nik:hover,.photography-case--nik:focus-visible { border-color:var(--acid); outline:none; }
.ame-page .project-intro h1 { padding-top:.24em; line-height:1; }
.reference-stage[data-project='ame'] .preview-copy h1 { margin-top:.85rem; line-height:1; }
.project-media,.video-wrap { width:min(1100px,calc(100% - 2.8rem)); margin:0 auto; background:#050505; }
.marlon-youtube { margin-top:clamp(3rem,8vw,7rem); }
.project-media video { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.project-media .mux-player-frame { width:100%; aspect-ratio:16/9; border:0; background:#050505; }
.project-media .mux-player-frame.mobile-only { aspect-ratio:9/16; }
.project-media .vimeo-player-frame { display:block; width:100%; aspect-ratio:16/9; border:0; background:#050505; }
.vimeo-clean-player { position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; background:#050505; }
.vimeo-clean-player .vimeo-player-frame { position:absolute; inset:0; width:100%; height:100%; aspect-ratio:auto; pointer-events:none; }
.vimeo-clean-poster { position:absolute; z-index:1; inset:0; width:100%; height:100%; object-fit:cover; pointer-events:none; }
.vimeo-clean-poster[hidden],.vimeo-clean-player.has-started .vimeo-clean-poster,.vimeo-clean-player.is-native-fallback .vimeo-clean-poster { display:none; }
.vimeo-clean-start { position:absolute; z-index:2; top:50%; left:50%; transform:translate(-50%,-50%); min-width:9rem; min-height:3.25rem; border:0; padding:.9rem 1.4rem; background:rgba(8,8,8,.38); color:var(--ink); font:500 .72rem/1.2 'DM Mono',monospace; letter-spacing:.09em; cursor:pointer; transition:background .25s ease,color .25s ease; }
.vimeo-clean-start::before,.vimeo-clean-start::after { content:''; position:absolute; width:.85rem; height:.85rem; border-color:rgba(217,255,64,.78); border-style:solid; border-width:0; pointer-events:none; transition:transform .25s ease,border-color .25s ease; }
.vimeo-clean-start::before { top:.25rem; left:.25rem; border-top-width:1px; border-left-width:1px; }
.vimeo-clean-start::after { right:.25rem; bottom:.25rem; border-right-width:1px; border-bottom-width:1px; }
.vimeo-clean-start:hover,.vimeo-clean-start:focus-visible { background:rgba(8,8,8,.56); color:var(--acid); }
.vimeo-clean-start:hover::before,.vimeo-clean-start:focus-visible::before { transform:translate(-.18rem,-.18rem); border-color:var(--acid); }
.vimeo-clean-start:hover::after,.vimeo-clean-start:focus-visible::after { transform:translate(.18rem,.18rem); border-color:var(--acid); }
.vimeo-clean-start:focus-visible { outline:1px solid var(--acid); outline-offset:3px; }
@media (prefers-reduced-motion:reduce) { .vimeo-clean-start,.vimeo-clean-start::before,.vimeo-clean-start::after { transition:none; } }
.vimeo-clean-player.is-playing .vimeo-clean-start { display:none; }
.vimeo-clean-controls { position:absolute; z-index:2; right:0; bottom:0; left:0; min-height:3.4rem; padding:.55rem .8rem; display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:.6rem; background:linear-gradient(transparent,rgba(0,0,0,.78)); opacity:0; pointer-events:none; transform:translateY(.25rem); transition:opacity .25s ease,transform .25s ease; }
.vimeo-clean-player:hover .vimeo-clean-controls,.vimeo-clean-player:focus-within .vimeo-clean-controls { opacity:1; pointer-events:auto; transform:none; }
.vimeo-clean-toggle { border:0; padding:.45rem .3rem; background:transparent; color:var(--ink); font:500 .78rem/1.2 'DM Mono',monospace; letter-spacing:.04em; white-space:nowrap; cursor:pointer; }
.vimeo-clean-toggle:hover,.vimeo-clean-toggle:focus-visible { border-color:var(--acid); color:var(--acid); outline:none; }
.vimeo-clean-seek { width:100%; min-width:0; height:1.6rem; margin:0; accent-color:var(--acid); cursor:pointer; }
.vimeo-clean-time { min-width:5.5rem; color:var(--ink); text-align:right; font:500 .72rem/1.2 'DM Mono',monospace; }
.vimeo-clean-player.is-native-fallback .vimeo-player-frame { pointer-events:auto; }
.vimeo-clean-player.is-native-fallback .vimeo-clean-start,.vimeo-clean-player.is-native-fallback .vimeo-clean-controls { display:none; }
.neon-cursor { display:none; opacity:0; }
@media (pointer:fine) {
  body,body a,body button,body input,body [role="button"] { cursor:none!important; }
  .neon-cursor { display:block; position:fixed; z-index:2147483647; top:0; left:0; width:.58rem; height:.58rem; border-radius:50%; background:var(--acid); box-shadow:0 0 .42rem rgba(217,255,64,.42); pointer-events:none; transform:translate3d(-100px,-100px,0); transition:opacity .12s ease,width .18s ease,height .18s ease,margin .18s ease,box-shadow .18s ease; }
  .neon-cursor.is-visible { opacity:1; }
  .neon-cursor.is-hovering { width:1rem; height:1rem; margin:-.21rem; background:transparent; border:1px solid var(--acid); box-shadow:0 0 .5rem rgba(217,255,64,.28); }
}
.richie-page .vimeo-clean-player:not(.has-started) .vimeo-clean-controls,.paul-page .vimeo-clean-player:not(.has-started) .vimeo-clean-controls,.marlon-page .vimeo-clean-player:not(.has-started) .vimeo-clean-controls,.biianco-page .vimeo-clean-player:not(.has-started) .vimeo-clean-controls,.ame-page .vimeo-clean-player:not(.has-started) .vimeo-clean-controls,.docklands-page .vimeo-clean-player:not(.has-started) .vimeo-clean-controls { opacity:0!important; pointer-events:none!important; transform:translateY(.25rem)!important; }
.richie-page .clip-collection .vimeo-clean-player { width:100%; min-width:0; }
@media (hover:none) { .vimeo-clean-controls { opacity:.88; pointer-events:auto; transform:none; } }
@media (max-width:640px) { .vimeo-clean-controls { gap:.3rem; padding:.35rem .45rem; min-height:2.9rem; } .vimeo-clean-time { display:none; } .vimeo-clean-toggle { font-size:.68rem; } }
@media (max-width:640px) { .ame-page .project-media { max-width:420px; } .ame-page .vimeo-clean-player { aspect-ratio:9/16; } .ame-page .vimeo-clean-player:not(.has-started) .vimeo-clean-controls { opacity:0!important; pointer-events:none!important; transform:translateY(.25rem)!important; } }
@media (max-width:640px) { .richie-page .project-media { max-width:420px; } .richie-page .vimeo-clean-player { aspect-ratio:9/16; } .richie-page .clip-collection .vimeo-clean-player { max-width:420px; margin:0 auto; } }
@media (max-width:640px) { .paul-page .project-media { max-width:420px; } .paul-page .vimeo-clean-player { aspect-ratio:9/16; } .paul-page .clip-collection .vimeo-clean-player { max-width:420px; margin:0 auto; } }
@media (max-width:640px) { .marlon-page .project-media { max-width:420px; } .marlon-page .vimeo-clean-player { aspect-ratio:9/16; } .marlon-page .clip-collection .vimeo-clean-player { max-width:420px; margin:0 auto; } }
@media (max-width:640px) { .docklands-page .project-media { max-width:420px; } .docklands-page .vimeo-clean-player { aspect-ratio:9/16; } .docklands-page .clip-collection .vimeo-clean-player { max-width:420px; margin:0 auto; } }
@media (max-width:640px) { .boys-page .project-media { max-width:420px; } .boys-page .vimeo-clean-player { aspect-ratio:9/16; } .boys-page .clip-collection .vimeo-clean-player { max-width:420px; margin:0 auto; } }
@media (max-width:640px) { .biianco-bts .biianco-vimeo-player { width:100%; max-width:440px; justify-self:stretch; } }
.mobile-only { display:none!important; }
.desktop-only { display:block; }
.video-wrap { aspect-ratio:16/9; }
.video-wrap iframe { width:100%; height:100%; border:0; }
.project-summary { width:min(1100px,calc(100% - 2.8rem)); margin:clamp(3rem,7vw,7rem) auto; padding-top:1.15rem; border-top:1px solid var(--line); display:grid; grid-template-columns:minmax(10rem,1fr) minmax(0,2fr); gap:2rem; align-items:start; }
.project-summary .eyebrow { margin:0; }
.project-summary p:last-child { max-width:720px; margin:0; font-size:clamp(1.2rem,2vw,2rem); line-height:1.22; letter-spacing:-.035em; }
.project-link { width:min(1100px,calc(100% - 2.8rem)); margin:1.1rem auto 0; font:500 .72rem/1.25 'DM Mono',monospace; letter-spacing:.055em; }
.project-link a { color:var(--acid); }
.gallery-heading { width:min(1100px,calc(100% - 2.8rem)); margin:clamp(4rem,8vw,8rem) auto 1rem; padding-bottom:1rem; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; align-items:baseline; gap:1rem; font:500 .72rem/1.25 'DM Mono',monospace; letter-spacing:.055em; color:var(--muted); }
.gallery-heading .eyebrow { margin:0; }
.clip-collection { width:min(1100px,calc(100% - 2.8rem)); margin:0 auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(.55rem,1.2vw,1rem); }
.clip-collection video { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; background:#050505; }
.clip-collection .mux-player-frame { display:block; width:100%; aspect-ratio:16/9; min-width:0; background:#050505; }
.clip-collection .mux-player-frame.mobile-only { aspect-ratio:9/16; }
.clip-card { min-width:0; margin:0; }
.clip-card figcaption { padding-top:.65rem; color:var(--muted); font:500 .72rem/1.25 'DM Mono',monospace; letter-spacing:.055em; }
.boys-clips { grid-template-columns:repeat(3,minmax(0,1fr)); }
.boys-clips video { object-fit:contain; }
.about-statement { width:min(1100px,calc(100% - 2.8rem)); margin:0 auto clamp(4rem,9vw,9rem); padding-top:1.2rem; border-top:1px solid var(--line); }
.about-statement p { max-width:920px; margin:0; font-size:clamp(1.8rem,4.4vw,4.7rem); line-height:.98; letter-spacing:-.065em; }
.about-profile { width:min(1100px,calc(100% - 2.8rem)); margin:0 auto clamp(5rem,10vw,10rem); display:grid; grid-template-columns:minmax(220px,.78fr) minmax(0,1.55fr); gap:clamp(1.5rem,4vw,4.5rem); align-items:start; }
.about-portrait { width:100%; max-width:360px; margin:0; justify-self:end; overflow:hidden; background:#252525; }
.about-portrait img { display:block; width:100%; height:auto; }
.about-grid { width:min(1100px,calc(100% - 2.8rem)); margin:0 auto; padding:1.2rem 0 clamp(3rem,7vw,7rem); border-top:1px solid var(--line); display:grid; grid-template-columns:minmax(10rem,1fr) minmax(0,2fr); gap:2rem; }
.about-profile .about-grid { width:100%; margin:0; padding:1.2rem 0 0; }
.about-grid .eyebrow { margin:0; }
.about-grid div { max-width:720px; }
.about-grid div p { margin:0 0 1.15rem; font-size:clamp(1.1rem,1.7vw,1.55rem); line-height:1.32; letter-spacing:-.03em; }
.about-grid--studio { padding-bottom:clamp(5rem,10vw,10rem); }
.image-feature { width:min(1100px,calc(100% - 2.8rem)); margin:0 auto; overflow:hidden; aspect-ratio:16/9; background:#252525; }
.image-feature img { width:100%; height:100%; object-fit:cover; filter:saturate(.8); }
.reel-stage { width:min(1100px,calc(100% - 2.8rem)); margin:0 auto; background:#050505; }
.reel-stage video { display:block; width:100%; max-height:75vh; }
.biianco-page { overflow-x:hidden; }
.biianco-bts { width:min(1100px,calc(100% - 2.8rem)); min-width:0; margin:0 auto; display:grid; grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr); gap:clamp(1.2rem,4vw,4rem); align-items:center; }
.biianco-bts > * { min-width:0; }
.biianco-bts .biianco-vimeo-player { width:min(100%,440px); aspect-ratio:9/16; justify-self:end; }
.biianco-bts video { display:block; width:min(100%,440px); max-width:100%; max-height:78svh; justify-self:end; background:#050505; }
.biianco-bts > div { max-width:560px; }
.biianco-bts > div > p:last-child { margin:0; font-size:clamp(1.5rem,3.4vw,3.3rem); line-height:1.02; letter-spacing:-.055em; }
.biianco-context { width:min(900px,calc(100% - 2.8rem)); margin:clamp(5rem,10vw,10rem) auto; padding-top:1.2rem; border-top:1px solid var(--line); display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,280px); gap:clamp(2rem,6vw,6rem); align-items:end; }
.biianco-context__copy h2 { margin:0 0 1.5rem; font-size:clamp(3rem,7vw,6.5rem); line-height:.82; letter-spacing:-.075em; }
.biianco-context__copy > p:last-child { max-width:560px; margin:0; color:var(--muted); font-size:clamp(1rem,1.6vw,1.3rem); line-height:1.4; letter-spacing:-.02em; }
.biianco-context figure { margin:0; padding:clamp(.65rem,1.2vw,1rem); border:1px solid var(--line); background:#090909; }
.biianco-context img { display:block; width:100%; height:auto; }
.clip-index { width:min(1100px,calc(100% - 2.8rem)); margin:2rem auto 0; padding-bottom:5rem; display:flex; gap:1rem; flex-wrap:wrap; color:var(--muted); }
.photo-grid { width:min(1100px,calc(100% - 2.8rem)); margin:0 auto clamp(5rem,10vw,10rem); display:grid; gap:clamp(.55rem,1.2vw,1rem); align-items:start; }
.photo-grid figure { position:relative; margin:0; overflow:hidden; background:#252525; }
.photo-grid img { display:block; width:100%; height:auto; transition:transform .7s ease,filter .5s ease; }
.photo-grid figure { cursor:zoom-in; }
.photo-grid figure::before,.photo-grid figure::after { content:''; position:absolute; z-index:2; width:clamp(1rem,2.2vw,1.65rem); height:clamp(1rem,2.2vw,1.65rem); pointer-events:none; opacity:0; transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .22s ease; }
.photo-grid figure::before { top:clamp(.55rem,1vw,.85rem); left:clamp(.55rem,1vw,.85rem); border-top:1px solid var(--acid); border-left:1px solid var(--acid); transform:translate(-.25rem,-.25rem); }
.photo-grid figure::after { right:clamp(.55rem,1vw,.85rem); bottom:clamp(.55rem,1vw,.85rem); border-right:1px solid var(--acid); border-bottom:1px solid var(--acid); transform:translate(.25rem,.25rem); }
@media (hover:hover) { .photo-grid figure:hover::before,.photo-grid figure:focus-visible::before { transform:translate(0,0); opacity:.72; } .photo-grid figure:hover::after,.photo-grid figure:focus-visible::after { transform:translate(0,0); opacity:.72; } }
.photo-grid figure.photo-opening::before { transform:translate(-1.8rem,-1.8rem); opacity:0; }
.photo-grid figure.photo-opening::after { transform:translate(1.8rem,1.8rem); opacity:0; }
.photo-grid figure:hover img,.photo-grid figure:focus-visible img { transform:scale(1.018); filter:contrast(1.04); }
.photo-grid figure:focus-visible { outline:1px solid var(--acid); outline-offset:.35rem; }
.photo-viewer { position:fixed; z-index:20; inset:0; display:grid; place-items:center; padding:clamp(1rem,4vw,4rem); background:rgba(10,10,10,.94); opacity:0; visibility:hidden; transition:opacity .25s ease,visibility .25s step-end; }
.photo-viewer.is-open { opacity:1; visibility:visible; transition:opacity .25s ease; }
.photo-viewer__frame { width:100%; height:100%; min-width:0; min-height:0; margin:0; display:grid; place-items:center; pointer-events:none; }
.photo-viewer__image { display:block; width:auto!important; height:auto!important; max-width:calc(100vw - clamp(2rem,8vw,8rem)); max-height:calc(100svh - clamp(2rem,8vw,8rem)); object-fit:contain; box-shadow:0 1.5rem 5rem rgba(0,0,0,.5); }
.photo-viewer__close { position:absolute; z-index:1; top:clamp(1rem,3vw,2rem); right:clamp(1rem,3vw,2rem); border:0; padding:.35rem .1rem; background:transparent; color:var(--paper); font:500 .72rem/1.25 'DM Mono',monospace; letter-spacing:.055em; cursor:pointer; }
.photo-viewer__close:hover,.photo-viewer__close:focus-visible { color:var(--acid); outline:none; }
body:has(.photo-viewer.is-open) { overflow:hidden; }
@media (prefers-reduced-motion:reduce) { .photo-grid figure::before,.photo-grid figure::after,.photo-grid img { transition:none; } }
.photo-grid__portrait { grid-column:span 5; }
.photo-grid__portrait--first { grid-column:2 / span 5; margin-top:clamp(2rem,7vw,6rem)!important; }
.photo-grid__landscape { grid-column:3 / span 8; }
.richie-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.richie-grid figure { grid-column:auto; margin:0!important; }
.press-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.marlon-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.nik-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.nik-grid figure { grid-column:auto; margin:0!important; }
.boys-grid { grid-template-columns:repeat(12,minmax(0,1fr)); }
.boys-grid figure:nth-child(1),.boys-grid figure:nth-child(2) { grid-column:span 12; }
.boys-grid figure:nth-child(n+3) { grid-column:span 3; }
.paul-grid { grid-template-columns:repeat(12,minmax(0,1fr)); }
.paul-grid figure:nth-child(1),.paul-grid figure:nth-child(6) { grid-column:span 12; }
.paul-grid figure:nth-child(2),.paul-grid figure:nth-child(5) { grid-column:span 5; margin-top:clamp(2rem,7vw,6rem); }
.paul-grid figure:nth-child(3),.paul-grid figure:nth-child(4) { grid-column:span 7; }
.biianco-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
.biianco-grid figure { aspect-ratio:2/3; }
.biianco-grid figure:nth-child(1),.biianco-grid figure:nth-child(2) { grid-column:span 3; }
.biianco-grid figure:nth-child(3),.biianco-grid figure:nth-child(4),.biianco-grid figure:nth-child(5) { grid-column:span 2; }
.biianco-grid img { width:100%; height:100%; object-fit:cover; }
.ame-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ame-grid figure { grid-column:auto; }
@media (max-width:640px) { .ame-grid { grid-template-columns:1fr; gap:.7rem; } }
.docklands-ame-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(.7rem,1.5vw,1.15rem); align-items:start; }
.docklands-ame-column { display:grid; gap:clamp(.7rem,1.5vw,1.15rem); align-content:start; min-width:0; }
.docklands-ame-column figure { margin:0; }
@media (max-width:640px) {
  .docklands-ame-grid { grid-template-columns:1fr; gap:.7rem; }
  .docklands-ame-column { gap:.7rem; }
}
.hardt-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.hardt-grid figure { grid-column:span 1; }
.hardt-grid .hardt-grid__landscape { grid-column:span 2; }
.hardt-grid figure:last-child { grid-column:2; }
.hardt-grid img { width:100%; height:auto; }
.docklands-closing-grid { grid-template-columns:repeat(12,minmax(0,1fr)); }
.docklands-closing-grid figure:nth-child(1),.docklands-closing-grid figure:nth-child(4),.docklands-closing-grid figure:nth-child(7),.docklands-closing-grid figure:nth-child(10) { grid-column:2 / span 10; }
.docklands-closing-grid figure:nth-child(2),.docklands-closing-grid figure:nth-child(3),.docklands-closing-grid figure:nth-child(5),.docklands-closing-grid figure:nth-child(6),.docklands-closing-grid figure:nth-child(8),.docklands-closing-grid figure:nth-child(9),.docklands-closing-grid figure:nth-child(11),.docklands-closing-grid figure:nth-child(12) { grid-column:span 6; }
.docklands-cases { width:min(1100px,calc(100% - 2.8rem)); margin:0 auto clamp(5rem,10vw,10rem); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(.65rem,1.3vw,1.1rem); }
.docklands-case { position:relative; isolation:isolate; min-height:clamp(24rem,42vw,36rem); padding:clamp(1.1rem,2.4vw,2rem); overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; border:1px solid var(--line); background:#171717; transition:border-color .35s ease,transform .35s ease; }
.docklands-case:hover,.docklands-case:focus-visible { border-color:var(--acid); transform:translateY(-.25rem); outline:none; }
.docklands-case__media { position:absolute; z-index:-1; inset:0; overflow:hidden; background:#121212; opacity:.6; transition:opacity .4s ease,transform .8s ease; }
.docklands-case:hover .docklands-case__media,.docklands-case:focus-visible .docklands-case__media { opacity:.9; transform:scale(1.025); }
.docklands-case.mobile-open .docklands-case__media { opacity:.9; transform:scale(1.025); }
.docklands-case__media video { display:block; width:100%; height:100%; object-fit:cover; filter:saturate(.75) contrast(1.08); }
.docklands-case__media img { display:block; width:100%; height:100%; object-fit:cover; filter:saturate(.75) contrast(1.08); }
.docklands-case__media iframe { position:absolute; top:50%; left:50%; height:100%; width:auto; min-width:100%; aspect-ratio:16/9; border:0; transform:translate(-50%,-50%); pointer-events:none; opacity:0; transition:opacity .35s ease; }
.docklands-case.is-playing .docklands-case__media iframe { opacity:1; }
@media (max-width:640px) { .docklands-case--ame .docklands-case__media iframe.mobile-only { width:100%; min-width:0; height:auto; aspect-ratio:9/16; } }
.docklands-case__top { display:flex; justify-content:space-between; gap:1rem; font:500 .72rem/1.25 'DM Mono',monospace; letter-spacing:.055em; }
.docklands-case__top .eyebrow { margin:0; }
.docklands-case__index { color:var(--muted); }
.docklands-case h2 { margin:auto 0; padding:2rem 0; font-size:clamp(2.6rem,6vw,6rem); line-height:.86; letter-spacing:-.075em; }
.docklands-case__action { align-self:flex-end; color:var(--acid); font:500 .72rem/1.25 'DM Mono',monospace; letter-spacing:.055em; }
.docklands-case.mobile-open .docklands-case__action::after { content:' · TAP AGAIN TO OPEN'; }
.docklands-media-placeholder { width:min(1100px,calc(100% - 2.8rem)); min-height:clamp(18rem,55vw,42rem); margin:0 auto clamp(5rem,10vw,10rem); padding:clamp(1.2rem,2.5vw,2rem); display:flex; flex-direction:column; justify-content:space-between; border:1px solid var(--line); background:linear-gradient(135deg,#242424 0%,#161616 52%,#101010 100%); }
.docklands-media-placeholder .eyebrow { margin:0; }
.docklands-media-placeholder strong { align-self:flex-end; color:var(--acid); text-align:right; font:500 clamp(.72rem,1.1vw,.9rem)/1.35 'DM Mono',monospace; letter-spacing:.055em; }
.project-footer { padding:1.5rem clamp(1.4rem,3vw,3rem); border-top:1px solid var(--line); }
@media (max-width:640px) { .utility-nav { position:relative; top:auto; right:auto; margin-top:1.4rem; gap:.85rem 1rem; flex-wrap:wrap; } .reference-list { padding:4rem 0; } .reference span { font-size:clamp(2rem,9vw,3.45rem); } .reference small { opacity:1; } .reference.mobile-open small::after { content:'TAP AGAIN TO OPEN'; display:block; margin-top:.28rem; color:var(--acid); } .reference-stage:has(.reference.active) .reference--about { opacity:0; visibility:hidden; } .preview-copy { bottom:5.5rem; max-width:74vw; } .preview-copy h1 { font-size:clamp(1.55rem,8vw,2.5rem); } .reference-stage:has(.reference[data-project]:hover) .preview-image { opacity:.18; } .reference-stage[data-project='marlon'] .preview-image { opacity:0!important; } .reference-stage[data-project='murat'] .preview-image { opacity:.68; transform:scale(1); } .preview-video--wide,.preview-video--marlon-wide { display:none!important; } .preview-video--vertical,.preview-video--marlon-vertical { display:block; } .reference-stage[data-project='marlon'] .preview-video--marlon-vertical,.reference-stage[data-project='richie'] .preview-video--richie.preview-video--vertical,.reference-stage[data-project='boys'] .preview-video--boys.preview-video--vertical,.reference-stage[data-project='docklands'] .preview-video--docklands.preview-video--vertical,.reference-stage[data-project='paul'] .preview-video--paul.preview-video--vertical,.reference-stage[data-project='ame'] .preview-video--ame.preview-video--vertical { opacity:.62; } .project-intro h1 { font-size:clamp(3.9rem,17vw,6rem); } .photography-intro h1 { font-size:clamp(2.8rem,11vw,5.2rem); line-height:.82; letter-spacing:-.075em; } .photography-cases { grid-template-columns:1fr; gap:.8rem; } .photography-case,.photography-case--murat,.photography-case--biianco,.photography-case--nik,.photography-case--pending { grid-column:auto; min-height:24rem; } .photography-case__content h2 { font-size:clamp(2.8rem,13vw,4.6rem); } .docklands-page .project-intro h1 { font-size:clamp(2.9rem,12.5vw,4rem); letter-spacing:-.075em; } .paul-page .project-intro h1 { font-size:clamp(2.8rem,12.3vw,3.4rem); } .desktop-only { display:none!important; } .mobile-only { display:block!important; } .project-media { width:min(520px,calc(100% - 2.8rem)); } .project-media .mobile-only { width:100%; margin:0 auto; aspect-ratio:auto; object-fit:contain; } .project-summary,.about-grid,.about-profile { grid-template-columns:1fr; gap:.9rem; } .about-portrait { max-width:min(420px,100%); justify-self:start; } .project-summary p:last-child { font-size:clamp(1.25rem,5.7vw,1.8rem); } .about-statement p { font-size:clamp(2rem,10vw,3.5rem); } .gallery-heading { margin-top:4rem; } .clip-collection { grid-template-columns:1fr; gap:.7rem; } .clip-collection video { aspect-ratio:auto; } .biianco-cover { grid-template-columns:1fr; } .biianco-cover img { height:auto; } .biianco-cover__copy { min-height:18rem; } .biianco-bts { grid-template-columns:1fr; } .biianco-bts video { width:100%; justify-self:stretch; } .photo-grid,.press-grid,.marlon-grid,.richie-grid,.biianco-grid,.nik-grid { grid-template-columns:1fr; gap:.7rem; } .boys-grid figure,.biianco-grid figure { grid-column:auto!important; margin:0!important; } .photo-grid__portrait,.photo-grid__portrait--first,.photo-grid__landscape { grid-column:auto; margin:0!important; } }
@media (max-width:640px) { .contact-intro h1 { font-size:clamp(3.8rem,18vw,6.2rem); } .contact-layout { width:min(100% - 2.8rem,34rem); grid-template-columns:1fr; gap:2.5rem; } .contact-copy { position:static; max-width:none; } .contact-form__grid,.contact-form__grid--three { grid-template-columns:1fr; } .contact-options { gap:.7rem .9rem; } .contact-options label { font-size:.65rem; } }
@media (max-height:760px) and (min-width:641px) { .reference-stage { padding:clamp(.9rem,2.4vw,2rem); } .site-header { gap:.25rem; } .site-header p { font-size:.7rem; } .reference-list { padding:.65rem 0; } .reference span { font-size:clamp(1.55rem,min(4.5vw,6.4svh),4.2rem); } .reference small { font-size:.54rem; } .reference--about { margin-top:.35rem; } .preview-copy { bottom:1.5rem; } }
@media (max-width:640px) { .reference-list .reference[data-project] small { opacity:0; } .reference-list .reference[data-project].mobile-open small,.reference-list .reference[data-project].active small,.reference-list .reference[data-project]:focus small { opacity:1; } }
@media (max-width:640px) { .reference-stage[data-project='murat'] .preview-image--murat-a { opacity:.68!important; } .reference-stage[data-project='murat'] .preview-image--murat-b { opacity:0!important; } .reference-stage[data-project='murat'][data-murat-layer='1'] .preview-image--murat-a { opacity:0!important; } .reference-stage[data-project='murat'][data-murat-layer='1'] .preview-image--murat-b { opacity:.68!important; } }
@media (max-width:640px) { .boys-clips { grid-template-columns:1fr; } .boys-clips video { aspect-ratio:auto; object-fit:contain; } }
@media (max-width:640px) { .docklands-closing-grid figure { grid-column:auto!important; margin:0!important; } }
@media (max-width:640px) { .docklands-cases { grid-template-columns:1fr; gap:.8rem; } .docklands-case { min-height:24rem; padding:1.15rem; } .docklands-case h2 { font-size:clamp(2.8rem,13vw,4.6rem); } .docklands-media-placeholder { min-height:60svh; } }
@media (min-width:641px) { .reference-stage { height:100svh; min-height:0; overflow:hidden; } .reference-list { flex:1; min-height:0; margin:0; padding:clamp(.45rem,2.25svh,1.65rem) 0; } .reference { padding:clamp(0rem,.16svh,.13rem) 0; } .reference span { font-size:clamp(1.5rem,6.3svh,5.6rem); } .reference--about { margin-top:clamp(.75rem,2.2svh,1.5rem); } }
@media (max-height:600px) and (min-width:641px) { .reference-stage { padding:clamp(.7rem,2vw,1.25rem); } .site-header { gap:.18rem; } .site-header .wordmark { font-size:.72rem; } .site-header p { font-size:.62rem; } .site-header .tagline { font-size:.6rem; } .utility-nav { top:clamp(.7rem,2vw,1.25rem); right:clamp(.7rem,2vw,1.25rem); gap:.7rem; font-size:.6rem; } .reference-list { align-content:start; padding:clamp(.75rem,2.5svh,1.25rem) 0 .4rem; } .reference span { font-size:clamp(1.15rem,5.5svh,2.25rem); } .reference--about { margin-top:clamp(.6rem,2.5svh,1rem); } .reference--about span { font-size:clamp(1.05rem,4.2svh,1.65rem); } }
@media (max-width:640px) { .biianco-grid { grid-template-columns:repeat(6,minmax(0,1fr))!important; gap:.45rem; } .biianco-grid figure:nth-child(1),.biianco-grid figure:nth-child(2) { grid-column:span 3!important; margin:0!important; } .biianco-grid figure:nth-child(3),.biianco-grid figure:nth-child(4),.biianco-grid figure:nth-child(5) { grid-column:span 2!important; margin:0!important; } .biianco-context { grid-template-columns:1fr; align-items:start; } .biianco-context figure { width:min(72vw,280px); } }
@media (max-width:640px) { .photography-case--hardt { grid-column:auto; min-height:24rem; } .hardt-grid { grid-template-columns:1fr; gap:.7rem; } .hardt-grid figure,.hardt-grid .hardt-grid__landscape,.hardt-grid figure:last-child { grid-column:auto; margin:0!important; } }
@media (max-width:640px) { .photography-case--nik { grid-column:auto; min-height:24rem; } }
