/* Iron Spur Equine — brand system
   Chocolate #3B2B1C · Cream #EFE5CE · Sand #C9AF85 · Military green #5C5B41 · Charcoal #2C2925 */
:root{
  --brown:#3B2B1C;
  --brown-deep:#2B1F14;
  --cream:#EFE5CE;
  --cream-soft:#F6F0E2;
  --sand:#C9AF85;
  --green:#5C5B41;
  --charcoal:#2C2925;
  --rule:rgba(59,43,28,.18);
  --display:'Besley',Georgia,serif;
  --body:'Public Sans',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{font-family:var(--body);background:var(--cream-soft);color:var(--charcoal);line-height:1.65;font-size:1.0rem}
img,svg{display:block}
a{color:var(--brown)}
.wrap{max-width:1040px;margin:0 auto;padding:0 24px}

/* type */
.eyebrow{font-family:var(--body);font-weight:700;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--green)}
h1,h2,h3{font-family:var(--display);color:var(--brown);line-height:1.15}
h1{font-weight:800;font-size:clamp(2rem,5.5vw,3.4rem);letter-spacing:.02em;text-transform:uppercase}
h2{font-weight:800;font-size:clamp(1.4rem,3vw,2rem);letter-spacing:.03em;text-transform:uppercase;margin-bottom:.6rem}
h3{font-weight:700;font-size:1.12rem;margin-bottom:.35rem}
p+p{margin-top:.9rem}

/* header */
header{background:var(--brown);border-bottom:4px solid var(--sand)}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}
.lockup{display:flex;align-items:center;gap:14px;text-decoration:none}
.lockup svg{width:44px;height:60px}
.lockup .words{color:var(--cream)}
.lockup .name{font-family:var(--display);font-weight:800;font-size:1.25rem;letter-spacing:.08em;text-transform:uppercase;line-height:1.1}
.lockup .desc{font-size:.6rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--sand);display:flex;align-items:center;gap:8px;margin-top:3px}
.lockup .desc::before,.lockup .desc::after{content:"";height:1px;width:14px;background:var(--sand)}
nav{display:flex;gap:4px;flex-wrap:wrap}
nav a{color:var(--cream);text-decoration:none;font-weight:600;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;padding:8px 12px;border-radius:3px}
nav a:hover,nav a:focus-visible{background:rgba(239,229,206,.12)}
nav a[aria-current]{color:var(--sand);box-shadow:inset 0 -2px 0 var(--sand)}
:focus-visible{outline:2px solid var(--sand);outline-offset:2px}
@media(max-width:720px){.masthead{flex-direction:column}.lockup .name{font-size:1.1rem}}

/* hero */
.hero{background:linear-gradient(180deg,var(--brown) 0%,var(--brown-deep) 100%);color:var(--cream);padding:72px 0 84px;text-align:center;position:relative}
.hero h1{color:var(--cream)}
.hero .eyebrow{color:var(--sand)}
.hero .tag{max-width:560px;margin:16px auto 0;font-size:1.08rem;color:var(--cream)}
.hero .tag em{font-style:normal;color:var(--sand)}

/* brand stamp badge */
.stamp{display:inline-block;margin-top:30px;padding:12px 22px;border:2px solid var(--sand);outline:2px solid var(--sand);outline-offset:4px;transform:rotate(-1.5deg);font-family:var(--display);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--sand);font-size:.92rem}

/* rowel divider */
.rowel-divider{display:flex;align-items:center;gap:14px;justify-content:center;margin:0 auto;max-width:420px;padding:34px 0 6px}
.rowel-divider::before,.rowel-divider::after{content:"";height:1px;flex:1;background:var(--rule)}
.rowel-divider svg{width:20px;height:20px;fill:var(--green)}

/* sections */
section{padding:56px 0}
section.alt{background:var(--cream)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:28px}
.card{background:var(--cream-soft);border:1px solid var(--rule);border-top:3px solid var(--green);padding:24px;border-radius:4px}
section.alt .card{background:#fff}
.card .eyebrow{color:var(--sand);color:var(--green)}

/* buttons */
.btn{display:inline-block;background:var(--green);color:var(--cream);text-decoration:none;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.85rem;padding:14px 26px;border-radius:3px;margin-top:22px}
.btn:hover,.btn:focus-visible{background:var(--brown)}
.btn.ghost{background:transparent;border:2px solid var(--sand);color:var(--sand)}
.btn.ghost:hover,.btn.ghost:focus-visible{background:var(--sand);color:var(--brown)}

/* lists */
ul.plain{list-style:none;margin-top:14px}
ul.plain li{padding:10px 0 10px 30px;border-bottom:1px solid var(--rule);position:relative}
ul.plain li::before{content:"";position:absolute;left:4px;top:1.05em;width:10px;height:10px;background:var(--green);clip-path:polygon(50% 0,61% 35%,100% 35%,68% 57%,79% 100%,50% 75%,21% 100%,32% 57%,0 35%,39% 35%)}

/* notice / disclaimer */
.notice{background:var(--cream);border-left:4px solid var(--sand);padding:18px 22px;border-radius:0 4px 4px 0;font-size:.92rem;margin-top:34px}
section.alt .notice{background:var(--cream-soft)}

/* two-col */
.split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
@media(max-width:760px){.split{grid-template-columns:1fr}}

/* footer */
footer{background:var(--charcoal);color:#B9B2A6;padding:44px 0 36px;font-size:.86rem}
footer .foot-tag{font-family:var(--display);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sand);font-size:.9rem;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
footer .foot-tag svg{width:16px;height:16px;fill:var(--sand)}
footer a{color:var(--cream)}
footer .legal{margin-top:18px;border-top:1px solid rgba(201,175,133,.25);padding-top:18px;line-height:1.7}

/* video hero (home) */
.hero.video-hero{padding:110px 0 120px;background:var(--brown-deep)}
.hero-media,.hero-media-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 38%}
.hero.video-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(43,31,20,.55) 0%,rgba(43,31,20,.42) 45%,rgba(43,31,20,.78) 100%)}
.hero.video-hero .wrap{position:relative;z-index:2}
@media (prefers-reduced-motion:reduce){.hero-media{display:none}}
@media(max-width:720px){.hero.video-hero{padding:84px 0 92px}}

/* portrait frame (about) */
.portrait{max-width:400px}
.portrait figure{margin:0;background:var(--cream);padding:14px;border:1px solid var(--sand);outline:1px solid var(--sand);outline-offset:5px;transform:rotate(-1deg)}
.portrait img{width:100%;height:auto}
.portrait figcaption{padding:14px 4px 2px;font-weight:700;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--green);display:flex;align-items:center;gap:10px}
.portrait figcaption svg{width:13px;height:13px;fill:var(--sand)}
@media(max-width:760px){.portrait{margin:0 auto 8px}}
