/* ============================================
   Little Smart Kids — 2026 Fresh Design
   ============================================ */

/* ---------- Custom Properties ---------- */
:root {
  --green: #7CB98F;
  --green-hover: #6AA87D;
  --green-light: #EAF4EE;
  --green-ultra-light: #F4F9F6;
  --green-dark: #5A8A6A;
  --orange: #E8734A;
  --orange-hover: #D4634F;
  --orange-light: #FDF3EF;
  --light-red: #E87461;
  --text: #2C3E2D;
  --text-secondary: #6B7B6C;
  --text-muted: #94A395;
  --bg: #FAFBF8;
  --white: #FFFFFF;
  --cream: #F7F4EF;
  --border: #E8EBE8;
  --border-light: #F0F2F0;
  --gold: #D4A853;
  --sale-red: #C0392B;
  --heading: 'Cormorant Garamond', Georgia, serif;
  --body: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --max-w: 1400px;
  --nav-h: 80px;
  --r-sm: 8px;
  --r-md: 16px;
  --r-lg: 24px;
  --r-xl: 32px;
  --r-full: 9999px;
  --shadow-sm: 0 2px 8px rgba(44,62,45,0.06);
  --shadow-md: 0 4px 24px rgba(44,62,45,0.08);
  --shadow-lg: 0 8px 40px rgba(44,62,45,0.10);
  --shadow-xl: 0 16px 64px rgba(44,62,45,0.14);
  --ease: 0.35s cubic-bezier(0.4,0,0.2,1);
  --ease-fast: 0.2s ease;
  --ease-slow: 0.5s cubic-bezier(0.4,0,0.2,1);
}

/* ---------- Reset ---------- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--body);color:var(--text);background:var(--bg);line-height:1.7;overflow-x:hidden}

/* ---------- Floating Watermark Background ---------- */
.watermark-bg{position:relative;overflow:hidden}
.watermark-bg::before{content:'Little Smart Kids  ★  Handmade with Love  ★  Natural Materials  ★  Sensory Play  ★  Little Smart Kids  ★  Handmade with Love  ★  Natural Materials  ★  Sensory Play  ★  Little Smart Kids  ★  Handmade with Love  ★  Natural Materials  ★  Sensory Play  ★  ';position:absolute;top:0;left:0;width:300%;height:100%;font-family:var(--heading);font-size:1.1rem;font-weight:500;font-style:italic;color:rgba(124,185,143,.055);white-space:nowrap;pointer-events:none;z-index:0;display:flex;align-items:center;animation:wmScroll 45s linear infinite;letter-spacing:.05em}
@keyframes wmScroll{0%{transform:translateX(0)}100%{transform:translateX(-33.333%)}}

/* Multi-line watermark for tall sections */
.watermark-bg--multi::before{content:'Little Smart Kids  ★  Handmade with Love  ★  Natural Materials  ★  Sensory Play  ★  Little Smart Kids  ★  Handmade with Love  ★  Natural Materials  ★  Sensory Play  ★  Little Smart Kids  ★  Handmade with Love  ★  Natural Materials  ★  Sensory Play  ★  ';top:15%;font-size:1rem}
.watermark-bg--multi::after{content:'★  For Little Explorers  ★  Baby Safe  ★  100% Cotton  ★  Designed for Development  ★  5.0 Stars  ★  For Little Explorers  ★  Baby Safe  ★  100% Cotton  ★  Designed for Development  ★  5.0 Stars  ★  For Little Explorers  ★  Baby Safe  ★  100% Cotton  ★  Designed for Development  ★  5.0 Stars  ★  ';position:absolute;bottom:15%;left:0;width:300%;font-family:var(--heading);font-size:1rem;font-weight:500;font-style:italic;color:rgba(232,115,74,.04);white-space:nowrap;pointer-events:none;z-index:0;display:flex;align-items:center;animation:wmScroll2 55s linear infinite;letter-spacing:.05em}
@keyframes wmScroll2{0%{transform:translateX(-33.333%)}100%{transform:translateX(0)}}

.watermark-bg>*{position:relative;z-index:1}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color var(--ease-fast)}
ul,ol{list-style:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}

/* ---------- Typography ---------- */
h1,h2,h3,h4,h5{font-family:var(--heading);font-weight:500;line-height:1.2;color:var(--text)}
h1{font-size:clamp(2.5rem,5vw,4rem)}
h2{font-size:clamp(2rem,4vw,3rem)}
h3{font-size:clamp(1.5rem,3vw,2rem)}
h4{font-size:clamp(1.2rem,2vw,1.5rem)}
p{color:var(--text-secondary);line-height:1.8;max-width:70ch}

.label{display:inline-block;font-family:var(--body);font-size:.8rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--green);margin-bottom:1rem}
.subtitle{font-size:1.1rem;color:var(--text-secondary);max-width:600px}
.text-center{text-align:center}
.mx-auto{margin-left:auto;margin-right:auto}

