:root{
  --pink:#F2A8BE;
  --pink-deep:#D6597C;
  --pink-pale:#FBE5EC;
  --pink-pale-2:#F6D3DE;
  --white:#FFFFFF;
  --ink:#3A2530;
  --ink-soft:#8A6E77;
  --line:rgba(214,89,124,0.16);
  --gold:#E7B96B;

  /* ---------- TYPOGRAPHY SYSTEM ---------- */
  --font-display:'Cormorant Garamond', 'Iowan Old Style', Georgia, 'Times New Roman', serif;
  --font-sans:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

  /* Display scale — Cormorant Garamond. Fluid between mobile and desktop. */
  --fs-hero:clamp(2.5rem, 1.35rem + 5.1vw, 5rem);          /* 40 → 80 */
  --fs-display-1:clamp(2.25rem, 1.5rem + 3.4vw, 3.75rem);  /* 36 → 60 */
  --fs-display-2:clamp(2.125rem, 1.4rem + 3.2vw, 3.5rem);  /* 34 → 56 */
  --fs-display-3:clamp(2rem, 1.35rem + 2.9vw, 3.25rem);    /* 32 → 52 */
  --fs-display-4:clamp(1.875rem, 1.3rem + 2.6vw, 3rem);    /* 30 → 48 */

  /* Text scale — Inter */
  --fs-lead:1.0625rem;    /* 17 */
  --fs-body:0.9375rem;    /* 15 */
  --fs-body-sm:0.875rem;  /* 14 */
  --fs-caption:0.8125rem; /* 13 */
  --fs-micro:0.75rem;     /* 12 */
  --fs-nano:0.6875rem;    /* 11 */

  /* Tracking */
  --ls-display:-0.02em;
  --ls-display-sm:-0.005em;
  --ls-eyebrow:0.26em;
  --ls-nav:0.1em;
  --ls-button:0.14em;
  --ls-label:0.12em;

  /* Leading */
  --lh-display:1.04;
  --lh-title:1.12;
  --lh-lead:1.7;
  --lh-body:1.8;
  --lh-ui:1.5;
}
*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  background:var(--white);
  color:var(--ink);
  font-family:var(--font-sans);
  font-size:var(--fs-body);
  font-weight:400;
  line-height:var(--lh-ui);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  font-optical-sizing:auto;
  font-synthesis-weight:none;
  font-kerning:normal;
}
::selection{ background:var(--pink); color:var(--white); }
img{ display:block; max-width:100%; }

.reveal-on-scroll{ opacity:0; transform:translateY(28px); transition:opacity 0.8s cubic-bezier(.22,.61,.36,1), transform 0.8s cubic-bezier(.22,.61,.36,1); }
.reveal-on-scroll.visible{ opacity:1; transform:translateY(0); }

/* ---------- HEADER ---------- */
header{
  position:fixed;
  top:0; left:0; right:0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:26px 56px;
  z-index:100;
  transition:background 0.35s ease, padding 0.35s ease, box-shadow 0.35s ease;
}
header.scrolled{
  background:rgba(255,255,255,0.88);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  padding:16px 56px;
  box-shadow:0 4px 30px rgba(214,89,124,0.08);
}
.logo{
  font-family:var(--font-display);
  font-size:1.375rem;
  font-weight:700;
  letter-spacing:0.08em;
  line-height:1;
  color:var(--white);
  transition:color 0.35s ease;
  z-index:2;
}
header.scrolled .logo{ color:var(--pink-deep); }
nav{ display:flex; align-items:center; }
nav a{
  color:var(--white);
  text-decoration:none;
  font-size:var(--fs-caption);
  font-weight:500;
  letter-spacing:var(--ls-nav);
  text-transform:uppercase;
  margin-left:38px;
  opacity:0.9;
  position:relative;
  transition:color 0.35s ease, opacity 0.2s ease;
}
nav a::after{
  content:''; position:absolute; left:0; bottom:-6px; width:0; height:1px; background:currentColor;
  transition:width 0.3s ease;
}
nav a:hover::after{ width:100%; }
header.scrolled nav a{ color:var(--ink); }
.nav-cart{
  margin-left:38px;
  width:40px; height:40px;
  border-radius:50%;
  border:1.5px solid rgba(255,255,255,0.6);
  display:flex; align-items:center; justify-content:center;
  color:var(--white);
  transition:all 0.35s ease;
  cursor:pointer;
}
.nav-cart svg{ width:17px; height:17px; }
header.scrolled .nav-cart{ border-color:var(--line); color:var(--pink-deep); }
.burger{
  display:none;
  width:26px; height:18px; position:relative;
  cursor:pointer; z-index:2;
}
.burger span{
  position:absolute; left:0; width:100%; height:2px;
  background:var(--white); transition:all 0.3s ease;
}
header.scrolled .burger span{ background:var(--ink); }
.burger span:nth-child(1){ top:0; }
.burger span:nth-child(2){ top:8px; }
.burger span:nth-child(3){ top:16px; }

