/* Compact, unified booking surfaces shared by the two venues. */
.brand-masthead{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:24px 0!important}.brand-masthead .wordmark{margin:0;text-align:left;flex:none}.brand-masthead .wordmark .logo-centre{width:160px}.brand-masthead .wordmark .logo-lees{width:110px}.brand-masthead .hero-addresses{margin:0;gap:28px;text-align:right}.brand-masthead .address{margin:0;font-size:13px;line-height:1.6}.brand-masthead .address span{font-size:12px}.hero-wide .hero-description{margin:20px auto 24px}
.account-surface .signin-providers{grid-template-columns:minmax(0,1fr);max-width:560px;margin:auto}.header-menu nav>[data-menu-signout]{display:block;text-align:left;width:100%;padding:12px 10px;font:14px/1.4 var(--mono);white-space:nowrap;border-top:1px solid var(--line);margin-top:5px}.header-menu nav>[data-menu-signout][hidden]{display:none}.type-control{position:relative;min-width:0}.booking-dock .booking-bar #widget-other-label{position:relative;display:block;margin:0;height:28px}.booking-dock .booking-bar #widget-other-label[hidden]{display:none}.booking-dock .booking-bar #widget-other{border:0;padding:0 27px 0 0;min-height:28px;height:28px;font:16px/1.5 var(--sans)}#reset-widget-type{position:absolute;right:0;top:-3px;width:28px;height:34px;font:26px/1 var(--sans);padding:0}
.details-section{padding:28px 0!important}.details-section>.wrap{max-width:1440px}.specification-context{font-size:13px;margin:0 0 16px!important;line-height:1.6}.space-specs-disclosure{border:1px solid var(--line)}.space-specs-disclosure>summary{display:grid;grid-template-columns:1fr auto 24px;align-items:center;gap:24px;padding:24px;font:17px/1.5 var(--sans);cursor:pointer;list-style:none}.space-specs-disclosure>summary::-webkit-details-marker{display:none}.specs-summary{font:14px/1.6 var(--mono);color:var(--muted)}.disclosure-icon{font:28px/1 var(--sans);text-align:center}.space-specs-disclosure[open] .disclosure-icon{font-size:0}.space-specs-disclosure[open] .disclosure-icon:after{content:'×';font-size:30px}.space-specs-disclosure #details-grid{padding:0 24px 24px}.space-specs-disclosure .details-box{border:0;gap:0;grid-template-columns:1fr 1fr}.space-specs-disclosure .specification-grid>section{border:0!important;padding:18px!important;border-top:1px solid var(--line)!important}.space-specs-disclosure .specification-grid h3{font:14px/1.5 var(--mono);margin-bottom:10px}.space-specs-disclosure .specification-grid p{font:15px/1.7 var(--sans)}.space-specs-disclosure .capacity-spec{grid-column:1/-1}.space-specs-disclosure .capacity-spec p{justify-content:flex-start;gap:24px}.space-specs-disclosure .combined-specs>h3{font-size:16px;margin:20px 18px}
.catering-section{border:0;padding:36px!important;margin-top:36px;margin-bottom:48px}.catering-section>h2{max-width:860px;margin:0 auto 28px;font:400 clamp(20px,2.1vw,30px)/1.45 var(--sans)}.catering-section .caterer-list{margin:0;max-width:none;width:100%;border-top:1px solid var(--line)}.catering-section .caterer-list button{font-size:16px;padding:20px 10px}.catering-section #caterer-profile{margin-top:28px;padding:28px 0 0;border-top:1px solid var(--line)}
.package-groups{display:grid;gap:14px}.package-groups>.package-group,.member-detail .package-group{border:1px solid var(--line);margin:0}.package-group>summary{padding:22px!important;list-style:none;font-size:17px}.package-group>.package-body{padding:0 22px 24px}.package-group .service-fields{margin-top:20px}.staffing-summary{margin:0;gap:0;border-block:1px solid var(--line)}.staffing-summary>p{margin:0;padding:20px}.staffing-summary>p+p{border-left:1px solid var(--line)}.staffing-summary strong{display:inline-block;margin-bottom:8px}.staffing-heading{margin:0 0 16px;font:16px/1.6 var(--sans)}.service-fields label small{font:14px/1.6 var(--sans);color:var(--muted)}.bar-steps{display:grid;gap:24px}.bar-step-title{display:block;font:14px/1.6 var(--mono);margin:22px 0 10px}.bar-format-note{font:16px/1.7 var(--sans);margin:14px 0}.concierge-note{font:14px/1.7 var(--sans);color:var(--muted);padding:16px 0;margin-top:20px;border-top:1px solid var(--line)}.quote-subtotal{border-top:1px solid var(--ink);font-weight:500;margin-top:18px;padding-top:20px}.quote-security{margin-top:20px;border:1px solid var(--line);padding:18px!important}.quote-security small{display:block;font:13px/1.6 var(--sans);color:var(--muted);margin-top:6px}.quote-footnote{line-height:1.7!important}.bar-cost-preview{display:grid;grid-template-columns:1fr auto;gap:12px;border-top:1px solid var(--line);padding-top:18px;font:16px/1.6 var(--sans)}
.footer-bottom{display:flex!important;justify-content:space-between;flex-wrap:wrap;gap:22px}.footer-bottom>a{font:13px/1.7 var(--mono)}.team-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--line);position:sticky;top:0;z-index:12;background:var(--paper)}.team-tabs a{text-align:center;margin:0;padding:20px 12px;border:0;font:15px/1.4 var(--mono)}.team-tabs a+a{border-left:1px solid var(--line)}.team-tabs a[aria-current=page]{background:var(--ink);color:var(--paper)}.team-section{scroll-margin-top:82px}.team-section-heading{margin-top:10px}
@media(max-width:760px){.brand-masthead{gap:16px;padding:18px 0!important}.brand-masthead .wordmark .logo-centre{width:124px}.brand-masthead .wordmark .logo-lees{width:80px}.brand-masthead .hero-addresses{gap:14px}.brand-masthead .address{margin:0;font-size:12px}.brand-masthead .address span{font-size:12px;max-width:none}.lees-theme .brand-masthead{flex-direction:column;align-items:center}.lees-theme .brand-masthead .hero-addresses{text-align:center;width:100%;justify-content:space-evenly}.space-specs-disclosure>summary{padding:18px;grid-template-columns:1fr 24px;gap:8px}.specs-summary{grid-column:1;grid-row:2;font-size:13px}.disclosure-icon{grid-column:2;grid-row:1/3}.space-specs-disclosure #details-grid{padding:0 5px 10px}.space-specs-disclosure .specification-grid p{font-size:14px}.space-specs-disclosure .specification-grid>section{padding:16px 12px!important}.catering-section{padding:24px 16px!important;margin-top:24px;margin-bottom:32px}.catering-section>h2{font-size:21px}.catering-section .caterer-list button{font-size:15px;padding:19px 7px}.package-group>summary{padding:18px!important}.package-group>.package-body{padding:0 18px 20px}.staffing-summary{grid-template-columns:1fr}.staffing-summary>p{padding:18px 0}.staffing-summary>p+p{border-left:0;border-top:1px solid var(--line)}.team-tabs a{font-size:13px;padding:18px 7px}.footer-bottom{justify-content:center}}

.visit-widget{border:1px solid var(--line);margin-block:48px}.visit-widget .visit-invitation{border:0;padding:26px 30px;margin:0;display:flex;align-items:center;justify-content:space-between;gap:20px}.visit-widget #site-visit{padding:30px;border-top:1px solid var(--line);scroll-margin-top:110px}.visit-widget .panel-heading{margin:0 0 16px}.visit-widget .panel-heading h2{font:24px/1.4 var(--sans)}.visit-widget .eyebrow{margin:8px 0 0}.visit-space-label{display:block;max-width:440px;font:13px/1.5 var(--mono);margin:24px 0}.visit-space-label select{display:block;width:100%;margin-top:8px;border:1px solid var(--line);padding:14px;font:16px/1.5 var(--sans);background:transparent;color:inherit}.visit-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid var(--line)}.visit-month{padding:24px}.visit-weekdays,.visit-month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center}.visit-weekdays{font:11px/1.5 var(--mono);padding:14px 0}.visit-month-days button{aspect-ratio:1.18;min-width:0;font:16px/1 var(--sans);padding:8px 0;border:1px solid var(--line)}.visit-month-days button:disabled{border-color:transparent;color:var(--muted);opacity:.4;cursor:default}.visit-month-days button[aria-pressed=true]{color:var(--paper);background:var(--ink);border-color:var(--ink)}.visit-month-days button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.visit-calendar-key{font:13px/1.6 var(--sans);color:var(--muted);margin:16px 0 0}.visit-times{padding:28px;border-left:1px solid var(--line)}.visit-times h3{font:15px/1.5 var(--mono);margin:0 0 20px}.visit-widget .visit-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border:0;padding:0;margin:0}.visit-widget .visit-slots>p{grid-column:1/-1;font:16px/1.7 var(--sans)}.visit-widget .visit-slots label{position:relative;display:grid;place-items:center;margin:0;min-width:0;min-height:48px;padding:0;gap:0;border:1px solid var(--line);border-radius:12px;cursor:pointer}.visit-widget .visit-slots span{display:block;width:100%;min-width:0;padding:12px 4px;font:14px/1.3 var(--sans);text-align:center;white-space:nowrap;border-radius:11px}.visit-widget .visit-slots input{position:absolute;width:1px;height:1px;opacity:0;margin:0;padding:0}.visit-widget .visit-slots label:has(input:checked){background:var(--ink);border-color:var(--ink);color:var(--paper)}.visit-widget .visit-slots input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}.visit-widget #visit-contact{padding-top:28px}.visit-preview-note{margin-bottom:0}.floorplan-hint{line-height:1.8}
@media(max-width:760px){.visit-widget{margin-block:32px}.visit-widget .visit-invitation{padding:22px 18px;flex-direction:column;align-items:flex-start;gap:12px}.visit-widget #site-visit{padding:22px 16px}.visit-calendar-layout{grid-template-columns:1fr}.visit-month{padding:18px 12px}.visit-times{padding:22px 16px;border-left:0;border-top:1px solid var(--line)}.visit-month-days button{font-size:15px;aspect-ratio:1}.visit-weekdays{font-size:10px}.visit-widget .visit-slots{grid-template-columns:repeat(3,minmax(0,1fr))}.visit-widget .panel-heading h2{font-size:21px}}

.account-footer{flex-wrap:wrap}.member-bar-styles{padding:20px 0;border-block:1px solid var(--line);margin:22px 0}.member-bar-styles>label{display:grid;gap:10px;font:14px/1.6 var(--mono)}.member-bar-styles select{border:1px solid var(--line);padding:14px;background:var(--paper);color:var(--ink);font:16px/1.5 var(--sans)}.selected-bar-styles{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.selected-bar-styles button{border:1px solid var(--line);padding:10px 14px;font:14px/1.5 var(--sans)}.selected-bar-styles button span{font-size:20px;margin-left:8px}

/* Client names stay on their column tracks, including the final row. */
.client-list{display:grid;grid-auto-flow:row;grid-template-rows:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 30px}
.client-list>a{flex:0 1 calc((100% - 60px)/3);min-width:0;text-align:center;overflow-wrap:break-word}
.mobile-booking-cta{display:none}
@media(max-width:760px){
  .client-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}
  .client-list>a{flex-basis:calc((100% - 20px)/2)}
  .booking-dock,.booking-dock.calendar-open{position:relative;top:auto;z-index:auto;max-height:none;overflow:visible}
  .booking-dock #calendar-panel{max-height:none;overflow:visible}
  .mobile-booking-cta{display:block;position:fixed;inset:0 0 auto;z-index:35;background:var(--paper);padding:calc(6px + env(safe-area-inset-top,0px)) 12px 6px;border-bottom:1px solid var(--line)}
  .mobile-booking-cta .primary{display:flex;align-items:center;justify-content:center;min-height:44px;padding:12px 18px;font-size:14px;line-height:20px;width:100%}
  #reserve{scroll-margin-top:0}
  #booking-panel,#account,#cart,#details,#catering,#clients,#site-visit,#space-highlight,.search-area{scroll-margin-top:calc(72px + env(safe-area-inset-top,0px))}
}

/* One outer alignment for all public booking and content surfaces. */
:root{--content-width:1440px;--page-gutter:32px}
body .wrap,.booking-dock>.wrap,.search-area.wrap,.details-section>.wrap{width:min(var(--content-width),calc(100% - var(--page-gutter)*2));max-width:var(--content-width);margin-inline:auto}
.specification-context{text-align:center;max-width:none!important;width:100%}
.space-specs-disclosure>summary{grid-template-columns:24px 1fr 24px;text-align:center}
.space-specs-disclosure>summary>span:first-child{grid-column:2}
.space-specs-disclosure>summary>.disclosure-icon{grid-column:3;grid-row:1}
.catering-section{padding:0!important;overflow:hidden}
.catering-section>h2{padding:34px 28px;margin:0 auto;max-width:960px}
.catering-section .caterer-list{width:100%;max-width:none;margin:0;border-top:1px solid var(--line);gap:0}
.catering-section .caterer-list button{border-bottom:1px solid var(--line);padding:22px 12px}
.catering-section #caterer-profile{padding:28px;margin:0;border-top:0}
.catering-section .caterer-list button:nth-last-child(-n+3){border-bottom:0}
.booking-dock{padding-bottom:0!important;border-bottom:0}
.booking-dock #search-form{margin-bottom:0}
.booking-dock .booking-bar{margin-bottom:0}
.booking-dock #booking-message:empty{display:none!important;margin:0;padding:0;height:0}
.site-footer{--paper:#080808;--ink:#fafaf7;--muted:#bdbdb8;--line:#3b3b38;background:#080808;color:#fafaf7;width:100%;max-width:none;padding:48px 0 24px;margin:0}
.site-footer .footer-grid{margin-top:0;margin-bottom:44px}
.site-footer .footer-location,.site-footer .footer-contact{font-size:14px}
.site-footer .footer-bottom{padding-bottom:28px}
.newsletter{border-top:1px solid var(--line);padding:30px 0 0;text-align:center}
.newsletter h2{font:14px/1.6 var(--mono);margin:0 0 18px;letter-spacing:.06em}
.newsletter form{max-width:560px;margin:0 auto;display:flex;border:1px solid #777}
.newsletter input{flex:1;min-width:0;border:0;padding:16px;color:inherit;background:transparent;font:16px/1.4 var(--sans)}
.newsletter input::placeholder{color:#aaa}
.newsletter button{padding:16px 22px;border-left:1px solid #777;font:14px/1.4 var(--mono);color:inherit}
.newsletter form:focus-within{outline:1px solid #fafaf7;outline-offset:3px}
#newsletter-status{font:14px/1.6 var(--sans);color:#bdbdb8;margin:14px 0 0}
#newsletter-status:empty{display:none}
@media(max-width:1000px){:root{--page-gutter:24px}}
@media(max-width:760px){:root{--page-gutter:12px}.catering-section>h2{padding:28px 18px}.catering-section #caterer-profile{padding:22px 18px}.site-footer{padding:34px 0 24px}.newsletter button{padding:16px}.space-specs-disclosure>summary{grid-template-columns:24px 1fr 24px;gap:8px}.mobile-booking-cta{padding-bottom:0;border-bottom:0}}
@media(max-width:560px){.catering-section .caterer-list button:nth-last-child(-n+3){border-bottom:1px solid var(--line)}.catering-section .caterer-list button:last-child{border-bottom:0}}

/* Center each venue identity above the hero at every screen size. */
.brand-masthead,.lees-theme .brand-masthead{flex-direction:column;align-items:center;justify-content:center;gap:18px}
.brand-masthead .wordmark{text-align:center;display:flex;justify-content:center;width:100%}
.brand-masthead .hero-addresses,.lees-theme .brand-masthead .hero-addresses{display:flex;justify-content:center;text-align:center;width:100%;margin:0;gap:28px}
@media(max-width:760px){.brand-masthead,.lees-theme .brand-masthead{gap:14px}.brand-masthead .hero-addresses,.lees-theme .brand-masthead .hero-addresses{gap:18px}}

/* Shared footer actions: the same treatment across both venues and editorial pages. */
:is(.footer-bottom, .account-footer, .terms-footer) a:is([href*="blog.html"], [href*="neighborhood.html"], [href*="#booking-help-query"]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 9px 16px;
  border: 1px solid currentColor;
  color: inherit;
  font: 13px/1.7 var(--mono);
  letter-spacing: .04em;
  text-decoration: none;
  white-space: nowrap;
}
:is(.footer-bottom, .account-footer, .terms-footer) a:is([href*="blog.html"], [href*="neighborhood.html"], [href*="#booking-help-query"]):hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
:is(.footer-bottom, .account-footer, .terms-footer) a:is([href*="blog.html"], [href*="neighborhood.html"], [href*="#booking-help-query"]):focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}
.footer-bottom, .account-footer, .terms-footer {
  align-items: center;
}
.footer-editorial {
  gap: 10px;
}

/* Connected room panels and story navigation retain the prototype's linework. */
.room-card{border:1px solid var(--line);min-width:0;align-self:start}
.room-card-heading{margin:0;padding:24px;border-top:1px solid var(--line)}
.room-card .location-spaces{margin:0;border-top:1px solid var(--line)}
.room-card .space-detail-link{padding:20px 24px;border:0}
.room-card .space-detail-link + .space-detail-link{border-top:1px solid var(--line)}
.room-card .space-detail-link[aria-expanded="true"]{background:var(--panel)}
#space-highlight{border:1px solid var(--line);padding:28px;margin-block:0 48px}
#space-highlight .panel-heading{padding-bottom:20px;border-bottom:1px solid var(--line)}
.clients-section{border:0;padding:0;margin-block:36px}
.catering-section .caterer-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);gap:0}
.catering-section .caterer-list button{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.catering-section .caterer-list button:nth-child(3n){border-right:0}
.catering-section .caterer-list button:nth-last-child(-n+3){border-bottom:0}
.space-specs-disclosure>summary{grid-template-columns:minmax(0,1fr) 24px;text-align:left}
.space-specs-disclosure>summary>span:first-child{grid-column:1}
.space-specs-disclosure>summary>.disclosure-icon{grid-column:2}
.space-summary{display:grid;gap:14px;min-width:0}
.space-summary .specification-context{text-align:left;font:17px/1.5 var(--mono);margin:0!important}
.space-essentials{display:flex;flex-wrap:wrap;gap:8px 24px;font:14px/1.6 var(--sans);color:var(--muted)}
.hero-photo-button,.story-image{cursor:pointer;display:block;width:100%;padding:0}
.hero-photo-button,.story-image,.room-image{touch-action:pan-y pinch-zoom;user-select:none}
.hero-photo-button img,.story-image img,.room-image img{-webkit-user-drag:none}
.story-image img{width:100%;display:block}
.story-image:focus-visible,.hero-photo-button:focus-visible,.room-image:focus-visible{outline:2px solid var(--ink);outline-offset:-4px}
.gallery-control,.card-gallery-controls,.detail-slide-controls{display:flex;align-items:center;gap:10px;min-width:0}
.card-gallery-controls{padding:8px 12px;border:0}
.gallery-control{width:100%;max-width:none}
.hero-wide .gallery-footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;border:0}
.hero-wide .gallery-control{order:-1}
.hero-wide #gallery-label{display:none}
.story-markers{display:flex;align-items:center;flex:1;max-width:none;width:100%;min-width:0;gap:5px}
.story-markers .story-marker{position:relative;display:block;flex:1;min-width:0;width:auto;height:44px;padding:20px 0;background:transparent;border:0}
.story-marker:before,.story-marker>span{content:'';position:absolute;inset:5px 0 auto;height:3px;background:var(--muted);opacity:.3;min-width:0}
.story-marker>span{opacity:1;background:var(--ink);transform:scaleX(var(--progress,0));transform-origin:left}
.story-marker[aria-current="true"]:before{opacity:.6}
.story-marker:focus-visible{outline:1px solid var(--ink);outline-offset:2px}
.card-gallery-controls>button,.gallery-control>button,.detail-slide-controls>button{width:36px;height:44px;flex:none}
.room-image:hover img{transform:none}
@media(max-width:760px){
 .room-card-heading{padding:20px 16px}
 .room-card .space-detail-link{padding:20px 16px}
 #space-highlight{padding:20px 16px}
 .clients-section{padding:0}
 .space-summary .specification-context{font-size:15px}
 .space-essentials{gap:6px 16px;font-size:14px}
 .gallery-control{width:100%;max-width:none;gap:4px}
 .gallery-control>button{width:28px}
 .story-markers{gap:4px}
 .catering-section .caterer-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .catering-section .caterer-list button:nth-child(n){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
 .catering-section .caterer-list button:nth-child(2n){border-right:0}
 .catering-section .caterer-list button:last-child{grid-column:1/-1;border:0}
}

/* Box outlines establish sections; standalone page rules are unnecessary. */
.site-header,.details-section,.closing-section,.footer-bottom,.newsletter{border-top:0;border-bottom:0}
.detail-slide-controls{border:0}
.space-details-title{font:17px/1.5 var(--mono)}
.space-summary .specification-context{font-size:14px}
.space-summary,.space-highlight-specs h3,.panel-heading h2,.detail-addresses{text-transform:uppercase}
.story-image .detail-image{margin:0;display:block;aspect-ratio:1.8;object-fit:cover}
.story-image .detail-image.floor-plan{object-fit:contain}
@media(max-width:760px){.space-details-title{font-size:15px}.space-summary .specification-context{font-size:13px}}

/* The SPACE field is a flex column like its neighbors, not a centered grid. */
.booking-dock .booking-bar #space-field{display:flex;align-items:stretch;text-align:left}
.booking-dock .booking-bar #space-field select{text-align:left}
.ask-team-button{display:block;margin:16px auto 0}
.inquiry-trap{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.inquiry-notice{font-size:14px;line-height:1.6}
[data-inquiry-status]{color:var(--ink);font-size:14px}
#inquiry-form select{width:100%;border:1px solid var(--line);padding:12px;background:var(--paper);color:var(--ink)}

.account-surface,.cart-surface{border:1px solid var(--line);padding:0 24px 28px;margin-block:32px;scroll-margin-top:76px}
.account-surface>.panel-heading,.cart-surface>.panel-heading{margin-inline:-24px;padding:24px;border-bottom:1px solid var(--line)}
.account-surface>.account-section-nav{margin-inline:-24px;padding:20px 24px}
.account-surface .wallet-section{border-top:0}
.account-surface .member-booking{border:1px solid var(--line);padding:24px}
.header-menu nav{padding:0}
.header-menu nav>a,.header-menu nav>[data-menu-signout]{padding:12px 21px;margin:0;font:12px/1.4 var(--mono);letter-spacing:.04em}
.header-menu nav>[data-menu-signout]{border-top:1px solid var(--line)}
.wallet-grid .wallet-card{grid-column:1/-1;border:0;border-bottom:1px solid var(--line)}
.wallet-grid .wallet-card:last-child{border-bottom:0}
.wallet-card #wallet-card-editor{width:100%;max-width:none;border:1px solid var(--line);padding:20px;margin-top:24px;box-sizing:border-box}
.signin-button{display:flex;align-items:center;justify-content:center;gap:14px}
.signin-button.provider-google{background:#fff;color:#1f1f1f;border:1px solid #747775;font-family:Arial,sans-serif;text-transform:none}
.signin-button.provider-apple{background:#000;color:#fff;border:1px solid #777;font-family:Arial,sans-serif;text-transform:none}
.signin-button img{flex:none}.signin-button.provider-apple img{filter:invert(1)}
.signin-passkey-note{font:13px/1.6 var(--sans);text-align:center;margin:0}
.booking-dock,.booking-dock.calendar-open{position:relative;top:auto;z-index:auto;max-height:none;overflow:visible}
.booking-dock #calendar-panel{max-height:none;overflow:visible}
.mobile-booking-cta{display:block}
.footer-search-icon{width:16px;height:16px;vertical-align:middle;margin-right:8px;flex:none}
@media(min-width:761px){
 .mobile-booking-cta{position:fixed;inset:16px 32px auto auto;z-index:35;background:transparent;padding:0;width:auto}
 .mobile-booking-cta .primary{display:block;min-height:44px;padding:14px 24px;font-size:14px}
}
@media(max-width:760px){
 .account-surface,.cart-surface{padding-inline:16px}
 .account-surface>.panel-heading,.cart-surface>.panel-heading{margin-inline:-16px;padding:20px 16px}
 .account-surface>.account-section-nav{margin-inline:-16px;padding:18px 16px}
}

/* Story progress meets the photo edges, with a generous invisible tap target. */
.hero-wide .gallery-footer,.card-gallery-controls,.detail-slide-controls{padding:0;gap:0}
.hero-wide .gallery-footer{width:100%;margin:0}
.gallery-control{width:100%;max-width:none}
.footer-bottom #contact-us{display:inline-flex;align-items:center;border:1px solid var(--line);padding:10px 14px;color:var(--muted);white-space:nowrap}

/* The open calendar has one action: select the chosen date or dates. */
.booking-dock.calendar-open .booking-bar .search-button{display:none}
@media(min-width:1181px){
 .booking-dock.calendar-open .booking-bar{grid-template-columns:minmax(125px,1.05fr) minmax(125px,1fr) minmax(210px,1.5fr) minmax(135px,1.1fr) minmax(78px,.6fr)}
 .booking-dock.calendar-open .booking-bar.has-subspaces{grid-template-columns:minmax(105px,.8fr) minmax(165px,1.15fr) minmax(120px,.9fr) minmax(220px,1.7fr) minmax(140px,1.1fr) minmax(75px,.6fr)}
 .booking-dock.calendar-open .booking-bar .guests-field{border-right:0}
}

/* Full-width photography sized to the viewport, with a rule beneath the header. */
.site-header{margin-inline:0;padding-inline:var(--page-gutter,32px);border-bottom:1px solid var(--line)}
.hero-wide .hero-photo-button img,.hero-wide #hero-video{height:clamp(240px,55svh,640px);aspect-ratio:auto;min-height:0;max-height:none;object-fit:cover;object-position:center}
@media(max-width:760px){
 .hero-wide .hero-photo-button img,.hero-wide #hero-video{height:clamp(240px,48svh,480px)}
}
.hero-wide.gallery-expanded .hero-photo-button img{height:80vh;aspect-ratio:auto;object-fit:contain}

/* Unified booking and service selection, September 12. */
html{scroll-padding-top:100px}
body .site-header{position:sticky;top:0;z-index:100;background:var(--paper,var(--bg,#fafaf7));isolation:isolate;box-shadow:0 4px 18px #00000008}
body.lees-theme .site-header{background:#350f1b}
body .header-book{font-size:12px;border-radius:12px;padding:11px 15px;background:var(--button);color:var(--button-text);text-decoration:none}
body .header-book:after{content:none}
body button,body .primary,body .text-button,body input,body select,body textarea,body [role=button],body .dismiss-button,body .header-menu summary{border-radius:12px}
body .booking-bar,body .package-group,body .space-specs-disclosure,body .room-booking-item,body .checkout-policy,body .calendar-integrated,body .contact-form input,body .account-signin,body .cart-surface,body .visit-widget,body .header-menu nav,body .inline-panel,body .signin-button,body .booking-help-search{border-radius:18px}
body .booking-bar{overflow:hidden}
body #booking-panel.checkout-integrated{width:100%;max-width:none;margin:0;padding:32px clamp(16px,3vw,40px);border:1px solid var(--line);border-top:0;border-radius:0 0 20px 20px;background:var(--panel)}
body .booking-dock:has(#booking-panel:not([hidden])) .booking-bar{border-radius:18px 18px 0 0}
body #booking-panel .panel-heading>.eyebrow{display:none}
body #booking-panel>.panel-heading{justify-content:flex-end;margin-bottom:0}
body #booking-panel h2{margin-top:0}
body .booking-dock{scroll-margin-top:92px}
.service-thumbnails{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 24px}
body .service-thumb{padding:0;border:1px solid var(--line);overflow:hidden;text-align:left;display:flex;flex-direction:column;align-items:stretch;background:transparent;color:var(--ink);min-width:0}
.service-thumb img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;background:#efeeea}
.service-thumb-copy{padding:14px;display:grid;gap:7px}
.service-thumb strong{font:13px/1.4 var(--mono);text-transform:uppercase;overflow-wrap:anywhere}
.service-thumb small{font:12px/1.5 var(--sans);color:var(--muted)}
.service-selection{font:10px/1.5 var(--mono);letter-spacing:.03em}
body .service-thumb[aria-pressed=true]{border:2px solid var(--ink);box-shadow:0 0 0 1px var(--ink)}
body .service-thumb:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.bar-thumbnails{grid-template-columns:repeat(2,minmax(0,1fr));max-width:640px}
.catering-thumbnails{grid-template-columns:repeat(2,minmax(0,1fr));max-width:640px}
.catering-thumbnails .service-thumb img{object-fit:cover}
body .package-group{margin-bottom:18px;border:1px solid var(--line);overflow:hidden}
body .package-group summary{padding:22px 24px}
body .package-body{padding:0 24px 24px}
.package-body>label{display:block;font:12px/1.5 var(--mono);margin:16px 0 8px}
.package-body>select{width:100%;padding:13px;border:1px solid var(--line);background:transparent}
body .package-body .add-later-note{margin:0 0 16px;line-height:1.6}
body .staffing-summary{margin-top:24px}
body .floorplan-section{margin:0;padding:26px;width:100%;border-top:1px solid var(--line)}
body .floorplan-section .floorplan-frame{border-radius:14px;overflow:hidden}
body .floorplan-section .floorplan-expand{width:100%}
body .small-details-link{display:inline-block;font:11px/1.6 var(--mono);margin-top:12px;text-underline-offset:4px}
.space-details-caption{text-decoration:underline;text-underline-offset:4px}
body .ask-dialog{width:min(720px,calc(100% - 32px));max-height:85dvh;border:1px solid var(--line);border-radius:22px;padding:24px;background:var(--panel,#fafaf7);color:var(--ink);margin:auto}
body.lees-theme .ask-dialog{background:#350f1b}
.ask-dialog::backdrop{background:#0006;backdrop-filter:blur(4px)}
body .ask-dialog .search-area{width:100%;margin:0;padding:8px 0}
body .ask-dialog h2{font:20px/1.4 var(--mono)}
body #contact-us{border:0;border-radius:12px;background:var(--button);color:var(--button-text);padding:12px 18px;text-decoration:none}
body .mobile-booking-cta{display:none!important}
@media(max-width:760px){html{scroll-padding-top:80px}body .header-book{font-size:10px;padding:10px 8px}body .brand-switch{gap:7px;font-size:11px}body #booking-panel.checkout-integrated{padding:20px 14px}.service-thumbnails,.catering-thumbnails{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.service-thumb-copy{padding:10px}.service-thumb strong{font-size:11px}.service-thumb small{font-size:11px}body .package-group summary{padding:18px 14px}body .package-body{padding:0 14px 18px}body .floorplan-section{padding:18px}body .header-menu nav{min-width:180px}body .service-fields{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:no-preference){.service-thumb{transition:border-color .15s,box-shadow .15s}.service-thumb:hover{box-shadow:0 2px 10px #00000012}}
body .package-body select,body .package-body input{box-sizing:border-box;border:1px solid var(--line);border-radius:12px;background:transparent;color:var(--ink);padding:12px;font-size:16px;max-width:100%}
body .package-body select{width:100%}
body #bar-upgrades>label{display:block;font:12px/1.5 var(--mono);margin:18px 0 8px}
body .package-body>.bartender-count{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
body .bartender-count input{width:76px;flex:none}
body .member-selected-images>.service-thumbnails{width:100%}
/* The customer progresses through one checkout surface. */
.checkout-progress{padding:14px 0 20px}
.checkout-progress ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}
.checkout-progress button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;padding:10px;border:1px solid var(--line);font:12px/1.4 var(--mono);color:var(--ink);background:transparent}
.checkout-progress button span{display:grid;place-items:center;width:24px;height:24px;flex:none;border:1px solid currentColor;border-radius:50%}
.checkout-progress [aria-current=step]{background:var(--button);color:var(--button-text);border-color:var(--button)}
.checkout-progress button:disabled{opacity:1;color:var(--muted);cursor:default}
body #booking-panel.checkout-integrated{border-top:1px solid var(--line);border-radius:20px}
.checkout-step-description{font:15px/1.6 var(--sans);color:var(--muted);margin:10px 0 24px}
.review-contact{border:1px solid var(--line);border-radius:16px;padding:22px;margin:24px 0;line-height:1.7}
.checkout-menu{border:1px solid var(--line);border-radius:12px;padding:14px;margin-top:14px}
.checkout-menu summary{font:12px/1.5 var(--mono);cursor:pointer}
.checkout-menu h4{margin:18px 0 8px}.checkout-menu li{line-height:1.6}
#checkout-contact-form .inline-actions,#request-form .inline-actions{justify-content:space-between}
@media(max-width:760px){.checkout-progress{padding:12px 0}.checkout-progress ol{gap:5px}.checkout-progress button{flex-direction:column;gap:6px;font-size:9px;padding:8px 3px}.checkout-progress button span{width:22px;height:22px}body .review-contact{padding:16px}#checkout-contact-form .inline-actions,#request-form .inline-actions{flex-wrap:wrap;gap:16px}#checkout-contact-form .primary,#request-form .primary{width:100%;justify-content:center}}
body .footer-bottom #contact-us,body .footer-bottom .footer-book{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid currentColor;border-radius:12px;background:transparent;color:inherit;padding:9px 16px;font:13px/1.7 var(--mono);letter-spacing:.04em;white-space:nowrap}
body .footer-bottom>a,body .footer-bottom .footer-editorial>a{border-radius:12px}
body .newsletter form{border-radius:16px;overflow:hidden}
body .newsletter input{border-radius:15px 0 0 15px}
body .newsletter button{border-radius:0 15px 15px 0}
body .newsletter input:focus-visible{outline-offset:-4px}

/* Booking entry and consistent single-pixel outlines. */
.checkout-progress button,#reserve .primary,#reserve .text-button{text-transform:uppercase}
body .booking-dock .booking-bar{border-color:var(--line)}
body .booking-dock .booking-bar:focus{border-color:var(--ink);outline:2px solid var(--ink);outline-offset:2px}
body .booking-dock.calendar-open .booking-bar{border-radius:18px 18px 0 0}
body .booking-dock #calendar-panel{border-color:var(--line);border-radius:0 0 18px 18px}
body .booking-dock .booking-field :is(input,select){border-radius:4px}
body .booking-dock .booking-field :is(input,select,button):focus-visible{outline-width:2px;outline-offset:2px}
@media(max-width:1180px){
 body .booking-dock .booking-bar .guests-field{border-right:0}
 body .booking-dock.calendar-open .booking-bar :is(.time-field,.event-field,.guests-field){border-bottom:0}
}
@media(min-width:761px) and (max-width:1180px){
 body .booking-dock .booking-bar:not(.has-subspaces) .date-field,body .booking-dock .booking-bar.has-subspaces .date-field{border-right:0}
}
@media(max-width:760px){
 body .booking-dock .booking-bar :is(.date-field,.time-field),body .booking-dock .booking-bar:not(.has-subspaces) .room-field,body .booking-dock .booking-bar #space-field{border-right:0}
 body .booking-dock.calendar-open .booking-bar .time-field{border-bottom:1px solid var(--line)}
}
/* Photography stays square; grouped caterers keep a rounded enclosure. */
body .hero-photo-button,body .hero-photo-button img,body .hero-photo-button video,body .room-image,body .room-image img{border-radius:0}
body .catering-section .caterer-list{border-radius:18px;overflow:hidden}
body .catering-section .caterer-list button{border-radius:0}
body .catering-section .caterer-list button:focus-visible{outline-offset:-3px}
body .newsletter form{width:100%;max-width:none}
body .newsletter input{padding:10px 14px;font-size:14px;min-height:44px}
body .newsletter button{padding:10px 18px;font-size:12px;min-height:44px}

/* Compact staffing choices use small images beside their labels. */
.staffing-group .service-thumbnails{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body .staffing-group .service-thumb{display:grid;grid-template-columns:80px minmax(0,1fr);align-items:center;gap:12px;padding:12px;min-height:108px}
.staffing-group .service-thumb img{width:80px;height:80px;border-radius:8px}
.staffing-group .service-thumb-copy{padding:0;gap:5px}
.staffing-group .service-thumb strong{font-size:12px}
body .service-thumb[aria-pressed=true]{border-width:1px;box-shadow:inset 0 0 0 1px var(--ink)}
@media(max-width:760px){
 .staffing-group .service-thumbnails{grid-template-columns:1fr}
 body .staffing-group .service-thumb{grid-template-columns:64px minmax(0,1fr);min-height:90px;padding:10px}
 .staffing-group .service-thumb img{width:64px;height:64px}
}

#bar-upgrades .service-thumbnails{grid-template-columns:repeat(2,minmax(0,1fr))}
body :is([data-bar-upgrade],[data-member-upgrade]){display:grid;grid-template-columns:80px minmax(0,1fr);align-items:center;gap:12px;padding:12px}
:is([data-bar-upgrade],[data-member-upgrade]) img{width:80px;height:80px;border-radius:8px}
:is([data-bar-upgrade],[data-member-upgrade]) .service-thumb-copy{padding:0}
@media(max-width:760px){
 #bar-upgrades .service-thumbnails{grid-template-columns:1fr}
 body :is([data-bar-upgrade],[data-member-upgrade]){grid-template-columns:64px minmax(0,1fr);padding:10px}
 :is([data-bar-upgrade],[data-member-upgrade]) img{width:64px;height:64px}
}

/* Space specifications read as actual lists with aligned bullet markers. */
body .space-essentials{display:block;padding:0;text-align:center}
.space-essentials [role=listitem]{display:block;list-style:none;padding:0}
.space-essentials [role=listitem]+[role=listitem]{margin-top:4px}
.specification-grid .spec-list{margin:0;padding-left:1.2em;list-style:disc outside;text-align:left;font:15px/1.7 var(--sans);color:var(--muted)}
.specification-grid .spec-list li{padding-left:2px}
.specification-grid .spec-list li+li{margin-top:6px}
.specification-grid h3{text-align:left}
@media(max-width:760px){.space-specs-disclosure .details-box{grid-template-columns:minmax(0,1fr)}.specification-grid .spec-list{font-size:14px}}
/* Compact selectable services and connected quantity controls. */
.service-thumbnails{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body .service-thumb,body .staffing-group .service-thumb,#bar-upgrades .service-thumb{display:grid;grid-template-columns:80px minmax(0,1fr);align-items:center;gap:14px;padding:12px;text-align:left;min-height:106px}
.service-thumb img,.staffing-group .service-thumb img,#bar-upgrades .service-thumb img{width:80px;height:80px;aspect-ratio:1;object-fit:cover;border-radius:8px}
.service-thumb-copy{padding:0;min-width:0}.service-thumb strong{font:12px/1.5 var(--mono);text-transform:uppercase}.service-thumb small{font:12px/1.5 var(--sans)}.service-selection{font:10px/1.5 var(--mono)}
.staff-service-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}.staff-service-card:has([aria-pressed=true]){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.staff-service-card>.service-thumb{border:0;box-shadow:none!important;background:transparent;width:100%;border-radius:0}.staff-description{padding:0 14px 14px;margin:0;font:12px/1.6 var(--sans);color:var(--muted)}.service-quantity{display:flex;gap:8px;align-items:center;margin:auto 14px 14px;font:11px var(--mono)}.service-quantity input{width:56px;min-width:56px;height:40px;text-align:center;padding:6px;border:1px solid var(--line);border-radius:10px;font:16px var(--sans);background:transparent;color:inherit}.service-quantity button{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;font:20px var(--sans)}.service-quantity label{margin-right:auto}.service-quantity input::-webkit-inner-spin-button{appearance:none}
.package-body>h4{font:12px/1.5 var(--mono);margin:26px 0 12px}.caterer-choices{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.caterer-choices button{font:11px/1.5 var(--mono);text-transform:uppercase;padding:10px 12px;border:1px solid var(--line);border-radius:12px}.caterer-choices button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.selected-provider{grid-template-columns:80px minmax(0,1fr);gap:18px}.selected-provider-image{max-width:80px}.selected-provider-image img{width:80px;height:80px;object-fit:cover}.selected-provider-image small{font-size:10px}.selected-provider h3{font-size:14px}.selected-provider p{font-size:13px}
.package-headcount{border:1px solid var(--line);border-radius:18px;padding:20px;margin:24px 0;display:block}.package-headcount label{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;font:12px/1.6 var(--mono)}.package-headcount label span{font:13px/1.6 var(--sans);color:var(--muted)}.package-headcount input{display:block;min-width:110px;width:110px;height:48px;border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin-top:12px;font:18px var(--sans);color:var(--ink);background:var(--paper)}
.event-type-inline{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px;font:13px/1.6 var(--mono)}.event-type-inline .text-button{font:12px var(--mono);text-transform:none;margin:0;padding:0;text-decoration:underline}.event-type-field{margin:24px 0}.event-type-field>p:empty{display:none}#checkout-type-editor{margin-top:12px;max-width:400px}#checkout-type-editor label{display:grid;gap:8px;font:12px var(--mono);margin:12px 0}#checkout-type-editor select,#checkout-type-editor input{border:1px solid var(--line);border-radius:12px;padding:12px;font:16px var(--sans);color:inherit;background:transparent}
.quote-row{font:12px/1.7 var(--mono);text-transform:uppercase;gap:22px;align-items:start;font-variant-numeric:tabular-nums}.quote-row>span:last-child{flex-shrink:0;max-width:42%;text-align:right}.quote-row small{font:11px/1.7 var(--mono)}.quote-row.total{font:16px/1.6 var(--mono)}.quote-security{border-radius:16px}.quote-footnote{font-size:12px;line-height:1.7}
[aria-invalid=true]{border-color:#aa5149!important;outline:2px solid #aa514940;outline-offset:2px}.field-error{border-color:#aa5149!important;background:color-mix(in srgb,#aa5149 6%,var(--paper));border-radius:12px}.field-error-message{display:block;font:12px/1.6 var(--sans);color:#a3423d;margin-top:8px}.lees-theme .field-error-message{color:#ffb4aa}.field-error:has(input:focus){outline:none}.clients-disclosure{border:1px solid var(--line);border-radius:20px;overflow:hidden}.clients-disclosure>summary{display:grid;grid-template-columns:24px minmax(0,1fr) 24px;align-items:center;gap:12px;cursor:pointer;list-style:none;padding:24px}.clients-disclosure>summary::-webkit-details-marker{display:none}.clients-disclosure>summary h2{grid-column:2;margin:0;text-align:center;font:13px/1.5 var(--mono)}.clients-disclosure>summary span{grid-column:3;justify-self:end;font-size:20px}.clients-disclosure[open]>summary span{transform:rotate(45deg)}.clients-disclosure .client-list{border:0;border-radius:0;margin:0;padding:0 24px 24px}
@media(max-width:760px){.service-thumbnails{grid-template-columns:1fr}body .service-thumb,body .staffing-group .service-thumb,#bar-upgrades .service-thumb{grid-template-columns:64px minmax(0,1fr);min-height:88px;gap:12px}.service-thumb img,.staffing-group .service-thumb img,#bar-upgrades .service-thumb img{width:64px;height:64px}.selected-provider{grid-template-columns:64px minmax(0,1fr);gap:12px}.selected-provider-image img{width:64px;height:64px}.quote-row{font-size:11px;gap:12px}.quote-row.total{font-size:14px}.package-headcount{padding:16px}.clients-disclosure>summary{padding:18px}.clients-disclosure .client-list{padding:0 18px 18px}}
.ask-dialog{max-width:620px;width:calc(100% - 24px);padding:24px;border:1px solid var(--line);border-radius:24px}.ask-dialog .search-area{display:flex;flex-direction:column}.ask-dialog #help-panel{display:contents}.ask-dialog #help-panel[hidden]{display:contents!important}.ask-dialog .help-top{order:0;border:0;padding:0 0 14px}.ask-dialog #close-help{display:none}.ask-dialog .question-chips{order:1;margin:0 0 16px}.ask-dialog #help-answers{order:2;display:flex;flex-direction:column;gap:12px;overflow-y:auto;max-height:48dvh;min-height:150px;padding:8px 2px 18px;scroll-behavior:smooth;border:0}.ask-message{max-width:88%;padding:12px 16px;border-radius:19px;font:15px/1.55 var(--sans);white-space:pre-line}.ask-message p{margin:0;font:inherit;color:inherit}.ask-user{align-self:flex-end;background:var(--ink);color:var(--paper);border-bottom-right-radius:5px}.ask-reply{align-self:flex-start;background:var(--panel);border:1px solid var(--line);border-bottom-left-radius:5px}.ask-dialog #ask-contact-team{order:3;font:11px var(--mono);align-self:flex-start;margin:8px 0 14px}.ask-dialog #booking-help-search{order:4;position:sticky;bottom:0;background:var(--paper);border:1px solid var(--line);border-radius:24px;min-height:48px;padding:0 6px 0 0;outline:none;box-shadow:none}.ask-dialog #booking-help-search:focus-within{border-color:var(--ink);outline:none;box-shadow:none}.ask-dialog #booking-help-query{appearance:none;border:0;box-shadow:none;background:transparent;font:16px var(--sans);min-height:48px;min-width:0;padding:12px 16px}.ask-dialog .help-preview{order:5;font:10px/1.6 var(--mono);margin-top:12px;padding-top:0;border:0;color:var(--muted)}
.checkout-policy p,.checkout-policy .room-hold-note,.checkout-policy .selected-policy,.checkout-policy .policy-no-refunds{font:14px/1.75 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink);padding:0;border:0;background:none}.checkout-policy h3{font:14px/1.6 var(--mono);margin-bottom:18px}.checkout-policy .selected-policy{font:12px/1.6 var(--mono);margin-top:20px}.checkout-policy{padding:24px}.booking-notifications{border:1px solid var(--line);border-radius:16px;padding:18px}.sms-consent{display:flex!important;align-items:flex-start;gap:12px;font:13px/1.6 var(--sans)!important}.sms-consent input{width:20px!important;height:20px;min-width:20px;margin-top:2px;accent-color:var(--ink)}.booking-notifications>p{font:12px/1.6 var(--sans);margin-bottom:12px}.inline-terms{border:1px solid var(--line);border-radius:16px;margin:18px 0;padding:18px}.inline-terms summary{font:12px/1.6 var(--mono);cursor:pointer}.inline-terms p{font:14px/1.7 var(--sans);margin-top:14px}

/* Scroll short dialogs instead of clipping the conversation. */
body .ask-dialog[open]{display:flex;flex-direction:column;height:min(720px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);overflow:clip;padding:20px}
body .ask-dialog>.panel-heading{flex:none;margin:0 0 12px}
/* A definite dialog height avoids zero-height flex sizing in constrained windows. */
body .ask-dialog .search-area{min-height:0;overflow-y:auto;overscroll-behavior:contain;flex:1 1 auto}
body .ask-dialog #help-answers{flex:1 0 100px;min-height:100px;max-height:42dvh;scroll-behavior:auto}
body .ask-dialog #booking-help-search{position:static}
body .ask-dialog .ask-message{flex-shrink:0}
body .ask-dialog #help-answers .ask-message p{color:inherit}
body .ask-dialog .help-top,body .ask-dialog .question-chips,body .ask-dialog #booking-help-search,body .ask-dialog .help-preview,body .ask-dialog #ask-contact-team{flex-shrink:0}

/* A simple conversation with the composer below it. */
body .ask-dialog #help-answers{flex:1 1 auto;min-height:120px;max-height:none;padding:14px 4px;gap:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);scrollbar-gutter:stable;overscroll-behavior:contain}
body .ask-dialog .ask-message{max-width:94%;padding:12px 14px;font:14px/1.6 var(--sans)}
body .ask-dialog #help-answers .ask-message p{font:inherit}
body .ask-dialog #booking-help-search{order:3;width:100%;margin:14px 0 0;border-radius:14px}
body .ask-dialog #booking-help-query{font:16px/1.5 var(--mono);padding:12px 14px}
body .ask-dialog .ask-typing{display:flex;align-items:center;gap:5px;align-self:flex-start;min-height:42px;border:1px solid var(--line);background:var(--panel)}
.ask-typing span{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.35;animation:ask-dot .7s ease-in-out infinite}
.ask-typing span:nth-child(2){animation-delay:.1s}.ask-typing span:nth-child(3){animation-delay:.2s}
.ask-response-enter{animation:ask-reply-in .18s ease-out both}
@keyframes ask-dot{50%{opacity:1;transform:translateY(-3px)}}
@keyframes ask-reply-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.ask-typing span,.ask-response-enter{animation:none}.ask-typing span{opacity:.6}}

#slideshow-gallery{scroll-margin-top:90px}

.ask-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.ask-links a{display:inline-flex;align-items:center;min-height:40px;padding:8px 12px;border:1px solid currentColor;border-radius:12px;font:11px/1.5 var(--mono);text-decoration:underline;text-underline-offset:3px;white-space:normal}.ask-links a:hover{background:var(--paper)}

/* Compact specifications with the plan and photo gallery in the same disclosure. */
.space-specs-disclosure #details-grid{padding:0 24px 20px}
.space-specs-disclosure .specification-grid>section{padding:20px 18px!important;text-align:left}
.space-specs-disclosure .specification-grid h3{font:13px/1.5 var(--mono);letter-spacing:.04em;color:var(--ink)}
.space-specs-disclosure .spec-list{font:15px/1.65 var(--sans);text-transform:none}
.space-specs-disclosure .spec-list li+li{margin-top:5px}
body .floorplan-section{padding:24px}
body .floorplan-section h2,.details-mini-gallery h2{margin:0;font:14px/1.5 var(--mono);letter-spacing:.04em}
body .floorplan-section .floorplan-frame{max-width:360px;margin:20px auto 0}
body .floorplan-section #floorplan-image{height:180px;max-height:none;object-fit:contain}
body .floorplan-section .floorplan-frame.expanded{max-width:100%;overflow-x:auto}
body .floorplan-section .floorplan-frame.expanded #floorplan-image{height:auto}
body .floorplan-section .floorplan-hint{font-size:11px;margin-top:12px}
.details-mini-gallery{padding:24px;border-top:1px solid var(--line)}
.details-mini-slides{width:min(560px,100%);margin:18px auto 0}
.details-mini-slides .story-image{display:block;width:100%;padding:0;overflow:hidden;border:0;border-radius:0;background:var(--panel)}
.details-mini-slides .story-image img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:0}
.details-photo-controls{display:flex;align-items:center;gap:12px}
.details-photo-controls>button{flex:none;width:44px;height:44px;padding:0;font:20px/1 var(--sans)}
.details-photo-controls .story-markers{flex:1;min-width:0}
.details-media-caption{margin-top:8px;font:13px/1.6 var(--sans);color:var(--muted)}
.details-media-unavailable{padding:24px;border-top:1px solid var(--line);font:14px/1.6 var(--sans);color:var(--muted)}
@media(max-width:760px){.space-specs-disclosure #details-grid{padding:0 16px 16px}.space-specs-disclosure .specification-grid>section{padding:18px 0!important}body .floorplan-section,.details-mini-gallery{padding:20px 16px}.details-mini-slides{margin-top:16px}}

/* Compact house menus and one consistent outline per staffing card. */
body .checkout-menu,body .member-menu,body .member-menu :is(summary,h4,li,p),body .checkout-menu :is(summary,h4,li,p){font-family:var(--mono);font-size:12px;font-weight:400;line-height:1.75;text-transform:uppercase;letter-spacing:.025em}
body .checkout-menu{padding:16px 20px;border:1px solid var(--line);border-radius:16px}
body .checkout-menu summary{padding:0;display:list-item;list-style-position:inside}
body .checkout-menu h4{margin:20px 0 8px;font-size:12px;letter-spacing:.09em}
body .checkout-menu ul{padding-left:18px;margin:0 0 18px}
body .checkout-menu li{padding:2px 0}
body .staff-service-card{border:1px solid var(--line);box-shadow:none;gap:0}
body .staff-service-card:has([aria-pressed=true]){border:1px solid var(--ink);box-shadow:none;background:#e9ece620}
body .staff-service-card>.service-thumb,body .staff-service-card>.service-thumb[aria-pressed=true]{border:0!important;box-shadow:none!important;border-radius:0;padding:14px 14px 12px}
body .staff-service-card>.service-thumb:disabled{opacity:1;cursor:default}
body .staff-service-card .staff-description{margin:0;padding:2px 16px 16px;border:0;line-height:1.65}
body .staff-service-card .service-quantity{margin:4px 16px 16px;gap:10px}
body .staff-service-card .service-quantity button{padding:0;display:grid;place-items:center;min-height:40px}
body .catering-dietary{display:grid;gap:10px;margin:24px 0;font:12px/1.6 var(--mono)}
body .catering-dietary textarea{width:100%;min-height:110px;padding:14px;border:1px solid var(--line);border-radius:16px;background:transparent;color:var(--ink);font:14px/1.5 var(--sans)}
body .catering-dietary small{font:12px/1.5 var(--sans);color:var(--muted)}

/* Editable cart: the badge and list share the same set of selected line items. */
.cart-item-count,.cart-headcount,.editable-cart-line h3,.cart-line-price,.cart-line-controls,.cart-required{font:12px/1.6 var(--mono);text-transform:uppercase}
.cart-item-count{margin:24px 0 16px}
.cart-headcount{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px;border:1px solid var(--line);border-radius:14px;margin:0 0 20px}
.cart-headcount input{width:90px;min-width:0;height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:transparent;color:inherit;font:16px var(--sans)}
.cart-headcount span{font:12px/1.6 var(--sans);text-transform:none;color:var(--muted)}
.editable-cart-lines{border:1px solid var(--line);border-radius:16px;overflow:hidden}
.editable-cart-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;padding:20px}
.editable-cart-line+.editable-cart-line{border-top:1px solid var(--line)}
.editable-cart-line h3{margin:0;font-weight:400}.cart-line-copy p{font:12px/1.6 var(--sans);color:var(--muted);margin:6px 0 0}
.cart-line-price{text-align:right;white-space:nowrap;font-weight:400}
.cart-line-controls{grid-column:1/-1;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.cart-line-controls .text-button{margin:0;padding:8px 0;min-height:40px;font:11px var(--mono);text-decoration:underline;text-underline-offset:4px}
.cart-quantity{display:flex;align-items:center;gap:8px;margin-right:auto}.cart-quantity>span{margin-right:6px;font-size:10px}
.cart-quantity input{width:54px;height:40px;min-width:0;padding:6px;text-align:center;border:1px solid var(--line);border-radius:10px;background:transparent;color:inherit;font:16px var(--sans)}
.cart-quantity button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:50%;font:20px var(--sans)}
.cart-quantity button:disabled{opacity:.35}.cart-quantity input::-webkit-inner-spin-button{appearance:none}
.cart-required{font-size:10px;color:var(--muted)}.cart-totals{margin:24px 0}.cart-surface #cart-edit-status{font:12px/1.6 var(--mono);min-height:1.6em}
@media(max-width:600px){.editable-cart-line{padding:16px;gap:12px}.editable-cart-line h3,.cart-line-price{font-size:11px}.cart-line-controls{gap:10px}.cart-headcount{gap:10px}.cart-headcount span{flex-basis:100%}.cart-quantity{gap:6px}.cart-quantity>span{margin-right:2px}}

/* A single compact grid for bar selections, with choices kept inside their card. */
.bar-options-grid{align-items:start}
.bar-option-card>.service-thumb{width:100%}
.bar-option-card:has(.spritz-choices:not([hidden])){border:1px solid var(--ink);border-radius:16px;overflow:hidden}
body .bar-option-card:has(.spritz-choices:not([hidden]))>.service-thumb{border:0;box-shadow:none}
.spritz-choices{padding:0 14px 14px}
.spritz-choices>p{font:10px/1.5 var(--mono);margin:6px 0 10px}
.spritz-choices>div{display:flex;flex-wrap:wrap;gap:6px}
.spritz-choices button{font:11px/1.4 var(--mono);text-transform:uppercase;padding:8px 10px;border:1px solid var(--line);border-radius:10px}
.spritz-choices button[aria-pressed=true]{background:var(--ink);color:var(--paper,#fafaf7);border-color:var(--ink)}
.spritz-choices [data-spritz-error]:empty{display:none}
.spritz-choices.field-error{background:#b4433510}
.spritz-choices [data-spritz-error]{color:#9a3730}
body .service-quantity input,body .cart-quantity input{font:13px/1 var(--mono)}
body .service-quantity button,body .cart-quantity button{font:18px/1 var(--mono)}
.checkout-policy #selected-policy-copy{color:var(--ink)}
/* Keep notification checkboxes aligned with their labels, outside text-field sizing. */
body .booking-notifications .update-choice{display:flex;align-items:center;gap:12px;margin:0;font:12px/1.5 var(--mono);cursor:pointer}
body .booking-notifications .update-choice input[type=checkbox]{appearance:auto;width:20px!important;height:20px;min-width:20px;min-height:20px;max-width:20px;padding:0!important;margin:0;flex:0 0 20px;border-radius:4px;accent-color:var(--ink)}
body .booking-notifications .update-choice input:disabled{opacity:1;cursor:default}
.update-choice span{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}
.update-choice small{font:10px/1.5 var(--mono);color:var(--muted)}
.booking-notifications .update-choice-note{font:12px/1.6 var(--sans);margin:6px 0 18px 32px;color:var(--muted)}
.booking-notifications>.package-note{margin-bottom:0}
body #booking-panel.checkout-collapsed{padding-block:16px}
body #booking-panel.checkout-collapsed>.panel-heading{align-items:center;justify-content:space-between}
body #booking-panel.checkout-collapsed .panel-heading>.eyebrow{display:block;font:12px/1.5 var(--mono)}
body #booking-panel #close-booking{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center}
body .booking-notifications .update-choice{flex-direction:row!important;justify-content:flex-start;text-align:left}

/* Date selection is a contained step before time and guest details. */
body .booking-dock.calendar-open #search-form{display:none}
body .booking-dock.calendar-open #calendar-panel{border:1px solid var(--line);border-radius:18px;margin-top:0}

body .booking-schedule-edit{display:inline;padding:2px 4px;font:12px/1.5 var(--mono);color:var(--ink);text-transform:none;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.checkout-schedule{font:12px/1.7 var(--mono);margin:14px 0}

/* Present all recommended caterers together, with a quiet shared heading. */
body .catering-section>h2{font:400 14px/1.5 var(--mono);letter-spacing:.06em;margin:0 auto 20px;text-align:center}
body .catering-thumbnails{margin-bottom:26px;padding-bottom:26px;border-bottom:1px solid var(--line)}

/* Provider choice precedes menu selection and event dietary notes. */
.catering-primary-choices{margin-bottom:14px}
.catering-recommended-choices{margin-top:12px}
#house-menu-choices>h4{font:12px/1.5 var(--mono);margin:22px 0 12px}
#selected-food-preview+.catering-dietary{margin-top:24px}

.extra-hours-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.extra-hours-fields label{font:11px/1.6 var(--mono)}.extra-hours-fields input{display:block;width:100%;margin-top:8px;border:1px solid var(--line);border-radius:12px;padding:12px;font:14px var(--mono)}

/* Space, date and time first; booking details follow in checkout. */
body .booking-dock .booking-bar{grid-template-columns:minmax(150px,1fr) minmax(170px,1fr) minmax(235px,1.4fr) minmax(155px,.9fr)}
body .booking-dock .booking-bar.has-subspaces{grid-template-columns:minmax(120px,.85fr) minmax(175px,1.1fr) minmax(170px,1fr) minmax(235px,1.4fr) minmax(155px,.9fr)}
body .clients-disclosure .client-list{width:100%;max-width:none;margin-inline:0;box-sizing:border-box;grid-auto-flow:row;grid-template-rows:none}
.card-gallery-controls{display:flex;align-items:center;gap:12px}.card-gallery-controls .story-markers{flex:1;min-width:0}.card-gallery-controls>button{flex:0 0 36px;height:36px;padding:0;font:22px/1 var(--mono)}
@media(max-width:1100px){body .booking-dock .booking-bar,body .booking-dock .booking-bar.has-subspaces{grid-template-columns:repeat(2,minmax(0,1fr))}body .booking-dock .booking-bar .time-field{grid-column:auto}body .booking-dock .booking-bar.has-subspaces .time-field{grid-column:1/-1}body .booking-dock .booking-bar .search-button{grid-column:1/-1}}
@media(max-width:520px){body .booking-dock .booking-bar .time-field{grid-column:1/-1}body .booking-dock .booking-bar .booking-field{border-bottom:1px solid var(--line)}}

body .calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:66px;height:auto;padding:9px 2px}body .calendar-day small{font:10px/1.2 var(--mono);white-space:nowrap;color:inherit}.calendar-rate-note{font:11px/1.6 var(--mono);color:var(--muted)}#calendar-room-summary{font:13px/1.6 var(--mono);color:var(--ink)}.compare-spaces{display:grid;gap:8px}.compare-spaces>button{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:14px;border:1px solid var(--line);border-radius:12px;text-align:left;font:11px/1.6 var(--mono)}.compare-spaces>button[aria-pressed=true]{border-color:var(--ink);background:transparent;color:var(--ink)}.compare-spaces strong{display:block;font-size:10px}.compare-spaces>button:disabled{opacity:.45}
@media(max-width:520px){body .calendar-day{min-height:57px}body .calendar-day small{font-size:8px}.compare-spaces>button{font-size:10px}}

/* Slim story progress sits just below the photo; taps and swipes handle navigation. */
body .story-controls{position:static;display:flex;align-items:center;gap:0;width:100%;min-width:0;margin:0;padding:0}
body .story-controls[hidden]{display:none}
body .story-controls .story-markers{flex:1;min-width:0;gap:5px}
body .story-controls .story-marker{height:28px;padding:0;border-radius:0}
body .story-controls .story-marker:before,body .story-controls .story-marker>span{top:6px;height:3px;border-radius:2px;background:var(--ink);box-shadow:none}
body .story-controls .story-marker:before{opacity:.2}
body .story-controls .story-marker>span{opacity:1}
body .story-controls .story-marker:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}

/* Shared expand and close marks: the same visible size and stroke on every page. */
:root{--control-icon-size:24px;--control-icon-line:18px;--control-icon-stroke:2px}
body :is(.space-specs-disclosure,.clients-disclosure,.package-group)>summary>span[aria-hidden],body .sample-menus summary>span[aria-hidden]{display:inline-block;position:relative;flex:0 0 var(--control-icon-size);width:var(--control-icon-size);min-width:var(--control-icon-size);height:var(--control-icon-size);padding:0;font-size:0;line-height:0;text-align:center;transform:none;--control-icon-line:18px;background:linear-gradient(currentColor,currentColor) center/var(--control-icon-line) var(--control-icon-stroke) no-repeat,linear-gradient(currentColor,currentColor) center/var(--control-icon-stroke) var(--control-icon-line) no-repeat}
body :is(.space-specs-disclosure,.clients-disclosure,.package-group)[open]>summary>span[aria-hidden],body .sample-menus details[open]>summary>span[aria-hidden]{--control-icon-line:24px;transform:rotate(45deg)}
body .space-specs-disclosure[open] .disclosure-icon::after{content:none}
body :is(.account-signin,.member-menu,.booking-code)>summary::after,body .header-menu[open]>summary::after{content:'';display:inline-block;flex:0 0 var(--control-icon-size);width:var(--control-icon-size);height:var(--control-icon-size);font-size:0;line-height:0;--control-icon-line:18px;background:linear-gradient(currentColor,currentColor) center/var(--control-icon-line) var(--control-icon-stroke) no-repeat,linear-gradient(currentColor,currentColor) center/var(--control-icon-stroke) var(--control-icon-line) no-repeat;transform:none}
body :is(.account-signin,.member-menu,.booking-code)[open]>summary::after,body .header-menu[open]>summary::after{--control-icon-line:24px;transform:rotate(45deg);font-size:0}
body :is(.dismiss-button,.editorial-close){position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;font-size:0;line-height:0}
body :is(.dismiss-button,.editorial-close)>:is(span,svg){display:none}
body :is(.dismiss-button,.editorial-close)::before{content:'';display:block;position:absolute;inset:50% auto auto 50%;width:var(--control-icon-size);height:var(--control-icon-size);--control-icon-line:24px;background:linear-gradient(currentColor,currentColor) center/var(--control-icon-line) var(--control-icon-stroke) no-repeat,linear-gradient(currentColor,currentColor) center/var(--control-icon-stroke) var(--control-icon-line) no-repeat;transform:translate(-50%,-50%) rotate(45deg)}
body :is(.dismiss-button,.editorial-close)::after{content:none}
body .dismiss-button[aria-expanded=false]::before{--control-icon-line:18px;transform:translate(-50%,-50%)}
body :is([data-quantity-step],[data-cart-step]){position:relative;font-size:0}
body :is([data-quantity-step],[data-cart-step])::before{content:'';position:absolute;inset:50% auto auto 50%;width:18px;height:2px;background:currentColor;transform:translate(-50%,-50%)}
body :is([data-quantity-step='1'],[data-cart-step='1'])::after{content:'';position:absolute;inset:50% auto auto 50%;width:2px;height:18px;background:currentColor;transform:translate(-50%,-50%)}

body .caterer-logo.house-team-wordmark{background:transparent;color:var(--ink);padding:0;min-height:70px;width:auto}
body .caterer-logo img[src$="bar-tar-tar-logo.png"]{filter:grayscale(1) contrast(3)}
body .caterer-logo.monochrome-logo{background:#000}
body #caterer-profile{scroll-margin-top:100px}
body .catering-section .caterer-list{grid-template-columns:repeat(5,minmax(0,1fr))}
body .catering-section .caterer-list button:nth-child(n){grid-column:auto;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
body .catering-section .caterer-list button:nth-child(5n){border-right:0}
body .catering-section .caterer-list button:nth-last-child(-n+5){border-bottom:0}
@media(max-width:1000px){body .catering-section .caterer-list{grid-template-columns:repeat(2,minmax(0,1fr))}body .catering-section .caterer-list button:nth-child(n){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}body .catering-section .caterer-list button:nth-child(2n){border-right:0}body .catering-section .caterer-list button:nth-last-child(-n+2){border-bottom:0}}
body .house-team-wordmark strong{font:600 clamp(18px,2.3vw,28px)/1.35 var(--mono);letter-spacing:.04em;text-transform:uppercase}
body .site-footer .footer-bottom{flex-direction:column;align-items:stretch;gap:24px}
.footer-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px}
body .footer-actions .footer-editorial{display:contents}
body .footer-actions a{border-radius:12px}
.footer-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;font:12px/1.6 var(--mono)}
.footer-meta a{text-align:right}
body .space-essentials{font-family:var(--sans);font-weight:400;letter-spacing:0}
body .booking-dock .booking-bar .booking-field :is(select,input),body .booking-dock #date-value{font-family:var(--mono);font-weight:400}

/* One rounded frame per space card, with straight shared dividers inside. */
body .rooms-section .room-card{border:1px solid var(--line);border-radius:18px;overflow:hidden}
body .rooms-section .room-card .room-image{display:block;width:100%;margin:0;padding:0;border:0;border-radius:0;box-shadow:none}
body .rooms-section .room-card .room-image img{display:block;border:0;border-radius:0}
body .rooms-section .room-card .space-detail-link{border-radius:0;box-shadow:none}
body .rooms-section .room-card :is(.room-image,.space-detail-link):focus-visible{outline-offset:-3px}
body .catering-section .caterers-disclosure .caterer-list{border:0;border-top:1px solid var(--line);border-radius:0}
body .caterers-disclosure #caterer-profile{border-top:1px solid var(--line)}
body .space-specs-disclosure>summary{grid-template-columns:24px minmax(0,1fr) 24px;gap:12px;text-align:center}
body .space-specs-disclosure>summary>.disclosure-icon{grid-column:3;grid-row:1}
body .space-specs-disclosure>summary #details-title{grid-column:2;font:13px/1.5 var(--mono);width:auto;max-width:none;justify-self:stretch;text-align:center;margin:0}
body .visit-widget{border:0;border-radius:0}
.space-specs-overview{padding:0 24px 24px}
@media(max-width:760px){.space-specs-overview{padding:0 18px 18px}}
/* Shared rhythm for the main venue sections and their headings. */
body #main{--section-gap:32px;--section-heading-tracking:.075em}
body #main>:is(.details-section,.clients-section,.catering-section,.rooms-section,.visit-widget){margin-block:var(--section-gap) 0;padding-block:0!important}
body #main>.visit-widget{margin-bottom:var(--section-gap)}
body #main>.rooms-section>.room-grid{margin-top:24px}
body #main :is(#details-title,#people-title,#catering-title,#rooms-title,#visit-disclosure>summary h2){font:14px/1.5 var(--mono);letter-spacing:var(--section-heading-tracking);text-transform:uppercase}
body #main>.rooms-section>#rooms-title{margin:0;text-align:center}
@media(max-width:760px){body #main{--section-gap:24px}}
@media(max-width:520px){.footer-actions .footer-book{grid-column:1/-1}.footer-actions{display:grid;grid-template-columns:auto auto;gap:10px}.footer-meta{font-size:10px;gap:12px}}

/* Confirm headcount before moving into optional additions. */
.headcount-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}
.package-headcount .headcount-actions input{margin:0}
.headcount-actions button{min-height:48px;padding:12px 18px;font:12px/1.5 var(--mono);letter-spacing:.04em}
.package-headcount .headcount-status{margin:12px 0 0;font:13px/1.6 var(--sans);color:var(--muted)}
.package-headcount :is(#package-error,.headcount-status):empty{display:none}
.package-groups>details{scroll-margin-top:100px}
@media(max-width:480px){.headcount-actions{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px}.package-headcount .headcount-actions input{min-width:0;width:100%}.headcount-actions button{padding:12px 10px}}

/* Short, consistently spaced booking policy points. */
body .checkout-policy .booking-policy-points{display:grid;gap:12px;margin:20px 0 0;padding:0 0 0 18px;list-style:disc;text-align:left}
body .checkout-policy .booking-policy-points>li,body .checkout-policy #selected-policy-copy{display:list-item;margin:0;padding:0;font:14px/1.65 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink)}

/* Three catering categories with their own choices below. */
body .catering-primary-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}
body .catering-primary-choices button{min-height:58px;padding:14px 12px;font:12px/1.5 var(--mono);letter-spacing:.04em}
.catering-subsection{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}
.catering-subsection>h4,#house-menu-choices>h4{font:12px/1.5 var(--mono);letter-spacing:.06em;margin:0 0 12px}
body .catering-recommended-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}
body .catering-recommended-choices button{min-height:46px}
body .catering-dietary[hidden],.catering-subsection[hidden],.catering-choice-error[hidden]{display:none!important}
@media(max-width:600px){body .catering-primary-choices{grid-template-columns:1fr}body .catering-primary-choices button{min-height:48px}body .catering-recommended-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}

.provider-request-status{display:inline-block;max-width:32ch;white-space:normal;font:inherit;line-height:1.6}
@media(max-width:600px){.quote-row:has(.provider-request-status){flex-direction:column;gap:4px}.quote-row:has(.provider-request-status)>span:last-child{max-width:100%;text-align:left}.editable-cart-line:has(.provider-request-status){grid-template-columns:minmax(0,1fr)}.cart-line-price:has(.provider-request-status){text-align:left}}

/* Keep added services easy to spot in both venue palettes. */
body .service-thumb .service-selection{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:28px}
body .service-added-badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:6px;background:var(--ink);color:var(--paper);font:700 11px/1.5 var(--mono);letter-spacing:.04em;white-space:nowrap}
body .service-remove-label{font:11px/1.5 var(--mono);text-decoration:underline;text-underline-offset:3px}
body .service-thumb[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
body .staff-service-card:has(.service-thumb[aria-pressed=true]){border-color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}

/* Keep the catering invitation visible above the closed provider list. */
body .catering-section>.catering-intro{max-width:860px;margin:0 auto 24px;padding-inline:18px;text-align:center;font:400 clamp(20px,2.1vw,30px)/1.45 var(--sans);color:var(--ink)}

/* Booking policy uses the same disclosure frame as the other booking sections. */
body .checkout-policy.package-group{padding:0;margin-top:14px}

/* Match the account frame to the other rounded panels. */
body .account-surface{border-radius:18px;overflow:hidden}
body .signin-channel{gap:10px;flex-wrap:wrap}
body .signin-channel button{min-width:92px;min-height:44px;padding:10px 18px;border:1px solid var(--line);border-radius:12px;color:var(--muted)}
body .signin-channel button[aria-selected=true]{border:1px solid var(--ink);color:var(--ink)}

/* Account actions and disclosures follow the booking add-on controls. */
body .account-surface .text-button,body .account-section-nav button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 16px;border:1px solid var(--line);border-radius:12px;font:13px/1.5 var(--mono);letter-spacing:.035em;text-align:center}
body .account-surface .text-button:hover,body .account-section-nav button:hover{border-color:var(--ink);background:var(--panel);text-decoration:none}
body .account-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
body .account-surface>.account-section-nav{gap:10px;margin:0 0 20px;padding:0;border:0}
body .account-surface>.account-demo-label{margin-top:22px}
body .account-surface .account-disclosure{padding:0;margin:0 0 18px;border:1px solid var(--line);border-radius:18px;overflow:hidden}
body .account-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:72px;list-style:none;cursor:pointer;font:14px/1.5 var(--mono);letter-spacing:.075em;text-align:left;text-transform:none}
body .account-disclosure>summary::-webkit-details-marker{display:none}
body .account-surface .account-disclosure>summary::after{display:none;content:none}
body .account-disclosure>summary:focus-visible{outline:2px solid var(--ink);outline-offset:-5px}
body .account-disclosure #signin-options,body .account-disclosure #signin-preview{padding:0 22px 24px}
body .wallet-demo-label{margin-bottom:20px}
body .account-surface .wallet-grid,body .account-surface .member-booking{border-radius:12px;overflow:hidden}
body .account-surface .member-booking:last-child{margin-bottom:0}
@media(max-width:760px){body .account-disclosure #signin-options,body .account-disclosure #signin-preview{padding:0 18px 20px}body .account-session-row{flex-wrap:wrap}body .account-actions>a{flex:1 1 auto}body .account-section-nav button{flex:1 1 auto}}

/* Account floats above the current page and scrolls within its own frame. */
body .account-surface{position:fixed;inset:0;width:min(1040px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 48px);margin:auto;padding:0 24px 28px;overflow:auto;overscroll-behavior:contain;background:var(--paper);color:var(--ink);box-shadow:0 18px 70px #0003}
body .account-surface::backdrop{background:#0006;backdrop-filter:blur(4px)}
body:has(.account-surface[open]){overflow:hidden}
body .account-surface>.panel-heading{position:sticky;top:0;z-index:2;margin:0 -24px;padding:20px 24px;background:var(--paper)}
body .account-surface .member-bookings,body .account-surface .wallet-section{scroll-margin-top:96px}
body .header-menu nav>[data-menu-greeting]{display:block;padding:16px 21px 6px;font:14px/1.5 var(--sans);color:var(--muted)}
@media(max-width:760px){body .account-surface{width:calc(100% - 20px);max-height:calc(100dvh - 24px);padding:0 16px 20px}body .account-surface>.panel-heading{margin-inline:-16px;padding:16px}}

body .header-menu nav>[data-menu-title]{display:block;padding:0 21px 8px;font:11px/1.4 var(--mono);letter-spacing:.06em;color:var(--muted)}
body .header-menu nav>[data-menu-title][hidden]{display:none}

/* Account content is reached once, through its disclosure. */
body .account-panel-frame{display:block;width:100%;height:160px;border:0;background:transparent}
body .account-panel-body>[role=status]{font:14px/1.6 var(--sans);color:var(--muted)}
body .account-surface #account-session{margin-bottom:24px}

/* Keep checkboxes beside the first line of their labels at every screen width. */
body .contact-form label:has(> input[type="checkbox"]){display:flex!important;flex-direction:row!important;flex-wrap:nowrap;align-items:flex-start;justify-content:flex-start;gap:12px;text-align:left}
body .contact-form label > input[type="checkbox"]{appearance:auto;flex:0 0 20px;width:20px!important;min-width:20px;max-width:20px;height:20px;min-height:20px;padding:0!important;margin:2px 0 0;order:0}
body .contact-form label:has(> input[type="checkbox"]) > span{min-width:0;order:1}

/* Checkout legal copy uses a reading layout, independent of form typography. */
body .contact-form .inline-terms{padding:20px 24px}
body .contact-form .inline-terms summary{font:13px/1.5 var(--mono);letter-spacing:.02em;text-align:left}
#checkout-terms-copy{max-width:68ch;margin:24px 0 0;text-transform:none;letter-spacing:0;text-align:left}
#checkout-terms-copy section+section{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
#checkout-terms-copy h2{font:600 18px/1.4 var(--sans);letter-spacing:0;text-transform:none;margin:0 0 18px}
#checkout-terms-copy h3{font:600 15px/1.5 var(--sans);letter-spacing:0;text-transform:none;margin:22px 0 6px}
#checkout-terms-copy p{font:400 15px/1.75 var(--sans);letter-spacing:0;text-transform:none;margin:0 0 14px;color:var(--ink)}
body .contact-form .terms-agreement{font:400 14px/1.6 var(--sans)!important;letter-spacing:0;text-transform:none}
@media(max-width:600px){body .contact-form .inline-terms{padding:16px}#checkout-terms-copy{margin-top:20px}#checkout-terms-copy p{font-size:14px}}

/* Keep the calendar and its next action compact; comparisons use the full width. */
.calendar-integrated .inline-calendar-layout{grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr);align-items:start;gap:24px 28px}
.calendar-selection-column{padding-left:24px;align-self:start}
#calendar-room-summary{margin:0 0 16px;overflow-wrap:normal;word-break:normal}
#calendar-selection{max-height:180px;overflow:auto;align-content:start}
#calendar-use{margin-top:12px;min-height:46px}
.calendar-room-options{grid-column:1/-1;border-top:1px solid var(--line);padding-top:18px;min-width:0}
.calendar-room-options>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:pointer;font:12px/1.5 var(--mono)}
.calendar-room-options>summary::-webkit-details-marker{display:none}
.calendar-room-options>summary span{font:24px/1 var(--sans);transition:transform .15s}
.calendar-room-options[open]>summary span{transform:rotate(45deg)}
.calendar-room-options #calendar-comparison{margin:18px 0 0}
.calendar-room-options .compare-spaces{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.calendar-room-options .compare-spaces>button{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;align-content:start;padding:14px 16px;overflow-wrap:normal;word-break:normal;font:13px/1.5 var(--sans)}
.calendar-room-options .compare-spaces>button strong{margin-top:4px;font:10px/1.4 var(--mono)}
@media(max-width:700px){.calendar-integrated .inline-calendar-layout{grid-template-columns:minmax(0,1fr);gap:18px}.calendar-selection-column{border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.calendar-room-options .compare-spaces{grid-template-columns:minmax(0,1fr)}}

/* Keep the current booking fields independent of legacy six-column spans. */
body .booking-dock .booking-bar:is(.has-subspaces,:not(.has-subspaces))>.booking-field,
body .booking-dock .booking-bar #space-field,
body .booking-dock .booking-bar:is(.has-subspaces,:not(.has-subspaces))>.search-button{grid-column:auto;grid-row:auto}
@media(min-width:1101px){
 body .booking-dock .booking-bar:is(.has-subspaces,:not(.has-subspaces))>.booking-field{border-bottom:0;border-right:1px solid var(--line)}
}
@media(max-width:1100px){
 body .booking-dock .booking-bar,
 body .booking-dock .booking-bar.has-subspaces{grid-template-columns:repeat(2,minmax(0,1fr))}
 body .booking-dock .booking-bar:is(.has-subspaces,:not(.has-subspaces))>.booking-field{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
 body .booking-dock .booking-bar:not(.has-subspaces)>.date-field,
 body .booking-dock .booking-bar.has-subspaces #space-field,
 body .booking-dock .booking-bar.has-subspaces>.time-field{border-right:0}
 body .booking-dock .booking-bar:not(.has-subspaces)>.time-field{grid-column:1/-1;border-right:0}
 body .booking-dock .booking-bar:is(.has-subspaces,:not(.has-subspaces))>.search-button{grid-column:1/-1}
}

/* Space comparisons stay with the confirmation action. */
.calendar-selection-column .calendar-room-options{margin-top:20px;width:100%;grid-column:auto}
.calendar-room-options .compare-spaces{grid-template-columns:minmax(0,1fr)}
.calendar-room-options .compare-spaces>button{grid-template-columns:64px minmax(0,1fr);align-items:center;gap:12px;padding:12px}
.compare-space-photo{display:block;width:64px;height:64px;object-fit:cover;border-radius:10px}
.compare-space-copy{display:grid;gap:5px;min-width:0}
.compare-space-copy>span:last-child{font-size:12px}

/* Selected space stays with dates; alternative spaces span below both columns. */
.inline-calendar-layout>.calendar-room-options{grid-column:1/-1;margin-top:0;width:100%}
.inline-calendar-layout>.calendar-room-options .compare-spaces{grid-template-columns:repeat(3,minmax(0,1fr))}
#calendar-room-summary{margin:16px 0 0}
.calendar-selected-space{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:center;padding:14px;border-radius:14px;background:var(--ink);color:var(--paper);font:13px/1.5 var(--sans)}
.calendar-selected-space strong{font:10px/1.4 var(--mono)}
@media(max-width:1000px){.inline-calendar-layout>.calendar-room-options .compare-spaces{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.inline-calendar-layout>.calendar-room-options .compare-spaces{grid-template-columns:minmax(0,1fr)}}

.calendar-time-field{display:grid;gap:8px;margin:14px 0 18px}.calendar-time-field label{font:11px/1.5 var(--mono)}.calendar-time-field select{width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font:13px/1.5 var(--mono)}

.setup-check{display:flex!important;align-items:flex-start;gap:12px}.setup-check input[type="checkbox"]{width:20px!important;height:20px;flex:0 0 20px;margin:0}.setup-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.setup-counts[hidden]{display:none}.setup-counts label{display:grid;gap:8px}.setup-counts input{min-width:0;width:100%}

/* Keep the entry widget compact; choose booking time inside the calendar. */
@media(min-width:1101px){
 body .booking-dock .booking-bar{grid-template-columns:minmax(150px,1fr) minmax(170px,1fr) minmax(155px,.9fr)}
 body .booking-dock .booking-bar.has-subspaces{grid-template-columns:minmax(120px,.85fr) minmax(175px,1.1fr) minmax(170px,1fr) minmax(155px,.9fr)}
}
@media(max-width:1100px){
 body .booking-dock .booking-bar.has-subspaces{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr) minmax(0,1.05fr)}
 body .booking-dock .booking-bar.has-subspaces>.date-field{grid-column:auto;border-right:0}
 body .booking-dock .booking-bar.has-subspaces #space-field{border-right:1px solid var(--line)}
}
body .booking-dock .date-choice{min-width:0}
body .booking-dock #date-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body .booking-dock .date-choice>span[aria-hidden]{flex-shrink:0}
@media(max-width:520px){
 body .booking-dock .booking-bar:is(.has-subspaces,:not(.has-subspaces))>.booking-field{padding:11px 8px;min-height:76px}
 body .booking-dock .booking-field label,body .booking-dock .date-caption{font-size:10px;letter-spacing:.03em}
 body .booking-dock .booking-bar :is(#location,#space),body .booking-dock #date-value{font-size:11px}
 body .booking-dock .date-caption{gap:5px}
 body .booking-dock .date-caption svg{width:14px;height:14px}
 body .booking-dock .date-choice{gap:5px}
}
body .space-specs-disclosure>summary #details-space-name{grid-column:2;grid-row:2;justify-self:stretch;text-align:center;transform:none;font:12px/1.6 var(--mono);text-transform:uppercase;overflow-wrap:anywhere;color:var(--muted)}
body .space-specs-disclosure>summary>.disclosure-icon{grid-row:1/3}

.phone-number-field{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:12px}.phone-number-field label{display:grid;gap:8px;min-width:0}.phone-number-field input,.phone-number-field select,.phone-country-select{width:100%;min-width:0;max-width:100%;font:inherit;border:1px solid var(--line,#d0d0c9);border-radius:12px;padding:12px;background:transparent;color:inherit}.phone-country-select{margin-bottom:8px}@media(max-width:480px){.phone-number-field{grid-template-columns:minmax(0,1fr)}}

/* Make the required time step clear before date confirmation. */
.calendar-time-field.needs-time{padding:14px;border:1px solid var(--ink);border-radius:14px;background:rgba(27,32,24,.04)}
.calendar-time-field.needs-time select{border-color:var(--ink);border-width:2px}
.calendar-time-field>label{display:flex;align-items:center;justify-content:space-between;gap:8px}
.calendar-time-required{font:10px/1.4 var(--sans);letter-spacing:.04em;padding:3px 6px;border-radius:4px;background:var(--ink);color:var(--paper)}
.calendar-time-required[hidden]{display:none}
.calendar-time-hint,.calendar-confirm-hint{font:13px/1.5 var(--sans);margin:0;color:var(--ink)}
.calendar-confirm-hint{margin-top:10px}
.inline-calendar-layout>.calendar-room-options .compare-spaces{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:600px){.inline-calendar-layout>.calendar-room-options .compare-spaces{grid-template-columns:minmax(0,1fr)}}

input[type="tel"]:focus-visible,.phone-country-select:focus-visible{outline:2px solid var(--ink);outline-offset:-3px;box-shadow:none}

body .account-surface .account-feature-section{margin:0;padding:0}
body .account-surface .account-group-title{font:13px/1.5 var(--mono);letter-spacing:.1em;color:var(--muted);margin:0 0 16px}
body .account-surface .account-team-section{border-top:1px solid var(--line);margin-top:28px;padding-top:28px}

/* Compact room summary keeps the add-ons close to the booking details. */
body .room-booking-compact{padding:16px;margin:16px 0 20px;border-width:1px}
body .room-booking-compact .room-booking-main{grid-template-columns:72px minmax(0,1fr);gap:16px;align-items:start}
body .room-booking-compact .room-booking-thumb{width:72px;height:72px}
body .room-booking-compact .room-booking-thumb .brand-logo{width:56px}
.room-booking-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px}
body .room-booking-compact .room-booking-heading h4{font-size:14px;margin:0}
.room-booking-heading>strong{font:18px/1.3 var(--sans);white-space:nowrap}
body .room-booking-compact .room-booking-address{margin-top:6px}
@media(max-width:480px){body .room-booking-compact{padding:12px}body .room-booking-compact .room-booking-main{grid-template-columns:52px minmax(0,1fr);gap:12px}body .room-booking-compact .room-booking-thumb{width:52px;height:52px}body .room-booking-compact .room-booking-thumb .brand-logo{width:42px}.room-booking-heading{flex-wrap:wrap;gap:4px 10px}.room-booking-heading>strong{font-size:16px}}

.table-setup-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
.table-setup-options button{padding:16px;border:1px solid var(--line);border-radius:12px;background:transparent;color:var(--ink);text-align:left;font:14px/1.5 var(--sans);cursor:pointer}
.table-setup-options button small{display:block;font:12px/1.5 var(--sans);margin-top:4px}
.table-setup-options button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
@media(max-width:480px){.table-setup-options{grid-template-columns:1fr}}

/* A clear next step when no booking date has been chosen. */
#calendar-selection:has(.calendar-date-empty){display:block;max-height:none;overflow:visible}
.calendar-date-empty{padding:16px;border:2px solid var(--ink);border-radius:14px;background:rgba(27,32,24,.04)}
.calendar-date-empty strong{display:flex;align-items:center;justify-content:space-between;gap:12px;font:14px/1.5 var(--mono)}
.calendar-date-empty p{margin:8px 0 0;font:14px/1.5 var(--sans);color:var(--ink)}
#date-toggle.needs-date .date-choice{font-weight:600}

.addon-continue{display:block;width:fit-content;max-width:100%;min-height:44px;margin-top:1.25rem;padding:12px 20px;text-align:center;}
.addon-continue:focus-visible{outline:2px solid currentColor;outline-offset:4px;}

.account-signout-footer{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
.account-signout-footer[hidden]{display:none}

/* Quiet line icons and consistent reading rhythm for policies. */
.terms-section>h2,#checkout-terms-copy h2{display:flex;align-items:center;gap:14px}
.terms-section-icon{display:block;width:24px;height:24px;flex:0 0 24px;color:currentColor}
.terms-section>h2 .terms-section-icon{box-sizing:content-box;padding:12px;border:1px solid var(--line);border-radius:14px}
.terms-main .terms-notice{border-radius:16px;background:rgba(128,128,100,.035)}
.terms-main .terms-index{gap:10px;padding:0 0 28px}
.terms-main .terms-index a{display:inline-flex;align-items:center;min-height:42px;padding:8px 14px;border:1px solid var(--line);border-radius:24px;text-decoration:none;font:12px/1.5 var(--mono);transition:background .15s}
.terms-main .terms-index a:hover{background:rgba(128,128,100,.09)}
.terms-main .terms-section p{max-width:72ch}
.terms-main .terms-section h3{font:600 14px/1.6 var(--sans);letter-spacing:.025em;margin-top:30px}
@media(max-width:600px){.terms-section>h2{font-size:20px;gap:12px}.terms-section>h2 .terms-section-icon{padding:9px;width:22px;height:22px;flex-basis:22px}.terms-main .terms-index a{font-size:11px;padding:8px 12px}}

/* Keep the terms sheet exit within reach, including beside the footer. */
body .terms-heading .terms-close{position:fixed;z-index:101;top:calc(var(--terms-header-height,76px) + 16px);right:var(--page-gutter,32px);width:44px;height:44px;min-height:44px;border:1px solid var(--line);border-radius:50%;background:var(--paper,#fafaf7);color:var(--ink);box-shadow:0 2px 8px #00000008;font:32px/1 var(--sans)}
body.lees-theme .terms-heading .terms-close{background:#350f1b}
.terms-heading{padding-right:60px}
@media(max-width:600px){body .terms-heading .terms-close{right:16px;top:calc(var(--terms-header-height,76px) + 10px)}}

.details-space-picker{display:grid;gap:10px;max-width:480px;margin:0 0 24px;font:12px/1.5 var(--mono);text-align:left}
.details-space-picker select{display:block;width:100%;min-width:0;min-height:48px;padding:12px 36px 12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font:15px/1.5 var(--sans)}
body.lees-theme .details-space-picker select{background:#350f1b}

/* Review summaries use the same calm typography as the booking form. */
.booking-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;margin:24px 0 0}.booking-detail-grid dt{font:11px/1.5 var(--mono);color:var(--muted);margin-bottom:6px}.booking-detail-grid dd{font:15px/1.65 var(--sans);margin:0;white-space:pre-line;overflow-wrap:anywhere}.review-policy{border:1px solid var(--line);border-radius:20px;padding:24px}.review-policy p{font:15px/1.65 var(--sans)}.review-policy .selected-policy{font-weight:600}.booking-code>div{display:flex;gap:10px;align-items:center}.booking-code input{max-width:240px;font:13px/1.5 var(--sans);padding:10px 12px}.booking-code input::placeholder{color:#92958f;opacity:1}.terms-text-button{padding:0;border:0;background:none;color:inherit;text-align:left;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.agreement-guide{font:14px/1.6 var(--sans);margin-bottom:0}.booking-code-admin form{display:grid;gap:12px}.booking-code-admin label{display:grid;gap:6px}.booking-code-admin .code-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
@media(max-width:600px){.booking-detail-grid{grid-template-columns:1fr;gap:16px}}
/* Keep the two venues together at every viewport width. */
body .rooms-section .room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media(max-width:760px){
 body .rooms-section .room-grid{gap:10px}
 body .rooms-section .room-card-heading{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:16px 12px}
 body .rooms-section .card-address{margin:0;text-align:left;font-size:11px;overflow-wrap:anywhere}
 body .rooms-section .room-card .space-detail-link{padding:14px 12px;min-height:48px;white-space:normal;overflow-wrap:anywhere;font-size:11px}
 body .rooms-section .room-card .space-detail-link small{font-size:10px}
 body .rooms-section .room-card-heading .brand-logo{max-width:100%}
 body .rooms-section .room-image{height:auto;aspect-ratio:4/3}
 body .rooms-section .room-image img{width:100%;height:100%;object-fit:cover}
}

.booking-bar .location-caption{display:flex;align-items:center;gap:8px}.location-caption svg{width:18px;height:18px;flex-shrink:0}

.calendar-date-choice{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}.calendar-date-choice:has(select){width:100%;padding:14px 0;border-bottom:1px solid var(--line,#cccec5)}.calendar-date-choice label{flex:1 1 200px;min-width:0;font-size:12px}.calendar-date-choice select{width:100%;margin-top:6px;font-size:13px}.calendar-date-choice>small{width:100%;text-align:right}

.calendar-date-choice select{min-height:44px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font:12px/1.5 var(--mono)}

/* Reserve solid action styling for the current guided checkout step. */
.checkout-guided-action.primary:not(.checkout-action-current){background:transparent;color:var(--ink);border:1px solid var(--ink);}
.checkout-guided-action.primary:not(.checkout-action-current):hover{background:var(--panel);color:var(--ink);}

.staff-client-cart{margin-top:24px;padding:24px;border:1px solid var(--line);border-radius:20px;}
.staff-client-cart>summary{font-family:var(--mono);font-size:13px;line-height:1.5;cursor:pointer;}
.staff-cart-content{display:grid;gap:0;margin-top:24px;}
.staff-cart-email{display:grid;gap:10px;margin-bottom:20px;font-family:var(--mono);font-size:12px;}
.staff-cart-email input{width:100%;box-sizing:border-box;font-family:var(--sans);}
.staff-cart-price-row{display:grid;grid-template-columns:minmax(0,1fr) 160px;align-items:center;gap:24px;padding:16px 0;border-top:1px solid var(--line);font-family:var(--sans);font-size:15px;line-height:1.5;}
.staff-cart-amount{display:flex;align-items:center;gap:8px;min-width:0;}
.staff-cart-amount input{width:100%;min-width:0;box-sizing:border-box;text-align:right;font-family:var(--sans);font-variant-numeric:tabular-nums;}
.staff-cart-total{border-top:1px solid var(--line);padding-top:20px;margin:8px 0 20px;font-family:var(--sans);font-size:17px;line-height:1.6;}
.staff-cart-content>.primary{justify-self:start;max-width:100%;}
.staff-cart-content>[role=status]:empty{display:none;}
@media(max-width:520px){.staff-client-cart{padding:18px;}.staff-cart-price-row{grid-template-columns:minmax(0,1fr) 118px;gap:12px;font-size:14px;}.staff-cart-content>.primary{width:100%;}}

.staff-cart-content>div>label{display:grid;gap:8px;margin:16px 0;font-size:12px;}
.staff-cart-content>div>label input{width:100%;box-sizing:border-box;}
.staff-cart-content>div>.text-button{display:inline-block;margin:12px;}

.review-policy>summary{display:flex;align-items:center;gap:16px;cursor:pointer;list-style:none;font:13px/1.5 var(--mono);}
.review-policy>summary::-webkit-details-marker{display:none;}
.review-policy-rate{margin-left:auto;font-weight:400;color:var(--muted);}
.review-policy-toggle{font:28px/1 var(--sans);transition:transform .15s;}
.review-policy[open] .review-policy-toggle{transform:rotate(45deg);}
.review-policy-body{padding-top:20px;}
.review-policy .selected-policy{font-weight:400;}
.review-policy-body>.text-button{margin-top:12px;}
[data-addon-section="policy"]{scroll-margin-top:110px;}
@media(max-width:480px){.review-policy>summary{gap:10px;flex-wrap:wrap;}.review-policy-rate{font-size:11px;}}

.booking-code>div{justify-content:flex-end;}
.booking-code #booking-code{width:240px;max-width:calc(100% - 48px);}
.booking-code #booking-code-status{text-align:right;}

body .contact-form .terms-agreement{font:400 13px/1.7 var(--mono)!important;}
body .contact-form .terms-text-button{font:inherit;font-weight:400;}
body #checkout-terms-copy :is(h2,h3,h4,p,li,strong,b){font-family:var(--mono);font-weight:400;}
body #checkout-terms-copy :is(p,li){font-size:13px;line-height:1.8;}
body #checkout-terms-copy h2{font-size:18px;}
body #checkout-terms-copy :is(h3,h4){font-size:15px;}

body .contact-form .inline-terms>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;min-height:44px;}
.inline-terms>summary::-webkit-details-marker{display:none;}
.terms-disclosure-icon{font:28px/1 var(--sans);}
.inline-terms[open] .terms-disclosure-icon{transform:rotate(45deg);}
#close-checkout-terms{display:block;min-height:44px;margin-top:24px;margin-left:auto;font:400 13px/1.5 var(--mono);}
.inline-terms{scroll-margin-top:110px;}

/* Stripe owns card entry and eligible saved-payment methods. */
.payment-section{border:1px solid var(--line);border-radius:18px;padding:24px;min-width:0}
.payment-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.payment-heading h3{margin:0}.payment-heading>span{font-size:12px;color:var(--muted)}
.payment-section>p{margin:16px 0}.payment-methods{display:flex;gap:8px;flex-wrap:wrap}
.payment-methods>span{border:1px solid var(--line);border-radius:6px;padding:8px 12px;font-size:13px}
.payment-section #submit-payment{width:100%;margin-top:8px}.payment-section #payment-readiness{margin-bottom:0}
@media(max-width:480px){.payment-section{padding:18px}.payment-methods>span{padding:7px 9px}}

.booking-details-editor>summary{display:flex;gap:16px;align-items:center;cursor:pointer;font:14px var(--mono);list-style:none}
.booking-details-editor>summary>span:last-child{margin-left:auto}.booking-details-editor[open]>summary>span:last-child{transform:rotate(45deg)}
.booking-details-editor>.contact-form{margin-top:24px}.booking-details-summary{font:14px var(--sans);color:var(--muted)}

body .review-policy>summary{font:18px/1.5 var(--mono)}
body .review-policy-rate{margin-left:0;font:13px/1.5 var(--mono)}
body .review-policy-toggle{margin-left:auto}
body #request-form .booking-code{width:100%;max-width:none;justify-self:stretch}
body #request-form .booking-code>div{display:flex;width:100%;justify-content:flex-end}
body #request-form .booking-code #booking-code{width:240px;max-width:100%;margin-left:auto}
.payment-section #submit-payment{margin-top:20px}

#booking-content .package-groups + [data-addon-section="load-out"]{margin-top:14px}

/* Keep browsing content out of the active checkout journey. */
body.checkout-focused #main>section{display:none}
body.checkout-focused #reserve{margin-top:24px}

body #request-form .booking-code>div{max-width:none}
.review-policy-body .policy-thumbnails{margin-top:20px}

/* Room specifications use the same rounded cards as the booking options. */
body #space-highlight .specification-grid.details-box{border:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0;max-width:none;text-align:left}
body #space-highlight .specification-grid>section{border:1px solid var(--line);border-radius:18px;padding:24px;min-width:0}
body #space-highlight .capacity-spec{grid-column:1/-1}
body #space-highlight .specification-grid h3{font:14px/1.5 var(--mono);margin:0 0 14px}
body #space-highlight .spec-list{padding:0;margin:0;list-style:none;display:grid;gap:8px}
body #space-highlight .spec-list li{font:15px/1.6 var(--sans);text-transform:none;color:var(--muted)}
body #space-highlight .capacity-spec .spec-list{display:flex;flex-wrap:wrap;gap:12px 28px}
@media(max-width:600px){body #space-highlight .specification-grid.details-box{grid-template-columns:1fr}body #space-highlight .specification-grid>section{padding:20px}}

/* Compact date/time summary, aligned with the calendar. */
body .calendar-selection-column{display:flex;flex-direction:column;gap:12px;border-top:0;padding-top:0}
body #calendar-selection{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;width:100%;margin:0}
body .calendar-date-choice{width:100%}
body .calendar-date-choice .selected-date{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;margin:0;padding:10px 12px}
body .calendar-selection-column .calendar-time-field{margin:0;gap:6px}
body .calendar-selection-column #calendar-room-summary{margin:0}
body .calendar-selection-column #calendar-use{width:100%;min-height:44px;margin:0;padding:12px}
body .calendar-selection-column .calendar-selected-space{padding:12px;gap:10px}
body .calendar-selection-column .compare-space-photo{width:52px;height:52px}
body .calendar-selection-column .calendar-selected-space{grid-template-columns:52px minmax(0,1fr)}
body .calendar-selection-column .calendar-confirm-hint{margin:0}

/* Make the optional services heading easy to scan. */
body .booking-options-heading h3{color:var(--ink);font:600 clamp(17px,2vw,20px)/1.4 var(--mono);letter-spacing:.025em}

/* Keep the booking breakdown crisp while retaining its existing typography. */
body:not(.lees-theme) .quote {--ink:#11140f;color:var(--ink)}
body .quote .quote-row small,body .quote .quote-footnote,body .quote .quote-security small {color:var(--ink)}

/* Give booking-detail selects the same proportions as the text fields. */
body .booking-details-editor .contact-form select {
  -webkit-appearance:none;
  appearance:none;
  display:block;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  min-height:52px;
  padding:14px 46px 14px 16px;
  border:1px solid var(--line);
  border-radius:16px;
  background-color:var(--paper);
  color:var(--ink);
  font:400 16px/1.4 var(--sans);
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 23px) 50%,calc(100% - 17px) 50%;
  background-size:6px 6px;
  background-repeat:no-repeat;
  cursor:pointer;
}
body .booking-details-editor .contact-form select:focus-visible {
  outline:2px solid var(--ink);
  outline-offset:3px;
}
body .booking-details-editor #contact-event-fee:empty {display:none}
@media(forced-colors:active){body .booking-details-editor .contact-form select{appearance:auto;background-image:none}}

/* Match the calendar time picker to the full-width selected date control. */
body .calendar-time-field select {
  -webkit-appearance:none;
  appearance:none;
  box-sizing:border-box;
  width:100%;
  min-height:52px;
  padding:14px 46px 14px 16px;
  border:1px solid var(--line);
  border-radius:16px;
  background-color:var(--paper);
  color:var(--ink);
  font:400 16px/1.4 var(--mono);
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 23px) 50%,calc(100% - 17px) 50%;
  background-size:6px 6px;
  background-repeat:no-repeat;
  cursor:pointer;
}
body .calendar-time-field select:focus-visible {outline:2px solid var(--ink);outline-offset:3px}
@media(forced-colors:active){body .calendar-time-field select{appearance:auto;background-image:none}}

body .setup-counts select{width:100%;min-height:52px;padding:12px 16px;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink);font:16px/1.5 var(--mono)}
