/* Shared mobile navigation and spacious footer. AI marks are deliberately untouched. */
.menu-toggle,.nav-short{display:none}.mobile-menu:not([open]){display:none}
.menu-open,.menu-open body{overflow:hidden;overscroll-behavior:none}
.mobile-menu{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;background:#0d0d0e;color:#f5f1e9;overflow-y:auto;overscroll-behavior:contain}
.mobile-menu::backdrop{background:#0d0d0e}
.menu-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;min-height:65px;padding:6px 25px;background:#0d0d0ef7;border-bottom:1px solid #ffffff18}
.menu-top img{width:190px;height:auto;display:block}.menu-close,.menu-toggle{position:relative;width:44px;height:44px;padding:0;flex:0 0 44px;border:0;background:none;color:#edcf90}
.menu-toggle span,.menu-close span{position:absolute;left:10px;right:10px;top:17px;height:1px;background:currentColor}.menu-toggle span:last-child{top:25px;left:16px}.menu-close span{top:22px;transform:rotate(45deg)}.menu-close span:last-child{transform:rotate(-45deg)}
.menu-body{padding:32px 25px max(28px,env(safe-area-inset-bottom));max-width:620px;margin:auto}.menu-body>.eyebrow{font-size:10px;letter-spacing:.13em;color:#d2ae6b;margin-bottom:19px}
.menu-primary,.menu-group>summary{display:flex;align-items:center;justify-content:space-between;min-height:65px;border-bottom:1px solid #ffffff20;font-size:25px;letter-spacing:-.04em;color:#f5f1e9;text-decoration:none;cursor:pointer;list-style:none;gap:15px}
.menu-primary>span{font-size:20px;color:#d2ae6b}.menu-group>div{display:grid;padding:11px 0 16px 12px;border-bottom:1px solid #ffffff20}.menu-group>div a{display:flex;align-items:center;min-height:44px;font-size:15px;color:#ccc5b8}
.menu-group summary::-webkit-details-marker,.footer-group summary::-webkit-details-marker,.mobile-legal-toc summary::-webkit-details-marker{display:none}
.menu-group i,.footer-group i,.mobile-legal-toc i{position:relative;display:block;flex:0 0 18px;width:18px;height:18px;color:#d2ae6b}
.menu-group i:before,.footer-group i:before,.mobile-legal-toc i:before,.menu-group i:after,.footer-group i:after,.mobile-legal-toc i:after{content:"";position:absolute;left:2px;right:2px;top:8px;height:1px;background:currentColor;transition:transform .2s}
.menu-group i:after,.footer-group i:after,.mobile-legal-toc i:after{transform:rotate(90deg)}
.menu-group[open] i:after,.footer-group[open] i:after,.mobile-legal-toc details[open] i:after{transform:rotate(0)}
.menu-contact{display:grid;margin:26px 0 17px}.menu-contact a{display:flex;align-items:center;min-height:38px;font-size:14px;color:#d4cec3}.menu-contact a:first-child{font-size:20px;color:#edcf90}
.menu-cta{display:flex;justify-content:space-between;min-height:52px;width:100%;font-size:13px;gap:12px}.menu-cta span{font-size:18px}.menu-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:24px;font-size:10px;color:#aaa59b}.menu-meta a{color:#c8c4bb;min-height:32px}
.site-footer.footer-expanded{display:block;width:100%;max-width:none;padding:66px 0 0;border-top:1px solid #292723;background:#0b0b0c;color:#c8c4bb}
.footer-expanded>.wrap{width:calc(100% - var(--gutter)*2)}.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr .8fr;gap:34px;padding-bottom:43px}.footer-intro img{width:215px;height:auto;display:block;margin-bottom:19px}.footer-intro p{font-size:17px;line-height:1.65;color:#e8e2d6;margin-bottom:15px}.footer-intro .footer-contact-link{display:flex;align-items:center;min-height:36px;font-size:12px;color:#c8c4bb;overflow-wrap:anywhere}
.footer-group>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:44px;font-size:13px;font-weight:500;color:#ede7dc;cursor:pointer}.footer-group i{display:none}.site-footer .footer-group nav{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding-top:8px}.site-footer .footer-group nav a,.site-footer .footer-group nav button{display:flex;align-items:center;min-height:38px;font-size:12px;font-weight:400;line-height:1.6;text-align:left;padding:5px 0;color:#c8c4bb;border:0;background:none;letter-spacing:0}.site-footer .footer-group nav a:hover,.site-footer .footer-group nav button:hover{color:#edcf90}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #ffffff1c;padding-block:19px}.footer-credit{font-size:12px;font-weight:400;color:#c8c4bb;gap:10px}.footer-credit>a{display:inline-flex;align-items:center;min-height:44px}.footer-to-top{font-size:12px;display:flex;align-items:center;gap:14px;min-height:44px;color:#c8c4bb}.footer-to-top span{font-size:16px}
.contact-image .contact-layout{display:block;max-width:850px;min-height:390px}.contact-image .contact-details{max-width:650px}
.prestige-project>.eyebrow{display:inline-flex;align-items:center;gap:14px;color:#f0d395;letter-spacing:.13em}.prestige-project>.eyebrow:before{content:"";width:34px;height:1px;background:#d2ae6b}.prestige-project>p:not(.eyebrow):not(.opening-line):not(.booking-note){max-width:610px}
.availability-summary{align-items:flex-start;gap:28px}.availability-summary>p{flex:0 0 auto;padding-top:6px}.availability-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;width:100%}.availability-options a{width:auto;min-height:57px;justify-content:center}.availability-options strong{font-size:14px;line-height:1.5}.availability-options span{font-size:11px;line-height:1.5}
.mobile-legal-toc{display:none}.legal-page .page-shell{width:100%;max-width:none;padding:0}.legal-page main.legal-layout{max-width:1440px;margin:auto;padding:65px 60px 90px;min-height:65vh}.legal-page .header-shell{position:fixed;inset:0 0 auto;z-index:50;background:#0b0b0cf5;transition:transform .25s}.legal-page .header-shell.is-hidden{transform:translateY(-110%)}.legal-page .header-shell .site-header{min-height:62px}.legal-page .brand{flex:0 0 235px}.legal-page .brand img{width:235px;height:auto;max-height:52px}.legal-page .legal-content h2{scroll-margin-top:125px}.legal-sidebar{top:85px;max-height:calc(100svh - 110px)}
.legal-page .reading-progress{position:fixed;inset:0 0 auto;z-index:100;width:100%;height:3px;appearance:none;border:0;background:transparent;pointer-events:none}.legal-page .reading-progress::-webkit-progress-bar{background:transparent}.legal-page .reading-progress::-webkit-progress-value{background:linear-gradient(90deg,#9a6724,#edcf90)}.legal-page .reading-progress::-moz-progress-bar{background:#d2ae6b}
@media(min-width:851px){.footer-group>summary{pointer-events:none}.footer-group>summary:focus-visible{pointer-events:auto}}
@media(max-width:1100px){.footer-grid{grid-template-columns:1.2fr 1fr;gap:35px 55px}.availability-summary{display:block}.availability-options{margin-top:15px}}
@media(max-width:850px){
 .header-slot{height:60px}.header-shell .site-header,.image-led .header-shell .site-header,.legal-page .header-shell .site-header{min-height:60px;gap:16px;display:flex;justify-content:space-between;padding-block:4px}
 .header-shell .main-nav,.header-shell .header-actions{display:none}.header-shell .menu-toggle{display:block}
 .header-shell .brand,.image-led .header-shell .brand,.image-led .is-compact .brand,.legal-page .header-shell .brand{flex:0 0 190px}
 .header-shell .brand img,.image-led .header-shell .brand img,.image-led .is-compact .brand img,.legal-page .header-shell .brand img{width:190px;height:auto;max-height:46px;aspect-ratio:668/148}
 .visual-hero{height:calc(100svh - 60px)}
 .site-footer.footer-expanded{padding-top:39px}.footer-grid{display:block;padding-bottom:26px}.footer-intro{padding-bottom:24px}.footer-intro img{width:205px;margin-bottom:14px}.footer-intro p{font-size:18px}.footer-intro .footer-contact-link{min-height:40px;font-size:13px}
 .footer-group{border-top:1px solid #ffffff26}.footer-group:last-child{border-bottom:1px solid #ffffff26}.footer-group>summary{min-height:62px;font-size:15px}.footer-group i{display:block}.site-footer .footer-group nav{padding:0 0 18px 0}.site-footer .footer-group nav a,.site-footer .footer-group nav button{min-height:44px;font-size:14px}.footer-bottom{align-items:flex-start;padding-block:15px 22px;gap:14px}.footer-credit{display:flex;flex-wrap:wrap;max-width:240px;column-gap:10px;row-gap:0;align-items:center}.footer-credit>span[aria-hidden]{display:none}.footer-credit>span:first-child{width:100%;line-height:2}.footer-credit>a{min-height:34px}.footer-to-top{font-size:11px;gap:8px;margin-top:5px}
 .legal-page main.legal-layout{display:block;padding:35px 25px 60px}.legal-sidebar{display:none}.legal-content{max-width:none}.legal-page .legal-content h1{font-size:clamp(33px,6vw,48px);margin-block:25px 28px;overflow-wrap:normal}
 .mobile-legal-toc{display:block;position:sticky;top:0;z-index:25;background:#121212f7;backdrop-filter:blur(16px);border-block:1px solid #d2ae6b40;margin:0 -25px 30px;transition:top .23s ease}
 body:has(#scroll-header:not(.is-hidden)) .mobile-legal-toc{top:60px}
 .mobile-legal-toc summary{display:grid;grid-template-columns:minmax(0,1fr) 24px;grid-template-rows:auto auto;gap:5px 12px;min-height:67px;align-content:center;padding:12px 25px;list-style:none;cursor:pointer}
 .mobile-legal-label{font-size:11px;letter-spacing:.07em;color:#edcf90}.mobile-legal-current{grid-column:1;font-size:12px;line-height:1.5;color:#f5f1e9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-legal-toc i{grid-column:2;grid-row:1/3;align-self:center}.mobile-legal-links{padding:5px 25px 18px;max-height:calc(100dvh - 170px);overflow:auto;overscroll-behavior:contain}
 .legal-page main .mobile-legal-links a{display:block;padding:12px 10px;min-height:44px;color:#bdb8ae;font-size:13px;line-height:1.6;text-decoration:none;border-left:1px solid #ffffff20}.legal-page main .mobile-legal-links a[aria-current]{color:#edcf90;border-left-color:#d2ae6b;background:#d2ae6b0c}
 .legal-page .legal-content h2{scroll-margin-top:150px;font-size:24px;line-height:1.4;outline:none}.legal-page .legal-content p{font-size:15px;line-height:1.85}
 .availability-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 20px}
}
@media(max-width:600px){
 .inventory-filters{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.inventory-filters button{text-align:left;font-size:13px}.footer-bottom{border-top:0}
 .image-led .offer-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;padding-block:12px}.image-led .offer-strip a{grid-column:span 2;min-height:48px;font-size:13px;display:flex;align-items:center;justify-content:center;padding:10px 4px;text-align:center;border:0}.image-led .offer-strip a:nth-last-child(-n+2){grid-column:span 3}.image-led .offer-strip a:after{left:15%;right:15%;bottom:4px}
 .availability-summary>p{width:auto}.availability-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.availability-options a{width:auto}.availability-options strong{font-size:14px}.contact-image .contact-layout{min-height:335px;padding-block:48px 55px}.contact-image .contact-email{font-size:16px;overflow-wrap:anywhere}.prestige-project>.eyebrow{font-size:10px;letter-spacing:.1em;gap:10px}.prestige-project>.eyebrow:before{width:24px}
}
@media(max-width:360px){.menu-top{padding-inline:20px}.menu-body{padding-inline:20px}.menu-primary,.menu-group>summary{font-size:23px}.menu-cta{font-size:12px;padding-inline:14px}.footer-bottom{flex-wrap:wrap}.footer-credit{max-width:none}.footer-to-top{margin:0}.availability-options{gap:15px 12px}.availability-options strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){.legal-page .header-shell,.mobile-legal-toc,.menu-group i:after,.footer-group i:after,.mobile-legal-toc i:after{transition:none}}
@media print{.mobile-menu,.mobile-legal-toc,.footer-expanded,.header-slot,.reading-progress{display:none!important}.legal-page main.legal-layout{display:block;padding:0}}
