/* Shared refinements approved for the credit and quick actions. */
.mobile-menu-toggle{display:none}
.copyright{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding-top:20px}
.footer .ascender-credit{display:flex;align-items:center;justify-content:center;flex-direction:row;text-align:left;line-height:1.4!important;gap:18px;width:100%;max-width:560px;min-height:100px;padding:12px 20px}
.ascender-credit img{width:64px;height:64px;flex:0 0 64px;object-fit:contain;border-radius:50%;margin:0}
.credit-copy{display:flex;flex-direction:column;min-width:0;gap:3px}
.footer .ascender-credit .credit-label{font:10px Montserrat,Arial,sans-serif;letter-spacing:1.6px;text-transform:uppercase;color:#b6aa95}
.footer .ascender-credit strong{font:500 24px/1.35 Montserrat,Arial,sans-serif;color:#e2c58c}
.footer .ascender-credit small{font-size:12px!important;line-height:1.5!important;margin:0!important;color:#c1baaf}
.floating-tools{right:20px;bottom:110px;gap:10px}
.floating-tools button{width:50px;min-height:50px;padding:12px;gap:0;border-radius:28px;overflow:hidden;justify-content:flex-start;transition:width .25s,padding .25s,gap .25s}
.floating-tools button svg{width:25px;height:25px;flex:0 0 25px}
.floating-tools button span{display:block;max-width:0;opacity:0;overflow:hidden;white-space:nowrap;transition:max-width .25s,opacity .2s}
.floating-tools button.is-expanded,.floating-tools button:focus-visible{width:270px;padding:12px 17px;gap:11px}
.floating-tools button.is-expanded span,.floating-tools button:focus-visible span{max-width:220px;opacity:1}
.floating-tools.at-footer{bottom:auto;top:155px}
@media(hover:hover){.floating-tools button:hover{width:270px;padding:12px 17px;gap:11px}.floating-tools button:hover span{max-width:220px;opacity:1}}
/* Mobile presentation is isolated from the approved desktop layout. */
@media(max-width:700px){
 html{scroll-padding-top:74px}
 .home-header .brand-row,.home-header.compact .brand-row{height:76px;padding:0 15px;justify-content:flex-start}
 .home-header .brand,.home-header.compact .brand{margin:0;gap:9px;transform:none}
 .home-header .brand strong,.home-header.compact .brand strong{font-size:28px;letter-spacing:-.8px}
 .home-header .brand small,.home-header.compact .brand small{font-size:7px;letter-spacing:2.5px}
 .home-header .brand-logo,.home-header.compact .brand-logo{width:35px;height:38px}
 .home-header .brand-text{gap:4px}
 .home-header .lang{right:57px;top:50%}
 .home-header .lang button{padding:7px 3px;font-size:10px}
 .mobile-menu-toggle{position:absolute;right:14px;top:24px;width:28px;height:28px;background:none;border:0;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:3px;color:white}
 .mobile-menu-toggle span{display:block;height:1px;width:22px;background:currentColor;transition:transform .2s,opacity .2s}
 .mobile-menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
 .mobile-menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
 .mobile-menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
 .home-header nav{display:none;position:absolute;top:76px;left:0;right:0;max-height:calc(100svh - 76px);overflow-y:auto;background:#090909f7;border-bottom:1px solid #b59b6866;padding:18px 22px;grid-template-columns:1fr 1fr;gap:5px 18px;text-align:left;box-shadow:0 10px 25px #0004}
 .home-header.menu-open nav{display:grid}
 .home-header nav a{font-size:12px;min-height:44px;display:flex;align-items:center;padding:8px 4px;letter-spacing:.25px}
 .home-header nav .social-nav{min-height:44px;padding:8px 4px}
 .home-hero{height:65svh;min-height:360px;max-height:620px}
 .home-hero .hero-image{inset:0;background-position:center;background-size:cover;background-attachment:scroll}
 .home-hero .hero-copy{bottom:32px}
 .home-hero .button{font-size:11px;min-width:180px;min-height:44px;padding:11px 20px}
 .home-location{min-height:58px;padding:13px 21px;font-size:11px;line-height:1.6;text-align:center}
 .home-location svg{flex:none;width:17px;height:21px}
 .reveal-stack{overflow:clip}
 .sharing-panels{padding:40px 23px;gap:42px;grid-template-columns:1fr}
 .sharing-panels .photo-panel{max-width:92%;min-height:0;background:none;padding:0}
 .sharing-panels h2{font-size:25px;margin-bottom:10px}
 .sharing-panels h3{font-size:16px;line-height:1.5;max-width:260px;margin-bottom:17px}
 .sharing-panels .button{font-size:11px;min-height:44px;padding:10px 22px}
 .order-action{gap:12px;flex-wrap:wrap}.coming-soon{font-size:10px}
 .reservation-section{padding:34px 25px}
 .reservation-section h2{font-size:28px}.reservation-section h3{font-size:19px}
 .reservation-section>p:not(.eyebrow){font-size:13px;line-height:1.8}
 .private-section{display:flex;flex-direction:column;padding:0}
 /* Explicit normal-flow images prevent zero-height grid items on mobile Safari. */
 .private-visual,.rhythm-visual{position:relative;display:block;min-height:0;height:auto;aspect-ratio:auto;width:100%;overflow:hidden;flex:none;order:0}
 .private-visual img,.rhythm-visual img{position:static;display:block;inset:auto;width:100%;height:auto;max-height:none;object-fit:contain;transform:none}
 .private-copy{order:1;padding:32px 26px;text-align:center;align-items:center}
 .private-copy .button{align-self:center}
 .private-copy h2{font-size:27px}.private-copy h3{font-size:19px;line-height:1.4}
 .private-copy>p:not(.eyebrow){font-size:13px;line-height:1.8;margin-bottom:20px}
 .rhythm-section{display:flex;flex-direction:column}
 .rhythm-copy{padding:32px 26px;text-align:center;align-items:center;order:1}
 .rhythm-copy h2{font-size:30px;line-height:1.2;max-width:330px}
 .rhythm-copy p:not(.eyebrow){font-size:13px;line-height:1.8}
 .rhythm-copy .button{align-self:center}
 .parking-section{padding:32px 26px}.parking-section h2{font-size:26px}
 .parking-section>p:not(.eyebrow){font-size:13px;line-height:1.8}
 .home-gallery{padding:26px 18px}
 .framed-gallery{width:100%;max-width:430px;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
 .framed-gallery>button{padding:1px;aspect-ratio:1.12}
 .photo-mat{border-width:1px}
 .reviews-section{padding:36px 26px}.reviews-section h2{font-size:28px}.reviews-section h3{font-size:25px}
 .reviews-section>p:not(.eyebrow){font-size:13px;line-height:1.8}
 .newsletter-map{grid-template-columns:1fr;min-height:0}
 .newsletter-panel{padding:32px 26px}.newsletter-panel h2{font-size:28px}
 .newsletter-panel>p:not(.eyebrow){font-size:13px;line-height:1.8}
 .newsletter-fields{flex-direction:column;gap:9px}.newsletter-fields input{font-size:16px}.newsletter-fields button{min-height:44px;align-self:flex-start;padding:10px 20px}
 .map-panel,.map-panel iframe{min-height:300px;height:300px}
 .footer{padding:38px 26px 30px}
 .footer-grid{gap:29px}
 .footer h2{font-size:17px}
 .footer p,.footer a,.footer td{font-size:13px;overflow-wrap:anywhere}
 .copyright{align-items:center;font-size:10px;gap:8px;margin-top:30px;padding-top:16px}
 .footer .ascender-credit{padding:9px 0;gap:13px;min-height:96px}
 .footer .ascender-credit strong{font-size:20px}
 .ascender-credit img{width:54px;height:54px;flex-basis:54px}
 .floating-tools{right:12px;bottom:calc(94px + env(safe-area-inset-bottom,0px));gap:9px}
 .floating-tools button{width:44px;min-height:44px;padding:10px;border-radius:25px}
 .floating-tools button svg{width:23px;height:23px;flex-basis:23px}
 .floating-tools button.is-expanded,.floating-tools button:focus-visible{width:245px;padding:10px 14px;gap:10px}
 .floating-tools.at-footer{top:93px;bottom:auto}
 .mobile-reveal{opacity:1;transform:none}
}
@media(max-width:360px){.home-header .brand strong,.home-header.compact .brand strong{font-size:23px}.home-header .brand-logo,.home-header.compact .brand-logo{width:28px;height:32px}.home-header .brand{gap:7px}.home-header .brand-row{padding-left:12px}.home-header .lang{right:49px}.home-header .lang button{font-size:9px}.mobile-menu-toggle{right:10px}}
@media(max-width:700px) and (prefers-reduced-motion:no-preference){
 .mobile-reveal{transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
 .mobile-reveal:not(.is-visible){opacity:0;transform:translateY(22px)}
}
@media(prefers-reduced-motion:reduce){.floating-tools button,.floating-tools button span{transition:none}}

/* Approved November review: larger collage, shared scroll reveals, reviews and venue footer. */
.sharing-scene{display:flex;align-items:center}
.sharing-panels{flex:1;width:100%}
.scroll-reveal{opacity:1;transform:none}
@media(prefers-reduced-motion:no-preference){
 .scroll-reveal{transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
 .scroll-reveal:not(.is-visible){opacity:0;transform:translateY(22px)}
}
.reviews-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;padding-inline:max(28px,calc((100vw - 1160px)/2));text-align:left}
.reviews-copy>p:not(.eyebrow){font-size:16px;line-height:1.9;color:#5b554c;max-width:540px}
.review-mark{margin-left:0}
.google-reviews-panel{padding:36px;border:1px solid #b59b6855;background:#fffaf2;box-shadow:0 12px 36px #3c2c1210;min-width:0}
.google-reviews-panel h3{font-style:normal;font-size:28px;margin-bottom:18px}
.google-reviews-panel p:not(.eyebrow){font-size:15px;line-height:1.8;color:#5b554c;margin-bottom:20px}
.google-reviews-panel .button{letter-spacing:0;max-width:100%}
.google-reviews-panel .reviews-source{font-size:12px!important;margin:15px 0 0!important}
.footer-grid{gap:40px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.25fr)}
.footer-grid h2{font-size:25px}
.footer-grid p,.footer-grid a,.footer-grid td{font-size:17.5px;overflow-wrap:anywhere}
.footer-grid small{font-size:13.75px}
.footer-social{margin:20px 0;display:flex;flex-wrap:wrap;gap:12px}
.footer-social a{display:inline-flex;align-items:center;gap:12px;padding:8px 0;min-height:44px}
.footer-social svg{width:28px;height:28px;flex:none}
.footer-social span{display:flex;flex-direction:column;line-height:1.6}
.footer-social small{color:#c8b88f}
@media(max-width:1000px){.footer-grid{grid-template-columns:1fr;gap:32px}}
@media(max-width:700px){
 .reviews-section{grid-template-columns:1fr;gap:28px;padding:36px 26px}
 .reviews-copy>p:not(.eyebrow){font-size:13px;line-height:1.8}
 .google-reviews-panel{padding:25px}
 .google-reviews-panel h3{font-size:25px}
 .footer-grid h2{font-size:21.25px}
 .footer-grid p,.footer-grid a,.footer-grid td{font-size:16.25px}
}

/* Desktop revision: directional entrances, fixed parking and darker reviews. */
.private-section,.rhythm-section{overflow:clip}
.reviews-section{background:#211d18;color:#f4ecdf;border-top:1px solid #a68a5555;border-bottom:1px solid #a68a5555}
.reviews-section .eyebrow{color:#d4bb88}
.reviews-copy>p:not(.eyebrow){color:#d2c6b4}
.google-reviews-panel{background:#30291f;border-color:#b59b6866;box-shadow:none;color:#f4ecdf}
.google-reviews-panel p:not(.eyebrow){color:#d2c6b4}
.google-reviews-panel .button{border-color:#c4a977;color:#f4e1bb}
.google-reviews-panel .button:hover{background:#c4a977;color:#211d18}
@media(prefers-reduced-motion:reduce){.slide-reveal{transform:none!important;transition:none!important}}

/* Independent editorial scenes: fixed panels, full image travel, then copy. */
.scene-copy-inner{width:100%}
.private-copy .scene-copy-inner>p:not(.eyebrow){font-size:14px;line-height:1.7;color:#625747;max-width:480px;margin-bottom:18px}
.reservation-section .scene-copy-inner>p:not(.eyebrow){font-size:14px;line-height:1.8;color:#d2c6b4;max-width:740px;margin:0 auto 18px}
.rhythm-copy .scene-copy-inner>p:not(.eyebrow){font-size:14px;line-height:1.7;margin-bottom:20px}
@media(min-width:1001px) and (prefers-reduced-motion:no-preference){
 .scene-reveal .private-visual,.scene-reveal .rhythm-visual,.scene-reveal .private-copy,.scene-reveal .rhythm-copy{overflow:clip}
 .scene-reveal.reservation-section{overflow:clip}
 .scene-reveal .private-visual img,.scene-reveal .rhythm-visual img{transition:transform .65s cubic-bezier(.22,.61,.36,1)}
 .scene-reveal:not(.scene-playing) .private-visual img{transform:translateX(100%)}
 .scene-reveal:not(.scene-playing) .rhythm-visual img{transform:translateX(-100%)}
 .scene-reveal .scene-copy-inner{transition:transform .52s cubic-bezier(.22,.61,.36,1) .68s}
 .scene-reveal:not(.scene-playing) .private-copy .scene-copy-inner{transform:translateX(-120%)}
 .scene-reveal:not(.scene-playing) .rhythm-copy .scene-copy-inner{transform:translateX(120%)}
 .scene-reveal.reservation-section .scene-copy-inner{transition-delay:.08s}
 .scene-reveal.reservation-section:not(.scene-playing) .scene-copy-inner{transform:translateX(-110%)}
 .scene-complete img,.scene-complete .scene-copy-inner{transition:none!important}
}
/* Equal columns put hours on the page axis and contact on the right. */
@media(min-width:1001px){
 .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
 .footer-grid>div:nth-child(2){text-align:center}
 .footer-grid>div:nth-child(2) table{margin-inline:auto}
 .footer-grid>div:nth-child(2) small{max-width:310px;margin-inline:auto}
 .footer-grid>div:last-child{text-align:right;justify-self:end;width:100%}
 .footer-grid>div:last-child .footer-links,.footer-social{justify-content:flex-end}
}

/* Retain the saved photo-first sequence on smaller screens. */
@media(max-width:1000px){
.reservation-section.section-sequence{overflow:clip}
.private-copy,.rhythm-copy{overflow:clip}
.section-copy-inner{display:flex;flex-direction:column;align-items:inherit;width:100%;min-width:0}
.reservation-section .section-copy-inner{align-items:center}
.reservation-section .section-copy-inner>p:not(.eyebrow){font-size:14px;line-height:1.8;color:#d2c6b4;max-width:740px;margin:0 auto 18px}
.reservation-section .section-copy-inner .button{align-self:center}
.private-copy .section-copy-inner>p:not(.eyebrow){font-size:14px;line-height:1.7;color:#625747;max-width:480px;margin-bottom:18px}
@media(prefers-reduced-motion:no-preference){
 .section-sequence .private-visual,.section-sequence .rhythm-visual{overflow:clip}
 .section-sequence .private-visual img,.section-sequence .rhythm-visual img{transition:transform .72s cubic-bezier(.22,.68,.2,1)}
 .section-sequence:not(.is-revealed) .private-visual img{transform:translateX(105%)}
 .section-sequence:not(.is-revealed) .rhythm-visual img{transform:translateX(-105%)}
 .section-sequence .section-copy-inner> *{transition:transform .56s cubic-bezier(.22,.68,.2,1);transition-delay:calc(.74s + var(--copy-step,0)*.055s)}
 .section-sequence .section-copy-inner>:nth-child(2){--copy-step:1}
 .section-sequence .section-copy-inner>:nth-child(3){--copy-step:2}
 .section-sequence .section-copy-inner>:nth-child(4){--copy-step:3}
 .section-sequence .section-copy-inner>:nth-child(5){--copy-step:4}
 .section-sequence:not(.is-revealed) .section-copy-inner> *{transform:translateX(calc(-100% - 160px))}
 .rhythm-section.section-sequence:not(.is-revealed) .section-copy-inner> *{transform:translateX(calc(100% + 160px))}
 .reservation-section.section-sequence .section-copy-inner> *{transition-delay:calc(var(--copy-step,0)*.075s)}
}

}

/* Manually selected guest reviews, presented as a dark venue-backed carousel. */
.reviews-section.reviews-carousel-section{display:block;position:relative;overflow:hidden;text-align:center;padding:76px 60px 54px;background:linear-gradient(100deg,#0d0a08ed,#181008c9),url('assets/qe-interior.png') center 55%/cover no-repeat;color:#fff5e4}
.review-carousel{max-width:1040px;margin:auto}
.reviews-carousel-section .eyebrow{color:#d5bb8a;font-size:10px;letter-spacing:3px;margin-bottom:12px}
.reviews-carousel-section h2{font-family:Montserrat,Arial,sans-serif;font-size:44px;line-height:1.25;letter-spacing:2px;margin-bottom:24px}
.review-origin{font:14px/1.6 Montserrat,Arial,sans-serif;text-transform:uppercase;letter-spacing:2px;color:#e0d3bd;margin-bottom:20px}
.review-viewport{overflow:hidden;touch-action:pan-y;outline-offset:6px}
.review-track{display:flex;align-items:stretch;transition:transform .65s cubic-bezier(.22,.61,.36,1)}
.review-slide{flex:0 0 100%;min-width:0;padding:0 6px}
.review-byline{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-bottom:25px;font:15px/1.5 Montserrat,Arial,sans-serif}
.review-author{font-weight:600;color:#fff4dd}
.review-stars{color:#e3c47f;font-size:20px;letter-spacing:3px;white-space:nowrap}
.review-slide blockquote{position:relative;margin:0;padding:0 56px;min-height:160px}
.review-slide blockquote p{font:italic 23px/1.7 Georgia,serif;color:#fff9ee;max-width:850px;margin:auto}
.review-quote-open,.review-quote-close{position:absolute;font:88px/1 Georgia,serif;color:#d6b77d}
.review-quote-open{left:0;top:-5px}.review-quote-close{right:0;bottom:-15px}
.review-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:28px}
.review-controls button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;border:1px solid transparent;background:transparent;color:#e9d5af;padding:0}
.review-controls .review-arrow{font-size:25px;border-color:#bda16b77;border-radius:50%}
.review-dots{display:flex;align-items:center;justify-content:center;gap:0}
.review-dots button{min-width:30px;width:30px}
.review-dots button span{display:block;width:8px;height:8px;border:1px solid #f0dfbd;border-radius:50%;transition:background .2s,transform .2s}
.review-dots button[aria-pressed=true] span{background:#edd4a3;transform:scale(1.35)}
.review-controls button:hover{background:#e6c88b22}.review-play{font-size:15px}
.review-google-action{margin-top:24px}
.review-google-action .button{color:#f6e8c9;border-color:#d0b47d;letter-spacing:1px}
.review-google-action .button:hover{background:#d0b47d;color:#17120b}
.review-selection-note{font:11px/1.7 Montserrat,Arial,sans-serif;color:#d2c3ac;margin-top:18px}
@media(max-width:700px){
 .reviews-section.reviews-carousel-section{padding:48px 23px 38px}
 .reviews-carousel-section h2{font-size:32px;margin-bottom:19px}
 .reviews-carousel-section .eyebrow{font-size:8px;letter-spacing:2px}
 .review-origin{font-size:11px;letter-spacing:1.3px}
 .review-byline{font-size:13px;gap:9px;margin-bottom:19px}
 .review-stars{font-size:18px}
 .review-slide{padding:0 2px}
 .review-slide blockquote{padding:0 20px;min-height:280px}
 .review-slide blockquote p{font-size:19px;line-height:1.6}
 .review-quote-open,.review-quote-close{font-size:48px}
 .review-quote-open{left:-3px}.review-quote-close{right:-3px}
 .review-controls{gap:6px;margin-top:17px}
 .review-dots button{min-width:27px;width:27px}
 .review-controls .review-arrow{min-width:40px;width:40px;min-height:40px}
 .review-selection-note{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.review-track,.review-dots button span{transition:none}}

/* Holiday notice stays centered immediately below the hours heading. */
.footer .holiday-hours-note{display:block;width:100%;margin:0 auto 18px;text-align:center;line-height:1.5}

.footer-grid>div:nth-child(2){text-align:center}
.footer-grid>div:nth-child(2) table{margin-inline:auto}

/* Shared presentation polish: larger collage and neutral reservation black. */
.reveal-backdrop,.sharing-image{transform:scale(1.1);transform-origin:center}
.reservation-section{background:#101010}

/* Mobile-only presentation approved November 10. Desktop remains unchanged. */
.mobile-header-actions,.mobile-bottom-bar{display:none}
.photo-mat picture{display:contents}
@media(max-width:700px){
 html{scroll-padding-top:66px}
 body[data-page=home]{padding-bottom:calc(62px + env(safe-area-inset-bottom,0px))}
 .home-header .brand-row,.home-header.compact .brand-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:6px;height:74px;padding:0 12px;transition:height .25s ease}
 .home-header .brand,.home-header.compact .brand{grid-column:1;grid-row:1;justify-self:start;gap:5px;max-width:100%;margin:0}
 .home-header .brand strong{font-size:clamp(17px,5.35vw,23px);letter-spacing:-.8px;white-space:nowrap;transition:font-size .25s}
 .home-header .brand small{font-size:6px;letter-spacing:2px}
 .home-header .brand-logo{width:25px;height:29px;flex:none;transition:width .25s,height .25s}
 .home-header .brand-text{min-width:0}
 .home-header .mobile-header-actions{display:flex;grid-column:2;grid-row:1;gap:0;align-items:center}
 .mobile-header-actions a{display:flex;align-items:center;justify-content:center;width:29px;height:44px;color:#d9c18b}
 .mobile-header-actions svg{width:19px;height:19px}
 .home-header .lang{position:static;transform:none;grid-column:3;grid-row:1;display:flex;gap:0;border:1px solid #b59b6880;border-radius:3px;padding:1px}
 .home-header .lang button{width:23px;min-height:34px;padding:4px 0;font-size:9px;border:0}
 .home-header .lang button[aria-pressed=true]{background:#b59b682b;color:#ead4a8}
 .home-header .mobile-menu-toggle{position:static;grid-column:4;grid-row:1;width:27px;height:44px;padding:3px;justify-self:end}
 .home-header nav#qe-navigation{top:100%;max-height:calc(100svh - 130px)}
 .home-header nav .social-nav{display:none!important}
 .home-header.compact .brand-row{height:55px}
 .home-header.compact .brand strong{font-size:clamp(15px,4.6vw,20px)}
 .home-header.compact .brand-logo{width:20px;height:23px}
 .home-header.compact .brand small{font-size:5px;letter-spacing:1.7px}
 .sharing-panels{display:flex;flex-direction:column;align-items:center;gap:42px;padding:40px 24px;width:100%;text-align:center}
 .sharing-panels .photo-panel,.sharing-panels .order-panel,.sharing-panels .catering-panel{width:100%;max-width:340px;margin:0 auto;padding:0;align-self:center;justify-self:center;text-align:center}
 .sharing-panels h2,.sharing-panels h3,.sharing-panels p{margin-left:auto;margin-right:auto;text-align:center}
 .sharing-panels h3{max-width:310px}
 .sharing-panels .order-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px}
 .sharing-panels .button{width:158px;min-height:44px;padding:10px 12px;margin:0 auto}
 .sharing-panels .coming-soon{display:block;margin:0;text-align:center}
 .newsletter-panel{text-align:center}
 .newsletter-panel>p,.newsletter-panel h2,.newsletter-panel form{margin-left:auto;margin-right:auto}
 .newsletter-panel form{width:100%;max-width:340px}
 .newsletter-panel label{text-align:center}
 .newsletter-fields{align-items:center}
 .newsletter-fields input{text-align:center}
 .newsletter-fields button{align-self:center;min-width:150px}
 .newsletter-instagram{display:inline-block;margin-inline:auto}
 .footer{padding:40px 24px 30px}
 .footer-grid{grid-template-columns:1fr;text-align:center;gap:35px}
 .footer-grid>div,.footer-grid>div:last-child{width:100%;text-align:center;justify-self:center}
 .footer .footer-links,.footer .footer-social{justify-content:center}
 .footer .footer-social a{text-align:left}
 .footer table{margin-inline:auto}
 .footer .ascender-credit{justify-content:center;text-align:left;max-width:100%;gap:12px}
 .footer .ascender-credit strong{font-size:19px}
 .mobile-bottom-bar{position:fixed;inset:auto 0 0;z-index:60;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;min-height:62px;padding:5px 5px calc(5px + env(safe-area-inset-bottom,0px));background:#090909f5;border-top:1px solid #b59b6870;box-shadow:0 -3px 15px #0003;backdrop-filter:blur(10px)}
 .mobile-bottom-bar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:50px;padding:4px 1px;color:#e8d8b8;line-height:1.2;text-align:center;font:9px Montserrat,Arial,sans-serif;letter-spacing:0;text-transform:none;border:0}
 .mobile-bottom-bar svg{width:20px;height:20px;flex:none}
 .mobile-bottom-bar a[aria-disabled=true]{cursor:default;pointer-events:none}
 .floating-tools,.floating-tools.at-footer{position:fixed;top:auto;bottom:calc(78px + env(safe-area-inset-bottom,0px));right:12px}
 .floating-reserve{display:none!important}
 .framed-gallery{max-width:100%;gap:14px}
 .framed-gallery>button{min-width:0;aspect-ratio:1}
 .photo-mat.cocktail-crop img{position:static;width:100%;height:100%;object-position:center;transform:none}
 .gallery-note{display:block;margin:20px auto 0;max-width:330px;font-size:10px;line-height:1.6;text-align:center;color:#81745f}
 .mobile-animated-section{overflow:clip}
}

/* Mobile scroll entrances: stable triggers with a Safari scroll/resize fallback. */
@media(max-width:700px){
 .mobile-animated-section,.private-visual,.rhythm-visual{overflow:hidden}
 .photo-panel .section-copy-inner{align-items:center}
 .parking-section .section-copy-inner{align-items:center}
 .parking-section .section-copy-inner>svg{width:36px;height:36px;color:#75603c;margin-bottom:13px;flex:none}
 .parking-section .section-copy-inner>p:not(.eyebrow){max-width:670px}
 .newsletter-panel .section-copy-inner{align-items:center}
 .parking-section .section-copy-inner>p:not(.eyebrow),.newsletter-panel .section-copy-inner>p:not(.eyebrow){font-size:13px;line-height:1.8}
 .newsletter-panel .section-copy-inner>p:not(.eyebrow){font:14px/1.8 Montserrat,Arial,sans-serif;max-width:520px}
 .mobile-scroll-reveal{--mobile-delay:0ms}
 .section-copy-inner.mobile-scroll-reveal>*{transition:opacity .78s ease,transform .88s cubic-bezier(.22,.68,.2,1);transition-delay:calc(var(--mobile-delay) + .10s + var(--copy-step,0)*.12s)}
 .section-copy-inner.mobile-scroll-reveal>:nth-child(2){--copy-step:1}
 .section-copy-inner.mobile-scroll-reveal>:nth-child(3){--copy-step:2}
 .section-copy-inner.mobile-scroll-reveal>:nth-child(4){--copy-step:3}
 .section-copy-inner.mobile-scroll-reveal>:nth-child(5){--copy-step:4}
 .section-copy-inner.mobile-scroll-reveal>:nth-child(6){--copy-step:5}
 .section-copy-inner.mobile-scroll-reveal:not(.mobile-revealed)>*{opacity:0}
 .private-visual.mobile-scroll-reveal img,.rhythm-visual.mobile-scroll-reveal img{transition:opacity .86s ease,transform .95s cubic-bezier(.22,.68,.2,1);transition-delay:var(--mobile-delay)}
 .private-visual.mobile-scroll-reveal:not(.mobile-revealed) img,.rhythm-visual.mobile-scroll-reveal:not(.mobile-revealed) img{opacity:0}
 .mobile-gallery-reveal .photo-mat{transition:opacity .82s ease,transform .92s cubic-bezier(.22,.68,.2,1);transition-delay:var(--mobile-delay)}
 .mobile-gallery-reveal:not(.mobile-revealed) .photo-mat{opacity:0}
 .mobile-fade-reveal .review-carousel{transition:opacity .8s ease;transition-delay:var(--mobile-delay)}
 .mobile-fade-reveal:not(.mobile-revealed) .review-carousel{opacity:0}
}
@media(max-width:700px) and (prefers-reduced-motion:no-preference){
 .section-copy-inner.mobile-scroll-reveal:not(.mobile-revealed)>*{transform:translateX(-58px)}
 .catering-panel .section-copy-inner.mobile-scroll-reveal:not(.mobile-revealed)>*,.rhythm-copy .section-copy-inner.mobile-scroll-reveal:not(.mobile-revealed)>*{transform:translateX(58px)}
 .private-visual.mobile-scroll-reveal:not(.mobile-revealed) img{transform:translateX(100%)}
 .rhythm-visual.mobile-scroll-reveal:not(.mobile-revealed) img{transform:translateX(-100%)}
 .mobile-gallery-reveal:not(.mobile-revealed) .photo-mat{transform:translateY(44px) scale(.97)}
}
@media(max-width:700px) and (prefers-reduced-motion:reduce){
 .section-copy-inner.mobile-scroll-reveal>*,.private-visual.mobile-scroll-reveal img,.rhythm-visual.mobile-scroll-reveal img,.mobile-gallery-reveal .photo-mat,.mobile-fade-reveal .review-carousel{transition:opacity .3s ease!important;transition-delay:var(--mobile-delay)!important;transform:none!important}
}

@media(max-width:350px){
 .home-header .brand-row,.home-header.compact .brand-row{gap:3px;padding-inline:8px}
 .home-header .brand-logo{width:20px;height:24px}
 .mobile-header-actions a{width:26px}
 .home-header .brand small{letter-spacing:1.4px}
 .mobile-bottom-bar a{font-size:8px}
}

/* One gallery and one caption across screen sizes; only layout is responsive. */
.gallery-note{display:block;margin:20px auto 0;max-width:540px;font-size:11px;line-height:1.6;text-align:center;color:#81745f}

/* Shared section icons in desktop navigation and the mobile dropdown. */
#qe-navigation a:not(.social-nav){display:inline-flex;align-items:center;gap:6px}
.nav-menu-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;color:#d9c18b}
.nav-menu-icon svg{display:block;width:16px;height:16px}
@media(min-width:901px){.home-header nav{gap:clamp(9px,1.3vw,22px)}}
@media(max-width:700px){
 .home-header #qe-navigation a:not(.social-nav){display:flex;gap:9px}
 .home-header .nav-menu-icon svg{width:19px;height:19px}
}

/* Mobile collage is framed by its content block, rather than the tall viewport. */
@media(max-width:700px){
 .reveal-backdrop{background:#211a14;transform:none}
 .sharing-scene{background-color:#211a14;background-image:linear-gradient(#0008,#0008),url('assets/qe-sharing-collage.png');background-position:center;background-repeat:no-repeat;background-size:100% 100%,auto 82%}
}

/* Official restaurant identity and Facebook — 2026-11-14 */
.home-header .brand,.home-header.compact .brand{background:#fff;border-radius:3px;padding:3px 6px;gap:0;overflow:hidden}
.official-brand-lockup{display:block;width:330px;height:auto;max-width:100%;object-fit:contain}
.home-header.compact .official-brand-lockup{width:200px}
.footer-social{flex-wrap:wrap;gap:14px}
@media(max-width:700px){
 .home-header .brand-row,.home-header.compact .brand-row{height:86px;gap:4px;padding-inline:9px}
 .home-header .brand,.home-header.compact .brand{padding:3px;min-width:0}
 .official-brand-lockup,.home-header.compact .official-brand-lockup{width:210px;max-width:100%;height:auto}
 .mobile-header-actions a{width:27px;min-height:44px}
 .mobile-header-actions svg{width:18px;height:18px}
 .home-header .lang button{width:21px}
}
@media(max-width:360px){.home-header .brand-row,.home-header.compact .brand-row{padding-inline:6px;gap:2px}.mobile-header-actions a{width:24px}.home-header .lang button{width:20px}.home-header .mobile-menu-toggle{width:24px}}

/* Three independent transparent brand assets */
.home-header .brand,.home-header.compact .brand{display:flex;flex-direction:row;align-items:center;justify-content:center;background:transparent;border-radius:0;padding:0;gap:18px;overflow:visible}
.brand-lettering{display:flex;flex-direction:column;align-items:center;gap:0;min-width:0}
.brand-wordmark-frame{display:block;position:relative;width:440px;height:88px;overflow:hidden}
.brand-wordmark-image{position:absolute;display:block;width:100%;height:auto;top:50%;transform:translateY(-50%);filter:url(#brand-clean-alpha)}
.brand-tagline-frame{display:block;position:relative;width:150px;height:48px;overflow:hidden}
.brand-tagline-image{position:absolute;display:block;width:100%;height:auto;top:50%;transform:translateY(-50%);filter:url(#brand-clean-alpha) drop-shadow(.3px 0 #fff) drop-shadow(-.3px 0 #fff)}
.brand-monogram-image{display:block;width:120px;height:120px;object-fit:contain;filter:url(#brand-clean-alpha)}
.home-header .brand-row{height:152px}
.home-header.compact .brand-row{height:110px}
.home-header.compact .brand-wordmark-frame{width:330px;height:68px}
.home-header.compact .brand-tagline-frame{width:110px;height:32px}
.home-header.compact .brand-monogram-image{width:90px;height:90px}
@media(max-width:700px){
 .home-header .brand-row,.home-header.compact .brand-row{height:144px;grid-template-columns:1fr auto auto;grid-template-rows:94px 44px;gap:0 12px;padding:3px 15px}
 .home-header .brand,.home-header.compact .brand{grid-column:1/-1;grid-row:1;width:100%;justify-self:center;gap:12px;margin:0;padding:0}
 .home-header .brand-wordmark-frame,.home-header.compact .brand-wordmark-frame{width:clamp(205px,66vw,280px);height:53px}
 .home-header .brand-tagline-frame,.home-header.compact .brand-tagline-frame{width:94px;height:28px}
 .home-header .brand-monogram-image,.home-header.compact .brand-monogram-image{width:75px;height:75px;flex:none}
 .home-header .mobile-header-actions{grid-column:1;grid-row:2;justify-self:start;gap:6px}
 .home-header .lang{grid-column:2;grid-row:2}
 .home-header .mobile-menu-toggle{grid-column:3;grid-row:2}
 .mobile-header-actions a{width:34px;height:44px}
 .mobile-header-actions svg{width:21px;height:21px}
 html{scroll-padding-top:150px}
}
@media(max-width:360px){.home-header .brand-row,.home-header.compact .brand-row{padding-inline:10px}.home-header .brand,.home-header.compact .brand{gap:7px}.home-header .brand-monogram-image,.home-header.compact .brand-monogram-image{width:68px;height:68px}}
.brand-wordmark-image,.brand-monogram-image{filter:url(#brand-clean-alpha) drop-shadow(.65px 0 0 #fff) drop-shadow(-.65px 0 0 #fff) drop-shadow(0 .65px 0 #fff) drop-shadow(0 -.65px 0 #fff)}

/* Approved lockup: original wordmark, left QE and complete white tagline. */
.home-header .brand-row{background:#090909;height:166px}
.home-header.compact .brand-row{height:126px}
.home-header nav#qe-navigation{background:#090909;border-top-color:#383838}
.home-header .brand-wordmark-image{filter:url(#brand-white-lettering)}
.home-header .brand,.home-header.compact .brand{gap:18px}
.home-header .brand-lettering{gap:2px}
.home-header .brand-monogram-image{width:120px;height:120px;flex:none;filter:url(#brand-white-lettering)}
.home-header.compact .brand-monogram-image{width:92px;height:92px}
.home-header .brand-tagline-frame,.home-header.compact .brand-tagline-frame{position:static;height:auto;overflow:visible;flex:none}
.home-header .brand-tagline-frame{width:150px}
.home-header.compact .brand-tagline-frame{width:112px}
.home-header .brand-tagline-image{position:static;width:100%;height:auto;max-height:none;top:auto;transform:none;filter:url(#brand-clean-alpha) brightness(0) invert(1)}
@media(min-width:701px) and (max-width:900px){
 .home-header .brand-wordmark-frame{width:360px;height:72px}
 .home-header .brand-monogram-image{width:96px;height:96px}
 .home-header .brand,.home-header.compact .brand{gap:14px}
}
@media(max-width:700px){
 .home-header .brand,.home-header.compact .brand{gap:12px}
 .home-header .brand-lettering{flex:1;max-width:340px}
 .home-header .brand-wordmark-frame,.home-header.compact .brand-wordmark-frame{width:100%;height:auto;aspect-ratio:5/1}
 .home-header .brand-monogram-image,.home-header.compact .brand-monogram-image{width:72px;height:72px}
 .home-header .brand-tagline-frame,.home-header.compact .brand-tagline-frame{width:105px;max-width:55%;height:auto}
 .home-header .brand-row,.home-header.compact .brand-row{grid-template-rows:108px 44px;height:158px;background:#090909}
 .home-header nav#qe-navigation{background:#090909f7}
 html{scroll-padding-top:158px}
}
@media(max-width:360px){
 .home-header .brand,.home-header.compact .brand{gap:8px}
 .home-header .brand-monogram-image,.home-header.compact .brand-monogram-image{width:62px;height:62px}
}

/* Original client monogram at the established corner size and position. */
.home-header .brand,.home-header.compact .brand{position:static}
.home-header .brand-monogram-image,.home-header.compact .brand-monogram-image{position:absolute;left:clamp(16px,2.5vw,40px);top:50%;transform:translateY(-50%);width:64px;height:64px;filter:url(#brand-white-lettering)}
@media(min-width:701px){
 .home-header.compact .brand-monogram-image{width:52px;height:52px}
}
@media(max-width:700px){
 .home-header .brand,.home-header.compact .brand{padding-inline:48px;gap:0}
 .home-header .brand-monogram-image,.home-header.compact .brand-monogram-image{left:12px;top:57px;width:40px;height:40px}
 .home-header .brand-lettering,.home-header.compact .brand-lettering{flex:1;max-width:340px}
}
@media(max-width:360px){
 .home-header .brand,.home-header.compact .brand{padding-inline:40px}
 .home-header .brand-monogram-image,.home-header.compact .brand-monogram-image{left:10px;width:34px;height:34px}
}
