/* Shared palette only: no content, sizing, spacing or layout changes. */
:root{--cta:#1f2421;--cta-hover:#3a4834;--accent:#bea061;--tint:#e9ece5;--paper:#ffffff;--cream:#f4f6f3;--ink:#333333;--muted:#6d6d6d;--line:#e7e7e7;--green:#333333;--wood:var(--accent);--forest:#333333;--brown:#333333;--orange:var(--accent);--moss:var(--accent);--white:#ffffff}
body{background-color:#ffffff;color:#333333}
main>section:not(.hero):nth-of-type(even){background-color:#f4f6f3;color:#333333}
main>section:not(.hero):nth-of-type(odd){background-color:#e9ece5;color:#333333}
.photo-intro,.price-wrap,.contact{color:#333333}
.premium-photo,.flow,.notice,.access-card{background-color:#f4f6f3}
.plan,.boarding-plan,.form,.special-note,.duo figure,.vehicle-gallery-grid figure{background-color:#ffffff}
.header,.site-header,footer,.footer{background-color:#1f2421;color:#ffffff}
.header .nav,.site-header nav{background-color:#1f2421;color:#ffffff}
.header .brand,.site-header .brand,footer .brand,footer .footer-brand,.header .language,.header .language select,.header .menu,footer p,.footer p,.footer-links{color:#ffffff}
.header .mark,.site-header .brand-mark,footer .mark,footer .brand-mark{border-color:#ffffff}
.header .language option{background-color:#1f2421;color:#ffffff}
.menu-button span{background-color:#ffffff}
.eyebrow,.eyebrow.dark,.special-head .eyebrow,.photo-kicker{color:var(--accent)}
.header .brand small,.site-header .brand small,footer .brand small{color:var(--accent)}
.btn,.btn.outline,.button,.button.primary,.button.glass,.button.light,.photo-button,.nav-cta,.mail-link{background-color:var(--cta);color:#ffffff;border-color:var(--cta);border-radius:999px}
.btn:hover,.btn.outline:hover,.button:hover,.photo-button:hover,.nav-cta:hover,.mail-link:hover{background-color:var(--cta-hover);color:#ffffff;border-color:var(--cta-hover)}
a.btn[href^="https://buy.stripe.com/"]{background-color:#8a6d2f;color:#ffffff;border-color:#8a6d2f;border-radius:999px}
a.btn[href^="https://buy.stripe.com/"]:hover{background-color:#8a6d2f;color:#ffffff;border-color:#8a6d2f}
.price,.fees b,.price-list b,.boarding-price strong,.boarding-price p>span,.num,.steps span,.section-number,.hero-index,.animal-grid figure:first-child figcaption strong{color:var(--accent)!important}
.small,.quote,.required,.breadcrumb,.section-heading>p,.steps p,.note,.boarding-note,.photo-intro-copy .photo-small,.portrait-row figcaption span,.price-list small,.price-note,.price-list>div>span,.access dt,.access dd small,.contact>small{color:#6d6d6d}
.tags,.status,.photo-status,.boarding-price>span,.boarding-details h3,.boarding-extra h3{color:#333333}
.status:before{background-color:var(--accent)}
.text-link:hover,.nav a:hover,.photo-hotel-link:hover,.boarding-link:hover,.map-link:hover{color:var(--cta-hover)}
.header .nav a:hover,.site-header nav a:hover,footer a:hover{color:var(--accent)}
.site-header nav .nav-cta:hover{color:#ffffff}
.price-list,.price-list>div,.steps article,.vehicle-gallery,.field input,.field select,.field textarea,.photo-status,.photo-hotel-link,.map-link,.text-link,.boarding-link{border-color:#e7e7e7}
.plan,.boarding-plan,.notice,.special-note,.intro .small,.note,.price-list .accent-price{border-color:var(--accent)}
.price-list .accent-price{background-image:linear-gradient(90deg,rgba(190,160,97,.11),transparent)}
.field input,.field select,.field textarea,#copy-output{background-color:#ffffff;color:#333333}
.mobile-contact{background-color:#ffffff;border-color:#e7e7e7}
.hero-photo figcaption,.stay-grid figcaption{background-color:#ffffff;color:#6d6d6d}
.duo figure:last-child img,.vehicle-gallery-grid figure:first-child img{background-color:#f4f6f3}
.hero-shade{background:linear-gradient(90deg,rgba(31,36,33,.82),rgba(31,36,33,.28) 58%,rgba(31,36,33,.04)),linear-gradient(0deg,rgba(31,36,33,.4),transparent 45%)}
.feature::after{background:linear-gradient(0deg,rgba(31,36,33,.78),transparent 62%)}
.feature-grid{background-color:#f4f6f3}
.feature,.feature-copy p{color:#ffffff}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.photo-intro a:focus-visible,.boarding-link:focus-visible{outline-color:var(--cta-hover)}

/* Scope the two color families without changing page markup or layout. */
body:has(#photo-nav),
.photo-intro[aria-labelledby="photo-intro-title"],
body:has(#monthly-nav) #boarding,
body:has(#experiences-nav) #winter,
body:has(#experiences-nav) #more .plan:first-child{
--cta:#14181a;--cta-hover:#3a4834;--accent:#bea061;--tint:#eceae2
}
body:has(#camp-nav),
.photo-intro[aria-labelledby="new-programs-title"],
body:has(#monthly-nav) #club,
body:has(#experiences-nav) #day,
body:has(#experiences-nav) #more .plan:nth-child(n+2){
--cta:#617356;--cta-hover:#4d5c43;--accent:#cf9b3f;--tint:#eef2e6
}
body:has(#photo-nav) main>section:not(.hero):nth-of-type(odd),
body:has(#camp-nav) main>section:not(.hero):nth-of-type(odd),
main>section.photo-intro[aria-labelledby],
body:has(#monthly-nav) main>#boarding,
body:has(#monthly-nav) main>#club,
body:has(#experiences-nav) main>#winter,
body:has(#experiences-nav) main>#day{background-color:var(--tint)}

/* Keep the expanded navigation within the existing header. */
.header .nav,.site-header nav{min-width:0;flex-wrap:wrap;column-gap:14px;row-gap:4px}
.header .nav a,.site-header nav a{white-space:nowrap}
.site-header .brand{flex-shrink:0}
@media(min-width:901px){.header .nav{justify-content:flex-end;max-height:80px;overflow-y:auto}}
@media(min-width:801px){.site-header nav{justify-content:flex-end;max-height:64px;overflow-y:auto}}
@media(max-width:900px){.header .nav{flex-wrap:nowrap;max-height:calc(100dvh - 76px);overflow-y:auto;row-gap:16px}}
@media(max-width:800px){.site-header nav{flex-wrap:nowrap;max-height:calc(100dvh - 68px);overflow-y:auto;row-gap:18px}}
@media(max-width:650px){.header .nav{max-height:calc(100dvh - 72px)}}

/* Highlight only the horse-sales destination in both navigation layouts. */
.header .nav a[href^="/horse-sales"],.site-header nav a[href^="/horse-sales"]{background:#bea061!important;color:#14181a!important;border:1px solid #bea061;border-radius:999px;font-weight:700;padding:4px 12px;text-align:center}
.header .nav a[href^="/horse-sales"]:hover,.site-header nav a[href^="/horse-sales"]:hover{background:#bea061!important;color:#14181a!important;text-decoration:underline;text-underline-offset:3px}
.site-header nav a[href^="/horse-sales"]::after{display:none}

/* Navigation typography only; language selectors retain their existing size. */
.header .nav a,.site-header nav a{font-size:15px!important}
@media(max-width:900px){.header .nav a{font-size:18px!important;line-height:1.8}}
@media(max-width:800px){.site-header nav a{font-size:18px!important;line-height:1.8}}
