/* A shared header: centered identity on desktop, only logo and menu on mobile. */
body[data-page] .site-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:24px;align-items:center}
body[data-page] .site-header .brand{grid-column:2;grid-row:1;justify-self:center}
body[data-page] .header-left{grid-column:1;grid-row:1;display:flex;align-items:center;gap:24px;min-width:0}
body[data-page] .home-menu{display:inline-flex;font-size:17px;font-weight:600;letter-spacing:.1em;gap:13px;flex-shrink:0;min-height:48px}
.home-menu .menu-lines{width:32px;gap:8px}.home-menu .menu-lines i{height:2px}
body[data-page] .header-tools{grid-column:3;grid-row:1;justify-self:end;display:flex;gap:14px}
.context-nav{position:relative;min-width:0}.context-nav[hidden]{display:none}
.context-nav summary{display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer;font-size:12px;min-height:48px;white-space:nowrap}
.context-nav summary::-webkit-details-marker{display:none}.context-group{opacity:.65}.context-current{font-weight:600}
.context-options{position:absolute;top:calc(100% + 10px);left:0;width:210px;background:var(--header-bg);color:var(--header-ink);padding:14px 20px;border:1px solid #8883;box-shadow:0 14px 25px #0000000c;display:flex;flex-direction:column}
.context-options a,.context-options button{font-size:14px;text-align:left;padding:12px 0;min-height:44px}.context-options [aria-current=page]{font-weight:700;text-decoration:underline;text-underline-offset:6px}
body[data-header-theme=light]{--header-bg:#f9f7f4;--header-ink:#343434}
body[data-header-theme=cream]{--header-bg:#f2f0ec;--header-ink:#343434}
body[data-header-theme=dark]{--header-bg:#424242;--header-ink:#f9f7f4}
body[data-page].header-over-hero .site-header{background:transparent;box-shadow:none}
body[data-page].header-over-hero .site-header:hover,body[data-page].header-over-hero .site-header:focus-within{background:var(--header-bg)}
/* Larger intro identity, positioned above the actual statement, moving to the exact header logo. */
.iris-hero .travelling-logo{width:310px;top:var(--intro-logo-y,30%);left:50%}
.intro-playing .travelling-logo{transition:top 2s cubic-bezier(.45,0,.2,1),left 2s cubic-bezier(.45,0,.2,1),width 2s cubic-bezier(.45,0,.2,1)}
.iris-hero.iris-opening .travelling-logo{top:var(--intro-target-y,54px);left:var(--intro-target-x,50%);width:var(--intro-target-width,var(--header-logo-width))}
body.intro-active .site-header .header-left{opacity:0;pointer-events:none}.site-header .header-left{transition:opacity .7s}
/* Same-height packed rows. Portraits 3:4; landscapes span two columns plus the 4px gap. */
html[data-layout] #gallery,html[data-layout] #more-gallery{display:grid;grid-template-columns:repeat(var(--gallery-cols,5),minmax(0,1fr));grid-auto-rows:var(--gallery-row-height);gap:4px;margin-left:0;margin-right:0;align-items:stretch}
html[data-layout] #gallery .gallery-card,html[data-layout] #gallery .gallery-card:nth-of-type(even),html[data-layout] #more-gallery .gallery-card{display:block;grid-column:span 1;width:100%;height:100%;aspect-ratio:auto;margin:0;overflow:hidden;align-self:stretch}
html[data-layout] #gallery .gallery-card.wide,html[data-layout] #more-gallery .gallery-card.wide{grid-column:span 2;aspect-ratio:auto;width:100%;margin:0}
html[data-layout] .gallery-card img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;display:block;transition:transform .6s ease-out}
@media(hover:hover) and (pointer:fine){html[data-layout] .gallery-card:hover img{transform:scale(1.07)}}
/* B is the same immersive portrait page with an edge-to-edge first screen. */
html[data-layout=b] body[data-page=portrait]{padding-top:0}
html[data-layout=b] body[data-page=portrait] .portrait-opening{display:block;position:relative;margin:0;width:100%;height:100svh;min-height:580px}
html[data-layout=b] body[data-page=portrait] .portrait-cover{grid-column:auto;width:100%;height:100%;aspect-ratio:auto}
html[data-layout=b] body[data-page=portrait] .portrait-cover img{object-fit:cover;object-position:50% 45%}
html[data-layout=b] body[data-page=portrait] .portrait-cover:after{display:block;background:linear-gradient(0deg,#0009,transparent 70%)}
html[data-layout=b] body[data-page=portrait] .opening-copy{position:absolute;left:5%;bottom:12%;grid-column:auto;max-width:70%;margin:0;color:white}
html[data-layout=b] body[data-page=portrait] .opening-copy h1{font-size:clamp(40px,6.6vw,112px);font-weight:300;line-height:1.01;letter-spacing:-.055em;max-width:800px;margin:17px 0 20px}
html[data-layout=b] body[data-page=portrait] .opening-subtitle{margin-left:0}
html[data-layout=b] body[data-page=portrait] .cover-scroll{display:block;left:auto;right:5%;bottom:35px;color:white}
html[data-layout=b] body[data-page=portrait] .session-photo{background:transparent}
.portrait-controls .segmented{grid-template-columns:1fr}.portrait-controls .segmented button{padding:12px 6px}
/* Menu order is also DOM order: categories, selected content, then account/contact actions. */
.menu-body{display:grid;grid-template-columns:.85fr 1.35fr;grid-template-rows:auto 1fr;align-items:start;gap:0 8vw}
.menu-left{grid-column:1;grid-row:1}.menu-content{grid-column:2;grid-row:1/span 2;padding-bottom:0}
.menu-actions{grid-column:1;grid-row:2;align-self:end;margin:0;padding-top:55px}
.menu-language{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 22px;font-size:12px}
.menu-language>span{opacity:.65;margin-right:8px}.menu-language button{min-height:44px;padding:8px 3px;border-bottom:1px solid transparent}
.menu-language button[aria-pressed=true]{border-bottom-color:currentColor;font-weight:600}
.social-links button{display:flex;align-items:center;justify-content:center;width:40px;height:44px;padding:0;color:inherit}
.woomondo-social-icon{display:block;width:28px;height:23px;background:currentColor;-webkit-mask:url('/assets/brands/w-icon.svg') center/contain no-repeat;mask:url('/assets/brands/w-icon.svg') center/contain no-repeat}
.footer-link-columns .social-links{gap:5px;flex-wrap:wrap}.footer-link-columns .social-links button{width:34px;min-height:44px;padding:0}
.footer-link-columns .social-links button svg{width:21px;height:21px}
.menu-actions .legal-links button{color:inherit}
#social-dialog{width:min(480px,calc(100% - 40px));padding:55px 35px 35px;background:var(--paper);color:var(--ink);border:0}
#social-dialog::backdrop{background:#0005}#social-dialog h2{font-size:42px;line-height:1.1;font-weight:300;margin:12px 0 22px}
#social-dialog p{font-size:16px;line-height:1.8}.social-close{position:absolute;right:15px;top:10px;font-size:28px;width:44px;height:44px}.social-done{margin-top:18px}
@media(max-width:1100px) and (min-width:901px){body[data-page] .header-left{gap:16px}.context-nav summary{font-size:11px;gap:5px}body[data-page] .home-menu{font-size:15px;gap:10px}.home-menu .menu-lines{width:28px}}
@media(max-width:900px){
 :root{--header-logo-width:160px;--header-height:84px}
 body[data-page] .site-header{grid-template-columns:1fr auto;padding:18px 24px;gap:20px}
 body[data-page] .site-header .brand{grid-column:1;grid-row:1;justify-self:start}
 body[data-page] .header-left{grid-column:2;grid-row:1;justify-self:end}
 body[data-page] .header-tools,.context-nav{display:none}
 body[data-page] .home-menu{padding:10px 4px;width:48px;height:48px;justify-content:center}
 .home-menu .menu-word{display:none}.home-menu .menu-lines{width:30px;gap:8px}
 .menu-body{display:flex;flex-direction:column;gap:30px;margin:20px 26px 50px}
 .menu-left,.menu-content,.menu-actions{width:100%;min-width:0}
 .menu-left nav{flex-direction:column;flex-wrap:nowrap;gap:7px;align-items:flex-start}
 .menu-left nav button{font-size:clamp(34px,7vw,48px);min-height:48px;line-height:1.15;padding:3px 0}
 .menu-content{border-top:1px solid var(--line);padding:28px 0 0}
 .menu-content h2{font-size:24px}.menu-actions{padding-top:5px;margin-top:0}
 .menu-actions .menu-contact{background:#343434;color:#fff;border-color:#343434;font-weight:600;min-height:54px;padding:15px 28px}
 #menu-dialog[data-theme=dark] .menu-actions .menu-contact{background:#f9f7f4;color:#343434;border-color:#f9f7f4}
 .menu-actions .social-links{margin-top:22px}.menu-actions .legal-links{margin-top:17px}
 .iris-hero .travelling-logo{width:270px}
}
@media(max-width:600px){
 :root{--header-logo-width:155px}
 body[data-page] .site-header{padding:16px 20px}
 .iris-hero .travelling-logo{width:min(270px,72vw)}
 html[data-layout=b] body[data-page=portrait] .portrait-opening{height:100svh;min-height:540px}
 html[data-layout=b] body[data-page=portrait] .opening-copy{left:7%;bottom:13%;max-width:86%}
 html[data-layout=b] body[data-page=portrait] .opening-copy h1{font-size:clamp(37px,10vw,57px);line-height:1.06;margin:18px 0}
 html[data-layout=b] body[data-page=portrait] .opening-subtitle{font-size:16px;line-height:1.6;max-width:260px}
 html[data-layout=b] body[data-page=portrait] .cover-scroll{right:5%;bottom:13px}
 .menu-top{padding:20px 26px}.menu-top img{width:155px}.social-links{gap:13px}
}
@media(prefers-reduced-motion:reduce){.intro-playing .travelling-logo{transition:none}html[data-layout] .gallery-card:hover img{transform:none}html[data-layout] .gallery-card img{transition:none}}
