:root{--barn:#5b6f66;--door:#1d3a33;--door2:#14291f;--cream:#f7f2e8;--cream2:#efe7d6;--peony:#c9788a;--peony-d:#9c4a5d;--ink:#26302c;--line:rgba(29,58,51,.18)}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font-family:'Karla',system-ui,sans-serif;color:var(--ink);background:var(--cream);font-size:1.06rem;line-height:1.7}
img{max-width:100%;height:auto}
h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:1.1;color:var(--door)}
h2{font-size:clamp(2.2rem,4.8vw,3.6rem);margin-bottom:1rem}
h2 em,h1 em{font-style:italic;font-weight:400;color:var(--peony-d)}
.eyebrow{display:block;font:700 .74rem 'Karla',sans-serif;letter-spacing:.26em;text-transform:uppercase;color:var(--peony-d);margin-bottom:.8rem}
section{padding:clamp(4rem,8vw,6.5rem) 0}
a{color:var(--peony-d)}
.btn-peony{background:var(--peony);color:#2a0f17;font-weight:700;border:0;border-radius:3px;padding:.85rem 1.7rem;letter-spacing:.03em}
.btn-peony:hover{background:#d98c9d;color:#2a0f17}
.btn-line{border:2px solid currentColor;color:var(--door);font-weight:700;border-radius:3px;padding:.8rem 1.6rem}
.btn-line:hover{background:var(--door);color:#fff;border-color:var(--door)}
.on-green .btn-line{color:#fff}.on-green .btn-line:hover{background:#fff;color:var(--door)}
/* utility bar + nav */
.util{background:var(--door2);color:#dfe8e2;font-size:.82rem;letter-spacing:.06em;padding:.4rem 0}
.util a{color:#fff;text-decoration:none;font-weight:700}
.navbar{background:var(--cream);border-bottom:1px solid var(--line);padding:.55rem 0}
.navbar-brand{display:flex;align-items:center;gap:.6rem;font-family:'Fraunces',serif;font-weight:700;font-size:1.35rem;color:var(--door)!important}
.navbar-brand svg{width:30px;height:30px;color:var(--peony-d)}
.nav-link{color:var(--door)!important;font-weight:700;font-size:.88rem;letter-spacing:.1em;text-transform:uppercase}
.nav-link:hover{color:var(--peony-d)!important}
/* hero */
.hero{background:var(--door);color:#eef3ee;padding:clamp(2.5rem,5vw,4rem) 0;position:relative;overflow:hidden}
.hero h1{color:#fff;font-size:clamp(2.6rem,6vw,4.9rem);margin-bottom:1rem}
.hero h1 em{color:#f0b3c0}
.hero .eyebrow{color:#f0b3c0}
.hero p.lead{font-size:1.15rem;max-width:34rem;color:#e3ece6}
.hero-photo{display:block;margin-left:auto;width:100%;max-width:340px;max-height:min(66vh,480px);object-fit:cover;object-position:50% 25%;border-radius:4px;border:6px solid var(--cream)}
.hero-shoe{position:absolute;right:-60px;bottom:-70px;width:340px;color:#fff;opacity:.06;transform:rotate(-18deg)}
.stats{background:var(--cream2);padding:1.8rem 0;border-bottom:1px solid var(--line)}
.stat b{display:block;font:600 2.4rem 'Fraunces',serif;color:var(--door);line-height:1}
.stat span{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--barn);font-weight:700}
.shoe-div{display:flex;align-items:center;gap:1rem;color:var(--peony-d);margin:1.2rem 0}
.shoe-div:before,.shoe-div:after{content:"";height:1px;background:var(--line);flex:1}
.shoe-div svg{width:26px;height:26px}
.frame{border-radius:3px;width:100%;object-fit:cover;aspect-ratio:4/3}
/* packages */
.pkg{background:#fff;border:1px solid var(--line);border-top:6px solid var(--door);padding:1.6rem;height:100%}
.pkg h3{font-size:1.6rem}
.pkg .cap{font-weight:700;color:var(--peony-d);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}
.checks{list-style:none;padding:0;margin:0}
.checks li{display:flex;gap:.7rem;padding:.45rem 0;border-bottom:1px solid var(--line)}
.checks li svg{flex:0 0 20px;width:20px;height:20px;color:var(--peony-d);margin-top:.25rem}
/* horses: stall nameplates */
.on-green{background:var(--door);color:#e3ece6}
.on-green h2,.on-green h3{color:#fff}.on-green h2 em{color:#f0b3c0}.on-green .eyebrow{color:#f0b3c0}
.plate{border:1px solid rgba(255,255,255,.3);padding:1rem 1.2rem;border-radius:3px;height:100%}
.plate h3{font-size:1.5rem;display:flex;align-items:center;gap:.5rem}
.plate h3 svg{width:20px;height:20px;color:#f0b3c0}
.plate p{margin:.3rem 0 0;font-size:.98rem}
/* gallery */
.nav-pills .nav-link{border-radius:3px;border:1px solid var(--line);margin-right:.4rem;margin-bottom:.4rem;color:var(--door)!important}
.nav-pills .nav-link.active{background:var(--door);color:#fff!important;border-color:var(--door)}
.gal{columns:3 220px;column-gap:.8rem}
.gal img{width:100%;margin-bottom:.8rem;border-radius:3px;display:block;break-inside:avoid}
/* vendors */
.vend h4{font-size:1.15rem;color:var(--peony-d);border-bottom:1px solid var(--line);padding-bottom:.4rem}
.vend ul{list-style:none;padding:0;margin:0 0 1.4rem}
.vend li{padding:.15rem 0}
/* quote band */
.quote{background:var(--peony);color:#2a0f17;text-align:center}
.quote blockquote{font:italic 400 clamp(1.3rem,2.6vw,1.9rem)/1.45 'Fraunces',serif;max-width:52rem;margin:0 auto 1rem}
.quote cite{font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;font-style:normal}
/* faq */
.accordion-item{background:transparent;border:0;border-bottom:1px solid var(--line)}
.accordion-button{background:transparent;font:600 1.15rem 'Fraunces',serif;color:var(--door);box-shadow:none!important;padding:1.1rem 0}
.accordion-button:not(.collapsed){background:transparent;color:var(--peony-d)}
.accordion-body{padding:0 0 1.2rem}
.map{border:0;width:100%;height:340px;border-radius:3px}
footer{background:var(--door2);color:#cfdad3;padding:2.5rem 0;font-size:.95rem}
footer a{color:#fff}
@media(max-width:991px){.hero-photo{margin:1.5rem auto 0}.navbar-brand{font-size:1.15rem}}
