
:root{
 --ink:#171518;--paper:#fbf8f5;--paper2:#f3ece8;--plum:#5e174e;--wine:#7b1d62;
 --rose:#c170a9;--gold:#b99a66;--line:#ded2d7;--muted:#746c72;--white:#fff;
 --shadow:0 24px 70px rgba(39,22,35,.14);--ease:cubic-bezier(.2,.75,.25,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Libre Franklin",Arial,sans-serif;background:var(--paper);color:var(--ink);line-height:1.7}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.container{width:min(1180px,calc(100% - 44px));margin:auto}
.topbar{background:#211c20;color:#fff;font-size:12px;letter-spacing:.08em}
.topbar .container{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:8px 0;flex-wrap:wrap}
.header{position:sticky;top:0;z-index:40;background:rgba(251,248,245,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(94,23,78,.12)}
.nav{min-height:92px;display:flex;align-items:center;gap:28px}
.logo{width:min(330px,34vw)}
.logo img{width:100%;height:auto}
.navlinks{margin-left:auto;display:flex;align-items:center;gap:20px;font-size:12px;text-transform:uppercase;letter-spacing:.09em}
.navlinks a{padding:34px 0 30px;border-bottom:2px solid transparent}
.navlinks a:hover,.navlinks a.active{color:var(--wine);border-color:var(--wine)}
.navlinks .pill{padding:12px 16px;border:1px solid var(--wine);color:var(--wine)}
.menu-toggle{display:none;margin-left:auto;border:0;background:none;font-size:28px;color:var(--wine)}
.hero{min-height:720px;position:relative;display:grid;place-items:center;overflow:hidden;color:white;background:
 linear-gradient(90deg,rgba(25,17,25,.76),rgba(60,13,48,.35)),
 url("../img/hero-wine-board.jpg") center/cover no-repeat}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(15,10,14,.54))}
.hero .container{position:relative;z-index:2}
.hero-copy{max-width:720px;animation:rise 1s var(--ease) both}
.kicker{font-size:11px;letter-spacing:.28em;text-transform:uppercase;font-weight:700;color:var(--rose)}
.hero .kicker{color:#f0c8e6}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400}
.hero h1{font-size:clamp(54px,8vw,106px);line-height:.93;margin:14px 0 24px}
.hero p{font-size:18px;max-width:680px;color:#f2e8ef;margin:0 0 30px}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid var(--wine);background:var(--wine);color:white;text-transform:uppercase;font-size:11px;letter-spacing:.12em;transition:.3s ease}
.btn:hover{transform:translateY(-2px)}
.btn.light{background:white;color:var(--wine);border-color:white}
.btn.ghost{background:transparent;border-color:rgba(255,255,255,.7)}
.btn.outline{background:transparent;color:var(--wine)}
.section{padding:90px 0}
.section.soft{background:var(--paper2)}
.section.dark{background:#211c20;color:#f7eff4}
.display{font-size:clamp(38px,5vw,66px);line-height:1.05;margin:8px 0 22px}
.lead{font-family:Georgia,"Times New Roman",serif;font-size:22px;line-height:1.6;color:#4a4047}
.dark .lead{color:#e6d9e2}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.photo{position:relative;overflow:hidden;min-height:520px;box-shadow:var(--shadow);background:#ddd}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.photo:hover img{transform:scale(1.05)}
.photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(20,10,17,.52))}
.photo .cap{position:absolute;z-index:2;left:22px;bottom:18px;color:#fff;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:36px}
.stat{background:#fff;padding:25px}
.stat strong{display:block;font:400 34px Georgia,serif;color:var(--wine)}
.stat span{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;border:1px solid var(--line);padding:32px;box-shadow:0 14px 40px rgba(32,20,29,.07)}
.card h3{font-size:28px;margin:0 0 10px;color:var(--wine)}
.card.image-card{padding:0;overflow:hidden}
.card.image-card .card-img{height:260px;overflow:hidden}
.card.image-card img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.card.image-card:hover img{transform:scale(1.06)}
.card.image-card .card-body{padding:26px}
.page-hero{min-height:470px;display:grid;place-items:center;color:white;text-align:center;background:
 linear-gradient(rgba(32,18,28,.65),rgba(94,23,78,.60)),
 url("../img/corks-detail.jpg") center/cover no-repeat}
.page-hero .inner{max-width:820px}
.page-hero h1{font-size:clamp(48px,7vw,82px);line-height:1;margin:12px 0 18px}
.page-hero p{color:#f2e8ee}
.menu-sheet{background:#fff;border:1px solid var(--line);padding:44px;box-shadow:var(--shadow)}
.menu-section{margin-bottom:36px}
.menu-section h2{font-size:34px;color:var(--wine);margin:0 0 12px}
.menu-item{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px dotted #d6c7d0}
.menu-item:last-child{border-bottom:0}
.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.event{background:white;border:1px solid var(--line);overflow:hidden}
.event img{width:100%;height:240px;object-fit:cover}
.event .body{padding:25px}
.event h3{font-size:26px;color:var(--wine);margin:0 0 8px}
.price{font-size:13px;letter-spacing:.1em;color:var(--wine);font-weight:700}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:46px}
.contact-panel{background:#211c20;color:white;padding:38px}
.contact-panel h2{font-size:36px;margin-top:0}
.info-line{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.info-line b{display:block;color:#e9bcd9;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.notice{border-left:3px solid var(--wine);background:#fff;padding:22px 26px}
.footer{background:#171417;color:#e7dde4;padding:60px 0 26px}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:46px}
.footer .logo{filter:brightness(0) invert(1);opacity:.9}
.footer h4{font-size:21px;margin:0 0 14px}
.footer small{display:block;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;margin-top:34px;color:#aaa0a7}
.fade{opacity:0;transform:translateY(28px);transition:.8s var(--ease)}
.fade.in{opacity:1;transform:none}
@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@media(max-width:960px){
 .navlinks{display:none;position:absolute;top:92px;left:0;right:0;background:var(--paper);padding:18px 24px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}
 .navlinks.open{display:flex}.navlinks a{padding:10px 0}.menu-toggle{display:block}.logo{width:300px}
 .grid2,.cards,.event-grid,.contact-grid,.footer-grid{grid-template-columns:1fr}
 .hero{min-height:620px}.photo{min-height:420px}.stat-grid{grid-template-columns:1fr}
}
@media(max-width:560px){.container{width:min(100% - 28px,1180px)}.logo{width:235px}.hero h1{font-size:56px}.menu-sheet{padding:28px 20px}}
