:root{
  --paper:#f3ede3;
  --paper-2:#ebe1d2;
  --ink:#141414;
  --muted:#6c655d;
  --line:rgba(20,20,20,.18);
  --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-family:Inter,Arial,sans-serif;
  line-height:1.5;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit}
h1,h2{font-family:"Libre Caslon Text",Georgia,serif;font-weight:400;letter-spacing:-.04em}
h1{font-size:clamp(3.4rem,8vw,8.5rem);line-height:.92;margin:.25em 0}
h2{font-size:clamp(2.5rem,5vw,5rem);line-height:1;margin:.25em 0}
.eyebrow{text-transform:uppercase;font-size:.7rem;letter-spacing:.18em;font-weight:660}
.site-header{
  height:84px;display:flex;align-items:center;justify-content:space-between;
  padding:0 4vw;position:fixed;inset:0 0 auto;z-index:20;
  background:rgba(243,237,227,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)
}
.brand img{width:108px;height:auto;max-height:none;object-fit:contain;object-position:left center;mix-blend-mode:multiply}
.desktop-nav{display:flex;gap:2rem;font-size:.83rem}
.cart-trigger{border:0;background:none;display:flex;gap:.55rem;cursor:pointer}
.cart-trigger strong{border:1px solid var(--ink);border-radius:50%;width:22px;height:22px;display:grid;place-items:center;font-size:.7rem}
.hero{
  min-height:100vh;padding:120px 5vw 60px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:4vw;
  background:linear-gradient(115deg,var(--paper) 0 55%,var(--paper-2) 55%)
}
.hero__lead{max-width:32rem;font-size:1.1rem;color:var(--muted);margin:2rem 0}
.hero__visual{margin:0;display:flex;justify-content:center}
.hero__visual img{width:min(100%,680px);max-height:78vh;object-fit:contain}
.button{
  min-height:50px;padding:0 1.5rem;border:1px solid var(--ink);display:inline-flex;align-items:center;justify-content:center;
  text-transform:uppercase;letter-spacing:.11em;font-size:.72rem;font-weight:660;cursor:pointer;transition:.2s ease
}
.button--dark{background:var(--ink);color:white}
.button--dark:hover{background:#333}
.button--outline{background:transparent}
.button--outline:hover{background:var(--ink);color:white}
.button--full{width:100%}
.statement{padding:14vw 10vw;text-align:center;background:#faf7f2}
.statement p:last-child{max-width:680px;margin:2rem auto 0;color:var(--muted);font-size:1.05rem}
.bottle-section{display:grid;grid-template-columns:1fr 1fr;min-height:90vh}
.bottle-section__image{background:var(--paper-2);display:grid;place-items:center;padding:7vw}
.bottle-section__image img{max-height:78vh;object-fit:contain}
.bottle-section__copy{padding:8vw;display:flex;flex-direction:column;justify-content:center}
.spec-list{margin-top:2.5rem;border-top:1px solid var(--line)}
.spec-list div{display:flex;justify-content:space-between;gap:2rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.spec-list dt{color:var(--muted)}
.spec-list dd{margin:0;text-align:right}
.purchase{display:grid;grid-template-columns:.8fr 1.2fr;min-height:90vh;background:#f8f4ed}
.purchase__copy{padding:8vw;display:flex;flex-direction:column;justify-content:center}
.purchase__image{background:var(--paper-2);display:grid;place-items:center;padding:6vw}
.purchase__image img{max-height:80vh;object-fit:contain}
.price{font-family:"Libre Caslon Text",Georgia,serif;font-size:3rem;margin:.25rem 0 1rem}
.purchase__note{font-size:.78rem;color:var(--muted);max-width:24rem}
.quantity-control{width:150px;border:1px solid var(--ink);display:grid;grid-template-columns:1fr 1fr 1fr;margin:2rem 0}
.quantity-control button,.quantity-control output{height:48px;border:0;background:transparent;display:grid;place-items:center}
.quantity-control button{cursor:pointer;font-size:1.25rem}
.microcopy{text-align:center;color:var(--muted);font-size:.72rem;margin-top:.8rem}
.professional{padding:8vw;display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:4vw;background:var(--ink);color:white}
.professional p{color:#c9c1b7}
.professional .button{border-color:white}
footer{padding:2rem 4vw;display:flex;align-items:center;justify-content:space-between;gap:2rem;font-size:.72rem}
footer img{width:92px;height:auto;max-height:none;object-fit:contain;object-position:left center;mix-blend-mode:multiply}
footer div{display:flex;gap:1rem}
.cart{position:fixed;inset:0;z-index:50;pointer-events:none;visibility:hidden}
.cart.is-open{pointer-events:auto;visibility:visible}
.cart__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.35);opacity:0;transition:.25s}
.cart.is-open .cart__backdrop{opacity:1}
.cart__panel{position:absolute;right:0;top:0;height:100%;width:min(430px,100%);background:#faf7f2;padding:2rem;transform:translateX(100%);transition:.3s}
.cart.is-open .cart__panel{transform:translateX(0)}
.cart__header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.cart__header h2{font-size:2rem}
.cart__header button{border:0;background:none;font-size:2rem;cursor:pointer}
.cart__item{display:grid;grid-template-columns:80px 1fr auto;gap:1rem;padding:1.5rem 0;border-bottom:1px solid var(--line)}
.cart__item img{width:80px;height:120px;object-fit:cover}
.cart__item div{display:flex;flex-direction:column;gap:.25rem}
.cart__item span{font-size:.8rem;color:var(--muted)}
.cart__summary{padding:1.5rem 0}
.cart__summary div{display:flex;justify-content:space-between;padding:.6rem 0;font-size:.85rem}
.cart__total{border-top:1px solid var(--line);margin-top:.7rem;padding-top:1rem!important}
.age-gate{position:fixed;inset:0;z-index:100;background:var(--paper);display:grid;place-items:center;padding:2rem}
.age-gate.is-hidden{display:none}
.age-gate__card{text-align:center;max-width:430px}
.age-gate__logo{width:190px;height:auto;margin:0 auto 2rem;object-fit:contain;mix-blend-mode:multiply}
.age-gate__card small{display:block;margin-top:1rem;color:var(--muted)}
.reveal{opacity:0;transform:translateY(24px);transition:.8s ease}
.reveal.visible{opacity:1;transform:none}

@media (max-width: 850px){
  .desktop-nav{display:none}
  .site-header{height:70px}
  .hero,.bottle-section,.purchase{grid-template-columns:1fr}
  .hero{padding-top:100px;background:var(--paper);min-height:auto}
  .hero__visual{grid-row:1}
  .hero__visual img{max-height:55vh}
  .hero__copy{text-align:center}
  .hero__lead{margin:1.4rem auto}
  .bottle-section__copy,.purchase__copy{padding:4rem 7vw}
  .purchase__image{grid-row:1}
  .professional{grid-template-columns:1fr;align-items:start;padding:5rem 7vw}
  footer{flex-direction:column;text-align:center}
}
