@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&display=swap');
:root{
  --navy:#061733;
  --navy-2:#0c2445;
  --navy-3:#102f54;
  --cream:#fbf5e9;
  --paper:#fffaf1;
  --ivory:#f4ead9;
  --gold:#c59a49;
  --gold-2:#e3c77c;
  --green:#0f2a1c;
  --green-2:#1d4531;
  --burgundy:#702436;
  --ink:#152033;
  --muted:#696151;
  --line:rgba(197,154,73,.42);
  --soft-line:rgba(13,34,63,.13);
  --serif: 'Cormorant Garamond', Georgia, "Times New Roman", serif;
  --sans: "Avenir Next", "Segoe UI", Arial, sans-serif;
  --shadow:0 18px 45px rgba(6,23,51,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,var(--paper),#f4eadb);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55}
a{color:inherit} img{display:block;max-width:100%}.skip-link{position:absolute;left:-999px;background:var(--navy);color:white;padding:.7rem 1rem;z-index:1000}.skip-link:focus{left:1rem;top:1rem}.container{width:min(1240px,calc(100% - 2rem));margin:0 auto}.narrow{width:min(980px,calc(100% - 2rem));margin:0 auto}
/* Header */
.site-header{background:linear-gradient(180deg,#071a37,#061733);color:#f8eddb;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.header-inner{width:min(1300px,calc(100% - 2rem));margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;min-height:84px}.nav-left,.nav-right{display:flex;gap:1.25rem;align-items:center}.nav-right{justify-content:flex-end}.site-nav a{font-family:var(--serif);font-size:.8rem;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,250,241,.86);padding:.55rem .15rem;position:relative}.site-nav a:hover,.site-nav a.active{color:var(--gold-2)}.site-nav a.active:after,.site-nav a:hover:after{content:"";position:absolute;left:0;right:0;bottom:.2rem;height:1px;background:var(--gold)}.brand{text-align:center;text-decoration:none;display:flex;align-items:center;gap:.85rem;justify-content:center;min-width:320px}.brand-copy strong{display:block;font-family:var(--serif);font-weight:400;letter-spacing:.14em;font-size:1.55rem;text-transform:uppercase;color:#f8eddb;line-height:1}.brand-copy span{display:block;font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-2);margin-top:.35rem}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;color:var(--gold-2);padding:.55rem .8rem;letter-spacing:.14em;text-transform:uppercase}
/* Type */
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.08;margin:0 0 .85rem}h1{font-size:clamp(2rem,3.4vw,3.6rem);letter-spacing:.035em;text-transform:uppercase}h2{font-size:clamp(1.45rem,2.3vw,2.25rem);letter-spacing:.05em;text-transform:uppercase}h3{font-size:clamp(1.05rem,1.4vw,1.35rem);letter-spacing:.08em;text-transform:uppercase}.eyebrow{margin:0 0 .75rem;color:var(--gold);font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.lede{font-family:var(--serif);font-size:1.08rem;line-height:1.65;color:#3d4653}.small{font-size:.88rem;color:var(--muted)}.center{text-align:center}.rule{width:92px;height:1px;background:var(--gold);margin:1rem auto}.section{padding:3rem 0}.section-tight{padding:1.6rem 0}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:.72rem;padding:.78rem 1.1rem;border:1px solid var(--gold);color:var(--navy);background:transparent;gap:.55rem}.btn::after{content:"›";font-size:1rem}.btn-primary{background:linear-gradient(180deg,var(--gold-2),var(--gold));color:#071733}.btn-navy{color:#fffaf1;background:var(--navy);border-color:var(--gold)}
/* Home hero */
.hero-frame{background:var(--cream);padding:1.05rem 0 1.2rem}.hero-panel-frame{width:min(1320px,calc(100% - 2rem));margin:0 auto;background:var(--gold);padding:2px;clip-path:polygon(32px 0,calc(100% - 32px) 0,100% 32px,100% calc(100% - 32px),calc(100% - 32px) 100%,32px 100%,0 calc(100% - 32px),0 32px);box-shadow:0 18px 45px rgba(6,23,51,.22)}.hero-panel{width:100%;box-shadow:inset 0 0 0 4px rgba(255,250,241,.06);background:linear-gradient(90deg,rgba(251,245,233,.96) 0%,rgba(251,245,233,.86) 47%,rgba(251,245,233,.25) 68%,rgba(6,23,51,.16) 100%),url("../img/hero-estate.png") center/cover;min-height:278px;display:grid;grid-template-columns:1fr;align-items:center;position:relative;overflow:hidden;clip-path:polygon(30px 0,calc(100% - 30px) 0,100% 30px,100% calc(100% - 30px),calc(100% - 30px) 100%,30px 100%,0 calc(100% - 30px),0 30px)}.hero-copy{padding:2.2rem 2.5rem;text-align:left;max-width:520px}.hero-copy .rule{margin:1rem 0}.hero-copy h1{font-size:clamp(1.85rem,3vw,3.15rem);color:var(--navy);letter-spacing:.055em}.program-band{background:var(--green);padding:1.15rem 0}.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.program-card{border:1px solid var(--gold);background:linear-gradient(180deg,var(--green-2),var(--green));color:#fffaf1;padding:1.05rem 1.1rem;min-height:100px;display:grid;grid-template-columns:64px 1fr;gap:1rem;align-items:center;text-decoration:none}.program-icon{font-size:2.4rem;color:var(--gold)}.program-card h3{font-size:1.05rem;margin:0;color:#fffaf1}.program-card p{margin:.3rem 0 0;color:rgba(255,250,241,.72);font-size:.82rem}.program-card:hover{background:var(--green-2);transform:translateY(-1px)}
/* Cards & layouts */
.grid{display:grid;gap:1rem}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.panel{background:rgba(255,250,241,.78);border:1px solid var(--line);box-shadow:var(--shadow)}.pad{padding:1.5rem}.split-row{display:grid;grid-template-columns:1fr 1.1fr 1fr 1.1fr;align-items:stretch;border:1px solid var(--line);background:var(--paper)}.split-cell{padding:1.6rem}.split-image{min-height:165px;background:var(--ivory);overflow:hidden}.split-image img{width:100%;height:100%;object-fit:cover}.estate-strip{background:var(--green);color:#fffaf1;border-block:1px solid var(--line);padding:1rem 0 1.25rem}.estate-title{text-align:center;font-family:var(--serif);letter-spacing:.18em;color:var(--gold-2);text-transform:uppercase;margin-bottom:.7rem}.estate-gallery{display:grid;grid-template-columns:40px repeat(5,1fr) 40px;gap:.5rem;align-items:center}.gallery-arrow{color:#fffaf1;font-size:2.4rem;text-align:center;background:transparent;border:none;cursor:pointer;font-family:inherit;line-height:1;padding:0;width:100%}.gallery-arrow:hover{color:var(--gold-2)}.gallery-item{height:115px;border:1px solid rgba(227,199,124,.35);overflow:hidden}.gallery-item img{width:100%;height:100%;object-fit:cover}.horse-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.horse-feature{border:1px solid var(--line);background:rgba(255,250,241,.86);padding:1.2rem}.horse-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.mini-card{text-decoration:none;text-align:center}.mini-card .thumb{aspect-ratio:1.6;background:#ddd;overflow:hidden;border:1px solid rgba(197,154,73,.28)}.mini-card img{width:100%;height:100%;object-fit:cover}.mini-card b{display:block;font-family:var(--serif);font-weight:400;text-transform:uppercase;letter-spacing:.08em;margin-top:.55rem;font-size:.9rem}.mini-card span{display:block;color:var(--muted);font-size:.75rem}.feature-dark{background:linear-gradient(135deg,var(--navy),#092344);color:#fffaf1;border:1px solid var(--gold);padding:2rem;text-align:center}.feature-dark h2{color:var(--gold-2)}.feature-dark p{color:rgba(255,250,241,.8)}
/* Page headers */
.page-hero{background:linear-gradient(90deg,rgba(251,245,233,.95),rgba(251,245,233,.78),rgba(251,245,233,.18)),url("../img/estate-house.png") center/cover;border-bottom:1px solid var(--line);padding:3rem 0}.breadcrumbs{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:var(--muted);margin-bottom:1rem}.breadcrumbs a{text-decoration:none}.page-hero h1{color:var(--navy)}
.discipline-hero{background:linear-gradient(90deg,var(--navy),#061733);color:#fffaf1;padding:2.2rem 0;border-bottom:2px solid var(--gold)}.discipline-hero .lede{color:rgba(255,250,241,.78)}
/* Horse cards */
.card{background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 24px rgba(6,23,51,.08);overflow:hidden}.card-img{aspect-ratio:16/10;overflow:hidden;background:var(--ivory)}.card-img img{width:100%;height:100%;object-fit:cover}.card-pad{padding:1.1rem}.card h3 a{text-decoration:none}.card h3 a:hover{color:var(--burgundy)}.tag-row{display:flex;gap:.4rem;flex-wrap:wrap;margin:.75rem 0}.tag{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;border:1px solid rgba(197,154,73,.45);padding:.28rem .5rem;color:var(--navy);background:#fff7e7}.horse-card.compact{display:grid;grid-template-columns:145px 1fr}.horse-card.compact .card-img{aspect-ratio:auto;height:100%}
/* Facilities/About */
.facility-list{columns:2;column-gap:2rem;padding-left:1.1rem}.facility-list li{break-inside:avoid;margin:.25rem 0 .5rem}.staff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.staff-card{display:grid;grid-template-columns:92px 1fr;gap:1rem;align-items:center}.staff-photo{width:92px;aspect-ratio:1;overflow:hidden;border:1px solid var(--gold);background:var(--ivory)}.staff-photo img{width:100%;height:100%;object-fit:cover}.facilities-carousel{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.facility-card .card-img{aspect-ratio:16/9}
/* Horse profile */
.horse-header{display:grid;grid-template-columns:.95fr 1.05fr;gap:2rem;align-items:center}.horse-portrait{border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}.horse-portrait img{width:100%;aspect-ratio:4/3;object-fit:cover}.stat-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem;margin-top:1rem}.stat{border:1px solid rgba(197,154,73,.34);background:#fff7e7;padding:.75rem}.stat b{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}.stat span{font-family:var(--serif);font-size:1.05rem;color:var(--navy)}.table-wrap{overflow:auto;border:1px solid var(--line);background:var(--paper)}table{width:100%;border-collapse:collapse;min-width:680px}th,td{padding:.8rem .9rem;text-align:left;border-bottom:1px solid rgba(6,23,51,.08)}th{background:#f4ead8;color:var(--navy);font-size:.7rem;text-transform:uppercase;letter-spacing:.13em}tr:last-child td{border-bottom:0}.result-empty{border:1px dashed var(--line);background:#fff7e7;padding:1rem;color:var(--muted)}
/* Footer */
.site-footer{background:linear-gradient(180deg,#071a37,#061326);color:rgba(255,250,241,.78);border-top:1px solid var(--line);padding:2.4rem 0 1rem}.footer-grid{display:grid;grid-template-columns:1.1fr .8fr .8fr .9fr 1fr;gap:1.5rem}.site-footer h3{font-size:1rem;color:var(--gold-2);margin-bottom:.65rem}.site-footer a{display:block;text-decoration:none;color:rgba(255,250,241,.75);margin:.25rem 0}.site-footer a:hover{color:var(--gold-2)}.footer-bottom{border-top:1px solid rgba(197,154,73,.24);margin-top:1.5rem;padding-top:1rem;font-size:.78rem;color:rgba(255,250,241,.52)}.footer-brand{display:flex;gap:.85rem;align-items:center}.footer-logo{width:58px;height:58px;border:1px solid var(--gold);display:grid;place-items:center;font-family:var(--serif);color:var(--gold-2);font-size:1.2rem}.disclaimer{border:1px solid var(--line);background:#fff7e7;padding:1rem;color:#5e574c;font-size:.88rem}.quote-band{background:linear-gradient(90deg,var(--green),var(--navy));color:#fffaf1;text-align:center;padding:1.25rem;font-family:var(--serif);letter-spacing:.2em;text-transform:uppercase}
@media(max-width:1000px){.header-inner{grid-template-columns:1fr auto}.brand{justify-content:flex-start;min-width:0}.nav-left,.nav-right{display:none}.menu-toggle{display:inline-flex}.site-nav.open{display:flex}.site-nav.mobile{position:absolute;top:84px;left:1rem;right:1rem;background:#071a37;border:1px solid var(--gold);padding:1rem;flex-direction:column}.hero-copy{padding:2rem}.program-grid,.grid-2,.grid-3,.grid-4,.split-row,.horse-row,.estate-gallery,.staff-grid,.facilities-carousel,.horse-header,.footer-grid{grid-template-columns:1fr}.horse-mini-grid{grid-template-columns:repeat(2,1fr)}.facility-list{columns:1}.hero-frame{padding:.8rem 0}.horse-card.compact{grid-template-columns:1fr}.horse-card.compact .card-img{height:auto;aspect-ratio:16/10}.brand-copy strong{font-size:1.1rem}}