.mobile-menu{
  position:fixed; inset:0; background:var(--pink-deep);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:28px; z-index:90;
  transform:translateY(-100%); transition:transform 0.45s ease;
}
.mobile-menu.open{ transform:translateY(0); }
.mobile-menu a{
  color:var(--white); text-decoration:none; font-family:var(--font-display);
  font-size:2rem;
  font-weight:600;
  letter-spacing:var(--ls-display-sm);
  line-height:var(--lh-title);
}

/* ---------- HERO ---------- */
.hero{
  min-height:100vh;
  position:relative;
  display:flex;
  align-items:center;
  padding:150px 56px 60px;
  overflow:hidden;
  background:var(--pink-deep);
}
.hero-grid{
  max-width:1320px; margin:0 auto; width:100%;
  display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center;
}
.hero-content{ position:relative; z-index:2; max-width:520px; text-align:left; }
.hero-eyebrow{
  font-size:var(--fs-micro);
  font-weight:500;
  letter-spacing:0.3em;
  line-height:1.4;
  text-transform:uppercase;
  color:var(--white);
  opacity:0.85;
  margin-bottom:24px;
}
.hero-title{
  font-family:var(--font-display);
  font-size:var(--fs-hero);
  font-weight:700;
  letter-spacing:var(--ls-display);
  color:var(--white);
  line-height:var(--lh-display);
  text-wrap:balance;
}
.hero-sub{
  margin:24px 0 0;
  font-size:var(--fs-lead);
  font-weight:400;
  letter-spacing:0.005em;
  color:var(--white);
  opacity:0.88;
  max-width:440px;
  line-height:var(--lh-lead);
  text-wrap:pretty;
}
.hero-ctas{ margin-top:38px; display:flex; gap:16px; justify-content:flex-start; flex-wrap:wrap; }
.btn{
  display:inline-block;
  padding:15px 36px;
  background:var(--pink-deep);
  color:var(--white);
  text-decoration:none;
  font-size:var(--fs-micro);
  font-weight:600;
  letter-spacing:var(--ls-button);
  line-height:1;
  text-transform:uppercase;
  border-radius:999px;
  border:1px solid var(--pink-deep);
  transition:background 0.3s ease, color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}
.btn:hover{ transform:translateY(-2px); box-shadow:0 16px 30px rgba(214,89,124,0.3); }
.btn-ghost{ background:transparent; border-color:rgba(255,255,255,0.7); }
.btn-ghost:hover{ background:rgba(255,255,255,0.14); }
.hero-ctas .btn{ background:var(--white); color:var(--pink-deep); border-color:var(--white); }
.hero-ctas .btn:hover{ background:var(--ink); color:var(--white); border-color:var(--ink); }
.hero-ctas .btn-ghost{ background:transparent; border-color:rgba(255,255,255,0.7); color:var(--white); }
.hero-ctas .btn-ghost:hover{ background:rgba(255,255,255,0.14); }
.hero-badges{
  margin-top:52px; display:flex; gap:34px; justify-content:flex-start; flex-wrap:wrap;
}
.hero-badge{
  font-size:var(--fs-nano); font-weight:500; letter-spacing:var(--ls-label); text-transform:uppercase; color:rgba(255,255,255,0.75);
  display:flex; align-items:center; gap:8px;
}
.hero-badge svg{ width:15px; height:15px; }
.hero-content .hero-badge{ color:rgba(255,255,255,0.8); }
.hero-content .hero-badge svg{ stroke:var(--white); }

