/* Reference-aligned composition; the photographer's images retain their full frame. */
.site-header{position:fixed;inset:0 0 auto;height:62px;padding:20px;align-items:flex-start;gap:0;background:transparent;z-index:30}
.site-header .nav-edge{font-size:14px;line-height:21px;gap:12px;font-weight:500}
.site-header .nav-edge img{width:22px;height:22px}
.header-brand{position:absolute;left:50%;top:17px;transform:translateX(-50%);font-size:22px;line-height:1.1;margin:0;transition:opacity .3s,translate .3s}
body[data-view=home] .header-brand{visibility:hidden;opacity:0;translate:0 -70px;pointer-events:none}
body[data-view=home].is-scrolled .header-brand{visibility:visible;opacity:1;translate:0 0;pointer-events:auto}
.desktop-nav{position:absolute;left:75%;top:20px;gap:6px;font-size:14px;line-height:21px}
.desktop-nav a{padding:0}
.desktop-nav span{color:inherit}
.site-header .nav-contact{display:flex;margin-left:auto}
body:not([data-view=home]) main{padding-top:62px}
.home-scene{position:relative;isolation:isolate;padding-top:30svh;overflow:clip}
main>.home-scene{animation:none}
.home-brand-row{position:absolute;left:18vw;top:30svh;display:flex;gap:2vw;align-items:flex-start;z-index:0;pointer-events:none}
.home-wordmark{width:40vw;height:16vw;display:flex;align-items:center;font-family:Impact,'Arial Narrow','Helvetica Neue',sans-serif;font-size:240px;font-weight:900;line-height:.95;white-space:nowrap;user-select:none;pointer-events:none;margin:0;transform:translate3d(var(--wordmark-x,0px),var(--wordmark-y,0px),0)}
.home-wordmark span{display:inline-block;flex:none;transform:scaleX(var(--brand-fit,.62));transform-origin:left center}
.home-tagline{width:300px;flex:none;font-size:24px;line-height:1.3;margin-top:-6px;font-weight:400}
.home-gallery-viewport{position:relative;z-index:1;overflow:clip}
.home-gallery{position:relative;left:50%;width:130vw;transform:translateX(-50%);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:0 10px}
.home-column{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:0;padding:0 0 40px;transform:translate3d(var(--motion-x,0px),var(--motion-y,0px),0)}
.home-column:nth-child(2),.home-column:nth-child(4){margin-top:22.5vw}
.home-column:nth-child(3){margin-top:9.5vw}
.home-slot{display:block;position:relative;flex:0 0 auto;aspect-ratio:2/3;min-width:0;background:white;transition:opacity .35s;outline-offset:-4px}
.home-cover{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .35s;transform:none;max-width:none}
.home-slot:hover .home-cover{opacity:.9}
.home-slot:focus-visible{outline:2px solid #111;z-index:2}
.home-play{position:fixed;right:18px;bottom:18px;z-index:25;width:36px;height:36px;background:rgba(255,255,255,.92);border-radius:50%}
.home-play img{width:16px;height:16px}
.home-statement{padding:100px 10px 0;position:relative;background:#fff}
.home-statement p{font-family:var(--serif);font-size:96px;line-height:1;max-width:1450px;margin:0 auto;text-indent:9vw;font-weight:400}
.home-statement em{font-weight:400}
.home-selected{padding:260px 10px 112px}
.home-selected h2{font-family:var(--serif);font-size:96px;font-weight:400;line-height:1;margin-bottom:20px}
.selected-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:70px 10px}
.selected-photo{display:block;min-width:0}
.selected-photo img{width:100%;height:auto;transition:opacity .25s}
.selected-photo:hover img{opacity:.8}
.selected-all{display:flex;align-items:center;justify-content:center;gap:16px;font-size:24px;margin:70px auto 0;width:max-content}
.selected-all img{width:23px;height:23px}
.site-footer{background:#eee;padding:35px 20px 24px;min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;gap:55px}
.footer-manifesto p{font-family:var(--serif);font-size:60px;line-height:1.1;font-weight:400}
.footer-manifesto a:hover{text-decoration:underline;text-underline-offset:8px}
.footer-directory{display:grid;grid-template-columns:2fr 1fr 1fr;margin-top:auto;font-size:14px;line-height:1.6;gap:20px}
.footer-directory>div>span,.footer-directory nav>span{display:block;margin-bottom:14px;font-weight:500}
.footer-directory nav{display:flex;flex-direction:column;align-items:flex-start}
.footer-directory a:hover{text-decoration:underline}
.footer-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;font-size:11px}
.footer-logo{font-size:62px;font-weight:900;line-height:.9}
.footer-bottom>span{color:#111;text-align:right}
.menu-dialog{inset:10px 10px auto;width:calc(100% - 20px);height:auto;max-height:calc(100dvh - 20px);margin:0;background:#fff}
.menu-dialog::backdrop{background:rgba(0,0,0,.08)}
.menu-dialog .dialog-bar{padding:0 10px;align-items:flex-start;height:84px}
.menu-dialog .dialog-bar>.icon-button{position:absolute;left:calc(50% - 22px);top:0}
.menu-dialog .nav-edge{font-size:14px;padding-top:12px}
.menu-dialog .nav-contact{margin-left:auto;display:flex}
.menu-dialog .menu-links{padding:12px 30px 20px;display:flex;flex-direction:column;align-items:center;gap:20px}
.menu-dialog .menu-links>a{font-size:14px;padding:0;border:0;line-height:22px}
@media(min-width:1800px){.home-wordmark{font-size:300px}.home-statement p{font-size:120px}.footer-manifesto p{font-size:80px}}
@media(max-width:1100px) and (min-width:701px){.home-wordmark{font-size:180px}.home-tagline{font-size:20px;width:260px}.desktop-nav{left:auto;right:165px}.home-statement p{font-size:76px}.home-selected{padding-top:180px}.footer-manifesto p{font-size:50px}}
@media(max-width:700px){
  .site-header{height:100px;padding:16px 15px;align-items:flex-start}
  .site-header .nav-edge,.menu-dialog .nav-edge{flex-direction:column;align-items:center;gap:12px;font-size:14px;line-height:1;font-weight:400}
  .nav-edge>span{writing-mode:vertical-rl}
  .site-header .nav-contact{flex-direction:column-reverse}
  .menu-dialog .nav-contact{flex-direction:column-reverse}
  .site-header .menu-toggle{display:flex;position:absolute;left:calc(50% - 22px);top:5px}
  .menu-toggle img{width:22px;height:22px}
  .site-header .header-brand{display:none}
  .site-header .desktop-nav{display:none}
  body:not([data-view=home]) main{padding-top:92px}
  .home-scene{padding-top:calc(30svh + 21vw)}
  .home-brand-row{left:25px;right:25px;top:calc(30svh - 70px);gap:10px;flex-direction:column-reverse}
  .home-tagline{font-size:24px;line-height:1.3;margin:0;width:100%}
  .home-wordmark{width:100%;height:34vw;font-size:142px;line-height:.95;align-items:center}
  .home-gallery{width:100%;left:0;transform:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 10px}
  .home-column:nth-child(n){margin-top:0;padding-bottom:20px}
  .home-column:nth-child(2){margin-top:35vw}
  .home-play{right:12px;bottom:12px;width:34px;height:34px}
  .home-statement{padding:220px 10px 0}
  .home-statement p{font-size:50px;line-height:1;text-indent:9vw}
  .home-selected{padding:250px 10px 64px}
  .home-selected h2{margin-bottom:20px;font-size:50px}
  .selected-grid{grid-template-columns:1fr;gap:50px}
  .selected-all{font-size:20px;margin-top:50px}
  .site-footer{padding:25px 15px 20px;gap:50px;min-height:100svh}
  .footer-manifesto p{font-size:32px;line-height:1.15}
  .footer-directory{grid-template-columns:1.5fr 1fr 1fr;font-size:12px;gap:16px}
  .footer-directory>div>span,.footer-directory nav>span{margin-bottom:12px}
  .footer-directory p{font-size:10px}
  .footer-bottom{display:flex;align-items:flex-end;gap:20px;font-size:9px}
  .footer-logo{font-size:42px}
  .footer-bottom>span{max-width:130px}
}
@media(max-width:389px){.home-wordmark{font-size:122px}.home-tagline{font-size:22px}.home-statement p{font-size:43px}.footer-manifesto p{font-size:27px}.footer-logo{font-size:34px}}
@media(prefers-reduced-motion:reduce){.home-column{transform:none!important}.home-cover,.home-slot,.header-brand{transition:none}.home-play{display:none}}
