:root{--ivory:#f8f5f0;--beige:#f3eee7;--ink:#2a2724;--green:#315d42;--gold:#c49a4e;--brown:#8b7355;--serif:"Cormorant Garamond",serif;--sans:Inter,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--ivory);color:var(--ink);font:14px/1.6 var(--sans);min-height:100vh;display:flex;flex-direction:column}main{flex:1 0 auto}a{color:inherit;text-decoration:none}.load{position:fixed;z-index:9;inset:0;background:var(--green);color:#fff;display:grid;place-content:center;font:600 90px var(--serif)}header{position:absolute;z-index:2;width:100%;height:80px;padding:0 5vw;display:flex;justify-content:space-between;align-items:center;color:#fff}.logo{font:600 16px var(--sans);letter-spacing:.2em}.logo small{color:var(--gold)}nav{display:flex;gap:28px;font-size:14px;font-weight:500}.tools{font-size:14px;font-weight:500}.hero{height:100svh;min-height:690px;position:relative;color:#fff;overflow:hidden}.hero video,.shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.shade{background:linear-gradient(90deg,rgba(23,27,20,.65),transparent 66%)}.hero-copy{position:absolute;z-index:1;top:50%;left:8%;transform:translateY(-42%);max-width:550px}.hero-mark{position:absolute;z-index:1;right:6vw;bottom:2.5vw;width:78px;height:78px;border-radius:50%;background:radial-gradient(circle,var(--ink) 0%,var(--ink) 55%,rgba(42,39,36,.9) 75%,rgba(42,39,36,0) 100%);color:var(--gold);display:grid;place-content:center;font-size:26px}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.17em;font-size:10px;font-weight:600}h1,h2{font:500 clamp(54px,6vw,105px)/.9 var(--serif);letter-spacing:-.035em;margin:22px 0}h1 em,h2 em{color:var(--gold)}.hero-copy p:not(.eyebrow),.story>p{max-width:430px;line-height:1.9;color:#e3ded6}.button{display:inline-flex;gap:22px;padding:16px 20px;margin-top:28px;background:var(--green);color:#fff;font:600 10px var(--sans);text-transform:uppercase;letter-spacing:.1em}.plain{margin-left:25px;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:11px}.section{padding:80px 9vw}.story{position:relative;min-height:780px;padding-top:40px}.story>p{color:var(--brown);margin-left:17vw}.story-image{position:absolute;right:9vw;bottom:12vw;width:min(35vw,460px);aspect-ratio:4/3;overflow:hidden}.story-image img,.product-grid img{width:100%;height:100%;object-fit:cover}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:70px}.product-grid article{padding:14px;background:#fff;box-shadow:0 15px 35px #ded8cd;transition:.4s}.product-grid article:hover{transform:translateY(-9px)}.product-grid img{aspect-ratio:1}.product-grid b,.product-grid span,.product-grid a{display:block;margin:12px 3px}.product-grid b{font:500 25px var(--serif)}.product-grid span{color:var(--brown)}.product-grid a{font-size:10px;color:var(--green);text-transform:uppercase}.why{background:var(--beige)}.why>div{display:grid;grid-template-columns:repeat(3,1fr);margin-top:55px}.why article{padding:35px;border-left:1px solid #d8cfc3}.why i{font-style:normal;color:var(--gold);font-size:10px}.why h3{font:500 38px/.95 var(--serif)}.why p{color:var(--brown);font-size:12px}.trust{background:var(--green);color:#fff}.trust>div{display:grid;grid-template-columns:repeat(4,1fr);margin-top:55px}.trust b{font:500 50px var(--serif);padding:15px;border-left:1px solid #ffffff44}.trust span{color:var(--gold)}.trust small{display:block;color:#d5dfd5;font:11px var(--sans);margin-top:5px}.reviews{text-align:center;background:var(--beige)}blockquote{max-width:850px;margin:65px auto 25px;font:500 clamp(43px,6vw,88px)/1 var(--serif)}.reviews>p:last-child{color:var(--brown)}.cta{text-align:center;background:#302c25;color:#fff}.cta h2{margin-bottom:35px}.cta .plain{color:#fff}footer{padding:28px 5vw;display:flex;justify-content:space-between;align-items:start;font-size:13px;color:var(--brown)}@media(max-width:700px){header{padding:0 20px}header nav a:not(:first-child){display:none}nav{gap:16px;font-size:12px}.tools{font-size:12px}.section{padding:56px 24px}.hero-copy{left:24px;max-width:calc(100% - 48px)}.story-image{position:relative;right:auto;bottom:auto;width:100%;margin-top:50px}.story>p{margin-left:0}.product-grid,.why>div,.trust>div{grid-template-columns:repeat(2,1fr)}.product-grid{gap:10px}.why article{padding:20px}.why h3{font-size:30px}.trust b{font-size:35px}footer{display:block;line-height:2;padding:24px 20px}.hero h1{font-size:52px}}/* Ecommerce-ready catalogue refinement: preserve every product pack and product name. */
.product-grid {
  grid-template-columns: repeat(auto-fit, minmax(235px, 1fr));
  gap: 22px;
}
.product-grid article {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto auto;
  padding: 12px;
  min-height: 0;
  border: 1px solid rgba(42, 39, 36, 0.07);
  border-radius: 5px;
  box-shadow: 0 12px 28px rgba(80, 65, 45, 0.09);
}
.product-grid img {
  grid-column: 1 / -1;
  aspect-ratio: 4 / 4.3;
  object-fit: contain;
  background: #f3eee7;
  padding: 10px;
  border-radius: 2px;
}
.product-grid b { margin: 16px 3px 4px; font-size: 25px; }
.product-grid span { align-self: end; margin: 16px 3px 4px; color: var(--green); font-size: 12px; font-weight: 600; }
.product-grid a {
  grid-column: 1 / -1;
  margin: 15px 3px 3px;
  padding-top: 13px;
  border-top: 1px solid rgba(42, 39, 36, 0.1);
  letter-spacing: 0.08em;
}
.product-grid article:hover { box-shadow: 0 23px 42px rgba(80, 65, 45, 0.16); }
@media (max-width: 700px) { .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; } .product-grid article { padding: 8px; } .product-grid img { padding: 4px; } .product-grid b { font-size: 20px; } .product-grid a { font-size: 8px; } }