.hero-showcase{
  position:relative; z-index:2; height:560px;
  display:flex; align-items:flex-end; justify-content:center;
}
.hero-sun{
  position:absolute; bottom:-140px; left:50%; transform:translateX(-50%);
  width:640px; height:640px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,0.32) 0%, rgba(231,185,107,0.22) 45%, rgba(255,255,255,0) 72%);
  filter:blur(6px);
  z-index:0;
}
.hero-product{ position:absolute; bottom:30px; left:50%; }
.hero-product-inner{ position:relative; width:100%; height:100%; animation:heroFloat 4.6s ease-in-out infinite; }
.hero-product-inner img{
  width:100%; height:100%; object-fit:contain; display:block;
  filter:drop-shadow(0 24px 36px rgba(58,37,48,0.3));
}
.hero-product.hp-main{ width:190px; height:210px; transform:translateX(-50%); z-index:3; bottom:50px; }
.hero-product.hp-side{ z-index:2; opacity:0.96; bottom:20px; }
.hero-product.hp-left{ width:120px; height:344px; transform:translateX(-118%) rotate(-14deg); }
.hero-product.hp-right{ width:88px; height:464px; transform:translateX(24%) rotate(14deg); }
.hero-product.hp-left .hero-product-inner{ animation-delay:-1.6s; }
.hero-product.hp-right .hero-product-inner{ animation-delay:-3.1s; }
@keyframes heroFloat{
  0%, 100%{ transform:translateY(0) rotate(0deg); }
  50%{ transform:translateY(-14px) rotate(1.6deg); }
}
.hero-product-discount{
  position:absolute; top:-8px; right:2px; z-index:4;
  width:46px; height:46px; border-radius:50%;
  background:var(--white); color:var(--pink-deep);
  font-size:var(--fs-micro); font-weight:700; letter-spacing:0.01em;
  font-variant-numeric:tabular-nums;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 18px rgba(58,37,48,0.32);
}
.hero-product-card{
  position:absolute; left:50%; bottom:-64px; transform:translateX(-50%);
  background:var(--white); border-radius:16px; padding:12px 20px;
  box-shadow:0 16px 32px rgba(58,37,48,0.16);
  white-space:nowrap; text-align:center;
}
.hero-product-name{ font-size:var(--fs-caption); font-weight:600; letter-spacing:-0.005em; color:var(--ink); margin-bottom:4px; }
.hero-product-price{ display:flex; align-items:baseline; gap:8px; justify-content:center; font-variant-numeric:tabular-nums; }
.hero-price-old{ font-size:var(--fs-nano); font-weight:400; color:var(--ink-soft); text-decoration:line-through; }
.hero-price-new{ font-size:var(--fs-body-sm); font-weight:700; letter-spacing:-0.01em; color:var(--pink-deep); }

/* ---------- TRUST BAR ---------- */
.trust-bar{
  background:var(--ink);
  padding:24px 40px;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:32px;
}
.trust-item{
  display:flex; align-items:center; gap:10px;
  color:var(--pink-pale);
  font-size:var(--fs-micro);
  font-weight:500;
  letter-spacing:var(--ls-label);
  text-transform:uppercase;
  white-space:nowrap;
}
.trust-item svg{ width:18px; height:18px; stroke:var(--pink); flex-shrink:0; }
.trust-divider{ width:1px; height:16px; background:rgba(251,229,236,0.18); }

