/* Home-only brand hierarchy and footer navigation. */
.site-shell header .brand,.home-footer .brand{display:flex;align-items:center;white-space:normal;gap:10px;letter-spacing:.05em}
.home-brand-text{display:block;font-size:20px;line-height:1.55}
.home-brand-text>span{display:block}
.home-brand-text small{display:block;font-size:12px;font-weight:400;letter-spacing:.18em;margin-top:3px}
.home-page .hero .home-title{font-size:clamp(29px,3.1vw,43px);font-weight:600;line-height:1.6;letter-spacing:.04em;margin:0 0 8px}
.home-title>span{display:inline-block;white-space:nowrap}
.home-title .home-institute{font-size:inherit}
.home-subtitle{display:flex;align-items:center;gap:16px;font-size:23px;letter-spacing:.16em;margin:0 0 28px;line-height:1.8}.home-subtitle:before,.home-subtitle:after{content:"";width:32px;height:1px;background:#ae8045}.home-subtitle span{white-space:nowrap}
.home-footer{display:block;padding:44px max(6%,24px) 24px}
.home-footer-heading{max-width:960px;margin:auto}
.home-footer-nav{max-width:960px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 30px;margin:26px auto 0;font-size:15px}
.home-footer-nav a{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:56px;padding:12px 0;border-bottom:1px solid #ffffff30}
.home-footer-nav a span{color:#d1b17a}
.home-footer-nav a:hover{color:#e5cda7;filter:none}
.home-copyright{display:block;max-width:960px;margin:28px auto 0;color:#d6dce5;font-size:11px;letter-spacing:.04em}
.home-page section[id]{scroll-margin-top:20px}
@media(max-width:700px){
 .site-shell header{gap:12px}
 .site-shell header .brand{gap:2px;min-width:0}
 .site-shell header .star-mark{width:24px;height:24px;margin-right:5px}
 .home-brand-text{font-size:16px;letter-spacing:0}
 .home-brand-text small{font-size:10px;letter-spacing:.14em}
 .site-shell header nav{flex-shrink:0}
 .site-shell header nav .outline{padding:6px 12px}
 .home-page .hero .hero-copy{padding:26px 18px 30px}
 .home-page .hero .home-title{font-size:30px;margin:0 0 5px}
 .home-subtitle{justify-content:center;font-size:20px;margin-bottom:22px;gap:14px}
 .home-footer{padding:32px 22px 22px}
 .home-footer .home-brand-text{font-size:19px}
 .home-footer .home-brand-text small{font-size:12px}
 .home-footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;margin-top:24px;font-size:14px}
 .home-footer-nav a:not(:last-child),.home-footer-nav a:last-child{display:flex}
 .home-footer-nav a{min-height:60px;line-height:1.7}
 .home-copyright{margin-top:24px}
}
@media(max-width:360px){
 .site-shell header{padding:12px}
 .home-brand-text{font-size:14px}
 .home-page .hero .home-title{font-size:27px}
 .home-footer-nav{font-size:13px;column-gap:16px}
}

.menu-toggle,.mobile-navigation{display:none}
@media(max-width:700px){
 .site-shell header{position:sticky;top:0;z-index:50;gap:8px;box-shadow:0 2px 10px #11294c08}
 .site-shell header>.brand{margin-right:auto}
 .site-shell header>nav:not(.mobile-navigation){gap:0}
 .menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:10px;border:1px solid #e3d9c8;border-radius:4px;background:#fffdf9;color:#11294c;flex-shrink:0;cursor:pointer}
 .menu-toggle span{display:block;width:21px;height:1.5px;background:currentColor}
 .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(6.5px) rotate(45deg)}
 .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
 .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-6.5px) rotate(-45deg)}
 .menu-toggle:focus-visible{outline:3px solid #bb8951;outline-offset:3px}
 .mobile-navigation:not([hidden]){display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:12px 24px 22px;background:#fffdf9;border-bottom:1px solid #e3d9c8;box-shadow:0 12px 20px #11294c16;max-height:calc(100dvh - 90px);overflow-y:auto;font-size:16px}
 .site-shell .mobile-navigation a:not(:last-child),.site-shell .mobile-navigation a:last-child{display:block;padding:12px 4px;min-height:48px;border-bottom:1px solid #e9e1d5}
 .home-page section[id]{scroll-margin-top:95px}
}
@media(max-width:360px){
 .site-shell header{gap:5px}
 .site-shell header .star-mark{width:20px;height:20px;margin-right:3px}
 .site-shell header nav .outline{font-size:11px;padding:5px 9px}
}

@media(min-width:701px){.site-shell header>nav:not(.mobile-navigation){flex-wrap:wrap;justify-content:flex-end;max-width:66%;gap:10px 22px;font-size:13px}.site-shell header>.brand{flex-shrink:0}}

.site-shell section[id]{scroll-margin-top:20px}
@media(max-width:700px){.site-shell section[id]{scroll-margin-top:95px}}

/* Reservations are a regular navigation item; mobile uses the menu panel. */
@media(max-width:700px){.site-shell header>nav:not(.mobile-navigation){display:none}}

/* Soft champagne lights framing the subtitle. */
.home-page .home-subtitle{justify-content:center}
.home-page .home-subtitle:before,.home-page .home-subtitle:after{content:none}
.home-page .subtitle-ornament{display:block;width:48px;height:32px;flex:0 0 48px;overflow:visible}
.home-page .subtitle-ornament-right{transform:scaleX(-1)}
@media(max-width:360px){.home-page .subtitle-ornament{width:40px;flex-basis:40px}}

.home-page .home-heading{width:max-content;max-width:100%}
@media(max-width:700px){.home-page .home-heading{margin-inline:auto}}

/* A fourth menu card for the special collaboration reading. */
.home-page #menu .cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.home-page .collaboration-visual{display:block;background:radial-gradient(ellipse at 50% 45%,#253552,#122442 75%);aspect-ratio:2.4/1;overflow:hidden}
.home-page .collaboration-visual svg{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:700px){.home-page #menu .cards{grid-template-columns:1fr}.home-page .collaboration-visual{aspect-ratio:1/1}.home-page .collaboration-visual svg{transform:scale(1.18)}}