/* ---------- Layout ---------- */
.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 2rem}
.section{padding:6rem 0}
.section--lg{padding:8rem 0}
.section--sm{padding:4rem 0}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 2rem;font-family:var(--body);font-size:.9rem;font-weight:600;letter-spacing:.03em;border-radius:var(--r-full);transition:all var(--ease);white-space:nowrap;border:2px solid transparent}
.btn--green{background:var(--green);color:var(--white)}
.btn--green:hover{background:var(--green-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.btn--orange{background:var(--orange);color:var(--white);border:2px solid var(--orange)}
.btn--orange:hover{background:var(--orange-hover);border-color:var(--orange-hover);transform:translateY(-2px);box-shadow:0 6px 24px rgba(232,115,74,.3)}
.btn--orange-outline{background:transparent;color:var(--orange);border:2px solid var(--orange)}
.btn--orange-outline:hover{background:var(--orange);color:var(--white);transform:translateY(-2px)}
.btn--outline{background:transparent;color:var(--green);border-color:var(--green)}
.btn--outline:hover{background:var(--green);color:var(--white);transform:translateY(-2px)}
.btn--sm{padding:.7rem 1.5rem;font-size:.88rem}
.btn--lg{padding:1.1rem 2.5rem;font-size:1rem}
.btn-group{display:flex;gap:1rem;flex-wrap:wrap}

/* ---------- Navigation ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-h);transition:all .4s ease;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
/* Nav — light on top, slightly darker on scroll */
.nav--top{background:rgba(255,255,255,.95);border-bottom:1px solid var(--border-light);box-shadow:0 1px 4px rgba(0,0,0,.03)}
.nav--solid{background:rgba(244,249,246,.98);border-bottom:1px solid var(--green-light);box-shadow:0 2px 16px rgba(44,62,45,.08)}
.nav__inner{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--max-w);margin:0 auto;padding:0 2rem}
.nav__logo{display:flex;align-items:center;flex-shrink:0}
.nav__logo img{height:55px;width:auto}
.nav__slogan{font-size:.68rem;font-weight:500;font-style:italic;color:var(--green-dark);white-space:nowrap;background:var(--green-light);padding:.3rem .85rem;border-radius:var(--r-full);letter-spacing:.01em}
.nav__links{display:flex;align-items:center;gap:2.75rem}
.nav__link{font-size:1.05rem;font-weight:500;color:var(--text-secondary);position:relative;padding:.25rem 0;transition:color .2s}
.nav__link::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--green);border-radius:1px;transition:width var(--ease)}
.nav__link:hover,.nav__link.active{color:var(--text)}
.nav__link:hover::after,.nav__link.active::after{width:100%}
.nav__cta{display:flex;align-items:center;gap:1rem}
.nav__mobile-toggle{display:none;flex-direction:column;gap:5px;padding:4px;cursor:pointer;z-index:1001}
.nav__mobile-toggle span{display:block;width:24px;height:2px;background:var(--text);border-radius:2px;transition:all var(--ease-fast)}
.nav__mobile-toggle.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.nav__mobile-toggle.open span:nth-child(2){opacity:0}
.nav__mobile-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* ---------- Fullscreen Video Hero ---------- */
.hero-full{position:relative;width:100%;height:100vh;min-height:550px;overflow:hidden;margin-top:var(--nav-h)}
.hero-full__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 70%}
.hero-full__dim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,35,30,.3) 0%,rgba(30,35,30,.45) 40%,rgba(30,35,30,.72) 100%)}
.hero-full__content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:2rem;max-width:860px;margin:0 auto}
.hero-full__chip{display:inline-flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.1);backdrop-filter:blur(10px);padding:.4rem 1.1rem;border-radius:var(--r-full);font-size:.7rem;font-weight:600;color:var(--white);margin-bottom:1.75rem;border:1px solid rgba(255,255,255,.18)}
.hero-full__chip svg{width:13px;height:13px;fill:var(--gold)}
.hero-full__title{font-size:clamp(2.6rem,5.5vw,4.5rem);line-height:1.08;margin-bottom:1.25rem;color:var(--white);font-weight:600;text-shadow:0 2px 24px rgba(0,0,0,.2)}
.hero-full__title em{color:#b8e6b8;font-style:italic}
.hero-full__desc{font-size:1.25rem;color:rgba(255,255,255,.92);max-width:640px;margin-bottom:2.5rem;line-height:1.8;text-shadow:0 2px 12px rgba(0,0,0,.2);font-weight:400;text-align:center}
.hero-full .btn--green{box-shadow:0 4px 16px rgba(124,185,143,.3)}
.hero-full .btn--outline{border-color:rgba(255,255,255,.4);color:var(--white);backdrop-filter:blur(4px);background:rgba(255,255,255,.07)}
.hero-full .btn--outline:hover{background:var(--white);color:var(--text);border-color:var(--white)}
.hero-full__scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.45);font-size:.6rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:.3rem;animation:hFloat 2.5s ease-in-out infinite}
.hero-full__scroll svg{width:18px;height:18px;stroke:currentColor;fill:none}
@keyframes hFloat{0%,100%{transform:translateX(-50%)}50%{transform:translateX(-50%) translateY(-6px)}}

/* ---------- Shop Split Hero ---------- */
.shop-hero{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - var(--nav-h));margin-top:var(--nav-h)}
.shop-hero__text{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,5vw,5rem) clamp(2rem,4vw,4rem);background:var(--bg)}
.shop-hero__chip{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--green-dark);background:var(--green-light);padding:.3rem .85rem;border-radius:var(--r-full);margin-bottom:1.25rem;width:fit-content}
.shop-hero__text h1{font-size:clamp(2.2rem,4vw,3.5rem);margin-bottom:1rem;max-width:450px}
.shop-hero__text p{font-size:.98rem;color:var(--text-secondary);max-width:420px;line-height:1.8}
.shop-hero__video{position:relative;overflow:hidden}
.shop-hero__video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 65%}

