:root { --black:#050505; --ink:#0c0d0f; --white:#f5f5f2; --muted:#a0a3a7; --blue:#69c7ff; --line:rgba(245,245,242,.2); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--white); background:var(--black); font-family:"Space Grotesk",Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.site-header { position:absolute; z-index:10; top:0; left:0; width:100%; display:flex; align-items:center; justify-content:flex-end; padding:26px clamp(24px,5vw,76px); transition:background .3s, padding .3s; }
.site-header.is-scrolled { position:fixed; background:rgba(5,5,5,.87); backdrop-filter:blur(12px); padding-top:17px; padding-bottom:17px; }
.site-nav { display:flex; align-items:center; gap:clamp(18px,2.6vw,46px); font-size:.72rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.site-nav a { opacity:.8; transition:opacity .2s,color .2s; }.site-nav a:hover { color:var(--blue); opacity:1; }
.menu-toggle { display:none; }
.hero { min-height:100svh; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; padding:clamp(105px,12vh,145px) clamp(24px,5vw,76px) 50px; background:#030507; }
.hero-content { width:min(920px,90vw); display:flex; flex-direction:column; align-items:center; gap:clamp(20px,3vh,36px); animation:reveal .9s .15s both; }.hero-logo { display:block; width:min(720px,88vw); height:auto; mix-blend-mode:screen; }.eyebrow { margin:0 0 18px; color:var(--blue); font-size:.68rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
h1,h2,p { margin-top:0; }h1 { max-width:650px; margin-bottom:25px; font-size:clamp(4rem,10.5vw,10rem); font-weight:600; letter-spacing:-.085em; line-height:.78; text-transform:uppercase; }.tagline { margin-bottom:31px; font-size:clamp(1rem,1.5vw,1.25rem); line-height:1.45; }
.button { display:inline-flex; align-items:center; gap:20px; padding:16px 19px; border:1px solid var(--white); font-size:.7rem; font-weight:600; letter-spacing:.11em; text-transform:uppercase; transition:background .25s,color .25s; }.button:hover { color:#000; background:var(--white); }.button span { font-size:1.2rem; line-height:.6; }
.scroll-cue { position:absolute; right:clamp(24px,5vw,76px); bottom:52px; display:flex; gap:10px; align-items:center; font-size:.65rem; letter-spacing:.13em; text-transform:uppercase; transform:rotate(90deg); transform-origin:right; }.scroll-cue span { display:block; width:28px; height:1px; background:currentColor; }
.statement { max-width:1260px; padding:clamp(100px,13vw,175px) clamp(24px,5vw,76px); margin:auto; display:grid; grid-template-columns:minmax(280px,.86fr) minmax(300px,1.14fr); align-items:center; gap:clamp(42px,9vw,150px); }.statement-photo-wrap { position:relative; padding:12px; border:1px solid rgba(166,216,255,.38); background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(9,18,28,.65)); box-shadow:0 30px 55px rgba(0,0,0,.55), 0 8px 22px rgba(105,199,255,.24), inset 0 0 22px rgba(255,255,255,.1); }.statement-photo { display:block; width:100%; max-height:470px; object-fit:contain; object-position:center; box-shadow:0 12px 22px rgba(0,0,0,.45); }.statement-copy { padding-right:clamp(0px,3vw,40px); }.statement-copy > p:last-child { margin:0; font-size:clamp(1.45rem,2.65vw,2.7rem); letter-spacing:-.055em; line-height:1.1; }
.featured { padding:40px clamp(24px,5vw,76px) clamp(100px,12vw,180px); }.section-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:42px; border-bottom:1px solid var(--line); }.section-heading .eyebrow { margin-bottom:15px; }h2 { margin:0 0 14px; font-size:clamp(1.9rem,3.2vw,3.25rem); font-weight:500; letter-spacing:-.07em; }
.photo-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }.photo-card { position:relative; min-height:380px; overflow:hidden; background:transparent; transition:transform .35s; }.photo-card:hover { transform:translateY(-7px); }.photo { position:absolute; inset:0; background-repeat:no-repeat; background-size:contain; background-position:center; filter:drop-shadow(0 25px 22px rgba(0,0,0,.62)) drop-shadow(0 7px 17px rgba(105,199,255,.22)); transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .35s; }.photo-card:hover .photo { transform:scale(1.025); filter:drop-shadow(0 31px 27px rgba(0,0,0,.66)) drop-shadow(0 8px 20px rgba(105,199,255,.3)); }.photo--one { background-image:linear-gradient(0deg,rgba(0,0,0,.52),transparent 58%),url("assets/featured-1.jpg"); }.photo--two { background-image:linear-gradient(0deg,rgba(0,0,0,.52),transparent 58%),url("assets/featured-2.jpg"); }.photo--three { background-image:linear-gradient(0deg,rgba(0,0,0,.52),transparent 58%),url("assets/featured-3.jpg"); }
.photo-card__label { position:absolute; inset:auto 22px 22px; display:grid; gap:6px; }.photo-card__label span { color:var(--blue); font-size:.64rem; }.photo-card__label strong { font-size:1.08rem; font-weight:500; letter-spacing:-.04em; }.photo-card__label i { font-size:.62rem; font-style:normal; letter-spacing:.08em; text-transform:uppercase; opacity:0; transform:translateY(5px); transition:.3s; }.photo-card:hover i { opacity:1; transform:none; }
.prints { min-height:62vh; padding:clamp(85px,12vw,180px) clamp(24px,10vw,160px); display:flex; flex-direction:column; justify-content:center; background:linear-gradient(125deg,#101418,#050505 60%); }.prints h2 { max-width:750px; font-size:clamp(2.6rem,5vw,5rem); }.text-link { width:max-content; border-bottom:1px solid; padding-bottom:7px; font-size:.75rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }.text-link span { padding-left:30px; font-size:1.2rem; }
.follow { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(40px,8vw,120px); align-items:start; padding:clamp(90px,12vw,160px) clamp(24px,10vw,160px); }.follow h2 { font-size:clamp(2rem,3.8vw,3.8rem); }.follow-links { display:grid; gap:12px; }.follow-card { display:grid; grid-template-columns:130px 1fr auto; align-items:center; gap:20px; padding:24px; border:1px solid var(--line); background:#0b0e11; transition:border-color .25s,background .25s,transform .25s; }.follow-card:hover { border-color:var(--blue); background:#101820; transform:translateX(5px); }.follow-card span,.follow-card i { color:var(--blue); font-size:.66rem; font-style:normal; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }.follow-card strong { font-size:1rem; font-weight:400; letter-spacing:-.02em; }
.collection-page { background:#050505; }.collection-header { position:relative; background:#050505; border-bottom:1px solid var(--line); }.back-link { font-size:.7rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }.back-link:hover { color:var(--blue); }.collection-intro { max-width:1260px; padding:clamp(100px,13vw,170px) clamp(24px,5vw,76px) clamp(50px,7vw,90px); margin:auto; }.collection-intro h1 { margin-bottom:20px; font-size:clamp(3.3rem,7vw,7rem); line-height:.84; }.collection-intro > p:last-child { margin:0; color:var(--muted); font-size:1rem; }.collection-grid { max-width:1400px; display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(34px,5vw,72px) clamp(25px,3vw,45px); padding:0 clamp(24px,5vw,76px) clamp(100px,13vw,170px); margin:auto; }.collection-item { margin:0; transition:transform .35s; }.collection-item:hover { transform:translateY(-8px); }.collection-item img { display:block; width:100%; aspect-ratio:4/3; object-fit:contain; filter:drop-shadow(0 26px 25px rgba(0,0,0,.65)) drop-shadow(0 8px 20px rgba(105,199,255,.2)); transition:filter .35s; }.collection-item:hover img { filter:drop-shadow(0 33px 30px rgba(0,0,0,.7)) drop-shadow(0 10px 23px rgba(105,199,255,.3)); }.collection-item figcaption { padding-top:15px; color:var(--muted); font-size:.68rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.contact-page { max-width:1260px; display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(50px,10vw,160px); padding:clamp(90px,12vw,160px) clamp(24px,5vw,76px); margin:auto; }.contact-intro h1 { margin-bottom:24px; font-size:clamp(3.3rem,7vw,7rem); line-height:.84; }.contact-intro > p:last-of-type { max-width:390px; color:var(--muted); font-size:1rem; line-height:1.55; }.contact-email { display:inline-block; margin-top:25px; padding-bottom:6px; border-bottom:1px solid var(--blue); color:var(--blue); font-size:.82rem; font-weight:600; letter-spacing:.04em; }.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:25px 20px; }.contact-form label { display:grid; gap:9px; color:var(--muted); font-size:.68rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }.contact-form input,.contact-form textarea { width:100%; border:0; border-bottom:1px solid rgba(245,245,242,.32); border-radius:0; outline:0; padding:11px 0; color:var(--white); background:transparent; font:400 1rem "Space Grotesk",sans-serif; resize:vertical; transition:border-color .2s; }.contact-form input:focus,.contact-form textarea:focus { border-color:var(--blue); }.form-message { grid-column:1/-1; }.contact-form .button { justify-self:start; grid-column:1/-1; background:transparent; color:var(--white); cursor:pointer; }.contact-form .button:hover { color:#000; }.form-note { grid-column:1/-1; margin:0; color:var(--muted); font-size:.72rem; }
.about { max-width:700px; padding:140px 24px; margin:auto; }.about > p:last-child { font-size:clamp(1.8rem,3.4vw,3.2rem); letter-spacing:-.05em; line-height:1.1; }footer { display:flex; justify-content:space-between; padding:25px clamp(24px,5vw,76px); border-top:1px solid var(--line); font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; }footer a:hover { color:var(--blue); }
@keyframes reveal { from { opacity:0; transform:translateY(25px); } to { opacity:1; transform:none; } }
@media (max-width:760px) { .site-header { padding:21px 24px; }.menu-toggle { display:grid; width:36px; height:30px; padding:7px 0; border:0; background:none; justify-items:end; align-content:space-around; }.menu-toggle span:not(.sr-only) { display:block; width:25px; height:1px; background:var(--white); }.site-nav { position:fixed; top:0; right:0; width:min(75vw,330px); min-height:100vh; padding:95px 32px; flex-direction:column; align-items:flex-start; background:#0b0b0c; transform:translateX(100%); transition:transform .35s; }.site-nav.is-open { transform:none; }.site-nav a { font-size:.9rem; }.hero { padding:85px 24px 55px; }.hero-content { width:100%; gap:18px; }.hero-logo { width:min(520px,94vw); }.scroll-cue { display:none; }.photo-grid { grid-template-columns:1fr; }.photo-card { min-height:68vw; max-height:620px; }.photo-card__label i { opacity:1; transform:none; }.statement { grid-template-columns:1fr; gap:36px; padding-top:85px; padding-bottom:85px; }.statement-copy { padding:0; }.statement-photo { max-height:430px; }.section-heading { display:block; }.prints { min-height:48vh; }.follow { grid-template-columns:1fr; gap:30px; }.follow-card { grid-template-columns:1fr; gap:8px; }.follow-card i { margin-top:7px; }.collection-grid { grid-template-columns:1fr; gap:46px; }.collection-header { justify-content:space-between; }.collection-intro { padding-top:95px; }.contact-page { grid-template-columns:1fr; gap:60px; padding-top:85px; }.contact-form { grid-template-columns:1fr; }.form-message,.contact-form .button,.form-note { grid-column:auto; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.hero-content { animation:none; }.photo { transition:none; } }
.photo--one { background-image:linear-gradient(0deg,rgba(0,0,0,.52),transparent 58%),url("assets/collection-one-web/_MG_2056_web.jpg"); }
.photo--two { background-image:linear-gradient(0deg,rgba(0,0,0,.52),transparent 58%),url("assets/collection-one-web/_MG_3986_web.jpg"); }
.photo--three { background-image:linear-gradient(0deg,rgba(0,0,0,.52),transparent 58%),url("assets/collection-one-web/_MG_4606-2_web.jpg"); }
.collection-trigger { display:block; width:100%; padding:0; border:0; background:transparent; cursor:pointer; }.collection-trigger:focus-visible { outline:2px solid var(--blue); outline-offset:6px; }.lightbox-open { overflow:hidden; }.lightbox { position:fixed; z-index:100; inset:0; display:none; align-items:center; justify-content:center; padding:80px clamp(54px,8vw,130px); background:rgba(3,5,7,.96); }.lightbox.is-open { display:flex; }.lightbox-image { display:block; max-width:100%; max-height:calc(100vh - 130px); object-fit:contain; box-shadow:0 24px 70px rgba(0,0,0,.72); }.lightbox-arrow,.lightbox-close { position:absolute; border:0; background:transparent; color:var(--white); cursor:pointer; }.lightbox-arrow { top:50%; padding:18px; font:400 clamp(3rem,7vw,6rem)/.7 Arial,sans-serif; transform:translateY(-50%); }.lightbox-arrow:hover,.lightbox-close:hover { color:var(--blue); }.lightbox-prev { left:clamp(8px,3vw,42px); }.lightbox-next { right:clamp(8px,3vw,42px); }.lightbox-close { top:24px; right:clamp(24px,5vw,76px); padding:5px; font:400 2.5rem/1 Arial,sans-serif; }.lightbox-count { position:absolute; bottom:27px; margin:0; color:var(--muted); font-size:.68rem; font-weight:600; letter-spacing:.16em; }.lightbox-arrow:focus-visible,.lightbox-close:focus-visible { outline:2px solid var(--blue); outline-offset:4px; }
.collection-lede { margin:0 0 14px; color:var(--white); font-size:clamp(1.1rem,1.7vw,1.35rem); }.collection-summary { max-width:550px; margin:0; color:var(--muted); font-size:1rem; line-height:1.55; }.collection-kofi { margin-top:30px; }.collection-item figcaption { display:grid; gap:7px; padding-top:15px; text-transform:none; }.collection-item figcaption strong { color:var(--white); font-size:1rem; font-weight:500; letter-spacing:-.025em; }.collection-item figcaption span { color:var(--muted); font-size:.78rem; font-weight:400; letter-spacing:normal; line-height:1.45; }.lightbox { padding:50px clamp(54px,8vw,130px) 145px; }.lightbox-image { max-height:calc(100vh - 210px); }.lightbox-details { position:absolute; right:50%; bottom:25px; width:min(720px,calc(100vw - 108px)); transform:translateX(50%); text-align:center; }.lightbox-count { position:static; margin:0 0 8px; color:var(--blue); }.lightbox-title { margin:0 0 7px; font-size:clamp(1.3rem,2.5vw,2rem); font-weight:500; letter-spacing:-.045em; }.lightbox-caption { max-width:580px; margin:0 auto; color:var(--muted); font-size:.85rem; line-height:1.45; }
.collection-preview { max-width:1400px; padding:30px clamp(24px,5vw,76px) clamp(100px,12vw,170px); margin:auto; }.collection-preview__link { display:block; }.collection-collage { display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(8px,1.4vw,18px); }.collection-collage img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; background:#10151a; box-shadow:0 18px 30px rgba(0,0,0,.45),0 5px 13px rgba(105,199,255,.14); transition:transform .35s ease,box-shadow .35s ease; }.collection-collage img:nth-child(2n) { transform:translateY(8px) rotate(.6deg); }.collection-collage img:nth-child(3n) { transform:translateY(-5px) rotate(-.55deg); }.collection-preview__link:hover .collection-collage img { box-shadow:0 24px 36px rgba(0,0,0,.52),0 7px 17px rgba(105,199,255,.24); }.collection-preview__link:hover .collection-collage img:nth-child(2n) { transform:translateY(2px) rotate(.2deg); }.collection-preview__link:hover .collection-collage img:nth-child(3n) { transform:translateY(-2px) rotate(-.2deg); }.collection-preview__copy { max-width:640px; padding-top:42px; margin:auto; text-align:center; }.collection-preview__copy .eyebrow { margin-bottom:13px; }.collection-preview__copy h2 { margin-bottom:11px; }.collection-preview__copy p { margin:0; color:var(--muted); font-size:1rem; }.collection-preview__copy > span { display:inline-block; margin-top:24px; color:var(--blue); font-size:.72rem; font-weight:600; letter-spacing:.11em; text-transform:uppercase; }.collection-preview__link:focus-visible { outline:2px solid var(--blue); outline-offset:10px; }
@media (max-width:760px) { .collection-preview { padding-top:15px; }.collection-collage { grid-template-columns:repeat(3,1fr); gap:9px; }.collection-preview__copy { padding-top:31px; } }
.collection-preview__heading { max-width:1400px; margin:0 auto 42px; border-bottom:1px solid var(--line); }.collection-preview__heading .eyebrow { margin-bottom:15px; }.collection-preview__heading h2 { margin-bottom:16px; }.collection-collage { position:relative; display:block; width:min(980px,100%); height:clamp(360px,43vw,570px); margin:auto; }.collection-collage img { position:absolute; width:37%; aspect-ratio:4/3; object-fit:cover; border:5px solid #f0f0eb; box-shadow:0 25px 40px rgba(0,0,0,.52); }.collection-collage img:nth-child(1) { top:11%; left:2%; z-index:2; transform:rotate(-7deg); }.collection-collage img:nth-child(2) { top:0; left:29%; z-index:4; transform:rotate(3deg); }.collection-collage img:nth-child(3) { top:16%; right:2%; z-index:3; transform:rotate(7deg); }.collection-collage img:nth-child(4) { bottom:1%; left:18%; z-index:5; transform:rotate(-2.5deg); }.collection-collage img:nth-child(5) { right:16%; bottom:4%; z-index:1; transform:rotate(5deg); }.collection-preview__link:hover .collection-collage img:nth-child(1) { transform:translate(-4px,-9px) rotate(-7deg); }.collection-preview__link:hover .collection-collage img:nth-child(2) { transform:translateY(-10px) rotate(3deg); }.collection-preview__link:hover .collection-collage img:nth-child(3) { transform:translate(4px,-6px) rotate(7deg); }.collection-preview__link:hover .collection-collage img:nth-child(4) { transform:translate(-2px,-10px) rotate(-2.5deg); }.collection-preview__link:hover .collection-collage img:nth-child(5) { transform:translate(4px,-8px) rotate(5deg); }.collection-preview__copy { padding-top:20px; }.collection-preview__copy strong { display:block; color:var(--white); font-size:clamp(1.6rem,3.1vw,3rem); font-weight:500; letter-spacing:-.06em; }.collection-preview__copy > span { margin-top:16px; }
@media (max-width:760px) { .collection-preview__heading { margin-bottom:30px; }.collection-collage { height:clamp(300px,88vw,450px); }.collection-collage img { width:48%; border-width:3px; }.collection-collage img:nth-child(1) { top:9%; left:0; }.collection-collage img:nth-child(2) { top:0; left:26%; }.collection-collage img:nth-child(3) { top:21%; right:0; }.collection-collage img:nth-child(4) { bottom:4%; left:5%; }.collection-collage img:nth-child(5) { right:5%; bottom:3%; } }
.hero--photo { isolation:isolate; background:#070b10; }.hero--photo::before,.hero--photo::after { position:absolute; z-index:-1; inset:0; content:""; }.hero--photo::before { background:url("assets/collection-one-web/_MG_3986_web.jpg") center/cover no-repeat; filter:saturate(.9) contrast(1.08); }.hero--photo::after { background:linear-gradient(90deg,rgba(3,5,7,.76),rgba(3,5,7,.26) 54%,rgba(3,5,7,.52)),linear-gradient(0deg,rgba(3,5,7,.66),transparent 45%); }.hero--photo .hero-logo { mix-blend-mode:normal; filter:drop-shadow(0 10px 25px rgba(0,0,0,.7)); }.hero--photo .button { background:rgba(5,5,5,.28); backdrop-filter:blur(5px); }.mission { max-width:1260px; display:grid; grid-template-columns:1fr 1fr; gap:clamp(50px,10vw,160px); padding:clamp(100px,13vw,170px) clamp(24px,5vw,76px); margin:auto; }.mission h2 { font-size:clamp(2.2rem,4.4vw,4.8rem); line-height:.95; }.mission-copy { max-width:510px; align-self:end; }.mission-copy p { margin-bottom:32px; color:var(--muted); font-size:1.05rem; line-height:1.6; }.beyond-page { background:#07090b; }.beyond-hero { position:relative; min-height:100svh; overflow:hidden; display:grid; align-items:end; }.beyond-hero::after { position:absolute; inset:0; content:""; background:linear-gradient(90deg,rgba(4,7,10,.68),rgba(4,7,10,.08) 70%),linear-gradient(0deg,rgba(4,7,10,.7),transparent 55%); }.beyond-hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 10%; }.beyond-hero__content { position:relative; z-index:1; width:min(1260px,100%); padding:clamp(130px,16vh,190px) clamp(24px,5vw,76px) clamp(70px,10vh,120px); margin:auto; }.beyond-hero__content h1 { max-width:760px; margin:0; font-size:clamp(4rem,10vw,9rem); line-height:.8; }.narrative-intro { max-width:1000px; padding:clamp(110px,15vw,210px) clamp(24px,5vw,76px); margin:auto; }.narrative-intro p { max-width:850px; margin:0; font-size:clamp(2rem,4.5vw,5.2rem); letter-spacing:-.065em; line-height:1; }.narrative-section { max-width:1040px; padding:clamp(60px,8vw,110px) clamp(24px,5vw,76px); margin:auto; border-top:1px solid var(--line); }.narrative-section h2 { max-width:700px; font-size:clamp(2rem,3.8vw,4rem); line-height:1; }.narrative-section > p:last-child { max-width:650px; margin:0; color:var(--muted); font-size:1.05rem; line-height:1.65; }.narrative-section--split { max-width:1260px; display:grid; grid-template-columns:1fr 1fr; gap:clamp(45px,10vw,160px); }.narrative-closing { min-height:60vh; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:clamp(85px,12vw,160px) 24px; text-align:center; background:linear-gradient(130deg,#101923,#050505 65%); }.narrative-closing p { max-width:760px; margin:0 0 35px; font-size:clamp(2rem,4vw,4.4rem); letter-spacing:-.065em; line-height:1; }.narrative-closing .button { background:transparent; color:var(--white); }.narrative-closing .button:hover { color:#000; background:var(--white); }
@media (max-width:760px) { .mission,.narrative-section--split { grid-template-columns:1fr; gap:30px; }.mission { padding-top:85px; padding-bottom:85px; }.mission-copy { align-self:start; }.beyond-hero > img { object-position:56% center; }.beyond-hero__content { padding-bottom:76px; }.narrative-section { padding-top:55px; padding-bottom:55px; }.narrative-closing { min-height:48vh; } }
.lightbox-story-link { display:inline-block; margin-top:13px; color:var(--blue); font-size:.68rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }.photo-page { max-width:1260px; padding:clamp(72px,10vw,135px) clamp(24px,5vw,76px) clamp(100px,13vw,170px); margin:auto; }.photo-page .back-link { display:inline-block; margin-bottom:35px; }.photo-page__image { display:block; width:100%; max-height:76vh; object-fit:contain; background:#0b0e11; box-shadow:0 28px 65px rgba(0,0,0,.55); }.photo-page__details { max-width:750px; padding-top:clamp(45px,7vw,90px); }.photo-page__details h1 { margin-bottom:20px; font-size:clamp(3.2rem,7vw,7.2rem); line-height:.84; }.photo-page__caption { margin:0; color:var(--muted); font-size:clamp(1.15rem,2vw,1.5rem); line-height:1.45; }.photo-metadata { display:grid; grid-template-columns:150px 1fr; gap:12px 25px; padding-top:50px; margin:0; }.photo-metadata dt { color:var(--blue); font-size:.68rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }.photo-metadata dd { margin:0; color:var(--white); }.photo-print { margin-top:50px; padding-top:35px; border-top:1px solid var(--line); }.photo-print p { margin-bottom:18px; color:var(--muted); font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; }
.beyond-hero > img { object-position:center 29%; transform:scale(.91); transform-origin:center 29%; }
@media (max-width:760px) { .beyond-hero > img { object-position:center 27%; transform-origin:center 27%; } }
.language-switcher { display:flex; align-items:center; gap:6px; margin-left:clamp(20px,2.2vw,34px); color:rgba(245,245,242,.58); font-size:.67rem; font-weight:600; letter-spacing:.09em; }
.language-switcher button { padding:0; border:0; color:inherit; background:transparent; font:inherit; cursor:pointer; opacity:.58; transition:color .2s,opacity .2s; }
.language-switcher button:hover,.language-switcher button[aria-pressed="true"] { color:var(--white); opacity:1; }
.language-switcher button:focus-visible { outline:1px solid var(--blue); outline-offset:4px; }
@media (max-width:760px) { .site-header { gap:20px; }.language-switcher { margin-left:auto; margin-right:3px; }.site-nav { z-index:2; }.language-switcher { position:relative; z-index:3; } }
.hero--photo::before { background-image:url("assets/hero-f22.webp"); }
.beyond-page .site-header:not(.is-scrolled) { background:transparent; }
.beyond-hero { background:url("assets/beyond-lens-hero-original.jpg") center 29% / cover no-repeat; }
.beyond-page .narrative-intro { max-width:none; min-height:54svh; display:flex; align-items:center; padding:clamp(110px,15vw,210px) clamp(24px,5vw,76px); background:linear-gradient(90deg,rgba(4,7,10,.84),rgba(4,7,10,.33) 72%,rgba(4,7,10,.55)),url("assets/beyond-lens-hero-original.jpg") center 63% / cover no-repeat; }
.beyond-page .narrative-intro p { width:min(1000px,100%); margin:0 auto; }
@media (max-width:760px) { .beyond-hero { background-position:center 27%; }.beyond-page .narrative-intro { min-height:46svh; background-position:center 58%; } }
.beyond-opening { background:url("assets/beyond-lens-hero-original.jpg") center 29% / cover fixed no-repeat; }
.beyond-opening .beyond-hero { background:none; }
.beyond-opening .beyond-hero > img { display:none; }
.beyond-opening .narrative-intro { background:linear-gradient(90deg,rgba(4,7,10,.74),rgba(4,7,10,.18) 72%,rgba(4,7,10,.48)); }
@media (max-width:760px) { .beyond-opening { background-position:center 27%; background-attachment:scroll; }.beyond-opening .narrative-intro { background:linear-gradient(90deg,rgba(4,7,10,.76),rgba(4,7,10,.27)); } }
.beyond-opening .beyond-hero::after { background:linear-gradient(90deg,rgba(4,7,10,.66),rgba(4,7,10,.06) 72%,rgba(4,7,10,.28)); }
.beyond-opening .narrative-intro { background:transparent; }
.beyond-opening { position:relative; isolation:isolate; }
.beyond-opening::before { position:absolute; z-index:0; inset:0; content:""; pointer-events:none; background:linear-gradient(90deg,rgba(4,7,10,.72),rgba(4,7,10,.25) 70%,rgba(4,7,10,.45)); }
.beyond-opening > * { position:relative; z-index:1; }
.beyond-opening .beyond-hero::after { background:none; }
.beyond-opening { overflow:visible; background:url("assets/beyond-lens-hero.jpg") center 29% / cover fixed no-repeat; }
.beyond-opening__image { position:absolute; z-index:0; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center 29%; }
@media (max-width:760px) { .beyond-opening__image { object-position:center 27%; } }
footer { flex-wrap:wrap; gap:14px 24px; }
@media (max-width:760px) { footer { justify-content:flex-start; } footer > span { width:100%; } }
.lightbox { touch-action:pan-y; }
.lightbox-image { user-select:none; -webkit-user-drag:none; }
@media (max-width:760px) {
  .site-header { position:fixed; }
  .collection-header,.collection-header.is-scrolled { position:sticky; top:0; }

  .site-nav {
    transform:none;
    clip-path:inset(0 0 0 100%);
    visibility:hidden;
    pointer-events:none;
    transition:clip-path .35s,visibility 0s linear .35s;
  }
  .site-nav.is-open {
    clip-path:inset(0);
    visibility:visible;
    pointer-events:auto;
    transition:clip-path .35s;
  }

  .lightbox {
    width:100%;
    height:100dvh;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:minmax(0,1fr) auto;
    align-items:center;
    justify-items:center;
    overflow:hidden;
    padding:58px 20px 22px;
  }
  .lightbox.is-open { display:grid; }
  .lightbox-image {
    grid-row:1;
    width:100%;
    height:100%;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
    object-position:center;
  }
  .lightbox-details {
    position:static;
    grid-row:2;
    width:100%;
    padding-top:14px;
    transform:none;
  }
  .lightbox-arrow { padding:12px 8px; }
  .lightbox-prev { left:0; }
  .lightbox-next { right:0; }
  .lightbox-close { top:12px; right:18px; }
}

.site-nav .nav-prints { color:var(--blue); opacity:1; }
.site-nav .nav-prints:hover { color:var(--white); }
.prints > p { max-width:650px; margin:0 0 32px; color:var(--muted); font-size:clamp(1rem,1.6vw,1.2rem); line-height:1.6; }
.prints .button { width:max-content; }
.collection-print-callout { max-width:760px; padding-top:36px; margin-top:42px; border-top:1px solid var(--line); }
.collection-print-callout h2 { max-width:700px; margin-bottom:18px; font-size:clamp(1.75rem,3.2vw,3.25rem); line-height:1; }
.photo-navigation { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:clamp(12px,3vw,32px); margin-top:28px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.photo-navigation__link { display:flex; align-items:center; gap:14px; padding:20px 0; color:var(--white); font-size:.7rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; transition:color .2s; }
.photo-navigation__link:hover { color:var(--blue); }
.photo-navigation__link--next { justify-content:flex-end; text-align:right; }
.photo-navigation__position { color:var(--blue); font-size:.65rem; font-weight:600; letter-spacing:.13em; }
.photo-navigation__link:focus-visible { outline:2px solid var(--blue); outline-offset:5px; }
@media (max-width:760px) {
  .collection-print-callout { padding-top:28px; margin-top:34px; }
  .prints { min-height:auto; }
  .photo-navigation { gap:10px; }
  .photo-navigation__link { gap:7px; padding:17px 0; font-size:.63rem; letter-spacing:.07em; }
  .photo-navigation__position { font-size:.6rem; }
}
