@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--wine:#6b1831;--wine-dark:#43101f;--cream:#fffaf4;--paper:#fff;--ink:#181514;--muted:#6c625c;--gold:#d6aa62;--line:#e7ddd3;--display:'Playfair Display',Georgia,serif;--body:'DM Sans',Arial,sans-serif;--wrap:1200px;--shadow:0 22px 60px rgba(45,20,24,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 var(--body);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.wrap{width:min(var(--wrap),calc(100% - 48px));margin-inline:auto}.sr-only,.skip-link{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link:focus{position:fixed;z-index:100;width:auto;height:auto;clip:auto;top:8px;left:8px;background:#fff;padding:10px}
.announcement{background:var(--wine-dark);color:#fff;text-align:center;padding:8px 16px;font-size:.76rem;letter-spacing:.09em;text-transform:uppercase}.site-header{position:sticky;top:0;z-index:40;background:rgba(255,250,244,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{height:86px;display:flex;align-items:center;justify-content:space-between}.brand img{width:230px;height:56px;object-fit:contain;object-position:left center}.main-nav{display:flex;align-items:center;gap:28px}.main-nav a{font-size:.88rem;font-weight:600}.main-nav a:hover,.main-nav a.active{color:var(--wine)}.bag-link{border:1px solid var(--ink);padding:9px 14px}.cart-count{display:inline-grid;place-items:center;background:var(--wine);color:#fff;border-radius:50%;min-width:20px;height:20px;margin-left:4px;font-size:.72rem}.nav-toggle{display:none;background:var(--wine);color:#fff;border:0;padding:9px 14px;font-weight:700}
h1,h2,h3{font-family:var(--display);line-height:1.08;margin:0}h1{font-size:clamp(3.1rem,7.2vw,6.8rem);letter-spacing:-.04em}h2{font-size:clamp(2.2rem,4.5vw,4.1rem);letter-spacing:-.03em}h3{font-size:1.15rem}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.73rem;font-weight:700;color:var(--wine);margin:0 0 18px}.eyebrow.light{color:#f0c982}.lead{font-size:clamp(1.05rem,1.7vw,1.3rem);max-width:560px;color:#514944}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:0 24px;border:1px solid transparent;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700;cursor:pointer;transition:.2s}.btn-primary{background:var(--wine);color:#fff}.btn-primary:hover{background:var(--wine-dark);transform:translateY(-2px)}.btn-light{background:#fff;color:var(--wine)}.btn-outline{border-color:var(--ink);background:transparent}.btn-outline:hover{background:var(--ink);color:#fff}.btn-danger{border-color:#a43131;color:#a43131;background:transparent}.btn-block{width:100%}.text-link{font-weight:700;border-bottom:1px solid;padding-bottom:3px}
.hero{padding:54px 0 76px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:clamp(40px,7vw,100px)}.hero-copy h1 em{color:var(--wine);font-weight:600}.hero-actions{display:flex;align-items:center;gap:24px;margin:34px 0}.hero-proof{display:flex;gap:25px;padding-top:24px;border-top:1px solid var(--line);font-size:.78rem;font-weight:600;color:var(--muted)}.hero-proof span:before{content:'✓';color:var(--wine);margin-right:7px}.hero-media{position:relative;margin:0;height:min(690px,72vw);min-height:520px;background:#e8d8c9;box-shadow:var(--shadow)}.hero-media:before{content:'';position:absolute;z-index:-1;width:62%;height:55%;right:-30px;top:-30px;border:1px solid var(--gold)}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-media figcaption{position:absolute;bottom:22px;left:-34px;background:var(--paper);padding:14px 21px;font-family:var(--display);font-style:italic;box-shadow:var(--shadow)}
.category-strip{border-block:1px solid var(--line);background:#fff}.category-grid{display:grid;grid-template-columns:repeat(4,1fr)}.category-grid a{display:flex;justify-content:space-between;padding:23px 25px;border-right:1px solid var(--line);font-family:var(--display);font-size:1.05rem}.category-grid a:first-child{border-left:1px solid var(--line)}.category-grid a:hover{background:var(--wine);color:#fff}.section{padding:100px 0}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px}.section-head h2{font-size:clamp(2.2rem,4vw,3.4rem)}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 22px}.product-card{background:#fff;border-bottom:3px solid transparent;transition:.2s}.product-card:hover{transform:translateY(-4px);border-color:var(--wine);box-shadow:0 16px 40px rgba(45,20,24,.08)}.product-card .thumb{display:block;aspect-ratio:4/5;background:#eee3d8;overflow:hidden}.product-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.product-card:hover .thumb img{transform:scale(1.025)}.product-card .info{padding:18px}.product-card .cat{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--wine)}.product-card h3{margin:5px 0;font-family:var(--body);font-size:1rem}.product-card .desc{color:var(--muted);font-size:.86rem;margin:4px 0 13px}.product-card .price{font-family:var(--display);font-size:1.25rem}.card-actions{display:flex;gap:8px;margin-top:15px}.card-actions .btn{flex:1;min-height:42px;padding:0 10px}.empty-state{grid-column:1/-1;text-align:center;border:1px dashed #bdae9f;padding:55px 20px;color:var(--muted)}
.story-band{background:var(--wine);color:#fff;padding:90px 0}.story-band h2{color:#fff}.story-grid{display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:90px}.story-grid p{color:#f2e7e2}.service-row{background:#fff}.service-grid{display:grid;grid-template-columns:repeat(3,1fr)}.service-grid div{padding:34px;border-right:1px solid var(--line)}.service-grid div:first-child{border-left:1px solid var(--line)}.service-grid b,.service-grid span{display:block}.service-grid span{color:var(--muted);font-size:.86rem}
.page-hero{padding:76px 0 45px;border-bottom:1px solid var(--line)}.page-hero p{max-width:680px;color:var(--muted)}.toolbar{display:flex;gap:12px;align-items:center;margin:26px 0}.toolbar select,.toolbar input{padding:12px 14px;border:1px solid var(--line);background:#fff}.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:70px 0}.gallery{aspect-ratio:4/5;background:#eee3d8}.gallery img{width:100%;height:100%;object-fit:cover}.product-detail .price{font:2rem var(--display);color:var(--wine);margin:18px 0}.meta-list{margin:28px 0;border-top:1px solid var(--line)}.meta-list div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.detail-actions{display:flex;gap:10px}.qty-row{margin:18px 0}.qty-row input{width:70px;padding:10px;border:1px solid var(--line)}
.content-section{padding:75px 0}.content-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.content-card{background:#fff;border:1px solid var(--line);padding:32px}.faq-list details{background:#fff;border-bottom:1px solid var(--line);padding:22px}.faq-list summary{font-weight:700;cursor:pointer}.faq-list details p{color:var(--muted)}
.form-field{margin-bottom:18px}.form-field label{display:block;font-size:.84rem;font-weight:700;margin-bottom:6px}.form-field input,.form-field textarea,.form-field select{width:100%;padding:12px 14px;border:1px solid #cfc1b5;background:#fff;color:var(--ink)}.form-field textarea{min-height:125px;resize:vertical}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:2px solid var(--wine);outline-offset:2px}.form-hint,.small{font-size:.8rem;color:var(--muted)}.form-error{color:#a12626;font-weight:600}.form-success{color:#176b43}.narrow-card{width:min(460px,calc(100% - 32px));margin:70px auto;background:#fff;border-top:5px solid var(--wine);padding:40px;box-shadow:var(--shadow)}.narrow-card .logo-img{width:220px;height:auto}
.cart-layout{display:grid;grid-template-columns:1fr 360px;gap:50px;padding:55px 0}.cart-line{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}.cart-line img{width:90px;height:112px;object-fit:cover}.row-between{display:flex;justify-content:space-between}.grow{flex:1}.remove{border:0;background:none;color:#a12626;padding:0;cursor:pointer}.summary-box{background:#fff;padding:27px;border:1px solid var(--line)}.summary-row{display:flex;justify-content:space-between;padding:8px 0}.summary-row.total{border-top:1px solid var(--line);margin-top:10px;padding-top:18px;font-weight:700}
.site-footer{background:#171313;color:#eee3dc;padding-top:62px}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:45px}.footer-logo{width:220px;filter:brightness(0) invert(1)}.footer-grid h3{font:700 .75rem var(--body);text-transform:uppercase;letter-spacing:.14em;color:#cfae76}.footer-grid a{display:block;margin:8px 0;color:#ddd0c9;font-size:.9rem}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #3b3230;margin-top:45px;padding:20px 0;font-size:.76rem;color:#a99d97}
@media(max-width:900px){.wrap{width:min(100% - 32px,var(--wrap))}.nav-toggle{display:block}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:16px 24px 28px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.main-nav.open{display:flex}.hero-grid,.story-grid,.content-grid,.product-detail{grid-template-columns:1fr}.hero-copy{order:2}.hero-media{height:600px}.category-grid{grid-template-columns:repeat(2,1fr)}.product-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.cart-layout{grid-template-columns:1fr}}
@media(max-width:580px){.header-inner{height:72px}.brand img{width:178px}.hero{padding-top:28px}.hero-media{height:480px;min-height:0}.hero-media figcaption{left:12px}.hero-proof{flex-direction:column;gap:8px}.category-grid,.product-grid,.service-grid,.footer-grid{grid-template-columns:1fr}.category-grid a,.category-grid a:first-child,.service-grid div,.service-grid div:first-child{border-left:0;border-right:0;border-bottom:1px solid var(--line)}.section{padding:70px 0}.section-head{align-items:start}.story-grid{gap:30px}.footer-bottom{flex-direction:column;gap:5px}.detail-actions{flex-direction:column}}