/* ---------- SHOP TEASER (featured products) ---------- */
.shop-teaser{ padding:110px 56px 120px; background:var(--white); }
.shop-teaser-head{ max-width:1320px; margin:0 auto 48px; }
.categories-title{
  font-family:var(--font-display); font-size:var(--fs-display-4); font-weight:600;
  letter-spacing:var(--ls-display-sm); line-height:var(--lh-title); color:var(--ink);
  text-wrap:balance;
}

/* ---------- FEATURES ---------- */
.features{ padding:100px 56px 50px; background:var(--white); text-align:center; }
.section-eyebrow{
  font-size:var(--fs-micro); font-weight:500; letter-spacing:var(--ls-eyebrow); line-height:1.4;
  text-transform:uppercase; color:var(--pink-deep); margin-bottom:16px;
}
.section-title{
  font-family:var(--font-display); font-size:var(--fs-display-2); font-weight:600;
  letter-spacing:var(--ls-display-sm); line-height:var(--lh-title); color:var(--ink); margin-bottom:64px;
  text-wrap:balance;
}
.feature-grid{
  max-width:1120px; margin:0 auto;
  display:grid; grid-template-columns:repeat(4, 1fr); gap:28px;
}
.feature-card{ padding:8px; }
.feature-icon{
  width:66px; height:66px; margin:0 auto 22px;
  border-radius:50%;
  background:var(--pink-pale);
  display:flex; align-items:center; justify-content:center;
}
.feature-icon svg{ width:27px; height:27px; stroke:var(--pink-deep); }
.feature-name{ font-size:var(--fs-body); font-weight:600; letter-spacing:-0.005em; line-height:1.35; color:var(--ink); margin-bottom:8px; }
.feature-desc{ font-size:var(--fs-caption); font-weight:400; line-height:var(--lh-lead); color:var(--ink-soft); text-wrap:pretty; }

/* ---------- STORY / INGREDIENTS ---------- */
.story{
  max-width:1200px; margin:60px auto; padding:60px 56px;
  display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;
}
.story-media{ position:relative; }
.story-img-main{
  width:100%; height:460px; border-radius:22px; object-fit:cover;
  box-shadow:0 40px 70px rgba(58,37,48,0.18);
}
.story-img-float{
  position:absolute; width:150px; height:190px; border-radius:16px; object-fit:cover;
  bottom:-36px; left:-36px; border:6px solid var(--white); box-shadow:0 20px 40px rgba(58,37,48,0.18);
}
.story-text .section-eyebrow, .story-text .section-title{ text-align:left; }
.story-text .section-title{ margin-bottom:22px; }
.story-desc{ font-size:var(--fs-body); font-weight:400; line-height:var(--lh-body); color:var(--ink-soft); margin-bottom:28px; text-wrap:pretty; }
.story-list{ display:flex; flex-direction:column; gap:16px; margin-bottom:30px; }
.story-item{ display:flex; align-items:flex-start; gap:14px; font-size:var(--fs-body-sm); font-weight:400; line-height:1.6; color:var(--ink); }
.story-item svg{ width:20px; height:20px; flex-shrink:0; stroke:var(--pink-deep); margin-top:1px; }

