:root{--cream:#F6F0E7;--sand:#ECE1D3;--wine:#4A262B;--terra:#A9482A;--blush:#E6C4BA;--soft:#6E4E4A;--mute:#8A6A64;--sage:#7A8B6A;--gold:#C9A24A}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--wine);font-family:'DM Sans',Arial,sans-serif;font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
section{padding:96px 0}
.sand{background:var(--sand)}
.wine{background:var(--wine);color:var(--cream)}
.display{font-family:'Fraunces',Georgia,serif;font-weight:300;line-height:1.05;letter-spacing:-0.01em;margin:0}
.display i{color:var(--terra)}
.wine .display i{color:var(--blush)}
h1.display{font-size:clamp(56px,9vw,112px)}
h2.display{font-size:clamp(36px,5vw,60px);margin-bottom:28px}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--terra);margin:0 0 18px}
.wine .eyebrow{color:var(--blush)}
.lead{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:300;font-size:clamp(22px,2.6vw,30px);line-height:1.3;margin:0}
.body{color:var(--soft);font-size:19px;margin:0 0 16px}
.wine .body{color:#E9DCD3}
.rule{width:80px;height:3px;background:var(--terra);margin:28px 0}

/* nav */
.nav{position:sticky;top:0;z-index:10;background:rgba(246,240,231,.92);backdrop-filter:blur(8px);border-bottom:1px solid #E2D5C5}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:20px}
.brand{font-family:'Fraunces',Georgia,serif;font-size:22px;text-decoration:none}
.links{display:flex;gap:22px;font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.links a{text-decoration:none;color:var(--soft)}
.links a:hover{color:var(--terra)}
.links a.hot{color:var(--terra)}
@media(max-width:760px){.links a:not(.hot){display:none}}

/* hero */
.hero{padding:56px 0 0;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end}
.hero-text{padding-bottom:96px}
.tags{font-size:13px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;margin-top:28px}
.arch{position:relative;display:flex;justify-content:center;align-items:flex-end}
.arch:before{content:"";position:absolute;bottom:0;left:6%;right:6%;top:16%;background:var(--blush);border-radius:999px 999px 0 0}
.arch img{position:relative;max-height:620px;width:auto}
.arch-photo{width:100%;aspect-ratio:3/4.4;object-fit:cover;border-radius:999px 999px 0 0}
@media(max-width:820px){.hero .wrap{grid-template-columns:1fr}.hero-text{padding-bottom:24px}}

/* splits & grids */
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
@media(max-width:820px){.split{grid-template-columns:1fr;gap:40px}}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
@media(max-width:900px){.grid3,.grid4{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.grid3,.grid4{grid-template-columns:1fr}}
.card{border-top:2px solid var(--wine);padding-top:20px}
.card .num{font-family:'Fraunces',Georgia,serif;font-size:28px;color:var(--terra);margin:0 0 8px}
.card h3{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:28px;margin:0 0 8px;line-height:1.15}
.card p{color:var(--soft);margin:0}
.box{background:var(--sand);padding:28px;display:flex;flex-direction:column;gap:10px}
.sand .box{background:var(--cream)}
.box h3{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:26px;margin:0;line-height:1.15}
.box p{color:var(--soft);margin:0}
.box .tag{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--terra)}
.box.feature{background:var(--wine);color:var(--cream)}
.box.feature p{color:#E9DCD3}
.box.feature .tag{color:var(--blush)}
.box svg{margin-top:auto;align-self:center}

/* stats */
.stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:12px}
@media(max-width:700px){.stats{grid-template-columns:1fr 1fr}}
.stat{border-top:2px solid currentColor;padding:20px 20px 28px 0}
.stat b{display:block;font-family:'Fraunces',Georgia,serif;font-weight:300;font-size:clamp(40px,5vw,60px);line-height:1}
.stat span{display:block;color:var(--soft);font-size:16px;margin-top:8px}
.wine .stat span{color:#E9DCD3}
.wine .stat{border-top-color:var(--blush)}
.note{font-size:14px;color:var(--mute);margin-top:20px}

/* gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:820px){.gallery{grid-template-columns:1fr 1fr}}
.gallery img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:999px 999px 0 0}
.gallery p{font-size:15px;color:var(--soft);margin:10px 0 0}

/* content cards */
.reel{background:var(--cream);display:flex;flex-direction:column;text-decoration:none;transition:transform .2s}
.sand .reel{background:var(--cream)}
.reel:hover{transform:translateY(-4px)}
.reel img{width:100%;aspect-ratio:4/5;object-fit:cover}
.reel .r-body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:6px;flex:1}
.reel .r-net{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid var(--wine);padding-bottom:8px;margin-bottom:6px}
.reel .r-net b{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:24px}
.reel .r-net span,.reel .r-tag{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--terra)}
.reel h3{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:22px;margin:0;line-height:1.2}
.reel p{color:var(--soft);margin:0;font-size:16px}
.btn{display:inline-block;margin-top:auto;align-self:flex-start;background:var(--terra);color:var(--cream);border-radius:999px;padding:10px 22px;font-size:14px;font-weight:600;text-decoration:none}
.wine .btn{background:var(--blush);color:var(--wine)}

/* brands */
.brands{background:#fff;padding:24px;border-radius:8px}

/* timeline */
.tl{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-top:20px}
@media(max-width:820px){.tl{grid-template-columns:1fr 1fr}}
.tl div{border-top:3px solid var(--blush);padding-top:16px}
.tl b{display:block;font-family:'Fraunces',Georgia,serif;font-weight:300;font-size:32px;line-height:1.1}
.tl span{color:#E9DCD3;font-size:16px}

/* list */
.lines p{margin:0 0 12px;padding-left:18px;border-left:3px solid var(--terra);font-size:18px}
.items{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
@media(max-width:700px){.items{grid-template-columns:1fr}}
.item{display:grid;grid-template-columns:56px 1fr;gap:14px;border-top:2px solid var(--wine);padding:16px 0}
.item b{font-family:'Fraunces',Georgia,serif;font-weight:300;font-size:36px;color:var(--terra);line-height:1}
.item h3{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:22px;margin:0 0 4px}
.item p{margin:0;color:var(--soft);font-size:16px}

/* contact */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:20px 40px;margin-top:28px}
@media(max-width:560px){.contact{grid-template-columns:1fr}}
.contact small{display:block;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--terra)}
.contact a{font-size:20px;text-decoration:underline;text-decoration-color:var(--blush);text-underline-offset:5px}
.sig{width:150px;margin:8px 0 0}
footer{padding:28px 0;text-align:center;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.xmas{position:absolute;pointer-events:none}
.rel{position:relative}
@media(max-width:820px){.xmas{display:none}}
