:root{--ink:#1f2a1c;--ink-soft:#3d4a38;--cream:#f7f3ea;--paper:#fffdf8;--gold:#b08a3c;--gold-deep:#8a6a28;--sage:#5a6b52;--line:rgba(31,42,28,.12);--shadow:0 18px 50px rgba(31,42,28,.08)}
*{box-sizing:border-box}html,body{margin:0}
body{font-family:"Source Sans 3","Segoe UI",system-ui,sans-serif;color:var(--ink);line-height:1.55;background:radial-gradient(1200px 600px at 10% -10%,rgba(176,138,60,.18),transparent 60%),radial-gradient(900px 500px at 100% 0%,rgba(90,107,82,.16),transparent 55%),linear-gradient(180deg,#efe8d8 0%,var(--cream) 45%,#e8efe4 100%);min-height:100vh}
a{color:var(--gold-deep)}h1,h2,h3{font-family:"Fraunces",Georgia,serif;font-weight:650;margin:0 0 10px}
h1{font-size:clamp(1.9rem,4.5vw,2.6rem);line-height:1.15}h2{font-size:clamp(1.3rem,3vw,1.7rem)}h3{font-size:1.2rem}
.topbar{position:sticky;top:0;z-index:10;background:rgba(255,253,248,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:10px 20px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:Fraunces,serif;font-size:1.2rem;font-weight:650}
.mark{width:36px;height:36px;border-radius:50%;background:linear-gradient(145deg,#c9a45a,var(--gold-deep));color:#fff;display:grid;place-items:center}
.nav{display:flex;flex-wrap:wrap;gap:4px}.nav a{padding:6px 10px;border-radius:999px;text-decoration:none;color:var(--ink-soft);font-weight:600;font-size:.95rem}
.nav a:hover,.nav a.on{background:var(--ink);color:var(--cream)}
.menu{display:none;background:none;border:1px solid var(--line);border-radius:8px;font-size:1.3rem;padding:4px 10px;cursor:pointer}
@media(max-width:900px){.menu{display:block}.nav{display:none;width:100%;flex-direction:column;padding-top:10px}.nav.open{display:flex}}
.wrap{width:100%;max-width:1080px;min-width:0;margin:0 auto;padding:28px 18px 40px;display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
.pagehead{text-align:center;padding:20px 0 4px}.eyebrow{letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;color:var(--sage);font-weight:700;margin:0 0 8px}.lead{color:var(--ink-soft);font-size:1.1rem;max-width:680px;margin:0 auto}
.card{background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:26px}
.card.link{text-decoration:none;color:inherit;transition:transform .15s}.card.link:hover{transform:translateY(-3px)}
.grid2,.grid3,.tiles{display:grid;gap:20px}.grid2{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.grid3{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.tiles{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
figure{margin:0}img{max-width:100%;display:block;border-radius:14px}figcaption{font-size:.9rem;color:var(--ink-soft);margin-top:6px}
.heroimg img{width:100%;max-height:460px;object-fit:cover;border-radius:22px;box-shadow:var(--shadow)}
.tile{position:relative;text-decoration:none;color:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.tile img{height:200px;width:100%;object-fit:cover;border-radius:0}
.tile span{position:absolute;left:0;right:0;bottom:0;padding:14px;font-family:Fraunces,serif;font-size:1.15rem;background:linear-gradient(transparent,rgba(31,42,28,.85))}
.horse-link{text-decoration:none;color:inherit;display:block}.horse-link:hover h3{text-decoration:underline}
.horse img{height:180px;width:100%;object-fit:cover;margin-bottom:12px}
.derby-tag{margin:0 0 12px;text-align:center;display:grid;gap:2px}.derby-label{font-family:Fraunces,Georgia,serif;font-weight:650;font-size:.95rem;letter-spacing:.04em;color:var(--gold-deep);text-decoration:none}.derby-label:hover{text-decoration:underline}.derby-result{font-size:.88rem;color:var(--sage);font-weight:600}
.gallery{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}.gallery img{height:220px;width:100%;object-fit:cover}
.sec{text-align:center;margin-top:10px}
.btn{display:inline-block;background:var(--ink);color:var(--cream);padding:10px 18px;border-radius:999px;text-decoration:none;font-weight:700;margin:4px 4px 0 0}.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.empty{border:1.5px dashed rgba(90,107,82,.4);border-radius:14px;padding:18px;color:var(--sage);text-align:center;background:rgba(90,107,82,.05);margin:10px 0}
.muted{color:var(--sage);font-size:.95rem}.source{font-size:.92rem;color:var(--ink-soft)}
.stats{width:100%;border-collapse:collapse}.stats th,.stats td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}.stats th{color:var(--sage);width:38%}
video{width:100%;max-width:720px;border-radius:14px;background:#000;display:block}
.price{font-family:Fraunces,serif;font-size:1.6rem;color:var(--gold-deep);margin:0}.was{font-family:"Source Sans 3";font-size:.95rem;color:var(--sage)}.snap{text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-weight:600}
.plain{padding-left:18px}.plain li{margin:6px 0}
form.w3f{display:grid;gap:14px;max-width:640px;width:100%;margin:0 auto}form.w3f label{display:grid;gap:6px;font-weight:600;font-size:.95rem}
input,textarea,select{font:inherit;padding:11px 12px;border:1px solid rgba(31,42,28,.22);border-radius:12px;background:#fff}
button[type=submit]{font:inherit;font-weight:700;background:linear-gradient(145deg,#c9a45a,var(--gold-deep));color:#fff;border:0;border-radius:999px;padding:12px 20px;cursor:pointer}
.thanks{color:var(--sage);font-weight:700;text-align:center}.err{color:#9b2c2c}
.foot{background:var(--ink);color:var(--cream);margin-top:30px}.foot a{color:#e3c88a}.fgrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.disclaimer{text-align:center;font-size:.88rem;opacity:.85;padding:0 18px 26px;margin:0}

/* Race reel — scoped cinematic block (Anees + Tiago + Menow) */
.anees-race,.race-reel{background:radial-gradient(900px 420px at 15% 0%,rgba(176,138,60,.18),transparent 55%),radial-gradient(700px 380px at 100% 100%,rgba(90,107,82,.22),transparent 50%),linear-gradient(160deg,#141a13 0%,#1c2619 48%,#10150f 100%);color:#f3ecdd;border:1px solid rgba(226,200,140,.22);border-radius:24px;box-shadow:0 28px 60px rgba(16,21,15,.35);padding:0;overflow:hidden}
.anees-race-inner,.race-reel-inner{padding:clamp(22px,4vw,34px);display:grid;gap:14px;justify-items:center;text-align:center}
.anees-race-eyebrow,.race-reel-eyebrow{margin:0;letter-spacing:.22em;text-transform:uppercase;font-size:.72rem;font-weight:700;color:#e3c88a}
.anees-race-title,.race-reel-title{margin:0;font-family:Fraunces,Georgia,serif;font-weight:650;font-size:clamp(1.55rem,4vw,2.25rem);line-height:1.15;color:#fffdf8;max-width:18ch}
.anees-race-meta,.race-reel-meta{margin:0;display:flex;flex-wrap:wrap;gap:8px 10px;justify-content:center;align-items:center;color:rgba(243,236,221,.82);font-size:.98rem;font-weight:600}
.anees-race-meta .dot,.race-reel-meta .dot{color:rgba(227,200,138,.7)}
.anees-race-frame,.race-reel-frame{width:min(920px,100%);border-radius:18px;overflow:hidden;border:1px solid rgba(227,200,138,.28);box-shadow:0 18px 40px rgba(0,0,0,.45);background:#000;aspect-ratio:16/9}
.anees-race-frame video,.race-reel-frame video{width:100%;height:100%;max-width:none;border-radius:0;display:block;object-fit:contain;background:#000}
.anees-race-cap,.race-reel-cap{margin:2px 0 0;color:rgba(243,236,221,.72);font-size:.92rem;max-width:46ch}
@media(max-width:640px){.anees-race-inner,.race-reel-inner{padding:18px 14px 20px}.anees-race-frame,.race-reel-frame{border-radius:14px;aspect-ratio:16/10}}

/* Past sales table on Homes */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.sales{width:100%;border-collapse:collapse;min-width:520px}
.sales th,.sales td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.sales th{color:var(--sage);font-size:.92rem;font-weight:700}
.sales td{font-size:.98rem}
.sales tr:last-child td{border-bottom:0}

/* So, Shelly signup portrait */
.shelly-signup{max-width:640px;width:100%;margin:0 auto}
.shelly-intro{display:flex;gap:18px;align-items:center;text-align:left}
.shelly-intro figure{margin:0;flex:0 0 auto}
.shelly-intro img{width:120px;height:120px;object-fit:cover;border-radius:50%;border:3px solid rgba(176,138,60,.35);box-shadow:var(--shadow)}
.shelly-copy{display:grid;gap:6px}
.shelly-copy p{margin:0}
@media(max-width:520px){.shelly-intro{flex-direction:column;text-align:center}.shelly-intro img{width:140px;height:140px}}

/* So, Shelly in footer */
.foot-shelly{display:grid;gap:6px}
.foot-shelly-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:#e3c88a;font-weight:700}
.foot-shelly-link img{width:28px;height:28px;border-radius:50%;object-fit:cover;border:1px solid rgba(227,200,138,.45)}
.foot-shelly-note{font-size:.88rem;opacity:.85}
.home-shelly{margin-top:14px}

/* Active homes listing cards with right-side photo + View listing under photo */
.listing-card{display:flex;gap:18px;align-items:stretch}
.listing-body{flex:1 1 auto;min-width:0}
.listing-media{flex:0 0 42%;max-width:280px;display:grid;gap:10px;align-content:start;justify-items:stretch}
.listing-photo{border-radius:14px;overflow:hidden;display:block;line-height:0;box-shadow:0 8px 24px rgba(31,42,28,.12)}
.listing-photo img{width:100%;height:180px;object-fit:cover;border-radius:14px;display:block}
.listing-media .btn{text-align:center;margin:0}
@media(max-width:700px){.listing-card{flex-direction:column}.listing-media{flex:0 0 auto;min-width:0;max-width:none;width:100%;order:-1}.listing-photo img{height:200px}}
.homes-note{max-width:720px;margin:0 auto 4px;text-align:center}

.neighbor-badge{display:inline-block;font-size:.75rem;font-weight:700;padding:1px 8px;border-radius:999px;background:#e7efdf;color:var(--ink);border:1px solid var(--line)}

/* Let grid items and form controls shrink to their phone-sized tracks.
   Fixed minimum tracks and intrinsic control widths must not widen the page. */
.wrap>*,.grid2>*,.grid3>*,.tiles>*,.gallery>*,.fgrid>*{min-width:0}
.card{overflow-wrap:anywhere}
form.w3f,form.w3f label{min-width:0}
form.w3f input,form.w3f textarea,form.w3f select{min-width:0;width:100%;max-width:100%}
.mark{flex-shrink:0}

/* Homes: contain the 520px sales table inside its own scrolling viewport.
   Explicit sizes also bound the listing media's implicit grid track. */
.homes-page>.grid2,.homes-page>.card,.homes-page .listing-card{width:100%;max-width:100%;min-width:0}
.homes-page{grid-template-columns:minmax(0,1fr)}
.homes-page .listing-media{min-width:0;grid-template-columns:minmax(0,1fr)}
.homes-page .listing-photo,.homes-page .listing-body{min-width:0;max-width:100%}
.homes-page .table-wrap{width:100%;max-width:100%;min-width:0}