/* ---------- PRODUCTS ---------- */
.product-grid{
  max-width:1320px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:18px;
}
.product-card{
  display:block;
  background:var(--white);
  color:inherit;
  text-decoration:none;
  border-radius:20px;
  padding:0 0 22px;
  text-align:left;
  position:relative;
  overflow:hidden;
  transition:transform 0.4s cubic-bezier(.22,.61,.36,1), box-shadow 0.4s ease;
}
.product-card:hover{ transform:translateY(-8px); box-shadow:0 26px 50px rgba(214,89,124,0.18); }
.product-card:hover .product-photo img{ transform:scale(1.07); }
.product-badge{
  position:absolute; top:16px; left:16px;
  background:var(--pink-deep); color:var(--white);
  font-size:0.625rem; font-weight:600; letter-spacing:var(--ls-label); line-height:1; text-transform:uppercase;
  padding:5px 10px; border-radius:999px; z-index:2;
}
.product-photo{
  width:100%; height:380px; overflow:hidden; margin-bottom:18px; background:var(--white);
  box-sizing:border-box; padding:36px;
}
.product-photo img{
  width:100%; height:100%; object-fit:contain; transition:transform 0.6s cubic-bezier(.22,.61,.36,1);
}
.product-body{ padding:0 16px; }
.product-name{ font-size:var(--fs-body); font-weight:600; letter-spacing:-0.005em; line-height:1.35; color:var(--ink); margin-bottom:6px; }
.product-desc{ font-size:var(--fs-caption); font-weight:400; color:var(--ink-soft); line-height:1.65; margin-bottom:16px; min-height:44px; text-wrap:pretty; }
.product-price{
  display:flex; flex-direction:column; align-items:flex-start; gap:10px;
  font-size:var(--fs-body); font-weight:700; letter-spacing:-0.01em;
  font-variant-numeric:tabular-nums; color:var(--pink-deep);
}
.product-link{
  font-size:var(--fs-nano); font-weight:600; letter-spacing:var(--ls-label); text-transform:uppercase;
  color:var(--white); background:var(--ink); padding:8px 16px; border-radius:999px;
  transition:background 0.3s ease;
}
.product-link:hover{ background:var(--pink-deep); }
.products-more{ text-align:center; margin-top:56px; }
.teaser-viewall-btn{
  display:inline-block; color:var(--pink-deep); text-decoration:none;
  font-size:var(--fs-micro); letter-spacing:var(--ls-button); text-transform:uppercase; font-weight:600; line-height:1;
  padding:15px 40px; border-radius:999px; border:1.5px solid var(--pink-deep);
  transition:background 0.3s ease, color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}
.teaser-viewall-btn:hover{
  background:var(--pink-deep); color:var(--white);
  transform:translateY(-2px); box-shadow:0 16px 30px rgba(214,89,124,0.25);
}

/* ---------- MOOD GALLERY ---------- */
.gallery{ padding:130px 56px; text-align:center; }
.gallery-grid{
  max-width:1200px; margin:0 auto; display:grid;
  grid-template-columns:repeat(4, 1fr); gap:20px;
}
.gallery-grid img{
  width:100%; aspect-ratio:3/4; object-fit:cover; object-position:center top;
  border-radius:18px; display:block;
}

/* ---------- TESTIMONIALS ---------- */
.testimonials{ padding:20px 56px 130px; text-align:center; }
.testimonial-grid{
  max-width:1120px; margin:0 auto; display:grid; grid-template-columns:repeat(3, 1fr); gap:28px;
}
.testimonial-card{
  background:var(--pink-pale); border-radius:20px; padding:34px 28px; text-align:left;
}
.stars{ color:var(--gold); font-size:var(--fs-body-sm); letter-spacing:0.18em; line-height:1; margin-bottom:18px; }
.testimonial-text{ font-size:var(--fs-body); font-weight:400; line-height:var(--lh-body); color:var(--ink); margin-bottom:22px; text-wrap:pretty; }
.testimonial-person{ display:flex; align-items:center; gap:12px; }
.avatar{
  width:40px; height:40px; border-radius:50%; background:var(--pink-deep);
  display:flex; align-items:center; justify-content:center; color:var(--white);
  font-family:var(--font-display); font-size:1.125rem; font-weight:600; line-height:1;
}
.person-name{ font-size:var(--fs-caption); font-weight:600; letter-spacing:-0.005em; color:var(--ink); }
.person-role{ font-size:var(--fs-micro); font-weight:400; color:var(--ink-soft); }

