/* Content-based breakpoints; no device detection or external assets. */
:root{--bg:#111b19;--panel:#1a2723;--text:#f1eee4;--muted:#b6bcb3;--accent:#d6bc82;--gutter:clamp(20px,5vw,90px);--content:1540px}
html{-webkit-text-size-adjust:100%;scroll-padding-top:24px}body{background:radial-gradient(ellipse at 95% 40%,#23312a55,transparent 55%),var(--bg);line-height:1.65}button,a,input,textarea{-webkit-tap-highlight-color:transparent}main{min-width:0}button{touch-action:manipulation}a,button{touch-action:manipulation}input,textarea{max-width:100%}
.header{padding:26px max(var(--gutter),env(safe-area-inset-left));background:#101916;border-bottom:1px solid #d6bc8224}.brand{font-size:clamp(25px,2.2vw,34px)}.brand span{font-size:10px;letter-spacing:2.2px}.header nav{gap:24px;align-items:center}.header nav a{display:flex;align-items:center;min-height:44px;font-size:14px}.preview{font-size:12px;line-height:1.5;padding:9px max(16px,env(safe-area-inset-left));gap:6px 20px}.preview a{display:inline-flex;align-items:center;min-height:32px}
.hero{height:clamp(580px,80svh,920px);min-height:0;background:#172b29}.hero-shade{background:linear-gradient(90deg,#0c191ad4 0%,#11242166 45%,#1329270d 80%),linear-gradient(0deg,#101b19a3,transparent 38%)}.hero-copy{padding:clamp(65px,8vh,125px) max(var(--gutter),calc((100% - var(--content))/2)) 110px}.hero h1{font-size:clamp(92px,9.5vw,156px);letter-spacing:-5px;line-height:.93;text-shadow:0 4px 40px #08201b3d}.hero h1 em{color:#e6d4a8}.hero-tagline{font:clamp(18px,1.65vw,25px)/1.5 Georgia,serif;margin-top:27px;color:#e4e9df}.hero-byline{font-size:13px;letter-spacing:1.5px;margin:18px 0 28px;color:#d9e0d7}.hero .eyebrow{font-size:11px;letter-spacing:2px;margin-bottom:25px}.outline-link{font-size:13px;min-height:48px;padding:12px 20px;gap:38px;background:#101c192b;border-color:#e0e5d066}.hero-index{left:var(--gutter);font-size:10px;letter-spacing:1.8px}.hero-caption{right:var(--gutter);font-size:14px;max-width:40%}.hero-caption span{font-size:12px}
.section{width:100%;max-width:calc(var(--content) + 2 * var(--gutter));margin-inline:auto;padding:clamp(52px,7vw,104px) var(--gutter)}.section-head{margin-bottom:35px;gap:25px}.section-head h2{font-size:clamp(40px,4.5vw,64px)}.section-head>p{font-size:15px}.eyebrow{font-size:11px;letter-spacing:2px}.selected{padding-top:12px}.collection-grid,.collection-grid:has(.collection-card:only-child){grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}.collection-card{border-bottom:1px solid #d6bc8233;padding-bottom:24px;min-width:0}.collection-card img,.collection-card:only-child img{aspect-ratio:1.65;max-height:460px;object-fit:cover}.card-label{display:block;padding:22px 0 0}.card-label h3{font-size:clamp(30px,3vw,45px);margin:8px 0 20px}.card-label>span{display:flex;gap:20px;justify-content:space-between;color:var(--muted);font-size:13px}.collection-kicker{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--accent)}.collection-open{color:var(--accent)}.collection-description{font-size:15px;line-height:1.75;color:var(--muted);margin:0 0 24px;max-width:42ch}.collection-card:only-child{display:grid;grid-template-columns:1.45fr 1fr;align-items:center;grid-column:1/-1;background:linear-gradient(120deg,#20332b70,#20332b15);padding:0;border:1px solid #d6bc8224}.collection-card:only-child .card-label{padding:clamp(24px,4vw,64px)}.collection-card:only-child img,.collection-card:only-child .image-placeholder{width:100%;height:100%;min-height:320px;max-height:460px;aspect-ratio:auto}.collection-card:only-child h3{font-size:clamp(38px,4.5vw,65px)}
.photo-grid{columns:3;column-gap:32px}.photo-grid figure{margin-bottom:34px}.photo-frame{background:none;overflow:hidden}.photo-frame img{border-radius:2px;transition:filter .25s}.photo-grid figcaption{font-size:15px;padding-top:14px;gap:8px;line-height:1.5}.photo-grid figcaption span+span{font-size:13px}.author-strip{max-width:var(--content);margin:12px auto 80px;padding:65px var(--gutter) 0;border-top:1px solid #d6bc8233}.author-strip h2{font-size:clamp(38px,4.5vw,64px)}.author-strip .text-link{min-height:44px;padding-block:8px;font-size:14px}.footer{padding:35px var(--gutter) max(28px,env(safe-area-inset-bottom));gap:20px}.footer p,.footer>a:last-child{font-size:12px}.footer>a:last-child{min-height:44px;display:flex;align-items:center}
.page-title{font-size:clamp(44px,6.5vw,90px);letter-spacing:-1.5px}.page-top{padding-top:50px}.back{font-size:14px;min-height:44px}.prose{font-size:17px}.request-layout{gap:7%}.field input,.field textarea{font-size:16px;min-height:48px;padding:13px 15px}.field label{font-size:14px}.consent{font-size:13px;line-height:1.65}.consent input{min-width:20px;min-height:20px}.form-note,.notice{font-size:13px}.button{min-height:48px;font-size:14px;white-space:normal;text-align:center}.full-photo{height:72vh;height:72svh}.photo-page{max-width:1760px;margin:auto}.photo-info>div{min-width:0}.photo-info h1{overflow-wrap:anywhere}.expand-photo{min-height:44px}
.viewer{height:100%;height:100dvh;padding: max(14px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:radial-gradient(ellipse at center,#17221b,#0c120f 75%);overflow:hidden;gap:10px}.viewer-stage{min-height:0}.viewer-image-wrap{min-width:0}.viewer-image-wrap img{filter:drop-shadow(0 8px 28px #0005)}.viewer-top{min-height:44px}.viewer button{min-width:48px;min-height:48px;border-color:#ffffff38}.viewer-bottom{padding-inline:68px;min-width:0;gap:25px}.viewer-bottom>div{min-width:0}.viewer-bottom h2{font-size:clamp(20px,2vw,30px);max-width:45ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-bottom p{font-size:13px}.viewer-help{font-size:11px}.viewer-count{font-size:13px}.viewer-links{flex-shrink:0}.viewer-load{font-size:13px;max-width:80%}
@media(min-width:1800px){.photo-grid{column-gap:40px}.section{padding-top:90px;padding-bottom:90px}.selected{padding-top:0}}
@media(max-width:1100px){.photo-grid{columns:2}.viewer-bottom{padding-inline:0}.viewer-stage{gap:12px}.collection-card:only-child{grid-template-columns:1.25fr 1fr}.collection-card:only-child .card-label{padding:28px}.header nav{gap:18px}}
@media(max-width:760px){.header{padding:18px max(20px,env(safe-area-inset-left));gap:15px;align-items:center}.header nav{max-width:none;gap:12px}.brand{font-size:25px}.brand span{letter-spacing:1.6px;font-size:9px}.header nav a{font-size:13px}.hero{height:660px;height:min(760px,86svh);min-height:540px}.hero-copy{padding:58px var(--gutter) 110px}.hero h1{font-size:clamp(90px,16vw,120px);letter-spacing:-4px}.hero-tagline{max-width:19ch;font-size:21px}.hero .eyebrow{font-size:9px;letter-spacing:1.7px}.hero-caption{bottom:25px;font-size:12px}.hero-index{display:none}.section-head{align-items:start;flex-direction:column;gap:12px}.section-head .eyebrow{margin-bottom:16px}.collection-grid,.collection-grid:has(.collection-card:only-child){grid-template-columns:1fr}.collection-card:only-child{grid-template-columns:1fr}.collection-card:only-child img{height:auto;aspect-ratio:1.65;min-height:0;max-height:none}.collection-card:only-child .card-label{padding:26px}.collection-card:only-child h3{font-size:42px}.photo-grid{column-gap:20px}.photo-grid figcaption{font-size:14px}.photo-grid figcaption span+span{font-size:12px}.request-layout,.about-layout{grid-template-columns:1fr;gap:35px}.form-title{font-size:44px}.request-image{max-height:300px}.photo-info{flex-direction:column;gap:24px}.photo-info>.button{width:100%}.footer{align-items:start;gap:12px 20px}.preview{justify-content:flex-start;font-size:11px}.preview a{min-height:32px}.viewer{padding: max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));gap:6px}.viewer-stage{display:flex;position:relative}.viewer-image-wrap{width:100%}.viewer-arrow{position:absolute;bottom:10px;z-index:1;background:#0c120fd9!important}.viewer-arrow:first-child{left:0}.viewer-arrow:last-child{right:0}.viewer-bottom{padding:6px 0 0;flex-direction:column;align-items:stretch;gap:12px}.viewer-bottom h2{font-size:23px}.viewer-links{justify-content:space-between;gap:15px}.viewer-links .button{min-height:46px;font-size:13px;padding:12px 14px}.viewer-help{font-size:10px;line-height:1.4}.viewer-brand{font-size:22px}.viewer-count{font-size:12px;letter-spacing:1px}}
@media(max-width:480px){.photo-grid{columns:1}.photo-grid figure{margin-bottom:32px}.header nav{gap:5px;justify-content:flex-end;flex-wrap:wrap;max-width:46%}.header nav a{font-size:12px;padding-inline:4px;min-height:40px}.brand{font-size:23px}.brand span{font-size:8px}.hero{min-height:550px}.hero-copy{padding-top:52px}.hero h1{font-size:92px}.hero-tagline{font-size:20px}.hero-byline{font-size:12px;margin-block:18px 26px}.hero .eyebrow{max-width:26ch;font-size:10px;line-height:1.6}.hero-caption{max-width:48%;font-size:12px}.section{padding-block:50px}.selected{padding-top:6px}.section-head h2{font-size:43px}.section-head>p{font-size:14px}.collection-card:only-child h3{font-size:38px}.collection-card:only-child .card-label{padding:24px 20px}.author-strip{padding-top:42px;margin-bottom:50px}.page-title{font-size:46px}.form-title{font-size:39px}.footer .brand{font-size:25px}.viewer-top{gap:8px}.viewer-actions{gap:6px}.viewer button{min-width:44px;min-height:44px}.viewer-brand{font-size:20px}.viewer-bottom h2{font-size:21px}.viewer-links .text-link{font-size:13px}.viewer-bottom p{font-size:12px}}
@media(max-height:520px) and (orientation:landscape){.hero{height:auto;min-height:580px}.viewer{grid-template-rows:40px minmax(0,1fr) 50px;gap:3px;padding-top:max(4px,env(safe-area-inset-top));padding-bottom:max(4px,env(safe-area-inset-bottom))}.viewer-help{display:none}.viewer-top{min-height:36px}.viewer button{min-width:38px;min-height:38px;font-size:24px}.viewer-stage{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:12px}.viewer-arrow{position:static}.viewer-bottom{flex-direction:row;align-items:center;gap:18px;padding:0}.viewer-bottom h2{font-size:17px;max-width:35vw}.viewer-bottom p{display:none}.viewer-links{width:auto;gap:16px}.viewer-links .button{min-height:38px;padding:7px 12px;font-size:12px}.viewer-brand{font-size:19px}}
@media(max-width:480px){.hero .eyebrow{max-width:100%;font-size:9px;letter-spacing:1.2px}.hero{height:min(680px,78svh);min-height:560px}}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:arrive .7s ease-out both}.collection-card img{transition:filter .3s}.outline-link:hover{background:#ffffff12}@keyframes arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}
