:root{
  --paper:#faf5ec; --card:#fffdf7; --ink:#4a3f35; --muted:#8c7f72;
  --terra:#d96c47; --teal:#2f8f83; --mustard:#e3a92e; --tape:rgba(227,169,46,.35);
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Nunito',sans-serif;background:var(--paper);color:var(--ink);
  background-image:radial-gradient(rgba(74,63,53,.05) 1px,transparent 1px);background-size:22px 22px}
.hand{font-family:'Caveat',cursive}
a{color:var(--terra)}
h1,h2,h3{line-height:1.2}

/* header */
.site-header{display:flex;align-items:center;justify-content:space-between;padding:2px 5vw;gap:16px;flex-wrap:nowrap;min-height:56px}
.logo{display:flex;align-items:center;text-decoration:none;color:var(--ink)}
.logo-image{display:block;width:auto;height:48px}
.main-nav{display:flex;gap:18px;flex-wrap:wrap}
.main-nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:15px;border-bottom:2px dashed transparent;padding-bottom:2px}
.main-nav a:hover{border-color:var(--terra);color:var(--terra)}
.header-right{display:flex;align-items:center;gap:18px}
.lang-switch a{padding:5px 10px;font-size:13px;color:var(--muted);font-weight:700;text-decoration:none}
.lang-switch a.on{color:var(--terra);border-bottom:2px solid var(--terra)}
.cart-link{text-decoration:none;font-weight:700;font-size:17px;color:var(--ink)}
.cart-link span{background:var(--terra);color:#fff;border-radius:999px;padding:2px 9px;font-size:13px}

/* hero */
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;padding:50px 6vw 70px;max-width:1280px;margin:0 auto}
.stamp{display:inline-block;font-family:'Caveat',cursive;font-size:22px;color:var(--teal);transform:rotate(-2deg);border:2px dashed var(--teal);border-radius:12px;padding:4px 18px;margin-bottom:22px}
.big-stamp{font-size:44px;border-color:var(--terra);margin:30px 0 10px}
.hero h1{font-size:clamp(34px,4.4vw,54px);font-weight:700}
.hero h1 span{color:var(--terra);position:relative}
.hero h1 span::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:10px;background:var(--tape);z-index:-1;transform:rotate(-1deg)}
.hero p{margin:20px 0 28px;font-size:17px;color:var(--muted);line-height:1.7;max-width:50ch}
.note{font-family:'Caveat',cursive;font-size:20px;color:var(--muted);margin-top:24px}
.note b{color:var(--terra)}