/* ---------- Sale Banner ---------- */
.sale-bar{background:linear-gradient(90deg,#b8342a,#d44637,#b8342a);color:#fff;text-align:center;padding:.6rem 1rem;position:fixed;top:var(--nav-h);left:0;right:0;z-index:999;font-size:.82rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:1.25rem;flex-wrap:wrap}
.sale-bar span{font-weight:400}
.sale-bar b{background:rgba(0,0,0,.2);padding:.15rem .45rem;border-radius:4px;font-variant-numeric:tabular-nums;min-width:28px;display:inline-block;text-align:center}
.sale-bar__x{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(255,255,255,.5);font-size:1rem;cursor:pointer;padding:0 .3rem;line-height:1}
.sale-bar__x:hover{color:#fff}
body.has-sale-bar .hero-full{margin-top:calc(var(--nav-h) + 36px)}
body.has-sale-bar .shop-hero{margin-top:calc(var(--nav-h) + 36px)}
body.has-sale-bar .page-hero{padding-top:calc(var(--nav-h) + 36px + clamp(2.5rem,5vw,4rem))}
@media(max-width:768px){
  .sale-bar{font-size:.72rem;gap:.75rem;padding:.5rem .75rem}
  body.has-sale-bar .hero-full{margin-top:calc(var(--nav-h) + 32px)}
  body.has-sale-bar .shop-hero{margin-top:calc(var(--nav-h) + 32px)}
}

/* ---------- Carousel Section ---------- */
.carousel-section{padding:5rem 0;background:var(--bg)}
.carousel{position:relative;width:100%;margin:0 auto;overflow:hidden;border-radius:var(--r-xl);box-shadow:var(--shadow-lg)}
.carousel__track{display:flex;transition:transform .6s cubic-bezier(.4,0,.2,1)}
.carousel__slide{min-width:100%;position:relative}
.carousel__slide img{width:100%;aspect-ratio:4/5;object-fit:contain;background:var(--cream)}
.carousel__arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10;transition:all var(--ease-fast);box-shadow:var(--shadow-sm);border:none;cursor:pointer}
.carousel__arrow:hover{background:var(--white);box-shadow:var(--shadow-md);transform:translateY(-50%) scale(1.05)}
.carousel__arrow--prev{left:1rem}
.carousel__arrow--next{right:1rem}
.carousel__arrow svg{width:20px;height:20px;color:var(--text)}
.carousel__dots{position:absolute;bottom:1.25rem;left:50%;transform:translateX(-50%);display:flex;gap:.5rem;z-index:10}
.carousel__dot{width:10px;height:10px;border-radius:50%;background:rgba(124,185,143,.3);border:none;cursor:pointer;transition:all var(--ease-fast);padding:0}
.carousel__dot.active{background:var(--green);transform:scale(1.3)}

/* ---------- Marquee ---------- */
.marquee{overflow:hidden;background:var(--green);padding:.8rem 0;white-space:nowrap}
.marquee__track{display:flex;animation:marq 35s linear infinite}
.marquee__item{display:flex;align-items:center;gap:.35rem;padding:0 1.75rem;font-size:.78rem;font-weight:600;color:var(--white);flex-shrink:0}
.marquee__item svg{width:15px;height:15px;stroke:var(--white);fill:none;stroke-width:2}
.marquee__sep{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.35);flex-shrink:0}
@keyframes marq{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ---------- Trust Strip ---------- */
.trust{background:var(--white);border-bottom:1px solid var(--border-light);padding:2rem 0}
.trust__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.trust__item{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.5rem}
.trust__icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--green-light);border-radius:var(--r-md);color:var(--green);flex-shrink:0}
.trust__icon svg{width:24px;height:24px}
.trust__text h4{font-family:var(--body);font-size:.9rem;font-weight:700;margin-bottom:.15rem}
.trust__text p{font-size:.8rem;color:var(--text-muted);line-height:1.4}

/* ---------- Product Cards ---------- */
.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:2rem}
.product-card{background:var(--white);border-radius:var(--r-lg);overflow:hidden;transition:all var(--ease);cursor:pointer;border:1px solid var(--border-light)}
.product-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent}
.product-card__image{position:relative;overflow:hidden;aspect-ratio:1;background:var(--cream)}
.product-card__image img{width:100%;height:100%;object-fit:cover;transition:transform var(--ease-slow)}
.product-card:hover .product-card__image img{transform:scale(1.06)}
.product-card__badge{position:absolute;top:1rem;left:1rem;padding:.35rem .85rem;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-radius:var(--r-full);color:var(--white);z-index:2}
.product-card__badge--bestseller{background:var(--green)}
.product-card__badge--new{background:var(--orange)}
.product-card__badge--holiday,.product-card__badge--seasonal{background:var(--gold)}
.product-card__badge--gift{background:#B07BAC}
.product-card__badge--sale{background:var(--sale-red)}
.product-card__quick-view{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%) translateY(20px);opacity:0;padding:.65rem 1.5rem;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-radius:var(--r-full);font-size:.8rem;font-weight:600;color:var(--text);transition:all var(--ease);z-index:2;white-space:nowrap;border:none;cursor:pointer}
.product-card:hover .product-card__quick-view{opacity:1;transform:translateX(-50%) translateY(0)}
.product-card__info{padding:1.5rem}
.product-card__category{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--green);margin-bottom:.5rem}
.product-card__title{font-family:var(--heading);font-size:1.25rem;font-weight:500;line-height:1.3;margin-bottom:.5rem;color:var(--text)}
.product-card__description{font-size:.85rem;color:var(--text-muted);line-height:1.6;margin-bottom:1.25rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-card__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.product-card__price{display:flex;align-items:baseline;gap:.5rem}
.product-card__price-current{font-family:var(--heading);font-size:1.4rem;font-weight:600;color:var(--text)}
.product-card__price-old{font-size:.9rem;color:var(--text-muted);text-decoration:line-through}
.product-card__price--sale .product-card__price-current{color:var(--sale-red)}

/* ---------- Modal (product detail — Etsy style) ---------- */
.modal-overlay{position:fixed;inset:0;background:rgba(44,62,45,.4);backdrop-filter:blur(8px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:2rem;opacity:0;visibility:hidden;transition:all var(--ease)}
.modal-overlay.active{opacity:1;visibility:visible}
.modal{background:var(--white);border-radius:var(--r-xl);max-width:1000px;width:100%;max-height:90vh;overflow-y:auto;transform:scale(.95) translateY(20px);transition:transform var(--ease);position:relative}
.modal-overlay.active .modal{transform:scale(1) translateY(0)}
.modal__close{position:absolute;top:1.25rem;right:1.25rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg);border-radius:50%;z-index:10;transition:all var(--ease-fast)}
.modal__close:hover{background:var(--border);transform:rotate(90deg)}
.modal__close svg{width:18px;height:18px}
.modal__grid{display:grid;grid-template-columns:1fr 1fr}
.modal__gallery{position:relative;overflow:hidden;border-radius:var(--r-xl) 0 0 var(--r-xl);background:var(--cream);min-height:400px}
.modal__gallery img{width:100%;height:100%;object-fit:contain;position:absolute;inset:0;opacity:0;transition:opacity var(--ease);padding:.5rem}
.modal__gallery img.active{opacity:1}
.modal__gallery-arrows{position:absolute;top:50%;left:0;right:0;display:flex;justify-content:space-between;padding:0 .75rem;transform:translateY(-50%);pointer-events:none;z-index:5}
.modal__gallery-arrow{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;pointer-events:all;transition:all var(--ease-fast);box-shadow:var(--shadow-sm)}
.modal__gallery-arrow:hover{background:var(--white);box-shadow:var(--shadow-md)}
.modal__gallery-arrow svg{width:16px;height:16px;color:var(--text)}
.modal__gallery-counter{position:absolute;top:1rem;right:1rem;background:rgba(0,0,0,.45);color:white;padding:.25rem .7rem;border-radius:var(--r-full);font-size:.75rem;font-weight:600;z-index:5}
.modal__gallery-nav{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);display:flex;gap:.4rem;z-index:5}
.modal__gallery-dot{width:8px;height:8px;border-radius:50%;background:rgba(0,0,0,.2);border:none;cursor:pointer;transition:all var(--ease-fast);padding:0}
.modal__gallery-dot.active{background:var(--green);transform:scale(1.3)}
.modal__content{padding:2.5rem;display:flex;flex-direction:column;justify-content:center;overflow-y:auto}
.modal__category{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin-bottom:.75rem}
.modal__title{font-size:1.7rem;margin-bottom:.4rem}
.modal__subtitle{font-size:.95rem;color:var(--text-muted);margin-bottom:1.25rem}
.modal__price{display:flex;align-items:baseline;gap:.75rem;margin-bottom:1.25rem}
.modal__price-current{font-family:var(--heading);font-size:1.8rem;font-weight:600;color:var(--text)}
.modal__price-old{font-size:1rem;color:var(--text-muted);text-decoration:line-through}
.modal__price--sale .modal__price-current{color:var(--sale-red)}
.modal__description{font-size:.9rem;line-height:1.8;margin-bottom:1.25rem;color:var(--text-secondary)}
.modal__features{margin-bottom:1.5rem}
.modal__features li{display:flex;align-items:flex-start;gap:.6rem;padding:.3rem 0;font-size:.85rem;color:var(--text-secondary)}
.modal__features li svg{width:16px;height:16px;color:var(--green);flex-shrink:0;margin-top:3px}
.modal__meta{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1.5rem;padding:1rem;background:var(--green-ultra-light);border-radius:var(--r-md)}
.modal__meta-item{font-size:.8rem}
.modal__meta-label{font-weight:600;color:var(--text);display:block}
.modal__meta-value{color:var(--text-secondary)}

