:root{
  --forest:#1d2a1f; --forest-2:#2b3d2d; --chestnut:#6e3b1b; --chestnut-d:#54290f;
  --cream:#f5efe0; --paper:#fbf8f0; --gold:#c9a24a; --merlot:#5a1f2b; --ink:#241c14; --muted:#5d5446;
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'Karla',system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);font-size:1.0625rem;line-height:1.65;color:var(--ink);background:var(--paper)}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.narrow{max-width:720px}

.demo-banner{background:var(--gold);color:#201808;font-size:.8rem;text-align:center;padding:6px 12px;font-weight:500;letter-spacing:.01em}

.top{position:absolute;z-index:5;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;color:var(--cream)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--serif);font-size:1.35rem;font-weight:600;min-height:44px}
.top nav{display:none}
.top nav a{text-decoration:none;margin:0 14px;font-size:.95rem;padding:10px 0}
.top nav a:hover{color:var(--gold)}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;background:var(--gold);color:#1f1608;font-weight:700;text-decoration:none;border:2px solid var(--gold);border-radius:2px;letter-spacing:.02em;transition:background .25s,color .25s,transform .25s}
.btn:hover{background:var(--cream);border-color:var(--cream);transform:translateY(-2px)}
.btn-small{min-height:44px;padding:0 18px}
.btn-ghost{background:transparent;color:var(--cream);border-color:rgba(245,239,224,.7)}
.btn-ghost:hover{background:var(--cream);color:var(--forest)}
.btn-ghost-dark{background:transparent;color:var(--chestnut-d);border-color:var(--chestnut)}
.btn-ghost-dark:hover{background:var(--chestnut);color:var(--cream);border-color:var(--chestnut)}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.cta.center{justify-content:center}

.hero{position:relative;min-height:min(92vh,780px);display:flex;align-items:flex-end;color:var(--cream);background:var(--forest);overflow:hidden}
.hero-bg{position:absolute;inset:0;background:linear-gradient(180deg,rgba(29,42,31,.55) 0%,rgba(29,42,31,.35) 35%,rgba(29,42,31,.92) 100%),url('https://images.unsplash.com/photo-1506377247377-2a5b3b417ebb?w=1600&q=70&auto=format&fit=crop') center/cover}
.hero-in{position:relative;max-width:1080px;margin:0 auto;width:100%;padding:120px 20px 56px}
.eyebrow,.kicker{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--gold);margin:0 0 14px}
.hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(2.4rem,9vw,5rem);line-height:1.02;margin:0 0 18px}
.hero h1 em{font-weight:500;color:var(--gold)}
.lead{font-size:1.15rem;max-width:34rem;margin:0}

.section{padding:68px 0}
h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.9rem,6vw,3rem);line-height:1.1;margin:0 0 18px;color:var(--forest)}
h3{font-family:var(--serif);font-size:1.7rem;margin:0 0 8px;font-weight:600}
.two{display:grid;gap:36px}
.domaine{background:var(--cream)}
.domaine .kicker,.vins .kicker,.commander .kicker,.venir .kicker{color:var(--chestnut)}
.facts{list-style:none;margin:0;padding:0;display:grid;gap:18px;align-content:start}
.facts li{display:flex;gap:16px;padding:18px;background:var(--paper);border-left:3px solid var(--chestnut)}
.facts svg{width:34px;height:34px;flex:none;color:var(--chestnut)}
.facts b{display:block;font-size:1.05rem}
.facts span{color:var(--muted);font-size:.97rem}

.band{position:relative;height:clamp(220px,38vw,420px);overflow:hidden}
.band img{width:100%;height:100%;object-fit:cover}
.credit{position:absolute;right:12px;bottom:10px;margin:0;font-size:.72rem;color:#fff;background:rgba(0,0,0,.5);padding:2px 8px}

.intro{color:var(--muted);margin:0 0 30px}
.cards{display:grid;gap:22px}
.card{padding:28px 24px;background:#fff;border-top:6px solid var(--gold);box-shadow:0 1px 0 rgba(0,0,0,.06),0 14px 30px -22px rgba(36,28,20,.5)}
.card.red{border-top-color:var(--merlot)}
.tag{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--muted);margin:0 0 6px}
.card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin:20px 0;padding:16px 0;border-top:1px solid #e7dfcd;border-bottom:1px solid #e7dfcd}
.card dt{font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.card dd{margin:0;font-weight:700}
.price{font-family:var(--serif);font-size:2rem;font-weight:700;margin:0;color:var(--chestnut-d)}
.red .price{color:var(--merlot)}
.price span{font-family:var(--sans);font-size:.85rem;font-weight:400;color:var(--muted)}
.extras{display:grid;gap:22px;margin:40px 0;padding:26px 0;border-top:1px solid #e0d6c0;border-bottom:1px solid #e0d6c0}
.extras h3{font-size:1.45rem}
.extras p{margin:0;color:var(--muted)}
.awards h3{font-size:1.3rem}
.awards ul{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:12px}
.awards li{padding:10px 16px;background:var(--forest);color:var(--cream);font-size:.95rem}
.awards b{color:var(--gold);margin-right:6px}

.photo-split{display:grid;background:var(--forest);color:var(--cream)}
.photo-split img{width:100%;height:280px;object-fit:cover}
.split-text{padding:48px 20px;max-width:620px}
.split-text h2{color:var(--cream)}
.credit-inline{font-size:.75rem;opacity:.7;margin:18px 0 0}

.commander{background:var(--cream);text-align:center}
.commander h2{margin-left:auto;margin-right:auto}

address{font-style:normal;margin:0 0 14px;line-height:1.7}
.hours{color:var(--muted);margin:0 0 14px}
.contact-list{list-style:none;padding:0;margin:0}
.contact-list a{display:inline-block;padding:8px 0;font-weight:700;color:var(--chestnut-d);overflow-wrap:anywhere}
.map iframe{width:100%;height:340px;border:0;filter:sepia(.25) saturate(.85)}

footer{background:var(--forest);color:rgba(245,239,224,.85);padding:40px 0}
.f-name{font-family:var(--serif);font-size:1.5rem;margin:0 0 8px;color:var(--cream)}
.small{font-size:.82rem;margin:0;max-width:60ch}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn{transition:none}}

@media (min-width:760px){
  .top nav{display:block}
  .two{grid-template-columns:1.15fr 1fr;gap:64px;align-items:start}
  .cards{grid-template-columns:1fr 1fr;gap:28px}
  .extras{grid-template-columns:1fr 1fr;gap:48px}
  .photo-split{grid-template-columns:1fr 1fr;align-items:center}
  .photo-split img{height:100%;min-height:460px}
  .split-text{padding:60px 56px}
  .section{padding:96px 0}
  .hero-in{padding-bottom:84px}
}
