
/* Dedicated SEO subpages */
.desktop-nav{gap:18px}.desktop-nav a.active{opacity:1;color:var(--brand-copper,#c47b4a);font-weight:700}.mobile-menu a.active{color:#c47b4a;font-weight:800}
.inner-hero{min-height:680px;padding:132px clamp(24px,6vw,110px) 62px;display:grid;grid-template-columns:.92fr 1.08fr;gap:5vw;align-items:center;position:relative;overflow:hidden}.inner-hero:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(215,185,125,.12),transparent 68%);left:-180px;top:-190px}.inner-hero-copy{position:relative;z-index:2;max-width:680px}.inner-hero h1{font-family:var(--display);font-size:clamp(48px,5.2vw,78px);line-height:.98;letter-spacing:-.055em;margin:0 0 24px}.inner-hero h1 em{font-family:var(--serif);color:var(--gold2);font-weight:600}.inner-lead{font-size:17px;line-height:1.7;color:rgba(255,255,255,.72);max-width:620px}.breadcrumbs{display:flex;gap:9px;align-items:center;margin-bottom:24px;font-size:11px;color:rgba(255,255,255,.48)}.breadcrumbs a{color:rgba(255,255,255,.72);text-decoration:none}.keyword-note{font-size:10px;line-height:1.6;letter-spacing:.05em;color:rgba(255,255,255,.42);margin-top:22px}.inner-hero-image{margin:0;height:430px;border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:0 28px 80px rgba(0,0,0,.28)}.inner-hero-image img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.92) contrast(1.03)}
.page-section{padding:72px clamp(24px,6vw,110px)}.page-section.soft{background:var(--brand-mist,#f7f4ee)}.page-section.dark{background:var(--brand-deep,#123b3a);color:#fff}.page-title{max-width:920px;margin-bottom:36px}.page-title .eyebrow{margin-bottom:14px}.page-title h2{font-family:var(--display);font-size:clamp(34px,3.5vw,54px);line-height:1.06;letter-spacing:-.045em;margin:0}.page-title h2 em{font-family:var(--serif);font-weight:600}.page-title p{font-size:15px;line-height:1.75;color:var(--brand-muted,#687674);max-width:760px}.dark .page-title p{color:rgba(255,255,255,.68)}
.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.info-card{background:#fff;border:1px solid var(--brand-line,rgba(18,59,58,.14));border-radius:20px;padding:26px;box-shadow:0 10px 30px rgba(18,59,58,.04)}.info-card h3{font-family:var(--display);font-size:22px;margin:0 0 12px}.info-card p,.info-card li{font-size:14px;line-height:1.72;color:var(--brand-muted,#687674)}.info-card ul{margin:12px 0 0;padding-left:18px}.dark .info-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}.dark .info-card p,.dark .info-card li{color:rgba(255,255,255,.66)}
.price-table-wrap{overflow:auto;border:1px solid var(--brand-line,rgba(18,59,58,.14));border-radius:22px;background:#fff;box-shadow:0 12px 32px rgba(18,59,58,.04)}.price-table{width:100%;border-collapse:collapse;min-width:720px}.price-table th,.price-table td{padding:18px 20px;border-bottom:1px solid var(--brand-line,rgba(18,59,58,.12));text-align:left;font-size:13px}.price-table th{background:#123b3a;color:#fff;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.price-table tr:last-child td{border-bottom:0}.price-table td strong{font-family:var(--display);font-size:17px;color:#c47b4a}.notice{margin-top:20px;padding:18px 20px;border-radius:14px;background:#efe7da;color:#5f604f;font-size:12px;line-height:1.65}
.plan-grid,.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.plan-card{background:#fff;border:1px solid var(--brand-line);border-radius:18px;padding:22px;min-height:200px;display:flex;flex-direction:column}.plan-card span{font-size:10px;letter-spacing:.15em;color:#c47b4a}.plan-card h3{font-size:25px;margin:32px 0 8px}.plan-card p{margin:0;color:var(--brand-muted);font-size:13px;line-height:1.6}.plan-card strong{margin-top:auto;padding-top:20px;color:#123b3a;font-size:13px}
.master-image{margin:0;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:0 25px 70px rgba(0,0,0,.22)}.master-image img{width:100%;height:480px;object-fit:cover;display:block}.master-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:5vw;align-items:center}.feature-list{display:grid;gap:10px;margin-top:24px}.feature-list div{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:13px;color:rgba(255,255,255,.72)}.feature-list b{color:#f2deae;margin-right:10px}
.amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.amenity-card{padding:24px;border-radius:18px;background:#fff;border:1px solid var(--brand-line)}.amenity-card b{font-size:11px;color:#c47b4a;letter-spacing:.12em}.amenity-card h3{font-size:21px;margin:16px 0 10px}.amenity-card p{font-size:13px;line-height:1.65;color:var(--brand-muted);margin:0}
.gallery-grid figure{margin:0;position:relative;overflow:hidden;border-radius:18px;min-height:280px;background:#123b3a}.gallery-grid figure:first-child{grid-column:span 2}.gallery-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.gallery-grid figure:hover img{transform:scale(1.025)}.gallery-grid figcaption{position:absolute;left:12px;right:12px;bottom:12px;padding:10px 12px;border-radius:10px;background:rgba(7,31,28,.7);color:#fff;font-size:11px}
.link-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.link-card{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--brand-line);border-radius:16px;padding:20px;transition:.25s}.link-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(18,59,58,.08)}.link-card small{color:#c47b4a;letter-spacing:.12em}.link-card strong{display:block;font-size:18px;margin-top:10px}
@media(max-width:1100px){.desktop-nav{display:none}.inner-hero{min-height:auto;padding:118px 18px 58px;grid-template-columns:1fr;gap:24px}.inner-hero h1{font-size:52px}.inner-hero-image{height:380px}.content-grid,.master-layout{grid-template-columns:1fr}.plan-grid,.amenity-grid,.gallery-grid,.link-cards{grid-template-columns:repeat(2,1fr)}.gallery-grid figure:first-child{grid-column:span 2}.master-image img{height:400px}.page-section{padding:64px 18px}}
@media(max-width:720px){.inner-hero{padding:104px 15px 46px}.inner-hero h1{font-size:43px}.inner-lead{font-size:15px}.inner-hero-image{height:255px;border-radius:20px}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.page-section{padding:54px 15px}.page-title{margin-bottom:26px}.page-title h2{font-size:34px}.content-grid,.plan-grid,.amenity-grid,.gallery-grid,.link-cards{grid-template-columns:1fr}.gallery-grid figure:first-child{grid-column:auto}.gallery-grid figure{min-height:220px}.master-image img{height:260px}.price-table th,.price-table td{padding:14px}.info-card{padding:20px}.keyword-note{font-size:9px}}

/* =========================================================
   DESKTOP HEADER CONSISTENCY FIX — 26 Sep 2026
   Keep the same light header across Home + all inner pages.
   ========================================================= */
@media (min-width:1101px){
  .site-header,
  .site-header.scrolled{
    top:0;
    left:0;
    right:0;
    width:100%;
    height:86px;
    padding:0 clamp(42px,4.5vw,84px);
    background:rgba(239,239,234,.97);
    color:#173634;
    border-bottom:1px solid rgba(18,59,58,.14);
    border-radius:0;
    box-shadow:0 8px 28px rgba(18,59,58,.05);
    -webkit-backdrop-filter:blur(16px);
    backdrop-filter:blur(16px);
  }
  .site-header .brand-logo{min-width:250px;padding:0;background:transparent;border:0;box-shadow:none}
  .site-header .brand-logo img,
  .site-header:not(.scrolled) .brand-logo img,
  .site-header.scrolled .brand-logo img{
    width:252px;
    max-width:none;
    height:auto;
    filter:none!important;
    background:transparent;
    padding:0;
    border-radius:0;
  }
  .desktop-nav{gap:28px;margin-left:auto;align-items:center}
  .desktop-nav a{
    color:#29423f;
    font-size:13px;
    font-weight:500;
    opacity:.9;
    padding:10px 0;
    white-space:nowrap;
  }
  .desktop-nav a:hover{color:#102f2c;opacity:1}
  .desktop-nav a.active{color:#c87945;opacity:1;font-weight:800}
  .header-cta,
  .site-header.scrolled .header-cta{
    min-width:124px;
    height:52px;
    padding:0 24px;
    margin-left:8px;
    border:1px solid rgba(18,59,58,.18);
    border-radius:999px;
    background:transparent;
    color:#173634;
    font-size:14px;
    font-weight:600;
    box-shadow:none;
  }
  .header-cta:hover{background:rgba(18,59,58,.05)}

  /* Inner pages should begin below the fixed light header instead of
     letting their dark hero show through behind it. */
  .inner-page{padding-top:86px}
  .inner-page .inner-hero{
    padding-top:58px;
    min-height:594px;
  }
}

/* =========================================================
   MOBILE + TABLET LIGHT HEADER CONSISTENCY — 26 Sep 2026
   Same visual language as desktop reference, responsive layout.
   ========================================================= */
@media (max-width:1100px){
  .site-header,
  .site-header.scrolled{
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    height:74px!important;
    padding:0 18px!important;
    border-radius:0!important;
    background:rgba(239,239,234,.98)!important;
    color:#173634!important;
    border-bottom:1px solid rgba(18,59,58,.14)!important;
    box-shadow:0 6px 22px rgba(18,59,58,.05)!important;
    -webkit-backdrop-filter:blur(16px);
    backdrop-filter:blur(16px);
  }
  .site-header .brand-logo,
  .site-header.scrolled .brand-logo{
    min-width:0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
  .site-header .brand-logo img,
  .site-header:not(.scrolled) .brand-logo img,
  .site-header.scrolled .brand-logo img{
    width:205px!important;
    max-width:56vw!important;
    height:auto!important;
    filter:none!important;
    background:transparent!important;
    padding:0!important;
    border-radius:0!important;
  }
  .menu-btn{
    display:block!important;
    margin-left:auto!important;
    width:44px!important;
    height:44px!important;
    flex:0 0 44px!important;
    color:#173634!important;
    border:1px solid rgba(18,59,58,.13)!important;
    border-radius:12px!important;
    background:transparent!important;
  }
  .menu-btn span{
    width:22px!important;
    height:1.5px!important;
    margin:6px auto!important;
    background:#173634!important;
  }
  .header-cta,
  .site-header.scrolled .header-cta{
    margin-left:auto!important;
    border:1px solid rgba(18,59,58,.17)!important;
    background:transparent!important;
    color:#173634!important;
    box-shadow:none!important;
  }
  .mobile-menu{
    position:fixed!important;
    top:74px!important;
    left:0!important;
    right:0!important;
    z-index:49!important;
    padding:14px 18px 20px!important;
    background:rgba(239,239,234,.99)!important;
    border-bottom:1px solid rgba(18,59,58,.14)!important;
    box-shadow:0 16px 32px rgba(18,59,58,.08)!important;
  }
  .mobile-menu a,
  .mobile-menu button{
    color:#173634!important;
    border-bottom:1px solid rgba(18,59,58,.10)!important;
    background:transparent!important;
  }
  .mobile-menu a.active{color:#c87945!important}
}

@media (max-width:720px){
  .site-header,
  .site-header.scrolled{
    height:66px!important;
    padding:0 14px!important;
  }
  .site-header .brand-logo img,
  .site-header:not(.scrolled) .brand-logo img,
  .site-header.scrolled .brand-logo img{
    width:168px!important;
    max-width:58vw!important;
  }
  .header-cta{display:none!important}
  .menu-btn{
    width:40px!important;
    height:40px!important;
    flex-basis:40px!important;
    border-radius:10px!important;
  }
  .mobile-menu{top:66px!important;padding:12px 15px 18px!important}
  .mobile-menu a,.mobile-menu button{min-height:48px!important;padding:12px 2px!important;font-size:14px!important}
  .inner-page{padding-top:66px!important}
  .inner-page .inner-hero{padding-top:38px!important}
}


/* Seven-page navigation + Location page refinement */
@media (min-width:1101px){
  .site-header,.site-header.scrolled{padding-left:clamp(30px,3.8vw,64px);padding-right:clamp(30px,3.8vw,64px)}
  .site-header .brand-logo{min-width:225px}
  .site-header .brand-logo img,.site-header:not(.scrolled) .brand-logo img,.site-header.scrolled .brand-logo img{width:230px}
  .desktop-nav{gap:clamp(12px,1.35vw,22px)}
  .desktop-nav a{font-size:12.5px}
  .header-cta,.site-header.scrolled .header-cta{min-width:112px;padding:0 20px}
}


/* =========================================================
   FINAL PHONE HEADER FIX — 26 Sep 2026
   Mobile only. Keeps desktop/tablet layout untouched.
   ========================================================= */
@media (max-width:720px){
  html{scroll-padding-top:64px!important}

  .site-header,
  .site-header.scrolled{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    height:64px!important;
    min-height:64px!important;
    padding:0 13px 0 15px!important;
    margin:0!important;
    transform:none!important;
    border:0!important;
    border-bottom:1px solid rgba(18,59,58,.13)!important;
    border-radius:0!important;
    background:rgba(239,239,234,.985)!important;
    color:#173634!important;
    box-shadow:0 5px 18px rgba(18,59,58,.07)!important;
    -webkit-backdrop-filter:blur(14px)!important;
    backdrop-filter:blur(14px)!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    z-index:1000!important;
  }

  .site-header .brand-logo,
  .site-header.scrolled .brand-logo{
    display:flex!important;
    align-items:center!important;
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:calc(100% - 52px)!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    line-height:0!important;
  }

  .site-header .brand-logo img,
  .site-header:not(.scrolled) .brand-logo img,
  .site-header.scrolled .brand-logo img{
    display:block!important;
    width:156px!important;
    max-width:100%!important;
    height:auto!important;
    max-height:45px!important;
    object-fit:contain!important;
    object-position:left center!important;
    filter:none!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
    border-radius:0!important;
  }

  .desktop-nav,
  .header-cta{display:none!important}

  .menu-btn{
    display:grid!important;
    place-items:center!important;
    position:relative!important;
    flex:0 0 40px!important;
    width:40px!important;
    height:40px!important;
    margin:0 0 0 auto!important;
    padding:0!important;
    border:1px solid rgba(18,59,58,.15)!important;
    border-radius:10px!important;
    background:#123b3a!important;
    color:#fff!important;
    box-shadow:none!important;
    cursor:pointer!important;
  }
  .menu-btn span{
    position:absolute!important;
    left:50%!important;
    width:19px!important;
    height:1.5px!important;
    margin:0!important;
    border:0!important;
    background:#fff!important;
    transform:translateX(-50%)!important;
    transition:transform .22s ease,top .22s ease,opacity .18s ease!important;
  }
  .menu-btn span:first-child{top:14px!important}
  .menu-btn span:last-child{top:23px!important}
  .menu-btn[aria-expanded="true"] span:first-child{top:19px!important;transform:translateX(-50%) rotate(45deg)!important}
  .menu-btn[aria-expanded="true"] span:last-child{top:19px!important;transform:translateX(-50%) rotate(-45deg)!important}

  .mobile-menu{
    display:block!important;
    position:fixed!important;
    top:64px!important;
    left:0!important;
    right:0!important;
    bottom:auto!important;
    width:100%!important;
    max-height:calc(100dvh - 64px)!important;
    overflow-y:auto!important;
    padding:8px 15px 16px!important;
    margin:0!important;
    border:0!important;
    border-bottom:1px solid rgba(18,59,58,.12)!important;
    border-radius:0!important;
    background:rgba(247,245,239,.995)!important;
    box-shadow:0 18px 36px rgba(18,59,58,.12)!important;
    transform:translateY(-8px)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .2s ease,transform .2s ease,visibility .2s ease!important;
    z-index:999!important;
  }
  .mobile-menu.show{
    transform:translateY(0)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  .mobile-menu a,
  .mobile-menu button{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:46px!important;
    padding:10px 4px!important;
    margin:0!important;
    border:0!important;
    border-bottom:1px solid rgba(18,59,58,.09)!important;
    border-radius:0!important;
    background:transparent!important;
    color:#173634!important;
    font-size:13.5px!important;
    font-weight:600!important;
    line-height:1.25!important;
    text-align:left!important;
    text-decoration:none!important;
  }
  .mobile-menu a.active{color:#c87945!important;font-weight:800!important}
  .mobile-menu button{color:#fff!important;background:#123b3a!important;border-radius:10px!important;justify-content:center!important;margin-top:9px!important;border-bottom:0!important}

  body.menu-open{overflow:hidden!important}

  /* Fixed header clearance. */
  .inner-page{padding-top:64px!important}
  .inner-page .inner-hero{padding-top:36px!important}
  body:not(.inner-page) .hero{padding-top:92px!important}
}

@media (max-width:380px){
  .site-header .brand-logo img,
  .site-header:not(.scrolled) .brand-logo img,
  .site-header.scrolled .brand-logo img{width:145px!important}
}