/* ---------- Filters ---------- */
.filters{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap;margin-bottom:3rem}
.filter-btn{padding:.6rem 1.5rem;font-size:.875rem;font-weight:500;color:var(--text-secondary);background:var(--white);border:1px solid var(--border);border-radius:var(--r-full);transition:all var(--ease-fast);cursor:pointer}
.filter-btn:hover{color:var(--text);border-color:var(--green)}
.filter-btn.active{background:var(--green);color:var(--white);border-color:var(--green)}

/* ---------- Story Section ---------- */
.story{padding:6rem 0;background:var(--cream)}
.story__grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.story__photos{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.story__photo{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-md)}
.story__photo img{width:100%;height:100%;object-fit:cover}
.story__photo--hero{grid-column:1/-1;aspect-ratio:3/2}
.story__photo--small{aspect-ratio:4/3}
.story__content h2{margin-bottom:1.5rem}
.story__content p{font-size:1.05rem;line-height:1.9;margin-bottom:1.25rem}
.story__signature{font-family:var(--heading);font-size:1.4rem;font-style:italic;color:var(--green);margin-top:.5rem;margin-bottom:1.5rem}

/* ---------- Craftsmanship Section ---------- */
.craft{padding:6rem 0;background:var(--text);color:var(--white);position:relative;overflow:hidden}
.craft::before{content:'';position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--green),var(--orange),var(--green))}
.craft__header{text-align:center;margin-bottom:4rem;max-width:680px;margin-left:auto;margin-right:auto}
.craft__header .label{color:var(--green-light)}
.craft__header h2{color:var(--white);margin-bottom:1rem}
.craft__header p{color:rgba(255,255,255,.65);font-size:1.05rem;line-height:1.8}

/* Process timeline */
.craft__timeline{display:grid;gap:5rem}
.craft__step{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,4rem);align-items:center}
.craft__step:nth-child(even){direction:rtl}
.craft__step:nth-child(even)>*{direction:ltr}
.craft__step-media{border-radius:var(--r-lg);overflow:hidden;position:relative;aspect-ratio:4/3;box-shadow:0 8px 40px rgba(0,0,0,.3)}
.craft__step-media video{width:100%;height:100%;object-fit:cover}
.craft__step-num{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--green);color:var(--white);font-size:.85rem;font-weight:700;margin-bottom:1rem;font-family:var(--body)}
.craft__step-content h3{color:var(--white);margin-bottom:.75rem;font-size:clamp(1.3rem,2.5vw,1.8rem)}
.craft__step-content p{color:rgba(255,255,255,.6);font-size:.95rem;line-height:1.85}
.craft__step-content p+p{margin-top:.75rem}

