/* Small post-launch refinements; retain the original coastal design. */
.site-header{position:sticky;top:0;z-index:30;box-shadow:0 2px 8px #26332f09}
.mobile-header-cta{display:none}
.site-footer{padding:42px 0 24px}
.footer-top{grid-template-columns:1.1fr 1.25fr .85fr;gap:48px;padding-bottom:34px;align-items:start}
.footer-brand{display:flex;align-items:center;gap:22px;min-width:0}
.footer-brand .brand img{width:86px;height:86px}
.footer-brand p{font-size:.88rem;line-height:1.55}
.footer-brand p span{color:var(--muted);font-size:.8rem}
.footer-top h2{font-size:.82rem;font-weight:800;margin:4px 0 14px;color:var(--ink)}
.footer-contact{gap:8px;margin:0}
.footer-contact a{display:flex;align-items:center;gap:10px;min-height:32px;text-decoration:none;white-space:normal}
.footer-contact svg{width:19px;height:19px;flex:0 0 19px;color:var(--gold-dark)}
.footer-contact span{font-size:.88rem;color:var(--ink);min-width:0;overflow-wrap:anywhere}
.footer-contact a:hover span{text-decoration:underline;text-underline-offset:4px;color:var(--gold-dark)}
.footer-social{display:inline-flex;align-items:center;gap:8px;min-height:36px;font-size:.84rem!important;text-decoration:none;margin-top:7px}
.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}
.footer-nav a{font-size:.84rem;line-height:1.5;min-height:30px;display:flex;align-items:center;text-decoration:none}
.footer-social:hover,.footer-nav a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-bottom{align-items:center;padding-top:20px;gap:14px;font-size:.73rem}
.footer-bottom p{max-width:none;display:flex;flex-wrap:wrap;gap:4px 12px}
.footer-credit{color:var(--muted)}
.footer-links{gap:8px 22px}
.footer-links a{display:inline-flex;align-items:center;min-height:30px;text-decoration:none}
.footer-links a:hover{text-decoration:underline}
.lightbox{overscroll-behavior:contain}
.lightbox img{height:min(64dvh,720px);max-height:none;object-fit:contain}
.menu-icon:before,.menu-icon:after,.menu-icon i{transition:transform .18s ease,opacity .18s ease}
.menu-toggle[aria-expanded=true] .menu-icon:before{transform:translateY(6px) rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-icon i{opacity:0}
.menu-toggle[aria-expanded=true] .menu-icon:after{transform:translateY(-6px) rotate(-45deg)}
@keyframes menu-appear{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){
  .header-inner{min-height:76px;position:relative;flex-wrap:wrap;gap:0}
  .site-header .brand img{width:66px;height:66px}
  .mobile-header-cta{display:inline-flex;flex:none;margin-left:auto;margin-right:12px;min-height:44px;padding:11px 14px;gap:8px;font-size:.74rem;white-space:nowrap}
  .js .menu-toggle{display:flex;min-height:44px}
  .nav{width:100%;display:flex;flex-wrap:wrap;gap:4px 22px;padding:12px 0 22px;border-top:1px solid var(--line)}
  .js .nav:not(.is-open){display:none}
  .js .nav.is-open{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;animation:menu-appear .2s ease-out}
  .nav a{font-size:.85rem;min-height:44px;align-content:center;padding:12px 0}
  .footer-top{grid-template-columns:1fr 1.2fr .9fr;gap:26px}
  .footer-brand{display:block}
  .footer-brand p{margin-top:15px}
  .footer-nav{grid-template-columns:1fr;gap:4px}
}
@media(max-width:800px){
  .header-inner{min-height:76px}
  .brand img{width:66px;height:66px}
  .js .nav.is-open{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;animation:menu-appear .2s ease-out}
  .nav a{min-height:44px;align-content:center}
  .footer-top{grid-template-columns:1fr 1fr;gap:28px 34px}
  .footer-brand{grid-column:1/-1;display:flex;align-items:center;gap:20px}
  .footer-brand p{margin-top:0}
  .footer-brand .brand img{width:76px;height:76px}
  .footer-nav{grid-template-columns:1fr 1fr;gap:4px 16px}
}
@media(max-width:600px){
  .site-footer{padding:32px 0 20px}
  .footer-top{grid-template-columns:minmax(0,1fr);gap:25px;padding-bottom:24px}
  .footer-brand{grid-column:auto}
  .footer-contact a{min-height:40px}
  .footer-contact span{font-size:.92rem}
  .footer-social{min-height:40px;margin-top:3px}
  .footer-nav{grid-template-columns:1fr 1fr;gap:0 20px}
  .footer-nav a{min-height:40px;font-size:.9rem}
  .footer-top h2{font-size:.88rem;margin-top:0;margin-bottom:8px}
  .footer-bottom{display:block;padding-top:18px}
  .footer-bottom p{display:flex;gap:3px 10px;font-size:.73rem}
  .footer-links{margin-top:10px;gap:4px 20px;font-size:.73rem}
  .footer-links a{min-height:36px}
}
@media(max-width:540px){
  html{scroll-padding-top:84px}
  .header-inner{min-height:68px}
  .site-header .brand img{width:58px;height:58px}
  .mobile-header-cta{padding:10px 11px;font-size:.72rem;gap:6px}
  .menu-toggle{min-height:44px;padding:8px 12px}
  .offer{font-size:.65rem;line-height:1.5;padding:7px 18px}
  .hero:not(.page-hero){min-height:clamp(470px,72svh,570px)}
  .hero:not(.page-hero) .hero-inner{padding-block:32px 38px}
  .hero:not(.page-hero) h1{font-size:clamp(2rem,8vw,2.3rem);line-height:1.16}
  .hero:not(.page-hero) p:not(.eyebrow){margin:18px 0 25px;line-height:1.65}
  .hero .eyebrow{font-size:.65rem;letter-spacing:.13em;max-width:34ch}
}
@media(prefers-reduced-motion:reduce){
  .js .nav.is-open{animation:none}
  .menu-icon:before,.menu-icon:after,.menu-icon i{transition:none}
}
@media(max-width:360px){
  .mobile-header-cta{padding:10px 9px;font-size:.68rem;gap:5px}
  .menu-toggle{width:44px;justify-content:center;padding:10px;gap:0}
  .menu-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
}
@media(prefers-reduced-motion:no-preference){
  .lightbox.viewer-entering{animation:viewer-enter .22s ease-out}
  .lightbox.viewer-entering::backdrop{animation:viewer-backdrop .22s ease-out}
  .photo-entering,.carousel-slide.slide-entering{animation:photo-enter .26s ease-out}
}
@keyframes viewer-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes viewer-backdrop{from{opacity:0}to{opacity:1}}
@keyframes photo-enter{from{opacity:.65}to{opacity:1}}
