@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500&display=swap');
:root{--paper:#eeede8;--ink:#201f1c;--muted:#77746c;--line:#cbc8bf;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--mono:"DM Mono",monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.topbar{height:84px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;padding:0 3.3vw;border-bottom:1px solid rgba(32,31,28,.09);position:relative;z-index:10}.brand{font:11px var(--mono);letter-spacing:.15em;white-space:nowrap}.brand span{letter-spacing:.11em}.topbar nav{display:flex;align-items:center;gap:clamp(18px,3vw,48px)}.topbar nav a,.counter,.eyebrow,.menu-toggle{font:9px var(--mono);text-transform:uppercase;letter-spacing:.14em}.topbar nav a{position:relative}.topbar nav a:after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:1px;background:var(--ink);transition:width .25s}.topbar nav a:hover:after,.topbar nav a.current:after{width:100%}.counter{text-align:right}.menu-toggle{display:none;background:none;border:0}.hero-carousel{height:min(770px,calc(100svh - 84px));min-height:570px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.carousel-track{height:100%;width:100%;position:relative;display:flex;align-items:center;justify-content:center}.slide{position:absolute;transition:transform .65s cubic-bezier(.2,.7,.2,1),opacity .5s,filter .5s;width:min(31.5vw,510px);height:74%;max-height:640px;overflow:hidden;background:#d6d2c9}.slide a{display:block;width:100%;height:100%;position:relative}.slide img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.72);transition:transform .8s}.slide a:hover img{transform:scale(1.025)}.slide.active-slide{z-index:2;transform:translateX(0) scale(1);opacity:1;width:min(31.5vw,510px);height:82%;max-height:680px}.slide.side-slide{z-index:1;width:min(16vw,250px);height:47%;opacity:.78;filter:grayscale(.2)}.slide.side-slide.side-left{transform:translateX(-30vw) perspective(800px) rotateY(7deg)}.slide.side-slide.side-right{transform:translateX(30vw) perspective(800px) rotateY(-7deg)}.slide span{position:absolute;left:0;right:0;bottom:43%;text-align:center;color:white;font:clamp(14px,1.5vw,20px) var(--serif);letter-spacing:.24em;text-transform:uppercase;text-shadow:0 2px 12px #0008}.slide small{position:absolute;left:0;right:0;bottom:37%;text-align:center;color:white;font:9px var(--mono);letter-spacing:.2em}.side-slide span{opacity:0}.carousel-arrow{position:absolute;z-index:4;top:48%;width:45px;height:45px;border:0;background:transparent;font:34px var(--serif);cursor:pointer;transition:transform .2s}.carousel-arrow:hover{transform:scale(1.18)}.carousel-arrow.prev{left:2.5vw}.carousel-arrow.next{right:2.5vw}.hero-foot{position:absolute;z-index:4;bottom:24px;left:3.3vw;right:3.3vw;display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;font:9px var(--mono);letter-spacing:.15em}.progress{height:1px;background:#c3c0b7;position:relative}.progress span{display:block;width:9%;height:2px;background:var(--ink);transition:width .35s}.home-intro{padding:140px 8vw 150px;position:relative}.eyebrow{color:var(--muted);margin:0 0 24px}.home-intro h1,.page-title h1{font:clamp(54px,9vw,130px)/.95 var(--sans);letter-spacing:-.075em;font-weight:400;margin:0}.home-intro h1 em,.page-title h1 em,.contact-area h2 em{font-family:var(--serif);font-weight:500;letter-spacing:-.065em}.home-description{max-width:330px;color:var(--muted);font-size:12px;margin:45px 0 22px 40%;}.under-link{display:inline-flex;gap:30px;align-items:center;border-bottom:1px solid var(--ink);padding:10px 0;font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase}.under-link span{font-size:15px}.home-intro>.under-link{margin-left:40%}.upcoming{padding:28px 3.3vw;display:grid;grid-template-columns:1fr 2fr auto;gap:30px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.upcoming .eyebrow{margin:0}.upcoming h2{font:clamp(20px,3vw,36px) var(--serif);font-weight:500;margin:0}.upcoming p{font:10px var(--mono);color:var(--muted);margin:8px 0 0}.upcoming-number{font:clamp(24px,4vw,50px) var(--serif);font-style:italic}.contact-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:40px 3.3vw}.contact-strip p{font:clamp(16px,2.3vw,25px) var(--serif);margin:0}footer{padding:24px 3.3vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;font:9px var(--mono);color:var(--muted)}footer .brand{color:var(--ink);font-size:10px}.gallery-page,.about-page{padding:70px 3.3vw 100px}.page-title{padding:20px 4.7vw 72px}.page-title h1{font-size:clamp(58px,10vw,140px)}.page-title>p:last-child{margin:25px 0 0 33%;font-size:12px;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:16px;row-gap:40px}.gallery-card{min-width:0}.gallery-video{position:relative;display:block;border:0;padding:0;width:100%;aspect-ratio:1.35/1;background:#d5d1c7;overflow:hidden;cursor:pointer}.gallery-video img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.75);transition:transform .6s,filter .4s}.gallery-video:hover img{transform:scale(1.035);filter:saturate(.95)}.gallery-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.hover-title{position:absolute;left:22px;bottom:18px;color:white;font:clamp(22px,3vw,38px) var(--serif);font-style:italic;opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s;text-shadow:0 1px 10px #0008;pointer-events:none}.hover-hint{position:absolute;right:15px;top:16px;color:white;font:8px var(--mono);letter-spacing:.12em;opacity:0;transition:opacity .25s;text-shadow:0 1px 8px #0008;pointer-events:none}.gallery-video:hover .hover-title,.gallery-video:focus-visible .hover-title,.gallery-video:hover .hover-hint{opacity:1;transform:translateY(0)}.gallery-meta{display:flex;justify-content:space-between;gap:12px;padding-top:10px;font:9px var(--mono);text-transform:uppercase;letter-spacing:.08em}.gallery-meta span:last-child{color:var(--muted);text-align:right;font-size:8px}.gallery-note{text-align:center;color:var(--muted);font:9px var(--mono);letter-spacing:.12em;text-transform:uppercase;margin:60px 0 0}.detail-page{background:#11110f;color:#efeee9}.detail-topbar{border-color:#333;grid-template-columns:1fr auto auto}.detail-topbar .eyebrow{margin:0;color:#aaa}.detail-topbar nav a:after{background:#efeee9}.video-fullscreen{height:calc(100svh - 84px);min-height:530px;position:relative;background:#050505;overflow:hidden}.video-frame,.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-frame iframe{object-fit:cover}.video-overlay{position:absolute;left:5vw;bottom:6vh;z-index:2;pointer-events:none;text-shadow:0 1px 14px #0009}.video-overlay p{font:9px var(--mono);letter-spacing:.16em}.video-overlay h1{font:clamp(55px,10vw,140px)/.9 var(--serif);font-style:italic;font-weight:500;margin:10px 0 25px;letter-spacing:-.05em}.video-overlay span{font:8px var(--mono);letter-spacing:.16em}.detail-copy{padding:100px 8vw 120px;display:grid;grid-template-columns:1fr 1fr;gap:10vw;background:var(--paper);color:var(--ink)}.detail-copy h2{font:clamp(38px,6vw,75px) var(--serif);font-weight:500;letter-spacing:-.05em;margin:0}.detail-copy>div:nth-child(2){max-width:570px;padding-top:8px}.detail-copy>div:nth-child(2)>p{font-size:15px;line-height:1.9;color:#5e5b54;margin:0 0 30px}.next-work{display:flex;justify-content:space-between;padding:25px 8vw;background:var(--paper);color:var(--ink);border-top:1px solid var(--line)}.next-work a{font:9px var(--mono);text-transform:uppercase;letter-spacing:.12em}.detail-page footer{border-color:#333;color:#aaa}.detail-page footer .brand{color:#efeee9}.collab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.collab-thumb{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:#d5d1c7}.collab-thumb img{width:100%;height:100%;object-fit:cover;filter:saturate(.7);transition:transform .6s}.collab-thumb:hover img{transform:scale(1.04)}.collab-thumb span{position:absolute;left:15px;bottom:15px;color:white;font:9px var(--mono);letter-spacing:.12em}.collab-card>.eyebrow{margin:22px 0 8px}.collab-card h2{font:30px var(--serif);font-weight:500;margin:0 0 8px}.collab-card>p:last-child{font-size:12px;color:var(--muted);max-width:350px}.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding:10px 8vw 120px}.about-quote{font:clamp(30px,4.5vw,60px)/1.18 var(--serif);letter-spacing:-.04em;margin:0}.about-text p{font-size:13px;color:#5d5a53;margin:0 0 22px;line-height:1.9}.contact-area{border-top:1px solid var(--line);padding:75px 8vw}.contact-area h2{font:clamp(50px,8vw,100px)/.95 var(--sans);letter-spacing:-.07em;margin:0}.contact-area>p:not(.eyebrow){margin:30px 0 15px;max-width:400px;color:var(--muted);font-size:13px}.contact-area small{display:block;margin-top:15px;color:var(--muted);font-size:10px}
@media(min-width:1450px){.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery-video{aspect-ratio:1.2/1}}
@media(max-width:800px){.topbar{height:70px;grid-template-columns:1fr auto;padding:0 5vw}.topbar nav{display:none;position:absolute;top:69px;left:0;right:0;padding:22px 5vw;background:var(--paper);border-bottom:1px solid var(--line);align-items:flex-start;flex-direction:column;gap:18px}.topbar nav.open{display:flex}.menu-toggle{display:block}.counter{display:none}.hero-carousel{height:70svh;min-height:500px}.slide.active-slide{width:58vw;height:68%}.slide.side-slide{width:28vw;height:42%}.slide.side-slide.side-left{transform:translateX(-33vw)}.slide.side-slide.side-right{transform:translateX(33vw)}.hero-foot{grid-template-columns:1fr auto;gap:10px;left:5vw;right:5vw;bottom:18px}.hero-foot .progress{grid-column:1/-1;grid-row:2}.hero-foot span:first-child{font-size:7px}.carousel-arrow.prev{left:0}.carousel-arrow.next{right:0}.home-intro{padding:100px 6vw}.home-intro h1{font-size:clamp(52px,12vw,85px)}.home-description,.home-intro>.under-link{margin-left:20%;}.upcoming{grid-template-columns:1fr auto;padding:24px 5vw}.upcoming>div:nth-child(2){grid-column:1/-1;grid-row:2}.upcoming-number{grid-column:2;grid-row:1}.contact-strip{padding:30px 5vw}footer{padding:22px 5vw;flex-wrap:wrap}footer>span{order:3;flex-basis:100%}.gallery-page,.about-page{padding:50px 5vw 75px}.page-title{padding:15px 0 45px}.page-title>p:last-child{margin-left:15%;max-width:280px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 12px}.gallery-meta{flex-direction:column;gap:4px}.gallery-meta span:last-child{text-align:left}.detail-topbar{grid-template-columns:1fr auto}.detail-topbar .eyebrow{display:none}.video-fullscreen{height:75svh;min-height:440px}.detail-copy{grid-template-columns:1fr;gap:25px;padding:70px 6vw}.next-work{padding:22px 6vw}.collab-grid{grid-template-columns:1fr 1fr;gap:30px 15px}.collab-card h2{font-size:25px}.about-columns{grid-template-columns:1fr;gap:30px;padding:0 4vw 75px}.contact-area{padding:60px 4vw}}
@media(max-width:480px){.brand{font-size:9px}.slide.active-slide{width:64vw;height:62%}.slide.side-slide{width:25vw;height:36%}.slide.side-slide.side-left{transform:translateX(-35vw)}.slide.side-slide.side-right{transform:translateX(35vw)}.gallery-grid,.collab-grid{grid-template-columns:1fr}.gallery-video{aspect-ratio:1.25/1}.collab-thumb{aspect-ratio:1.3/1}.detail-copy{padding:60px 6vw}.video-fullscreen{height:70svh;min-height:390px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Uploaded local videos and cover art */
.gallery-video .local-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;transition:opacity .2s}
.gallery-video .hover-title{opacity:0;transform:translateY(6px)}
.gallery-video .hover-title.title-visible{opacity:1;transform:translateY(0)}
.video-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#050505;border:0}
.slide .carousel-video,.slide .carousel-youtube{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover;pointer-events:none}
.slide .carousel-youtube{pointer-events:none}


/* Minimal editorial refresh — image-first, neutral sans typography */
:root{--paper:#f1f1ef;--ink:#111;--muted:#777;--line:#d8d8d5;--sans:Inter,"Helvetica Neue",Arial,sans-serif;--serif:Inter,"Helvetica Neue",Arial,sans-serif;--mono:Inter,"Helvetica Neue",Arial,sans-serif}
body{font-family:var(--sans);font-weight:400;background:var(--paper);color:var(--ink);font-size:12px;line-height:1.45}
.topbar{height:68px;padding:0 4vw;border-bottom:0;grid-template-columns:1fr auto 1fr;gap:24px}
.brand{font:400 12px var(--sans);letter-spacing:-.035em;text-transform:none}
.brand span{letter-spacing:0}
.topbar nav{gap:clamp(16px,2.2vw,34px)}
.topbar nav a,.counter,.eyebrow,.menu-toggle{font:400 10px var(--sans);text-transform:none;letter-spacing:0}
.topbar nav a:after{bottom:-4px}
.hero-carousel{height:calc(100svh - 68px);min-height:500px;max-height:900px}
.slide{background:#ddd;filter:none}
.slide img{filter:none}
.slide.active-slide{width:min(34vw,560px);height:82%}
.slide.side-slide{width:min(30vw,510px);height:82%;opacity:.96;filter:none}
.slide.side-slide.side-left{transform:translateX(calc(-50vw - 6px));}
.slide.side-slide.side-right{transform:translateX(calc(50vw + 6px));}
.slide span{font:400 11px var(--sans);letter-spacing:.02em;text-transform:none;bottom:16px;left:18px;right:auto;text-align:left;text-shadow:0 1px 8px #0007}
.slide small{font:9px var(--sans);letter-spacing:0;bottom:16px;right:18px;left:auto;text-align:right}
.carousel-arrow{font:300 26px var(--sans);color:var(--ink)}
.hero-foot{font:400 9px var(--sans);letter-spacing:.02em;left:4vw;right:4vw}
.home-intro{padding:30px 4vw 44px;min-height:70px}
.home-intro .under-link{margin:0;border:0;padding:0;font:400 11px var(--sans);text-transform:none;letter-spacing:0;gap:12px}
.upcoming{padding:22px 4vw;grid-template-columns:1fr auto;gap:20px;border-color:var(--line)}
.upcoming .eyebrow{display:none}
.upcoming h2{font:400 13px var(--sans);margin:0}
.upcoming p{font:400 10px var(--sans);letter-spacing:0;margin-top:4px}
.upcoming-number{font:400 12px var(--sans);font-style:normal}
.contact-strip{padding:24px 4vw}
.contact-strip p{font:400 12px var(--sans)}
.under-link{font:400 11px var(--sans);text-transform:none;letter-spacing:0;border-bottom:1px solid var(--ink);padding:7px 0;gap:12px}
footer{padding:18px 4vw;border-color:var(--line);font:400 10px var(--sans)}
.gallery-page,.about-page{padding:30px 4vw 70px}
.page-title{padding:10px 0 35px}
.page-title .eyebrow,.page-title>p:last-child{display:none}
.page-title h1{font:400 clamp(22px,3vw,36px)/1.1 var(--sans);letter-spacing:-.045em}
.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:10px;row-gap:34px}
.gallery-video{aspect-ratio:1.1/1;background:#ddd}
.gallery-video img{filter:none}
.hover-title{font:400 13px var(--sans);font-style:normal;letter-spacing:-.02em;left:14px;bottom:12px}
.hover-hint{font:400 9px var(--sans);letter-spacing:0;right:12px;top:12px;text-transform:none}
.gallery-meta{padding-top:8px;font:400 11px var(--sans);letter-spacing:0;text-transform:none}
.gallery-meta span:last-child{display:none}
.gallery-video .local-preview{z-index:2;object-fit:cover;background:#111}
.gallery-video img{position:relative;z-index:1}
.preview-mount{position:absolute!important;inset:0;width:100%;height:100%;opacity:0;pointer-events:none;z-index:2;transition:opacity .2s}
.preview-mount.preview-playing{opacity:1}
.preview-mount iframe{width:100%;height:100%;border:0;pointer-events:none}
.gallery-video .hover-title,.gallery-video .hover-hint{z-index:4}
.detail-topbar{height:68px}
.video-fullscreen{height:calc(100svh - 68px);min-height:440px}
.video-overlay{left:4vw;bottom:4vh}
.video-overlay p,.video-overlay span{font:400 10px var(--sans);letter-spacing:0}
.video-overlay h1{font:400 clamp(32px,6vw,76px)/.95 var(--sans);letter-spacing:-.05em;font-style:normal}
.detail-copy{padding:55px 8vw 70px;gap:8vw}
.detail-copy h2{font:400 clamp(24px,4vw,48px)/1.05 var(--sans);letter-spacing:-.045em}
.detail-copy>div:nth-child(2)>p{font-size:12px;line-height:1.7}
.next-work a{font:400 10px var(--sans);text-transform:none;letter-spacing:0}
.collab-grid{gap:12px}
.collab-card h2{font:400 15px var(--sans);letter-spacing:-.025em}
.collab-card>p:last-child{font-size:11px}
.about-quote{font:400 clamp(24px,4vw,42px)/1.1 var(--sans);letter-spacing:-.045em}
.contact-area h2{font:400 clamp(30px,6vw,66px)/.95 var(--sans);letter-spacing:-.05em}
@media(max-width:800px){.topbar{height:62px}.topbar nav{top:61px}.hero-carousel{height:70svh;min-height:460px}.slide.active-slide{width:58vw;height:68%}.slide.side-slide{width:32vw;height:54%}.slide.side-slide.side-left{transform:translateX(-34vw)}.slide.side-slide.side-right{transform:translateX(34vw)}.home-intro{padding:20px 5vw 30px}.upcoming{grid-template-columns:1fr auto;padding:18px 5vw}.upcoming>div:nth-child(2){grid-column:1;grid-row:auto}.upcoming-number{grid-column:2;grid-row:1}.gallery-page,.about-page{padding:26px 5vw 55px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 10px}.gallery-video{aspect-ratio:1.05/1}.detail-topbar{height:62px}.video-fullscreen{height:75svh;min-height:380px}}
@media(max-width:480px){.brand{font-size:11px}.slide.active-slide{width:64vw;height:62%}.slide.side-slide{width:28vw;height:42%}.slide.side-slide.side-left{transform:translateX(-35vw)}.slide.side-slide.side-right{transform:translateX(35vw)}.gallery-grid{grid-template-columns:1fr}.gallery-video{aspect-ratio:1.2/1}}

/* White, gallery-like homepage refinement */
:root{--paper:#fff;--ink:#111;--muted:#777;--line:#e4e4e4}
html,body{background:#fff}
em,i{font-style:normal!important}
.home-topbar{height:62px;padding:0 3.2vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;position:relative;z-index:30;background:#fff;color:#111}
.home-nav{display:flex;align-items:center;gap:clamp(12px,1.8vw,28px);white-space:nowrap}
.home-nav a,.hello-link,.reel-link{font:400 10px/1.2 Inter,"Helvetica Neue",Arial,sans-serif;letter-spacing:0;color:#111;text-decoration:none}
.home-nav a:first-child{font-weight:600}
.hello-link{justify-self:center}
.reel-link{justify-self:end}
.home-nav a:hover,.hello-link:hover,.reel-link:hover{opacity:.5}
.editorial-carousel{height:calc(100svh - 62px);min-height:500px;max-height:1000px;background:#fff;overflow:hidden}
.editorial-carousel .carousel-track{height:100%;isolation:isolate}
.editorial-carousel .slide{width:min(29vw,470px);height:58%;background:#fff;overflow:hidden;transition:transform .45s ease,opacity .35s ease;box-shadow:none}
.editorial-carousel .slide a{display:block;width:100%;height:100%;position:relative;background:#fff}
.editorial-carousel .slide img{width:100%;height:100%;object-fit:cover;display:block;filter:none}
.editorial-carousel .slide.active-slide{width:min(52vw,860px);height:66%;max-height:680px;z-index:5;opacity:1;transform:translateX(0);background:#fff}
.editorial-carousel .slide.active-slide img.portrait-image{object-fit:contain;object-position:center;background:#fff}
.editorial-carousel .slide.side-slide{width:min(20vw,310px);height:43%;opacity:.65;z-index:2;filter:none}
.editorial-carousel .slide.side-slide.side-left{transform:translateX(calc(-50vw - 8px));}
.editorial-carousel .slide.side-slide.side-right{transform:translateX(calc(50vw + 8px));}
.editorial-carousel .slide .slide-title{position:absolute;left:0;bottom:-31px;right:auto;color:#111;font:400 11px/1.3 Inter,"Helvetica Neue",Arial,sans-serif;letter-spacing:0;text-transform:none;text-shadow:none;opacity:1}
.editorial-carousel .portrait-name{position:absolute;left:0;right:0;bottom:-36px;color:#111;font:400 13px/1.2 Inter,"Helvetica Neue",Arial,sans-serif;letter-spacing:-.025em;text-align:center;text-shadow:none}
.editorial-carousel .portrait-role{position:absolute;left:0;right:0;bottom:-54px;color:#777;font:400 9px/1.2 Inter,"Helvetica Neue",Arial,sans-serif;letter-spacing:0;text-align:center;text-shadow:none}
.editorial-carousel .slide.active-slide{overflow:visible}
.editorial-carousel .slide.active-slide a{overflow:visible}
.editorial-carousel .slide.active-slide .portrait-image{height:calc(100% - 42px)}
.editorial-carousel .slide.active-slide .carousel-video,.editorial-carousel .slide.active-slide .carousel-youtube{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover;background:#fff;pointer-events:none}
.editorial-carousel .slide.active-slide .slide-title{bottom:-28px;left:0}
.editorial-carousel .carousel-arrow{top:48%;z-index:25;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:0;border-radius:0;background:#fff;color:#111;font:300 20px/1 Inter,"Helvetica Neue",Arial,sans-serif;cursor:pointer;opacity:.8}
.editorial-carousel .carousel-arrow:hover{opacity:.45;transform:none}
.editorial-carousel .carousel-arrow.prev{left:2.5vw}.editorial-carousel .carousel-arrow.next{right:2.5vw}
.editorial-carousel .hero-foot{left:3.2vw;right:3.2vw;bottom:18px;grid-template-columns:1fr minmax(70px,180px) auto;gap:20px;color:#555;font:400 9px/1.2 Inter,"Helvetica Neue",Arial,sans-serif;letter-spacing:.02em}
.editorial-carousel .progress{height:1px;background:#e6e6e6}.editorial-carousel .progress span{height:1px;background:#111;transition:width .3s ease}
.home-intro{padding:20px 3.2vw 28px;min-height:0}
.home-intro .under-link{font:400 10px Inter,"Helvetica Neue",Arial,sans-serif;border:0;padding:0;letter-spacing:0;text-transform:none}
.upcoming{background:#fff;border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5;padding:25px 3.2vw;grid-template-columns:1fr 2fr auto;gap:20px;align-items:start}
.upcoming-heading{font:400 10px/1.3 Inter,"Helvetica Neue",Arial,sans-serif;color:#777}
.upcoming h2{font:400 14px/1.35 Inter,"Helvetica Neue",Arial,sans-serif;letter-spacing:-.02em;margin:0}
.upcoming p{font:400 10px/1.5 Inter,"Helvetica Neue",Arial,sans-serif;color:#777;margin:6px 0 0}
.upcoming-number{font:400 11px/1.3 Inter,"Helvetica Neue",Arial,sans-serif;font-style:normal}
.contact-strip{background:#fff;padding:22px 3.2vw}
footer{background:#fff;border-top:1px solid #e5e5e5;color:#777}
@media(max-width:800px){.home-topbar{height:60px;padding:0 5vw;grid-template-columns:1fr auto;gap:12px}.home-nav{gap:12px;overflow-x:auto}.home-nav a{font-size:9px}.hello-link{display:none}.reel-link{font-size:9px}.editorial-carousel{height:72svh;min-height:440px}.editorial-carousel .slide.active-slide{width:72vw;height:57%}.editorial-carousel .slide.side-slide{width:26vw;height:35%}.editorial-carousel .slide.side-slide.side-left{transform:translateX(-39vw)}.editorial-carousel .slide.side-slide.side-right{transform:translateX(39vw)}.editorial-carousel .slide.active-slide .portrait-image{height:calc(100% - 45px)}.editorial-carousel .carousel-arrow.prev{left:0}.editorial-carousel .carousel-arrow.next{right:0}.editorial-carousel .hero-foot{left:5vw;right:5vw;bottom:15px}.upcoming{grid-template-columns:1fr auto;padding:20px 5vw}.upcoming-heading{grid-column:1/-1}.upcoming>div:nth-child(2){grid-column:1;grid-row:2}.upcoming-number{grid-column:2;grid-row:2}}
@media(max-width:480px){.home-nav{gap:10px}.home-nav a{font-size:8px}.editorial-carousel .slide.active-slide{width:78vw;height:52%}.editorial-carousel .slide.side-slide{width:23vw;height:31%}.editorial-carousel .slide.side-slide.side-left{transform:translateX(-41vw)}.editorial-carousel .slide.side-slide.side-right{transform:translateX(41vw)}.editorial-carousel .hero-foot{grid-template-columns:1fr auto;gap:10px}.editorial-carousel .hero-foot .progress{grid-column:1/-1;grid-row:2}.editorial-carousel .slide.active-slide .portrait-image{height:calc(100% - 48px)}}
@media(min-width:801px){.editorial-carousel .slide.side-slide.side-left{transform:translateX(-38vw)}.editorial-carousel .slide.side-slide.side-right{transform:translateX(38vw)}}

/* V5 carousel refinement: large centre frame, quieter side previews, name over portrait */
.editorial-carousel .slide.active-slide{width:min(60vw,900px);height:76%;max-height:760px}
.editorial-carousel .slide.side-slide{width:min(14vw,220px);height:35%;opacity:.78}
.editorial-carousel .slide.side-slide.side-left{transform:translateX(calc(-40vw - 4px))}
.editorial-carousel .slide.side-slide.side-right{transform:translateX(calc(40vw + 4px))}
.editorial-carousel .slide.active-slide .portrait-image{height:100%;object-fit:contain;object-position:center;background:#fff}
.editorial-carousel .portrait-name{position:absolute;left:4%;right:4%;top:50%;bottom:auto;transform:translateY(-50%);color:#fff;font:800 clamp(12px,1.45vw,20px)/1.1 Inter,"Helvetica Neue",Arial,sans-serif;letter-spacing:.045em;text-align:center;text-shadow:0 1px 12px rgba(0,0,0,.55);white-space:normal}
@media(max-width:800px){.editorial-carousel .slide.active-slide{width:76vw;height:62%}.editorial-carousel .slide.side-slide{width:22vw;height:32%}.editorial-carousel .slide.side-slide.side-left{transform:translateX(-40vw)}.editorial-carousel .slide.side-slide.side-right{transform:translateX(40vw)}.editorial-carousel .portrait-name{font-size:clamp(11px,2.4vw,16px);left:3%;right:3%}}
@media(max-width:480px){.editorial-carousel .slide.active-slide{width:82vw;height:55%}.editorial-carousel .slide.side-slide{width:20vw;height:28%}.editorial-carousel .slide.side-slide.side-left{transform:translateX(-42vw)}.editorial-carousel .slide.side-slide.side-right{transform:translateX(42vw)}}


/* V6: reference-inspired depth and split-weight portrait title */
.editorial-carousel .slide.active-slide{
  width:min(56vw,840px);height:78%;max-height:780px;z-index:5;
  box-shadow:0 16px 44px rgba(0,0,0,.045);
}
.editorial-carousel .slide.side-slide{
  width:min(19vw,285px);height:49%;opacity:.88;z-index:3;
  overflow:hidden;box-shadow:0 8px 28px rgba(0,0,0,.07);
}
.editorial-carousel .slide.side-slide.side-left{
  transform:translateX(calc(-37vw - 8px)) perspective(1100px) rotateY(13deg) scale(.94);
  transform-origin:right center;
}
.editorial-carousel .slide.side-slide.side-right{
  transform:translateX(calc(37vw + 8px)) perspective(1100px) rotateY(-13deg) scale(.94);
  transform-origin:left center;
}
.editorial-carousel .slide.side-slide img{transform:scale(1.02);}
.editorial-carousel .slide.active-slide .portrait-image{height:100%;object-fit:contain;object-position:center;background:#fff}
.editorial-carousel .portrait-name{
  left:4%;right:4%;top:50%;bottom:auto;transform:translateY(-50%);
  color:#fff;font:400 clamp(14px,1.7vw,24px)/1.1 Inter,"Helvetica Neue",Arial,sans-serif;
  letter-spacing:.055em;text-align:center;text-shadow:0 1px 12px rgba(0,0,0,.55);
  white-space:normal;text-transform:uppercase;
}
.editorial-carousel .portrait-name strong{font-weight:800}
.editorial-carousel .portrait-name .surname{font-weight:400}
@media(max-width:800px){
 .editorial-carousel .slide.active-slide{width:70vw;height:61%}
 .editorial-carousel .slide.side-slide{width:25vw;height:36%;opacity:.82}
 .editorial-carousel .slide.side-slide.side-left{transform:translateX(-38vw) perspective(900px) rotateY(10deg) scale(.94)}
 .editorial-carousel .slide.side-slide.side-right{transform:translateX(38vw) perspective(900px) rotateY(-10deg) scale(.94)}
 .editorial-carousel .portrait-name{font-size:clamp(12px,2.6vw,18px);left:3%;right:3%}
}
@media(max-width:480px){
 .editorial-carousel .slide.active-slide{width:78vw;height:54%}
 .editorial-carousel .slide.side-slide{width:21vw;height:29%}
 .editorial-carousel .slide.side-slide.side-left{transform:translateX(-41vw) perspective(700px) rotateY(8deg) scale(.92)}
 .editorial-carousel .slide.side-slide.side-right{transform:translateX(41vw) perspective(700px) rotateY(-8deg) scale(.92)}
 .editorial-carousel .portrait-name{font-size:clamp(10px,2.7vw,14px)}
}


/* V8 refinement: centered split-weight name, deeper side carousel, subtle interactive link cue */
/* The generic .slide span rule positions all spans absolutely; reset nested name spans so the
   surname stays inline to the RIGHT of Genevieve Rose and the full name remains truly centered. */
.editorial-carousel .portrait-name {
  position:absolute; left:0; right:0; top:50%; bottom:auto;
  display:flex; justify-content:center; align-items:baseline; gap:.28em;
  width:100%; transform:translateY(-50%); text-align:center;
  white-space:nowrap; padding:0 3%;
  font:400 clamp(13px,1.7vw,24px)/1.1 Inter,"Helvetica Neue",Arial,sans-serif;
  letter-spacing:.045em; text-transform:uppercase;
  color:#fff; text-shadow:0 1px 12px rgba(0,0,0,.55);
}
.editorial-carousel .portrait-name strong,
.editorial-carousel .portrait-name .surname {
  position:static !important; inset:auto !important; display:inline !important;
  width:auto !important; margin:0; transform:none !important;
  text-align:inherit; white-space:nowrap;
}
.editorial-carousel .portrait-name strong {font-weight:800}
.editorial-carousel .portrait-name .surname {font-weight:400}

/* The main frame remains dominant; side films sit farther back and read as a layered preview. */
.editorial-carousel .slide.active-slide {
  width:min(56vw,840px); height:76%; max-height:760px; z-index:5;
}
.editorial-carousel .slide.side-slide {
  width:min(13vw,190px); height:31%; opacity:.68; z-index:2;
  box-shadow:0 8px 26px rgba(0,0,0,.055);
  filter:saturate(.78);
}
.editorial-carousel .slide.side-slide.side-left {
  transform:translateX(calc(-42vw - 14px)) perspective(1100px) rotateY(16deg) scale(.88);
  transform-origin:right center;
}
.editorial-carousel .slide.side-slide.side-right {
  transform:translateX(calc(42vw + 14px)) perspective(1100px) rotateY(-16deg) scale(.88);
  transform-origin:left center;
}
.editorial-carousel .slide.side-slide:hover {opacity:.9;filter:saturate(1);}

/* Minimal interaction cue: a fine line grows beneath links on hover/focus; no decorative arrows. */
.home-nav a, .hello-link, .under-link, footer a, .topbar nav a,
.detail-topbar nav a, .gallery-meta a, .page-links a {
  position:relative;
  transition:opacity .22s ease, color .22s ease;
}
.home-nav a::after, .hello-link::after, .under-link::after, footer a::after,
.topbar nav a::after, .detail-topbar nav a::after, .gallery-meta a::after, .page-links a::after {
  content:""; position:absolute; left:0; bottom:-4px; width:100%; height:1px;
  background:currentColor; transform:scaleX(0); transform-origin:left center;
  transition:transform .28s cubic-bezier(.2,.7,.2,1); opacity:.75;
}
.home-nav a:hover::after, .home-nav a:focus-visible::after,
.hello-link:hover::after, .hello-link:focus-visible::after,
.under-link:hover::after, .under-link:focus-visible::after,
footer a:hover::after, footer a:focus-visible::after,
.topbar nav a:hover::after, .topbar nav a:focus-visible::after,
.detail-topbar nav a:hover::after, .detail-topbar nav a:focus-visible::after,
.gallery-meta a:hover::after, .gallery-meta a:focus-visible::after,
.page-links a:hover::after, .page-links a:focus-visible::after {transform:scaleX(1)}
.home-nav a:hover, .hello-link:hover, .under-link:hover, footer a:hover {opacity:1}
.home-nav a:focus-visible, .hello-link:focus-visible, .under-link:focus-visible,
footer a:focus-visible, .topbar nav a:focus-visible, .detail-topbar nav a:focus-visible {
  outline:1px solid currentColor; outline-offset:5px;
}
@media(max-width:800px){
 .editorial-carousel .slide.active-slide{width:70vw;height:61%}
 .editorial-carousel .slide.side-slide{width:20vw;height:30%;opacity:.64}
 .editorial-carousel .slide.side-slide.side-left{transform:translateX(-41vw) perspective(850px) rotateY(12deg) scale(.9)}
 .editorial-carousel .slide.side-slide.side-right{transform:translateX(41vw) perspective(850px) rotateY(-12deg) scale(.9)}
 .editorial-carousel .portrait-name{font-size:clamp(11px,2.5vw,17px);gap:.22em}
}
@media(max-width:480px){
 .editorial-carousel .slide.active-slide{width:78vw;height:54%}
 .editorial-carousel .slide.side-slide{width:19vw;height:27%;opacity:.6}
 .editorial-carousel .slide.side-slide.side-left{transform:translateX(-42vw) perspective(700px) rotateY(10deg) scale(.88)}
 .editorial-carousel .slide.side-slide.side-right{transform:translateX(42vw) perspective(700px) rotateY(-10deg) scale(.88)}
 .editorial-carousel .portrait-name{font-size:clamp(9px,2.7vw,13px);gap:.18em}
}

/* V9: closer reference typography and carousel spacing */
:root {
  --paper: #ffffff;
  --ink: #171717;
  --muted: #737373;
  --line: #e7e7e7;
  --sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --serif: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --mono: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
body, button, input, textarea, select,
.brand, .topbar nav a, .counter, .eyebrow, .menu-toggle,
.hero-foot, .under-link, .upcoming p, footer,
.gallery-meta, .gallery-note, .hover-hint, .video-overlay p,
.video-overlay span, .next-work a, .collab-thumb span {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  letter-spacing: normal;
}
.topbar nav a, .home-nav a, .hello-link {font-size:10px; font-weight:400; text-transform:none;}
.brand {font-size:10px; letter-spacing:0; font-weight:400;}
.hero-foot {font-size:9px; letter-spacing:0;}
.slide-title, .slide span, .slide small,
.home-intro h1, .page-title h1, .upcoming h2,
.contact-strip p, .detail-copy h2, .video-overlay h1,
.collab-card h2, .about-quote, .contact-area h2,
.hover-title {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-style:normal !important;
  letter-spacing:-.025em;
}
.editorial-carousel .portrait-name {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  letter-spacing:.015em;
  font-size:clamp(13px,1.55vw,22px);
}
.editorial-carousel .portrait-name strong {font-weight:700;}
.editorial-carousel .portrait-name .surname {font-weight:400;}
/* Side works sit nearer the featured work, but stay smaller and recede in perspective. */
.editorial-carousel .slide.active-slide {
  width:min(56vw,840px);
  height:76%;
  max-height:760px;
}
.editorial-carousel .slide.side-slide {
  width:min(14vw,205px);
  height:30%;
  opacity:.68;
  filter:saturate(.78);
  box-shadow:0 8px 26px rgba(0,0,0,.045);
}
.editorial-carousel .slide.side-slide.side-left {
  transform:translateX(calc(-33vw - 2px)) perspective(1100px) rotateY(15deg) scale(.86);
  transform-origin:right center;
}
.editorial-carousel .slide.side-slide.side-right {
  transform:translateX(calc(33vw + 2px)) perspective(1100px) rotateY(-15deg) scale(.86);
  transform-origin:left center;
}
.editorial-carousel .slide.side-slide:hover {opacity:.9; filter:saturate(.95);}
@media(max-width:800px) {
  .editorial-carousel .slide.active-slide {width:70vw;height:61%;}
  .editorial-carousel .slide.side-slide {width:22vw;height:31%;opacity:.65;}
  .editorial-carousel .slide.side-slide.side-left {transform:translateX(-37vw) perspective(850px) rotateY(12deg) scale(.88);}
  .editorial-carousel .slide.side-slide.side-right {transform:translateX(37vw) perspective(850px) rotateY(-12deg) scale(.88);}
  .editorial-carousel .portrait-name {font-size:clamp(11px,2.4vw,16px);}
}
@media(max-width:480px) {
  .editorial-carousel .slide.active-slide {width:78vw;height:54%;}
  .editorial-carousel .slide.side-slide {width:20vw;height:27%;opacity:.6;}
  .editorial-carousel .slide.side-slide.side-left {transform:translateX(-40vw) perspective(700px) rotateY(10deg) scale(.86);}
  .editorial-carousel .slide.side-slide.side-right {transform:translateX(40vw) perspective(700px) rotateY(-10deg) scale(.86);}
  .editorial-carousel .portrait-name {font-size:clamp(9px,2.7vw,13px);}
}


/* V10: refine the reference-inspired header and carousel spacing */
.home-topbar { position:relative; }
.home-topbar .hello-link {
  color:#222;
  font-weight:700;
  transform:translateY(8px);
  transition:opacity .35s ease, transform .35s ease, color .2s ease;
}
.home-topbar .hello-link:hover { color:#000; }
body.carousel-away-from-portrait .home-topbar .hello-link {
  opacity:0;
  pointer-events:none;
  transform:translateY(2px);
}
/* Keep a visible hairline of white between the main image and its neighbours. */
.editorial-carousel .slide.side-slide.side-left {
  transform:translateX(calc(-36.5vw)) perspective(1100px) rotateY(15deg) scale(.86);
}
.editorial-carousel .slide.side-slide.side-right {
  transform:translateX(calc(36.5vw)) perspective(1100px) rotateY(-15deg) scale(.86);
}
@media(max-width:800px) {
  .editorial-carousel .slide.side-slide.side-left {transform:translateX(-38vw) perspective(850px) rotateY(12deg) scale(.88);}
  .editorial-carousel .slide.side-slide.side-right {transform:translateX(38vw) perspective(850px) rotateY(-12deg) scale(.88);}
  .home-topbar .hello-link {transform:translateY(6px);}
}
@media(max-width:480px) {
  .editorial-carousel .slide.side-slide.side-left {transform:translateX(-41vw) perspective(700px) rotateY(10deg) scale(.86);}
  .editorial-carousel .slide.side-slide.side-right {transform:translateX(41vw) perspective(700px) rotateY(-10deg) scale(.86);}
}


/* V12: immersive work pages with a discreet hover-reveal back bar */
.detail-page { background:#111; color:#efeee9; }
.detail-topbar {
  position:fixed; top:0; left:0; right:0; z-index:30;
  height:76px; padding:0 4.2vw; display:flex; align-items:center; justify-content:flex-start;
  border:0; background:transparent; color:#fff;
  -webkit-backdrop-filter:none; backdrop-filter:none;
  opacity:0; visibility:hidden; transform:translateY(-5px);
  transition:opacity .22s ease, transform .22s ease, visibility .22s;
}
.detail-topbar:hover, .detail-topbar:focus-within, .detail-topbar.is-visible { opacity:1; visibility:visible; transform:translateY(0); }
.top-hover-zone { position:fixed; top:0; left:0; right:0; height:24px; z-index:29; }
.detail-topbar .back-to-archive {
  display:inline-block; color:#fff; font:500 13px/1.2 "Helvetica Neue",Helvetica,Arial,sans-serif;
  letter-spacing:0; text-decoration:none; padding:14px 0;
}
.detail-topbar .back-to-archive::after { content:""; display:block; height:1px; width:0; margin-top:6px; background:rgba(255,255,255,.9); transition:width .25s ease; }
.detail-topbar .back-to-archive:hover::after, .detail-topbar .back-to-archive:focus-visible::after { width:100%; }
.video-fullscreen { height:100svh; min-height:530px; margin-top:0; }
.video-frame, .video-frame iframe, .video-frame video { position:absolute; inset:0; width:100%; height:100%; border:0; }
.video-frame video { display:block; object-fit:cover; background:#050505; }
.video-frame iframe { object-fit:cover; }
.video-overlay { bottom:12vh; opacity:1; transition:opacity .7s ease; }
.video-overlay.is-hidden { opacity:0; }
@media(max-width:800px) {
  .detail-topbar { height:62px; padding:0 5vw; }
  .video-fullscreen { height:100svh; min-height:440px; }
}


/* Collaboration thumbnails preview silently on hover, matching the Selected Works gallery. */
.collab-thumb { isolation:isolate; }
.collab-thumb > img { position:relative; z-index:0; }
.collab-local-preview, .collab-preview-mount { position:absolute; inset:0; width:100%; height:100%; border:0; object-fit:cover; opacity:0; pointer-events:none; transition:opacity .25s; z-index:1; }
.collab-local-preview.is-playing, .collab-thumb.is-previewing .collab-preview-mount { opacity:1; }
.collab-preview-mount iframe { position:absolute; inset:0; width:100%; height:100%; border:0; pointer-events:none; }
.collab-thumb.is-previewing > img { opacity:0; }
.collab-thumb > span { z-index:2; pointer-events:none; }


/* V21 — mobile-first polish: generous breathing room, stable viewport sizing, touch-friendly controls. */
html { -webkit-text-size-adjust:100%; }
img, video, iframe { max-width:100%; }
button, a { -webkit-tap-highlight-color:transparent; }
@media (hover:none) and (pointer:coarse) {
  .gallery-video .hover-title { opacity:1; transform:none; }
  .gallery-video .hover-hint { display:none; }
  .gallery-video .local-preview { display:none; }
  .collab-local-preview, .collab-preview-mount { display:none; }
  .gallery-video img, .collab-thumb > img { opacity:1 !important; }
}
@media (max-width:800px) {
  body { font-size:14px; }
  .topbar { position:relative; height:62px; padding:0 5vw; grid-template-columns:1fr auto; gap:12px; }
  .topbar .brand { font-size:10px; letter-spacing:.12em; }
  .menu-toggle { min-height:44px; min-width:58px; padding:10px 0 10px 12px; text-align:right; }
  .topbar nav { display:none; position:absolute; top:61px; left:0; right:0; z-index:40; padding:22px 5vw 26px; gap:19px; align-items:flex-start; flex-direction:column; background:rgba(255,255,255,.98); border-bottom:1px solid var(--line); }
  .topbar nav.open { display:flex; }
  .topbar nav a { font-size:12px; }
  .hero-carousel { height: min(72svh,690px); min-height:430px; }
  .editorial-carousel { height: min(70svh,660px); min-height:420px; }
  .editorial-carousel .slide.active-slide { width:74vw; height:59%; max-height:560px; }
  .editorial-carousel .slide.side-slide { width:24vw; height:34%; opacity:.58; }
  .editorial-carousel .slide.side-slide.side-left { transform:translateX(-40vw) perspective(850px) rotateY(10deg) scale(.9); }
  .editorial-carousel .slide.side-slide.side-right { transform:translateX(40vw) perspective(850px) rotateY(-10deg) scale(.9); }
  .editorial-carousel .portrait-name { font-size:clamp(11px,2.8vw,16px); letter-spacing:.025em; }
  .editorial-carousel .hero-foot { left:5vw; right:5vw; bottom:14px; gap:12px; }
  .carousel-arrow { width:44px; height:48px; font-size:30px; }
  .gallery-page, .about-page { padding:24px 5vw 52px; }
  .page-title { padding:12px 0 28px; }
  .page-title h1 { font-size:clamp(42px,10vw,76px); line-height:.98; }
  .page-title>p:last-child { margin:16px 0 0; max-width:32em; font-size:12px; }
  .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 12px; }
  .gallery-video { aspect-ratio: .88 / 1; background:#f0efec; }
  .gallery-video img { object-fit:cover; }
  .gallery-video .hover-title { left:12px; right:12px; bottom:12px; font-size:11px; text-align:left; }
  .gallery-meta { display:flex; flex-direction:row; align-items:flex-start; justify-content:space-between; gap:8px; padding-top:9px; font-size:11px; }
  .gallery-meta span:last-child { text-align:right; }
  .collab-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 12px; }
  .collab-thumb { aspect-ratio:.95 / 1; }
  .collab-card h2 { font-size:clamp(20px,4vw,28px); margin:7px 0; }
  .collab-card>p:last-child { font-size:11px; line-height:1.55; }
  .video-fullscreen { height:100svh; height:100dvh; min-height:0; }
  .video-frame video { object-fit:contain; }
  .video-frame iframe { width:100%; height:100%; }
  .video-overlay { left:5vw; right:5vw; bottom:13vh; }
  .video-overlay h1 { font-size:clamp(30px,8vw,54px); }
  .video-overlay p, .video-overlay span { font-size:9px; }
  .detail-topbar { height:56px; padding:0 5vw; }
  .detail-topbar .back-to-archive { font-size:12px; padding:12px 0; }
  .top-hover-zone { height:30px; }
  .detail-copy { grid-template-columns:1fr; gap:18px; padding:48px 6vw 54px; }
  .detail-copy h2 { font-size:clamp(26px,7vw,42px); }
  .detail-copy>div:nth-child(2)>p { font-size:13px; }
  .next-work { padding:20px 6vw; gap:18px; }
  .next-work a { font-size:10px; }
  .contact-strip { padding:28px 5vw; }
  footer { gap:14px; padding:22px 5vw; flex-wrap:wrap; }
  footer>span { flex-basis:100%; order:3; }
}
@media (max-width:480px) {
  .home-topbar { padding:0 5vw; grid-template-columns:1fr; }
  .home-topbar .home-nav { gap:14px; }
  .home-nav a { font-size:10px; white-space:nowrap; }
  .editorial-carousel { height:66svh; min-height:400px; }
  .editorial-carousel .slide.active-slide { width:79vw; height:53%; }
  .editorial-carousel .slide.side-slide { width:20vw; height:28%; opacity:.5; }
  .editorial-carousel .slide.side-slide.side-left { transform:translateX(-42vw) perspective(700px) rotateY(8deg) scale(.88); }
  .editorial-carousel .slide.side-slide.side-right { transform:translateX(42vw) perspective(700px) rotateY(-8deg) scale(.88); }
  .editorial-carousel .portrait-name { font-size:clamp(9px,2.65vw,13px); }
  .editorial-carousel .hero-foot { grid-template-columns:1fr auto; }
  .gallery-grid, .collab-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 10px; }
  .gallery-video { aspect-ratio:.78 / 1; }
  .gallery-meta { font-size:10px; }
  .collab-thumb { aspect-ratio:.82 / 1; }
  .collab-card h2 { font-size:20px; }
  .collab-card>p:last-child { font-size:10px; }
  .home-intro { padding:65px 6vw 72px; }
  .home-intro h1 { font-size:clamp(46px,12vw,68px); }
  .home-description { margin:28px 0 18px 8%; max-width:27em; }
  .home-intro>.under-link { margin-left:8%; }
  .upcoming { gap:12px; }
  .upcoming h2 { font-size:24px; }
  .video-overlay { bottom:15vh; }
  .detail-copy { padding-top:38px; }
  .next-work { flex-direction:column; align-items:flex-start; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

/* Mobile refinement: immersive first screen, larger featured work, deliberate spacing. */
@media (max-width: 800px) {
  .hero-carousel { height: 84svh; height: 84dvh; min-height: 590px; max-height: 900px; }
  .editorial-carousel { height: 82svh; height: 82dvh; min-height: 570px; max-height: 880px; }
  .editorial-carousel .slide.active-slide {
    width: 88vw; height: 76%; max-height: none;
  }
  .editorial-carousel .slide.side-slide {
    width: 17vw; height: 31%; opacity: .42;
  }
  .editorial-carousel .slide.side-slide.side-left { transform: translateX(-46vw) perspective(700px) rotateY(7deg) scale(.9); }
  .editorial-carousel .slide.side-slide.side-right { transform: translateX(46vw) perspective(700px) rotateY(-7deg) scale(.9); }
  .editorial-carousel .portrait-name { font-size: clamp(12px, 3.3vw, 17px); letter-spacing: .015em; }
  .editorial-carousel .hero-foot { left: 5vw; right: 5vw; bottom: 18px; gap: 12px; }
  .home-intro { min-height: 23svh; padding: 38px 6vw 48px; display:flex; align-items:flex-start; }
  .home-intro > .under-link { margin:0; font-size:15px; }
  .upcoming { padding: 34px 5vw 38px; display:grid; grid-template-columns:1fr auto; gap:18px 12px; align-items:start; }
  .upcoming-heading { grid-column:1 / -1; font-size:13px; }
  .upcoming h2 { font-size: clamp(25px, 6.4vw, 36px); line-height:1.08; letter-spacing:-.035em; margin:0; max-width:100%; }
  .upcoming p { font-size:13px; line-height:1.55; margin:12px 0 0; max-width:31em; }
  .upcoming-number { font-size:13px; white-space:nowrap; padding-top:4px; }
  .contact-strip { padding:28px 5vw 34px; }
  .contact-strip a { font-size:15px; }
  footer { padding:24px 5vw calc(28px + env(safe-area-inset-bottom)); display:grid; grid-template-columns:1fr auto; gap:20px 14px; align-items:center; }
  footer>span { flex-basis:auto; order:initial; grid-column:1; font-size:12px; }
  footer .social-links { grid-column:2; grid-row:1; gap:18px; }
  footer .social-links a { display:flex; align-items:center; justify-content:center; min-width:32px; min-height:32px; }
}
@media (max-width: 480px) {
  .home-topbar { min-height:60px; height:auto; padding:15px 5vw; grid-template-columns:1fr; }
  .home-topbar .home-nav { gap:clamp(12px, 4vw, 20px); flex-wrap:wrap; }
  .home-nav a { font-size:11px; }
  .editorial-carousel { height: 80svh; height: 80dvh; min-height: 560px; }
  .editorial-carousel .slide.active-slide { width: 90vw; height: 74%; }
  .editorial-carousel .slide.side-slide { width: 15vw; height: 27%; opacity:.36; }
  .editorial-carousel .slide.side-slide.side-left { transform:translateX(-47vw) perspective(600px) rotateY(6deg) scale(.9); }
  .editorial-carousel .slide.side-slide.side-right { transform:translateX(47vw) perspective(600px) rotateY(-6deg) scale(.9); }
  .editorial-carousel .portrait-name { font-size:clamp(11px, 3.2vw, 15px); padding:0 2%; }
  .editorial-carousel .hero-foot { bottom:16px; }
  .home-intro { min-height:19svh; padding:32px 6vw 38px; }
  .upcoming { padding:30px 5vw 34px; }
  .upcoming h2 { font-size:clamp(24px, 6.5vw, 32px); }
  .upcoming p { font-size:12px; }
  .contact-strip { padding:25px 5vw 30px; }
  footer { padding-top:22px; }
}


/* Mobile homepage: portrait-led opening, then a cinematic vertical film index.
   Desktop carousel and all other pages remain unchanged. */
.mobile-film-gallery { display:none; }
@media (max-width:800px) {
 .mobile-film-gallery{display:block;padding:34px 5vw 42px;border-top:1px solid #e6e6e6}
 .mobile-film-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 17px;font-size:10px;letter-spacing:.09em;color:#666}
 .hero-carousel{height:min(72svh,690px);height:min(72dvh,690px);min-height:470px;max-height:690px}
 .editorial-carousel .slide.side-slide,.editorial-carousel .carousel-arrow{display:none!important}
 .editorial-carousel .carousel-track{touch-action:pan-y}
 .editorial-carousel .slide.active-slide{width:90vw;height:74%;left:50%;transform:translate(-50%,-50%)}
 .editorial-carousel .hero-foot{left:5vw;right:5vw;bottom:14px;grid-template-columns:1fr auto}
 .editorial-carousel .hero-foot .progress{grid-column:1/-1;grid-row:2}
 .mobile-film-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 12px}
 .mobile-film-card{min-width:0;display:block;color:#111;text-decoration:none}
 .mobile-film-card-wide{grid-column:1/-1}
 .mobile-film-media{position:relative;overflow:hidden;background:#f1f1f1;aspect-ratio:1.18/1}
 .mobile-film-card-wide .mobile-film-media{aspect-ratio:1.72/1}
 .mobile-film-media video{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.65,.25,1)}
 .mobile-film-play{position:absolute;right:10px;bottom:10px;width:30px;height:30px;border:1px solid rgba(255,255,255,.8);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;line-height:1;background:rgba(0,0,0,.18)}
 .mobile-film-meta{display:flex;justify-content:space-between;gap:8px;padding-top:9px;font-size:11px;line-height:1.3}
 .mobile-film-meta span:first-child{color:#8a8a8a;font-variant-numeric:tabular-nums}
 .mobile-film-meta span:last-child{text-align:right}
 .mobile-film-card:active .mobile-film-media video{transform:scale(1.025)}
 .mobile-archive-link{display:inline-block;margin-top:31px;font-size:13px}
 .home-intro{min-height:0;padding:24px 5vw 35px}
 .home-intro>.under-link{display:none}
}
@media(max-width:480px){.mobile-film-gallery{padding-top:29px}.mobile-film-grid{gap:22px 10px}.mobile-film-media{aspect-ratio:.96/1}.mobile-film-card-wide .mobile-film-media{aspect-ratio:1.45/1}.mobile-film-meta{font-size:10px}}


/* Final mobile polish: portrait fills the first screen beneath a compact nav; social links centered in footer. */
@media (max-width: 800px) {
  .home-topbar {
    min-height:0 !important; height:auto !important; padding:14px 5vw 8px !important;
    display:flex !important; flex-direction:column !important; align-items:flex-start !important; gap:12px !important;
  }
  .home-topbar .home-nav { order:0; width:100%; flex-wrap:nowrap !important; gap:clamp(10px,3.6vw,20px) !important; overflow:visible; }
  .home-topbar .home-nav a { font-size:clamp(9px,2.8vw,11px) !important; white-space:nowrap; }
  .home-topbar .hello-link { display:block !important; order:1; align-self:flex-start; font-size:12px !important; color:#111; margin:0 0 1px 0; }
  .hero-carousel, .editorial-carousel { height:calc(100svh - 112px) !important; height:calc(100dvh - 112px) !important; min-height:500px !important; max-height:none !important; margin:0 !important; }
  .editorial-carousel .slide.active-slide { width:100vw !important; height:100% !important; max-height:none !important; left:50% !important; top:50% !important; transform:translate(-50%,-50%) !important; box-shadow:none !important; }
  .editorial-carousel .slide.active-slide .portrait-image { width:100% !important; height:calc(100% - 30px) !important; object-fit:cover !important; object-position:center 42% !important; }
  .editorial-carousel .slide.active-slide .portrait-name { font-size:clamp(12px,3.6vw,16px) !important; }
  .editorial-carousel .slide.side-slide, .editorial-carousel .carousel-arrow { display:none !important; }
  .editorial-carousel .hero-foot { left:5vw !important; right:5vw !important; bottom:8px !important; grid-template-columns:1fr auto !important; gap:8px !important; }
  .editorial-carousel .hero-foot .progress { grid-column:1 / -1 !important; grid-row:2 !important; }
  body.carousel-away-from-portrait .home-topbar .hello-link { opacity:0 !important; pointer-events:none !important; }
  .home-intro { display:none !important; }
  .mobile-film-gallery { margin-top:0; }
  footer { display:flex !important; flex-wrap:wrap !important; align-items:center !important; justify-content:space-between !important; gap:16px 12px !important; padding:24px 5vw calc(28px + env(safe-area-inset-bottom)) !important; }
  footer .brand { order:0; flex:1 1 auto; }
  footer>span { order:1; flex:0 0 auto !important; }
  footer>a[href="#top"] { order:2; }
  footer .social-links { order:3; flex:1 0 100%; display:flex !important; justify-content:center !important; align-items:center; gap:24px !important; margin-top:2px; }
  footer .social-links a { width:25px !important; height:25px !important; min-width:25px !important; min-height:25px !important; display:flex; color:#777 !important; }
  footer .social-links svg { display:block; width:21px; height:21px; }
}
@media (max-width: 480px) {
  .hero-carousel, .editorial-carousel { height:calc(100svh - 112px) !important; height:calc(100dvh - 112px) !important; min-height:0 !important; }
  .editorial-carousel .slide.active-slide .portrait-image { height:calc(100% - 26px) !important; }
}


/* Mobile final polish v3: full-bleed hero, overlay hamburger, no overlapping slide metadata. */
.mobile-menu-button { display:none; }
@media (max-width:800px) {
  .home-page { overflow-x:hidden; }
  .home-topbar {
    position:absolute !important; top:0 !important; left:0 !important; right:0 !important;
    z-index:100 !important; display:block !important; width:100%; height:0 !important;
    min-height:0 !important; padding:0 !important; margin:0 !important;
  }
  .mobile-menu-button {
    display:flex !important; position:absolute; top: max(14px, env(safe-area-inset-top)); left:18px;
    width:44px; height:44px; padding:12px 10px; border:0; border-radius:50%;
    background:rgba(255,255,255,.86); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
    flex-direction:column; justify-content:center; gap:5px; z-index:102; cursor:pointer;
  }
  .mobile-menu-button span { display:block; height:1.5px; width:22px; background:#111; transition:transform .2s ease, opacity .2s ease; }
  .mobile-menu-button[aria-expanded="true"] span:first-child { transform:translateY(6.5px) rotate(45deg); }
  .mobile-menu-button[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  .mobile-menu-button[aria-expanded="true"] span:last-child { transform:translateY(-6.5px) rotate(-45deg); }
  .home-topbar .home-nav {
    display:none !important; position:absolute !important; top:0; left:0; right:0; width:100%;
    padding:74px 24px 26px !important; background:rgba(255,255,255,.97); backdrop-filter:blur(12px);
    flex-direction:column !important; align-items:flex-start !important; gap:20px !important;
    box-sizing:border-box; border-bottom:1px solid #e5e5e5; z-index:101;
  }
  .home-topbar .home-nav.open { display:flex !important; }
  .home-topbar .home-nav a { font-size:14px !important; letter-spacing:0 !important; }
  .home-topbar .hello-link { display:none !important; }
  .hero-carousel, .editorial-carousel {
    height:100svh !important; height:100dvh !important; min-height:0 !important; max-height:none !important;
    width:100vw !important; margin:0 !important; padding:0 !important; overflow:visible !important;
  }
  .editorial-carousel .carousel-track { position:absolute; inset:0; }
  .editorial-carousel .slide.active-slide {
    position:absolute !important; left:0 !important; top:0 !important; width:100vw !important; height:100% !important;
    transform:none !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; background:transparent !important;
  }
  .editorial-carousel .slide.active-slide > a { display:block; position:absolute; inset:0; }
  .editorial-carousel .slide.active-slide .portrait-image,
  .editorial-carousel .slide.active-slide .carousel-video,
  .editorial-carousel .slide.active-slide .carousel-youtube {
    display:block !important; position:absolute !important; inset:0 !important; width:100% !important; height:100% !important;
    max-height:none !important; object-fit:cover !important; object-position:center 42% !important; border:0 !important;
  }
  .editorial-carousel .slide.active-slide .portrait-name,
  .editorial-carousel .slide.active-slide .slide-title { font-size:clamp(13px,3.7vw,17px) !important; }
  .editorial-carousel .slide.side-slide, .editorial-carousel .carousel-arrow { display:none !important; }
  /* Keep the count/progress in its own strip below the full-screen media, never on top of it. */
  .editorial-carousel .hero-foot {
    position:absolute !important; top:calc(100% + 14px) !important; bottom:auto !important;
    left:5vw !important; right:5vw !important; height:34px; display:grid !important;
    grid-template-columns:1fr auto !important; gap:8px !important; color:#666 !important;
  }
  .editorial-carousel .hero-foot .progress { grid-column:1 / -1 !important; grid-row:2 !important; height:2px; }
  .mobile-film-gallery { margin-top:60px !important; }
  .home-intro { display:none !important; }
  footer .social-links { justify-content:center !important; }
}
@media (max-width:480px) {
  .mobile-menu-button { left:14px; width:42px; height:42px; }
  .editorial-carousel .slide.active-slide .portrait-image { object-position:center 42% !important; }
}


/* Mobile v4: replace the carousel with one clean, static full-bleed portrait. Desktop is unchanged. */
@media (max-width: 800px) {
  .hero-carousel.editorial-carousel {
    height: 100svh !important;
    height: 100dvh !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    margin: 0 !important;
  }
  .editorial-carousel .carousel-track { position:absolute !important; inset:0 !important; }
  .editorial-carousel .slide { display:none !important; }
  .editorial-carousel .slide.portrait-slide.active-slide { display:block !important; }
  .editorial-carousel .slide.portrait-slide.active-slide,
  .editorial-carousel .slide.portrait-slide.active-slide > a {
    position:absolute !important; inset:0 !important; width:100vw !important; height:100% !important;
    max-height:none !important; transform:none !important; border:0 !important; border-radius:0 !important;
    box-shadow:none !important; background:transparent !important;
  }
  .editorial-carousel .slide.portrait-slide .portrait-image {
    position:absolute !important; inset:0 !important; display:block !important;
    width:100% !important; height:100% !important; max-height:none !important;
    object-fit:cover !important; object-position:center 42% !important;
  }
  .editorial-carousel .portrait-name { display:block !important; }
  .editorial-carousel .hero-foot,
  .editorial-carousel .carousel-arrow,
  .editorial-carousel .slide-title { display:none !important; }
  /* Simple black lines directly over the image, no white bubble. */
  .mobile-menu-button {
    top:max(18px, env(safe-area-inset-top)) !important; left:18px !important;
    width:44px !important; height:44px !important; padding:10px !important;
    border:0 !important; border-radius:0 !important; background:transparent !important;
    box-shadow:none !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
  }
  .mobile-menu-button span { width:24px !important; height:1.5px !important; background:#111 !important; }
  .mobile-film-gallery { margin-top:0 !important; }
  /* Keep the two social icons together on the left half of the footer, clear of Netlify's preview badge. */
  footer .social-links {
    order:4 !important; flex:0 0 auto !important; width:auto !important;
    justify-content:flex-start !important; gap:20px !important; margin:8px 0 0 0 !important;
    position:relative; z-index:2;
  }
  footer .social-links a { width:23px !important; height:23px !important; min-width:23px !important; min-height:23px !important; }
  footer .social-links svg { width:20px !important; height:20px !important; }
}


/* Mobile gallery refinement: still imagery, not simultaneous moving previews. */
@media (max-width: 800px) {
  .mobile-film-media video,
  .mobile-film-media img { display:block; width:100%; height:100%; object-fit:cover; }
  .mobile-film-media img { transition:transform .45s ease; }
  .mobile-film-card:active .mobile-film-media img { transform:scale(1.015); }
  /* Move social links to the far left on their own footer row, clear of Netlify's preview badge. */
  footer .social-links { flex:1 0 100% !important; width:100% !important; justify-content:flex-start !important; margin-left:0 !important; padding-left:0 !important; }
}


/* Homepage choreography reel overlay — quick reveal and discreet accessible controls. */
.homepage-reel-overlay{position:fixed;inset:0;z-index:3000;background:#080808;opacity:0;visibility:hidden;pointer-events:none;clip-path:inset(10% 34% 10% 34%);transition:clip-path .42s cubic-bezier(.22,.75,.2,1),opacity .22s ease,visibility 0s linear .42s;}
.homepage-reel-overlay.is-visible{opacity:1;visibility:visible;pointer-events:auto;clip-path:inset(0 0 0 0);transition:clip-path .42s cubic-bezier(.22,.75,.2,1),opacity .22s ease,visibility 0s;}
.homepage-reel-video{display:block;width:100%;height:100%;object-fit:cover;background:#080808;}
.homepage-reel-back,.homepage-reel-control{appearance:none;border:0;background:rgba(0,0,0,.18);color:#fff;cursor:pointer;font-family:Inter,Arial,sans-serif;font-weight:300;text-shadow:0 1px 8px rgba(0,0,0,.35);-webkit-tap-highlight-color:transparent;}
.homepage-reel-back{position:absolute;top:max(16px,env(safe-area-inset-top));left:20px;padding:8px 12px;font-size:23px;line-height:1;opacity:0;transition:opacity .18s ease;}
.homepage-reel-controls{position:absolute;right:22px;bottom:max(20px,env(safe-area-inset-bottom));display:flex;gap:8px;align-items:center;}
.homepage-reel-control{padding:8px 11px;font-size:15px;line-height:1;opacity:.88;transition:opacity .18s ease,background .18s ease;}
.homepage-reel-control span{font-size:10px;letter-spacing:.04em;margin-left:5px;}
.homepage-reel-control:hover,.homepage-reel-control:focus-visible{opacity:1;background:rgba(0,0,0,.42);}
.homepage-reel-open{overflow:hidden!important;}
@media(hover:hover) and (min-width:801px){.homepage-reel-overlay.is-visible:hover .homepage-reel-back,.homepage-reel-back:focus-visible{opacity:.82;}.homepage-reel-overlay.is-visible .homepage-reel-controls{opacity:.62;transition:opacity .2s ease}.homepage-reel-overlay.is-visible:hover .homepage-reel-controls,.homepage-reel-overlay.is-visible .homepage-reel-controls:focus-within{opacity:1;}}
@media(hover:none),(max-width:800px){.homepage-reel-back{opacity:.8;top:max(12px,env(safe-area-inset-top));left:12px;}.homepage-reel-controls{right:12px;bottom:max(12px,env(safe-area-inset-bottom));}.homepage-reel-video{object-fit:contain;background:#050505;}}
@media(prefers-reduced-motion:reduce){.homepage-reel-overlay,.homepage-reel-overlay.is-visible{transition:none;}}


/* Reliable always-visible controls for the homepage reel (desktop + touch). */
.homepage-reel-overlay { z-index: 2147483000 !important; }
.homepage-reel-overlay.is-visible { visibility: visible !important; opacity: 1 !important; pointer-events: auto !important; }
.homepage-reel-overlay .homepage-reel-video { position:absolute; inset:0; width:100%; height:100%; }
.homepage-reel-overlay .homepage-reel-controls {
  position:fixed !important; z-index:2147483002 !important; right:20px !important;
  bottom:max(20px,env(safe-area-inset-bottom)) !important; display:flex !important;
  gap:10px !important; opacity:1 !important; visibility:visible !important;
}
.homepage-reel-overlay .homepage-reel-control {
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  min-height:46px !important; padding:12px 16px !important; border:1px solid rgba(255,255,255,.8) !important;
  border-radius:3px !important; background:rgba(0,0,0,.78) !important; color:#fff !important;
  font:500 14px/1.2 Arial,sans-serif !important; opacity:1 !important; visibility:visible !important;
  text-shadow:none !important; cursor:pointer !important;
}
.homepage-reel-overlay .homepage-reel-control span { font-size:13px !important; margin-left:7px !important; }
.homepage-reel-overlay .homepage-reel-back {
  z-index:2147483002 !important; opacity:1 !important; visibility:visible !important;
  background:rgba(0,0,0,.78) !important; border:1px solid rgba(255,255,255,.8) !important;
  color:#fff !important; min-height:44px !important;
}
@media(max-width:800px) {
  .homepage-reel-overlay .homepage-reel-controls { right:12px !important; bottom:max(12px,env(safe-area-inset-bottom)) !important; }
  .homepage-reel-overlay .homepage-reel-control { min-height:48px !important; padding:12px 13px !important; font-size:13px !important; }
  .homepage-reel-overlay .homepage-reel-video { object-fit:contain !important; background:#050505 !important; }
}

/* Reel plays muted on loop with no sound/pause buttons */
.reel-controls,.homepage-reel-controls{display:none !important;}

/* Project pages: never crop the film, in the page or in browser fullscreen */
.video-frame video{object-fit:contain !important;background:#000 !important}
.video-frame video:fullscreen{object-fit:contain !important}
.video-frame video:-webkit-full-screen{object-fit:contain !important}
.video-fullscreen{height:100vh !important;height:100svh !important;height:100dvh !important;min-height:0 !important}
/* Mail link feedback */
a[href^="mailto:"]{transition:opacity .18s ease,transform .18s ease}
a[href^="mailto:"]:hover{opacity:.6}
a[href^="mailto:"]:active{transform:translateY(1px)}
.mail-toast{position:fixed;left:50%;bottom:28px;z-index:100;transform:translate(-50%,8px);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 16px;max-width:calc(100vw - 32px);box-sizing:border-box;background:#111;color:#fff;padding:13px 18px;font:400 11px/1.3 Inter,"Helvetica Neue",Arial,sans-serif;letter-spacing:.04em;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;box-shadow:0 6px 30px rgba(0,0,0,.25)}
.mail-toast.is-visible{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.mail-toast .mail-addr{font-size:12px;user-select:all}
.mail-toast .mail-copied{color:#9a9a9a;text-transform:uppercase;font-size:9px;letter-spacing:.12em}
.mail-toast .mail-actions{display:flex;align-items:center;gap:14px}
.mail-toast .mail-actions a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:1px}
.mail-toast .mail-actions a:hover{opacity:1;border-color:#fff}
.mail-toast button{appearance:none;border:0;background:none;color:#9a9a9a;font-size:16px;line-height:1;cursor:pointer;padding:0 0 0 4px}
.mail-toast button:hover{color:#fff}
/* Reel page: the film carries its own titles, so no title overlay on top */
body.is-reel #video-overlay{display:none !important}
/* Mobile: centre the Earlier Works toggle */
@media(max-width:800px){.earlier-works-control{justify-content:center !important}.earlier-works-button{padding-left:0 !important;padding-right:0 !important}.earlier-works-button::after{left:0 !important}}
/* Project pages: custom video player */
.video-frame{background:#000}
.video-frame video{cursor:pointer}
.vp-big{position:absolute;z-index:4;left:50%;top:50%;width:120px;height:120px;margin:-60px 0 0 -60px;padding:0;border:0;background:none;display:grid;place-items:center;cursor:pointer;transition:opacity .3s ease,transform .3s cubic-bezier(.2,.7,.3,1)}
.vp-big svg{display:block;width:72px;height:72px;margin:0;fill:#fff;stroke:#fff;stroke-width:1.6;stroke-linejoin:round;opacity:.9;filter:drop-shadow(0 2px 14px rgba(0,0,0,.45));transition:opacity .25s ease}
.vp-big:hover,.vp-big:focus-visible{transform:scale(1.08);outline:none}
.vp-big:hover svg,.vp-big:focus-visible svg{opacity:1}
.video-frame.vp-playing .vp-big{opacity:0;transform:scale(.9);pointer-events:none}
.vp-bar{position:absolute;z-index:4;left:0;right:0;bottom:0;display:flex;align-items:center;gap:14px;padding:28px 22px 16px;color:#fff;
  background:linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,0));font:400 11px/1 Inter,"Helvetica Neue",Arial,sans-serif;letter-spacing:.04em;font-variant-numeric:tabular-nums;
  opacity:0;pointer-events:none;transition:opacity .3s ease}
.video-frame.vp-started .vp-bar{opacity:1;pointer-events:auto}
.video-frame.vp-started.vp-idle .vp-bar{opacity:0;pointer-events:none}
.video-frame.vp-idle{cursor:none}.video-frame.vp-idle video{cursor:none}
.vp-btn{appearance:none;border:0;background:none;padding:4px;margin:0;color:#fff;cursor:pointer;display:grid;place-items:center;opacity:.9;transition:opacity .2s ease}
.vp-btn:hover,.vp-btn:focus-visible{opacity:1;outline:none}
.vp-btn svg{width:20px;height:20px;fill:currentColor;stroke:currentColor;stroke-width:0}
.vp-fs svg,.vp-mute .i-wave,.vp-mute .i-x{stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.vp-fs svg{fill:none}
.vp-toggle .i-pause{display:none}.video-frame.vp-playing .vp-toggle .i-pause{display:block}.video-frame.vp-playing .vp-toggle .i-play{display:none}
.vp-mute .i-x{display:none}.video-frame.vp-muted .vp-mute .i-x{display:block}.video-frame.vp-muted .vp-mute .i-wave{display:none}
.vp-track{position:relative;flex:1;height:18px;cursor:pointer;touch-action:none}
.vp-track::before,.vp-buf,.vp-fill{content:"";position:absolute;left:0;top:50%;height:2px;margin-top:-1px;border-radius:2px}
.vp-track::before{right:0;background:rgba(255,255,255,.25)}
.vp-buf{width:0;background:rgba(255,255,255,.35)}
.vp-fill{width:0;background:#fff}
.vp-fill::after{content:"";position:absolute;right:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:#fff;transform:scale(0);transition:transform .15s ease}
.vp-track:hover .vp-fill::after,.vp-track:focus-visible .vp-fill::after{transform:scale(1)}
.vp-track:hover::before,.vp-track:hover .vp-buf,.vp-track:hover .vp-fill{height:4px;margin-top:-2px}
.vp-track:focus-visible{outline:none}
.video-frame:fullscreen{width:100%;height:100%}
.video-frame:-webkit-full-screen{width:100%;height:100%}
body.vp-playing .video-overlay{opacity:0 !important;transition:opacity .4s ease}
@media(max-width:800px){.vp-big{width:96px;height:96px;margin:-48px 0 0 -48px}.vp-big svg{width:58px;height:58px}.vp-bar{gap:10px;padding:24px 12px max(12px,env(safe-area-inset-bottom))}.vp-dur{display:none}}
/* Phones: controls (incl. fullscreen) available before playback starts */
@media(pointer:coarse){.video-frame:not(.vp-idle) .vp-bar{opacity:1;pointer-events:auto}.vp-btn svg{width:22px;height:22px}.vp-btn{padding:6px}}
.video-frame.vp-fullscreen{background:#000}
/* Back bar floats over the film on every screen size (it took up a 56px strip on phones) */
.detail-topbar{position:fixed !important;top:0;left:0;right:0}
