@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=DM+Sans:wght@300;400;500;600&display=swap');

:root{
  --black:#0d0d0d;
  --soft-black:#171717;
  --white:#ffffff;
  --paper:#f5f1eb;
  --warm:#d9c9b7;
  --grey:#79736d;
  --line:#d9d1c7;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--black);font-family:'DM Sans',sans-serif;font-weight:300;}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;margin:0;}
button,input{font:inherit;}

.brand-strip{
  background:var(--black);color:#f6f2ec;text-align:center;padding:10px 18px;
  font-size:10px;letter-spacing:.28em;font-weight:500;
}

.sale-strip{
  background:#f3eee8;color:#111;text-align:center;padding:9px 18px;
  font-size:9.5px;letter-spacing:.22em;font-weight:600;border-bottom:1px solid #d9d1c7;
}

.catalog-warning{background:#fff3cd;color:#5c4a12;font-size:12px;text-align:center;padding:8px 16px;border-bottom:1px solid #e6d38a;}
.catalog-warning code{background:rgba(0,0,0,.08);padding:1px 5px;border-radius:3px;}

.hero{
  min-height:360px;padding:74px 24px 62px;text-align:center;position:relative;color:#f8f5f0;
  background:
    radial-gradient(circle at 70% 25%, rgba(255,255,255,.08), transparent 34%),
    linear-gradient(135deg,#080808 0%,#171410 55%,#080808 100%);
  border-bottom:1px solid #292621;
}
.hero-kicker{font-size:10px;letter-spacing:.32em;color:#c7b9a8;margin-bottom:18px;font-weight:500;}
.hero h1{font-size:74px;letter-spacing:.17em;font-weight:500;line-height:.9;padding-left:.17em;}
.tagline{margin:14px 0 0;font-family:'Cormorant Garamond';font-size:22px;font-style:italic;color:#d9cec2;}
.hero-text{max-width:650px;margin:20px auto 0;font-size:13px;line-height:1.9;color:#cfc8c0;}
.cart-pill{
  position:absolute;right:24px;top:22px;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45);
  padding:9px 13px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:8px;cursor:pointer;
}
.cart-pill:hover{background:#fff;color:#111;}
.cart-count{background:#fff;color:#111;border-radius:50%;width:18px;height:18px;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;}
.cart-pill:hover .cart-count{background:#111;color:#fff;}

main{padding-bottom:20px;}
.catalog-intro{max-width:1180px;margin:0 auto;padding:42px 26px 26px;display:flex;justify-content:space-between;gap:30px;align-items:flex-end;}
.catalog-intro span{font-size:10px;letter-spacing:.24em;font-weight:600;}
.catalog-intro p{margin:0;max-width:520px;font-size:12.5px;line-height:1.75;color:#5f5a55;text-align:right;}

.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#cfc6bb;max-width:1180px;margin:0 auto;border:1px solid #cfc6bb;}
.card{background:#f8f5f0;padding:0 0 24px;display:flex;flex-direction:column;min-width:0;}
.card.out-of-stock{opacity:.55;}
.art{height:390px;background:#e9e1d8;overflow:hidden;position:relative;}
.art:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.16);pointer-events:none;}
.art svg{height:92px;width:auto;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);}
.art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.card:hover .art img{transform:scale(1.025);}
 .card h3{font-size:26px;font-weight:500;line-height:1.1;margin:22px 22px 0;}
.price-row{display:flex;align-items:center;gap:8px;margin:5px 22px 0;}
.price{font-size:13px;font-weight:500;letter-spacing:.03em;}
.size-tag{font-size:9px;letter-spacing:.08em;border:1px solid #222;padding:3px 7px;text-transform:uppercase;}
.field-label{font-size:9px;letter-spacing:.14em;color:#77706a;text-transform:uppercase;margin:14px 22px 6px;font-weight:600;}
.pills{display:flex;flex-wrap:wrap;gap:6px;margin:0 22px;}
.pill{border:1px solid #2a2927;border-radius:20px;padding:5px 10px;font-size:10.5px;cursor:pointer;user-select:none;letter-spacing:.01em;background:transparent;}
.pill input{display:none;}
.pill.active{background:#111;color:#fff;}
.pill.disabled{opacity:.35;text-decoration:line-through;pointer-events:none;}
.single-aroma{margin:0 22px;font-family:'Cormorant Garamond';font-size:17px;font-style:italic;color:#2d2a27;}
.add-row{display:flex;align-items:center;gap:8px;margin:18px 22px 0;padding-top:8px;}
.stepper{display:flex;align-items:center;border:1px solid #111;height:34px;}
.stepper button{background:none;border:none;width:28px;height:32px;font-size:15px;cursor:pointer;}
.stepper span{width:23px;text-align:center;font-size:11px;}
.add-btn{flex:1;background:#111;color:#fff;border:1px solid #111;padding:9px 10px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;}
.add-btn:hover{background:#2a2724;}
.stock-note{font-size:11px;color:#77706a;font-style:italic;margin:16px 22px 0;}

.care-section{max-width:960px;margin:72px auto 58px;padding:0 24px;display:grid;grid-template-columns:1fr 1fr;gap:0;}
.care-card{padding:30px;display:flex;gap:18px;border:1px solid #cfc6bb;background:#eee7df;}
.care-card+ .care-card{border-left:0;}
.dark-care{background:#111;color:#f8f5f0;border-color:#111;}
.care-number{font-size:10px;letter-spacing:.12em;opacity:.55;padding-top:7px;}
.care-card h4{font-size:21px;font-weight:500;margin-bottom:8px;}
.care-card p{font-size:11.5px;line-height:1.7;margin:0;color:#5e5954;}
.dark-care p{color:#bfb7af;}

footer{background:#0d0d0d;color:#e8e2da;padding:46px 24px 54px;text-align:center;}
.footer-brand{font-family:'Cormorant Garamond';font-size:36px;letter-spacing:.16em;padding-left:.16em;margin-bottom:14px;}
footer a{color:#e8e2da;text-decoration:none;border-bottom:1px solid #777;}
footer .foot-line{font-size:10.5px;color:#aaa29a;margin:5px 0;letter-spacing:.04em;}
footer .foot-tagline{font-size:16px;font-style:italic;color:#d3c8bc;margin-top:18px;font-family:'Cormorant Garamond';}

.bottom-bar{position:fixed;left:0;right:0;bottom:0;background:#111;color:#fff;padding:13px 22px;display:flex;justify-content:space-between;align-items:center;transform:translateY(120%);transition:transform .25s ease;font-size:11px;letter-spacing:.03em;z-index:15;box-shadow:0 -8px 24px rgba(0,0,0,.12);}
.bottom-bar.show{transform:translateY(0);}
.bottom-bar b{font-family:'Cormorant Garamond';font-size:16px;}
.bottom-bar button{background:#fff;color:#111;border:none;padding:9px 15px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;}

.overlay{position:fixed;inset:0;background:rgba(0,0,0,.58);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:20;backdrop-filter:blur(2px);}
.overlay.show{opacity:1;pointer-events:auto;}
.panel{position:fixed;right:0;top:0;bottom:0;width:410px;max-width:94vw;background:#f6f2ec;z-index:21;transform:translateX(100%);transition:transform .25s ease;display:flex;flex-direction:column;box-shadow:-15px 0 50px rgba(0,0,0,.18);}
.panel.show{transform:translateX(0);}
.panel-head{padding:22px 22px 18px;border-bottom:1px solid #d9d1c7;display:flex;justify-content:space-between;align-items:center;background:#111;color:#fff;}
.panel-eyebrow{display:block;font-size:8px;letter-spacing:.2em;color:#a99f94;margin-bottom:3px;}
.panel-head h2{font-size:27px;letter-spacing:.02em;}
.panel-head button{background:none;border:none;color:#fff;font-size:18px;cursor:pointer;}
.panel-scroll{flex:1;overflow-y:auto;padding:18px 22px;}
.name-field{margin-bottom:18px;}
.name-field input{width:100%;border:none;border-bottom:1px solid #111;background:transparent;padding:8px 2px;font-size:12px;outline:none;}
.line{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 0;border-bottom:1px solid #d9d1c7;gap:10px;}
.line .nm{font-family:'Cormorant Garamond';font-size:18px;font-weight:500;}
.line .arm{font-size:10px;color:#706a64;margin-top:3px;}
.line .qp{font-size:10px;color:#706a64;margin-top:4px;}
.remove{background:none;border:none;color:#8b8279;font-size:9px;text-decoration:underline;cursor:pointer;padding:4px 0;}
.empty-msg{font-family:'Cormorant Garamond';font-size:17px;font-style:italic;color:#8b8279;padding:30px 0;text-align:center;}
.section-label{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#77706a;margin:22px 0 8px;font-weight:600;}
.delivery-choice{display:grid;grid-template-columns:1fr 1fr;border:1px solid #111;}
.delivery-choice label{padding:10px;text-align:center;font-size:10px;cursor:pointer;}
.delivery-choice label.active{background:#111;color:#fff;}
.delivery-choice input{display:none;}
.pickup-info{font-size:10.5px;line-height:1.55;color:#5f5953;margin-top:12px;background:#eee7df;padding:12px;}
.pickup-info a{color:#111;}
.ship-fields{display:none;margin-top:12px;}
.ship-fields.show{display:block;}
.ship-fields input{width:100%;border:0;border-bottom:1px solid #bbb1a7;background:transparent;padding:9px 2px;font-size:11px;outline:none;}
.ship-note{font-size:9.5px;color:#81786f;line-height:1.5;margin-top:9px;}
.panel-foot{border-top:1px solid #d9d1c7;padding:15px 22px 20px;background:#f6f2ec;}
.total-row{display:flex;justify-content:space-between;font-family:'Cormorant Garamond';font-size:22px;margin-bottom:12px;}
.send-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:#111;color:#fff;border:none;padding:13px 12px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;}
.send-btn svg{width:16px;height:16px;fill:#fff;}
.send-btn:disabled{opacity:.4;cursor:not-allowed;}

@media (max-width:900px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .art{height:420px;}
  .catalog-intro{align-items:flex-start;}
}
@media (max-width:640px){
  .hero{min-height:330px;padding:62px 20px 48px;}
  .hero h1{font-size:56px;}
  .hero-text{font-size:12px;line-height:1.8;}
  .cart-pill{right:12px;top:14px;padding:7px 10px;}
  .catalog-intro{display:block;padding:32px 18px 18px;}
  .catalog-intro p{text-align:left;margin-top:10px;}
  .grid{grid-template-columns:1fr;border-left:0;border-right:0;}
  .art{height:min(112vw,520px);}
  .card h3,.price-row,.field-label,.pills,.single-aroma,.add-row,.stock-note{margin-left:18px;margin-right:18px;}
  .care-section{grid-template-columns:1fr;margin-top:48px;padding:0 18px;}
  .care-card+ .care-card{border-left:1px solid #cfc6bb;border-top:0;}
}
