:root{color-scheme:dark;--bg:#080808;--surface:#111213;--ink:#f2f1ed;--muted:#989999;--line:#2a2a2a;--ease:cubic-bezier(.2,.75,.25,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:64px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img,video{display:block;max-width:100%}::selection{background:#f2f1ed;color:#111}:focus-visible{outline:2px solid #f5f5f5;outline-offset:4px}
.skip-link{position:absolute;left:12px;top:-100px;background:#fff;color:#111;padding:12px;z-index:90}.skip-link:focus{top:12px}
.eyebrow,.section-index,.section-count,.project-back,.project-subtitle,.project-brief,.work-heading,.footer-overline{font-size:10px;font-weight:700;letter-spacing:.16em;line-height:1.6;text-transform:uppercase}.eyebrow{color:#b4b5b5}.bullet{color:#5b5c5e;margin:0 8px}.brand-period{color:var(--ink)}
.site-header{min-height:76px;padding:0 clamp(22px,3.2vw,62px);display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #1f1f1f;position:relative;z-index:30;background:#080808}.brand{font-size:clamp(16px,1.35vw,21px);font-weight:800;letter-spacing:-.066em;white-space:nowrap;line-height:1}.site-nav{display:flex;align-items:center;gap:clamp(20px,2.3vw,40px)}.site-nav a{font-size:10px;letter-spacing:.16em;font-weight:700;transition:opacity .2s}.site-nav a:hover{opacity:.58}.site-nav [aria-current]{color:#aaa}.menu-button{display:none;appearance:none;background:none;border:0;width:42px;height:42px;align-items:center;justify-content:center;flex-direction:column;gap:6px;cursor:pointer}.menu-button span{display:block;background:var(--ink);width:22px;height:1px;transition:transform .25s}.menu-button[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-button[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
/* Homepage: the artwork is the interface. */
.home-intro{padding:clamp(48px,5vw,88px) clamp(22px,3.2vw,62px) clamp(37px,4vw,70px);display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.home-intro h1{font-size:clamp(52px,7.6vw,128px);font-weight:800;line-height:.88;letter-spacing:-.082em;margin:25px 0 0;max-width:1060px}.home-intro h1 em{font-style:normal;color:#777}.home-intro p{font-size:11px;line-height:1.7;letter-spacing:.08em;text-transform:uppercase;text-align:right;color:#afafaf;max-width:230px;margin:0 0 7px}.work-block{scroll-margin-top:10px}.work-heading{height:58px;border-top:1px solid #242424;padding:0 clamp(22px,3.2vw,62px);display:flex;align-items:center;justify-content:space-between;gap:16px}.work-heading b{color:#858585;font-weight:600}.work-heading-right{color:#858585}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.portfolio-card{aspect-ratio:1.26;position:relative;display:block;overflow:hidden;background:#141617;isolation:isolate}.portfolio-card[hidden]{display:none!important}.portfolio-card img,.portfolio-card video{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .75s var(--ease),filter .5s;will-change:transform}.portfolio-card .preview-video{position:absolute;inset:0;opacity:0;transition:opacity .3s}.portfolio-card:hover .preview-video{opacity:1}.tile-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.84),transparent 55%);opacity:0;transition:opacity .4s}.tile-copy{position:absolute;bottom:clamp(20px,2.9vw,54px);left:clamp(19px,2.8vw,52px);right:42px;opacity:0;transform:translateY(12px);transition:opacity .35s,transform .45s var(--ease)}.tile-overline,.tile-copy small{display:block;font-size:10px;line-height:1.5;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:#d0d0d0}.tile-overline i,.feature-caption i,.lightbox-bar i{font-style:normal;color:#8d8d8d;margin:0 8px}.tile-copy strong{display:block;font-size:clamp(23px,3vw,56px);font-weight:800;line-height:1;letter-spacing:-.055em;text-transform:uppercase;margin:11px 0 10px}.tile-copy small{color:#c6c6c6}.tile-corner{position:absolute;z-index:4;top:20px;right:24px;font-size:24px;opacity:0;transform:translate(-8px,8px);transition:opacity .3s,transform .3s}.portfolio-card:is(:hover,:focus-visible) img{transform:scale(1.035)}.portfolio-card:is(:hover,:focus-visible) .tile-shade,.portfolio-card:is(:hover,:focus-visible) .tile-copy,.portfolio-card:is(:hover,:focus-visible) .tile-corner{opacity:1}.portfolio-card:is(:hover,:focus-visible) .tile-copy,.portfolio-card:is(:hover,:focus-visible) .tile-corner{transform:none}.portfolio-card:only-child{grid-column:1/-1;aspect-ratio:2.5}.portfolio-card:only-child img{object-position:center 52%}.portfolio-card:only-child .tile-copy strong{font-size:clamp(29px,4.8vw,74px)}.filters{display:flex;align-items:center;gap:22px}.filter{cursor:pointer;border:0;background:none;padding:6px 0;color:#777;font-size:10px;font-weight:700;letter-spacing:.16em}.filter[aria-pressed="true"],.filter:hover{color:#f2f2ef}
/* Project header and cinematic feature */
.project-title-block{padding:clamp(32px,3.8vw,60px) clamp(22px,4.2vw,82px) clamp(31px,3.5vw,53px)}.project-back{display:inline-flex;align-items:center;color:#969696;transition:color .2s}.project-back:hover{color:#fff}.project-title-line{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-top:clamp(40px,5vw,80px)}.project-title-line h1{font-size:clamp(68px,9.8vw,165px);font-weight:800;letter-spacing:-.092em;line-height:.85;text-transform:uppercase;margin:15px 0 24px;max-width:1370px}.project-subtitle{margin:0;color:#b5b5b5}.project-brief{margin:0 0 5px;max-width:220px;text-align:right;color:#848484}
.project-feature{height:clamp(340px,47vw,720px);position:relative;overflow:hidden;background:#151a1b}.project-feature>img{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.82)}.feature-caption{position:absolute;left:0;right:0;bottom:0;padding:35px clamp(22px,4.2vw,82px) 27px;background:linear-gradient(0deg,rgba(0,0,0,.65),transparent);display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.17em;font-weight:700;text-transform:uppercase}.feature-caption span:last-child{color:#c2c2c2}
.project-overview{max-width:1750px;margin:0 auto;padding:clamp(62px,6vw,116px) clamp(22px,4.2vw,82px);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(34px,8vw,140px)}.overview-copy p{font-size:clamp(20px,2.05vw,32px);line-height:1.45;letter-spacing:-.025em;color:#ddddda;max-width:800px;margin:20px 0 0}.overview-aside{display:flex;gap:32px;justify-content:space-between;align-items:flex-start}.overview-aside dl{margin:0;flex:1;min-width:0}.overview-aside dl>div{border-top:1px solid #333;display:grid;grid-template-columns:100px minmax(0,1fr);gap:13px;padding:17px 0}.overview-aside dt{font-size:10px;letter-spacing:.16em;color:#888;font-weight:700}.overview-aside dd{margin:0;font-size:11px;letter-spacing:.06em;line-height:1.6;font-weight:700;text-transform:uppercase}.poster-frame{width:clamp(95px,10vw,160px);flex:none;aspect-ratio:4/5.4!important;background:#111!important;margin:0!important}.poster-frame img{object-fit:cover!important}
.section-nav{display:flex;gap:40px;align-items:center;overflow:auto;white-space:nowrap;scrollbar-width:thin;border-top:1px solid #2a2a2a;border-bottom:1px solid #2a2a2a;position:sticky;top:0;z-index:20;background:rgba(8,8,8,.96);backdrop-filter:blur(20px);padding:0 clamp(22px,4.2vw,82px);min-height:58px}.section-nav>span{color:#797979;font-size:10px;letter-spacing:.16em;font-weight:700}.section-nav>a{font-size:10px;letter-spacing:.12em;font-weight:700;transition:color .2s}.section-nav>a:hover{color:#9c9c9c}.section-nav>a span{font-size:12px;color:#777;padding-left:7px}
/* Each gallery is an editorial grid. Images expand in a full-resolution viewer. */
.gallery-sections{padding:36px clamp(13px,2.7vw,52px) 24px;max-width:1900px;margin:0 auto}.gallery-section{scroll-margin-top:76px;margin-bottom:clamp(60px,6vw,120px)}.gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding:31px clamp(9px,1.5vw,30px) 24px}.gallery-heading .section-index{color:#888}.gallery-heading h2{font-size:clamp(24px,3.2vw,50px);letter-spacing:-.05em;font-weight:800;line-height:1.1;text-transform:uppercase;margin:13px 0 0}.section-count{color:#878787;white-space:nowrap;padding-bottom:4px}.section-count span{padding-left:10px;color:#c4c4c4}.image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.gallery-photo{position:relative;margin:0;overflow:hidden;background:#191a1b;aspect-ratio:16/9}.gallery-photo::after{content:'';background-image:url('/assets/arrow-up-right.svg');background-size:18px 18px;background-position:center;background-repeat:no-repeat;position:absolute;top:15px;right:16px;color:#f2f2f2;background:#0b0b0b99;border:1px solid #ffffff33;border-radius:99px;font-size:17px;width:33px;height:33px;display:grid;place-items:center;opacity:0;transform:translateY(5px);transition:opacity .3s,transform .3s;pointer-events:none}.gallery-photo:hover::after,.gallery-photo:focus-within::after{opacity:1;transform:none}.gallery-photo img{width:100%;height:100%;object-fit:cover;cursor:zoom-in;transition:transform .65s var(--ease)}.gallery-photo:hover img{transform:scale(1.035)}.gallery-photo img:focus-visible{outline:3px solid #fff;outline-offset:-3px}
.project-credits{margin:0 clamp(22px,4.2vw,82px);padding:34px 0 55px;border-top:1px solid #282828;display:grid;grid-template-columns:minmax(150px,1fr) 2fr;gap:18px}.project-credits p{margin:0;font-size:12px;line-height:1.75;color:#959595;max-width:750px}.project-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:40px clamp(22px,4.2vw,82px) 80px}.project-bottom>a{font-size:11px;letter-spacing:.14em;font-weight:700}.project-bottom>a:hover{opacity:.6}
/* Full-screen viewer */
.lightbox{position:fixed;inset:0;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;color:#fff;background:#050505;overflow:hidden}.lightbox::backdrop{background:rgba(0,0,0,.96)}.lightbox-bar{height:70px;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:0 clamp(15px,2.5vw,48px);font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}.lightbox-counter{color:#adadad;font-variant-numeric:tabular-nums}.lightbox-close{border:0;cursor:pointer;color:#fff;background:none;font-size:10px;letter-spacing:.1em;padding:12px 0}.lightbox-close span{font-size:15px;padding-left:12px}.lightbox-stage{height:calc(100dvh - 113px);display:flex;align-items:center;justify-content:center;gap:15px}.lightbox-stage img{width:auto;max-width:calc(100vw - 195px);max-height:100%;object-fit:contain}.lightbox-arrow{width:55px;flex:none;align-self:stretch;display:flex;align-items:center;justify-content:center;border:0;background:none;color:#dedede;cursor:pointer;font-size:25px}.lightbox-arrow:hover{color:#777}.lightbox-help{text-align:center;color:#777;font-size:9px;letter-spacing:.19em;margin:14px 0 0}
/* Other pages and footer */
.subpage{min-height:65vh;padding:clamp(80px,11vw,168px) clamp(22px,6vw,116px) 100px}.page-heading{font-size:clamp(73px,12vw,180px);font-weight:800;line-height:.85;letter-spacing:-.085em;margin:24px 0 70px}.about-text{white-space:pre-line;max-width:900px;font-size:clamp(20px,2.35vw,35px);line-height:1.47;letter-spacing:-.02em;color:#d3d3d3}.about-note{margin-top:65px;color:#888;font-size:11px;letter-spacing:.18em}.contact-address{font-size:clamp(23px,3vw,51px);font-weight:800;letter-spacing:-.045em;overflow-wrap:anywhere}.contact-address a{border-bottom:1px solid #999}.contact-blank{font-size:clamp(18px,2.4vw,29px);color:#aaa}.subpage-links{display:flex;gap:25px;font-size:12px;letter-spacing:.12em;margin-top:40px}.site-footer{border-top:1px solid #292929;padding:clamp(68px,8vw,135px) clamp(22px,4.2vw,82px) 22px}.footer-main{min-height:190px;position:relative}.footer-overline{color:#888}.footer-cta{display:block;width:fit-content;font-size:clamp(44px,7vw,110px);font-weight:800;letter-spacing:-.075em;line-height:1.05;margin-top:18px}.footer-cta span{font-weight:400}.footer-social{position:absolute;right:0;bottom:24px;display:flex;gap:22px}.footer-social a{font-size:10px;letter-spacing:.12em;font-weight:700}.footer-baseline{border-top:1px solid #292929;padding-top:23px;display:flex;justify-content:space-between;gap:15px;color:#888;font-size:10px;letter-spacing:.12em;font-weight:700}
@media(hover:none){.tile-shade,.tile-copy{opacity:1;transform:none}.tile-shade{background:linear-gradient(to top,#000b,transparent 68%)}.tile-corner{opacity:1;transform:none}.gallery-photo::after{opacity:1;transform:none}.portfolio-card img,.gallery-photo img{transition:none}}
/* Photography series: quieter editorial identity, more varied pacing than the VFX case study. */
.portfolio-grid.portfolio-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.portfolio-count-2 .portfolio-card{aspect-ratio:1.62}
.photo-intro-header{padding:clamp(35px,4.1vw,66px) clamp(22px,4.2vw,82px) clamp(34px,3.5vw,55px)}
.photo-title-grid{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-top:clamp(55px,6vw,105px)}
.photo-title-grid h1{font-size:clamp(90px,14vw,225px);font-weight:800;letter-spacing:-.095em;line-height:.8;margin:19px 0 30px}
.photo-title-grid p,.photo-title-side{font-size:10px;letter-spacing:.15em;font-weight:700;color:#aaa;text-transform:uppercase;line-height:1.7;margin:0}
.photo-title-side{text-align:right;padding-bottom:5px;color:#888}
.photo-hero-wrap{max-width:1900px;margin:0 auto;padding:0 clamp(13px,2.7vw,52px)}
.photo-hero-photo{width:100%;aspect-ratio:2.04;max-height:830px;background:#111}
.photo-hero-photo img{object-fit:cover;object-position:center 54%}
.photo-hero-caption{padding:17px clamp(3px,.4vw,9px);display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.16em;font-weight:700;color:#9e9e9e}
.photo-hero-caption i{font-style:normal;color:#666;margin:0 8px}
.photo-editorial-intro{max-width:1560px;margin:0 auto;padding:clamp(70px,8vw,135px) clamp(22px,5vw,90px) clamp(80px,9vw,148px);display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(35px,10vw,165px)}
.photo-editorial-intro p{font-size:clamp(24px,2.75vw,45px);font-weight:500;letter-spacing:-.037em;line-height:1.28;max-width:780px;margin:24px 0 0}
.photo-project-facts{margin:0}.photo-project-facts>div{border-top:1px solid #373737;padding:17px 0;display:grid;grid-template-columns:115px 1fr;gap:15px}
.photo-project-facts dt{font-size:10px;letter-spacing:.14em;color:#848484;font-weight:700}
.photo-project-facts dd{font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.06em;margin:0;line-height:1.6}
.photo-collection{max-width:1900px;margin:0 auto;padding:0 clamp(13px,2.7vw,52px) clamp(75px,7vw,125px)}
.photo-collection-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:0 clamp(8px,1vw,20px) clamp(28px,3vw,48px)}
.photo-collection-heading h2{font-size:clamp(35px,5vw,80px);letter-spacing:-.07em;line-height:.94;margin:17px 0 0}
.photo-editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.photo-editorial-grid .photo-item{aspect-ratio:1.6}
.photo-editorial-grid .photo-item:nth-child(1),.photo-editorial-grid .photo-item:nth-child(6),.photo-editorial-grid .photo-item:nth-child(11){grid-column:span 2;aspect-ratio:3.2}
.photo-editorial-grid .photo-item:last-child{grid-column:1/-1;aspect-ratio:2.8}
.photo-item img{object-position:center}
.photo-credits{max-width:1690px;margin-left:auto;margin-right:auto}
@media(max-width:1000px){.photo-editorial-intro{gap:45px}.photo-project-facts>div{grid-template-columns:1fr;gap:8px}.photo-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.photo-editorial-grid .photo-item{aspect-ratio:1.6}.photo-editorial-grid .photo-item:nth-child(1),.photo-editorial-grid .photo-item:nth-child(6),.photo-editorial-grid .photo-item:nth-child(11),.photo-editorial-grid .photo-item:last-child{grid-column:1/-1;aspect-ratio:2.7}}
@media(max-width:700px){.portfolio-grid.portfolio-count-2{grid-template-columns:1fr}.portfolio-count-2 .portfolio-card{aspect-ratio:1.16}.photo-intro-header{padding:30px 20px 29px}.photo-title-grid{margin-top:52px;display:block}.photo-title-grid h1{font-size:clamp(76px,21vw,132px);margin:18px 0 24px}.photo-title-side{display:none}.photo-title-grid p{font-size:9px}.photo-hero-wrap{padding:0 7px}.photo-hero-photo{aspect-ratio:1.33}.photo-hero-caption{padding:12px 7px;font-size:8px}.photo-editorial-intro{display:block;padding:70px 20px 80px}.photo-editorial-intro p{font-size:clamp(23px,6vw,31px);margin-bottom:43px}.photo-project-facts>div{grid-template-columns:102px 1fr;gap:10px;padding:13px 0}.photo-collection{padding:0 7px 63px}.photo-collection-heading{padding:0 11px 25px}.photo-collection-heading h2{font-size:clamp(32px,8vw,48px)}.photo-editorial-grid{gap:5px}.photo-editorial-grid .photo-item{aspect-ratio:1.35}.photo-editorial-grid .photo-item:nth-child(1),.photo-editorial-grid .photo-item:nth-child(6),.photo-editorial-grid .photo-item:nth-child(11),.photo-editorial-grid .photo-item:last-child{aspect-ratio:1.62}.photo-editorial-grid .photo-item::after{display:none}}
@media(max-width:350px){.photo-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-overview{gap:36px;grid-template-columns:1.1fr 1fr}.overview-aside{gap:18px}.overview-aside dl>div{grid-template-columns:1fr;gap:6px}.work-heading-right{display:none}}
@media(max-width:700px){html{scroll-padding-top:58px}.site-header{min-height:68px;padding:0 20px}.brand{font-size:18px}.menu-button{display:flex}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:26px;background:#090909;border-bottom:1px solid #292929;padding:26px 20px 30px}.site-nav.is-open{display:flex}.site-nav a{font-size:14px}.home-intro{padding:55px 20px 39px;display:block}.home-intro h1{font-size:clamp(56px,14vw,90px);margin:22px 0 18px}.home-intro p{max-width:none;text-align:left;font-size:10px}.work-heading{padding:0 20px;height:55px}.filters{gap:12px}.filter{font-size:9px}.portfolio-grid{grid-template-columns:1fr;gap:4px}.portfolio-card,.portfolio-card:only-child{aspect-ratio:1.1}.tile-copy,.portfolio-card:only-child .tile-copy{left:22px;bottom:24px;right:20px}.tile-copy strong,.portfolio-card:only-child .tile-copy strong{font-size:clamp(25px,7vw,36px)}.tile-corner{right:18px;top:12px}.project-title-block{padding:31px 20px 30px}.project-title-line{margin-top:42px;display:block}.project-title-line h1{font-size:clamp(53px,14vw,98px);margin:16px 0 18px}.project-brief{display:none}.project-subtitle{font-size:9px}.project-feature{height:clamp(270px,74vw,520px)}.feature-caption{padding:30px 20px 20px;font-size:9px}.feature-caption span:last-child{display:none}.project-overview{display:block;padding:55px 20px}.overview-copy p{font-size:clamp(19px,5.2vw,27px);margin:18px 0 38px}.overview-aside{gap:25px}.overview-aside dl>div{grid-template-columns:92px 1fr}.poster-frame{width:106px}.section-nav{padding:0 20px;gap:28px;min-height:55px}.section-nav>a{font-size:9px}.section-nav>span{display:none}.gallery-sections{padding:18px 10px}.gallery-section{margin-bottom:55px;scroll-margin-top:65px}.gallery-heading{padding:25px 10px 17px}.gallery-heading h2{font-size:clamp(24px,6.4vw,37px)}.section-count{font-size:9px}.image-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.gallery-photo{aspect-ratio:16/9}.project-credits{margin:0 20px;grid-template-columns:1fr;padding-bottom:28px}.project-bottom{padding:35px 20px 75px}.lightbox-bar{height:62px;padding:0 14px}.lightbox-bar>span:first-child{display:none}.lightbox-stage{height:calc(100dvh - 105px);gap:0}.lightbox-stage img{max-width:calc(100vw - 72px)}.lightbox-arrow{width:36px;font-size:20px}.lightbox-help{font-size:8px;margin:12px 0}.site-footer{padding:67px 20px 22px}.footer-main{min-height:220px}.footer-cta{font-size:clamp(44px,12vw,70px)}.footer-social{position:static;margin-top:45px}.footer-baseline{font-size:9px}.subpage{padding:90px 20px 80px}.page-heading{margin:22px 0 60px}}
@media(max-width:350px){.image-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}


/* v0.6 — design lock / dedicated phone experience. Desktop remains artwork-first. */
@media (pointer:coarse) {
  .portfolio-card .tile-shade,.portfolio-card .tile-copy,.portfolio-card .tile-corner{opacity:1;transform:none}
  .gallery-photo::after{opacity:1;transform:none}
}
@media (max-width:700px) {
  html{scroll-padding-top:138px}
  body.nav-open{overflow:hidden}
  .site-header{position:sticky;top:0;z-index:60;min-height:68px}
  .site-nav{
    position:fixed;top:68px;bottom:0;left:0;right:0;
    display:flex;visibility:hidden;opacity:0;pointer-events:none;
    align-items:stretch;justify-content:center;gap:0;
    background:rgba(8,8,8,.985);border-top:1px solid #242424;
    border-bottom:0;padding:20px 22px calc(30px + env(safe-area-inset-bottom));
    overflow-y:auto;transition:opacity .22s var(--ease),visibility .22s;
  }
  .site-nav.is-open{visibility:visible;opacity:1;pointer-events:auto;display:flex}
  .site-nav a{font-size:clamp(29px,9vw,48px);letter-spacing:-.06em;line-height:1;min-height:76px;display:flex;align-items:center;border-bottom:1px solid #242424;font-weight:800}
  .site-nav a:last-child{border-bottom:0}
  .menu-button{position:relative;z-index:62;min-width:44px;min-height:44px}
  .home-intro{padding:43px 20px 33px}
  .home-intro h1{font-size:clamp(53px,13.5vw,87px);margin:17px 0 17px}
  .work-heading{height:auto;min-height:70px;padding:10px 20px;gap:12px}
  .filters{gap:13px}
  .filter{min-height:44px;display:flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:.08em}
  .portfolio-card,.portfolio-card:only-child,.portfolio-count-2 .portfolio-card{aspect-ratio:1.18}
  .tile-shade,.tile-copy,.tile-corner{opacity:1;transform:none}
  .tile-shade{background:linear-gradient(to top,rgba(0,0,0,.84),transparent 62%)}
  .tile-copy strong,.portfolio-card:only-child .tile-copy strong{font-size:clamp(27px,8vw,42px)}
  .tile-copy{bottom:23px}
  .project-title-line{margin-top:30px}
  .project-overview{padding:43px 20px 48px}
  .overview-copy p{margin-bottom:24px}
  .section-nav{top:68px;min-height:55px;gap:27px;padding:0 20px;scrollbar-width:none}
  .section-nav::-webkit-scrollbar{display:none}
  .section-nav>a{display:flex;align-items:center;min-height:55px;flex-shrink:0;font-size:10px}
  .gallery-section{scroll-margin-top:134px}
  .gallery-photo::after{opacity:1;transform:none;top:7px;right:8px;font-size:13px;width:26px;height:26px}
  .poster-frame::after{top:5px;right:5px}
  .photo-title-grid{margin-top:36px}
  .photo-intro-header{padding-bottom:26px}
  .photo-hero-wrap{padding:0 6px}
  .photo-hero-photo{aspect-ratio:1.35}
  .photo-editorial-intro{padding:52px 20px 60px}
  .photo-editorial-intro p{margin-bottom:28px}
  .photo-collection{padding-bottom:52px}
  .project-bottom{padding-top:22px;flex-wrap:wrap;gap:12px 22px}
  .project-bottom>a{display:inline-flex;min-height:44px;align-items:center;font-size:10px}
  .lightbox-stage{position:relative;height:calc(100dvh - 106px);gap:0;padding:0}
  .lightbox-stage img{max-width:100vw;max-height:100%;width:auto;object-fit:contain}
  .lightbox-arrow{position:absolute;z-index:3;top:0;bottom:0;align-self:auto;width:43px;font-size:23px;touch-action:manipulation}
  .lightbox-prev{left:0;background:linear-gradient(90deg,rgba(0,0,0,.45),transparent)}
  .lightbox-next{right:0;background:linear-gradient(270deg,rgba(0,0,0,.45),transparent)}
  .lightbox-help{font-size:8px;margin:9px 0 0}
  .site-footer{padding-top:54px}
}
@media(max-width:370px) {
  .brand{font-size:16px}
  .filters{gap:9px}
  .filter{font-size:9px}
  .photo-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){
  .site-nav{transition:none}
}

/* v0.9: minimal legal pages and small footer links */
.footer-baseline{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.footer-legal{display:inline-flex;align-items:center;gap:18px;margin-left:auto}
.footer-legal a{font-size:10px;color:#a9a9a9;text-decoration:none;letter-spacing:.08em}
.footer-legal a:hover,.footer-legal a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:4px}
.legal-page{max-width:1000px;margin:0 auto;padding:90px clamp(20px,5vw,65px) 125px}
.legal-page .page-heading{font-size:clamp(45px,8vw,100px);margin:26px 0 55px;overflow-wrap:anywhere}
.legal-copy{max-width:780px;color:#c7c7c7;font-size:15px;line-height:1.8}
.legal-copy h2{color:#fff;font-size:17px;letter-spacing:.015em;font-weight:700;line-height:1.35;margin:41px 0 13px}
.legal-copy p{margin:0 0 17px;overflow-wrap:anywhere}
.legal-copy a,.legal-bottom a{color:#f3f3f3;text-decoration:underline;text-underline-offset:3px}
.legal-incomplete{color:#ffd09a;font-weight:500}
.legal-warning{color:#ffd09a;border:1px solid #6b4828;background:#271b12;padding:16px 19px;font-size:13px;line-height:1.6;margin:0 0 36px}
.legal-bottom{display:flex;flex-wrap:wrap;gap:20px;margin-top:70px;padding-top:28px;border-top:1px solid #383838;font-size:13px}
@media(max-width:700px){.footer-baseline{gap:12px}.footer-legal{margin-left:0;order:2;width:100%}.legal-page{padding-top:68px;padding-bottom:85px}.legal-page .page-heading{margin-bottom:38px}.legal-copy{font-size:14px}.legal-copy h2{font-size:16px}.footer-legal a{font-size:10px}}

/* v1.0 — SVG arrows, optional hover videos and privacy-first deferred YouTube */
.ui-arrow{display:inline-block;width:1em;height:1em;vertical-align:-.13em;flex:none;stroke:currentColor;fill:none;line-height:1}
.footer-cta .ui-arrow{width:.68em;height:.68em;vertical-align:.04em;stroke-width:1.5}
.footer-social .ui-arrow,.subpage-links .ui-arrow{margin-left:5px;width:12px;height:12px}
.tile-corner .ui-arrow{width:25px;height:25px}
.project-bottom .ui-arrow,.project-back .ui-arrow,.section-nav .ui-arrow{width:13px;height:13px;vertical-align:-.16em}
.contact-address .ui-arrow{width:.58em;height:.58em;vertical-align:.02em}
.gallery-photo::after{background-color:#0b0b0b99}
.preview-stage{position:absolute;inset:0;z-index:1;overflow:hidden;opacity:0;pointer-events:none;transition:opacity .28s ease}
.preview-stage video,.preview-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none}
.preview-stage video{object-fit:cover}
.preview-stage iframe{width:177.78%;height:100%;left:50%;transform:translateX(-50%)}
.portfolio-card.is-video-playing .preview-stage{opacity:1}
.portfolio-card .tile-shade{z-index:2}.portfolio-card .tile-copy,.portfolio-card .tile-corner{z-index:3}
.portfolio-card[hidden]{display:none!important}
.youtube-preview-consent{position:fixed;z-index:90;bottom:24px;left:50%;transform:translateX(-50%);width:min(490px,calc(100vw - 28px));background:#151515;border:1px solid #6e6e6e;border-radius:4px;box-shadow:0 14px 54px #000a;padding:17px 18px 18px;color:#fff;display:none;gap:8px}
.youtube-preview-consent.is-visible{display:grid}
.youtube-preview-consent strong{font-size:12px;letter-spacing:.09em;text-transform:uppercase}
.youtube-preview-consent p{font-size:12px;line-height:1.5;color:#c5c5c5;margin:0}
.youtube-preview-consent .consent-actions{display:flex;gap:10px;margin-top:5px}
.youtube-preview-consent button{border:1px solid #999;padding:10px 12px;background:#f2f2ef;color:#111;cursor:pointer;font-size:10px;letter-spacing:.12em;font-weight:700;min-height:42px}
.youtube-preview-consent button[data-decline]{background:transparent;color:#eee;border-color:#666}
@media (hover:none), (pointer:coarse), (prefers-reduced-motion:reduce){.preview-stage{display:none!important}.youtube-preview-consent{display:none!important}}
@media(max-width:700px){.tile-corner .ui-arrow{width:24px;height:24px}.youtube-preview-consent{display:none!important}}

.video-privacy-button{border:0;background:transparent;color:#a9a9a9;cursor:pointer;padding:0;font:inherit;letter-spacing:.08em;font-size:10px}
.video-privacy-button:hover,.video-privacy-button:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:4px}
/* Ensure the image remains after the older background shorthand. */
.gallery-photo::after{background-image:url('/assets/arrow-up-right.svg');background-repeat:no-repeat;background-position:center;background-size:19px 19px}

/* v1.1 - reliably rendered gallery arrows and balanced desktop/mobile footer */
.gallery-photo::after{content:none!important;display:none!important}
.gallery-photo .gallery-arrow{
  position:absolute;top:15px;right:16px;z-index:2;
  width:33px;height:33px;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.25);border-radius:50%;
  color:#f2f2f2;background:rgba(11,11,11,.60);
  pointer-events:none;opacity:0;transform:translateY(5px);
  transition:opacity .3s,transform .3s;
}
.gallery-photo .gallery-arrow svg{width:18px;height:18px;display:block}
.gallery-photo:is(:hover,:focus-within) .gallery-arrow{opacity:1;transform:none}
@media(hover:none),(pointer:coarse){.gallery-photo .gallery-arrow{opacity:1;transform:none}}
/* Footer baseline is a three-part navigation, not a run-on sentence */
.footer-baseline{
  display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;gap:24px;justify-content:initial;
}
.footer-baseline > span:first-child{justify-self:start;white-space:normal}
.footer-legal{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;margin:0;min-width:0}
.footer-legal a,.footer-legal button{white-space:nowrap}
.footer-legal-divider{color:#565656;font-size:12px;line-height:1;letter-spacing:0}
.footer-legal .video-privacy-button{border-left:1px solid #494949;padding-left:14px}
.footer-top{justify-self:end;white-space:nowrap}
.footer-social{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}
.footer-social a{display:inline-flex;align-items:center;gap:5px;min-height:28px}
@media(max-width:900px){
  .footer-baseline{grid-template-columns:1fr auto;gap:22px}
  .footer-legal{grid-column:1/-1;grid-row:2;justify-content:flex-start}
  .footer-top{grid-column:2;grid-row:1}
}
@media(max-width:700px){
  .gallery-photo .gallery-arrow{top:8px;right:8px;width:28px;height:28px}
  .gallery-photo .gallery-arrow svg{width:15px;height:15px}
  .poster-frame .gallery-arrow{top:5px;right:5px;width:24px;height:24px}
  .site-footer{padding:58px 20px calc(30px + env(safe-area-inset-bottom))}
  .footer-main{min-height:0;padding-bottom:45px}
  .footer-cta{margin-top:15px;line-height:1}
  .footer-social{position:static;margin-top:32px;display:flex;gap:12px 26px}
  .footer-social a{font-size:11px;min-height:34px}
  .footer-baseline{grid-template-columns:1fr;gap:0;padding-top:25px}
  .footer-baseline > span:first-child{grid-row:auto;grid-column:auto;line-height:1.7}
  .footer-legal{grid-row:auto;grid-column:auto;width:auto;justify-content:flex-start;gap:12px;order:initial;margin:20px 0 0;line-height:1.6}
  .footer-legal a,.footer-legal button{font-size:10px;letter-spacing:.09em}
  .footer-top{grid-column:auto;grid-row:auto;justify-self:start;margin-top:25px;font-size:10px;letter-spacing:.12em}
}
@media(prefers-reduced-motion:reduce){.gallery-photo .gallery-arrow{transition:none}}

/* v1.2 — unobstructed galleries, unobtrusive video choice, simpler work navigation */
.gallery-photo .gallery-link{display:block;width:100%;height:100%;cursor:zoom-in}
.gallery-photo .gallery-link img{width:100%;height:100%;object-fit:cover}
.gallery-photo .gallery-link:focus-visible{outline:2px solid #fff;outline-offset:-2px}
.video-preview-toggle{border:0;background:none;color:#aaa;font-weight:700;letter-spacing:.12em;font-size:10px;cursor:pointer;padding:12px 0;white-space:nowrap;margin-left:auto}
.video-preview-toggle:hover,.video-preview-toggle:focus-visible{color:#fff}
/* No stray category caption in the work heading. */
.work-heading-right{display:none}
@media(max-width:700px){
  .video-preview-toggle{display:none}
  .gallery-photo .gallery-link{touch-action:manipulation}
}

/* v1.3 — optional click-to-play 3D project hero, with the existing hero image as poster */
.project-feature-video{isolation:isolate}
.project-feature-video>img{position:absolute;inset:0;object-fit:cover}
.project-feature-video .project-hero-play{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:14px;width:100%;height:100%;border:0;background:linear-gradient(0deg,rgba(0,0,0,.20),rgba(0,0,0,.12));
  color:#fff;cursor:pointer;font-family:inherit;font-size:11px;font-weight:700;line-height:1.5;letter-spacing:.19em;z-index:1;
}
.project-hero-play .hero-play-icon{display:flex;align-items:center;justify-content:center;width:78px;height:78px;
  border:1px solid rgba(255,255,255,.8);border-radius:50%;background:rgba(10,10,10,.43);
  transition:transform .2s ease,background .2s ease}
.project-hero-play:hover .hero-play-icon,.project-hero-play:focus-visible .hero-play-icon{
  transform:scale(1.08);background:rgba(10,10,10,.8)}
.project-hero-play:focus-visible{outline:3px solid #fff;outline-offset:-4px}
.project-feature-video iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;z-index:2}
@media(max-width:700px){.project-hero-play .hero-play-icon{width:64px;height:64px}}
@media(prefers-reduced-motion:reduce){.project-hero-play .hero-play-icon{transition:none}}

/* v1.4 — reversible click-to-play video hero (static poster until the visitor clicks) */
.project-feature-video .project-hero-play[hidden]{display:none!important}
.hero-return-to-image{
  position:absolute;top:clamp(10px,2vw,25px);right:clamp(10px,2vw,25px);z-index:4;
  border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.7);color:#fff;
  padding:11px 14px;font-family:inherit;font-weight:700;font-size:10px;line-height:1.1;letter-spacing:.09em;cursor:pointer;
}
.hero-return-to-image:hover,.hero-return-to-image:focus-visible{background:#000;border-color:rgba(255,255,255,.9)}
.hero-return-to-image:focus-visible{outline:2px solid white;outline-offset:2px}

/* v1.5 — Personal Work gallery: a flexible group of individual 3D assets. */
.personal-overview{max-width:1360px;margin:0 auto;padding:clamp(55px,6vw,100px) clamp(22px,5vw,88px)}
.personal-overview>p{font-size:clamp(22px,2.4vw,38px);letter-spacing:-.035em;line-height:1.34;max-width:980px;margin:20px 0 0;color:#d0d0d0}
.personal-gallery-sections{padding-top:36px}
.personal-section{margin-bottom:clamp(62px,6vw,112px)}
.personal-section-description{font-size:clamp(14px,1.3vw,18px);line-height:1.55;letter-spacing:normal;color:#a5a5a5;max-width:730px;margin:18px 0 0}
.personal-feature{height:clamp(260px,40vw,660px)}
.personal-feature>img{filter:none}
@media(max-width:700px){
 .personal-overview{padding:55px 20px}
 .personal-overview>p{font-size:clamp(19px,5vw,26px)}
 .personal-gallery-sections{padding-top:16px}
 .personal-section-description{font-size:13px;margin-top:12px}
 .personal-feature{height:clamp(235px,66vw,420px)}
}

/* v1.6: 3D-only landing and modular personal photo projects. */
.portfolio-empty{padding:clamp(60px,8vw,130px) clamp(22px,3.2vw,62px);color:#a4a4a4;font-size:14px;letter-spacing:.04em}
.personal-photo-overview:not(:has(.photo-project-facts)){display:block}
.personal-photo-overview:not(:has(.photo-project-facts))>div{max-width:900px}
@media(max-width:700px){.personal-photo-overview{padding-top:60px;padding-bottom:70px}}


/* Optional client/publisher details on personal 3D collections. */
.personal-project-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:20px 28px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14)}
.personal-project-facts div{min-width:0}.personal-project-facts dt{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#929292;margin:0 0 8px}.personal-project-facts dd{font-size:13px;line-height:1.5;color:#f3f3f3;margin:0;overflow-wrap:anywhere}

/* v2.0 — repair pass: unambiguous Work controls, centered YouTube dialog, gallery views. */
.work-heading-left{display:flex;align-items:center;gap:clamp(15px,2.5vw,42px);min-width:0}
.work-heading-left .video-preview-toggle{margin-left:0}
.work-heading>.filters{margin-left:auto;flex:none;justify-content:flex-end}
.work-heading>.video-preview-toggle{margin-left:auto}
.youtube-preview-consent{inset:0;margin:auto;bottom:auto;left:auto;right:auto;top:auto;transform:none;display:none;position:fixed;z-index:9999;width:min(530px,calc(100vw - 36px));max-width:530px;max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #505050;border-radius:3px;padding:clamp(25px,4vw,43px);background:#121212;color:#f1f1f1;box-shadow:0 28px 90px #000c}
.youtube-preview-consent[open],.youtube-preview-consent.is-visible{display:block}
.youtube-preview-consent::backdrop{background:rgba(0,0,0,.83);backdrop-filter:blur(7px)}
.youtube-preview-consent h2{font-size:clamp(27px,4vw,41px);letter-spacing:-.06em;line-height:1.05;margin:17px 0 21px}
.youtube-preview-consent p{font-size:14px;line-height:1.7;color:#bebebe;margin:0 0 23px}
.youtube-preview-consent .consent-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.youtube-preview-consent .consent-actions button{flex:1;min-width:160px;min-height:47px}
.lightbox[open]{display:flex;flex-direction:column;z-index:9999}
.lightbox-stage{flex:1;min-height:0;height:auto}
.lightbox-stage img{display:block;max-height:100%;object-fit:contain}
.hero-lightbox-link{display:block;width:100%;height:100%;cursor:zoom-in}
.hero-lightbox-link img{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(.82)}
/* Uniform photo grid: no spanning cards, consistent 3:2 crops, originals unchanged. */
.photo-editorial-grid.is-uniform .photo-item{grid-column:auto!important;aspect-ratio:3/2!important}
.personal-photography-project .image-grid.is-photo-uniform .gallery-photo{grid-column:auto!important;aspect-ratio:3/2!important}
/* Simple typographic credits replace the retired client-logo gallery. */
.about-credits{margin-top:clamp(70px,8vw,125px);padding-top:35px;border-top:1px solid #303030;max-width:1450px}
.about-credits h2{font-size:clamp(30px,5vw,69px);line-height:1.04;letter-spacing:-.06em;margin:16px 0 44px;text-transform:uppercase}
.about-credits-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(30px,7vw,140px)}
.about-credits-columns h3{font-size:10px;font-weight:700;letter-spacing:.17em;color:#888;margin:0 0 18px}
.about-credits-columns p{white-space:pre-line;color:#d0d0d0;font-size:clamp(15px,1.4vw,21px);line-height:1.85;overflow-wrap:anywhere;margin:0}
@media(max-width:700px){
 .work-heading{flex-wrap:wrap;justify-content:space-between}
 .work-heading-left{gap:8px}
 .work-heading>.filters{margin-left:auto}
 .video-preview-toggle{display:block;font-size:9px;white-space:normal;line-height:1.5;text-align:right}
 .work-heading-left .video-preview-toggle{max-width:160px}
 .youtube-preview-consent[open],.youtube-preview-consent.is-visible{display:block!important}
 .about-credits-columns{grid-template-columns:1fr;gap:38px}
 .lightbox[open]{display:flex}
 .lightbox-stage{height:auto;flex:1}
}
/* The consent choice stays operable on devices without hover or with reduced motion. */
.youtube-preview-consent[open],.youtube-preview-consent.is-visible{display:block!important}


/* v2.1 — 3D image layouts & ordered image/video galleries. */
.image-grid.is-3d-uniform{grid-template-columns:repeat(3,minmax(0,1fr))}
.image-grid.is-3d-uniform .gallery-photo{aspect-ratio:16/9}
.image-grid.is-3d-stacked{grid-template-columns:minmax(0,1fr);gap:clamp(14px,2.3vw,40px)}
.image-grid.is-3d-stacked .gallery-photo{aspect-ratio:auto;overflow:visible}
.image-grid.is-3d-stacked .gallery-photo .gallery-link{height:auto}
.image-grid.is-3d-stacked .gallery-photo .gallery-link img{width:100%;height:auto;max-height:none;object-fit:contain;display:block}
.image-grid.is-3d-stacked .gallery-photo:hover .gallery-link img{transform:none}
.gallery-media{margin:0;min-width:0;position:relative}
.gallery-media-caption{padding:12px 6px 0;font-size:11px;letter-spacing:.035em;line-height:1.6;color:#a6a6a6}
.gallery-media-video{background:transparent;aspect-ratio:auto!important;overflow:visible}
.gallery-media-video>video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#090909}
.project-inline-video{position:relative;width:100%;height:auto;aspect-ratio:16/9;overflow:hidden;background:#111}
.project-inline-video>img{width:100%;height:100%;object-fit:cover}
.project-inline-video .inline-video-placeholder{position:absolute;inset:0;background:radial-gradient(ellipse at center,#292929,#0b0b0b 70%)}
.project-inline-video .project-hero-play{z-index:1}
.project-inline-video iframe{z-index:2}
.project-inline-video .hero-return-to-image{z-index:4}
@media(max-width:1100px){.image-grid.is-3d-uniform{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.image-grid.is-3d-uniform{grid-template-columns:repeat(2,minmax(0,1fr))}.image-grid.is-3d-stacked{grid-template-columns:minmax(0,1fr);gap:18px}.gallery-media-caption{font-size:10px;padding:8px 3px 0}}
@media(max-width:350px){.image-grid.is-3d-uniform{grid-template-columns:1fr}}
/* Captions sit below the crop, not inside a fixed-ratio tile. */
.image-grid.is-3d-uniform .gallery-photo.gallery-media:has(.gallery-media-caption){aspect-ratio:auto;overflow:visible}
.image-grid.is-3d-uniform .gallery-photo.gallery-media:has(.gallery-media-caption) .gallery-link{height:auto;aspect-ratio:16/9;overflow:hidden}

/* v2.4 — responsive filters, unobtrusive video consent icon, working full-screen lightbox */
.work-heading-left{display:flex;align-items:center;gap:17px;min-width:0}
.work-heading>.filters{margin-left:auto;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:clamp(8px,1.3vw,22px)}
.filters .filter{white-space:nowrap;min-height:38px}
.portfolio-no-filter-results{padding:70px 25px;color:#aaa;text-align:center;font-size:13px}
.portfolio-no-filter-results[hidden]{display:none!important}
.video-preview-icon{margin:0;display:inline-flex;align-items:center;justify-content:center;flex:none;width:33px;height:33px;padding:4px;border:1px solid #414141;border-radius:50%;background:none;color:#aaa;cursor:pointer}
.video-preview-icon:hover,.video-preview-icon:focus-visible,.video-preview-icon[aria-pressed="true"]{color:#fff;border-color:#aaa}
.youtube-preview-consent[open]{display:block!important}
.youtube-preview-consent .youtube-consent-close{position:absolute;right:12px;top:11px;min-width:35px;min-height:35px;display:grid;place-items:center;background:transparent;border:0;color:#ddd;font-size:24px;cursor:pointer;padding:0}
body.lightbox-open{overflow:hidden}
.lightbox[open]{display:flex!important;flex-direction:column;z-index:10000}
.lightbox::backdrop{background:rgba(0,0,0,.95)}
.gallery-link{cursor:zoom-in}
.project-feature-video.is-video-active iframe,.project-inline-video.is-video-active iframe{z-index:3}
.project-inline-video{position:relative;overflow:hidden;aspect-ratio:16/9}
.project-inline-video>img,.project-inline-video>.inline-video-placeholder{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:850px){.work-heading{height:auto;min-height:65px;padding-top:12px;padding-bottom:12px;align-items:flex-start;flex-wrap:wrap}.work-heading>.filters{width:100%;margin-left:0;justify-content:flex-start;gap:12px}.work-heading-left{width:100%;justify-content:space-between}}
@media(max-width:700px){.video-preview-icon{display:none}.filters .filter{font-size:9px;min-height:38px}.work-heading>.filters{flex-wrap:wrap}.youtube-preview-consent[open]{display:block!important}}

/* v2.6 — 3D Uniform Grid: optional portrait A4 tiles (210 × 297).
   Images are contained in the full tile, not cropped; stacked/video modes remain unchanged. */
.image-grid.is-3d-uniform.is-3d-portrait .gallery-photo.gallery-media:not(:has(.gallery-media-caption)){aspect-ratio:210/297}
.image-grid.is-3d-uniform.is-3d-portrait .gallery-photo.gallery-media:has(.gallery-media-caption) .gallery-link{aspect-ratio:210/297}
.image-grid.is-3d-uniform.is-3d-portrait .gallery-photo.gallery-media .gallery-link img{object-fit:contain;background:#121212}
.image-grid.is-3d-uniform.is-3d-portrait .gallery-photo.gallery-media:hover img{transform:none}


/* v2.7 — compact, editorial expertise area on About (no card backgrounds). */
.about-expertise{margin-top:clamp(70px,8vw,125px);padding-top:35px;border-top:1px solid #303030;max-width:1450px}
.about-expertise h2{font-size:clamp(30px,5vw,69px);line-height:1.04;letter-spacing:-.06em;margin:16px 0 clamp(26px,4vw,50px);text-transform:uppercase}
.about-expertise-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(35px,8vw,160px);row-gap:clamp(30px,4vw,55px)}
.expertise-item{min-width:0;border-top:1px solid #252525;padding-top:16px}
.expertise-item h3{margin:0 0 11px;font-size:clamp(15px,1.4vw,21px);line-height:1.4;font-weight:650;letter-spacing:.015em;text-transform:uppercase;color:#ececec}
.expertise-item p{margin:0;max-width:38ch;white-space:pre-line;font-size:clamp(13px,1.2vw,17px);line-height:1.75;color:#a7a7a7;overflow-wrap:anywhere}
@media(max-width:700px){.about-expertise-grid{grid-template-columns:1fr;row-gap:27px}.about-expertise h2{margin-bottom:30px}}

/* v2.8 — consistent headings and resilient navigation. */
h1,h2,h3,.section-nav,.section-nav>a,.gallery-heading h2,.project-bottom>a,.project-back,.photo-collection-heading h2,.section-index{
  text-transform:uppercase;
}
.filters .filter[aria-current="true"]{color:#f2f2ef}
.filters .filter{text-decoration:none;display:inline-flex;align-items:center}
/* The active iframe fills both the header and inline-media player. */
.project-feature-video.is-video-active iframe,.project-inline-video.is-video-active iframe{position:absolute;inset:0;width:100%;height:100%;display:block;border:0;z-index:3}
.project-hero-play[hidden]{display:none!important}