/* buttons */
.btn{display:inline-block;padding:14px 32px;border-radius:14px;font-size:16px;font-weight:700;text-decoration:none;font-family:'Nunito',sans-serif;border:0;cursor:pointer}
.btn-main{background:var(--terra);color:#fff;box-shadow:3px 3px 0 var(--ink)}
.btn-main:hover{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}
.btn:focus-visible,.main-nav a:focus-visible,.lang-switch a:focus-visible,.cart-link:focus-visible,.details-link:focus-visible{outline:3px solid var(--mustard);outline-offset:3px}
.btn-line{color:var(--teal);border:2px solid var(--teal);background:transparent;margin-left:0}
.btn-cart{background:var(--teal);color:#fff;box-shadow:3px 3px 0 var(--ink)}
.btn-cart:hover{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}
.btn-neutral{background:#fff;color:var(--terra);border:2px solid var(--terra);box-shadow:none}
.btn-neutral:hover{background:rgba(217,108,71,.06)}
.btn.mini{padding:9px 20px;font-size:14px}
.btn.big{width:100%;padding:17px;font-size:17px;margin-top:20px}
.link-btn{background:none;border:0;color:var(--muted);cursor:pointer;font-size:16px}
.link-btn:hover{color:var(--terra)}

/* polaroids */
.polaroids{display:flex;flex-wrap:wrap;gap:24px;justify-content:center}
.pol{background:#fff;padding:12px 12px 18px;box-shadow:0 10px 30px rgba(74,63,53,.2);width:230px;position:relative}
.pol.big{width:min(420px,100%);padding-bottom:20px}
.pol img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.pol figcaption{font-family:'Caveat',cursive;font-size:21px;text-align:center;margin-top:10px}
.pol::before{content:"";position:absolute;top:-12px;left:50%;transform:translateX(-50%) rotate(-3deg);width:90px;height:26px;background:var(--tape)}

.scissors{text-align:center;font-size:20px;color:var(--muted);letter-spacing:8px;margin:10px 0;overflow:hidden;white-space:nowrap}

/* compact hero */
.hero.compact{padding:36px 6vw 46px;grid-template-columns:1.15fr .85fr}
.hero-photo{text-align:center}
.hero-photo .pol{width:min(340px,100%)}

/* interactive quest cards */
.buy-card .card-link{text-decoration:none;color:var(--ink);position:relative;display:block}
.buy-card .card-link:hover h3{color:var(--terra)}
.sale-sticker{position:absolute;z-index:3;top:12px;right:10px;display:grid;place-items:center;min-width:68px;height:44px;padding:0 10px;border:2px solid rgba(255,255,255,.85);border-radius:8px;background:var(--terra);color:#fff;font-family:'Caveat',cursive;font-size:25px;font-weight:700;line-height:1;box-shadow:0 5px 14px rgba(74,63,53,.24);transform:rotate(4deg);pointer-events:none}
.product-gallery .sale-sticker{top:22px;right:22px}
.pick-label{font-weight:700;font-size:12.5px;color:var(--muted);margin:14px 0 6px;text-transform:uppercase;letter-spacing:.05em}
.pill.soft span{opacity:.55;background:var(--paper)}
.pill.soft input:checked + span{opacity:1;border-color:var(--terra);background:rgba(217,108,71,.09);color:var(--terra)}
.card-foot{margin-top:16px;border-top:2px dashed rgba(74,63,53,.15);padding-top:14px}
.card-actions{display:flex;align-items:center;gap:14px}
.details-link{font-size:13.5px;font-weight:700}
.btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}
.btn.in-cart{background:var(--teal)}
.shake{animation:shake .35s}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}

/* coupon */
.coupon-form{display:flex;gap:10px;margin:6px 0 22px}
.coupon-form input{flex:1;max-width:260px;padding:11px 14px;border:2px dashed rgba(74,63,53,.3);border-radius:12px;font-family:inherit;font-size:14px;background:var(--card);text-transform:uppercase}
.cart-lower-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:28px;margin:24px 0 28px}
.coupon-area{width:100%;margin:0}
.coupon-area .coupon-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;margin:0}
.coupon-area .coupon-form input{width:100%;max-width:none;min-width:0}
.coupon-area .coupon-form .btn{padding:11px 22px;white-space:nowrap}
.discount-scope-note{color:var(--teal);font-size:12px;font-style:italic;line-height:1.45;margin-top:7px}
.cart-summary>.discount-scope-note{margin:2px 0 7px}
.coupon-scope-row td{padding-top:0!important;color:var(--muted);border-bottom:2px dashed rgba(74,63,53,.15)}
.coupon-scope-row .discount-scope-note{display:block;color:var(--teal);text-align:left;margin:0 0 5px}
.discount-row td{color:var(--teal);font-weight:700}

/* sections */
section{padding:60px 6vw;max-width:1200px;margin:0 auto}
.sec-head{margin-bottom:40px}
.sec-head h2{font-size:32px}
.sec-head p{color:var(--muted);margin-top:8px}
.narrow{max-width:900px}
.center-page{text-align:center}
.center-page .btn{margin-top:26px}

/* product cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:30px}
.card{background:var(--card);border:2px solid rgba(74,63,53,.12);border-radius:6px;padding:16px;position:relative;transition:transform .2s}
.card::before{content:"";position:absolute;top:-10px;left:24px;width:80px;height:24px;background:var(--tape);transform:rotate(-2deg)}
.card:hover{transform:translateY(-5px) rotate(-.4deg)}
.card img{width:100%;aspect-ratio:1.3;object-fit:cover;display:block;border:1px solid rgba(74,63,53,.15)}
.card h3{font-size:21px;margin:18px 0 8px}
.card p{font-size:14px;color:var(--muted);line-height:1.65;margin-bottom:14px}
.meta{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.meta i{font-style:normal;font-size:12px;font-weight:700;padding:4px 11px;border-radius:999px}
.lang-t{background:rgba(47,143,131,.12);color:var(--teal)}
.fmt-t{background:rgba(217,108,71,.12);color:var(--terra)}
.row{display:flex;align-items:center;justify-content:space-between}
.price{font-family:'Caveat',cursive;font-size:27px;font-weight:700}

/* features strip */
.strip{background:var(--card);border-top:2px dashed rgba(74,63,53,.2);border-bottom:2px dashed rgba(74,63,53,.2);max-width:none}
.strip-inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px;max-width:1280px;margin:0 auto}
.st{display:flex;gap:14px}
.st .ic{font-size:28px;background:var(--paper);border:2px solid rgba(74,63,53,.12);border-radius:14px;width:56px;height:56px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.st h4{font-size:16px;margin-bottom:5px}
.st p{font-size:13.5px;color:var(--muted);line-height:1.55}

/* product page */
.pp-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.product-page h1{font-size:34px;margin-bottom:12px}
.lead{color:var(--muted);line-height:1.7;margin-bottom:26px}
.buy-form label{display:block;font-weight:700;font-size:14px;margin:18px 0 8px}
.buy-form label.pill{margin:0}
.pick{display:flex;gap:10px;flex-wrap:wrap}
.purchase-picks{display:block}
.purchase-picks>.pick{display:flex}
.purchase-picks>.format-pick{margin-top:9px}
.selected-price{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-top:13px;padding-top:11px;border-top:1px dashed rgba(74,63,53,.16)}
.selected-price[hidden]{display:none}
.selected-price span{color:var(--muted);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.selected-price strong{font-family:'Caveat',cursive;font-size:25px;color:var(--terra)}
.selected-price del{color:var(--muted);font-size:.72em;font-weight:500;margin-right:4px}
.product-purchase-row{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:18px}
.product-selected-price{max-width:none;margin:0;padding:0;border:0;flex:0 0 auto}
.product-selected-price strong{font-size:34px;line-height:1}
.product-purchase-row .product-add-button{width:min(300px,55%);margin-top:0;padding:15px 24px;text-align:center}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.pill span{display:inline-block;padding:10px 18px;border:2px solid rgba(74,63,53,.2);border-radius:12px;cursor:pointer;font-weight:700;font-size:14px;background:var(--card)}
.pill.wide span{width:100%}
.pill input:checked + span{border-color:var(--terra);background:rgba(217,108,71,.09);color:var(--terra)}
.pill del{color:var(--muted);font-size:.82em;font-weight:500;margin-right:2px}
.pill input:focus-visible + span{outline:3px solid var(--mustard);outline-offset:2px}
.qty{width:90px;padding:10px;border:2px solid rgba(74,63,53,.2);border-radius:12px;font-family:inherit;font-size:16px;background:var(--card)}
.buy-form .btn{margin-top:24px}
.included{margin-top:34px;border:2px dashed rgba(74,63,53,.2);border-radius:14px;padding:18px 20px;background:var(--card)}
.included h4{margin-bottom:6px}
.included p{font-size:14px;color:var(--muted)}
.pp-desc{margin-top:50px;line-height:1.75;max-width:70ch}
.pp-desc p{margin-bottom:14px}
.product-summary{min-width:0}
.glance{margin:24px 0;padding:22px 24px;background:var(--card);border:2px dashed rgba(47,143,131,.3);border-radius:16px}
.glance h2,.detail-section h2{font-size:24px;margin-bottom:14px;text-decoration:underline;text-decoration-style:dotted;text-decoration-color:var(--teal);text-underline-offset:5px}
.glance ul{list-style:none;display:grid;gap:10px}
.glance li{display:flex;align-items:center;gap:10px;font-weight:600}
.glance li span{width:24px;text-align:center}
.product-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:54px}
.detail-section{background:var(--card);border:2px solid rgba(74,63,53,.12);border-radius:16px;padding:26px}
.story-section{grid-column:1/-1}
.rich-text{line-height:1.75}
.rich-text p,.rich-text ul,.rich-text ol{margin-bottom:12px}
.rich-text ul,.rich-text ol{padding-left:22px}
.cart-microcopy{font-size:13px;color:var(--muted);line-height:1.5;margin-top:12px;max-width:48ch}
.form-message{color:#a33d28;font-size:13px;font-weight:700;min-height:20px;margin-top:8px}
.form-message.unavailable{min-height:0;margin:.45rem 0;color:#75554a}
.unavailable-panel{padding:18px;border:1px dashed #c99d83;border-radius:14px;background:#fff9f3}
.unavailable-panel p{margin:.35rem 0 0}
.price del{color:var(--muted);font-size:.75em;font-weight:500;margin-right:4px}
.page-cta{margin-top:26px}
.site-toast{position:fixed;right:24px;bottom:24px;background:var(--ink);color:#fff;padding:14px 20px;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.2);z-index:50;opacity:0;transform:translateY(14px);pointer-events:none;transition:.2s}
.site-toast.show{opacity:1;transform:translateY(0)}

/* cart & checkout */
.cart-page{max-width:1040px}
.cart-list{display:grid;gap:14px;margin:24px 0}
.cart-item{display:grid;grid-template-columns:minmax(280px,1fr) auto minmax(150px,auto) 34px;grid-template-areas:"product qty price remove";align-items:center;gap:22px;padding:16px 18px;border:2px solid rgba(74,63,53,.12);border-radius:14px;background:var(--card)}
.cart-product{grid-area:product;display:flex;align-items:center;gap:15px;min-width:0}
.cart-product-image{flex:0 0 auto}
.cart-product-image img{display:block;width:72px;height:72px;object-fit:cover;border:1px solid rgba(74,63,53,.15);border-radius:7px}
.cart-product-name{display:block;color:var(--ink);font-weight:700;text-decoration:none;line-height:1.25;margin-bottom:5px}
.cart-product-name:hover{color:var(--terra)}
.cart-product small{display:block;color:var(--muted);line-height:1.4}
.qty-stepper{grid-area:qty;display:grid;grid-template-columns:38px 42px 38px;align-items:center;border:2px solid rgba(74,63,53,.16);border-radius:12px;overflow:hidden;background:var(--paper)}
.qty-stepper button{width:38px;height:38px;border:0;background:transparent;color:var(--terra);font:700 23px/1 'Nunito',sans-serif;cursor:pointer}
.qty-stepper button:hover:not(:disabled){background:rgba(217,108,71,.1)}
.qty-stepper button:disabled{color:rgba(74,63,53,.25);cursor:not-allowed}
.qty-stepper output{display:grid;place-items:center;min-width:42px;height:38px;border-left:1px solid rgba(74,63,53,.12);border-right:1px solid rgba(74,63,53,.12);font-weight:700}
.qty-stepper.is-updating{opacity:.55;pointer-events:none}
.qty-fixed{grid-area:qty;display:flex;align-items:center;justify-content:center;gap:8px;min-width:120px;height:42px;padding:0 12px;border:2px solid rgba(74,63,53,.12);border-radius:12px;background:var(--paper);color:var(--muted);font-size:12px;font-weight:700}
.qty-fixed strong{color:var(--ink);font-size:15px}
.cart-line-price{grid-area:price;text-align:right;white-space:nowrap}
.cart-line-price del{color:var(--muted);font-size:13px;margin-right:6px}
.cart-line-price strong{color:var(--terra);font-size:18px}
.cart-line-price>small{display:block;color:var(--teal);font-size:12px;font-weight:700;margin-top:4px}
.cart-remove-form{grid-area:remove}
.cart-remove{display:grid;place-items:center;width:32px;height:32px;padding:6px;border:0;border-radius:50%;background:transparent;color:#c94f3b;line-height:1;cursor:pointer}
.cart-remove svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.cart-remove:hover{background:rgba(217,108,71,.1);color:var(--terra)}
.cart-summary{width:min(430px,100%);margin:20px 0 28px auto;padding:16px 20px;border:2px dashed rgba(74,63,53,.16);border-radius:14px;background:var(--card)}
.cart-lower-grid .cart-summary{grid-column:2;width:100%;margin:0}
.cart-summary-row{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:7px 0}
.cart-summary-row.savings{color:var(--teal)}
.cart-summary-row.total-row{margin-top:7px;padding-top:13px;border-top:1px solid rgba(74,63,53,.15);font-size:19px}
.remove-coupon-form{display:inline}
.cart-table{width:100%;border-collapse:collapse;margin:24px 0}
.cart-table td{padding:14px 10px;border-bottom:2px dashed rgba(74,63,53,.15);vertical-align:middle}
.cart-table small{color:var(--muted)}
.qty-form{display:flex;align-items:center;gap:7px}
.qty-form .qty{width:66px;padding:8px}
.qty-form .btn{white-space:nowrap}
.ct-img img{width:64px;height:64px;object-fit:cover;border:1px solid rgba(74,63,53,.15)}
.ct-price{text-align:right;white-space:nowrap}
.total-row td{border-bottom:0;font-weight:700;font-size:17px}
.cart-actions{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.co-form{margin-top:10px}
.co-form label{display:block;font-weight:700;font-size:14px;margin:18px 0 6px}
.co-form input[type=text],.co-form input[type=email],.co-form input[type=tel],.co-form select{
  width:100%;padding:12px 14px;border:2px solid rgba(74,63,53,.2);border-radius:12px;font-family:inherit;font-size:15px;background:var(--card)}
.co-form .err{border-color:#c0392b}
.err-box{outline:2px solid #c0392b;outline-offset:5px;border-radius:4px}
.field-error{display:block;color:#a33d28;margin-top:8px;font-weight:700}
.hint{color:var(--muted);font-size:13px}
.hint.center{text-align:center;display:block;margin-top:12px}
.co-ship{margin-top:34px;padding-top:24px;border-top:2px dashed rgba(74,63,53,.2)}
.chk{display:flex;gap:10px;align-items:baseline;font-weight:600!important;margin-top:24px!important}
.flash{padding:14px 18px;border-radius:12px;margin:16px 0;font-weight:600}
.flash.warn{background:rgba(217,108,71,.12);border:2px solid var(--terra);color:var(--terra)}
.dl-list{display:flex;flex-direction:column;gap:12px;margin:26px auto;max-width:420px}
.spinner{width:44px;height:44px;margin:6px auto 18px;border-radius:50%;
  border:4px solid rgba(74,63,53,.15);border-top-color:var(--terra);animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* content pages */
.content-page .body{line-height:1.8}
.content-page .body p{margin-bottom:14px}
.content-page h1{margin-bottom:24px}
.about-page .body figure.pol{width:min(460px,100%)!important;max-width:460px!important}

footer.site-footer{text-align:center;padding:46px 6vw;color:var(--muted);font-size:14px}
footer .hand{font-size:22px;color:var(--terra);display:block;margin-bottom:8px}
footer a{color:var(--muted);margin:0 6px}

@media(max-width:900px){
  .hero,.hero.compact,.pp-grid{grid-template-columns:1fr}
  .site-header{flex-wrap:wrap}
  .main-nav{order:3;width:100%}
  .product-details-grid{grid-template-columns:1fr}
  .story-section{grid-column:auto}
}

@media(max-width:600px){
  .site-header{padding:6px 4vw;align-items:flex-start}
  .logo-image{height:40px}
  .main-nav{gap:14px;justify-content:flex-start}
  .header-right{gap:10px}
  section{padding:42px 5vw}
  .hero.compact{padding:28px 5vw 38px;gap:34px}
  .hero-photo .pol{width:min(290px,92%)}
  .cart-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .coupon-form{flex-wrap:wrap}
  .card-actions{gap:10px;flex-wrap:wrap;justify-content:flex-end}
  .site-toast{left:16px;right:16px;bottom:16px;text-align:center}
}

/* v0.3 storefront layout */
.site-header{position:sticky;top:0;z-index:100;background:rgba(250,245,236,.96);border-bottom:1px dashed rgba(74,63,53,.16);backdrop-filter:blur(12px);box-shadow:0 4px 18px rgba(74,63,53,.07)}
.cart-link{display:flex;align-items:center;gap:6px;white-space:nowrap}
.cart-link i{font-style:normal}
.cart-link b{font-size:13px}
.cart-link span.cart-count{margin-left:2px}

.home-hero{display:grid;grid-template-columns:1.08fr .92fr;gap:52px;align-items:center;max-width:1320px;padding-top:54px;padding-bottom:42px}
.home-hero-copy h1{font-size:clamp(38px,5vw,62px);max-width:720px}
.home-hero-copy h1 span{display:block;color:var(--terra)}
.home-hero-copy>p{margin:20px 0 26px;color:var(--muted);font-size:17px;line-height:1.7;max-width:58ch}
.home-eyebrow,.detail-eyebrow{display:block;color:var(--teal);font-size:13px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;margin-bottom:12px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.home-hero-photo{width:min(430px,100%);justify-self:center;transform:rotate(1deg)}
.home-hero-photo{padding-bottom:14px}
.home-facts{display:grid;grid-template-columns:repeat(4,1fr);max-width:1160px;margin:0 auto 28px;background:var(--card);border:2px dashed rgba(74,63,53,.16);border-radius:16px;overflow:hidden}
.home-facts span{text-align:center;padding:15px 10px;font-size:14px;font-weight:700;border-right:1px dashed rgba(74,63,53,.16)}
.home-facts span:last-child{border-right:0}
.home-how,.home-catalogue{max-width:1280px}
.home-how{padding-top:40px;padding-bottom:52px}
.home-catalogue{padding-top:44px}
.section-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}
.section-heading-row h2{font-size:clamp(28px,4vw,40px)}
.section-heading-row p{color:var(--muted);margin-top:7px}
.section-heading-row>a{font-weight:700;text-align:right}
.how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.how-step{display:grid;grid-template-columns:42px 1fr;gap:13px;align-items:start}
.how-step>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--teal);color:#fff;font-weight:700}
.how-step h3,.how-step h4{font-size:18px;margin-bottom:5px}
.how-step p{color:var(--muted);font-size:14px;line-height:1.6}
.prep-note{background:var(--card);border-left:4px solid var(--terra);padding:17px 21px;margin-top:28px;color:var(--muted);line-height:1.6}
.home-catalogue .card{display:flex;flex-direction:column}
.home-catalogue .cards{align-items:stretch}
.home-catalogue .card-description{min-height:0;flex:1 1 auto}
.home-catalogue .card-description p{margin-bottom:5px}
.home-catalogue .card-foot{margin-top:12px}
.home-catalogue .card-selected-price{margin:0;padding:0;border:0}
.home-catalogue .card-selected-price strong{font-size:29px;line-height:1}
.home-catalogue .form-message:empty{display:none}
.purchase-picks>.home-language-pick{display:grid;grid-template-columns:repeat(var(--option-count),minmax(0,1fr));gap:8px;width:100%}
.home-language-pick .pill{display:block;width:100%;min-width:0}
.home-language-pick .pill span{display:block;width:100%;padding-left:6px;padding-right:6px;text-align:center}
.purchase-picks>.home-format-pick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
.home-format-pick.single-format{grid-template-columns:1fr}
.home-format-pick .pill{display:block;width:100%;min-width:0}
.home-format-pick .home-format-option{display:flex;width:100%;min-height:54px;padding:5px 6px;flex-direction:column;align-items:center;justify-content:center;gap:1px;text-align:center;line-height:1.1}
.home-format-name{font-size:14px;font-weight:700}
.home-format-prices{display:block;white-space:nowrap;font-size:13px}
.home-format-prices b{font-size:14px}

/* Wider self-contained product page */
.product-page{max-width:1440px;padding-left:5vw;padding-right:5vw}
.pp-grid{grid-template-columns:minmax(360px,.9fr) minmax(460px,1.1fr);gap:72px}
.product-page h1{font-size:clamp(38px,4.4vw,58px)}
.product-gallery{position:sticky;top:118px;min-width:0}
.product-gallery .pol.big{width:min(560px,100%)}
.product-gallery .pol.big{padding-bottom:12px}
.gallery-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}
.gallery-tabs button{display:flex;align-items:center;gap:9px;padding:8px;border:2px solid rgba(74,63,53,.14);border-radius:10px;background:var(--card);color:var(--ink);font-family:inherit;font-weight:700;text-align:left;cursor:pointer}
.gallery-tabs button[aria-selected=true]{border-color:var(--terra);color:var(--terra)}
.gallery-tabs img{width:48px;height:48px;object-fit:cover;border-radius:6px;flex:0 0 auto}
.gallery-tabs span{font-size:12px;line-height:1.3}
.quick-facts{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:18px 0 28px}
.quick-facts li{background:rgba(47,143,131,.11);color:var(--teal);border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700}
.buy-form{max-width:640px}
.buy-form .pick{gap:9px}
.buy-form .pill.wide span{width:auto}
.product-purchase-picks .format-pick .pill>span{width:225px;text-align:center;white-space:nowrap}
.qty-control label{margin-top:18px}
.product-long-content{margin-top:68px;padding-top:54px;border-top:2px dashed rgba(74,63,53,.14)}
.product-long-content>.story-section{padding:34px}
.product-long-content>.story-section h2,.product-practical>h2{font-size:clamp(28px,3vw,38px);margin-bottom:14px}
.product-practical{padding:52px 0 0;max-width:none}
.product-practical>.lead{max-width:76ch}
.practical-card{background:var(--card);border:2px solid rgba(74,63,53,.11);border-radius:14px;padding:26px}
.practical-card h3{font-size:22px;margin-bottom:13px}
.practical-card ul{padding-left:22px;line-height:1.7}
.practical-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px}
.practical-how{border-top:4px solid var(--teal);margin-top:26px}
.compact-steps{margin-top:20px}
.practical-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}
.practical-columns .practical-card:first-child{border-top:4px solid var(--mustard)}
.practical-columns .practical-card:last-child{border-top:4px solid var(--terra)}
.product-extra{margin-top:18px;padding-top:16px;border-top:1px dashed rgba(74,63,53,.18)}
.product-extra strong{display:block;margin-bottom:8px}
.product-bottom-cta{text-align:center;max-width:none;background:rgba(47,143,131,.09);border:2px dashed rgba(47,143,131,.3);border-radius:16px;margin-top:44px;padding:34px}
.product-bottom-cta h2{font-size:30px}
.product-bottom-cta p{color:var(--muted);margin:8px 0 20px}

/* How it works page */
.how-page{max-width:1240px}
.how-page-head{text-align:center;max-width:820px;margin:0 auto;padding:18px 0 38px}
.how-page-head h1{font-size:clamp(38px,5vw,58px)}
.how-page-head p{color:var(--muted);font-size:17px;line-height:1.7;margin-top:16px}
.how-page-steps{margin:18px 0 50px}
.how-page-steps h2{font-size:20px;margin-bottom:6px}
.how-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.how-info-card{background:var(--card);border:2px solid rgba(74,63,53,.11);border-top:4px solid var(--teal);border-radius:12px;padding:28px}
.how-info-card:nth-child(2){border-top-color:var(--terra)}
.how-info-card h2{font-size:28px;margin-bottom:16px}
.how-info-card ul{padding-left:22px;line-height:1.8}
.format-comparison{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px}
.format-comparison article{background:var(--card);border:2px dashed rgba(74,63,53,.17);border-radius:14px;padding:26px}
.format-comparison h2{font-size:23px;margin-bottom:10px}
.format-comparison p{color:var(--muted);line-height:1.7}
.benefits-section{text-align:center;padding-left:0;padding-right:0}
.benefits-section h2{font-size:34px}
.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:28px}
.benefit-grid article{padding:18px}
.benefit-grid h3{font-size:19px;margin-bottom:7px}
.benefit-grid p{color:var(--muted);line-height:1.6}
.legacy-quest-info{margin-top:12px;border:2px dashed rgba(74,63,53,.16);border-radius:12px;background:var(--card);padding:18px 24px}
.legacy-quest-info summary{font-weight:700;cursor:pointer}
.legacy-quest-info .content-body{margin-top:24px;line-height:1.75}
.how-cta{text-align:center;max-width:none;background:rgba(47,143,131,.09);border:2px dashed rgba(47,143,131,.3);border-radius:16px;margin-top:42px;padding:34px}
.how-cta h2{font-size:31px}.how-cta p{color:var(--muted);margin:8px 0 20px}

/* Clear add-to-cart confirmation */
.cart-confirm{width:min(760px,calc(100% - 32px));margin:auto;border:0;border-radius:18px;padding:0;background:var(--card);color:var(--ink);box-shadow:0 22px 70px rgba(30,22,18,.35)}
.cart-confirm::backdrop{background:rgba(38,30,25,.55);backdrop-filter:blur(3px)}
.cart-confirm-inner{position:relative;padding:32px}
.cart-confirm h2{font-size:30px;margin-bottom:10px}
.cart-confirm p{color:var(--muted);line-height:1.6}
.cart-confirm-selection{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 20px}
.cart-confirm-selection-details{flex:1 1 280px}
.cart-confirm-price{display:flex;align-items:center;gap:8px;white-space:nowrap}
.cart-confirm-price del{color:var(--muted);font-size:14px}
.cart-confirm-price strong{color:var(--terra);font-size:18px}
.cart-confirm-saving{padding:4px 9px;border-radius:999px;background:rgba(47,143,131,.12);color:var(--teal);font-size:12px;font-weight:700}
.cart-confirm-close{position:absolute;right:14px;top:12px;border:0;background:transparent;color:var(--muted);font-size:28px;cursor:pointer}
.cart-confirm-actions{display:grid;grid-template-columns:1.15fr 1fr 1fr;align-items:stretch;gap:10px;margin-top:24px}
.cart-confirm-actions .btn{margin:0;padding:12px 10px;text-align:center;white-space:nowrap;font-size:14px}

/* Legal pages open in an accessible modal, with the page URL kept as fallback. */
.legal-dialog{width:min(820px,calc(100% - 32px));max-height:min(86vh,900px);margin:auto;border:0;border-radius:18px;padding:0;background:var(--card);color:var(--ink);box-shadow:0 22px 70px rgba(30,22,18,.35)}
.legal-dialog::backdrop{background:rgba(38,30,25,.55);backdrop-filter:blur(3px)}
.legal-dialog-inner{position:relative;padding:34px;max-height:86vh;overflow:auto}
.legal-dialog h2{font-size:30px;margin:0 42px 22px 0}
.legal-dialog-x{position:absolute;right:15px;top:11px;border:0;background:transparent;color:var(--muted);font-size:30px;cursor:pointer}
.legal-dialog-body{line-height:1.75}
.legal-dialog-body p,.legal-dialog-body ul,.legal-dialog-body ol{margin-bottom:14px}
.legal-dialog-body ul,.legal-dialog-body ol{padding-left:24px}
.legal-dialog-actions{display:flex;justify-content:flex-end;padding-top:22px;margin-top:22px;border-top:1px dashed rgba(74,63,53,.18)}

@media(max-width:1050px){
  .pp-grid{grid-template-columns:1fr 1fr;gap:40px}
  .product-gallery{position:static}
}
@media(max-width:900px){
  .home-hero,.pp-grid{grid-template-columns:1fr}
  .home-hero-photo{order:-1;width:min(380px,90%)}
  .product-gallery .pol.big{margin:auto}
  .how-steps,.benefit-grid{grid-template-columns:1fr}
  .home-catalogue .card>p{min-height:0}
  .practical-columns,.how-info-grid,.format-comparison{grid-template-columns:1fr}
}
@media(max-width:700px){
  .home-facts{grid-template-columns:1fr 1fr;margin-left:5vw;margin-right:5vw}
  .home-facts span:nth-child(2){border-right:0}
  .section-heading-row{display:block}
  .section-heading-row>a{display:inline-block;margin-top:12px;text-align:left}
  .gallery-tabs{grid-template-columns:1fr}
  .compact-steps{grid-template-columns:1fr}
  .cart-page{padding-left:16px;padding-right:16px}
  .cart-item{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"product remove" "qty price";gap:16px 12px;padding:14px}
  .cart-product{align-items:flex-start}
  .cart-product-image img{width:62px;height:62px}
  .cart-remove-form{align-self:start}
  .cart-line-price{align-self:center}
  .cart-summary{margin-top:18px}
  .cart-lower-grid{grid-template-columns:1fr;gap:14px;margin-top:18px}
  .cart-lower-grid .cart-summary{grid-column:auto;margin:0}
  .cart-actions{display:grid;grid-template-columns:1fr}
  .cart-actions .btn{text-align:center}
}
@media(max-width:600px){
  .site-header{padding:6px 4vw;align-items:center}
  .site-header .main-nav{order:3;gap:11px}
  .site-header .main-nav a{font-size:13px}
  .lang-switch a{padding:4px 6px}
  .cart-link b{display:none}
  .home-hero{padding-top:30px}
  .home-facts{grid-template-columns:1fr}
  .home-facts span{border-right:0;border-bottom:1px dashed rgba(74,63,53,.16)}
  .home-facts span:last-child{border-bottom:0}
  .product-page{padding-left:5vw;padding-right:5vw}
  .product-long-content{margin-top:44px;padding-top:38px}
  .practical-heading{display:block}.practical-heading a{display:inline-block;margin-top:8px}
  .cart-confirm-inner{padding:28px 22px}
  .cart-confirm-selection{align-items:flex-start;flex-direction:column;gap:7px}
  .cart-confirm-price{flex-wrap:wrap}
  .cart-confirm-actions{display:grid;grid-template-columns:1fr}.cart-confirm-actions .btn{text-align:center;width:100%}
  .legal-dialog-inner{padding:28px 22px}
  .qty-form{align-items:stretch;flex-direction:column}
}
