html{scroll-padding-top:88px}

.site-nav{
  --sn-accent:var(--dusk,#a85a26);
  --sn-text:var(--stone,#4f6b73);
  --sn-ink:var(--tide,#1a3a4a);
  position:sticky;top:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  padding:.85rem 3.5rem;
  background:rgba(250,247,243,.94);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(46,107,128,.12);
  font-family:'Jost',system-ui,-apple-system,sans-serif;
}
.site-nav .sn-logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none}
.site-nav .sn-logo img{display:block;height:48px;width:auto}
.site-nav .sn-links{display:flex;flex:1;justify-content:center;gap:2.4rem}
.site-nav .sn-links a{
  font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:400;
  color:var(--sn-text);text-decoration:none;transition:color .2s;
}
.site-nav .sn-links a:hover,.site-nav .sn-links a[aria-current]{color:var(--sn-accent)}
.site-nav .sn-right{display:flex;align-items:center;gap:.8rem;flex-shrink:0}
.site-nav .sn-book{
  display:inline-block;padding:.65rem 1.5rem;
  font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:400;
  color:var(--foam,#faf7f3);background:var(--sn-ink);border:1px solid var(--sn-ink);
  text-decoration:none;transition:background .3s,border-color .3s;white-space:nowrap;
}
.site-nav .sn-book:hover{background:#0f2530;border-color:#0f2530}
.site-nav .sn-burger{
  display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;
  width:40px;height:40px;padding:4px;background:none;border:none;cursor:pointer;
}
.site-nav .sn-burger span{display:block;width:22px;height:2px;border-radius:2px;background:var(--sn-ink);transition:transform .3s,opacity .2s}
.site-nav .sn-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.site-nav .sn-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.site-nav .sn-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.site-nav a:focus-visible,.site-nav button:focus-visible{outline:2px solid var(--sn-accent);outline-offset:3px}

.sn-crumb{padding:.6rem 3.5rem;background:#fff;border-bottom:1px solid rgba(46,107,128,.1)}
.sn-crumb a{font-family:'Jost',system-ui,sans-serif;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sea,#2e6b80);text-decoration:none}
.sn-crumb a:hover{text-decoration:underline}

@media (max-width:1100px){
  .site-nav{padding:.85rem 2rem}
  .site-nav .sn-links{gap:1.6rem}
  .sn-crumb{padding:.6rem 2rem}
}
@media (max-width:900px){
  html{scroll-padding-top:76px}
  .site-nav{padding:.7rem 1.2rem}
  .site-nav .sn-logo img{height:44px}
  .site-nav .sn-burger{display:flex}
  .site-nav .sn-book{padding:.6rem 1.1rem}
  .site-nav .sn-links{
    display:none;position:absolute;top:100%;left:0;right:0;
    flex-direction:column;gap:0;padding:.4rem 0 1rem;
    background:var(--foam,#faf7f3);border-bottom:1px solid rgba(46,107,128,.12);
    box-shadow:0 12px 24px rgba(15,37,48,.08);
  }
  .site-nav .sn-links.open{display:flex}
  .site-nav .sn-links a{padding:.95rem 1.4rem;font-size:.85rem;border-top:1px solid rgba(46,107,128,.08)}
  .sn-crumb{padding:.55rem 1.2rem}
}

/* Property pages: fixed price + booking bar on phones */
.book-bar{display:none}
@media (max-width:860px){
  .has-book-bar .site-nav .sn-book{display:none}
  .has-book-bar{padding-bottom:76px}
  .book-bar{
    display:flex;align-items:center;justify-content:space-between;gap:1rem;
    position:fixed;left:0;right:0;bottom:0;z-index:90;
    padding:.75rem 1.2rem calc(.75rem + env(safe-area-inset-bottom));
    background:#fff;border-top:1px solid rgba(46,107,128,.15);
    box-shadow:0 -6px 20px rgba(15,37,48,.08);
    font-family:'Jost',system-ui,sans-serif;
    transition:transform .25s ease;
  }
  .book-bar.is-hidden{transform:translateY(110%)}
  .book-bar-price{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.6rem;line-height:1;color:var(--tide,#1a3a4a)}
  .book-bar-price small{font-family:'Jost',system-ui,sans-serif;font-size:.8rem;color:var(--stone,#4f6b73)}
  .book-bar-note{display:block;margin-top:.2rem;font-size:.72rem;color:var(--stone,#4f6b73)}
  .book-bar-btn{
    flex-shrink:0;padding:.85rem 1.4rem;
    font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:400;
    color:var(--foam,#faf7f3);background:var(--tide,#1a3a4a);text-decoration:none;
  }
}
@media (prefers-reduced-motion:reduce){.book-bar{transition:none}}
