/* Photography is the experience; credits and controls stay quietly outside the frame. */
.creative-archive{padding:100px var(--pad);background:#e5e7df;overflow:clip}
.gallery-heading{display:grid;grid-template-columns:1.6fr 1fr;gap:8%;align-items:end;margin-bottom:48px}
.gallery-heading .eyebrow{margin-bottom:24px}
.gallery-heading h2{font-size:clamp(48px,5.9vw,90px);line-height:1.05;letter-spacing:-.065em}
.gallery-intro>p{font-size:13px;line-height:1.8;color:var(--muted);max-width:360px;margin-bottom:23px}
.gallery-intro .pill{font-size:10px;white-space:normal;gap:20px;min-height:46px}
.gallery-topline{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #bdc3b6;padding-top:22px;margin-bottom:25px;font-size:8px;letter-spacing:.12em}
.gallery-topline>span{color:var(--muted);text-align:right}
.photography-gallery{--gallery-height:clamp(320px,34vw,480px);--gallery-gap:22px}
.gallery-viewport{position:relative;overflow-x:auto;overflow-y:hidden;margin-inline:calc(-1 * var(--pad));padding-inline:var(--pad);scrollbar-width:none;cursor:grab;touch-action:pan-x pan-y;overscroll-behavior-x:contain;-webkit-mask-image:linear-gradient(to right,transparent,#000 30px,#000 calc(100% - 30px),transparent);mask-image:linear-gradient(to right,transparent,#000 30px,#000 calc(100% - 30px),transparent)}
.gallery-viewport::-webkit-scrollbar{display:none}
.gallery-viewport.is-dragging{cursor:grabbing;user-select:none}
.gallery-track{position:relative;display:flex;width:max-content}
.gallery-set{display:flex;align-items:start;gap:var(--gallery-gap);padding-right:var(--gallery-gap)}
.gallery-photo{flex:none;width:calc(var(--gallery-height) * var(--photo-ratio));margin:0}
.gallery-photo-open{display:block;position:relative;width:100%;height:var(--gallery-height);padding:0;border:0;border-radius:var(--media-radius,24px);overflow:hidden;background:#cad0c6;cursor:inherit}
.gallery-photo-open>img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit;transition:transform 260ms var(--ease-out);pointer-events:none}
.gallery-photo-view{position:absolute;right:17px;bottom:17px;display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid #ffffff55;border-radius:50px;background:#101f29a8;backdrop-filter:blur(8px);color:#fff;font-size:9px;opacity:0;transform:translateY(5px);transition:opacity 180ms var(--ease-out),transform 180ms var(--ease-out);pointer-events:none}
.gallery-photo-view .brand-icon{width:15px;height:15px}
.gallery-photo figcaption{display:flex;flex-direction:column;gap:5px;padding:17px 2px 4px}
.gallery-photo figcaption>span{font-size:15px;letter-spacing:-.025em;line-height:1.4}
.gallery-photo figcaption>small{font-size:9px;color:var(--muted);line-height:1.5}
.gallery-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px}
.gallery-bottom>p{color:var(--muted);font-size:10px;line-height:1.7}
.gallery-controls{display:flex;align-items:center;gap:10px;flex:none}
.gallery-counter{font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.1em;margin-right:16px;min-width:61px}
.gallery-counter i{font-style:normal;color:#92998d;margin:0 7px}
.gallery-control{flex:none;display:grid;place-items:center;width:44px;height:44px;border:1px solid #aeb7a6;border-radius:50%;background:transparent;color:var(--ink);transition:background-color 180ms var(--ease-out),color 180ms var(--ease-out),transform 160ms var(--ease-out);cursor:pointer}
.gallery-control .brand-icon{width:19px;height:19px}
.gallery-control[data-gallery-toggle]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.gallery-control[data-gallery-prev] .brand-icon,.photo-lightbox-prev .brand-icon{transform:rotate(180deg)}
.gallery-control:active{transform:scale(.96)}
.gallery-control:disabled{cursor:default;opacity:.55}
.gallery-signoff{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:32px;padding-top:24px;border-top:1px solid #bdc3b6}
.gallery-signoff>p{font-size:13px;letter-spacing:-.025em}
.gallery-signoff .source-link{font-size:10px;gap:9px;min-height:44px}
.gallery-signoff .brand-icon{width:14px;height:14px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.gallery-viewport:focus-visible{outline:2px solid var(--ink);outline-offset:5px;border-radius:12px}
.gallery-photo-open:focus-visible{outline:3px solid var(--ink);outline-offset:5px}
.gallery-photo-open:focus-visible .gallery-photo-view{opacity:1;transform:none}
.gallery-control:focus-visible{outline:2px solid currentColor;outline-offset:4px}
/* A photo lightbox, shared with the site's dialog shell. */
dialog.is-photo-dialog{width:min(1240px,calc(100% - 48px));max-width:none;height:min(900px,calc(100svh - 48px));max-height:none;padding:24px 30px;border-radius:24px;background:#101f29;color:#eeeee6;overflow:hidden}
.is-photo-dialog #dialog-content{height:100%;display:flex;flex-direction:column}
.is-photo-dialog .dialog-close{z-index:2;top:18px;right:20px;width:44px;height:44px;color:#eeeee6;border-color:#ffffff55;background:#101f29c9}
.photo-lightbox-header{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;padding-right:64px;margin-bottom:16px}
.photo-lightbox-header .eyebrow{font-size:9px;color:#a3b8c4;letter-spacing:.12em}
.photo-lightbox-count{font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.1em;color:#a3b8c4}
.photo-lightbox-stage{position:relative;flex:1;min-height:0;display:grid;place-items:center}
.photo-lightbox-image{width:min(100%,calc(var(--stage-height,60svh) * var(--photo-ratio,1)));height:auto;max-height:100%;aspect-ratio:var(--photo-ratio,1);min-height:0;object-fit:cover;border-radius:16px}
.photo-lightbox-stage .gallery-control{position:absolute;top:50%;transform:translateY(-50%);background:#101f29b3;border-color:#ffffff66;color:#fff;backdrop-filter:blur(8px)}
.photo-lightbox-prev{left:12px}.photo-lightbox-next{right:12px}
.photo-lightbox-stage .gallery-control:active{transform:translateY(-50%) scale(.96)}
.photo-lightbox-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:20px}
.photo-lightbox-footer h2{font-size:23px;letter-spacing:-.035em;line-height:1.2}
.photo-lightbox-credit{font-size:10px;color:#a3b8c4;margin-top:6px}
.photo-lightbox-actions{display:flex;align-items:center;gap:24px}
.photo-lightbox-actions .source-link{gap:8px;color:#b9cbd4;white-space:nowrap}
.photo-lightbox-actions .source-link .brand-icon{width:14px;height:14px}
.photo-lightbox-actions .pill{margin:0;font-size:10px;min-height:44px;gap:15px}
/* Motion and the maker remain a compact continuation of the photographic edit. */
.archive-reel{display:grid;grid-template-columns:1fr 1.5fr;gap:8%;align-items:center;margin:75px 0;padding-top:45px;border-top:1px solid #bdc3b6}
.archive-reel h3,.behind-camera h3{font-size:clamp(36px,4vw,56px);margin:24px 0}
.archive-reel p:not(.eyebrow),.behind-camera p:not(.eyebrow){font-size:12px;color:var(--muted);max-width:330px;margin-bottom:25px}
.archive-reel figure video{width:100%;height:auto;aspect-ratio:16/9;background:#101f29}
.archive-reel figcaption,.behind-camera figcaption{font-size:7px;letter-spacing:.1em;margin-top:14px;color:var(--muted)}
.behind-camera{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}
.behind-camera figure img{width:100%;height:430px;object-fit:cover;object-position:center}
.archive-prism{display:block;margin-bottom:30px}.archive-prism .brand-icon{width:48px;height:48px;stroke-width:1.1}
.archive-source{font-size:8px;color:var(--muted);border-top:1px solid #bdc3b6;padding-top:25px;margin-top:55px}
.profile-intro{display:flex;align-items:center;gap:18px;margin-bottom:24px}.profile-intro img{width:95px;height:95px;object-fit:cover;object-position:50% 0;border-radius:2px}.profile-intro h3{margin-top:7px;font-size:25px}
@media(hover:hover) and (pointer:fine){.gallery-photo-open:hover>img{transform:scale(1.02)}.gallery-photo-open:hover .gallery-photo-view{opacity:1;transform:none}.gallery-control:not(:disabled):hover{background:var(--ink);color:var(--paper)}.photo-lightbox-stage .gallery-control:hover{background:#eeeee6;color:#101f29}}
@media(max-width:1000px){.gallery-heading{gap:5%;grid-template-columns:1.3fr 1fr}.gallery-heading h2{font-size:61px}.gallery-intro .pill{font-size:9px}.gallery-topline{font-size:7px}.photography-gallery{--gallery-height:380px}}
@media(max-width:760px){
 .creative-archive{padding:65px 23px}.gallery-heading{display:block;margin-bottom:34px}.gallery-heading .eyebrow{font-size:8px;margin-bottom:21px}.gallery-heading h2{font-size:clamp(53px,13.5vw,72px);max-width:430px}.gallery-intro>p{font-size:12px;max-width:350px;margin:23px 0 20px}.gallery-intro .pill{font-size:10px;min-height:46px}
 .gallery-topline{padding-top:19px;margin-bottom:21px;font-size:7px}.gallery-topline>span{display:none}.photography-gallery{--gallery-height:clamp(285px,43svh,380px);--gallery-gap:16px}.gallery-viewport{-webkit-mask-image:none;mask-image:none}.gallery-photo figcaption{padding-top:14px;gap:4px}.gallery-photo figcaption>span{font-size:14px}.gallery-photo figcaption>small{font-size:9px}.gallery-photo-view{font-size:0;opacity:1;transform:none;padding:10px;right:12px;bottom:12px;gap:0;background:#101f29a3}
 .gallery-bottom{flex-direction:column-reverse;align-items:stretch;gap:20px;margin-top:24px}.gallery-controls{justify-content:flex-end;gap:9px}.gallery-counter{margin-right:auto;font-size:10px}.gallery-control{width:46px;height:46px}.gallery-bottom>p{font-size:10px;max-width:290px}.gallery-signoff{align-items:start;flex-direction:column;gap:8px;margin-top:25px;padding-top:20px}.gallery-signoff>p{font-size:13px}.gallery-signoff .source-link{font-size:10px}
 dialog.is-photo-dialog{width:calc(100% - 20px);height:calc(100svh - 20px);padding:14px;border-radius:20px}.is-photo-dialog .dialog-close{top:12px;right:12px;width:42px;height:42px}.photo-lightbox-header{padding-right:49px;margin-bottom:12px;gap:12px}.photo-lightbox-header .eyebrow{font-size:7px}.photo-lightbox-count{font-size:9px}.photo-lightbox-image{border-radius:12px}.photo-lightbox-prev{left:5px}.photo-lightbox-next{right:5px}.photo-lightbox-stage .gallery-control{width:42px;height:42px}.photo-lightbox-footer{display:block;margin-top:17px}.photo-lightbox-footer h2{font-size:22px}.photo-lightbox-credit{font-size:10px}.photo-lightbox-actions{justify-content:space-between;gap:10px;margin-top:16px}.photo-lightbox-actions .source-link{font-size:9px}.photo-lightbox-actions .pill{font-size:9px;padding:10px 13px;gap:10px;white-space:normal}.photo-lightbox-actions .pill .brand-icon{width:14px;height:14px}
 .archive-reel{grid-template-columns:1fr;gap:30px;margin:50px 0;padding-top:35px}.archive-reel h3,.behind-camera h3{font-size:37px;margin:20px 0}.archive-reel p:not(.eyebrow),.behind-camera p:not(.eyebrow){font-size:11px;max-width:100%}.behind-camera{grid-template-columns:1fr;gap:30px}.behind-camera figure img{height:350px}.archive-prism{margin-bottom:20px}.archive-source{font-size:7px;margin-top:35px}.profile-intro img{width:75px;height:75px}.profile-intro h3{font-size:21px}.profile-intro .eyebrow{font-size:8px}
}
@media(prefers-reduced-motion:reduce){.gallery-photo-open>img,.gallery-photo-view{transition:none;transform:none!important}.gallery-control{transition:opacity 150ms linear}}
