/* Editorial rhythm and precision. One content axis, restrained material motion. */
:root{--page-gutter:clamp(24px,3.1vw,56px);--content-max:1440px;--section-gap:clamp(48px,6vw,88px);--control-height:48px;--ease-press:cubic-bezier(.2,.8,.2,1)}
body{font-kerning:normal;-webkit-font-smoothing:antialiased}button,a,summary{-webkit-tap-highlight-color:transparent}button{line-height:1.25}img{vertical-align:middle}
.wrap{width:auto;max-width:var(--content-max);margin-inline:max(var(--page-gutter),calc((100vw - var(--content-max))/2))}
header,.home header{padding-inline:max(var(--page-gutter),calc((100vw - var(--content-max))/2));gap:24px}
.hero-shell{margin-inline:14px}.hero-caption{padding:28px max(calc(var(--page-gutter) - 14px),calc((100vw - var(--content-max))/2 - 14px)) 38px;gap:28px}.hero-caption>a{gap:20px;min-width:0}.hero-caption strong{line-height:1.15;letter-spacing:-.9px}.hero-caption small{line-height:1.5;white-space:nowrap}.hero-select{flex:none;align-items:center}
.intro{padding:44px 0 36px;align-items:end;gap:24px}h1{font-size:clamp(40px,4.5vw,68px);line-height:1.04;letter-spacing:-.045em;text-wrap:balance;margin-top:0}h2,h3{line-height:1.15;text-wrap:balance}.intro p{line-height:1.6;margin:0;max-width:38ch;color:#b9bbc1}
.long-home{padding-top:12px}.collection-title{font-size:clamp(26px,2.6vw,36px);line-height:1.15;letter-spacing:-.035em;margin:0 0 28px}.scroll-section{margin-top:var(--section-gap);padding-top:32px;border-top:1px solid #ffffff10}.scroll-section .collection-title a{display:inline-flex;align-items:center;min-height:44px}.scroll-section .collection-title a::after{content:none;margin-left:14px;font-size:.6em;color:#bda384;transition:transform .25s var(--ease-out)}
.project-grid{gap:36px 24px;align-items:start}.project-grid>.project-card,.project-grid>div{min-width:0}.project-grid .project-card .image{height:auto;aspect-ratio:1/1}.project-card .tile-caption{padding:17px 0 0;gap:7px;min-height:76px}.project-card .tile-caption strong{font-size:clamp(19px,1.8vw,24px);font-weight:500;line-height:1.22;letter-spacing:-.025em;overflow-wrap:anywhere;text-wrap:pretty}.project-card .tile-caption small{font-size:11px;line-height:1.5;letter-spacing:.02em;color:#b5b7bf}.photo-ribbon .tile-caption{padding-inline:0}.project-card .image{border-radius:12px}
.project-grid>div{display:flex;flex-direction:column;height:100%}.project-grid>div>.media-links{margin:18px 0 0}.project-grid>div>.project-card{flex:1}.project-grid .media-links a{width:100%}
.index .project-card{padding:20px 0;gap:24px;align-items:center}.project-grid.index .project-card .image{height:88px;width:120px;aspect-ratio:auto;flex:0 0 120px}.index .project-card .tile-caption{min-height:0;padding:0}.index .project-card .tile-caption strong{font-size:22px}
.media-links{align-items:stretch;gap:18px}.media-links a{min-width:0;align-items:center}.link-label{line-height:1.25;gap:5px;min-width:0}.link-label small{line-height:1.4}.link-mark,.brand-mark{align-self:center}.link-mark svg{width:19px;height:19px;flex:none}.brand-link .link-label{letter-spacing:-.01em}.brand-link .link-label small{letter-spacing:.02em}.stream-links>.brand-link{min-width:210px}.home-links>.glass-link{flex:1;min-height:76px}.home-links{margin-top:var(--section-gap)}
.filters{align-items:center;gap:12px;margin-bottom:28px;scroll-padding-inline:8px}.filters button{min-height:var(--control-height);line-height:1.2}.filters .view-toggle{display:inline-flex;align-items:center;justify-content:center;gap:14px;font-size:12px;letter-spacing:0;min-width:126px}.view-toggle span{font-size:20px;line-height:1;color:#cecbc5}
:is(.all-work,.back,.pager button,.menu-button,.video-caption>a,.photo-index>summary){display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--control-height);line-height:1.2}.back{padding-inline:20px}.pager{align-items:center;gap:20px;padding:28px 0;margin-top:48px}.pager button{min-width:116px}.all-work{margin-top:26px;min-width:150px}.photo-index>summary{list-style:none}.photo-index>summary::-webkit-details-marker{display:none}.photo-index>summary::after{content:'+';font-size:20px;line-height:1;width:16px;transition:transform .25s var(--ease-out)}.photo-index[open]>summary::after{transform:rotate(45deg)}
.video-caption{align-items:start;gap:20px;margin-top:22px}.video-caption>div{min-width:0}.video-caption h2{font-size:clamp(22px,2.2vw,30px);line-height:1.2;letter-spacing:-.035em;margin:0}.video-caption p{line-height:1.5;margin:8px 0 0;color:#b8bac1}.video-caption>a{margin:0;flex:none;white-space:nowrap}.video-grid{gap:48px 28px}.project-videos{gap:32px}.project-head{padding-top:28px}.project-head .intro{padding-top:32px;padding-bottom:0}.project-head .intro p{margin:0}.project-head .media-links{margin:24px 0 0}
footer{max-width:var(--content-max);margin:var(--section-gap) max(var(--page-gutter),calc((100vw - var(--content-max))/2)) 0;padding:28px 0 32px;gap:24px;border-color:#ffffff16}footer small a{white-space:normal;overflow-wrap:anywhere}.about-grid{gap:clamp(32px,6vw,96px);padding:40px 0 64px}.about-grid p{font-size:clamp(18px,1.9vw,24px);line-height:1.65;max-width:36ch}.big-name{font-size:clamp(88px,12vw,164px);line-height:.95}.contact{padding-top:36px}
/* Light sits along the upper edge of each molded control; presses settle inward. */
:root{--soft-face:linear-gradient(145deg,#36393f 0%,#2a2d32 38%,#202227 78%,#1c1e22);--soft-raised:5px 7px 13px #0008,-2px -2px 7px #ffffff0b,inset 1px 1px 2px #ffffff32,inset -2px -2px 4px #0008;--soft-pressed:inset 4px 4px 9px #000a,inset -2px -2px 5px #ffffff14,0 1px 0 #ffffff17}
:is(.media-links a,.glass-link,.all-work,.back,.menu-button,.pager button,.filters button,.hero-select button,.video-caption>a,.photo-index>summary){transition:transform .22s var(--ease-press),box-shadow .24s var(--ease-press),background .22s,color .18s,border-color .22s}
:root header nav a.active{box-shadow:var(--soft-pressed);color:#f4dab3}
.glass-link::before{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 1px 0 #ffffff16;background:linear-gradient(115deg,transparent 25%,#ffffff0b 48%,transparent 70%);opacity:0;transition:opacity .3s}.glass-link:focus-visible::before{opacity:1}.link-mark{transition:transform .25s var(--ease-out),box-shadow .25s}
:is(button,a,summary):focus-visible{outline:2px solid #f1d4ac;outline-offset:5px}.glass-video .gv-button:focus-visible{outline-offset:2px}.photo-index>summary:focus-visible{outline-offset:5px}
@media(hover:hover) and (pointer:fine){.glass-link:hover::before{opacity:1}.glass-link:hover .link-mark{transform:translateY(-1px);box-shadow:var(--soft-pressed)}.scroll-section .collection-title a:hover::after{transform:translate(3px,-3px)}.project-card:hover .tile-caption strong{color:#f4dab3}.project-card:hover{transform:translateY(-3px)}.project-card:hover img{transform:scale(1.018)}}
:is(.media-links a,.glass-link,.all-work,.back,.menu-button,.pager button,.filters button,.hero-select button,.video-caption>a,.photo-index>summary):active{transition-duration:.09s}.glass-link:active .link-mark{transform:translateY(1px)}
@media(min-width:1500px){.hero-shell{max-width:calc(var(--content-max) + 48px);margin-inline:auto}.hero-caption{padding-inline:24px}.hero-shell .hero{max-height:760px;height:52vw}}
@media(min-width:901px) and (max-width:1200px){.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:601px) and (max-width:900px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-caption{flex-wrap:wrap}.asymmetric{gap:24px}.stream-links>.brand-link{min-width:190px}}
@media(max-width:1050px) and (min-width:801px){header nav{gap:4px;padding:6px}header nav a{padding-inline:8px;font-size:11px}header{gap:16px}.logo{font-size:33px}}
@media(max-width:800px){.wrap{margin-inline:var(--page-gutter)}.intro{padding-top:32px}.hero-caption{padding-inline:calc(var(--page-gutter) - 14px)}.home-links>.glass-link{min-height:70px}.project-card .tile-caption{min-height:70px}.about-grid{padding-top:20px}}
@media(max-width:600px){
 :root{--page-gutter:var(--phone-gutter);--section-gap:48px;--control-height:46px}
 .wrap{max-width:none;margin-inline:max(var(--page-gutter),env(safe-area-inset-left)) max(var(--page-gutter),env(safe-area-inset-right))}
 header,.home header{display:grid;grid-template-columns:80px minmax(0,1fr) 80px;gap:8px;padding-inline:max(var(--page-gutter),env(safe-area-inset-left)) max(var(--page-gutter),env(safe-area-inset-right))}header .logo{justify-self:start;font-size:32px}.menu-button{justify-self:end;min-height:44px}.mobile-page-label{justify-self:stretch;width:100%;text-align:center;font-size:9px;letter-spacing:1px}
 .hero-shell{margin:0}.hero-caption{padding:24px var(--page-gutter) 28px;gap:20px;display:grid;grid-template-columns:1fr}.hero-caption>a{padding:0}.hero-caption strong{font-size:30px}.hero-caption small{margin-top:9px;white-space:normal}.hero-select{justify-self:start}.long-home{padding-top:40px}.intro{padding:32px 0 28px}h1{font-size:clamp(34px,9.8vw,44px)}.intro p{margin-top:12px}.collection-title{font-size:27px;margin-bottom:24px}.scroll-section{padding-top:30px;margin-top:48px}.scroll-section .collection-title{margin-bottom:20px}
 .project-grid{grid-template-columns:minmax(0,1fr);gap:32px}.project-grid .project-card .image{aspect-ratio:4/3}.project-grid>div .project-card .image{aspect-ratio:1/1}.project-card .tile-caption{padding:14px 0 0;min-height:0;gap:6px}.project-card .tile-caption strong{font-size:22px;line-height:1.2}.project-grid.index .project-card .image{width:88px;height:88px;aspect-ratio:1/1}.index .project-card{gap:16px;padding-block:18px}.index .project-card .tile-caption strong{font-size:20px}
 .media-links{gap:16px}.stream-links>.brand-link{min-width:0}.home-links{margin-top:40px}.home-links>.glass-link{min-height:72px}.all-work{display:flex;width:100%;min-height:48px;margin-top:22px}.filters{margin-bottom:24px;scroll-padding-inline:var(--phone-gutter)}.filters .view-toggle{min-width:120px;font-size:11px}.project-head{padding-top:24px}.project-head .intro{padding-top:28px}.project-head .media-links{margin-top:20px}.pager{margin-top:32px;padding-block:24px}.pager button{min-width:108px}.video-caption{margin-top:18px;gap:14px}.video-caption h2{font-size:23px}.video-grid{gap:38px}.project-videos{gap:28px}.photo-index>summary{min-height:46px}
 .about-grid{padding:12px 0 32px}.big-name{font-size:88px;margin-bottom:32px}.about-grid p{font-size:17px}.contact{padding-top:28px}.contact .media-links{gap:12px}.contact .media-links a{padding-right:10px}.contact .link-label{font-size:12px}
 footer{max-width:none;margin:48px var(--page-gutter) 0;padding:24px 0 max(28px,env(safe-area-inset-bottom));gap:18px}footer small{min-width:0}footer small a{padding-inline:14px;max-width:100%}
}
@media(max-width:350px){header,.home header{grid-template-columns:73px minmax(0,1fr) 73px;gap:5px}.menu-button{min-width:73px;padding-inline:10px}.mobile-page-label{font-size:8px;letter-spacing:.4px}.video-caption{grid-template-columns:1fr}.contact .media-links{grid-template-columns:1fr}.project-card .tile-caption strong{font-size:21px}}
@media(prefers-reduced-motion:reduce){.glass-link::before{transition:none}.glass-link:hover .link-mark,.glass-link:active .link-mark,.scroll-section .collection-title a:hover::after{transform:none}.photo-index>summary::after{transition:none}}
@media(forced-colors:active){.glass-link::before{display:none}}
/* Navigation switches cleanly between desktop and the mobile dialog. */
@media(min-width:801px){header .menu-button{display:none}}
@media(min-width:1500px){.hero-caption{padding-inline:max(24px,calc(var(--page-gutter) - (100vw - var(--content-max) - 48px)/2))}}
