:root{--rose:#C8102E;--rose-d:#9b0c23;--ink:#111;--paper:#fff;--soft:#f7f3f1;--serif:'Playfair Display',Georgia,serif;--sans:'Lato',Helvetica,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);color:var(--ink);line-height:1.65;background:var(--paper)}
h1,h2,h3{font-family:var(--serif);line-height:1.15;margin:.2em 0 .5em}h2{font-size:clamp(1.8rem,3.5vw,2.6rem)}
.wrap{max-width:1150px;margin:auto;padding:0 24px}.section{padding:90px 0}
.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.78rem;color:var(--rose);font-weight:700;margin:0}.eyebrow.light{color:#fff;opacity:.85}
.todo{color:#8a6d00;background:#fff6d6;padding:2px 6px;border-radius:4px}.small{font-size:.85rem}.muted{color:#777}
.nav{position:sticky;top:0;z-index:10;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:10px 28px;border-bottom:1px solid #eee}
.brand img{height:54px}.nav nav{display:flex;gap:26px;align-items:center}.nav nav a{color:var(--ink);text-decoration:none;font-size:.95rem}
.nav nav a:hover{color:var(--rose)}.btn-sm{border:1px solid var(--rose);color:var(--rose)!important;padding:6px 16px;border-radius:30px}.lang{font-size:.8rem!important;opacity:.6}
#menu,.burger{display:none}
.hero{min-height:88vh;display:flex;align-items:center;justify-content:center;gap:5vw;padding:60px 6vw;background:radial-gradient(circle at 20% 50%,#fff 0,#fbf3f3 60%,#f3e6e6 100%)}
.hero-mark{width:min(30vw,340px)}.hero-text{max-width:600px}.hero h1{font-size:clamp(2.2rem,4.6vw,3.8rem)}.lead{font-size:1.15rem;color:#444}
.cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-block;background:var(--rose);color:#fff;border:2px solid var(--rose);padding:13px 30px;border-radius:40px;text-decoration:none;font-weight:700;letter-spacing:.04em;cursor:pointer;font-size:1rem}
.btn:hover{background:var(--rose-d)}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.two{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center}
.roses{margin:0;padding:40px;border-left:4px solid var(--rose);background:var(--soft);font-family:var(--serif);font-size:1.3rem;font-style:italic}
.dark{background:var(--ink);color:#fff}.dark .card{background:#1c1c1c;border:1px solid #2c2c2c}
.cards{display:grid;gap:28px;margin-top:40px}.three{grid-template-columns:repeat(3,1fr)}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.card{padding:36px;border-radius:6px}.num{font-family:var(--serif);color:var(--rose);font-size:2rem}
.horse{border:1px solid #eee;border-radius:6px;overflow:hidden;box-shadow:0 6px 24px rgba(0,0,0,.05)}
.ph{aspect-ratio:4/3;background:repeating-linear-gradient(45deg,#f2eded,#f2eded 12px,#faf7f7 12px,#faf7f7 24px);display:flex;align-items:center;justify-content:center;color:#aaa;letter-spacing:.2em;text-transform:uppercase}
.horse .body{padding:22px}.tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;background:#fff6d6;color:#8a6d00;padding:3px 8px;border-radius:3px}
.rose{background:linear-gradient(135deg,var(--rose),var(--rose-d));color:#fff}
.quote{margin:0;background:rgba(255,255,255,.1);padding:32px;border-radius:6px}.quote blockquote{margin:0 0 14px;font-family:var(--serif);font-size:1.2rem;font-style:italic}.quote figcaption{font-size:.85rem;opacity:.85}
.form{display:grid;gap:14px;background:var(--soft);padding:34px;border-radius:6px}
.form input,.form select,.form textarea{font:inherit;padding:12px 14px;border:1px solid #ddd;border-radius:4px;background:#fff}
.foot{background:var(--ink);color:#bbb;text-align:center;padding:40px 20px;font-size:.85rem}.foot img{height:60px}
@media(max-width:860px){
 .burger{display:block;font-size:1.7rem;cursor:pointer}.nav nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;padding:20px;gap:16px;border-bottom:1px solid #eee}
 #menu:checked~nav{display:flex}.brand img{height:44px}
 .hero{flex-direction:column;text-align:center;min-height:auto}.hero-mark{width:160px}.cta{justify-content:center}
 .two,.three{grid-template-columns:1fr;gap:30px}.section{padding:64px 0}}

.slogan{font-family:var(--serif);font-style:italic;color:var(--rose);font-size:clamp(1.4rem,2.6vw,2rem);margin:0 0 .6em;letter-spacing:.02em}.foot-slogan{color:#fff;font-size:1.3rem;margin:.6em 0 0}

/* dark header + hero */
.nav{background:#000;border-bottom:1px solid #222}.nav nav a{color:#fff}.burger{color:#fff}
@media(max-width:860px){.nav nav{background:#000;border-bottom:1px solid #222}}
.hero{background:radial-gradient(circle at 25% 50%,#1a1a1a 0,#000 70%);color:#fff}
.hero .lead{color:#ddd}.hero .btn.ghost{color:#fff;border-color:#fff}.hero .slogan{color:#e8233f}
.hero-mark{width:min(38vw,520px)}
@media(max-width:860px){.hero-mark{width:280px}}

/* header bar definition + C mark */
.nav{border-bottom:2px solid var(--rose);box-shadow:0 4px 18px rgba(0,0,0,.5)}
.brand img{height:50px}
/* hero photo slot: site/hero.jpg (placeholder gradient shows until file exists) */
.hero{position:relative;isolation:isolate;background:#000 url('hero.jpg') center/cover no-repeat}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.6) 50%,rgba(0,0,0,.78) 100%)}
.hero::after{content:"Photo slot: hero.jpg (running horses, to be provided)";position:absolute;bottom:12px;right:16px;font-size:.7rem;letter-spacing:.1em;color:#777;text-transform:uppercase}
/* remove the ::after label once hero.jpg is added */

/* ===== black + gold theme ===== */
:root{--gold:#C9A24A;--gold-l:#E2C27A;--gold-d:#A8822F;--goldgrad:linear-gradient(135deg,#E2C27A 0%,#C9A24A 45%,#A8822F 100%)}
.hero::after{content:none}
.banner{background:#000;text-align:center;border-bottom:1px solid #222}.banner img{display:block;width:100%;max-width:1280px;margin:auto}
.nav{border-bottom:2px solid var(--gold)}
.nav nav a:hover{color:var(--gold)}.btn-sm{border-color:var(--gold)!important;color:var(--gold)!important}
.hero{min-height:auto;padding:80px 6vw;text-align:center;background:#000}
.hero-text{max-width:820px;margin:auto}.hero .cta{justify-content:center}
.hero h1,.dark h2,.dark h3,.foot-slogan{background:var(--goldgrad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .eyebrow,.dark .eyebrow{color:var(--gold)}
.btn{background:var(--rose);border-color:var(--rose)}
.btn.ghost{border-color:var(--gold)!important;color:var(--gold)!important}
.section h2{color:var(--ink)}.section:not(.dark):not(.rose) h2{border-bottom:none}
.eyebrow{color:var(--gold-d)}
.tagline{font-family:var(--serif);letter-spacing:.18em;text-transform:uppercase;font-size:.95rem;color:var(--gold-d)}
.roses{border-left-color:var(--gold)}
.num{color:var(--gold)}
.horse img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#000}
.tag.gold{background:#000;color:var(--gold)}.achv{color:var(--rose);font-weight:700}
.feature{display:grid;grid-template-columns:320px 1fr;gap:40px;align-items:center;margin:50px 0 10px;padding:30px;background:#000;color:#fff;border:1px solid var(--gold);border-radius:6px}
.feature img{width:100%;border-radius:4px}.feature h3{color:var(--gold);font-size:2rem}.feature .eyebrow{color:var(--gold)}
.rose{background:#000;border-top:2px solid var(--gold);border-bottom:2px solid var(--gold)}.rose h2{color:var(--gold)}.rose .eyebrow{color:var(--rose)}
.quote{border:1px solid rgba(201,162,74,.4);background:#111}
.foot{border-top:2px solid var(--gold)}
@media(max-width:860px){.feature{grid-template-columns:1fr}.hero{padding:56px 22px}}
.dark h2{color:transparent!important}
#graduates .cards.grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:1000px){#graduates .cards.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){#graduates .cards.grid{grid-template-columns:1fr}}

.sub-gold{color:var(--gold-l);letter-spacing:.15em;text-transform:uppercase;font-size:.85rem;margin-top:-.4em}
.about-media img{width:100%;display:block;border-radius:6px 6px 0 0;aspect-ratio:16/10;object-fit:cover}
.about-media .roses{border-radius:0 0 6px 6px;padding:26px 30px;font-size:1.1rem}
#contact a,.foot a{color:var(--gold-d);font-weight:700}.foot a{color:var(--gold)}

/* business-card hero */
.card-hero{position:relative;min-height:88vh;display:flex;justify-content:flex-end;align-items:center;padding:60px 6vw;text-align:center;
 background:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 38%,rgba(0,0,0,.85) 58%,#000 68%),url('hero-horse.jpg') left center/auto 100% no-repeat,#000}
.card-hero::before,.card-hero::after{content:none}
.hero-panel{width:min(520px,100%)}
.hero-logo{width:100%;max-width:440px;mix-blend-mode:lighten}
.hero-line{color:#eee;letter-spacing:.14em;text-transform:uppercase;font-size:.95rem;margin:4px 0}.hero-line .dot{color:var(--rose)}.gold-t{color:var(--gold)}
.divider{display:flex;align-items:center;gap:12px;color:var(--gold);margin:18px auto;max-width:360px}.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--gold)}
.hero-tag{font-family:var(--serif);color:#f2f2f2;letter-spacing:.28em;text-transform:uppercase;font-size:1rem;line-height:1.9}
.card-hero .slogan{color:var(--gold-l);margin:.6em 0 .3em}
.hero-loc{color:#ddd;letter-spacing:.2em;text-transform:uppercase;font-size:.85rem}.hero-loc{}
.card-hero .cta{justify-content:center}
.grad-banner{display:block;width:100%;max-width:1100px;margin:30px auto 0;border-radius:6px;border:1px solid var(--gold)}
@media(max-width:860px){.card-hero{flex-direction:column;justify-content:flex-start;padding:0 0 50px;min-height:auto;background:#000}
 .card-hero::before{content:"";display:block;width:100%;aspect-ratio:1045/640;background:linear-gradient(180deg,rgba(0,0,0,0) 65%,#000 100%),url('hero-horse.jpg') center/cover;position:static}
 .hero-panel{padding:0 22px}.hero-tag{letter-spacing:.18em;font-size:.9rem}}
@media(min-width:861px){.card-hero{background:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 45%,rgba(0,0,0,.9) 62%,#000 70%),url('hero-horse.jpg') left center/cover no-repeat,#000;background-size:auto,auto 100%}}
.hero-logo{margin-bottom:6px}

/* ===== lux hero (vector/HD only) ===== */
.lux-hero{position:relative;isolation:isolate;min-height:88vh;display:flex;align-items:center;justify-content:center;padding:80px 6vw;text-align:center;
 background:radial-gradient(ellipse at 50% 40%,#1b1712 0%,#0a0908 55%,#000 100%)}
@media(min-width:861px){.lux-hero{background:radial-gradient(ellipse at 50% 40%,#1b1712 0%,#0a0908 55%,#000 100%)}}
.lux-hero::before{content:none!important}
.hero-bg{position:absolute;inset:0;z-index:-1}
.lux-hero.has-photo .hero-bg{background:linear-gradient(rgba(0,0,0,.72),rgba(0,0,0,.82)),url('hero-photo.jpg') center/cover no-repeat}
.lux-hero .hero-panel{width:min(820px,100%)}
.lockup{margin:0 0 26px;font-weight:400}
.lock-row{display:flex;align-items:center;justify-content:center}
.lock-c{height:clamp(130px,17vw,230px);width:auto;margin-right:-.6vw}
.lock-word{font-family:'Cinzel','Playfair Display',serif;font-size:clamp(3rem,8vw,7rem);letter-spacing:.06em;line-height:1;
 background:linear-gradient(180deg,#F3DC9A 0%,#D9B45E 40%,#B88A32 75%,#8E6A22 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
 filter:drop-shadow(0 2px 6px rgba(0,0,0,.6))}
.lock-sub{display:block;font-family:'Cinzel',serif;color:var(--gold);letter-spacing:.55em;font-size:clamp(1rem,2vw,1.6rem);margin-top:10px;padding-left:.55em}
.lux-hero .hero-line{font-size:1rem}
.lux-hero .hero-tag{letter-spacing:.3em;font-size:1rem;color:#eee}
.lux-hero .slogan{color:var(--gold-l);font-size:clamp(1.5rem,2.6vw,2.1rem)}
.lux-hero .hero-loc{color:#cfcfcf;letter-spacing:.3em;text-transform:uppercase;font-size:.85rem}
.lux-hero .cta{justify-content:center}
@media(max-width:860px){.lux-hero{min-height:auto;padding:60px 20px}.lock-sub{letter-spacing:.35em}.lux-hero .hero-tag{letter-spacing:.15em}}
.horse .ped{color:#555;font-style:italic;margin:.2em 0}.horse .sale{font-size:.8rem;color:#777;text-transform:uppercase;letter-spacing:.08em;margin:.4em 0 0}.horse .achv{margin:.4em 0}
.about-photo{margin:0 0 20px}.about-photo img{display:block;width:100%;max-width:1155px;height:auto;border-radius:6px;border:1px solid var(--gold)}.about-photo figcaption{font-size:.8rem;color:#777;letter-spacing:.1em;text-transform:uppercase;margin-top:6px}

.timeline{list-style:none;padding:0;margin:60px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--gold);position:relative}
.timeline li{padding:26px 22px 0;position:relative}
.timeline li::before{content:"";position:absolute;top:-6px;left:22px;width:10px;height:10px;background:var(--gold);transform:rotate(45deg)}
.timeline .yr{font-family:var(--serif);font-size:1.8rem;color:var(--gold-d)}.timeline p{margin:.3em 0 0;font-size:.92rem;color:#444}
@media(max-width:860px){.timeline{grid-template-columns:1fr;border-top:none;border-left:1px solid var(--gold);margin-left:6px}.timeline li{padding:0 0 22px 24px}.timeline li::before{top:12px;left:-6px}}

ul.achv{list-style:none;margin:.5rem 0;padding:0}
ul.achv li{padding:.35rem 0 .35rem .9rem;border-left:2px solid #c9a24a;margin:.3rem 0;line-height:1.3}

.b2b-pics{display:grid;grid-template-columns:1fr 1fr;gap:10px}.b2b-pics img{aspect-ratio:3/4;object-fit:cover}.b2b-list{list-style:none;padding:0;margin:0}.b2b-list li{border-left:2px solid var(--gold);padding:4px 12px;margin:8px 0}.b2b-list strong{color:var(--gold)}
