:root{--px:max(5vw,calc((100vw - 1400px)/2));--iv:#FAF6EF;--cr:#F1E8DC;--bl:#EBD3CC;--wine:#6B1F2F;--ink:#2B2523;--mut:#6B615A;--ln:#DDD3C6;--serif:"Cormorant Garamond",Georgia,serif;--sans:Jost,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:var(--iv);color:var(--ink);font:400 16px/1.65 var(--sans);overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--wine);outline-offset:3px}
.vh,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip:focus{position:fixed;top:8px;left:8px;z-index:99;background:#fff;padding:10px 14px}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.05}
input,select,textarea{font:inherit;color:inherit;padding:12px 14px;border:1px solid var(--ln);background:#fff;border-radius:0;min-height:48px}
.bar{background:var(--wine);color:#F6E9E4;text-align:center;font-size:13px;letter-spacing:.03em;text-wrap:balance;padding:9px 5vw}
.hd{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;padding:8px var(--px);background:rgba(250,246,239,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--ln)}
.logo img{width:54px;height:54px;border-radius:50%}
nav{display:flex;gap:28px;margin-left:14px;font-size:15px}
nav a{padding:6px 0;border-bottom:1px solid transparent;transition:border-color .25s}
nav a:hover{border-color:var(--wine)}
nav .m,.menu{display:none}
.sf{margin-left:auto}.sf input{width:190px;min-height:42px;padding:8px 12px}
.cart{padding:10px 4px;font-size:15px}
.cart b{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:6px;border-radius:11px;background:var(--wine);color:#fff;font:500 12px var(--sans)}
.btn{display:inline-block;min-height:48px;padding:12px 30px;background:var(--wine);color:#fff;border:1px solid var(--wine);font:500 14px/1.5 var(--sans);letter-spacing:.05em;cursor:pointer;text-align:center;transition:background .25s,color .25s}
.btn:hover{background:transparent;color:var(--wine)}
.btn.ghost{background:transparent;color:var(--wine)}.btn.ghost:hover{background:var(--wine);color:#fff}
.btns,.cact{display:flex;gap:14px;flex-wrap:wrap}.cact{margin-top:24px}
.hero{position:relative;display:grid;overflow:hidden;background:linear-gradient(var(--iv),var(--iv))}
.sl{grid-area:1/1;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:5vw;min-height:min(84vh,740px);padding:5vw var(--px) 7vw;visibility:hidden;opacity:0;transition:opacity .9s ease,visibility 0s .9s}
.sl.on{visibility:visible;opacity:1;transition:opacity .9s ease}
.tx h2{font-size:clamp(40px,6.4vw,92px);letter-spacing:-.01em;max-width:12ch;overflow-wrap:break-word}
.tx p{max-width:42ch;margin:22px 0 32px;color:var(--mut)}
.arch{position:relative;width:min(100%,440px);aspect-ratio:4/5;justify-self:center;border-radius:999px 999px 0 0;overflow:hidden;background:var(--bl)}
.arch img{width:100%;height:100%;object-fit:cover}
.arch::after{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.7);border-radius:999px 999px 0 0;pointer-events:none}
.sl.on .tx>*{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}.sl.on .tx p{animation-delay:.12s}.sl.on .tx .btns{animation-delay:.24s}
.sl.on .arch{animation:reveal 1.2s cubic-bezier(.2,.7,.2,1) both}
@keyframes rise{from{opacity:0;transform:translateY(20px)}}
@keyframes reveal{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}
.dots{position:absolute;left:var(--px);bottom:18px;display:flex;gap:10px}
.dots button{position:relative;width:48px;height:30px;background:none;border:0;cursor:pointer}
.dots button::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:var(--ln);transition:background .3s}
.dots button[aria-current=true]::after{background:var(--wine)}
.sec{padding:clamp(56px,9vw,120px) var(--px)}.alt{background:var(--cr)}
.sec h2{font-size:clamp(34px,4.6vw,60px)}
.lead{color:var(--mut);max-width:56ch;margin-top:14px}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px 14px;margin-top:40px}
.card{display:block}
.ph{aspect-ratio:4/5;background:var(--cr);overflow:hidden}
.ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.card h3{font-size:26px;margin-top:14px}
.mn{font:italic 400 18px/1.3 var(--serif);color:var(--mut);min-height:1.3em}
.pr{margin-top:6px;color:var(--wine);font-weight:500}
.strip{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;margin:40px calc(var(--px)*-1) 0;padding:0 var(--px) 22px;scroll-padding-left:var(--px)}
.strip .card{flex:0 0 min(72vw,300px);scroll-snap-align:start}
.story{display:grid;grid-template-columns:auto 1fr;gap:6vw;align-items:center}
.logo-lg img{width:min(260px,60vw);border-radius:50%}
.info4{display:grid;grid-template-columns:repeat(4,1fr);gap:30px 32px;margin-top:40px}
.info4>div,.pill>div{border-top:1px solid var(--ink);padding-top:18px}
.info4 h3{font-size:26px;margin-bottom:8px}.info4 p,.pill p{color:var(--mut);font-size:15px}
.cta{background:var(--wine);color:#FAF1EC;text-align:center;padding:clamp(64px,10vw,130px) 5vw}
.cta h2{font-size:clamp(36px,5.4vw,72px);max-width:16ch;margin:0 auto 32px}.cta .btns{justify-content:center}
.btn.light{background:#FAF1EC;color:var(--wine);border-color:#FAF1EC}.btn.light:hover{background:transparent;color:#FAF1EC}
.btn.ghost.light{background:transparent;color:#FAF1EC;border-color:#FAF1EC}.btn.ghost.light:hover{background:#FAF1EC;color:var(--wine)}
.pg{padding:clamp(40px,7vw,90px) var(--px)}.pg h1{font-size:clamp(40px,6vw,76px)}
.tools{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.tools input{flex:1 1 220px}.tools select{flex:0 1 220px}
.empty{grid-column:1/-1;padding:40px 0;color:var(--mut)}.empty a{color:var(--wine);text-decoration:underline}
.pd{display:grid;grid-template-columns:1.1fr .9fr;gap:5vw;padding:clamp(28px,5vw,64px) var(--px)}
.mainimg{aspect-ratio:4/5;background:var(--cr);overflow:hidden}.mainimg img{width:100%;height:100%;object-fit:cover}
.th{display:flex;gap:10px;margin-top:10px}
.th button{width:72px;padding:0;border:1px solid transparent;background:none;cursor:pointer}.th button[aria-current=true]{border-color:var(--wine)}
.info h1{font-size:clamp(44px,5.4vw,72px)}.big{font-size:22px;margin:10px 0 18px}.desc{max-width:52ch}
.sz{border:0;padding:0;margin:26px 0 6px}.sz legend{font-size:14px;margin-bottom:8px}.sz div{display:flex;gap:10px;flex-wrap:wrap}
.sz label{position:relative}.sz input{position:absolute;inset:0;opacity:0;width:100%;min-height:0;padding:0;cursor:pointer}
.sz span{display:grid;place-items:center;min-width:54px;height:48px;border:1px solid var(--ln);transition:background .2s,color .2s}
.sz input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}
.sz input:focus-visible+span{outline:2px solid var(--wine);outline-offset:2px}
.err{color:#A3222F;font-size:14px;min-height:22px}
.qty{display:inline-flex;border:1px solid var(--ln);margin-top:10px}
.qty button{width:48px;height:48px;background:none;border:0;font-size:20px;cursor:pointer}
.qty output{min-width:44px;display:grid;place-items:center}
.note,.mut{font-size:13px;color:var(--mut)}.note{margin-top:16px}
.cl2{list-style:none;padding:0;margin-top:28px}
.ln{display:grid;grid-template-columns:84px 1fr auto;gap:6px 16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--ln);list-style:none}
.ln h3{font-size:24px}.rt{display:grid;justify-items:end;gap:4px}
.lnk{background:none;border:0;color:var(--mut);text-decoration:underline;cursor:pointer;font:inherit;font-size:14px;padding:10px 0}
.sum{margin-top:28px;display:flex;justify-content:space-between;align-items:baseline;font:500 22px var(--serif)}.sum b{font-weight:500;font-size:34px}
.pill{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:48px 0}.pill h2{font-size:34px;margin-bottom:6px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin-top:40px}
.cl{list-style:none;padding:0}.cl li{display:grid;gap:2px;padding:16px 0;border-bottom:1px solid var(--ln)}
.cl span{font-size:13px;color:var(--mut)}.cl a{font:500 24px var(--serif);overflow-wrap:anywhere}
form label{display:block;margin-bottom:18px;font-size:14px}form input,form textarea{display:block;width:100%;margin-top:6px}
#ft{background:var(--cr);padding:56px var(--px) 28px}
.fg{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.fg h3{font-size:22px;margin-bottom:10px}.fg a{display:block;padding:5px 0;color:var(--mut);overflow-wrap:anywhere}.fg a:hover{color:var(--wine)}
.flogo{width:76px;height:76px;border-radius:50%;margin-bottom:14px}
.cp{margin-top:36px;padding-top:18px;border-top:1px solid var(--ln);font-size:13px;color:var(--mut)}
#toast{position:fixed;left:50%;bottom:24px;max-width:90vw;transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:12px 22px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;z-index:50}
#toast.on{opacity:1;transform:translate(-50%,0)}
@media(hover:hover){.card:hover .ph img{transform:scale(1.04)}}
@media(min-width:900px){.grid{grid-template-columns:repeat(4,1fr);gap:46px 22px}}
@media(max-width:899px){
.menu{display:block;width:44px;height:44px;margin-left:-10px;background:none;border:0;position:relative;cursor:pointer}
.menu span{position:absolute;left:11px;right:11px;height:1.5px;background:var(--ink);transition:transform .3s}
.menu span:first-child{top:18px}.menu span:last-child{top:25px}
.menu[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.logo{margin-inline:auto}.sf{display:none}
nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;margin:0;background:var(--iv);border-bottom:1px solid var(--ln);max-height:0;overflow:hidden;visibility:hidden;transition:max-height .35s ease,visibility 0s .35s}
nav.open{max-height:320px;visibility:visible;transition:max-height .35s ease}
nav a{padding:15px 5vw;border:0}nav .m{display:block}
.sl{grid-template-columns:1fr;gap:28px;min-height:0;padding:28px var(--px) 64px}
.arch{order:-1;width:min(76vw,340px)}
.pd,.two,.story{grid-template-columns:1fr}.story{justify-items:start}
.info4{grid-template-columns:1fr 1fr}.pill{grid-template-columns:1fr}
.fg{grid-template-columns:1fr 1fr}.fg>div:first-child{grid-column:1/-1}}
@media(max-width:560px){.info4{grid-template-columns:1fr}.ln{grid-template-columns:72px 1fr auto}.ln img{width:72px}.btns .btn,.cact .btn{flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.split{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center;padding:clamp(48px,8vw,110px) var(--px)}
.split h2{font-size:clamp(34px,4.6vw,60px)}.split p{margin-top:16px;max-width:52ch;color:var(--mut)}.split .lead{margin-top:12px}
.edi{aspect-ratio:4/5;width:min(100%,460px);justify-self:center;overflow:hidden;background:var(--bl)}.edi img{width:100%;height:100%;object-fit:cover}
blockquote{font:italic 500 clamp(24px,3vw,38px)/1.25 var(--serif);color:var(--wine);margin:28px 0 0;padding-left:20px;border-left:1px solid var(--wine);max-width:28ch}
.center{text-align:center}.center .lead,.center blockquote{margin-inline:auto}.center blockquote{border:0;padding:0;margin-block:24px}
.dl{margin-top:24px}.dl>div{padding:14px 0;border-top:1px solid var(--ln)}.dl dt{font:500 24px var(--serif)}.dl dd{color:var(--mut);font-size:15px}
.mean{display:grid;grid-template-columns:1fr 1fr;gap:44px 5vw;margin-top:44px}
.mrow{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:start}
.mrow h3{font-size:30px}.mrow p{font-size:15px;color:var(--mut);margin-top:6px}.mrow .mn{font-size:19px}
.lnk2{display:inline-block;margin-top:12px;color:var(--wine);border-bottom:1px solid var(--wine);font-size:14px}
.info4 a{color:var(--wine);text-decoration:underline}
.vals>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:20px;padding:22px 0;border-top:1px solid var(--ink)}.vals h3{font-size:28px}.vals p{color:var(--mut)}
.vision p{max-width:56ch;margin:0 auto;font:italic 400 clamp(20px,2.4vw,28px)/1.5 var(--serif)}
.links{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;margin-top:30px}.links a{color:var(--wine);border-bottom:1px solid var(--wine)}
.rv{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}.rv.in{opacity:1;transform:none}
.promo{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;border-block:1px solid var(--ln)}
.qp{display:flex;gap:8px;margin:32px 0 10px}.qp i{flex:1;height:2px;background:var(--ln);transition:background .3s}.qp i.on{background:var(--wine)}
.q{border:0;padding:0;margin-top:14px}.q:focus,.res h2:focus{outline:0}.q legend{font:500 clamp(28px,4vw,44px)/1.1 var(--serif);margin-bottom:22px}
.opts{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.opt{position:relative;display:block}.opt input{position:absolute;inset:0;opacity:0;width:100%;min-height:0;padding:0;cursor:pointer}
.opt span{display:grid;gap:4px;align-content:start;height:100%;padding:20px;border:1px solid var(--ln);background:#fff;transition:border-color .2s,background .2s}
.opt:hover span{border-color:var(--wine)}.opt input:checked+span{border-color:var(--wine);background:var(--cr);box-shadow:inset 0 0 0 1px var(--wine)}
.opt input:focus-visible+span{outline:2px solid var(--wine);outline-offset:2px}
.opt b{font:500 24px/1.15 var(--serif)}.opt small{color:var(--mut);font-size:14px}.opt em{display:flex;padding-left:8px}.opt s{width:34px;height:34px;border-radius:50%;border:1px solid var(--ln);margin-left:-8px}
.res h2{font-size:clamp(40px,6vw,72px)}.rc{display:grid;gap:12px;align-content:start}
.why{display:flex;gap:6px;flex-wrap:wrap}.why span{font-size:12px;color:var(--wine);border:1px solid var(--ln);padding:3px 10px}
.g3{grid-template-columns:repeat(2,1fr)}
.tw{overflow-x:auto;margin-top:32px}table{border-collapse:collapse;width:100%;min-width:420px}th,td{padding:14px 12px;text-align:left;border-bottom:1px solid var(--ln)}th{font:500 22px var(--serif)}td{color:var(--mut)}
@media(min-width:900px){.g3,.info4.three{grid-template-columns:repeat(3,1fr)}}
@media(min-width:900px) and (max-width:1100px){nav{gap:20px}.sf input{width:150px}}
@media(max-width:899px){.split,.mean{grid-template-columns:1fr}.vals>div{grid-template-columns:1fr;gap:4px}}
@media(max-width:560px){.opts{grid-template-columns:1fr}.mrow{grid-template-columns:96px 1fr;gap:16px}.g3{gap:30px 14px}}
@media(max-width:400px){.bar{font-size:12px;letter-spacing:.01em}}
