/* Shared, compact navigation and a calm visual rhythm. */
header{min-height:112px;padding:12px 4%;gap:22px}header .logo-halo{width:72px;height:96px}header .brand{gap:12px}header .written-name{width:190px;height:48px}header .brand-top{font-size:7px;letter-spacing:1.3px}header .brand-full-name{font-size:10px;max-width:225px}header nav{gap:16px}header nav>a:not(.button):not(.nav-phone){font-size:16px}header .button.small{padding:11px 17px;font-size:15px}header .nav-phone{display:none}
.logo-gold-orbit{animation:calm-gold-turn 10s ease-in-out infinite;transform-origin:50% 50%}.logo-gold-orbit:after{animation:none;opacity:0}@keyframes calm-gold-turn{0%{transform:rotateY(0deg)}50%,100%{transform:rotateY(360deg)}}
.focus-word,.scroll-reveal-in{animation:none!important;opacity:1;filter:none;transform:none;stroke-dashoffset:0}.written-name path{animation:none!important;opacity:1;filter:none;stroke-dashoffset:0;fill:currentColor}
.hero .actions .button-order{background:transparent;color:var(--petrol,#2c4c57);border:1px solid #8c998c;box-shadow:none}.hero .actions [data-reserve]{background:#2c4c57;color:#fff4dc;border-color:#2c4c57;box-shadow:0 3px 12px #193c4422}.hero .actions [data-reserve]:hover{background:#1e3b45}
.visit-summary{display:flex;align-items:center;justify-content:center;gap:24px 50px;flex-wrap:wrap;background:#f4ead5;padding:22px 5%;border-block:1px solid #bca77e55}.visit-summary span{display:grid;gap:5px;font-size:14px}.visit-summary strong{font-family:Georgia,serif;font-size:18px}.visit-summary a{color:#2c4c57;text-decoration:underline;text-underline-offset:4px}.welcome-photo{margin:24px 0 0}.welcome-photo img{display:block;width:100%;max-height:310px;object-fit:cover;border-radius:3px}.welcome-photo figcaption,.photo-note{font-size:14px;line-height:1.6;color:#52605a;margin-top:10px}.photo-note{margin-top:22px}.menu-current{border-left:3px solid #b69b6c;padding-left:16px}
@media(min-width:751px) and (max-width:1200px){header{min-height:0;padding:12px 4% 16px;gap:10px}header nav{gap:20px}header nav>a:not(.button):not(.nav-phone){font-size:16px}}
@media(max-width:750px){header{min-height:100px;padding:8px 5%}header .logo-halo{width:58px;height:80px}header .written-name{max-width:180px;height:44px}header .brand-wordmark{max-width:210px}.visit-summary{justify-content:flex-start;gap:16px;padding:22px 7%}.visit-summary span{width:100%}.mobile-actions{grid-template-columns:.8fr 1.35fr 1fr}.mobile-actions a:last-child{background:transparent;color:#f6e8cb;border-color:#b59664}.mobile-actions a[data-reserve]{background:#ecd1a0;color:#372518;border-color:#ecd1a0}.hero .actions .button{min-height:48px}.welcome-photo img{max-height:240px}}
@media(prefers-reduced-motion:reduce){.logo-gold-orbit{animation:none}}

/* Mobile brand stays centered on the viewport, independent of the menu button. */
@media(max-width:750px){
 header{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 20px 18px;gap:0;min-height:0}
 header .brand{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:8px;margin:0;text-align:center}
 header .logo-halo{width:62px;height:84px;margin:0 auto}
 header .brand-wordmark{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;width:100%;min-width:0;max-width:290px;margin:0 auto;text-align:center}
 header .written-name{display:block;width:min(220px,100%);max-width:100%;height:auto;aspect-ratio:12688/1500;margin:7px auto 9px}
 header .brand-top{width:100%;font-size:8px;line-height:1.6;letter-spacing:1.2px;text-align:center}
 header .brand-full-name{display:block;width:100%;max-width:270px;font-size:11px;line-height:1.55;text-align:center;text-wrap:balance;margin:0 auto}
 #nav-toggle{position:absolute;right:16px;top:28px;width:44px;height:44px;margin:0}
 header nav{width:100%;margin-top:14px;text-align:center;align-items:stretch}
 header nav a{justify-content:center;text-align:center}
 .hero-copy,.welcome-text,.moments-copy,.visit-grid>div,.menu-intro,.menu-information,.legal-content{min-width:0}
 .section-heading{align-items:flex-start;gap:20px;flex-direction:column}
 .section h2,.moments-copy h2,.menu-intro h1{font-size:clamp(28px,8vw,34px);line-height:1.2;overflow-wrap:break-word}
 .hero h1{font-size:clamp(34px,10.5vw,46px);line-height:1.13;letter-spacing:-1px}
 .hero .eyebrow,.brand-full-name,.legal-content p,.menu-information p{overflow-wrap:anywhere}
 .legal-page .legal-content h1{font-size:clamp(26px,7.5vw,34px);hyphens:auto}
 .legal-page .legal-content h2{font-size:21px}.legal-page .legal-content p{font-size:16px;line-height:1.75}
 .dish-title{flex-wrap:wrap;gap:8px}.dish-title h3{min-width:0;flex:1 1 180px;overflow-wrap:break-word}.dish-price{white-space:nowrap}
 footer .footer-brand .brand-wordmark{max-width:290px;min-width:0}footer>div{display:flex;flex-direction:column;align-items:center;gap:14px}
 .visit dl>div{align-items:flex-start}.visit dd{margin-left:0}.cookie-notice{max-height:60vh}
}

.language-switch{display:flex;justify-content:center;align-items:center;gap:8px;color:#f1e2c7;font:14px/1.5 Georgia,serif;white-space:nowrap}.language-switch a{padding:8px 5px;min-height:36px;text-decoration:none;color:inherit}.language-switch a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px;font-weight:bold}.ribbon-divider{display:inline-block;width:1px;height:18px;background:currentColor;opacity:.55;vertical-align:middle}.ribbon>span:has(.ribbon-divider){display:flex;align-items:center;justify-content:center}@media(max-width:750px){header .language-switch{margin-top:10px}.ribbon{gap:15px}.language-switch a{min-height:40px;padding:9px 8px}}
