/* Arbor Vista Retreat v4.3.3 — final verified visual cleanup.
   Feature freeze remains active until v4.4. */

/* Approved removals: structural markup is also removed from index.html. */
.av-utility,
.av-hero-note {
  display:none !important;
}

/* Utility strip is gone, so the hero navigation begins at the top. */
.home-page .av-hero-nav {
  top:0 !important;
}

/* Exact approved horizontal logo with a transparent, cache-busted image. */
.brand-logo-horizontal {
  display:inline-flex !important;
  align-items:center !important;
  width:264px !important;
  min-width:264px !important;
  aspect-ratio:1200 / 281;
  padding:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
  position:relative;
  isolation:isolate;
}
.brand-logo-horizontal img {
  display:block !important;
  width:100% !important;
  height:auto !important;
  opacity:1 !important;
  filter:none !important;
  position:relative;
  z-index:1;
}
/* At the top of the hero, keep a dark translucent navigation layer. */
.home-page .nav:not(.scrolled) {
  background:rgba(5,24,18,.58) !important;
  border-bottom:1px solid rgba(255,255,255,.18) !important;
  backdrop-filter:blur(8px) !important;
}
.home-page .nav:not(.scrolled) .brand-logo-horizontal img {
  filter:
    drop-shadow(0 0 1px rgba(255,255,255,1))
    drop-shadow(0 0 2px rgba(245,240,231,.92))
    drop-shadow(0 2px 5px rgba(0,0,0,.82)) !important;
}
.home-page .nav:not(.scrolled) .links {
  color:#fff !important;
}

/* On scroll, match the page's warm-cream background for clear logo text. */
.home-page .nav.scrolled,
.home-page .av-hero-nav.scrolled {
  top:0 !important;
  background:rgba(245,240,231,.985) !important;
  color:var(--forest) !important;
  border-bottom:1px solid rgba(25,56,47,.16) !important;
  box-shadow:0 10px 30px rgba(12,35,28,.10) !important;
  backdrop-filter:blur(16px) !important;
}
.home-page .nav.scrolled .brand-logo-horizontal {
  filter:drop-shadow(0 2px 4px rgba(3,18,13,.16));
}

/* Interior pages already use the page background; enforce the same clear state. */
body:not(.home-page) .nav {
  background:rgba(245,240,231,.985) !important;
  color:var(--forest) !important;
  border-bottom:1px solid rgba(25,56,47,.16) !important;
  backdrop-filter:blur(16px) !important;
}
body:not(.home-page) .brand-logo-horizontal {
  filter:drop-shadow(0 2px 4px rgba(3,18,13,.16));
}

/* Preserve transparent blending in the footer while lifting dark lettering. */
.footer-v43 .brand-logo-horizontal {
  width:264px !important;
  min-width:264px !important;
  filter:
    drop-shadow(0 0 1px rgba(255,255,255,1))
    drop-shadow(0 0 3px rgba(245,240,231,.95))
    drop-shadow(0 2px 7px rgba(0,0,0,.75));
}

/* Reclaim the 42px removed utility strip. */
.home-page .v43-hero-content {
  padding-top:208px !important;
}

@media(max-width:1120px) {
  .brand-logo-horizontal,
  .footer-v43 .brand-logo-horizontal {
    width:216px !important;
    min-width:216px !important;
  }
  .home-page .v43-hero-content {
    padding-top:188px !important;
  }
}
@media(max-width:760px) {
  .brand-logo-horizontal,
  .footer-v43 .brand-logo-horizontal {
    width:168px !important;
    min-width:168px !important;
  }
  .home-page .v43-hero-content {
    padding-top:155px !important;
  }
}
@media(max-width:360px) {
  .brand-logo-horizontal,
  .footer-v43 .brand-logo-horizontal {
    width:150px !important;
    min-width:150px !important;
  }
}