/* Founder quote */
.craft__quote{margin-top:5rem;text-align:center;max-width:700px;margin-left:auto;margin-right:auto;padding:3rem 2rem;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
.craft__quote blockquote{font-family:var(--heading);font-size:clamp(1.2rem,2.5vw,1.6rem);font-style:italic;color:rgba(255,255,255,.85);line-height:1.7;margin-bottom:1.5rem}
.craft__quote cite{font-style:normal;font-size:.9rem;color:var(--green-light);font-weight:500;display:block}
.craft__quote cite span{display:block;font-size:.78rem;color:rgba(255,255,255,.4);margin-top:.2rem;font-weight:400}

/* Stats row */
.craft__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:4rem}
.craft__stat{text-align:center;padding:1.5rem 1rem;border-radius:var(--r-md);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.craft__stat-num{font-family:var(--heading);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:600;color:var(--green-light);line-height:1}
.craft__stat-label{font-size:.75rem;color:rgba(255,255,255,.45);margin-top:.35rem}

@media(max-width:1024px){
  .craft__step{grid-template-columns:1fr;gap:2rem}
  .craft__step:nth-child(even){direction:ltr}
  .craft__stats{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .craft{padding:4rem 0}
  .craft__timeline{gap:3.5rem}
  .craft__stats{grid-template-columns:1fr 1fr;gap:1rem}
  .craft__quote{padding:2rem 1rem}
}

/* ---------- Values ---------- */
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.value-card{padding:2.5rem 2rem;background:var(--white);border-radius:var(--r-lg);text-align:center;transition:all var(--ease);border:1px solid var(--border-light)}
.value-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:transparent}
.value-card__icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;background:var(--green-light);border-radius:var(--r-md);color:var(--green)}
.value-card__icon svg{width:28px;height:28px}
.value-card h4{font-family:var(--body);font-size:1.05rem;font-weight:700;margin-bottom:.75rem}
.value-card p{font-size:.9rem;color:var(--text-muted);margin:0 auto;line-height:1.7}

/* ---------- Testimonials ---------- */
.testimonials__header{text-align:center;margin-bottom:3.5rem}
.testimonials__rating{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem}
.testimonials__stars{display:flex;gap:.15rem;color:var(--gold)}
.testimonials__stars svg{width:22px;height:22px}
.testimonials__score{font-family:var(--heading);font-size:1.5rem;font-weight:600;color:var(--text);margin-left:.25rem}
.testimonials__count{font-size:.85rem;color:var(--text-muted)}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.testimonial-card{background:var(--white);padding:2.25rem;border-radius:var(--r-lg);border:1px solid var(--border-light);transition:all var(--ease)}
.testimonial-card:hover{box-shadow:var(--shadow-md);border-color:transparent}
.testimonial-card__stars{display:flex;gap:.1rem;color:var(--gold);margin-bottom:1rem}
.testimonial-card__stars svg{width:16px;height:16px}
.testimonial-card__text{font-size:.95rem;font-style:italic;color:var(--text-secondary);line-height:1.8;margin-bottom:1.5rem}
.testimonial-card__author{display:flex;align-items:center;gap:.75rem}
.testimonial-card__avatar{width:40px;height:40px;border-radius:50%;background:var(--green-light);display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;color:var(--green)}
.testimonial-card__name{font-weight:600;font-size:.875rem}
.testimonial-card__source{font-size:.75rem;color:var(--text-muted)}

/* ---------- Categories ---------- */
.categories-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.category-card{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;cursor:pointer;display:block}
.category-card img{width:100%;height:100%;object-fit:cover;transition:transform var(--ease-slow)}
.category-card:hover img{transform:scale(1.08)}
.category-card__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(44,62,45,.6) 0%,rgba(44,62,45,.1) 60%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:2rem;transition:background var(--ease)}
.category-card:hover .category-card__overlay{background:linear-gradient(to top,rgba(44,62,45,.7) 0%,rgba(44,62,45,.2) 60%,transparent 100%)}
.category-card__title{font-family:var(--heading);font-size:1.5rem;color:var(--white);margin-bottom:.25rem}
.category-card__count{font-size:.8rem;color:rgba(255,255,255,.8)}

/* ---------- CTA Sections ---------- */
.cta-section{text-align:center;padding:5rem 0;background:linear-gradient(135deg,var(--green-ultra-light),var(--cream))}
.cta-section h2{margin-bottom:1rem}
.cta-section p{margin:0 auto 2rem}

/* ---------- Page Hero (shop, about, blog) ---------- */
.page-hero{padding-top:calc(var(--nav-h) + 4rem);padding-bottom:4rem;text-align:center;background:linear-gradient(135deg,var(--green-ultra-light) 0%,var(--cream) 100%)}
.page-hero h1{margin-bottom:1rem}
.page-hero p{margin:0 auto;max-width:600px}

/* ---------- About Page ---------- */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.about-grid--reverse{direction:rtl}
.about-grid--reverse>*{direction:ltr}
.about-image{border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-md)}
.about-image img{width:100%;aspect-ratio:4/3;object-fit:cover}
.about-content h2{margin-bottom:1.5rem}
.about-content p{margin-bottom:1.5rem;font-size:1.05rem;line-height:1.9}
.about-values-list{display:grid;gap:1rem;margin-top:2rem}
.about-values-list li{display:flex;align-items:flex-start;gap:.75rem;font-size:.95rem;color:var(--text-secondary)}
.about-values-list li svg{width:20px;height:20px;color:var(--green);flex-shrink:0;margin-top:3px}

/* ---------- Contact Cards ---------- */
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.contact-card{text-align:center;padding:2.5rem 2rem;background:var(--white);border-radius:var(--r-lg);border:1px solid var(--border-light);transition:all var(--ease);display:block}
.contact-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:transparent}
.contact-card__icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;background:var(--green-light);border-radius:50%;color:var(--green)}
.contact-card__icon svg{width:24px;height:24px}
.contact-card h4{font-family:var(--body);font-size:1rem;font-weight:700;margin-bottom:.5rem}
.contact-card p{font-size:.9rem;color:var(--text-secondary);margin:0 auto 1rem}
.contact-card span{color:var(--green);font-weight:600;font-size:.9rem}

