/* Brand sculpture: a small native WebGL scene with a real-image fallback. */
.logo-stage{position:absolute;inset:6% 5% 15% 12%;padding:0;background:none;isolation:isolate;cursor:crosshair;border-radius:8px;touch-action:pan-y}
.logo-stage:before{content:'';position:absolute;inset:10%;z-index:-1;background:radial-gradient(ellipse,#ff000012,transparent 65%);transition:background .6s}
.logo-stage.material-active:before{background:radial-gradient(ellipse,#327e9b26,transparent 68%)}
.logo-stage canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .25s}
.logo-fallback{position:absolute;width:auto;height:79%;max-width:80%;object-fit:contain;top:9%;left:50%;transform:translateX(-50%) perspective(700px) rotateY(-13deg) rotateZ(-2deg);filter:drop-shadow(14px 10px 0 #3f444c) drop-shadow(0 14px 30px #0006);transition:opacity .25s,filter .4s;pointer-events:none}
.logo-stage.logo-ready canvas{opacity:1}.logo-stage.logo-ready .logo-fallback{opacity:0}.logo-stage.logo-static.material-active .logo-fallback{filter:drop-shadow(10px 10px 0 #3d6196) drop-shadow(0 0 22px #5787ce55) hue-rotate(130deg)}
.logo-floor{position:absolute;left:27%;right:15%;bottom:15%;height:8%;border-radius:50%;border:1px solid #ff000030;background:radial-gradient(ellipse,#ff000008,transparent 65%);transform:perspective(300px) rotateX(65deg);pointer-events:none}
.hero-art .art-tag{left:22%;bottom:43px;font-size:8px;letter-spacing:1.4px;pointer-events:none}.hero-art .art-number,.hero-art .axis{pointer-events:none}.hero-art .art-number{top:45px}
.header nav{gap:26px}
/* Responsive native photography gallery. Full-size media is never preloaded. */
.photo-gallery{padding-top:35px;border-top:1px solid #ffffff20;scroll-margin-top:30px}
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #ffffff25;padding-bottom:24px;margin-bottom:30px}
.gallery-filters{display:flex;gap:8px;flex-wrap:wrap}.gallery-filter{background:transparent;border:1px solid #ffffff25;color:#b1b1a8;padding:11px 18px;border-radius:25px;font-size:11px}.gallery-filter.active{background:#eeede6;border-color:#eeede6;color:#111110}.gallery-filter sup{font-size:8px;margin-left:5px}
#gallery-status{font-size:10px;color:#92928a;white-space:nowrap}
.photo-grid{columns:3;column-gap:24px;min-height:100px}.photo-card{display:inline-block;vertical-align:top;width:100%;margin:0 0 26px;break-inside:avoid}
.photo-open{display:block;position:relative;padding:0;background:#1c1c19;width:100%;overflow:hidden;border-radius:2px;cursor:zoom-in}
.photo-open img{width:100%;height:auto;transition:transform .5s;aspect-ratio:auto}.photo-open:hover img{transform:scale(1.025)}
.photo-magnify{position:absolute;bottom:15px;right:15px;width:32px;height:32px;background:#11111060;border:1px solid #ffffff60;border-radius:50%;display:grid;place-items:center;backdrop-filter:blur(5px);font-size:17px;pointer-events:none}
.photo-card figcaption{display:flex;gap:15px;justify-content:space-between;align-items:center;padding-top:12px;font-size:11px}.photo-type{font-size:9px;color:#92928a}
.gallery-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;min-height:52px}.gallery-more{border:1px solid #ffffff35;background:transparent}.gallery-more:hover{background:#ffffff10}.gallery-bottom>.eyebrow{margin-left:auto;color:#737369;font-size:8px}
#photo-dialog{width:min(1140px,95vw);max-height:94dvh}.photo-viewer{position:relative;min-height:150px;background:#0a0a09;display:grid;place-items:center}.photo-viewer>img{display:block;max-height:72dvh;max-width:100%;width:auto;height:auto;object-fit:contain;touch-action:pan-y pinch-zoom}.photo-arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:42px;height:50px;background:#111b;border:1px solid #ffffff35;border-radius:3px;font-size:33px;line-height:1}.photo-arrow.previous{left:15px}.photo-arrow.next{right:15px}.photo-footer{display:flex;justify-content:space-between;align-items:center;padding:15px 24px;font-size:10px;color:#b0b0a5}.photo-key-hint{font-size:8px;letter-spacing:1px;color:#78786e}
.reel-preview-play{position:absolute;z-index:3;bottom:25px;right:25px;border:1px solid #ffffff70;background:#1118;border-radius:20px;padding:10px 16px;font-size:10px;backdrop-filter:blur(6px)}.reel-caption{right:220px}
.photo-gallery,.work-grid,.studio,.services,.process,.clients{content-visibility:auto;contain-intrinsic-size:auto 700px}
@media(max-width:1000px){.photo-grid{columns:2}.header nav{gap:18px}.hero-art .art-tag{left:20%}.gallery-toolbar{gap:14px}.photo-card figcaption{font-size:10px}.gallery-filter{padding:10px 14px}}
@media(max-width:700px){.logo-stage{inset:1% 10% 11% 7%}.logo-fallback{height:85%;top:0}.hero-art .art-tag{left:15%;bottom:25px;font-size:7px;letter-spacing:1px}.hero-art .axis{bottom:32px}.hero-art .art-number{top:20px}.logo-floor{bottom:12%;left:24%;right:23%}.photo-gallery{padding-top:45px}.gallery-toolbar{display:block;padding-bottom:18px;margin-bottom:20px}.gallery-filters{gap:6px}.gallery-filter{font-size:10px;padding:10px 12px}#gallery-status{font-size:9px;margin:18px 0 0}.photo-grid{columns:2;column-gap:12px}.photo-card{margin-bottom:20px}.photo-card figcaption{font-size:9px;line-height:1.5;padding-top:8px;display:block}.photo-type{display:block;font-size:8px;margin-top:3px}.photo-magnify{bottom:9px;right:9px;width:26px;height:26px;font-size:14px}.gallery-bottom{margin-top:14px}.gallery-bottom>.eyebrow{display:none}.photo-arrow{width:33px;height:43px;font-size:28px}.photo-arrow.previous{left:7px}.photo-arrow.next{right:7px}.photo-footer{padding:14px 18px}.photo-key-hint{display:none}.reel-preview-play{bottom:20px;right:16px;padding:9px 11px;font-size:8px}.reel-frame p{bottom:48px;font-size:19px}.photo-gallery{contain-intrinsic-size:auto 1000px}}
@media(prefers-reduced-motion:reduce){.logo-stage canvas,.logo-fallback,.photo-open img{transition:none}}
