/* Shared refinements approved for the credit and quick actions. */
.mobile-menu-toggle{display:none}
body[data-page=home] .copyright{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding-top:20px}
body[data-page=home] .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}
body[data-page=home] .footer .ascender-credit .credit-label{font:10px Montserrat,Arial,sans-serif;letter-spacing:1.6px;text-transform:uppercase;color:#b6aa95}
body[data-page=home] .footer .ascender-credit strong{font:500 24px/1.35 Montserrat,Arial,sans-serif;color:#e2c58c}
body[data-page=home] .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}
 body[data-page=home] .footer{padding:38px 26px 30px}
 body[data-page=home] .footer-grid{gap:29px}
 body[data-page=home] .footer h2{font-size:17px}
 body[data-page=home] .footer p,body[data-page=home] .footer a,body[data-page=home] .footer td{font-size:13px;overflow-wrap:anywhere}
 body[data-page=home] .copyright{align-items:center;font-size:10px;gap:8px;margin-top:30px;padding-top:16px}
 body[data-page=home] .footer .ascender-credit{padding:9px 0;gap:13px;min-height:96px}
 body[data-page=home] .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}
body[data-page=home] .footer-grid{gap:40px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.25fr)}
body[data-page=home] .footer-grid h2{font-size:25px}
body[data-page=home] .footer-grid p,body[data-page=home] .footer-grid a,body[data-page=home] .footer-grid td{font-size:17.5px;overflow-wrap:anywhere}
body[data-page=home] .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){body[data-page=home] .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}
 body[data-page=home] .footer-grid h2{font-size:21.25px}
 body[data-page=home] .footer-grid p,body[data-page=home] .footer-grid a,body[data-page=home] .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){
 body[data-page=home] .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
 body[data-page=home] .footer-grid>div:nth-child(2){text-align:center}
 body[data-page=home] .footer-grid>div:nth-child(2) table{margin-inline:auto}
 body[data-page=home] .footer-grid>div:nth-child(2) small{max-width:310px;margin-inline:auto}
 body[data-page=home] .footer-grid>div:last-child{text-align:right;justify-self:end;width:100%}
 body[data-page=home] .footer-grid>div:last-child .footer-links,body[data-page=home] .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}
 body[data-page=home] .footer{padding:40px 24px 30px}
 body[data-page=home] .footer-grid{grid-template-columns:1fr;text-align:center;gap:35px}
 body[data-page=home] .footer-grid>div,body[data-page=home] .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}
 body[data-page=home] .footer .ascender-credit{justify-content:center;text-align:left;max-width:100%;gap:12px}
 body[data-page=home] .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}
 @media(prefers-reduced-motion:no-preference){
  .mobile-scroll-reveal{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .65s cubic-bezier(.2,.7,.2,1)}
  .mobile-scroll-reveal.mobile-revealed{opacity:1;transform:translateY(0)}
  .framed-gallery .scroll-reveal{transition:opacity .55s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
  .framed-gallery .scroll-reveal:not(.is-visible){opacity:0;transform:translateY(22px)}
 }
}
@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}
}

#qe-navigation .client-nav-disabled{cursor:default;pointer-events:none}
#qe-navigation .client-nav-disabled:hover{color:#eee;border-color:transparent}

/* 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%}
}