/* ---------- STATS ---------- */
.stats{
  background:var(--ink); padding:74px 56px; display:flex; justify-content:center; gap:90px; flex-wrap:wrap; text-align:center;
}
.stat-num{
  font-family:var(--font-display); font-size:clamp(2.25rem, 1.6rem + 2.2vw, 3.25rem); font-weight:600;
  letter-spacing:var(--ls-display-sm); line-height:1; font-variant-numeric:lining-nums;
  color:var(--pink-pale);
}
.stat-label{ font-size:var(--fs-micro); font-weight:500; letter-spacing:var(--ls-label); line-height:1.4; text-transform:uppercase; color:rgba(251,229,236,0.65); margin-top:8px; }

/* ---------- NEWSLETTER / FOOTER ---------- */
footer{ padding:130px 56px 0; text-align:center; background:var(--white); }
.cta-title{
  font-family:var(--font-display); font-size:var(--fs-display-1); font-weight:600;
  letter-spacing:var(--ls-display-sm); line-height:var(--lh-title); color:var(--ink); margin-bottom:36px;
  text-wrap:balance;
}
.cta-btn{ display:inline-block; padding:17px 42px; background:var(--pink-deep); color:var(--white); text-decoration:none; font-size:var(--fs-micro); font-weight:600; letter-spacing:var(--ls-button); line-height:1; text-transform:uppercase; border-radius:999px; transition:background 0.3s ease, transform 0.3s ease; }
.cta-btn:hover{ background:var(--ink); transform:translateY(-2px); }

.newsletter{
  max-width:460px; margin:46px auto 0; display:flex; gap:10px;
}
.newsletter input{
  flex:1; padding:14px 18px; border-radius:999px; border:1px solid var(--line);
  font-size:var(--fs-body-sm); font-family:var(--font-sans); font-weight:400; color:var(--ink); outline:none;
}
.newsletter input::placeholder{ color:var(--ink-soft); font-weight:400; }
.newsletter input:focus{ border-color:var(--pink-deep); }
.newsletter button{
  padding:14px 26px; border-radius:999px; border:none; background:var(--ink); color:var(--white);
  font-family:var(--font-sans);
  font-size:var(--fs-micro); font-weight:600; letter-spacing:var(--ls-button); line-height:1; text-transform:uppercase; cursor:pointer; transition:background 0.3s ease;
}
.newsletter button:hover{ background:var(--pink-deep); }

.foot-grid{
  max-width:1120px; margin:100px auto 0; display:grid; grid-template-columns:2fr 1fr 1fr 1fr;
  gap:40px; text-align:left; padding-top:60px; border-top:1px solid var(--line);
}
.foot-logo{ font-family:var(--font-display); font-size:1.5rem; font-weight:700; letter-spacing:0.08em; line-height:1; color:var(--ink); margin-bottom:14px; }
.foot-desc{ font-size:var(--fs-caption); font-weight:400; color:var(--ink-soft); line-height:var(--lh-body); max-width:280px; text-wrap:pretty; }
.foot-col-title{ font-size:var(--fs-micro); font-weight:600; letter-spacing:var(--ls-label); text-transform:uppercase; color:var(--ink); margin-bottom:18px; }
.foot-col a{ display:block; font-size:var(--fs-caption); font-weight:400; color:var(--ink-soft); text-decoration:none; margin-bottom:12px; }
.foot-col a:hover{ color:var(--pink-deep); }
.foot-social{ display:flex; gap:12px; margin-top:18px; }
.foot-social a{
  width:36px; height:36px; border-radius:50%; border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; color:var(--ink-soft); text-decoration:none;
  font-size:var(--fs-nano); font-weight:500; letter-spacing:0.06em;
}
.foot-social a:hover{ border-color:var(--pink-deep); color:var(--pink-deep); }
.foot-bottom{
  max-width:1120px; margin:60px auto 0; padding:26px 0; border-top:1px solid var(--line);
  display:flex; justify-content:space-between; font-size:var(--fs-micro); font-weight:400; letter-spacing:0.04em; line-height:1.6; color:var(--ink-soft);
}

