/* Keep the viewport menu outside any backdrop-filter containing block. */
.site-header,.interior-page .site-header,.home-page .site-header { height:88px; background:linear-gradient(110deg,#090b12,#131a25); border-bottom:1px solid #c89e4b55; box-shadow:0 5px 24px #0003; }
.header-inner { gap:24px; }
.brand-logo { width:172px; }
.mobile-nav-actions { display:none; }
.menu-toggle { border-radius:6px; }
.menu-toggle .menu-lines { width:20px;height:auto;background:none;margin:0;transform:none; }
.menu-lines i { display:block;height:1px;background:var(--gold-bright);margin:5px 0;transition:transform .2s; }
.menu-toggle[aria-expanded=true] .menu-lines { transform:none; }
.menu-toggle[aria-expanded=true] .menu-lines i:first-child { transform:translateY(3px) rotate(45deg); }
.menu-toggle[aria-expanded=true] .menu-lines i:last-child { transform:translateY(-3px) rotate(-45deg); }
.menu-label { font:600 .75rem/1 var(--sans);letter-spacing:.06em; }
@media(min-width:901px) {
 .nav-ready .primary-nav,.home-page.nav-ready .primary-nav { gap:clamp(10px,1.5vw,24px); flex-wrap:nowrap; background:none; }
 .nav-ready .primary-nav > a,.home-page.nav-ready .primary-nav > a { font:500 .75rem/1.5 var(--sans); text-transform:none; letter-spacing:.025em; padding:10px 2px; }
 .primary-nav > a::after { bottom:2px; }
 .header-actions .button { border-radius:4px; background:linear-gradient(120deg,#bc8f32,#e5bd62); color:#17130b; box-shadow:0 3px 16px #c89e4b18; }
 .header-actions { gap:20px; }
 .header-actions .phone-link { font-size:.75rem; }
}
@media(min-width:901px) and (max-width:1100px) { .header-inner {gap:14px;} .brand-logo {width:142px;} .header-actions .phone-link {display:none;} .header-actions .button {padding:12px 16px;} }
@media(max-width:900px) {
 .site-header,.site-header.is-scrolled,.interior-page .site-header,.home-page .site-header {height:76px;backdrop-filter:none;-webkit-backdrop-filter:none;transform:none;filter:none;}
 .header-inner {gap:14px;}
 .brand-logo,.home-page .brand-logo {width:146px;}
 .nav-ready .menu-toggle {display:flex;align-items:center;justify-content:center;gap:10px;width:96px;min-height:46px;background:#1c202a;border-color:#c89e4b88;position:relative;}
 .nav-ready .primary-nav {position:fixed;inset:76px 0 0;height:calc(100dvh - 76px);width:100%;padding:24px max(24px,calc((100vw - 600px)/2)) max(24px,env(safe-area-inset-bottom));align-items:stretch;justify-content:flex-start;gap:0;background:radial-gradient(ellipse at top right,#33303a66,transparent 65%),#0c111b;overflow-y:auto;overscroll-behavior:contain;border-top:1px solid #c89e4b22;}
 .nav-ready .primary-nav > a,.home-page.nav-ready .primary-nav > a {flex-shrink:0;display:flex;justify-content:space-between;width:100%;min-height:58px;padding:10px 4px;border-bottom:1px solid #c89e4b28;font:400 clamp(1.5rem,5vw,2rem)/1.2 var(--serif);text-transform:none;letter-spacing:0;}
 .primary-nav > a::after {content:'↗';position:static;width:auto;height:auto;background:none;transform:none;color:#c89e4b;font:400 1rem var(--sans);}
 .primary-nav > a[aria-current=page] {color:var(--gold-bright);background:linear-gradient(90deg,#c89e4b12,transparent);}
 .mobile-nav-actions {display:grid;gap:12px;flex-shrink:0;padding-top:26px;}
 .mobile-nav-actions .eyebrow {margin:0;}
 .nav-ready .mobile-nav-actions .button {font:600 .8rem/1.4 var(--sans);min-height:50px;border-radius:5px;}
 .nav-ready .mobile-nav-actions .mobile-nav-phone {font:500 1rem/1.5 var(--sans);justify-content:center;color:var(--gold-bright);min-height:44px;}
 .mobile-nav-actions a::after {display:none;}
 body.nav-open {overflow:hidden;}
}
@media(prefers-reduced-motion:reduce) { .menu-lines i {transition:none;} }
.nav-ready .menu-toggle[aria-expanded=true] .menu-lines {transform:none;}
/* Stronger navigation and accessible service disclosure. */
.site-header .services-dropdown {position:relative;flex-shrink:0;}
.site-header .services-dropdown summary {display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;cursor:pointer;list-style:none;color:#eee9df;}
.site-header .services-dropdown summary::-webkit-details-marker {display:none;}
.services-dropdown[open] summary {color:var(--gold-bright);}
.services-dropdown[open] summary svg {transform:rotate(180deg);}
.site-header .services-submenu {padding:18px;background:linear-gradient(135deg,#182330,#0b111b);border:1px solid #c89e4b66;border-radius:10px;box-shadow:0 18px 42px #0007;}
.site-header .submenu-label {display:block;color:#c9a75f;font:600 .59rem/1.6 var(--sans);text-transform:uppercase;letter-spacing:.1em;margin:0 8px 10px;}
.site-header .primary-nav .services-submenu a {display:flex;justify-content:space-between;gap:16px;min-height:46px;padding:10px 8px;font:600 .8rem/1.4 var(--sans);letter-spacing:0;text-transform:none;border-radius:4px;}
.site-header .services-submenu a::after {display:none;}
.site-header .services-submenu a:hover {background:#c89e4b14;}
.site-header .services-submenu a span {color:#d4b571;}
.site-header .services-submenu .submenu-all {border-top:1px solid #c89e4b44;margin-top:8px;padding-top:16px;color:#e2bc65;}
.site-header :is(a,summary):focus-visible {outline:2px solid #e2bc65;outline-offset:4px;}
@media(min-width:901px) {
 .site-header .primary-nav > a,.home-page.nav-ready .site-header .primary-nav > a,.site-header .services-dropdown summary {font:700 .8rem/1.5 var(--sans);letter-spacing:.025em;text-transform:none;}
 .site-header .services-submenu {position:absolute;top:calc(100% + 12px);left:-18px;width:290px;}
 .site-header .header-actions .button {font-weight:750;min-height:46px;border:1px solid #f0d189;box-shadow:0 4px 20px #c89e4b26;}
 .site-header .header-actions .phone-link {font-weight:650;white-space:nowrap;}
}
@media(max-width:900px) {
 .site-header .services-dropdown {border-bottom:1px solid #c89e4b28;}
 .site-header .services-dropdown summary,.home-page.nav-ready .site-header .primary-nav > a,.nav-ready .site-header .primary-nav > a {font:600 1.4rem/1.3 var(--sans);min-height:58px;padding:10px 4px;}
 .site-header .services-submenu {margin:0 0 16px;padding:12px;box-shadow:none;}
 .site-header .menu-toggle {background:linear-gradient(135deg,#d8ad51,#b78930);color:#11151c;border-color:#edca7c;box-shadow:0 3px 14px #c89e4b22;}
 .site-header .menu-lines i {background:#11151c;height:2px;}
 .site-header .menu-label {font-weight:750;}
}
.mobile-header-call {display:none;}
@media(max-width:900px) {
 .site-header .header-inner,.home-page .site-header .header-inner {display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:12px;width:calc(100% - 32px);height:100%;}
 .site-header .brand {grid-column:2;grid-row:1;justify-self:center;display:flex;align-items:center;justify-content:center;min-width:0;}
 .site-header .brand-logo,.home-page .site-header .brand-logo {width:164px;max-width:100%;max-height:68px;object-fit:contain;}
 .nav-ready .site-header .menu-toggle {grid-column:1;grid-row:1;width:44px;height:44px;min-height:44px;padding:0;border-radius:10px;}
 .site-header .menu-label {display:none;}
 .site-header .mobile-header-call {display:grid;place-items:center;grid-column:3;grid-row:1;justify-self:end;width:44px;height:44px;border:1px solid #c89e4b77;border-radius:10px;color:#e3bd66;background:#19202b;}
}
/* Centered desktop brand, balanced by navigation and booking actions. */
@media(min-width:901px) {
 .site-header .header-inner,.home-page .site-header .header-inner {display:grid;grid-template-columns:minmax(0,1fr) 180px minmax(0,1fr);gap:20px;width:calc(100% - 48px);max-width:1440px;height:100%;}
 .site-header .brand {grid-column:2;grid-row:1;justify-self:center;}
 .site-header .brand-logo,.home-page .site-header .brand-logo {width:172px;}
 .nav-ready .site-header .primary-nav,.home-page.nav-ready .site-header .primary-nav {grid-column:1;grid-row:1;justify-self:start;gap:clamp(10px,1.2vw,18px);}
 .site-header .header-actions {grid-column:3;grid-row:1;justify-self:end;gap:20px;}
 .site-header .primary-nav > a,.home-page.nav-ready .site-header .primary-nav > a,.site-header .services-dropdown summary {font-size:.75rem;}
}
@media(min-width:901px) and (max-width:1150px) {
 .site-header .header-inner,.home-page .site-header .header-inner {grid-template-columns:minmax(0,1fr) 140px minmax(0,1fr);gap:12px;width:calc(100% - 32px);}
 .site-header .brand-logo,.home-page .site-header .brand-logo {width:140px;}
 .nav-ready .site-header .primary-nav,.home-page.nav-ready .site-header .primary-nav {gap:8px;}
 .site-header .primary-nav > a,.home-page.nav-ready .site-header .primary-nav > a,.site-header .services-dropdown summary {font-size:.67rem;}
 .site-header .header-actions .phone-link {display:none;}
}
/* Keep the header groups close to the centered logo. */
@media(min-width:901px) {
 .nav-ready .site-header .primary-nav,.home-page.nav-ready .site-header .primary-nav {justify-self:end;}
 .site-header .header-actions {justify-self:start;}
 .site-header .header-inner,.home-page .site-header .header-inner {column-gap:28px;}
}
@media(min-width:901px) and (max-width:1150px) {
 .site-header .header-inner,.home-page .site-header .header-inner {column-gap:16px;}
}
/* Enlarge the visible brand by fitting out the artwork's empty vertical margins. */
.site-header .brand-logo,.home-page .site-header .brand-logo {aspect-ratio:auto;object-fit:cover;object-position:center;filter:drop-shadow(0 1px 5px #b78b3026);}
@media(min-width:1151px) {
 .site-header .header-inner,.home-page .site-header .header-inner {grid-template-columns:minmax(0,1fr) 210px minmax(0,1fr);column-gap:20px;}
 .site-header .brand-logo,.home-page .site-header .brand-logo {width:210px;height:88px;max-height:none;}
}
@media(min-width:901px) and (max-width:1150px) {
 .site-header .header-inner,.home-page .site-header .header-inner {grid-template-columns:minmax(0,1fr) 174px minmax(0,1fr);column-gap:12px;}
 .site-header .brand-logo,.home-page .site-header .brand-logo {width:174px;height:76px;max-height:none;}
}
@media(max-width:900px) {
 .site-header .brand-logo,.home-page .site-header .brand-logo {width:185px;height:76px;max-height:76px;}
}
/* Use the full header width around the enlarged centered brand. */
@media(min-width:901px){
 .nav-ready .site-header .primary-nav,.home-page.nav-ready .site-header .primary-nav {justify-self:start;}
 .site-header .header-actions {justify-self:end;}
}
/* Reference-inspired black and gold header frame. */
.site-header,.interior-page .site-header,.home-page .site-header {
 background:#090c10;border-top:1px solid #d8b864;border-bottom:1px solid #b88b42;
 box-shadow:0 5px 22px #0007,inset 0 1px 0 #fff0b929;
}
@media(min-width:901px) {
 .site-header::before,.site-header::after {content:'';position:absolute;top:0;bottom:0;width:34px;pointer-events:none;background:linear-gradient(145deg,#262526,#0c0d0f);z-index:0;}
 .site-header::before {left:-20px;transform:skewX(26deg);border-right:2px solid #c7a259;}
 .site-header::after {right:-20px;transform:skewX(-26deg);border-left:2px solid #c7a259;}
 .site-header .header-inner,.home-page .site-header .header-inner {position:relative;z-index:1;width:calc(100% - 88px);max-width:none;grid-template-columns:minmax(0,1fr) 230px minmax(0,1fr);column-gap:22px;}
 .site-header .brand-logo,.home-page .site-header .brand-logo {width:230px;height:88px;object-fit:cover;}
 .site-header .primary-nav > a,.home-page.nav-ready .site-header .primary-nav > a,.site-header .services-dropdown summary {font:650 .72rem/1.5 var(--sans);letter-spacing:.07em;text-transform:uppercase;}
 .nav-ready .site-header .primary-nav,.home-page.nav-ready .site-header .primary-nav {gap:clamp(12px,1.55vw,28px);}
 .site-header .primary-nav > a::after {height:2px;bottom:2px;}
 .site-header .header-actions {gap:22px;}
 .site-header .header-actions .phone-link {font:500 1.1rem/1.4 var(--serif);padding-right:22px;border-right:1px solid #b5aa8e66;gap:12px;}
 .site-header .header-actions .phone-link svg {width:20px;height:20px;color:#dfb650;}
 .site-header .header-actions .button {min-width:112px;min-height:46px;padding:12px 18px;font:600 .85rem/1.3 var(--serif);letter-spacing:.035em;border:1px solid #e3c173;background:linear-gradient(145deg,#e1ba60,#b68b36);box-shadow:inset 0 1px 0 #ffe7a755,0 3px 10px #0004;}
}
@media(min-width:901px) and (max-width:1200px) {
 .site-header .header-inner,.home-page .site-header .header-inner {width:calc(100% - 48px);grid-template-columns:minmax(0,1fr) 180px minmax(0,1fr);column-gap:14px;}
 .site-header .brand-logo,.home-page .site-header .brand-logo {width:180px;height:82px;}
 .nav-ready .site-header .primary-nav,.home-page.nav-ready .site-header .primary-nav {gap:10px;}
 .site-header .primary-nav > a,.home-page.nav-ready .site-header .primary-nav > a,.site-header .services-dropdown summary {font-size:.64rem;letter-spacing:.025em;}
 .site-header .header-actions .phone-link {display:none;}
}
@media(max-width:900px){.site-header,.home-page .site-header,.interior-page .site-header{background:#090c10;}}
@media(min-width:1201px){.site-header .brand-logo,.home-page .site-header .brand-logo{width:210px;height:88px;}}
/* Float the homepage header slightly over the continuous hero image. */
@media(min-width:901px) {
 .nav-ready .site-header .primary-nav,.home-page.nav-ready .site-header .primary-nav {justify-self:start;transform:translateX(18px);}
 .site-header .header-actions {transform:translateX(-18px);}
 .home-page .site-header {top:24px;}
 .home-page .hero .hero-image-primary {top:0;height:100%;}
 .home-page .hero .hero-image-secondary {top:0;}
 .home-page .hero::before {top:0;}
 .home-page .hero .hero-layout {padding-top:160px;}
}
@media(min-width:901px) and (max-width:1200px){
 .nav-ready .site-header .primary-nav,.home-page.nav-ready .site-header .primary-nav {transform:translateX(6px);}
 .site-header .header-actions {transform:translateX(-6px);}
}
@media(min-width:901px){.home-page .site-header.is-scrolled{top:0;}}
/* Extend the floating header treatment to interior pages. */
@media(min-width:901px) {
 body:not(.home-page) .site-header {top:24px;}
 body:not(.home-page) .site-header.is-scrolled {top:0;}
 body:not(.home-page) .page-heading.contact-image-heading {margin-top:0;padding:0;display:grid;height:auto;min-height:0;max-height:none;}
 body:not(.home-page) .page-heading.contact-image-heading .contact-header-image {position:relative;inset:auto;grid-area:1/1;display:block;width:100%;height:auto;object-fit:contain;align-self:end;}
 body:not(.home-page) .page-heading.contact-image-heading .contact-header-copy {position:relative;grid-area:1/1;align-self:start;padding-top:138px;padding-bottom:32px;z-index:1;}
 body:not(.home-page) .page-heading:not(.contact-image-heading) {padding-top:150px;}
}
/* Let the globe rise just above the desktop header frame. */
@media(min-width:901px) {
 .site-header .brand {position:relative;z-index:2;transform:translateY(-7px);}
 .site-header .brand-logo,.home-page .site-header .brand-logo {height:auto;max-height:none;object-fit:contain;}
}
@media(min-width:901px){.site-header.is-scrolled .brand{transform:none;}}
/* Position the full logo independently of the navigation row height. */
@media(min-width:901px) {
 .site-header .brand {position:absolute;left:50%;top:50%;transform:translate(-50%,calc(-50% - 12px));}
 .site-header.is-scrolled .brand {transform:translate(-50%,-50%);}
}
@media(min-width:901px){.site-header .brand{grid-column:auto;grid-row:auto;justify-self:auto;}}
/* Break the top rule around the raised globe, preserving the hero behind it. */
@media(min-width:901px) {
 .site-header,.interior-page .site-header,.home-page .site-header {
  border-top-color:transparent;
  background-image:linear-gradient(#d8b864,#d8b864),linear-gradient(#d8b864,#d8b864);
  background-size:calc(50% - 112px) 1px,calc(50% + 20px) 1px;
  background-position:left top,right top;background-repeat:no-repeat;background-origin:border-box;
  box-shadow:0 5px 22px #0007;
 }
}
@media(min-width:901px) and (max-width:1200px) {
 .site-header,.interior-page .site-header,.home-page .site-header {background-size:calc(50% - 98px) 1px,calc(50% + 12px) 1px;}
}
/* Equal breathing room on both sides of the centered logo. */
@media(min-width:901px) {
 .site-header,.interior-page .site-header,.home-page .site-header {background-size:calc(50% - 120px) 1px,calc(50% - 120px) 1px;}
}
@media(min-width:901px) and (max-width:1200px) {
 .site-header,.interior-page .site-header,.home-page .site-header {background-size:calc(50% - 105px) 1px,calc(50% - 105px) 1px;}
}
/* Keep the border break local to the globe, with a small margin either side. */
@media(min-width:901px) {
 .site-header,.interior-page .site-header,.home-page .site-header {background-size:calc(50% - 98px) 1px,calc(50% + 20px) 1px;}
}
@media(min-width:901px) and (max-width:1200px) {
 .site-header,.interior-page .site-header,.home-page .site-header {background-size:calc(50% - 86px) 1px,calc(50% + 15px) 1px;}
}
/* End the bottom rule at the angled frame instead of the screen edges. */
@media(min-width:901px) {
 .site-header,.interior-page .site-header,.home-page .site-header {
  border-bottom-color:transparent;
  background-image:linear-gradient(#d8b864,#d8b864),linear-gradient(#d8b864,#d8b864),linear-gradient(#b88b42,#b88b42);
  background-size:calc(50% - 98px) 1px,calc(50% + 20px) 1px,calc(100% - 72px) 1px;
  background-position:left top,right top,center bottom;
 }
}
@media(min-width:901px) and (max-width:1200px) {
 .site-header,.interior-page .site-header,.home-page .site-header {background-size:calc(50% - 86px) 1px,calc(50% + 15px) 1px,calc(100% - 72px) 1px;}
}
/* Transparent corners outside the angled desktop header silhouette. */
@media(min-width:901px) {
 .site-header,.interior-page .site-header,.home-page .site-header {
  background-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;
 }
 .site-header::before {
  inset:0;left:0;right:0;width:auto;height:auto;transform:none;border:0;z-index:0;
  background:#090c10;clip-path:polygon(0 0,100% 0,calc(100% - 36px) 100%,36px 100%);
 }
 .site-header::after {
  inset:0;left:0;right:0;width:auto;height:auto;transform:none;border:0;z-index:0;
  background:linear-gradient(67.7deg,transparent calc(50% - 1px),#c7a259 calc(50% - 1px),#c7a259 calc(50% + 1px),transparent calc(50% + 1px)) left center/36px 100% no-repeat,
   linear-gradient(-67.7deg,transparent calc(50% - 1px),#c7a259 calc(50% - 1px),#c7a259 calc(50% + 1px),transparent calc(50% + 1px)) right center/36px 100% no-repeat;
 }
}
@media(min-width:901px){.site-header{isolation:isolate;}.site-header::before{z-index:-1;}}
/* A breathing button and outward gold ripple draw attention to calling. */
.site-header .header-actions .phone-link,
.site-header .mobile-header-call {
 color:#ffe4a0;
 border:1px solid #d6ac55;
 border-radius:12px;
 background:linear-gradient(135deg,#302716,#15130f);
 box-shadow:inset 0 1px 0 #fff1c52b,0 0 0 0 #dfb65000;
 animation:header-phone-pulse 1.9s ease-in-out infinite;
 transform-origin:center;
 transition:background .2s ease,color .2s ease;
}
.site-header .header-actions .phone-link {
 min-height:46px;padding:10px 14px;gap:9px;
 font:650 .95rem/1.4 var(--sans);letter-spacing:.015em;
}
.site-header .header-actions .phone-link svg {color:currentColor;}
.site-header .header-actions .phone-link:hover,
.site-header .mobile-header-call:hover {
 color:#fff2ca;background:linear-gradient(135deg,#49391b,#221b10);
 box-shadow:0 0 18px #d9ad4938;
}
.site-header .header-actions .phone-link:focus-visible,
.site-header .mobile-header-call:focus-visible {
 outline:2px solid #fff0bc;outline-offset:4px;animation:none;
}
@keyframes header-phone-pulse {
 0% {transform:scale(1);border-color:#d6ac55;box-shadow:inset 0 1px 0 #fff1c52b,0 0 0 0 #dfb65080,0 0 8px #dfb65020;}
 35% {transform:scale(1.055);border-color:#ffe2a0;box-shadow:inset 0 1px 0 #fff1c545,0 0 0 5px #dfb65040,0 0 22px #dfb65055;}
 75% {transform:scale(1);border-color:#d6ac55;box-shadow:inset 0 1px 0 #fff1c52b,0 0 0 11px #dfb65000,0 0 8px #dfb65020;}
 100% {transform:scale(1);border-color:#d6ac55;box-shadow:inset 0 1px 0 #fff1c52b,0 0 0 11px #dfb65000,0 0 8px #dfb65020;}
}
@media(prefers-reduced-motion:reduce) {
 .site-header .header-actions .phone-link,
 .site-header .mobile-header-call {animation:none;transition:none;}
}