/* v4.3.3 verified Airbnb review snapshot */
.v433-guest-reviews{
  background:#fffdf8;
  color:#17372f;
  padding:clamp(78px,9vw,118px) 0;
  border-top:1px solid rgba(25,56,47,.16);
  border-bottom:1px solid rgba(25,56,47,.16);
}
.v433-guest-reviews .container{
  width:min(1240px,calc(100% - 2 * clamp(22px,6vw,88px)));
  margin-inline:auto;
}
.v433-reviews-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7vw;
  align-items:end;
  margin-bottom:42px;
}
.v433-reviews-heading h2{
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(44px,5.8vw,76px);
  font-weight:500;
  line-height:1;
  letter-spacing:-.025em;
  margin:10px 0 17px;
  color:#17372f;
}
.v433-reviews-heading>div:first-child>p:last-child{
  color:#66716b;
  margin:0;
  max-width:660px;
}
.v433-rating-summary{
  min-width:230px;
  display:grid;
  justify-items:end;
  line-height:1.2;
}
.v433-rating-number{
  font-family:"Playfair Display",Georgia,serif;
  font-size:64px;
  color:#19382f;
}
.v433-rating-stars{
  color:#b58a4e;
  letter-spacing:.12em;
  font-size:17px;
}
.v433-rating-summary strong{
  margin-top:9px;
  font-size:14px;
}
.v433-rating-summary small{
  margin-top:5px;
  color:#66716b;
}
.v433-review-grid{
  display:grid;
  grid-template-columns:1.25fr .85fr .85fr;
  gap:16px;
}
.v433-review-card{
  min-height:285px;
  padding:32px;
  border:1px solid rgba(25,56,47,.16);
  background:#fff;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:0 14px 38px rgba(25,56,47,.055);
}
.v433-review-card-featured{
  background:#19382f !important;
  color:#fff !important;
}
.v433-review-stars{
  color:#efc589;
  letter-spacing:.12em;
}
.v433-review-card blockquote{
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(25px,2.45vw,36px);
  line-height:1.25;
  margin:28px 0;
}
.v433-review-card-featured blockquote{
  color:#fff !important;
}
.v433-review-card-featured>p{
  color:#cbd8d2 !important;
  font-size:13px;
  margin:0;
}
.v433-review-label{
  color:#b58a4e;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.13em;
  margin:0 0 22px;
}
.v433-category-ratings{
  display:grid;
  gap:1px;
  background:rgba(25,56,47,.16);
}
.v433-category-ratings span{
  display:flex;
  justify-content:space-between;
  gap:16px;
  background:#fff;
  padding:14px 0;
  color:#66716b;
}
.v433-category-ratings b{
  order:2;
  font-family:"Playfair Display",Georgia,serif;
  font-size:24px;
  color:#19382f;
}
.v433-review-themes{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}
.v433-review-themes span{
  border:1px solid rgba(25,56,47,.16);
  border-radius:999px;
  padding:8px 12px;
  color:#19382f;
  font-size:13px;
  font-weight:700;
}
.v433-five-star{
  margin:28px 0 0;
  color:#66716b;
}
.v433-five-star b{
  display:block;
  font-family:"Playfair Display",Georgia,serif;
  color:#19382f;
  font-size:38px;
}
.v433-reviews-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin-top:30px;
}
.v433-reviews-footer .v43-button{
  display:inline-flex;
  min-height:52px;
  align-items:center;
  justify-content:center;
  padding:0 25px;
  background:#19382f;
  color:#fff;
  border:1px solid #19382f;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.075em;
  font-size:12px;
  font-weight:700;
}
.v433-reviews-footer p{
  margin:0;
  color:#66716b;
  font-size:13px;
}
@media(max-width:1000px){
  .v433-review-grid{grid-template-columns:1fr 1fr}
  .v433-review-card-featured{grid-column:1/-1}
}
@media(max-width:700px){
  .v433-reviews-heading{grid-template-columns:1fr;align-items:start}
  .v433-rating-summary{justify-items:start;min-width:0}
  .v433-review-grid{grid-template-columns:1fr}
  .v433-review-card-featured{grid-column:auto}
  .v433-review-card{min-height:0}
  .v433-reviews-footer{align-items:flex-start;flex-direction:column}
}


/* v4.3.3 FINAL LOGO VISIBILITY SYSTEM */
:root{--av-header-dark:rgba(7,30,23,.94);--av-header-light:rgba(245,240,231,.995);--av-header-transition:220ms}
.brand-logo-v433{position:relative!important;display:inline-flex!important;align-items:center!important;width:264px!important;min-width:264px!important;aspect-ratio:1200/281;padding:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;line-height:0!important}
.brand-logo-v433 .av-logo-stack{position:relative;display:block;width:100%;aspect-ratio:1200/281}
.brand-logo-v433 .av-logo-variant{position:absolute;inset:0;display:block!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:contain;object-position:left center;background:transparent!important;filter:none!important;transition:opacity var(--av-header-transition) ease;will-change:opacity}
.brand-logo-v433 .av-logo-dark{opacity:1}.brand-logo-v433 .av-logo-light{opacity:0}
.home-page .nav:not(.scrolled){background:var(--av-header-dark)!important;color:#fff!important;border-bottom:1px solid rgba(255,255,255,.16)!important;backdrop-filter:blur(10px) saturate(.9)!important;box-shadow:0 8px 24px rgba(4,16,12,.12)!important;transition:background-color var(--av-header-transition) ease,color var(--av-header-transition) ease,box-shadow var(--av-header-transition) ease!important}
.home-page .nav:not(.scrolled) .av-logo-dark{opacity:0!important}.home-page .nav:not(.scrolled) .av-logo-light{opacity:1!important}
.home-page .nav.scrolled,.home-page .av-hero-nav.scrolled{background:var(--av-header-light)!important;color:var(--forest,#19382f)!important;border-bottom:1px solid rgba(25,56,47,.16)!important;backdrop-filter:blur(16px)!important;box-shadow:0 10px 30px rgba(12,35,28,.10)!important}
.home-page .nav.scrolled .av-logo-dark{opacity:1!important}.home-page .nav.scrolled .av-logo-light{opacity:0!important}
body:not(.home-page) .nav{background:var(--av-header-light)!important;color:var(--forest,#19382f)!important;border-bottom:1px solid rgba(25,56,47,.16)!important;backdrop-filter:blur(16px)!important}
body:not(.home-page) .nav .av-logo-dark{opacity:1!important}body:not(.home-page) .nav .av-logo-light{opacity:0!important}
.footer-v43 .brand-logo-v433 .av-logo-dark{opacity:0!important}.footer-v43 .brand-logo-v433 .av-logo-light{opacity:1!important}.footer-v43 .brand-logo-v433{background:transparent!important}
.home-page .nav:not(.scrolled) .brand-image img,.footer-v43 .footer-logo img,.brand-logo-horizontal img{filter:none!important}
.navin{transition:min-height var(--av-header-transition) ease}
@media(max-width:1120px){.brand-logo-v433{width:216px!important;min-width:216px!important}}
@media(max-width:760px){.brand-logo-v433{width:168px!important;min-width:168px!important}}
@media(max-width:360px){.brand-logo-v433{width:150px!important;min-width:150px!important}}
@media(prefers-reduced-motion:reduce){.brand-logo-v433 .av-logo-variant,.home-page .nav{transition:none!important}}

