.photography-showcase{border-block:1px solid #38523e;background:radial-gradient(ellipse at 10% 30%,#3856351c,transparent 48%),#0b1c14}
.photography-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:32px}
.photography-heading .eyebrow{color:var(--accent)}
.photography-heading h2{font-size:clamp(36px,4.1vw,64px);letter-spacing:-.05em;line-height:1.08;margin-top:21px}
.photography-intro{font-size:14px;line-height:1.85;max-width:355px;color:var(--muted)}
.photography-collections{display:flex;flex-wrap:wrap;gap:10px 28px;margin-bottom:51px}
.photography-collections a{display:inline-flex;align-items:center;gap:17px;min-height:44px;font-size:11px;line-height:1.6;border-bottom:1px solid #58764d;color:#cadbbd}
.photography-collections a:hover{color:#f1f5df;border-color:#c8dfad}
.photography-series{scroll-margin-top:140px;padding-block:44px 52px;border-top:1px solid #40583f;min-width:0}
.photography-anchor{display:block;scroll-margin-top:inherit}
.photography-series:last-of-type{padding-bottom:20px}
.photography-series-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;margin-bottom:27px}
.photography-series-name{display:flex;align-items:flex-start;gap:22px;max-width:700px;min-width:0}
.photography-series-number{font:12px/1.8 Consolas,monospace;color:#a6bd8d;padding-top:3px}
.photography-series-heading .eyebrow{color:#c0d3a8}
.photography-series-heading h3{font-size:clamp(26px,2.9vw,43px);line-height:1.15;letter-spacing:-.04em;margin-top:12px;overflow-wrap:break-word}
.photography-series-heading>p{max-width:375px;font-size:12px;line-height:1.85;color:var(--muted);padding-top:4px}
.photography-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;align-items:start}
.photography-photo{margin:0;min-width:0}
.photography-image-link{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:var(--photo-aspect,4/5);padding:11px;border:1px solid #526749;border-radius:12px;background:linear-gradient(135deg,#1f3120,#0a1b12);box-shadow:0 15px 35px #0003;overflow:hidden;transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}
.photography-image-link img{width:100%;height:100%;object-fit:contain;border-radius:4px}
.photography-image-link:hover{transform:translateY(-4px);border-color:#b0c891;box-shadow:0 20px 48px #0005}
.photography-image-link:focus-visible{outline-offset:5px;border-color:#d6e8b6}
.photography-open{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 13px;border:1px solid #c4d9ac80;border-radius:24px;background:#0b2116d9;color:#edf3da;font-size:9px;line-height:1.5;white-space:nowrap;backdrop-filter:blur(8px)}
.photography-open svg{width:16px;height:16px;flex-shrink:0}
.photography-photo figcaption{display:flex;align-items:flex-start;gap:15px;margin-top:15px;color:#afc1ac;font-size:11px;line-height:1.8}
.photography-photo-index{font:9px/2 Consolas,monospace;color:#d2e2b5;flex-shrink:0}
.photography-motion{display:grid;grid-template-columns:1fr 1.2fr;gap:38px;align-items:center;margin-top:36px;padding:25px;border:1px solid #4b6949;border-radius:12px;background:#142a1c}
.photography-motion h4{font-size:26px;line-height:1.25;letter-spacing:-.035em;margin:14px 0}
.photography-motion p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.8}
.photography-video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#050e09;border-radius:8px}
.photography-video-portrait{aspect-ratio:9/16;width:min(100%,340px);justify-self:center}
.photography-footnote{font-size:11px;line-height:1.85;max-width:680px;margin-top:30px;color:#9bb098}
.photography-inquiry{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid #40583f;padding-top:29px;margin-top:30px}
.photography-inquiry>div{max-width:630px}
.photography-inquiry .eyebrow{color:var(--accent);margin-bottom:8px}
.photography-inquiry p:not(.eyebrow){font-size:12px;line-height:1.85;color:var(--muted)}
.photography-inquiry .button{flex-shrink:0}
.photography-dialog{box-sizing:border-box;width:min(1250px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:23px;border:1px solid #7d9767;border-radius:13px;color:var(--ink);background:#0c1d14;overflow:auto}
.photography-dialog::backdrop{background:#010804ed}
.photography-dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:17px}
.photography-dialog-heading .eyebrow{color:#c1d6a9;font-size:9px}
.photography-dialog-heading h2{font-size:20px;line-height:1.4;letter-spacing:-.02em;margin-top:5px}
.photography-dialog-close{display:inline-flex;justify-content:center;align-items:center;gap:13px;flex-shrink:0;min-height:44px;padding:7px 17px;border:1px solid #708767;border-radius:23px;background:#1b3020;font-size:11px;line-height:1.5}
.photography-dialog-close>span{font-size:22px;line-height:1}
.photography-dialog-close:hover{background:#dbe8c5;border-color:#dbe8c5;color:#122a1b}
.photography-dialog-frame{display:flex;align-items:center;justify-content:center;width:100%;height:clamp(220px,calc(100dvh - 254px),770px);border:1px solid #304a33;border-radius:7px;background:#040d08;overflow:hidden}
.photography-dialog-frame img{display:block;width:100%;height:100%;object-fit:contain}
.photography-dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:16px}
.photography-dialog-footer>p{font-size:12px;line-height:1.8;color:#c4d0be;max-width:800px}
.photography-dialog-navigation{display:flex;align-items:center;gap:15px;flex-shrink:0}
.photography-dialog-navigation button{display:grid;place-items:center;width:44px;height:44px;background:#1e3423;border:1px solid #6d8c61;border-radius:50%}
.photography-dialog-navigation button svg{width:21px;height:21px}
.photography-dialog-navigation button:hover{background:#355338;border-color:#bfda9e}
.photography-dialog-navigation button:disabled{opacity:.4;cursor:default}
.photography-dialog-navigation p{font:11px/1.6 Consolas,monospace;color:#d5e4b9;min-width:47px;text-align:center}
.photography-dialog-hint{margin-top:12px;font-size:10px;line-height:1.8;color:#8da184}
@media(max-width:1050px){.photography-heading{gap:30px}.photography-intro{max-width:290px;font-size:13px}.photography-grid{gap:18px}.photography-series-heading{gap:28px}.photography-series-heading>p{max-width:300px}.photography-series-name{gap:15px}.photography-image-link{padding:8px}.photography-photo figcaption{gap:10px;font-size:10px}.photography-motion{gap:27px}}
@media(max-width:700px){.photography-heading{display:block;margin-bottom:24px}.photography-heading h2{font-size:clamp(34px,9vw,47px);margin-top:18px}.photography-intro{font-size:13px;max-width:530px;margin-top:24px}.photography-collections{gap:9px 21px;margin-bottom:28px}.photography-collections a{font-size:10px;gap:12px}.photography-series{padding-block:30px 37px;scroll-margin-top:110px}.photography-series-heading{display:block;margin-bottom:22px}.photography-series-name{gap:13px}.photography-series-heading h3{font-size:31px;line-height:1.17;margin-top:10px}.photography-series-number{font-size:10px;padding-top:1px}.photography-series-heading>p{max-width:550px;font-size:12px;margin:17px 0 0 27px;padding:0}.photography-grid{grid-template-columns:1fr;gap:26px}.photography-image-link{aspect-ratio:var(--photo-aspect,4/5);padding:9px;border-radius:10px}.photography-open{min-height:42px;bottom:18px;font-size:10px;padding-inline:16px}.photography-photo figcaption{font-size:11px;gap:13px;margin-top:12px}.photography-photo-index{font-size:9px}.photography-footnote{font-size:10px;margin-top:24px}.photography-inquiry{display:block;margin-top:24px;padding-top:23px}.photography-inquiry .button{margin-top:20px;max-width:100%}.photography-motion{grid-template-columns:1fr;gap:22px;padding:21px;margin-top:27px}.photography-motion h4{font-size:24px}.photography-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);padding:14px;border-radius:9px}.photography-dialog-heading{gap:12px;margin-bottom:13px}.photography-dialog-heading h2{font-size:16px}.photography-dialog-heading .eyebrow{font-size:8px}.photography-dialog-close{padding-inline:12px;gap:9px;font-size:10px}.photography-dialog-close>span{font-size:20px}.photography-dialog-frame{height:clamp(160px,calc(100dvh - 296px),630px)}.photography-dialog-footer{display:block;margin-top:13px}.photography-dialog-footer>p{font-size:11px}.photography-dialog-navigation{justify-content:center;gap:20px;margin-top:15px}.photography-dialog-hint{text-align:center;font-size:9px;margin-top:13px}}
@media(prefers-reduced-motion:reduce){.photography-image-link{transition:none}.photography-image-link:hover{transform:none}}
