/* Study 06: centered compositions, portrait framing and a quieter footer. */
.iris-hero .statement{top:50%;transform:translate(-50%,-50%)}
.editorial-bridge,.home-selected{padding-left:max(6vw,calc((100% - 1060px)/2));padding-right:max(6vw,calc((100% - 1060px)/2));gap:clamp(35px,5vw,78px);align-items:center}
.editorial-bridge-copy,.home-selected .home-section-heading{align-self:center;min-width:0}
.editorial-bridge h2{font-size:clamp(42px,5.3vw,76px);line-height:1.06;white-space:pre-line}
.editorial-bridge .bridge-body{font-size:18px;line-height:1.8;max-width:420px;margin:25px 0 30px}
.editorial-bridge .pill-link{margin-top:0;color:inherit;border-color:currentColor}
.editorial-bridge-photo{max-width:440px}
.home-selected .home-section-heading h2{font-size:clamp(43px,5.8vw,82px)}
/* Portrait introduction: one generous heading and one concise paragraph. */
.introduction,html[data-layout=b] .introduction{background:var(--paper);display:block;width:100%;max-width:1060px;margin:0 auto;padding:100px 28px 105px}
.introduction>.eyebrow{margin:0 0 28px}
.introduction h2{font-size:clamp(40px,5.4vw,78px);line-height:1.07;white-space:pre-line;max-width:100%;margin:0 0 28px}
.introduction p:not(.eyebrow){max-width:660px;margin:0;line-height:1.85}
/* Reserve the subtle zoom's footprint so even the hover does not crop originals. */
html[data-layout=a] .gallery-card,html[data-layout=b] #gallery .gallery-card,html[data-layout=b] #gallery .gallery-card:nth-of-type(even),html[data-layout=b] #gallery .gallery-card.wide,html[data-layout=b] #more-gallery .gallery-card{aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;background:transparent}
html[data-layout=a] .gallery-card img,html[data-layout=b] .gallery-card img{width:93.45794%;height:93.45794%;aspect-ratio:auto;object-fit:contain;object-position:center;background:transparent;transition:transform .6s ease-out;filter:none}
@media(hover:hover) and (pointer:fine){html[data-layout] .gallery-card:hover img{transform:scale(1.07);filter:none}}
/* Session and its invitation read as one continuous block. */
body[data-page=portrait] .session-section{margin-bottom:0;padding-bottom:65px}
body[data-page=portrait] .contact-section{background:var(--paper-section);margin-top:0;padding-top:65px}
body[data-page=portrait] .portrait-stories{background:var(--paper);padding-top:90px}
/* Same outer boundaries for footer copy, optional photographs and legal line. */
.expanded-footer{padding-left:max(25px,calc((100% - 960px)/2));padding-right:max(25px,calc((100% - 960px)/2));padding-top:50px}
.footer-main{gap:clamp(35px,5vw,65px)}
.footer-link-columns{grid-template-columns:1.25fr 1fr;gap:22px}
.footer-images[hidden]{display:none}
.footer-logo{transition:opacity .45s ease-out,visibility 0s;display:inline-block}
.footer-logo-hidden{pointer-events:none;visibility:hidden;transition:opacity .45s ease-out,visibility 0s .45s}
.footer-bottom{grid-template-columns:auto minmax(0,1fr) auto;gap:18px}
.footer-bottom .legal-links{gap:14px}
/* Customer access: circle in the header, labelled pill in the menu. */
.profile-button{width:44px;height:44px;min-width:44px;border:1px solid currentColor;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:10px;color:inherit;background:transparent}
.profile-button svg,.menu-login svg{width:23px;height:23px;flex:none}
.menu-left{display:flex;flex-direction:column;align-items:flex-start}
.menu-actions{margin-top:auto;padding-top:65px;width:100%;display:flex;flex-direction:column;align-items:flex-start}
.menu-login{display:inline-flex;align-items:center;justify-content:center;gap:13px;border:1px solid currentColor;border-radius:999px;padding:12px 24px;min-height:50px;font-size:16px;color:inherit}
.menu-actions .menu-contact{margin-top:18px}
.menu-actions .social-links{margin-top:18px}
.menu-actions .legal-links{margin-top:14px;margin-bottom:0}
.menu-highlights{margin-bottom:0}
#login-dialog{width:min(520px,calc(100% - 40px));padding:55px 35px 35px;background:var(--paper);color:var(--ink);border:0}
#login-dialog::backdrop{background:#0005}
#login-dialog h2{font-size:48px;line-height:1.1;font-weight:300;margin:20px 0}
#login-dialog p:not(.eyebrow){font-size:16px;line-height:1.8}
.login-close{position:absolute;right:15px;top:10px;font-size:28px;width:44px;height:44px}
.login-done{margin-top:20px}
@media(max-width:1180px){body:not([data-page=home]) .desktop-nav{display:none}body:not([data-page=home]) .mobile-menu{display:block}.header-tools{gap:10px}}
@media(max-width:900px){.footer-bottom{grid-template-columns:1fr auto}.footer-bottom .legal-links{grid-column:1/-1;grid-row:2;flex-wrap:wrap}.footer-bottom .back-top{grid-column:2;grid-row:1}.editorial-bridge,.home-selected{padding-left:6vw;padding-right:6vw;gap:5vw}.editorial-bridge h2{font-size:clamp(38px,5.3vw,58px)}.home-selected .home-section-heading h2{font-size:clamp(38px,5.8vw,64px)}}
@media(max-width:600px){:root{--header-logo-width:124px}.site-header,body[data-page=home] .site-header{padding-left:16px;padding-right:16px;gap:8px}.header-tools{gap:6px}.language summary{padding:10px 5px;font-size:10px;gap:5px}.profile-button{width:40px;height:40px;min-width:40px;padding:9px}.profile-button svg{width:21px;height:21px}.home-menu{font-size:10px;gap:6px}.home-menu .menu-lines{width:21px}.iris-hero .statement{top:50%;width:88%}.editorial-bridge,.home-selected{padding:65px 26px;gap:38px}.editorial-bridge h2{font-size:44px}.editorial-bridge .bridge-body{font-size:17px}.editorial-bridge-photo{justify-self:center;max-width:400px}.home-selected .home-section-heading h2{font-size:clamp(39px,10.5vw,60px)}.introduction,html[data-layout=b] .introduction{padding:65px 26px 75px;margin:0 auto}.introduction h2{font-size:clamp(32px,8.5vw,48px)}.introduction>.eyebrow{margin-bottom:23px}body[data-page=portrait] .session-section{padding-bottom:38px}body[data-page=portrait] .contact-section{padding-top:38px}body[data-page=portrait] .portrait-stories{padding-top:65px}.menu-actions{margin-top:0;padding-top:35px}.footer-link-columns{gap:18px}.footer-bottom .legal-links{gap:4px 14px}.expanded-footer{padding-top:45px}.footer-main{padding-bottom:28px}}
@media(max-width:360px){:root{--header-logo-width:94px}.site-header,body[data-page=home] .site-header{padding-left:12px;padding-right:12px;gap:5px}.header-tools{gap:4px}.language summary{font-size:9px;padding:10px 4px}.home-menu{font-size:9px}.home-menu .menu-lines{width:18px}.footer-link-columns{grid-template-columns:1.2fr 1fr;gap:12px}.footer-explore a,.footer-explore button{font-size:14px}}
@media(prefers-reduced-motion:reduce){.footer-logo{transition:none}html[data-layout] .gallery-card:hover img{transform:none}html[data-layout] .gallery-card img{transition:none}}

.portrait-session-group{background:var(--paper-section)}
