/* Owner footage is graded in the encoded media; don't apply the photo grade twice. */
#home{overflow:clip}
.ranch-film{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:none;transform:none;animation:none;background:var(--shadow)}
.ranch-film[hidden]{display:none}
.hero-film{object-position:50% 50%;animation:none;filter:none}
.intro-image .ranch-film{object-position:50% 55%}
/* Preserve the portrait composition: mirrored house above, riverside chairs below. */
@media(max-width:600px){
  #about .intro-image{height:auto;min-height:0;aspect-ratio:9/16}
  #about .intro-image .ranch-film{object-fit:contain;object-position:center}
}
.stay-photo .ranch-film{object-position:50% 50%;pointer-events:none}
.experience-image .ranch-film{z-index:1}
.experience-caption{z-index:2}
.film-toggle{position:absolute;z-index:4;top:18px;right:18px;width:32px;height:32px;border:1px solid rgba(243,238,229,.5);border-radius:50%;color:var(--bone);background:rgba(16,22,18,.28);backdrop-filter:blur(10px);font:16px/1 var(--sans);display:grid;place-items:center}
.hero-controls .hero-film-retry{justify-content:center;min-width:44px;min-height:44px;font-size:18px}.hero-controls .hero-film-retry[hidden],.film-toggle[hidden]{display:none}.film-toggle:hover{background:rgba(16,22,18,.5)}.film-toggle:focus-visible{outline:2px solid var(--bone);outline-offset:4px}
/* Replace the oversized empty stay heading with a compact editorial strip. */
.stay{padding-top:0}
.stay .section-heading{padding:28px 5vw 27px;margin:0;display:flex;align-items:center;justify-content:space-between;gap:35px}
.stay .section-heading .eyebrow{font-size:7px;letter-spacing:.15em;margin:0 0 9px}
.stay .section-heading h2{font-size:clamp(31px,3.05vw,47px);line-height:1.12;margin:0}
.stay .section-heading>p{font-size:10px;line-height:1.7;margin:0;max-width:270px}
/* Weather sits in the hero corner, leaving the central booking dock clear. */
.hero-weather{top:auto;bottom:34px;right:4.5vw}
.weather-label{font-size:8px}
.weather-reading{font-size:28px;margin:6px 0 5px}
.weather-moon{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin-top:7px;font:500 8px/1.4 var(--sans);letter-spacing:.025em}
.weather-moon svg{width:17px;height:17px;flex-shrink:0}
#home .hero-bottom{right:auto;gap:24px;justify-content:flex-start}
#home .hero-controls{gap:16px}
@media(max-width:1100px){
 .hero-weather{bottom:155px;right:25px}
 .stay .section-heading h2{font-size:34px}
 .stay .section-heading>p{font-size:9px;max-width:225px}
}
@media(max-width:700px){
 .stay .section-heading{padding:24px 28px;display:block}
 .stay .section-heading h2{font-size:33px;max-width:335px}
 .stay .section-heading .eyebrow{font-size:6px;margin-bottom:8px}
 .stay .section-heading>p{font-size:9px;margin:12px 0 0;max-width:310px;line-height:1.5}
 .stay .section-heading>p br{display:none}
 .hero-weather{bottom:153px;right:23px}
 .weather-label{font-size:7px}.weather-reading{font-size:25px;margin:5px 0}.weather-wind{font-size:8px}.weather-moon{font-size:7px;margin-top:5px}.weather-moon svg{width:15px;height:15px}
 #home .hero-bottom{bottom:157px;flex-direction:column;align-items:flex-start;gap:12px}
 #home .hero-content{padding-bottom:185px}
 #home .hero-controls{gap:12px}
 .film-toggle{top:14px;right:14px;width:30px;height:30px}
}
