/* The established header cream is the global paper; a close warm shade separates sections. */
:root{--paper:#f9f7f4;--paper-section:#f2f0ec;--menu-paper:#fff;--header-logo-width:205px}
body,body[data-page=portrait]{background:var(--paper)}
.introduction{background:var(--paper-section);width:100%;max-width:none;margin:70px 0 100px;padding:80px 10vw;grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.session-section,html[data-layout=b] .session-section{background:var(--paper-section);color:var(--ink)}
.introduction p:not(.eyebrow),.session-copy p,.contact-section>p:not(.eyebrow),.home-section-heading>p:not(.eyebrow),.encounter-grid p,.story-intro{font-size:18px;line-height:1.85}
.opening-subtitle{font-size:19px;line-height:1.6}.story-pending-note,.workshops-pending{font-size:14px}
.site-header .brand img{width:var(--header-logo-width)}
.desktop-nav button{font-size:12px;font-weight:600;letter-spacing:.1em}
.home-menu{font-size:13px;font-weight:600;letter-spacing:.12em}.language summary{font-size:12px;font-weight:500}
.iris-opening .travelling-logo{width:var(--header-logo-width)}
/* Open navigation stays pure white; theme can be chosen explicitly per page later. */
#menu-dialog,#menu-dialog::backdrop{background:#fff;color:var(--ink)}
#menu-dialog[data-theme=dark],#menu-dialog[data-theme=dark]::backdrop{background:#424242;color:var(--paper)}
#menu-dialog[data-theme=dark] .menu-top img{filter:brightness(0) invert(1)}
#menu-dialog[data-theme=dark] .menu-left nav button{color:#bbb}#menu-dialog[data-theme=dark] .menu-left nav button[aria-current=true]{color:#fff}
#menu-dialog[data-theme=dark] .preview-note,#menu-dialog[data-theme=dark] .nav-item small{color:#ddd}
.menu-contact{display:inline-flex;align-items:center;justify-content:center;gap:28px;border:1px solid currentColor;border-radius:999px;padding:15px 26px;min-height:52px;font-size:16px;background:transparent;transition:background .25s}
.menu-contact:hover{background:#8881}
.menu-highlight>span{inset:auto 0 13%;min-height:22%;font-family:var(--font);font-size:clamp(22px,2.4vw,36px);font-weight:300;letter-spacing:-.06em;line-height:1.1;padding:5px 12px;align-items:center;overflow-wrap:normal}
.menu-highlight{aspect-ratio:4/5}
/* Quiet visual gateways for brands and shop categories. */
.visual-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.visual-menu-card{display:block;position:relative;aspect-ratio:4/3;width:100%;padding:0;overflow:hidden;background:#e7e3dd;border:0;isolation:isolate;text-align:left}
.visual-menu-card:last-child:nth-child(odd){grid-column:1/-1;max-width:calc((100% - 18px)/2)}
.visual-menu-card .card-photo{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .6s ease-out}
.visual-menu-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0008,#0001 80%);z-index:1;pointer-events:none}
.visual-menu-card .card-title{position:absolute;left:8%;right:12%;bottom:14%;font-family:var(--font);font-size:clamp(20px,2.1vw,33px);font-weight:300;letter-spacing:-.04em;line-height:1.12;color:white;z-index:2;text-shadow:0 1px 12px #0005}
.visual-menu-card .card-brand-logo{position:absolute;width:74%;height:38%;object-fit:contain;left:13%;top:31%;filter:brightness(0) invert(1);z-index:2}
.visual-menu-card .card-arrow{position:absolute;bottom:8%;right:7%;z-index:2;color:white;font-size:19px}
@media(hover:hover) and (pointer:fine){.visual-menu-card:hover .card-photo{transform:scale(1.045)}}
.visual-menu-card:focus-visible{outline-offset:4px}
/* Image appears immediately; its copy follows gently after one second. */
.portrait-cover img{opacity:1!important;transition:none}
.js .portrait-opening:not(.copy-arrived) .opening-copy{opacity:0;transform:translateY(12px)}
.portrait-opening .opening-copy{transition:opacity .9s ease-out,transform .9s ease-out}
.portrait-opening.copy-arrived .opening-copy{opacity:1;transform:translateY(0)}
/* All gallery tiles share one horizontal 4:3 crop. Lightbox remains uncropped. */
html[data-layout=a] .gallery,html[data-layout=b] #gallery,html[data-layout=b] #more-gallery{display:grid;grid-template-columns:repeat(var(--gallery-cols,5),minmax(0,1fr));gap:14px;margin-left:0;margin-right:0}
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{width:100%;aspect-ratio:4/3;grid-column:auto;margin:0;align-self:stretch;overflow:hidden;background:transparent}
html[data-layout=a] .gallery-card img,html[data-layout=b] .gallery-card img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;transition:transform .6s ease-out}
@media(hover:hover) and (pointer:fine){html[data-layout] .gallery-card:hover img{transform:scale(1.045)}}
/* Editorial alternation: copy left / photo right, then layered photos left / copy right. */
.editorial-bridge{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7vw;align-items:center;text-align:left;padding:95px 8vw}
.editorial-bridge h2{margin:24px 0 0;font-size:clamp(44px,6vw,86px)}
.editorial-bridge-photo{display:block;width:100%;max-width:520px;justify-self:end;aspect-ratio:4/5;overflow:hidden}
.editorial-bridge-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.home-selected{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:7vw;padding:115px 8vw;text-align:left}
.home-selected .home-section-heading{width:100%;margin:0;max-width:none}.home-selected .home-section-heading h2{font-size:clamp(47px,6.5vw,94px)}
.home-selected .home-section-heading>p:not(.eyebrow){margin-left:0}.home-selected .pill-link{margin-top:35px}
.editorial-overlap{position:relative;width:100%;padding-bottom:18%;padding-right:19%}
.editorial-overlap a{display:block;overflow:hidden;aspect-ratio:3/4}
.editorial-overlap img{width:100%;height:100%;object-fit:cover;object-position:center}
.overlap-back{width:90%;position:relative}.editorial-overlap .overlap-front{position:absolute;right:0;bottom:0;width:59%;border:8px solid var(--paper);box-shadow:0 16px 38px #00000010}
/* One global footer: logo first, Explore in two columns, socials in its second column. */
.expanded-footer{padding:65px 6vw 90px;background:var(--paper)}
.footer-logo-top{display:flex;justify-content:center;margin-bottom:48px}.footer-logo-top .footer-logo img{width:210px}
.footer-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8vw;padding:0 0 48px;align-items:start}
.footer-explore{display:block}.footer-explore>.eyebrow{font-size:16px;font-weight:700;margin:0 0 18px;letter-spacing:.09em}
.footer-link-columns{display:grid;grid-template-columns:1fr 1fr;gap:25px}.footer-link-columns nav{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.footer-explore a,.footer-explore button{font-size:16px;line-height:1.5;min-height:40px;padding:8px 0;text-align:left}
.footer-link-columns .social-links{margin-top:16px;gap:12px}.footer-link-columns .social-links a{width:34px;height:44px;display:flex;justify-content:flex-start;align-items:center}
.footer-newsletter p{font-size:16px;line-height:1.75}.footer-newsletter label{font-size:14px}.footer-newsletter .newsletter-note{font-size:12px}.footer-newsletter h2{margin-top:0}
.footer-images{grid-template-columns:repeat(var(--footer-count,5),minmax(0,1fr));gap:12px}
.footer-images img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center}
.footer-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:25px;align-items:center;margin-top:40px;padding-top:20px;border-top:1px solid var(--line)}
.footer-bottom .legal-links{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:18px;width:auto}
.footer-bottom .legal-links a,.footer-bottom .legal-links button{display:inline-flex;align-items:center;white-space:nowrap;font-size:9px;font-weight:400;letter-spacing:.08em;line-height:1.6;min-height:44px;padding:10px 0;margin:0}
.footer-bottom .footer-copyright{font-size:10px;line-height:1.6;justify-self:start}
.footer-bottom .back-top{justify-self:end;white-space:nowrap;gap:12px}.back-top span{display:inline;font-size:10px}
@media(max-width:1100px){.footer-bottom{grid-template-columns:auto minmax(0,1fr) auto;gap:15px}.footer-bottom .legal-links{gap:12px}.desktop-nav{gap:20px}.menu-highlight>span{font-size:25px}}
@media(max-width:900px){:root{--header-logo-width:185px}.introduction{padding:65px 8vw}.editorial-bridge,.home-selected{gap:5vw;padding-left:6vw;padding-right:6vw}.home-selected .home-section-heading h2{font-size:clamp(43px,6.5vw,68px)}.editorial-bridge h2{font-size:clamp(41px,6vw,65px)}.visual-menu-grid{grid-template-columns:1fr}.visual-menu-card:last-child:nth-child(odd){grid-column:auto;max-width:none}.visual-menu-card .card-title{font-size:30px}.footer-bottom{grid-template-columns:1fr auto;gap:8px 20px}.footer-bottom .legal-links{grid-row:2;grid-column:1/-1;flex-wrap:wrap;justify-content:center}.footer-bottom .back-top{grid-column:2;grid-row:1}}
@media(max-width:600px){:root{--header-logo-width:142px}.site-header{padding-left:20px;padding-right:20px}.home-menu{font-size:11px;gap:7px}.language summary{font-size:10px;padding:10px 9px}.introduction,html[data-layout=b] .introduction{width:100%;margin:45px 0 70px;padding:50px 26px}.introduction p:not(.eyebrow),.session-copy p,.contact-section>p:not(.eyebrow),.home-section-heading>p:not(.eyebrow),.encounter-grid p,.story-intro{font-size:17px;line-height:1.8}.opening-subtitle{font-size:16px}.contact-section .contact-place{font-size:14px!important}.session-section{padding:60px 26px}.menu-contact{font-size:16px;padding:13px 24px;min-height:50px}.menu-body{margin-left:25px;margin-right:25px}.visual-menu-grid{grid-template-columns:1fr;gap:22px}.visual-menu-card{aspect-ratio:4/3}.visual-menu-card .card-title{font-size:32px}.editorial-bridge{grid-template-columns:1fr;padding:65px 26px;gap:35px}.editorial-bridge h2{font-size:42px}.editorial-bridge-photo{max-width:none;width:100%;aspect-ratio:4/5}.home-selected{grid-template-columns:1fr;gap:50px;padding:70px 26px}.editorial-overlap{max-width:450px;margin:0 auto}.editorial-overlap .overlap-front{border-width:6px}.home-selected .home-section-heading h2{font-size:clamp(39px,10.5vw,60px)}.home-selected .pill-link{margin-top:25px}.expanded-footer{padding:45px 25px 95px}.footer-logo-top{margin-bottom:35px}.footer-logo-top .footer-logo img{width:185px}.footer-main{grid-template-columns:1fr;gap:40px;padding-bottom:32px}.footer-link-columns{gap:20px}.footer-explore a,.footer-explore button{font-size:16px}.footer-newsletter p{font-size:16px}.footer-newsletter h2{font-size:34px}.footer-images{gap:7px}.footer-bottom{margin-top:26px;padding-top:12px}.footer-bottom .legal-links{gap:4px 16px}.footer-bottom .back-top{font-size:23px}.footer-bottom .back-top span{font-size:9px}.footer-bottom .footer-copyright{font-size:9px}html[data-layout=a] .gallery,html[data-layout=b] #gallery,html[data-layout=b] #more-gallery{gap:10px}}
@media(max-width:360px){:root{--header-logo-width:114px}.site-header{padding-left:13px;padding-right:13px}.home-menu{font-size:10px}.language summary{font-size:9px}}
@media(prefers-reduced-motion:reduce){.js .portrait-opening:not(.copy-arrived) .opening-copy{opacity:1;transform:none}.portrait-opening .opening-copy,html[data-layout] .gallery-card img,.visual-menu-card .card-photo{transition:none}html[data-layout] .gallery-card:hover img,.visual-menu-card:hover .card-photo{transform:none}}
