/* Targeted menu, navigation and hero refinements. */
html,body { width:100%; min-height:100%; }
html.barock-loader-pending,html.barock-loader-pending body { overflow:visible; }
.site-loader { pointer-events:none; }
.mobile-menu-backdrop { touch-action:pan-y pinch-zoom; }
.site-header.glass-navbar {
 width:min(1220px,calc(100% - 40px)); max-width:1220px; min-height:68px; height:68px;
 padding:7px 18px; gap:20px; top:max(16px,env(safe-area-inset-top));
 border:1px solid rgba(215,172,97,.2)!important; border-radius:999px;
 background:rgba(18,16,13,.78)!important;
 backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;
 box-shadow:0 5px 18px rgba(0,0,0,.16)!important;
}
.site-header .brand { width:50px; min-width:50px; height:50px; padding:0; border:0; background:none; box-shadow:none; }
.site-header .brand img { width:50px; height:50px; object-fit:contain; }
.site-header .nav-links { gap:22px; }
.site-header .nav-links a { font-size:13px; padding:10px 0; transform:none!important; }
.site-header .visit-pill { min-height:44px; padding:10px 22px; font-size:13px; background:#cea55f!important; box-shadow:none!important; }
.mobile-menu { top:calc(88px + env(safe-area-inset-top)); max-height:calc(100svh - 110px); max-height:calc(100dvh - 110px); overflow-y:auto; overscroll-behavior:contain; touch-action:pan-y pinch-zoom; padding:14px 14px max(14px,env(safe-area-inset-bottom))!important; background:#12100d!important; backdrop-filter:none!important; -webkit-backdrop-filter:none!important; box-shadow:0 12px 30px #0004!important; }
.mobile-menu a { border:0!important; background:none!important; min-height:44px; }
.brand-hero { display:flex; flex-direction:column; justify-content:flex-end; min-height:90vh; min-height:90svh; min-height:min(90dvh,900px); padding:140px max(28px,calc((100vw - 1220px)/2)) 42px; background:#080705; }
.brand-hero__media,.brand-hero__media img,.brand-hero__overlay { inset:0; height:100%; }
.brand-hero__media img { object-position:center; animation:none; transform:none; }
.brand-hero__overlay { background:linear-gradient(90deg,rgba(5,4,3,.80),rgba(5,4,3,.52) 30%,rgba(5,4,3,.15) 60%,rgba(5,4,3,.05)),linear-gradient(0deg,#080705 0%,transparent 36%); }
.brand-hero__content { width:100%; margin:0; padding:0; animation:none; }
.brand-hero h1 { max-width:680px; margin:16px 0 0; font-size:clamp(54px,6vw,86px); line-height:1.06; letter-spacing:-.025em; color:#f2e7d4; }
.brand-hero h1 span { display:inline; margin:0; font-size:inherit; line-height:inherit; letter-spacing:inherit; color:inherit; -webkit-text-stroke:0; }
.brand-hero__motto { margin-top:20px; font-size:clamp(20px,2vw,26px); color:#cea55f; }
.brand-hero__intro { max-width:440px; font-size:16px; line-height:1.7; }
.brand-hero__hours { margin:30px 0 0; width:100%; text-align:left; font-size:10px; opacity:.75; }
.home-menu-section { padding:100px 24px 80px; background:#080705; color:#f2e7d4; }
.home-menu-section .home-menu-embed { margin:0 auto; padding:0; }
.home-menu-embed { scroll-margin-top:104px; }
.home-menu-embed__heading h2 { font-size:clamp(42px,5.5vw,72px); }
.home-menu-embed .menu-book-stage { min-width:0; max-width:100%; }
.menu-book__surface { max-width:100%; touch-action:pan-y pinch-zoom; overscroll-behavior-x:contain; }
.menu-book-page { overflow-x:clip; }
.menu-book-stage:fullscreen .menu-book__surface { width:min(1240px,calc(100vw - 72px),calc((100dvh - 190px)*1.362)); }
@media(max-width:960px) {
 .site-header.glass-navbar { width:calc(100% - 28px); height:62px; min-height:62px; padding:6px 10px; }
 .site-header .nav-links,.site-header .visit-pill { display:none; }
 .site-header .menu-toggle { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; width:44px; height:44px; min-width:44px; min-height:44px; margin-left:auto; padding:0; }
 .site-header .menu-toggle span { flex:none; width:18px; height:2px; margin:0; }
 .site-header .brand,.site-header .brand img { width:46px; height:46px; min-width:46px; }
}
@media(max-width:760px) {
 .brand-hero { min-height:82vh; min-height:82svh; min-height:82dvh; padding:370px 24px 32px; }
 .brand-hero__media,.brand-hero__media img { height:360px; top:65px; object-position:center; }
 .brand-hero__media img { top:0; }
 .brand-hero__overlay { height:430px; background:linear-gradient(0deg,#080705 0%,transparent 55%),linear-gradient(90deg,rgba(5,4,3,.25),transparent); }
 .brand-hero h1 { font-size:52px; max-width:100%; margin-top:14px; }
 .brand-hero h1 span { display:block; }
 .brand-hero__motto { max-width:260px; font-size:22px; line-height:1.4; }
 .brand-hero__intro { font-size:14px; max-width:330px; }
 .brand-hero__hours { font-size:9px; margin-top:24px; }
 .home-menu-section { padding:80px 14px 64px; }
 .home-menu-embed__heading h2 { font-size:clamp(38px,10vw,54px); }
 .menu-book-stage:fullscreen .menu-book__surface { width:min(calc(100vw - 24px),calc((100dvh - 180px)*.681)); }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 .site-header,.mobile-menu,.mobile-menu-backdrop,.mobile-menu a { transition:none!important; animation:none!important; }
}
/* Match fullscreen fitting to the official portrait PDF without cropping. */
.menu-book-stage:fullscreen .menu-book__surface { width:min(1100px,calc(100vw - 72px),calc(100dvh - 190px)); }
@media(max-width:768px){.menu-book-stage:fullscreen .menu-book__surface { width:min(calc(100vw - 24px),calc((100dvh - 180px)*.5)); }}
/* Shared finishing rules: existing brand palette, consistent spacing and restrained motion. */
:root { --space-1:8px; --space-2:16px; --space-3:24px; --space-4:32px; --space-5:48px; --space-section:clamp(64px,8vw,112px); --motion-ease:cubic-bezier(.2,.7,.3,1); }
:where(a,button,input,textarea,select):focus-visible { outline:2px solid #d4a85f; outline-offset:4px; }
:where(button,a.button,.visit-pill) { touch-action:manipulation; }
:where(#menu-book,#gallery,#location,#contact) { scroll-margin-top:108px; }
.site-header.glass-navbar { background:rgba(14,16,12,.96)!important; backdrop-filter:none!important; -webkit-backdrop-filter:none!important; }
.site-header .nav-links { gap:24px; }
.site-header .nav-links a { min-height:44px; display:inline-flex; align-items:center; letter-spacing:.015em; }
.site-header .nav-links a[aria-current],.mobile-menu a[aria-current] { color:#e1c38d!important; }
.mobile-menu { transition:opacity 180ms var(--motion-ease),transform 180ms var(--motion-ease)!important; }
.home-page :is(.home-menu-section,.brand-story,.signature-sips,.authentic-gallery.barock-salon,.barock-experience,.barock-visit) { padding-block:var(--space-section); }
.home-page :is(.barock-section-shell,.section-shell,.home-menu-embed) { width:min(1180px,100%); margin-inline:auto; }
.home-page :is(.brand-story,.signature-sips,.barock-experience,.barock-visit) { border-top:1px solid rgba(212,168,95,.15); }
.home-page :is(.brand-story__copy h2,.signature-sips__heading h2,.salon-heading h2,.experience-heading h2,.visit-heading h2,.contact-intro h2) { font-size:clamp(36px,4.8vw,64px); line-height:1.08; letter-spacing:-.025em; text-wrap:balance; }
.home-page :is(.brand-story__copy,.signature-sips__heading,.salon-heading,.experience-heading,.visit-heading,.contact-intro) p:not(.eyebrow) { font-size:clamp(15px,1.2vw,17px); line-height:1.75; max-width:58ch; }
.home-page :is(.signature-sips__heading,.authentic-gallery__heading,.experience-heading,.visit-heading) { margin-bottom:var(--space-5); gap:var(--space-4); }
.home-page .eyebrow { line-height:1.5; letter-spacing:.16em; font-size:11px; }
.home-page .button,.visit-pill { min-height:48px; padding:13px 24px; border-radius:8px; font-size:14px; line-height:1.4; font-weight:600; letter-spacing:.025em; transition:background-color 150ms ease,transform 150ms ease!important; }
.brand-hero__overlay { background:linear-gradient(90deg,rgba(5,4,3,.76),rgba(5,4,3,.45) 38%,rgba(5,4,3,.06) 72%),linear-gradient(0deg,#080705,transparent 40%); }
.brand-hero__content { max-width:1180px; }
.brand-hero__motto { line-height:1.45; letter-spacing:.005em; }
@keyframes barock-arrive { from { opacity:.3; transform:translateY(10px); } to { opacity:1; transform:none; } }
@media(prefers-reduced-motion:no-preference) { .hero-ready .brand-hero__content { animation:barock-arrive 460ms var(--motion-ease) both; } }
.home-page .reveal { opacity:0; transform:translateY(12px); filter:none!important; transition:opacity 420ms var(--motion-ease),transform 420ms var(--motion-ease); }
.home-page .reveal.is-visible { opacity:1; transform:none; }
.home-page .photo-editorial { border-color:rgba(212,168,95,.15); border-radius:8px; transition:border-color 160ms ease; }
.home-page .photo-editorial img { filter:none!important; transform:none; transition:transform 300ms var(--motion-ease); }
.home-page .photo-editorial figcaption { padding:18px 20px; }
.home-page .photo-editorial figcaption span { font-size:11px; line-height:1.6; letter-spacing:.1em; }
.home-page .photo-editorial figcaption strong { font-size:14px; line-height:1.6; }
.home-page .contact-form :is(input,textarea) { font-size:16px!important; line-height:1.5; min-height:48px; padding:14px 16px; border-radius:6px; box-shadow:none!important; }
.home-page .contact-form label { line-height:1.5; font-size:14px; }
.home-page .contact-form textarea { min-height:140px; resize:vertical; }
.form-status { min-height:3em; margin:0; font-size:14px; line-height:1.5; color:inherit; }
.home-page .contact-form button:disabled { opacity:.65; cursor:wait; }
.footer { padding-top:64px; }
.footer-grid { gap:32px; }
.footer h3 { font-size:15px; line-height:1.5; letter-spacing:.025em; }
.footer p,.footer li { font-size:14px; line-height:1.75; }
.footer li a,.footer .socials a { display:inline-flex; align-items:center; min-height:40px; }
.reviews-page #reviews-root label { font-size:15px; }
.reviews-page #reviews-root :is(input,textarea) { font-size:16px; }
@media(hover:hover) and (pointer:fine) { .home-page .photo-editorial:hover img { transform:scale(1.015); } .home-page .button:hover { transform:translateY(-1px); } }
@media(hover:none) { .home-page .photo-editorial:hover img { transform:none; } }
@media(max-width:760px) {
 .brand-hero { min-height:740px; padding:370px 24px 40px; }
 .brand-hero h1 { font-size:clamp(44px,13vw,58px); line-height:1.02; }
 .brand-hero__motto { font-size:21px; max-width:300px; margin-top:18px; }
 .brand-hero__intro { font-size:15px; line-height:1.65; margin-top:16px; }
 .brand-hero__overlay { height:440px; background:linear-gradient(0deg,#080705,rgba(8,7,5,.05) 62%); }
 .home-page :is(.signature-sips__heading,.authentic-gallery__heading,.experience-heading,.visit-heading) { margin-bottom:32px; gap:20px; }
 .home-page .visit-details { min-height:0; padding:32px 24px; }
 .home-page .visit-map-frame { min-height:300px; }
 .home-page .brand-story__layout { gap:32px; }
 .footer-grid { gap:28px; }
 .footer { padding-bottom:max(24px,env(safe-area-inset-bottom)); }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto!important; } .home-page .reveal { opacity:1;transform:none;transition:none; } .brand-hero__content,.home-page .photo-editorial img,.home-page .button { animation:none!important;transition:none!important;transform:none!important; } }
.visit-map-frame { position:relative; }
.map-activate { width:100%; min-height:380px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; padding:32px; border:0; background:#10221d; color:#d4a85f; cursor:pointer; }
.map-activate strong { font-family:var(--font-display); font-size:clamp(30px,4vw,48px); font-weight:500; }
.map-activate span { font-size:14px; line-height:1.6; }
.visit-map-frame [hidden] { display:none!important; }
.reviews-page #reviews-root .glass-card { border-radius:12px!important; box-shadow:0 8px 24px #0002!important; backdrop-filter:none!important; }
.reviews-page #reviews-root .glass-button { box-shadow:none!important; border-radius:8px!important; }
.reviews-page .review-steam { display:none; }
@media(max-width:760px){.map-activate{min-height:300px;}}

/* Interactive gallery links overlay each existing figure without changing its geometry. */
#gallery .authentic-gallery__scene { position:relative; }
#gallery .gallery-open { position:absolute; inset:0; z-index:2; cursor:zoom-in; border-radius:inherit; }
#gallery .gallery-open:focus-visible { outline:2px solid var(--barock-gold); outline-offset:-4px; }
#gallery .gallery-open[aria-busy="true"] { cursor:progress; }
