/* Shared photographic layers; existing page components retain their behavior. */
.back-to-top{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:40;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid var(--lavender);border-radius:50%;background:var(--deep);color:var(--paper);box-shadow:0 4px 18px #21172933;cursor:pointer;transition:background-color .2s,color .2s,transform .2s}
.back-to-top[hidden]{display:none}.back-to-top svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.back-to-top:focus-visible{outline:3px solid var(--purple);outline-offset:4px;box-shadow:0 0 0 4px var(--paper)}
@media(hover:hover) and (pointer:fine){.back-to-top:hover{background:var(--lavender);color:var(--deep);transform:translateY(-3px)}}
body.nav-open .back-to-top{visibility:hidden}
@media(max-width:640px){.back-to-top{right:max(16px,env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none!important;transform:none!important}}
.photo-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--deep);color:var(--paper);padding:0}
.photo-hero .hero-scene{position:absolute;inset:0 0 0 auto;width:65%;height:100%;z-index:-2;display:block}
.photo-hero .hero-scene img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:55% 35%;display:block}
.photo-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#2e173c 0%,#2e173c 28%,rgba(46,23,60,.96) 40%,rgba(46,23,60,.66) 55%,rgba(46,23,60,.12) 78%),linear-gradient(0deg,rgba(46,23,60,.6),transparent 45%)}
.photo-hero>.container{position:relative;padding-block:64px;min-height:480px}.photo-hero h1{color:var(--paper);text-wrap:balance}.photo-hero h1 em,.photo-hero .eyebrow,.photo-hero .discussion-kicker{color:var(--lavender)}
.photo-hero .collection-heading{display:block}.photo-hero .collection-heading h1{max-width:12ch}.photo-hero .collection-heading>p{max-width:43ch;margin-top:24px;color:var(--paper);font-size:15px}.photo-hero .collection-inventory{color:var(--lavender)}.photo-hero .collection-links{max-width:55%}.photo-hero .collection-links a{color:var(--paper);border-color:#bda7cb}
.photo-hero .discussion-hero-grid,.photo-hero .heavy-hero-grid{display:block}.photo-hero .discussion-hero-grid>div,.photo-hero .heavy-hero-grid>div{max-width:52%}.photo-hero .discussion-intro{max-width:45ch}.photo-hero .discussion-button{margin-top:24px}.photo-hero .heavy-actions{max-width:480px}
.discussion-feature-wrap{padding-block:40px 0}.discussion-feature-wrap .discussion-feature{background:var(--soft-lavender);color:var(--ink);padding:32px 38px;border:1px solid var(--border);display:grid;grid-template-columns:1fr auto;gap:12px 40px;align-items:center;box-shadow:none}.discussion-feature-wrap .discussion-feature .discussion-wave{display:none}.discussion-feature-wrap .discussion-feature h2{grid-column:1;max-width:40ch;font-size:clamp(25px,2.4vw,34px)}.discussion-feature-wrap .discussion-feature .discussion-kicker,.discussion-feature-wrap .discussion-feature time,.discussion-feature-wrap .discussion-feature>p{color:var(--purple);margin:0}.discussion-feature-wrap .discussion-feature time{grid-column:2;grid-row:1;text-align:right}.discussion-feature-wrap .discussion-feature .discussion-button{grid-column:2;grid-row:2/4;color:var(--purple);border-color:var(--purple);margin:0}.discussion-feature-wrap .discussion-feature .discussion-button:hover{background:var(--purple);color:var(--paper)}
.heavy-context{padding-block:36px}.heavy-context .heavy-intro{display:grid;grid-template-columns:1fr 1fr;gap:16px 50px;border:0;padding:0}.heavy-context .heavy-mark{display:none}.heavy-context .heavy-intro>p{color:var(--muted);margin:0}.heavy-context .text-link{color:var(--purple);margin:0}
.photo-hero-detail>.container{min-height:340px;padding-block:45px}.photo-hero-detail .hero-scene{width:55%}.photo-hero-detail h1{max-width:72%;font-size:clamp(32px,4vw,56px);line-height:1.15}.photo-hero-detail .discussion-intro{max-width:65%;font-size:15px}.photo-hero-detail::after{background:linear-gradient(90deg,#2e173c 0%,rgba(46,23,60,.97) 45%,rgba(46,23,60,.85) 62%,rgba(46,23,60,.36) 100%)}
.contact-photo-hero h1{max-width:13ch;font-size:clamp(44px,5.4vw,72px);line-height:1.12;margin:16px 0 24px}.contact-photo-hero>.container>p:not(.eyebrow){max-width:43ch;font-size:15px;color:var(--paper)}.contact-photo-hero .text-link{color:var(--paper);margin-top:24px;border-color:var(--lavender)}.contact-panel{scroll-margin-top:100px}.contact-intro h2{margin-top:12px;font-size:clamp(32px,3.5vw,46px)}
.photo-hero-video::after{background:linear-gradient(90deg,#2e173c 0%,rgba(46,23,60,.95) 38%,rgba(46,23,60,.65) 100%)}.photo-hero-video>.container{padding-block:38px 54px}.photo-hero-video .video-masthead{position:relative}.photo-hero-video .video-feature-caption{background:rgba(46,23,60,.92);padding:22px}.photo-hero-video .video-feature-caption h2{font-size:clamp(24px,2.2vw,32px)}
.photo-footer.site-footer{position:relative;isolation:isolate;overflow:hidden;background:#25172e;color:#f8f4ed;padding:0;border:0}.photo-footer .footer-scene{position:absolute;inset:0;z-index:-2;display:block}.photo-footer .footer-scene img{width:100%;height:100%;object-fit:cover;object-position:60% 30%;max-width:none}
.photo-footer::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(32,17,42,.97),rgba(32,17,42,.91) 30%,rgba(32,17,42,.3) 67%,rgba(32,17,42,.18)),linear-gradient(0deg,#25172e 0%,rgba(37,23,46,.98) 22%,rgba(37,23,46,.2) 65%)}
.photo-footer .footer-invitation{padding-block:76px 64px}.photo-footer .eyebrow{font:700 11px/1.6 var(--sans);letter-spacing:.14em;color:#d6bce7;margin-bottom:24px}.photo-footer h2{font:450 clamp(44px,4.8vw,68px)/1.08 var(--serif);letter-spacing:-.035em;max-width:15ch;margin:0;color:#f8f4ed}.photo-footer h2 em{color:#d6bce7}.photo-footer .footer-deck{font:14px/1.8 var(--sans);margin-top:25px;color:#f0e6f5;max-width:40ch}.photo-footer .footer-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:28px}.photo-footer .button{background:#d6bce7;color:#2e173c;border:1px solid #d6bce7;min-height:48px;font:600 12px/1.5 var(--sans);padding:15px 21px;gap:22px}.photo-footer .button:hover{background:#f8f4ed;color:#2e173c;text-decoration:none}.photo-footer .footer-message{font:600 12px/1.6 var(--sans);display:inline-flex;align-items:center;gap:24px;border-bottom:1px solid #ae94bd;min-height:48px;color:#f8f4ed}
.photo-footer .footer-directory{display:grid;grid-template-columns:1.65fr 1fr 1fr .7fr;gap:40px;border-top:1px solid #ab8fbd66;padding-top:38px;padding-bottom:26px}.photo-footer .wordmark{color:#f8f4ed;font-size:29px;display:inline-block;min-height:44px}.photo-footer .wordmark em{color:#d6bce7}.photo-footer .footer-identity p{font:12px/1.8 var(--sans);color:#ded0e7;margin-top:8px}.photo-footer .footer-identity p:last-child{margin-top:18px;max-width:36ch}.photo-footer .footer-directory h3{font:700 10px/1.6 var(--sans);text-transform:uppercase;letter-spacing:.12em;color:#d6bce7;margin:0 0 12px}.photo-footer .footer-directory nav a{display:flex;align-items:center;font:12px/1.6 var(--sans);min-height:44px;width:fit-content;color:#f8f4ed}.photo-footer a:hover{color:#fff;text-underline-offset:5px}.photo-footer a:focus-visible{outline:2px solid #f8f4ed;outline-offset:5px}.photo-footer .footer-bottom{margin-top:0;padding-block:20px 25px;padding-inline-end:calc(80px + env(safe-area-inset-right));border-color:#ab8fbd66;color:#ded0e7;font:10px/1.8 var(--sans)}
@media(min-width:761px){.photo-hero .collection-heading>p,.photo-hero .collection-inventory{max-width:48%}.photo-hero .collection-heading h1{font-size:clamp(46px,5.3vw,74px)}}
@media(max-width:1000px){.photo-footer .footer-directory{grid-template-columns:1.5fr 1fr 1fr;gap:25px}.photo-footer .footer-directory nav:last-child{grid-column:2/4}.photo-hero .discussion-hero-grid>div,.photo-hero .heavy-hero-grid>div{max-width:60%}.photo-hero-detail h1{max-width:80%}}
@media(max-width:760px){
.photo-hero .hero-scene{position:relative;inset:auto;width:100%;height:260px}.photo-hero .hero-scene img{object-position:50% 30%}.photo-hero::after,.photo-hero-detail::after,.photo-hero-video::after{inset:0 0 auto;height:261px;background:linear-gradient(0deg,#2e173c 0%,rgba(46,23,60,.08) 45%,rgba(46,23,60,.08))}.photo-hero>.container{padding-block:22px 40px;min-height:0}.photo-hero .collection-heading h1{font-size:clamp(44px,8vw,62px);max-width:15ch}.photo-hero .collection-links,.photo-hero .discussion-hero-grid>div,.photo-hero .heavy-hero-grid>div,.photo-hero-detail h1,.photo-hero-detail .discussion-intro{max-width:100%}.photo-hero .collection-heading>p{font-size:14px;max-width:47ch}.photo-hero .discussion-hero-grid h1{font-size:clamp(42px,8vw,62px)}.photo-hero .discussion-hero-grid h1 em br{display:none}.photo-hero .heavy-hero-grid h1{font-size:72px}.photo-hero-detail .hero-scene{height:190px}.photo-hero-detail::after{height:191px}.photo-hero-detail h1{font-size:clamp(30px,6vw,42px)}.photo-hero-detail .discussion-kicker{font-size:11px;margin-top:18px}.photo-hero-detail .discussion-back{margin-bottom:10px}
.discussion-feature-wrap{padding-top:26px}.discussion-feature-wrap .discussion-feature{display:flex;flex-direction:column;align-items:flex-start;padding:24px;gap:15px}.discussion-feature-wrap .discussion-feature time{text-align:left}.discussion-feature-wrap .discussion-feature .discussion-button{margin-top:6px}.heavy-context{padding-block:28px}.heavy-context .heavy-intro{display:block}.heavy-context .heavy-intro>p{margin-bottom:20px}.contact-photo-hero h1{font-size:clamp(40px,7.5vw,58px)}.contact-page{padding-top:38px}.photo-hero-video .video-masthead{padding-top:0}.photo-hero-video>.container{padding-top:20px}.photo-hero-video .video-feature-caption{padding-inline:0}
.photo-footer .footer-scene{height:420px}.photo-footer .footer-scene img{object-position:58% 20%}.photo-footer::after{background:linear-gradient(0deg,#25172e 0%,#25172e calc(100% - 430px),rgba(37,23,46,.75) calc(100% - 290px),rgba(37,23,46,.06) 100%)}.photo-footer .footer-invitation{padding-block:275px 38px}.photo-footer h2{font-size:clamp(42px,7.2vw,56px);max-width:17ch}.photo-footer .footer-directory{grid-template-columns:1fr 1fr;gap:28px 22px;padding-top:30px}.photo-footer .footer-identity{grid-column:1/-1}.photo-footer .footer-directory nav:last-child{grid-column:auto}.photo-footer .footer-bottom{flex-direction:column;gap:8px;padding-bottom:25px}.photo-footer .footer-actions{gap:15px 24px}.photo-footer .footer-invitation .eyebrow{max-width:30ch}
}

/* Match the navigation's gentle letter wave without changing link names. */
.photo-footer .footer-label,.photo-footer .footer-wave,.photo-footer .footer-wave>span{display:inline-block}
.photo-footer .footer-wave{white-space:nowrap}
.photo-footer .footer-readable{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(hover:hover) and (pointer:fine){.photo-footer a:hover .footer-wave>span{animation:eccles-nav-wave 440ms ease-in-out var(--letter-delay,0ms) 1 both}}
.photo-footer a:focus-visible .footer-wave>span{animation:eccles-nav-wave 440ms ease-in-out var(--letter-delay,0ms) 1 both}
@media(prefers-reduced-motion:reduce){.photo-footer .footer-wave>span{animation:none!important;transform:none!important}}
.photo-footer .footer-wave>span:nth-child(1){--letter-delay:0ms}
.photo-footer .footer-wave>span:nth-child(2){--letter-delay:18ms}
.photo-footer .footer-wave>span:nth-child(3){--letter-delay:36ms}
.photo-footer .footer-wave>span:nth-child(4){--letter-delay:54ms}
.photo-footer .footer-wave>span:nth-child(5){--letter-delay:72ms}
.photo-footer .footer-wave>span:nth-child(6){--letter-delay:90ms}
.photo-footer .footer-wave>span:nth-child(7){--letter-delay:108ms}
.photo-footer .footer-wave>span:nth-child(8){--letter-delay:126ms}
.photo-footer .footer-wave>span:nth-child(9){--letter-delay:144ms}
.photo-footer .footer-wave>span:nth-child(10){--letter-delay:162ms}
.photo-footer .footer-wave>span:nth-child(11){--letter-delay:180ms}
.photo-footer .footer-wave>span:nth-child(12){--letter-delay:198ms}
.photo-footer .footer-wave>span:nth-child(13){--letter-delay:216ms}
.photo-footer .footer-wave>span:nth-child(14){--letter-delay:234ms}
.photo-footer .footer-wave>span:nth-child(15){--letter-delay:252ms}
.photo-footer .footer-wave>span:nth-child(16){--letter-delay:270ms}
.photo-footer .footer-wave>span:nth-child(17){--letter-delay:288ms}
.photo-footer .footer-wave>span:nth-child(18){--letter-delay:306ms}
.photo-footer .footer-wave>span:nth-child(19){--letter-delay:324ms}
.photo-footer .footer-wave>span:nth-child(20){--letter-delay:342ms}
.photo-footer .footer-wave>span:nth-child(21){--letter-delay:360ms}
.photo-footer .footer-wave>span:nth-child(22){--letter-delay:378ms}
.photo-footer .footer-wave>span:nth-child(23){--letter-delay:396ms}
.photo-footer .footer-wave>span:nth-child(24){--letter-delay:414ms}
.photo-footer .footer-wave>span:nth-child(25){--letter-delay:432ms}
.photo-footer .footer-wave>span:nth-child(26){--letter-delay:450ms}