/* ---------- Blog ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:2rem}
.blog-card{background:var(--white);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border-light);transition:all var(--ease)}
.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:transparent}
.blog-card__image{aspect-ratio:16/9;overflow:hidden}
.blog-card__image img{width:100%;height:100%;object-fit:cover;transition:transform var(--ease-slow)}
.blog-card:hover .blog-card__image img{transform:scale(1.06)}
.blog-card__content{padding:1.75rem}
.blog-card__date{font-size:.8rem;color:var(--text-muted);margin-bottom:.75rem}
.blog-card__title{font-family:var(--heading);font-size:1.3rem;font-weight:500;line-height:1.3;margin-bottom:.75rem;color:var(--text)}
.blog-card__excerpt{font-size:.9rem;color:var(--text-secondary);line-height:1.7;margin-bottom:1.25rem}
.blog-card__link{font-size:.875rem;font-weight:600;color:var(--green);display:inline-flex;align-items:center;gap:.35rem}
.blog-card__link svg{width:16px;height:16px;transition:transform var(--ease-fast)}
.blog-card:hover .blog-card__link svg{transform:translateX(4px)}

/* ---------- Blog Post ---------- */
.blog-post{padding-top:calc(var(--nav-h) + 3rem);max-width:800px;margin:0 auto;padding-left:2rem;padding-right:2rem;padding-bottom:5rem}
.blog-post__back{display:inline-flex;align-items:center;gap:.35rem;font-size:.875rem;font-weight:500;color:var(--green);margin-bottom:2rem}
.blog-post__title{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:1rem}
.blog-post__meta{display:flex;align-items:center;gap:1.5rem;font-size:.85rem;color:var(--text-muted);margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid var(--border-light)}
.blog-post__body h2{font-size:1.6rem;margin-top:2.5rem;margin-bottom:1rem}
.blog-post__body h3{font-size:1.3rem;margin-top:2rem;margin-bottom:.75rem}
.blog-post__body p{font-size:1.05rem;line-height:1.9;margin-bottom:1.5rem;max-width:none}
.blog-post__body ul,.blog-post__body ol{margin-bottom:1.5rem;padding-left:1.5rem}
.blog-post__body li{font-size:1.05rem;line-height:1.8;color:var(--text-secondary);margin-bottom:.5rem;list-style:disc}
.blog-post__body ol li{list-style:decimal}
.blog-post__cta{margin-top:3rem;padding:2.5rem;background:var(--green-ultra-light);border-radius:var(--r-lg);text-align:center}
.blog-post__cta h3{margin-bottom:1rem}
.blog-post__cta p{margin:0 auto 1.5rem;font-size:.95rem}

/* ---------- Footer ---------- */
.footer{background:var(--text);color:rgba(255,255,255,.7);padding:5rem 0 2rem}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer__brand-name{font-family:var(--heading);font-size:1.6rem;font-weight:600;color:var(--white);margin-bottom:.75rem}
.footer__brand p{color:rgba(255,255,255,.6);font-size:.9rem;line-height:1.7;max-width:300px}
.footer h5{font-family:var(--body);font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--white);margin-bottom:1.5rem}
.footer__links li{margin-bottom:.75rem}
.footer__links a{font-size:.9rem;color:rgba(255,255,255,.6);transition:color var(--ease-fast)}
.footer__links a:hover{color:var(--green)}
.footer__social{display:flex;gap:.75rem;margin-top:1.25rem}
.footer__social a{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);border-radius:50%;transition:all var(--ease-fast);color:var(--white);font-size:.9rem;font-weight:700;text-decoration:none}
.footer__social a:hover{background:var(--green);transform:translateY(-2px)}
.footer__social a svg{width:18px;height:18px;color:var(--white)}
.etsy-circle{font-weight:800;font-size:1.05rem}
.etsy-circle:hover{background:var(--green)!important}
.footer__bottom{padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;font-size:.8rem;color:rgba(255,255,255,.4)}
.footer__bottom a{color:rgba(255,255,255,.5)}
.footer__bottom a:hover{color:var(--green)}

/* ---------- Decorated Backgrounds ---------- */
/* Products section — soft clouds + dots */
.sec-products{position:relative;background:linear-gradient(180deg,var(--green-ultra-light) 0%,var(--bg) 100%);overflow:hidden}
.sec-products::before{content:'';position:absolute;top:-60px;left:-100px;width:350px;height:350px;border-radius:50%;background:radial-gradient(circle,rgba(124,185,143,.08) 0%,transparent 70%);pointer-events:none}
.sec-products::after{content:'';position:absolute;bottom:-80px;right:-120px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(232,115,74,.06) 0%,transparent 70%);pointer-events:none}

/* Values section — playful wave top */
.sec-values{position:relative;background:var(--green-ultra-light);overflow:hidden;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 25l3 5 5 1-4 3 1 5-5-3-5 3 1-5-4-3 5-1 3-5z' fill='%237CB98F' fill-opacity='.04'/%3E%3Ccircle cx='70' cy='70' r='2' fill='%23E8734A' fill-opacity='.03'/%3E%3Ccircle cx='85' cy='20' r='1.5' fill='%237CB98F' fill-opacity='.04'/%3E%3C/g%3E%3C/svg%3E")}
.sec-values::before{content:'';position:absolute;top:0;left:0;right:0;height:40px;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 40V15C240 5 480 0 720 8s480 10 720 2V40z' fill='%23FAFBF8'/%3E%3C/svg%3E");background-size:cover;z-index:1}

/* Reviews section — clean with subtle bubbles */
.sec-reviews{position:relative;background:var(--white);overflow:hidden}
.sec-reviews::before{content:'';position:absolute;top:20%;left:5%;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(124,185,143,.05) 0%,transparent 70%);pointer-events:none}
.sec-reviews::after{content:'';position:absolute;bottom:10%;right:8%;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,rgba(232,115,74,.04) 0%,transparent 70%);pointer-events:none}

/* Categories section — warm gradient */
.sec-categories{background:linear-gradient(135deg,var(--bg) 0%,var(--cream) 50%,var(--green-ultra-light) 100%)}