/* Store pages: shop, product, cart, checkout, payment, confirmation */
header.solid { position: static; background: var(--ivory); color: var(--ink); border-bottom: 1px solid #e7e0d5; }
header.solid .tools, header.solid nav a { color: var(--ink); }
.cart-link { display: inline-flex; align-items: center; gap: 6px; }
.cart-count { display: inline-grid; place-content: center; min-width: 18px; height: 18px; border-radius: 50%; background: var(--green); color: #fff; font-size: 10px; padding: 0 4px; }

.page-hero { padding-top: 50px; padding-bottom: 20px; }
.page-hero h1 { font-size: clamp(40px, 5vw, 64px); }

.store-links { display: flex; gap: 6px; font-size: 11px; color: var(--brown); margin-bottom: 30px; }
.store-links a { color: var(--green); }

/* Product detail */
.product-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
.pd-image { aspect-ratio: 4/4.3; background: var(--beige); overflow: hidden; border-radius: 4px; }
.pd-image img { width: 100%; height: 100%; object-fit: contain; padding: 20px; }
.pd-info h1 { font-size: clamp(38px, 4vw, 56px); margin: 10px 0; }
.pd-price { font: 500 26px var(--serif); color: var(--green); margin: 0 0 20px; }
.pd-info > p:not(.eyebrow):not(.pd-price) { color: var(--brown); max-width: 420px; margin-bottom: 26px; }
.pd-qty { display: inline-flex; align-items: center; gap: 16px; border: 1px solid #e0d8ca; padding: 8px 18px; margin-bottom: 18px; }
.pd-qty button { background: none; border: none; font-size: 16px; cursor: pointer; color: var(--ink); }
.product-detail .button, .product-detail .plain { display: block; margin: 14px 0 0; width: fit-content; }

/* Cart */
.cart-page { padding-top: 60px; max-width: 760px; }
.cart-row { display: grid; grid-template-columns: 64px 1fr auto auto auto; align-items: center; gap: 16px; padding: 16px 0; border-bottom: 1px solid #eee3d5; }
.cart-row img { width: 64px; height: 64px; object-fit: contain; background: var(--beige); border-radius: 3px; padding: 6px; }
.cart-row-info b { display: block; font: 500 18px var(--serif); }
.cart-row-info span { font-size: 11px; color: var(--brown); }
.cart-row-qty { display: inline-flex; align-items: center; gap: 10px; }
.cart-row-qty button { background: none; border: 1px solid #e0d8ca; width: 24px; height: 24px; cursor: pointer; }
.cart-row-total { font: 600 14px var(--sans); color: var(--green); }
.cart-row-remove { background: none; border: none; font-size: 18px; color: var(--brown); cursor: pointer; }
.cart-summary { display: flex; justify-content: space-between; align-items: center; padding: 22px 0; font: 14px var(--sans); border-top: 1px solid #eee3d5; margin-top: 10px; }
.cart-summary b { color: var(--green); font: 600 20px var(--sans); }
#cartEmpty { color: var(--brown); padding: 30px 0; }
.button.disabled { opacity: .4; pointer-events: none; }

/* Checkout / payment / order-confirmed */
.checkout-layout { display: grid; grid-template-columns: 1.3fr 1fr; gap: 60px; padding-top: 60px; align-items: start; }
.checkout-form label { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--brown); margin: 16px 0 6px; }
.checkout-form input { width: 100%; border: 1px solid #e0d8ca; background: #fff; padding: 12px 14px; font: 14px var(--sans); color: var(--ink); }
.checkout-form input:focus { outline: 1px solid var(--green); }
.order-summary-box { background: var(--beige); padding: 26px; }
.order-summary-box h3 { font: 500 20px var(--serif); margin: 0 0 16px; }
.co-row { display: flex; justify-content: space-between; padding: 8px 0; font-size: 13px; color: var(--brown); }
.co-total { border-top: 1px solid #ddd2bf; margin-top: 8px; padding-top: 14px; font: 600 16px var(--sans); color: var(--green); }

.payment-page { padding-top: 60px; max-width: 480px; }
.pay-options { display: grid; gap: 12px; margin: 26px 0; }
.pay-option { display: flex; align-items: center; gap: 12px; border: 1px solid #e0d8ca; padding: 14px 16px; cursor: pointer; }
.pay-option input { accent-color: var(--green); }
.pay-total { display: flex; justify-content: space-between; align-items: center; font: 14px var(--sans); border-top: 1px solid #eee3d5; padding-top: 18px; margin-top: 6px; }
.pay-total b { color: var(--green); font: 600 22px var(--sans); }

.confirmed-page { padding-top: 70px; max-width: 560px; text-align: center; margin: 0 auto; }
.confirmed-icon { width: 64px; height: 64px; border-radius: 50%; background: var(--green); color: #fff; display: grid; place-content: center; font-size: 28px; margin: 0 auto 24px; }
.confirmed-page .order-summary-box { text-align: left; margin-top: 30px; }
.confirmed-actions { display: flex; gap: 20px; justify-content: center; margin-top: 30px; }

@media (max-width: 700px) {
  .product-detail, .checkout-layout { grid-template-columns: 1fr; gap: 34px; }
  .cart-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 10px; padding: 14px 0; }
  .cart-row img { flex: 0 0 48px; width: 48px; height: 48px; }
  .cart-row-info { flex: 1 1 calc(100% - 60px); min-width: 0; }
  .cart-row-qty { flex: 0 0 auto; order: 1; }
  .cart-row-total { flex: 0 0 auto; order: 2; }
  .cart-row-remove { flex: 0 0 auto; order: 3; padding: 4px 8px; }
  .cart-row-qty button { width: 30px; height: 30px; }
  .confirmed-actions { flex-direction: column; align-items: center; gap: 14px; }
  .order-summary-box { padding: 20px; }
  .pd-qty button { width: 28px; height: 28px; }
  .hero-mark { display: none; }
}