@media (max-height: 820px) and (min-width: 901px){
  .hero{ min-height:auto; padding:110px 56px 46px; }
  .hero-showcase{ height:420px; }
  .hero-sun{ width:480px; height:480px; bottom:-100px; }
  .hero-product.hp-main{ width:150px; height:166px; bottom:38px; }
  .hero-product.hp-left{ width:95px; height:272px; }
  .hero-product.hp-right{ width:70px; height:367px; }
  .hero-product-card{ bottom:-58px; }
  .hero-badges{ margin-top:32px; }
}
@media (max-width: 1300px) and (min-width: 901px){
  .product-grid{ grid-template-columns:repeat(3, 1fr); max-width:900px; }
  .product-photo{ height:320px; }
}
@media (max-width: 900px){
  header{ padding:22px 24px; }
  nav, .nav-cart{ display:none; }
  .burger{ display:block; }
  .hero{ padding:120px 24px 50px; }
  .hero-grid{ grid-template-columns:1fr; gap:70px; }
  .hero-content{ max-width:100%; text-align:center; margin:0 auto; }
  .hero-eyebrow{ margin-bottom:16px; }
  .hero-title{ font-size:clamp(2.375rem, 1.5rem + 4.2vw, 3.25rem); letter-spacing:-0.015em; line-height:1.06; }
  .hero-sub{ margin:16px auto 0; font-size:var(--fs-body); line-height:1.65; max-width:320px; text-wrap:balance; }
  .hero-ctas{ margin-top:28px; flex-direction:column; width:100%; max-width:260px; margin-left:auto; margin-right:auto; justify-content:center; }
  .hero-ctas .btn{ width:100%; text-align:center; padding:14px 20px; }
  .hero-badges{ display:none; }
  .hero-showcase{ height:340px; }
  .hero-sun{ width:400px; height:400px; bottom:-90px; }
  .hero-product.hp-main{ width:150px; height:166px; bottom:30px; }
  .hero-product.hp-left{ width:90px; height:258px; }
  .hero-product.hp-right{ width:66px; height:348px; }
  .hero-product-card{ bottom:-56px; padding:9px 14px; }
  .trust-bar{ padding:20px 24px; gap:16px 24px; }
  .trust-item{ font-size:var(--fs-nano); letter-spacing:0.1em; }
  .trust-divider{ display:none; }
  .shop-teaser{ padding:70px 24px 70px; }
  .feature-grid{ grid-template-columns:repeat(2, 1fr); }
  .story{ grid-template-columns:1fr; padding:20px 24px; gap:70px; }
  .story-img-float{ width:120px; height:150px; left:12px; bottom:-30px; }
  .product-grid{ grid-template-columns:repeat(2, 1fr); gap:12px; }
  .product-card{ border-radius:16px; padding-bottom:14px; }
  .product-photo{ height:170px; padding:20px; margin-bottom:10px; }
  .product-badge{ top:10px; left:10px; font-size:0.5625rem; letter-spacing:0.1em; padding:4px 9px; }
  .product-body{ padding:0 10px; }
  .product-name{ font-size:var(--fs-body-sm); line-height:1.3; margin-bottom:4px; }
  .product-desc{
    font-size:var(--fs-micro); line-height:1.5; margin-bottom:10px; min-height:0;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  }
  .product-price{ font-size:var(--fs-body-sm); gap:8px; }
  .product-link{ font-size:0.625rem; letter-spacing:0.1em; padding:7px 13px; }
  .gallery{ padding:80px 24px; }
  .gallery-grid{ grid-template-columns:1fr 1fr; gap:12px; }
  .testimonial-grid{ grid-template-columns:1fr; }
  .stats{ gap:40px; }
  .foot-grid{ grid-template-columns:1fr; text-align:center; }
  .foot-desc{ margin:0 auto; }
  .foot-social{ justify-content:center; }
  .foot-bottom{ flex-direction:column; gap:10px; text-align:center; }
  .newsletter{ flex-direction:column; }
}
