@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500&family=Shippori+Mincho:wght@400;500;600&display=swap');
:root{--paper:#f4efe5;--ink:#231a17;--wine:#642330;--red:#a82e43;--gold:#b58a49;--orange:#c55f20;--line:#cfc5b7;--accent:var(--red)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans","Shippori Mincho",sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%}header{position:relative;z-index:8;height:76px;padding:0 3vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);background:#f4efe5e8;backdrop-filter:blur(10px)}.logo{font-family:"Shippori Mincho",serif;font-size:1.35rem;letter-spacing:.13em}.logo em{color:var(--wine);font-style:normal}header nav{display:flex;gap:38px;font-size:.82rem}header nav a:hover{text-decoration:underline}.bag{justify-self:end;background:none;border:0;cursor:pointer}.bag span{display:inline-grid;place-items:center;width:25px;height:25px;margin-left:6px;border:1px solid var(--ink);border-radius:50%}.opening{min-height:calc(100svh - 76px);display:grid;grid-template-columns:1fr 1.15fr;position:relative;overflow:hidden}.opening-copy{padding:11vh 3vw 8vh 7vw;align-self:center}.kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:var(--wine)}h1,h2,h3{font-family:"Shippori Mincho",serif;font-weight:500;margin:0;line-height:1.35}h1{font-size:clamp(3.1rem,6vw,6.8rem);letter-spacing:-.05em}.opening-copy>p:not(.kicker){max-width:520px;line-height:2;color:#62564f;margin:35px 0}.opening-copy>a{display:inline-block;padding-bottom:7px;border-bottom:1px solid var(--wine);font-size:.9rem}.opening-stack{position:relative;background:#d9cbb9;overflow:hidden}.opening-stack img{position:absolute;width:52%;height:auto;box-shadow:0 24px 50px #3b271d3d}.opening-stack img:nth-child(1){left:-2%;top:22%;transform:rotate(-12deg)}.opening-stack img:nth-child(2){left:26%;top:10%;z-index:2;transform:rotate(2deg)}.opening-stack img:nth-child(3){right:-7%;top:25%;transform:rotate(14deg)}.edition{position:absolute;right:2vw;bottom:15px;font-size:.7rem;letter-spacing:.2em}.tasting{padding:120px 5vw;border-top:1px solid var(--line)}.taste-nav{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.taste-nav button{padding:24px 20px;border:0;border-right:1px solid var(--line);background:none;text-align:left;cursor:pointer;font-family:"Shippori Mincho",serif;font-size:1.1rem;transition:.3s}.taste-nav button:last-child{border:0}.taste-nav button span{display:block;margin-bottom:8px;font:12px "DM Sans",sans-serif}.taste-nav button.active{background:var(--ink);color:var(--paper)}.product-stage{display:grid;grid-template-columns:1.1fr .9fr;min-height:720px}.product-visual{position:relative;display:grid;place-items:center;background:#ebe1d4;overflow:hidden}.product-visual img{position:relative;z-index:2;width:min(58%,480px);filter:drop-shadow(0 35px 30px #2e1f1930);transition:opacity .25s,transform .4s}.product-visual.swap img{opacity:0;transform:translateY(12px)}.color-word{position:absolute;left:3%;bottom:-5%;margin:0;font-size:clamp(6rem,14vw,14rem);font-weight:500;letter-spacing:-.09em;color:color-mix(in srgb,var(--accent) 16%,transparent)}.product-info{padding:9% 8%;display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--line)}.product-info h2{font-size:clamp(2.7rem,5vw,5.8rem)}.product-info>p:not(.kicker){line-height:2;color:#62564f}.meters{margin:35px 0}.meters div{display:grid;grid-template-columns:70px 1fr;align-items:center;margin:12px 0;font-size:.75rem}.meters i{position:relative;height:2px;background:var(--line)}.meters i:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--value);background:var(--accent);transition:width .4s}.product-info dl{display:grid;grid-template-columns:repeat(3,1fr);margin:0;border-top:1px solid var(--line)}.product-info dl div{padding:18px 10px 0 0}.product-info dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em}.product-info dd{margin:7px 0;font-family:"Shippori Mincho",serif}.buy{display:flex;align-items:center;justify-content:space-between;margin-top:45px}.buy strong{font-family:"Shippori Mincho",serif;font-size:1.8rem}.add{padding:14px 25px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);cursor:pointer}.add:hover{background:var(--wine)}.pairing{padding:140px 7vw;background:var(--wine);color:var(--paper)}.pairing>h2{font-size:clamp(3.2rem,7vw,7rem);max-width:900px}.pairing .kicker{color:#d7aa99}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:5vw;margin-top:90px}.steps article{border-top:1px solid #ffffff55;padding-top:25px}.steps b{font-weight:400;color:#d7aa99}.steps h3{font-size:1.5rem;margin:25px 0 15px}.steps p{line-height:1.9;color:#eadbd5}.gift{display:grid;grid-template-columns:1.25fr .75fr}.gift-image{background:#d9cbb9;padding:7vw;display:grid;place-items:center}.gift-image img{box-shadow:0 30px 60px #36231d36}.gift-copy{padding:10vw 6vw;display:flex;flex-direction:column;justify-content:center}.gift-copy h2{font-size:clamp(2.8rem,5vw,5.5rem)}.gift-copy>p:not(.kicker){line-height:2;color:#62564f}.gift-copy ul{list-style:none;margin:25px 0;padding:0;border-top:1px solid var(--line)}.gift-copy li{padding:12px 0;border-bottom:1px solid var(--line);font-size:.82rem}footer{padding:55px 4vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;border-top:1px solid var(--line);font-size:.75rem}footer p:last-child{text-align:right}.bag-panel{position:fixed;z-index:20;top:0;right:0;width:min(450px,100%);height:100dvh;padding:32px;background:var(--paper);transform:translateX(105%);transition:.35s;display:flex;flex-direction:column}.bag-panel.open{transform:none}.bag-panel>div:first-child{display:flex;justify-content:space-between}.bag-close{border:0;background:none;cursor:pointer}.bag-panel h2{font-size:4rem}.bag-list{overflow:auto;flex:1}.bag-item{display:grid;grid-template-columns:55px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.bag-item img{width:55px;height:55px;object-fit:cover}.bag-item h3{font-size:.95rem}.bag-item p{margin:5px 0;font-size:.8rem}.bag-item button{border:0;background:none;cursor:pointer}.bag-empty{margin:auto;text-align:center}.bag-total{display:flex;justify-content:space-between;padding:20px 0;border-top:1px solid var(--ink)}.checkout{padding:15px;background:var(--wine);color:white;border:0}.bag-panel small{margin-top:15px;color:#776b64}.shade{position:fixed;z-index:19;inset:0;background:#231a1766}.notice{position:fixed;z-index:30;left:50%;bottom:25px;transform:translate(-50%,20px);opacity:0;padding:12px 20px;background:var(--ink);color:var(--paper);transition:.25s}.notice.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:760px){header{grid-template-columns:1fr auto}header nav{display:none}.opening{grid-template-columns:1fr;min-height:auto}.opening-copy{padding:90px 7vw 70px}.opening-stack{height:70vw;min-height:380px}.edition{display:none}.tasting{padding:90px 0}.taste-nav{margin:0 5vw;overflow:auto;grid-template-columns:repeat(3,minmax(180px,1fr))}.product-stage{grid-template-columns:1fr;min-height:0}.product-visual{height:115vw;max-height:620px}.product-info{padding:70px 7vw;border-left:0}.product-info dl{grid-template-columns:1fr}.product-info dl div{display:flex;justify-content:space-between}.steps{grid-template-columns:1fr}.pairing{padding:100px 7vw}.gift{grid-template-columns:1fr}.gift-image{padding:15vw 8vw}.gift-copy{padding:90px 7vw}footer{grid-template-columns:1fr;gap:15px}footer p:last-child{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Single-image first view */
.opening-stack{margin:0;position:relative;background:#171410;overflow:hidden}.opening-stack>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;box-shadow:none}.opening-stack figcaption{position:absolute;z-index:2;right:24px;bottom:22px;padding:7px 11px;background:#f4efe5dd;color:var(--ink);font-size:.68rem;letter-spacing:.12em}.opening-stack:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,#0002)}
@media(max-width:760px){.opening-stack>img{height:100%;object-position:center}.opening-stack figcaption{right:14px;bottom:14px}}
.opening .opening-stack>img:first-child{inset:0;width:100%;height:100%;object-fit:cover;box-shadow:none;transform:none}
