/* Targeted header/contact hierarchy and scene-preserving hero framing. */
#site-header,body.hero-in-view #site-header{background:radial-gradient(ellipse at 38% 0%,#d6ad6812,transparent 66%),linear-gradient(110deg,#101a24fa,#07111bf8);border-bottom:1px solid #d6ad6840;box-shadow:0 5px 18px #0003;backdrop-filter:blur(14px)}
#site-header .nav,body.hero-in-view #site-header .nav{width:min(1440px,calc(100% - 40px - env(safe-area-inset-left) - env(safe-area-inset-right)));height:auto;min-height:calc(80px + env(safe-area-inset-top));padding:calc(12px + env(safe-area-inset-top)) 0 12px;gap:24px}
#site-header .brand{flex:none}
#site-header .navlinks{display:grid;grid-template-columns:auto minmax(240px,1fr) auto auto;align-items:center;flex:1;gap:clamp(14px,1.65vw,24px);min-width:0}
#site-header .navlinks a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:14px;line-height:1.25;white-space:nowrap;text-decoration:none}
#site-header .nav-pages,#site-header .nav-secondary{display:flex;align-items:center;gap:16px}
#site-header .nav-phone-group{display:flex;align-items:center;justify-self:center;gap:0;border:1px solid #d6ad6830;border-radius:8px;background:#d6ad6807;overflow:hidden}
#site-header .nav-contact-label{display:block;font-size:12px;line-height:1.2;letter-spacing:.06em;color:#d9c8a7;font-weight:600}
#site-header .navlinks .nav-phone{flex-direction:column;align-items:flex-start;justify-content:center;min-height:48px;padding:0 12px;font-size:clamp(20px,1.65vw,24px);font-weight:750;letter-spacing:-.02em;color:#fff0cf}
#site-header .nav-phone strong{font-size:inherit;line-height:1.25}
#site-header .navlinks .nav-text{color:#ead6af;border-left:1px solid #d6ad6830;min-height:48px;padding:0 12px;background:#d6ad6808}
#site-header .nav-text:hover,#site-header .nav-phone:hover{background:#d6ad6810}
#site-header .nav-secondary a{color:#dfd5c4}
#site-header .navlinks .nav-cta{color:#101820;background:var(--brass);font-weight:750;min-height:48px;padding:0 18px;box-shadow:0 2px 14px #d6ad681a}
#site-header .navlinks .nav-cta:hover{background:#e7c58a;color:#101820}
#site-header .navlinks .nav-mobile-call,#site-header .navlinks .nav-mobile-text,#site-header .nav-cta-short{display:none}
#site-header a:focus-visible{outline:2px solid #f0cf8c;outline-offset:3px}
.hero-first-screen{--hero-header-space:calc(80px + env(safe-area-inset-top))}
.hero-media{background:#0c1621}
.hero-frame{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;overflow:hidden;background:transparent}
.hero-frame:before{content:none}
.hero .hero-photo,.hero .hero-photo.is-portrait-wide{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;object-fit:cover;object-position:var(--hero-focus-active);transform:none;transition:opacity .75s ease-in-out}
.hero-media::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;background:radial-gradient(circle at 18% 27%,#fff2cc 0 1px,#ecc27c77 2px,transparent 6px),radial-gradient(circle at 76% 34%,#fff2cc 0 1px,#ecc27c77 2px,transparent 7px),radial-gradient(circle at 62% 74%,#fff2cc 0 1px,#ecc27c77 2px,transparent 6px),radial-gradient(circle at 30% 79%,#fff2cc 0 1px,#ecc27c77 2px,transparent 5px)}
.hero-media.is-dissolving::after{animation:hero-warm-dissolve .75s ease-in-out both}
@keyframes hero-warm-dissolve{0%,25%,75%,100%{opacity:0}50%{opacity:.22}}
@media(orientation:landscape){
 .hero-media{height:auto;aspect-ratio:1.35;max-height:min(100%,920px);align-self:center}
}
.hero .hero-copy{padding:24px clamp(22px,3vw,48px)}
.hero p{font-size:18px;line-height:1.4}
.hero .eyebrow{font-size:12px;line-height:1.3}
.hero-actions .button{font-size:16px;min-height:50px}
.hero-contact{gap:4px 16px;align-items:center;font-size:20px;line-height:1.3}
.hero-contact .hero-phone{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:44px;font-size:20px;line-height:1.3;font-weight:750;white-space:nowrap}
.hero-contact .hero-phone span{font-size:14px;line-height:1.1;color:#e0ceb0;font-weight:600}
.hero-contact .hero-phone strong{font-size:inherit;line-height:1.3}
.hero-contact .hero-text{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.hero-contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:0 16px;width:100%}
.hero-contact .hero-email,.hero-contact .hero-quote{display:inline-flex;align-items:center;min-height:44px;font-size:15px;line-height:1.3;font-weight:600}
.hero-contact .hero-quote{color:#f0cf8c;white-space:nowrap}
.hero-support{gap:12px}
.hero-proof{font-size:14px;line-height:1.4;gap:6px 14px}
.hero .launch-note{font-size:15px;line-height:1.4}
.hero .bandit-teaser span,.hero .bandit-mobile-hint{font-size:13px;line-height:1.35}
.hero .bandit-teaser img{width:42px;height:50px}
.hero>.hero-support{padding:20px 24px 24px}
#booking{scroll-margin-top:calc(112px + env(safe-area-inset-top))}
.inquiry-intent{grid-column:1/-1;margin:0;padding:12px 14px;border-left:2px solid var(--brass);background:#d6ad6812;color:#f5e7c9;font-size:14px}
.inquiry-intent[hidden]{display:none}
.mobile-booking-bar .button{font-size:14px;min-height:44px}
@media(min-width:768px) and (max-width:1099px){
 #site-header .nav,body.hero-in-view #site-header .nav{min-height:calc(100px + env(safe-area-inset-top));gap:18px;padding:calc(6px + env(safe-area-inset-top)) 0 6px}
 #site-header .brand-mark,body.hero-in-view #site-header .brand-mark{width:44px;height:44px}
 #site-header .navlinks{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:20px;row-gap:0}
 #site-header .nav-pages{grid-column:1;grid-row:1;gap:18px}
 #site-header .nav-phone-group{grid-column:1;grid-row:2;justify-self:start}
 #site-header .navlinks .nav-phone{font-size:20px;min-height:44px;padding:0 10px}
 #site-header .navlinks .nav-text{min-height:44px;padding:0 10px}
 #site-header .nav-secondary{grid-column:2;grid-row:1;gap:16px;justify-content:flex-end}
 #site-header .navlinks .nav-cta{grid-column:2;grid-row:2;min-height:44px;font-size:14px}
 .hero-first-screen{--hero-header-space:calc(100px + env(safe-area-inset-top))}
 #booking{scroll-margin-top:calc(112px + env(safe-area-inset-top))}
}
@media(max-width:1100px){
 .hero p{font-size:16px;line-height:1.4}
 .hero-contact .hero-phone{font-size:18px}
 .hero-contact .hero-email,.hero-contact .hero-quote{font-size:14px}
 .hero .launch-note{font-size:14px}
 .hero-proof{font-size:13px}
}
@media(min-width:768px) and (max-width:1100px) and (orientation:portrait){
 .hero .hero-copy{padding:20px 24px 16px}
 .hero-tablet-actions{gap:8px}
 .hero-contact{gap:0 12px}
 .hero-contact .hero-phone{font-size:18px;white-space:normal}
 .hero-contact-actions{gap:0 12px}
 .hero-support{gap:8px}
 .hero .bandit-teaser span{font-size:13px}
}
@media(max-width:767px) and (orientation:portrait){
 .hero .hero-copy{padding:14px 20px 12px}
 .hero-inner{gap:6px}
 .hero p{font-size:15px;line-height:1.35}
 .hero-actions .button{min-height:48px;font-size:15px}
 .hero-contact{gap:0 12px}
 .hero-contact .hero-phone{font-size:18px;min-height:44px}
 .hero-contact .hero-text{font-size:14px}
 .hero-contact .hero-email,.hero-contact .hero-quote{font-size:14px;min-height:44px}
 .hero-contact-actions{gap:0 14px}
 .hero .bandit-mobile-hint{font-size:13px;line-height:1.4}
}
@media(max-width:767px){
 #site-header .nav,body.hero-in-view #site-header .nav{width:calc(100% - 24px - env(safe-area-inset-left) - env(safe-area-inset-right));min-height:calc(68px + env(safe-area-inset-top));height:auto;padding:calc(8px + env(safe-area-inset-top)) 0 8px;gap:8px}
 #site-header .brand,body.hero-in-view #site-header .brand{gap:7px}
 #site-header .brand-mark,body.hero-in-view #site-header .brand-mark{width:36px;height:36px}
 #site-header .brand span:last-child,body.hero-in-view #site-header .brand span:last-child{font-size:12px}
 #site-header .navlinks{display:flex;justify-content:flex-end;gap:4px}
 #site-header .nav-pages,#site-header .nav-phone-group,#site-header .nav-secondary,#site-header .nav-cta-full{display:none}
 #site-header .navlinks .nav-mobile-call,#site-header .navlinks .nav-mobile-text{display:inline-flex;min-width:44px;min-height:44px;font-size:14px;color:#f0dfbe}
 #site-header .nav-cta-short{display:inline}
 #site-header .navlinks .nav-cta,body.hero-in-view #site-header .nav-cta{min-height:44px;padding:0 12px;font-size:14px}
 .hero-first-screen{--hero-header-space:calc(68px + env(safe-area-inset-top))}
 #booking{scroll-margin-top:calc(80px + env(safe-area-inset-top))}
}
@media(orientation:landscape) and (max-height:600px) and (min-width:768px){
 #site-header .nav,body.hero-in-view #site-header .nav{min-height:calc(60px + env(safe-area-inset-top));padding:calc(6px + env(safe-area-inset-top)) 0 6px;gap:14px}
 #site-header .navlinks{display:flex;gap:12px}
 #site-header .nav-pages,#site-header .nav-contact-label{display:none}
 #site-header .brand-mark,body.hero-in-view #site-header .brand-mark{width:32px;height:32px}
 #site-header .brand span:last-child,body.hero-in-view #site-header .brand span:last-child{font-size:11px}
 #site-header .nav-phone-group{gap:0;justify-self:auto}
 #site-header .navlinks .nav-phone{font-size:17px;min-height:44px;padding:0 10px}
 #site-header .navlinks .nav-text{font-size:14px;min-height:44px;padding:0 10px}
 #site-header .nav-secondary{gap:12px}
 #site-header .navlinks .nav-cta,body.hero-in-view #site-header .nav-cta{padding:0 12px;min-height:44px;font-size:13px}
 .hero-first-screen{--hero-header-space:calc(60px + env(safe-area-inset-top))}
 .hero .hero-copy{padding:8px 14px;padding-right:max(14px,calc(env(safe-area-inset-right) + 12px))}
 .hero p{font-size:14px;line-height:1.3}
 .hero-inner{gap:4px}
 .hero-actions .button{min-height:44px;font-size:14px}
 .hero-contact .hero-phone{font-size:17px;min-height:44px}
 .hero-contact .hero-text,.hero-contact .hero-email,.hero-contact .hero-quote{font-size:14px;min-height:44px}
 .hero-contact-actions{gap:0 12px}
 #booking{scroll-margin-top:calc(72px + env(safe-area-inset-top))}
}
@media(orientation:landscape) and (max-height:600px) and (min-width:768px) and (max-width:940px){
 #site-header .nav-secondary{display:none}
}
@media(orientation:portrait) and (max-height:700px){
 .hero .hero-copy{padding:10px 16px}
 .hero .hero-phone{white-space:normal}
 .hero p{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.hero-frame:before{transition:none}.hero .hero-photo{transition:opacity .18s ease-in-out}.hero-media::after{display:none;animation:none}}

/* Give tablet-portrait copy more presence without changing contact or landscape layouts. */
@media(min-width:768px) and (max-width:1100px) and (orientation:portrait){
 .hero .hero-inner{gap:clamp(16px,2.2vw,22px)}
 .hero .hero-inner h1{font-size:clamp(36px,4.9vw,48px);line-height:1.12}
 .hero .hero-inner h1 em{font-size:.84em;line-height:1.18;max-width:100%}
 .hero .hero-inner .hero-tagline{font-size:clamp(17.5px,2.2vw,19px);line-height:1.55;margin-top:4px}
 .hero .hero-inner .hero-tagline strong{display:block;font-size:clamp(19px,2.45vw,22px);font-weight:750;line-height:1.3;margin-bottom:8px}
 .hero .hero-inner .hero-tagline strong+br{display:none}
}