/* Story section — warm textured */
.sec-story{position:relative;background:var(--cream);overflow:hidden;background-image:url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='40' cy='40' r='1.5' fill='%237CB98F' fill-opacity='.035'/%3E%3Ccircle cx='10' cy='10' r='1' fill='%23E8734A' fill-opacity='.025'/%3E%3Ccircle cx='70' cy='15' r='1' fill='%237CB98F' fill-opacity='.03'/%3E%3C/svg%3E")}

/* CTA section — gradient with sparkle */
.sec-cta{background:linear-gradient(135deg,var(--green-ultra-light) 0%,var(--cream) 50%,var(--green-light) 100%);position:relative;overflow:hidden}
.sec-cta::before{content:'';position:absolute;top:50%;left:50%;width:600px;height:600px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(124,185,143,.1) 0%,transparent 60%);pointer-events:none}

/* ---------- Chat Widget ---------- */
.chat-widget{position:fixed;bottom:1.5rem;right:1.5rem;z-index:90;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}

/* Popup bubble */
.chat-bubble{background:var(--white);border-radius:var(--r-lg);padding:1.25rem 1.5rem;box-shadow:0 8px 32px rgba(0,0,0,.12);max-width:300px;transform:translateY(10px) scale(.95);opacity:0;visibility:hidden;transition:all .3s ease;position:relative}
.chat-bubble.show{transform:translateY(0) scale(1);opacity:1;visibility:visible}
.chat-bubble::after{content:'';position:absolute;bottom:-8px;right:24px;width:16px;height:16px;background:var(--white);transform:rotate(45deg);box-shadow:4px 4px 8px rgba(0,0,0,.04)}
.chat-bubble__close{position:absolute;top:.5rem;right:.5rem;background:none;border:none;color:var(--text-muted);font-size:.9rem;cursor:pointer;line-height:1;padding:.2rem}
.chat-bubble__close:hover{color:var(--text)}
.chat-bubble__title{font-family:var(--heading);font-size:1.1rem;font-weight:600;margin-bottom:.35rem;color:var(--text)}
.chat-bubble__text{font-size:.82rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1rem}
.chat-bubble__btns{display:flex;flex-direction:column;gap:.5rem}
.chat-bubble__btn{display:flex;align-items:center;gap:.5rem;width:100%;padding:.65rem 1rem;color:var(--white);border:none;border-radius:var(--r-full);font-family:var(--body);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;justify-content:center}
.chat-bubble__btn:hover{transform:translateY(-1px)}
.chat-bubble__btn svg{width:17px;height:17px;fill:var(--white);flex-shrink:0}
.chat-bubble__btn--ig{background:linear-gradient(135deg,#E4405F,#C13584,#833AB4)}
.chat-bubble__btn--ig:hover{box-shadow:0 4px 16px rgba(193,53,132,.3)}
.chat-bubble__btn--fb{background:#1877F2}
.chat-bubble__btn--fb:hover{box-shadow:0 4px 16px rgba(24,119,242,.3)}
.chat-bubble__online{display:flex;align-items:center;gap:.35rem;font-size:.7rem;color:var(--text-muted);margin-bottom:.75rem}
.chat-bubble__dot{width:7px;height:7px;border-radius:50%;background:#34D399;animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* Main toggle button */
.chat-toggle{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#E4405F,#C13584);color:var(--white);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 20px rgba(193,53,132,.3);transition:all .3s ease}
.chat-toggle:hover{transform:scale(1.08);box-shadow:0 6px 28px rgba(193,53,132,.4)}
.chat-toggle svg{width:26px;height:26px;fill:var(--white);transition:transform .3s}
.chat-toggle.open svg{transform:rotate(90deg)}

/* Notification dot */
.chat-toggle__badge{position:absolute;top:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:#34D399;border:2px solid var(--white);animation:pulse 2s ease-in-out infinite}

@media(max-width:768px){
  .chat-widget{bottom:1rem;right:1rem}
  .chat-bubble{max-width:260px;padding:1rem 1.25rem}
  .chat-toggle{width:50px;height:50px}
}

/* ---------- Animations ---------- */
.fade-in{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}
.fade-in.visible{opacity:1;transform:translateY(0)}
.fade-in-left{opacity:0;transform:translateX(-30px);transition:opacity .7s ease,transform .7s ease}
.fade-in-left.visible{opacity:1;transform:translateX(0)}
.fade-in-right{opacity:0;transform:translateX(30px);transition:opacity .7s ease,transform .7s ease}
.fade-in-right.visible{opacity:1;transform:translateX(0)}
.stagger-children .fade-in:nth-child(1){transition-delay:0s}
.stagger-children .fade-in:nth-child(2){transition-delay:.1s}
.stagger-children .fade-in:nth-child(3){transition-delay:.2s}
.stagger-children .fade-in:nth-child(4){transition-delay:.3s}
.stagger-children .fade-in:nth-child(5){transition-delay:.4s}
.stagger-children .fade-in:nth-child(6){transition-delay:.5s}

/* ---------- Tablet ---------- */
@media(max-width:1024px){
  .carousel__slide img{aspect-ratio:4/5}
  .trust__grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}
  .story__grid{grid-template-columns:1fr;gap:3rem}
  .values-grid{grid-template-columns:repeat(2,1fr)}
  .testimonials-grid{grid-template-columns:1fr 1fr}
  .categories-grid{grid-template-columns:1fr 1fr}
  .footer__grid{grid-template-columns:1fr 1fr;gap:2rem}
  .about-grid{grid-template-columns:1fr;gap:2.5rem}
  .about-grid--reverse{direction:ltr}
  .modal__grid{grid-template-columns:1fr}
  .modal__gallery{border-radius:var(--r-xl) var(--r-xl) 0 0;min-height:300px}
  .contact-grid{grid-template-columns:1fr}
  /* Craft section */
  .craft__step{grid-template-columns:1fr;gap:2rem}
  .craft__step:nth-child(even){direction:ltr}
  .craft__stats{grid-template-columns:repeat(2,1fr)}
}

/* ---------- Mobile ---------- */
@media(max-width:768px){
  :root{--nav-h:60px}
  .section{padding:3.5rem 0}
  .container{padding:0 1rem}

  /* Nav mobile */
  .nav__links{position:fixed;top:0;right:-100%;width:80%;max-width:300px;height:100vh;flex-direction:column;background:var(--white);padding:5rem 1.5rem 2rem;gap:1.25rem;box-shadow:var(--shadow-xl);transition:right var(--ease);z-index:999}
  .nav__links.open{right:0}
  .nav__cta{display:none}
  .nav__mobile-toggle{display:flex}
  .nav__links .nav__link{color:var(--text)!important;font-size:1.1rem}
  .nav__slogan{display:none}

  /* Hero */
  .hero-full{height:75vh;min-height:400px}
  .hero-full__title{font-size:clamp(1.6rem,6.5vw,2.4rem)}
  .hero-full__desc{font-size:.88rem;margin-bottom:2rem}
  .hero-full__scroll{display:none}
  .hero-full__chip{font-size:.65rem;padding:.35rem .85rem;margin-bottom:1.25rem}

  /* Shop hero */
  .shop-hero{grid-template-columns:1fr;min-height:auto}
  .shop-hero__text{text-align:center;align-items:center;padding:2rem 1.25rem}
  .shop-hero__text h1{font-size:clamp(1.6rem,6vw,2.2rem)}
  .shop-hero__text h1,.shop-hero__text p{max-width:none}
  .shop-hero__video{height:45vh;min-height:240px}

  /* Sale banner */
  .sale-bar{font-size:.68rem;gap:.5rem;padding:.45rem .6rem;flex-wrap:nowrap}
  body.has-sale-bar .hero-full{margin-top:calc(var(--nav-h) + 30px)}
  body.has-sale-bar .shop-hero{margin-top:calc(var(--nav-h) + 30px)}
  body.has-sale-bar .page-hero{padding-top:calc(var(--nav-h) + 30px + 2rem)}

  /* Marquee */
  .marquee{padding:.6rem 0}
  .marquee__item{font-size:.68rem;padding:0 1rem}

  /* Trust */
  .trust__grid{grid-template-columns:1fr;gap:.75rem}
  .trust__item{justify-content:flex-start;padding:.65rem .85rem;background:var(--green-ultra-light);border-radius:var(--r-md)}
  .trust__text h4{font-size:.82rem}

  /* Products */
  .products-grid{grid-template-columns:1fr 1fr;gap:.75rem}
  .product-card__info{padding:.85rem}
  .product-card__description{display:none}
  .product-card__title{font-size:.9rem}
  .product-card__price-current{font-size:1rem}
  .product-card__quick-view{display:none}
  .product-card__footer{flex-direction:column;align-items:flex-start;gap:.5rem}
  .product-card__buy,.btn--orange.btn--sm{width:100%;justify-content:center;text-align:center}

  /* Story */
  .story{padding:3.5rem 0}
  .story__grid{grid-template-columns:1fr;gap:2rem}
  .story__photos{grid-template-columns:1fr 1fr;gap:.5rem}
  .story__photo--hero{aspect-ratio:4/3}

  /* Craft section */
  .craft{padding:3.5rem 0}
  .craft__header h2{font-size:clamp(1.4rem,5vw,1.8rem)}
  .craft__timeline{gap:3rem}
  .craft__step{grid-template-columns:1fr;gap:1.5rem}
  .craft__step:nth-child(even){direction:ltr}
  .craft__step-media{aspect-ratio:16/9}
  .craft__stats{grid-template-columns:1fr 1fr;gap:.75rem}
  .craft__stat{padding:1rem .75rem}
  .craft__quote{padding:1.5rem 1rem}
  .craft__quote blockquote{font-size:1rem}

  /* Values */
  .values-grid{grid-template-columns:1fr}
  .value-card{padding:1.5rem 1.25rem}

  /* Reviews */
  .testimonials-grid{grid-template-columns:1fr}

  /* Categories */
  .categories-grid{grid-template-columns:1fr;gap:.75rem}

  /* Footer */
  .footer__grid{grid-template-columns:1fr;gap:1.5rem}
  .footer__bottom{flex-direction:column;gap:.5rem;text-align:center}

  /* Modal */
  .modal{border-radius:var(--r-md);max-height:95vh;margin:.5rem}
  .modal__content{padding:1.25rem}
  .modal__meta{grid-template-columns:1fr}
  .modal__title{font-size:1.2rem}
  .modal__gallery{min-height:250px}

  /* Blog */
  .blog-grid{grid-template-columns:1fr}

  /* Filters */
  .filters{gap:.25rem}
  .filter-btn{padding:.4rem .8rem;font-size:.75rem}

  /* Page hero */
  .page-hero{padding-top:calc(var(--nav-h) + 1.5rem);padding-bottom:2rem}
  .page-hero h1{font-size:clamp(1.5rem,6vw,2rem)}

  /* About */
  .about-grid{grid-template-columns:1fr;gap:2rem}
  .about-grid--reverse{direction:ltr}

  /* Contact */
  .contact-grid{grid-template-columns:1fr}

  /* Blog post */
  .blog-post{padding-top:calc(var(--nav-h) + 1.5rem)}
  .blog-post__body h2{font-size:1.2rem}
  .blog-post__body p{font-size:.92rem}

  /* CTA */
  .cta-section{padding:3rem 0}

  /* Watermark - hide on mobile for cleanliness */
  .watermark-bg::before,.watermark-bg--multi::after{display:none}
}

@media(max-width:480px){
  .products-grid{grid-template-columns:1fr}
  .btn-group{flex-direction:column;align-items:stretch}
  .btn-group .btn{justify-content:center}
  .hero-full__title{font-size:clamp(1.4rem,6vw,2rem)}
  .craft__stats{grid-template-columns:1fr 1fr}
  .story__photos{grid-template-columns:1fr}
  .story__photo--hero{aspect-ratio:3/2}
  .story__photo--small{aspect-ratio:3/2}
}

/* ---------- Utilities ---------- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mobile-only{display:none}
@media(max-width:768px){.desktop-only{display:none}.mobile-only{display:block}}
