:root{
  --bg:#fefdfc;
  --ink:#000000;
  --muted:rgba(0,0,0,.65);
  --sage:#fda402; /* brand accent */
  --honey:#fda402;
  --card:#fff;
  --border:rgba(0,0,0,.12);
  --shadow:0 12px 40px rgba(17,24,39,.08);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: "Montserrat", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
  background:var(--bg);
  color:var(--ink);
  overflow-x:hidden;
  padding-top: calc(var(--header-offset, 150px) + var(--header-safe-gap, 4px) - var(--topbar-hidden-offset, 0px));
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:1160px;margin:0 auto;padding:0 24px}
.glass{background:rgba(255,255,255,.72);backdrop-filter: blur(10px)}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border-radius:999px;padding:12px 18px;font-size:13px;
  border:1px solid var(--border);background:rgba(255,255,255,.6);
  color:#15110a;
  font-weight:800;
  text-align:center;
  transition:transform .15s ease, opacity .15s ease, background .15s ease;
}
.btn:hover{background:#fff;transform:translateY(-1px)}
.btn--primary{border:0;background:var(--sage);color:#fff;box-shadow:var(--shadow)}
.btn--primary:hover{opacity:.96}
.badge{
  display:inline-flex;align-items:center;gap:8px;border-radius:999px;
  padding:8px 14px;font-size:11px;letter-spacing:.25em;text-transform:uppercase;
  border:1px solid var(--border);background:rgba(255,255,255,.7);color:var(--sage)
}
.kicker{
  font-family:"Space Grotesk", "Montserrat", ui-sans-serif, system-ui, sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#7c6750;
}
.serif{font-family: ui-serif, Georgia, "Times New Roman", Times, serif}
.h1{font-size:52px;line-height:1.08;margin:0}
.h2{font-size:38px;line-height:1.15;margin:0}
.lead{color:var(--muted);line-height:1.8;margin:0}
.card{
  border:1px solid var(--border);background:var(--card);
  border-radius:28px;overflow:hidden;box-shadow:0 1px 0 rgba(0,0,0,.02);
  transition:transform .16s ease, box-shadow .16s ease;
}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.grid{display:grid;gap:18px}
.grid-4{grid-template-columns:repeat(4, minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3, minmax(0,1fr))}
.grid-2{grid-template-columns:repeat(2, minmax(0,1fr))}
.section{padding:56px 0}
.section--compact{padding:38px 0}
.pill{
  display:inline-flex;align-items:center;border-radius:999px;
  padding:5px 10px;border:1px solid var(--border);background:rgba(255,255,255,.75);
  font-size:12px;color:var(--muted)
}

header.site-header{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:var(--bg);
  transition:transform .2s ease;
  overflow-x:clip;
}

.announcement-modal{
  position:fixed;
  inset:0;
  z-index:1500;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  pointer-events:none;
}
.announcement-modal[hidden]{display:none !important}
.announcement-modal__card{
  position:relative;
  width:min(760px, calc(100vw - 32px));
  padding:28px 72px 28px 28px;
  border:1px solid rgba(0,0,0,.1);
  background:rgba(255,255,255,.96);
  box-shadow:0 24px 70px rgba(0,0,0,.18);
  pointer-events:auto;
}
.announcement-modal__eyebrow{
  font-size:12px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(0,0,0,.56);
}
.announcement-modal__text{
  margin-top:10px;
  font-size:clamp(22px, 3vw, 40px);
  line-height:1.08;
  font-weight:800;
  color:#111;
}
.announcement-modal__close{
  position:absolute;
  top:16px;
  right:16px;
  width:44px;
  height:44px;
  border:1px solid var(--border);
  background:#fff;
  color:#111;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  pointer-events:auto;
}
.announcement-modal__close:hover{background:#faf7f0}

.topbar{
  border-bottom:1px solid var(--border);
  background:#fef3dc;
}
.topbar-row{padding:8px 0}
.topbar-msg{
  text-align:center;
  font-size:13px;
  color:rgba(31,31,31,.82);
  overflow:hidden;
  white-space:nowrap;
}
.topbar-msg.is-marquee{position:relative}
.topbar-track{
  display:inline-flex;
  align-items:center;
  gap:56px;
  width:max-content;
  min-width:100%;
  animation:kotoTopbarMarquee 18s linear infinite;
}
.topbar-track span{display:inline-block}
.topbar-msg:not(.is-marquee) span{
  display:inline-block;
  max-width:100%;
  white-space:normal;
}
@keyframes kotoTopbarMarquee{
  0%{transform:translateX(0)}
  100%{transform:translateX(calc(-50% - 28px))}
}

.header-main{
  display:flex;
  align-items:center;
  gap:18px;
  padding:10px 0;
  border-bottom:1px solid var(--border);
  background:var(--bg);
  width:100%;
  overflow-x:clip;
}

.search{
  display:flex;align-items:center;gap:10px;
  border:1px solid var(--border);
  background:#fff;
  padding:8px 12px;
  border-radius:999px;
  width:100%;
  max-width:100%;
}
.search input{
  width:100%;
  min-width:0;
  border:0;outline:0;
  font-size:13px;
}
.search button{
  border:0;background:transparent;cursor:pointer;
  color:rgba(31,31,31,.72);
}
.search--header{
  flex:1 1 380px;
  min-width:300px;
  max-width:520px;
  margin-top:12px;
  position:relative;
}
.search-results{position:absolute;left:0;right:0;top:calc(100% + 10px);background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:0 18px 48px rgba(0,0,0,.12);padding:10px;display:grid;gap:6px;z-index:60}
.search-results[hidden]{display:none}
.search-result-item{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:center;padding:8px;border-radius:16px;text-decoration:none;color:inherit}
.search-result-item:hover{background:rgba(253,164,2,.08)}
.search-result-thumb{width:56px;height:56px;border-radius:14px;object-fit:cover;background:#f7f3ee;border:1px solid rgba(0,0,0,.06)}
.search-result-name{font-size:14px;font-weight:800;line-height:1.35}
.search-result-price{margin-top:4px;font-size:12px;color:var(--muted)}
.search-result-empty{padding:12px 10px;font-size:13px;color:var(--muted)}
.media-carousel{margin-top:18px;overflow:hidden;border:1px solid var(--border);background:#fff;position:relative;perspective:1800px;transform-style:preserve-3d;isolation:isolate}
.media-carousel__track{position:relative;width:100%;height:320px;transform-style:preserve-3d}
.media-carousel__slide{position:absolute;inset:0;background:#f7f3ee;opacity:0;visibility:hidden;pointer-events:none;backface-visibility:hidden;transform:translate3d(0, 0, 0) rotateX(0deg) scale(1);transform-origin:center bottom;will-change:transform, opacity, filter, clip-path}
.media-carousel__slide::before,
.media-carousel__slide::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .35s ease}
.media-carousel__slide::before{background:linear-gradient(180deg, rgba(255,255,255,.26) 0%, rgba(255,255,255,.08) 26%, rgba(255,255,255,0) 52%, rgba(16,14,11,.12) 100%);mix-blend-mode:screen}
.media-carousel__slide::after{background:linear-gradient(180deg, rgba(17,15,12,0) 0%, rgba(17,15,12,.06) 40%, rgba(17,15,12,.24) 100%);transform-origin:center bottom}
.media-carousel__slide.is-active{opacity:1;visibility:visible;z-index:2}
.media-carousel__slide.is-ready{
  opacity:1;
  visibility:visible;
  z-index:2;
  transform-origin:center top;
  clip-path:inset(82% 0 0 0);
  filter:brightness(.87) saturate(.9);
  transform:translate3d(0, 7%, 0) rotateX(-88deg) scaleY(.962);
}
.media-carousel__slide.is-entering{opacity:1;visibility:visible;z-index:2;transform-origin:center top;animation:kotoMediaRollIn 1650ms cubic-bezier(.2,.72,.16,1) both}
.media-carousel__slide.is-entering::before,
.media-carousel__slide.is-entering::after,
.media-carousel__slide.is-leaving::before,
.media-carousel__slide.is-leaving::after{opacity:1}
.media-carousel__slide.is-leaving{opacity:1;visibility:visible;z-index:3;transform-origin:center bottom;animation:kotoMediaRollOut 900ms cubic-bezier(.58,.06,.34,1) both}
.media-carousel__media{display:block;width:100%;height:100%;object-fit:cover}
.media-carousel--embedded{margin-top:16px}
.media-carousel--embedded .media-carousel__track{height:240px}
.media-carousel--embedded .media-carousel__media{height:100%}
@keyframes kotoMediaRollOut{
  0%{opacity:1;clip-path:inset(0 0 0 0);filter:brightness(1) saturate(1);transform:translate3d(0, 0, 0) rotateX(0deg) scaleY(1)}
  28%{opacity:1;clip-path:inset(0 0 3% 0);filter:brightness(.99) saturate(.99);transform:translate3d(0, -1%, 0) rotateX(14deg) scaleY(.995)}
  58%{opacity:1;clip-path:inset(0 0 14% 0);filter:brightness(.95) saturate(.96);transform:translate3d(0, -3%, 0) rotateX(44deg) scaleY(.985)}
  82%{opacity:1;clip-path:inset(0 0 58% 0);filter:brightness(.9) saturate(.93);transform:translate3d(0, -5%, 0) rotateX(74deg) scaleY(.97)}
  100%{opacity:1;clip-path:inset(0 0 82% 0);filter:brightness(.86) saturate(.9);transform:translate3d(0, -7%, 0) rotateX(88deg) scaleY(.962)}
}
@keyframes kotoMediaRollIn{
  0%{opacity:1;clip-path:inset(82% 0 0 0);filter:brightness(.87) saturate(.9);transform:translate3d(0, 7%, 0) rotateX(-88deg) scaleY(.962)}
  24%{opacity:1;clip-path:inset(58% 0 0 0);filter:brightness(.92) saturate(.94);transform:translate3d(0, 5%, 0) rotateX(-64deg) scaleY(.974)}
  52%{opacity:1;clip-path:inset(24% 0 0 0);filter:brightness(.97) saturate(.98);transform:translate3d(0, 2.5%, 0) rotateX(-34deg) scaleY(.988)}
  78%{opacity:1;clip-path:inset(3% 0 0 0);filter:brightness(1) saturate(1);transform:translate3d(0, .5%, 0) rotateX(-10deg) scaleY(.997)}
  100%{opacity:1;clip-path:inset(0 0 0 0);filter:brightness(1) saturate(1);transform:translate3d(0, 0, 0) rotateX(0deg) scaleY(1)}
}
.hero-media-carousel{
  position:absolute;
  inset:0;
  overflow:hidden;
  z-index:0;
  perspective:1800px;
  transform-style:preserve-3d;
  isolation:isolate;
}
.hero-media-carousel__track{
  position:relative;
  width:100%;
  height:100%;
  transform-style:preserve-3d;
}
.hero-media-carousel__slide{
  position:absolute;
  inset:0;
  height:100%;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  backface-visibility:hidden;
  transform:translate3d(0, 0, 0) rotateY(0deg) scale(1);
  transform-origin:right center;
  will-change:transform, opacity, filter, clip-path;
  transition:opacity 1.8s ease-in-out, visibility 1.8s ease-in-out;
}
.hero-media-carousel__slide::before,
.hero-media-carousel__slide::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:0;
  transition:opacity .35s ease;
}
.hero-media-carousel__slide::before{
  background:linear-gradient(90deg, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 28%, rgba(0,0,0,.04) 68%, rgba(0,0,0,.22) 100%);
  mix-blend-mode:screen;
}
.hero-media-carousel__slide::after{
  background:linear-gradient(90deg, rgba(19,17,14,.32) 0%, rgba(19,17,14,.12) 16%, rgba(19,17,14,0) 38%);
  transform-origin:left center;
}
.hero-media-carousel__slide.is-active{
  opacity:1;
  visibility:visible;
  z-index:2;
}
.hero-media-carousel__slide.is-entering{
  opacity:1;
  visibility:visible;
  z-index:3;
  transform-origin:left center;
  animation:kotoHeroPagePeelIn 1500ms cubic-bezier(.22,.7,.18,1) both;
}
.hero-media-carousel__slide.is-entering::before,
.hero-media-carousel__slide.is-entering::after,
.hero-media-carousel__slide.is-leaving::before,
.hero-media-carousel__slide.is-leaving::after{
  opacity:1;
}
.hero-media-carousel__slide.is-leaving{
  opacity:1;
  visibility:visible;
  z-index:2;
  transform-origin:right center;
  animation:kotoHeroPagePeelOut 1500ms cubic-bezier(.55,.04,.33,1) both;
}
.hero-media-carousel__media{
  display:block;
  width:100%;
  height:100%;
  object-fit:var(--hero-fit, cover);
  object-position:center center;
}
@keyframes kotoHeroPagePeelOut{
  0%{
    opacity:1;
    clip-path:inset(0 0 0 0);
    filter:brightness(1) saturate(1);
    transform:translate3d(0, 0, 0) rotateY(0deg) scale(1);
  }
  36%{
    opacity:1;
    clip-path:inset(0 2% 0 0);
    filter:brightness(.98) saturate(.98);
    transform:translate3d(-1.5%, 0, 0) rotateY(-14deg) scale(.995);
  }
  72%{
    opacity:.92;
    clip-path:inset(0 16% 0 0);
    filter:brightness(.9) saturate(.94);
    transform:translate3d(-4.5%, 0, 0) rotateY(-52deg) scale(.985);
  }
  100%{
    opacity:0;
    clip-path:inset(0 40% 0 0);
    filter:brightness(.84) saturate(.9);
    transform:translate3d(-8%, 0, 0) rotateY(-72deg) scale(.98);
  }
}
@keyframes kotoHeroPagePeelIn{
  0%{
    opacity:0;
    clip-path:inset(0 0 0 42%);
    filter:brightness(.88) saturate(.92);
    transform:translate3d(7%, 0, 0) rotateY(70deg) scale(.98);
  }
  34%{
    opacity:.95;
    clip-path:inset(0 0 0 14%);
    filter:brightness(.95) saturate(.97);
    transform:translate3d(3.5%, 0, 0) rotateY(28deg) scale(.992);
  }
  72%{
    opacity:1;
    clip-path:inset(0 0 0 3%);
    filter:brightness(1) saturate(1);
    transform:translate3d(.5%, 0, 0) rotateY(7deg) scale(.998);
  }
  100%{
    opacity:1;
    clip-path:inset(0 0 0 0);
    filter:brightness(1) saturate(1);
    transform:translate3d(0, 0, 0) rotateY(0deg) scale(1);
  }
}
.hero-bgvideo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:1;
  object-fit:cover;
  object-position:center center;
}

.logo{
  display:inline-flex;
  align-items:center;
  gap:10px;
  position:relative;
  flex:0 0 auto;
}
.logo--menu{
  justify-self:auto;
}
.logo img{
  display:block;
  height:44px;
  width:auto;
}
.header-right{
  display:flex;
  align-items:center;
  gap:18px;
  flex:1 1 auto;
  min-width:0;
}
.routine-link{
  color:rgba(31,31,31,.78);
  font-size:13px;
  white-space:nowrap;
  flex:0 1 auto;
}
.routine-link:hover{color:var(--sage)}
.iconbar{display:flex;align-items:center;gap:14px;flex:0 0 auto;margin-left:auto}
.iconbtn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  min-width:26px;
  color:rgba(31,31,31,.72);
  text-decoration:none;
}
.iconbtn:hover{color:var(--sage)}
.iconbtn[data-tooltip]{position:relative}
.iconbtn[data-tooltip]::after{
  content:attr(data-tooltip);
  position:absolute;
  top:calc(100% + 8px);
  left:50%;
  transform:translateX(-50%);
  background:#111;
  color:#fff;
  font-size:11px;
  line-height:1;
  padding:7px 9px;
  opacity:0;
  pointer-events:none;
  transition:opacity .15s ease;
  white-space:nowrap;
  z-index:30;
}
.iconbtn[data-tooltip]:hover::after,
.iconbtn[data-tooltip]:focus-visible::after{opacity:1}
.cartpill{
  position:absolute;
  top:-4px;
  right:-9px;
  display:inline-flex;align-items:center;justify-content:center;
  min-width:17px;height:17px;padding:0 4px;
  border-radius:999px;
  background:#f2a900;
  color:#111;
  font-size:10px;
  font-weight:800;
  line-height:1;
  border:2px solid #fff;
  box-shadow:0 4px 10px rgba(0,0,0,.14);
  pointer-events:none;
}
.flag{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:22px;
  border-radius:6px;
  border:1px solid var(--border);
  background:#fff;
  font-size:12px;
  color:rgba(31,31,31,.70);
}

.categorybar{
  background:var(--bg);
  border-bottom:1px solid var(--border);
}
.category-menu-btn{
  display:none;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  padding:0;
  border:0;
  background:transparent;
  color:rgba(31,31,31,.82);
  flex:0 0 auto;
  margin-right:2px;
  cursor:pointer;
}
.category-menu-btn:hover{color:var(--sage)}
.category-drawer{display:none}
.category-drawer__inner{
  display:grid;
  gap:8px;
  padding:12px 14px 14px;
}
.category-drawer__link{
  display:block;
  padding:12px 14px;
  border:1px solid var(--border);
  background:#fff;
  font-size:14px;
  color:rgba(31,31,31,.84);
}
.category-drawer__link.is-active{
  color:var(--sage);
  font-weight:700;
}
.category-row{
  display:flex;
  gap:0;
  align-items:center;
  padding:8px 0;
  overflow:hidden;
  flex-wrap:nowrap;
  justify-content:space-between;
  height:40px;
}
.category-scroll{
  display:flex;
  align-items:center;
  gap:0;
  min-width:0;
  flex:1 1 auto;
}
.cat{
  font-size:13px;
  white-space:nowrap;
  color:rgba(31,31,31,.78);
  padding:5px 10px;
  line-height:1;
}
.cat:hover{color:var(--sage)}
.cat.active{color:var(--sage);font-weight:650}

@media (max-width: 980px){
  .container{padding:0 18px}
  .header-main{
    flex-wrap:wrap;
    gap:12px;
  }
  .logo--menu{
    order:1;
  }
  .search--header{
    order:2;
    flex:1 1 100%;
    min-width:0;
    max-width:none;
  }
  .search-results{
    top:calc(100% + 8px);
  }
  .media-carousel__media{
    height:240px;
  }
  .header-right{
    order:3;
    flex:1 1 100%;
    justify-content:space-between;
    gap:12px;
    align-items:flex-start;
  }
  .routine-link{
    min-width:0;
    white-space:normal;
    line-height:1.4;
    max-width:48%;
  }
  .iconbar{
    margin-left:0;
    gap:12px;
    flex-wrap:wrap;
    justify-content:flex-end;
  }
}

.hero{
  position:relative;overflow:hidden;padding:0;
}
.hero-ad{
  position:fixed;
  inset:0;
  z-index:1400;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(12,10,7,.12);
  pointer-events:none;
}
.hero-ad__dialog{
  position:relative;
  width:min(1080px, calc(100vw - 40px));
  height:min(78vh, 620px);
  background:#000;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 24px 70px rgba(0,0,0,.24);
  pointer-events:auto;
}
.hero-ad__media{position:absolute;inset:0}
.hero-ad__asset{width:100%;height:100%;object-fit:cover;display:block}
.hero-ad__overlay{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  align-items:flex-end;
  padding:28px;
  background:linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.58));
}
.hero-ad__content{max-width:620px;color:#fff;display:grid;gap:12px}
.hero-ad__title{margin:0;font-size:40px;line-height:1.04}
.hero-ad__text{margin:0;font-size:15px;line-height:1.8;color:rgba(255,255,255,.88)}
.hero-ad__close{
    position:absolute;top:14px;right:14px;z-index:2;width:40px;height:40px;
    border:1px solid rgba(255,255,255,.38);background:rgba(0,0,0,.55);
    color:#fff;font-size:28px;line-height:1;cursor:pointer;
    pointer-events:auto;
  }
.hero-ad[hidden]{display:none !important}
.blob{position:absolute;filter:blur(60px);opacity:.9;border-radius:999px;pointer-events:none}
.blob.sage{background:rgba(95,122,106,.18);width:320px;height:320px;left:-90px;top:-90px}
.blob.honey{background:rgba(217,164,65,.20);width:360px;height:360px;right:-90px;bottom:-120px}
.hero-banner{
  position:relative;
  min-height:420px;
  border-top:0;
  background: #fef3dc;
  /* Keep subject (face) on the left so it doesn't get covered by the hero card */
  --hero-x: var(--hero-x, 14%);
  --hero-flip: var(--hero-flip, 1);
  will-change: transform;
}
.hero-bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:var(--hero-fit, cover);object-position:center center;z-index:1;transform: scaleX(var(--hero-flip, 1));transform-origin:center;filter:saturate(0.95) contrast(1.02);}
.hero-banner::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:none;
  will-change: background-position, transform;
}
.hero-banner::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  /* Subtle beige wash like the reference hero */
  background: rgba(253,164,2,0.08);
  pointer-events:none;
}
.hero-overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  z-index:2;
}
.hero-card{
  margin-left:auto;
  width:min(520px, 92vw);
  border-radius:18px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.86);
padding:28px;
  box-shadow:var(--shadow);
}
@keyframes kotoHeroCardRoll{
  0%, 12.5%{
    opacity:1;
    clip-path:inset(0 0 0 0);
    filter:brightness(1) saturate(1);
    transform:translate3d(0, 0, 0);
  }
  20%{
    opacity:1;
    clip-path:inset(0 0 10% 0);
    filter:brightness(.98) saturate(.99);
    transform:translate3d(0, 0, 0);
  }
  27.5%{
    opacity:1;
    clip-path:inset(0 0 34% 0);
    filter:brightness(.96) saturate(.97);
    transform:translate3d(0, 0, 0);
  }
  35%{
    opacity:1;
    clip-path:inset(0 0 68% 0);
    filter:brightness(.9) saturate(.93);
    transform:translate3d(0, 0, 0);
  }
  42.5%{
    opacity:1;
    clip-path:inset(0 0 92% 0);
    filter:brightness(.86) saturate(.9);
    transform:translate3d(0, 0, 0);
  }
  50%, 81.25%{
    opacity:1;
    clip-path:inset(0 0 100% 0);
    filter:brightness(.83) saturate(.88);
    transform:translate3d(0, 0, 0);
  }
  88%{
    opacity:1;
    clip-path:inset(0 0 76% 0);
    filter:brightness(.9) saturate(.93);
    transform:translate3d(0, 0, 0);
  }
  94%{
    opacity:1;
    clip-path:inset(0 0 24% 0);
    filter:brightness(.97) saturate(.98);
    transform:translate3d(0, 0, 0);
  }
  100%{
    opacity:1;
    clip-path:inset(0 0 0 0);
    filter:brightness(1) saturate(1);
    transform:translate3d(0, 0, 0);
  }
}
@keyframes kotoHeroCardRollLip{
  0%, 12.5%{
    opacity:0;
    transform:translate3d(0, 10px, 0) scaleY(.12);
  }
  20%{
    opacity:.24;
    transform:translate3d(0, 2px, 0) scaleY(.26);
  }
  27.5%{
    opacity:.46;
    transform:translate3d(0, -12px, 0) scaleY(.54);
  }
  35%{
    opacity:.74;
    transform:translate3d(0, -34px, 0) scaleY(.9);
  }
  42.5%{
    opacity:.92;
    transform:translate3d(0, -54px, 0) scaleY(1);
  }
  50%, 81.25%{
    opacity:0;
    transform:translate3d(0, -62px, 0) scaleY(.04);
  }
  88%{
    opacity:.7;
    transform:translate3d(0, -40px, 0) scaleY(.88);
  }
  94%{
    opacity:.34;
    transform:translate3d(0, -12px, 0) scaleY(.48);
  }
  100%{
    opacity:0;
    transform:translate3d(0, 10px, 0) scaleY(.12);
  }
}
.tag{
  display:inline-flex;
  align-items:center;
  padding:5px 10px;
  border-radius:6px;
  background:rgba(95,122,106,.12);
  color:rgba(49,79,63,.95);
  font-size:13px;
  font-weight:750;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.hero-title{
  margin:16px 0 0;
  font-size:42px;
  line-height:1.05;
  letter-spacing:-.02em;
}
.hero-sub{
  margin:14px 0 0;
  font-size:16px;
  line-height:1.8;
  color:var(--muted);
}
.hero-cta{margin-top:18px}
.hero--home .hero-banner{
  width:100%;
  min-height:88vh;
  max-height:860px;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 18%, rgba(253,164,2,.16), transparent 28%),
    radial-gradient(circle at 84% 20%, rgba(95,122,106,.12), transparent 24%),
    linear-gradient(135deg, #fffdf8 0%, #f9f2e6 52%, var(--hero-media-bg, #f3eadb) 100%);
}
.hero--home .hero-bgimg{
  width:100%;
  height:100%;
  object-fit:var(--hero-fit, cover);
  object-position:center center;
  background:var(--hero-media-bg, #f6efe4);
}
.hero--home .hero-bgvideo,
.hero--home .hero-media-carousel__media{
  width:100%;
  height:100%;
  object-position:center center;
  background:var(--hero-media-bg, #f6efe4);
}
.hero--home .hero-media-carousel__slide{
  background:
    radial-gradient(circle at 18% 18%, rgba(253,164,2,.1), transparent 28%),
    linear-gradient(135deg, #fffdf8 0%, var(--hero-media-bg, #f6efe4) 100%);
}
.hero--home .hero-bgvideo{
  object-fit:cover;
}
.hero--home .hero-media-carousel__media--image{
  object-fit:var(--hero-fit, cover);
}
.hero--home .hero-media-carousel__media--video{
  object-fit:cover;
}
.hero--home .hero-banner::after{
  background:linear-gradient(0deg, rgba(255,255,255,.08), rgba(255,255,255,.08));
}
.hero--home .hero-card{
  padding:18px;
  width:min(430px, 90vw);
  border-radius:0;
  position:relative;
  overflow:hidden;
  will-change:clip-path, filter;
  animation:kotoHeroCardRoll 16s linear infinite;
}
.hero--home .hero-card::after{
  content:"";
  position:absolute;
  left:-1px;
  right:-1px;
  bottom:0;
  height:10px;
  pointer-events:none;
  opacity:0;
  border-top:1px solid rgba(129,104,66,.18);
  background:
    linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,251,244,.8) 34%, rgba(238,226,205,.96) 100%);
  box-shadow:
    0 -3px 6px rgba(255,255,255,.3) inset,
    0 2px 6px rgba(77,56,24,.16);
  transform-origin:center bottom;
  animation:kotoHeroCardRollLip 16s linear infinite;
}
.hero--home .hero-title{margin:12px 0 0;font-size:38px}
.hero--home .hero-sub{margin:10px 0 0;font-size:15px;line-height:1.65}
.hero--home .hero-cta{margin-top:12px}
.stats{margin-top:20px}
.stats-grid{display:grid;grid-template-columns:repeat(4, minmax(0,1fr));gap:12px;max-width:720px}
.stat{
  border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.72);
  padding:14px;backdrop-filter:blur(10px)
}
.stat .t{font-size:13px;font-weight:700;color:var(--sage)}
.stat .d{margin-top:6px;font-size:12px;color:var(--muted)}

.promises{padding:18px 0 0}
.promises-box{
  border:1px solid var(--border);border-radius:0;padding:18px;
  background:rgba(255,255,255,.72);backdrop-filter: blur(10px)
}
.promise{
  border-radius:0;background:#fff;padding:14px;
  box-shadow:0 2px 10px rgba(17,24,39,.06);font-size:14px
}

.card-img{height:220px;overflow:hidden}
.card-img img{height:100%;width:100%;object-fit:cover;transition:transform .5s ease}
.card:hover .card-img img{transform:scale(1.05)}
.product-media-card{position:sticky;top:18px;align-self:start}
.card-body{padding:18px}
.card-title{font-size:18px;font-weight:650;margin:8px 0 0}
.card-desc{margin:10px 0 0;font-size:13px;line-height:1.6;color:var(--muted)}
.card-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}
.price{font-size:18px;font-weight:800;color:var(--sage)}

.page-head{padding:28px 0 0}
.ingredient-page-head{
  padding-top:14px;
}
.ingredient-page-head .kicker{
  margin-bottom:4px;
}
.ingredient-page-head h1{
  margin-top:4px !important;
  font-size:40px;
  line-height:1.04;
}
.ingredient-page-head > .lead{
  margin-top:6px !important;
  font-size:13px !important;
  line-height:1.55;
  max-width:760px !important;
}
.ingredient-discovery__panel{
  border:1px solid rgba(214,169,84,.22);
  background:
    radial-gradient(circle at top right, rgba(253,164,2,.1), transparent 26%),
    linear-gradient(180deg, rgba(255,252,246,.98), rgba(255,255,255,.98));
  box-shadow:0 18px 36px rgba(37,24,7,.05);
}
.ingredient-discovery__body{
  display:grid;
  gap:9px;
  padding:12px 16px;
}
.ingredient-discovery__header{
  display:grid;
  gap:2px;
}
.ingredient-discovery__intro{
  margin:0;
  max-width:760px;
  font-size:12px;
  line-height:1.42;
  color:rgba(58,46,28,.78);
}
.ingredient-discovery__legend{
  align-items:stretch;
}
.ingredient-discovery__legend-item{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:8px 12px;
  border:1px solid rgba(214,169,84,.24);
  background:linear-gradient(180deg, rgba(255,250,240,.96), rgba(255,255,255,.96));
  font-family:"Space Grotesk", "Montserrat", ui-sans-serif, system-ui, sans-serif;
  font-size:14px;
  font-weight:700;
  color:#d08c00;
  letter-spacing:.01em;
}
.ingredient-discovery__filters{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  flex-wrap:nowrap;
  width:100%;
  overflow-x:visible;
  overflow-y:visible;
  padding-bottom:2px;
  scrollbar-width:thin;
}
.ingredient-discovery__filter{
  flex:1 1 0;
  min-width:0;
  border:1px solid transparent;
  background:rgba(255,255,255,.68);
  color:#3e3324;
  padding:7px 12px;
  border-radius:999px;
  font-size:13px;
  font-weight:600;
  line-height:1.2;
  text-align:center;
  cursor:pointer;
  transition:transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease, color .2s ease;
}
.ingredient-discovery__filter:hover,
.ingredient-discovery__filter[aria-pressed="true"]{
  border-color:rgba(214,169,84,.4);
  background:linear-gradient(180deg, rgba(255,248,230,.98), rgba(255,255,255,.98));
  color:#1f180f;
  box-shadow:0 12px 22px rgba(37,24,7,.08);
  transform:translateY(-1px);
}
.ingredient-search{
  border:1px solid rgba(214,169,84,.18);
  background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,252,246,.9));
  box-shadow:0 12px 24px rgba(37,24,7,.04);
}
.ingredient-search__body{
  padding:14px 20px;
}
.ingredient-search__form{
  display:flex;
  gap:10px;
  align-items:center;
  width:100%;
  flex-wrap:wrap;
}
.ingredient-search__input{
  flex:1;
  min-width:260px;
  height:46px;
  border:1px solid rgba(214,169,84,.24);
  padding:0 16px;
  background:#fff;
  font-size:15px;
  color:#2c2418;
}
.ingredient-search__input::placeholder{
  color:rgba(77,63,45,.62);
}
.ingredient-search__button{
  min-width:136px;
  justify-content:center;
}
.beauty-tips-page{
  display:grid;
  gap:18px;
}
.beauty-tips-page__title{
  margin-top:4px;
  max-width:860px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
  font-size:30px;
  line-height:1.12;
}
.beauty-tips-page__intro{
  margin:0 auto;
  max-width:820px;
  font-size:14px;
  line-height:1.6;
  text-align:center;
  color:rgba(58,46,28,.8);
}
.beauty-tips-highlight{
  width:min(100%, 1180px);
  margin:0 auto;
}
.beauty-tips-highlight__panel{
  border:1px solid rgba(214,169,84,.18);
  border-radius:30px;
  background:
    radial-gradient(circle at 100% 0%, rgba(253,164,2,.12), transparent 22%),
    radial-gradient(circle at 0% 100%, rgba(193,145,73,.1), transparent 24%),
    linear-gradient(180deg, rgba(255,252,246,.98), rgba(255,255,255,.98));
  box-shadow:0 18px 40px rgba(37,24,7,.05);
  overflow:hidden;
}
.beauty-tips-highlight__body{
  display:grid;
  gap:14px;
  padding:18px 22px;
}
.beauty-tips-highlight__head{
  display:grid;
  gap:6px;
  justify-items:center;
  text-align:center;
}
.beauty-tips-highlight__text{
  margin:0;
  max-width:720px;
  font-size:14px;
  line-height:1.55;
  color:rgba(58,46,28,.78);
}
.beauty-tips-highlight__grid,
.beauty-tips-grid{
  gap:16px;
}
.beauty-tips-rows{
  display:grid;
  gap:16px;
}
.beauty-tips-grid{
  display:grid;
  align-items:stretch;
  justify-content:center;
  margin:0 auto;
  width:100%;
}
.beauty-tips-grid--count-3{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}
.beauty-tips-grid--count-2{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  width:min(100%, 780px);
}
.beauty-tips-grid--count-1{
  grid-template-columns:minmax(0, 1fr);
  width:min(100%, 420px);
}
.beauty-tip-feature{
  height:100%;
  border:1px solid rgba(214,169,84,.16);
  border-radius:24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(255,250,243,.98));
  box-shadow:0 18px 34px rgba(37,24,7,.05);
}
.beauty-tip-feature__body{
  display:grid;
  gap:14px;
  padding:22px 22px 20px;
}
.beauty-tip-feature__top,
.beauty-tip-card__meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.beauty-tip-feature__title{
  margin:0;
  font-family:"Space Grotesk", "Montserrat", ui-sans-serif, system-ui, sans-serif;
  font-size:24px;
  line-height:1.18;
  font-weight:800;
  color:#18130d;
}
.beauty-tip-feature__list{
  display:grid;
  gap:12px;
}
.beauty-tip-feature__item{
  position:relative;
  padding:0 0 0 18px;
  font-size:14px;
  line-height:1.7;
  color:rgba(58,46,28,.82);
}
.beauty-tip-feature__item::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:7px;
  height:7px;
  border-radius:999px;
  background:#f0a408;
  box-shadow:0 0 0 4px rgba(240,164,8,.12);
}
.beauty-tip-feature__link{
  border-color:rgba(214,169,84,.26);
  background:rgba(255,255,255,.84);
}
.beauty-tips-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:center;
  width:min(100%, 1080px);
  margin:0 auto;
}
.beauty-tips-links__pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:11px 18px;
  border:1px solid rgba(214,169,84,.2);
  border-radius:999px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,250,243,.98));
  color:#3e3324;
  font-size:14px;
  font-weight:600;
  line-height:1.35;
  text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.beauty-tips-links__pill:hover{
  transform:translateY(-1px);
  border-color:rgba(214,169,84,.34);
  box-shadow:0 12px 24px rgba(37,24,7,.06);
}
.beauty-tip-card{
  height:100%;
  width:100%;
  border:1px solid rgba(214,169,84,.18);
  border-radius:26px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,251,246,.98));
  box-shadow:0 18px 36px rgba(37,24,7,.055);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  overflow:hidden;
}
.beauty-tip-card:hover{
  transform:translateY(-3px);
  border-color:rgba(214,169,84,.34);
  box-shadow:0 22px 36px rgba(37,24,7,.08);
}
.beauty-tip-card__media{
  height:228px;
}
.beauty-tip-card__body{
  display:grid;
  gap:12px;
  padding:20px 20px 22px;
}
.beauty-tip-card__title{
  min-height:66px;
  font-size:22px;
  line-height:1.2;
}
.beauty-tip-card__desc{
  margin:0;
  font-size:14px;
  line-height:1.65;
  color:rgba(58,46,28,.8);
}
.beauty-tips-empty{
  margin-top:4px;
  width:min(100%, 760px);
  margin-left:auto;
  margin-right:auto;
  border-radius:24px;
}
@media (max-width: 1024px){
  .beauty-tips-grid--count-3,
  .beauty-tips-grid--count-2{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    width:100%;
  }
  .beauty-tip-card__title{
    min-height:auto;
  }
}
@media (max-width: 700px){
  .beauty-tips-page{
    gap:18px;
  }
  .beauty-tips-page__title{
    font-size:24px;
    text-align:left;
  }
  .beauty-tips-page__intro{
    text-align:left;
  }
  .beauty-tips-highlight__body{
    padding:16px 16px;
  }
  .beauty-tips-highlight__head{
    justify-items:start;
    text-align:left;
  }
  .beauty-tips-links{
    justify-content:flex-start;
  }
  .beauty-tips-grid--count-3,
  .beauty-tips-grid--count-2,
  .beauty-tips-grid--count-1{
    grid-template-columns:1fr;
    width:100%;
  }
  .beauty-tip-feature__title{
    font-size:21px;
  }
  .beauty-tip-card__media{
    height:210px;
  }
  .beauty-tip-card__body{
    padding:18px 16px 18px;
  }
  .beauty-tip-card__title{
    font-size:20px;
  }
}
.split{display:grid;grid-template-columns: 320px 1fr;gap:22px;margin-top:22px}
.filters{
  height:fit-content;border-radius:28px;border:1px solid var(--border);
  background:rgba(255,255,255,.72);backdrop-filter:blur(10px);padding:18px;
}
.chipbar{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.chip{
  border-radius:999px;border:1px solid var(--border);
  padding:9px 14px;font-size:12px;background:rgba(255,255,255,.6);
  color:var(--muted);cursor:pointer
}
.chip[aria-pressed="true"]{background:var(--sage);color:#fff;border-color:transparent}

footer.site-footer{
  margin-top:56px;
  border-top:1px solid rgba(212,175,55,.22);
  background:#0b0906;
}
.footer-shell{width:100%;padding:10px 0 0}
.footer-hero{
  display:grid;
  grid-template-columns:minmax(280px,1.2fr) minmax(0,1.8fr);
  gap:14px;
  align-items:start;
  padding:14px 18px;
  border-top:1px solid rgba(212,175,55,.16);
  border-bottom:1px solid rgba(212,175,55,.14);
  background:
    radial-gradient(circle at left top, rgba(253,164,2,.26), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01)),
    #0b0906;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.footer-brand-panel{display:grid;gap:8px}
.footer-brand-logo-wrap{
  display:flex;
  align-items:center;
}
.footer-brand-logo{
  display:block;
  width:auto;
  height:38px;
  max-width:220px;
  object-fit:contain;
}
.footer-brand-mark{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:8px 12px;
  background:rgba(212,175,55,.08);
  border:1px solid rgba(212,175,55,.24);
  color:#f2cb6b;
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:800;
}
.footer-brand-heading{
  margin:0;
  font-size:18px;
  line-height:1.15;
  letter-spacing:-.03em;
  max-width:16ch;
  color:#fff;
}
.footer-brand-copy{
  margin:0;
  max-width:44ch;
  color:rgba(255,248,232,.76);
  line-height:1.55;
  font-size:12px;
}
.footer-contact-row{display:flex;flex-wrap:wrap;gap:6px}
.footer-contact-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border:1px solid rgba(212,175,55,.16);
  background:rgba(255,255,255,.02);
  color:rgba(255,248,232,.88);
  font-size:11px;
  text-decoration:none;
  transition:transform .16s ease, background .16s ease, border-color .16s ease;
}
.footer-contact-chip:hover{transform:translateY(-1px);border-color:rgba(242,203,107,.48);background:rgba(212,175,55,.07)}
.footer-contact-chip--accent{background:linear-gradient(180deg, #f2cb6b, #d79b11);color:#18130a;border-color:transparent}
.footer-social-buttons{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:6px;
}
.footer-social-button{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  text-decoration:none;
  border:6px solid rgba(255,255,255,.92);
  box-shadow:0 14px 30px rgba(0,0,0,.2);
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.footer-social-button:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 36px rgba(0,0,0,.26);
  filter:saturate(1.08);
}
.footer-social-button svg{
  width:31px;
  height:31px;
  fill:currentColor;
}
.footer-social-button--facebook{background:#1877f2}
.footer-social-button--tiktok{background:#080808}
.footer-social-button--instagram{background:linear-gradient(135deg,#feda75 0%,#fa7e1e 22%,#d62976 48%,#962fbf 72%,#4f5bd5 100%)}
.footer-social-button--x{background:#858585}
.footer-contact-chip--whatsapp{
  width:48px;
  height:48px;
  padding:0;
  border-radius:50%;
  font-size:0;
  background:#00d000;
  box-shadow:0 14px 30px rgba(37,211,102,.24);
}
.footer-contact-chip--whatsapp svg{
  width:31px;
  height:31px;
  fill:#fff;
}
.whatsapp-floating{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:1200;
  display:grid;
  place-items:center;
  width:76px;
  height:76px;
  border-radius:50%;
  padding:0;
  background:#00d000;
  color:#fff;
  text-decoration:none;
  font-weight:900;
  box-shadow:0 22px 45px rgba(11,91,43,.28);
  border:1px solid rgba(255,255,255,.5);
  transition:transform .18s ease, box-shadow .18s ease;
}
.whatsapp-floating:hover{
  transform:translateY(-3px);
  box-shadow:0 26px 55px rgba(11,91,43,.34);
}
.whatsapp-floating__icon{
  width:100%;
  height:100%;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:transparent;
}
.whatsapp-floating__icon svg{
  width:52px;
  height:52px;
  fill:#fff;
}
.footer-grid{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:14px}
.footer-column{display:grid;gap:8px}
.footer-title{
  font-size:12px;
  font-weight:800;
  margin:0;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(242,203,107,.78);
}
.footer-list{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.footer-link{
  color:rgba(255,248,232,.9);
  text-decoration:none;
  font-size:13px;
  line-height:1.3;
  transition:color .16s ease, transform .16s ease;
}
.footer-link:hover{color:#f2cb6b;transform:translateX(2px)}
.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-top:0;
  padding:10px 16px;
  background:#15110a;
  border-top:1px solid rgba(212,175,55,.14);
}
.footer-bottom-copy,
.footer-bottom-meta{
  color:rgba(245,231,194,.82);
  font-size:11px;
  line-height:1.6;
}
.footer-bottom-meta{display:flex;gap:16px;flex-wrap:wrap}

@media (max-width: 980px){
  .hero-card{margin:0 auto}
  .hero-title{font-size:40px}
  .hero-ad{padding:18px}
  .hero-ad__dialog{width:min(100vw - 24px, 820px);height:min(70vh, 520px)}
  .hero-ad__title{font-size:30px}
  .category-row{
    gap:8px;
    height:auto;
    justify-content:flex-start;
    overflow:hidden;
    padding:10px 0;
  }
  .category-scroll{
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .category-scroll::-webkit-scrollbar{display:none}
  .cat{
    font-size:12px;
    padding:6px 10px;
    flex:0 0 auto;
  }
  .stats-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
  .grid-4{grid-template-columns:repeat(2, minmax(0,1fr))}
  .grid-3{grid-template-columns:repeat(2, minmax(0,1fr))}
  .split{grid-template-columns:1fr}
  .footer-hero{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
  .product-media-card{position:static}
  .home-values-pillars__grid{grid-template-columns:1fr}
}

@media (max-width: 760px){
  .container{padding:0 14px}
  .topbar-row{padding:6px 0}
  .topbar-msg{font-size:12px}
  .header-main{
    display:grid;
    grid-template-columns:auto minmax(0, 1fr) auto;
    align-items:center;
    gap:6px;
    padding:10px 0 8px;
  }
  .logo--menu{
    grid-column:1;
    order:1;
    justify-self:start;
  }
  .logo img{height:42px}
  .search{padding:8px 10px}
  .search input{font-size:12px}
  .search--header{
    grid-column:1 / -1;
    order:3;
    margin:8px auto 0;
    min-width:0;
    width:calc(100% - 38px);
    max-width:440px;
  }
  .header-right{
    grid-column:2 / 4;
    order:2;
    justify-self:stretch;
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    align-items:center;
    min-width:0;
    max-width:none;
    gap:10px;
  }
  .routine-link{
    display:block;
    text-align:center;
    font-size:11px;
    line-height:1.2;
    white-space:normal;
    max-width:none;
    min-width:0;
  }
  .iconbar{
    gap:8px;
    flex-wrap:nowrap;
    justify-content:flex-end;
    width:auto;
    max-width:100%;
    overflow:hidden;
  }
  .iconbar .iconbtn:nth-child(1),
  .iconbar .iconbtn:nth-child(2),
  .iconbar .iconbtn:nth-child(3){
    display:none;
  }
  .iconbtn svg{
    width:18px;
    height:18px;
  }
  .cartpill{
    top:-3px;
    right:-8px;
    min-width:16px;
    height:16px;
    padding:0 4px;
    font-size:9px;
  }
  .flag{
    width:30px;
    height:22px;
    font-size:11px;
    flex:0 0 auto;
  }
  .hero-banner{
    min-height:340px;
  }
  .hero--home .hero-banner{
    min-height:73vh;
    max-height:none;
  }
  .hero-overlay{
    position:relative;
    align-items:flex-end;
    padding-top:0;
    padding-bottom:0;
  }
  .hero-card{
    width:100%;
    max-width:none;
  }
  .hero--home .hero-card{
    width:100%;
    padding:16px 14px;
    margin:0;
  }
  .hero-title,
  .hero--home .hero-title{
    font-size:28px;
    line-height:1.06;
  }
  .hero-sub,
  .hero--home .hero-sub{
    font-size:14px;
    line-height:1.55;
  }
  .hero-cta{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .hero-cta .btn{
    width:100%;
  }
  .category-row{
    padding:8px 0;
  }
  .category-scroll{
    scroll-snap-type:x proximity;
  }
  .category-menu-btn{
    display:inline-flex;
    position:sticky;
    left:0;
    z-index:2;
    background:var(--bg);
    box-shadow:8px 0 12px rgba(254,253,252,.95);
  }
  .category-drawer.is-open{
    display:block;
    border-bottom:1px solid var(--border);
    background:var(--bg);
  }
  .cat{scroll-snap-align:start}
}
@media (max-width: 560px){
  .announcement-modal{padding:16px}
  .announcement-modal__card{width:min(100vw - 16px, 560px);padding:22px 58px 22px 20px}
  .announcement-modal__text{font-size:clamp(18px, 6vw, 28px);line-height:1.14}
  .announcement-modal__close{top:12px;right:12px;width:40px;height:40px}
  .hero-ad{padding:12px}
  .hero-ad__dialog{width:calc(100vw - 16px);height:min(62vh, 420px)}
  .h1{font-size:40px}
  .h2{font-size:32px}
  .hero-ad__overlay{padding:18px}
  .hero-ad__title{font-size:24px}
  .header-main{
    grid-template-columns:auto minmax(0, 1fr) auto;
    gap:4px;
  }
  .logo img{height:36px}
  .search{
    padding:7px 9px;
    width:100%;
    max-width:none;
  }
  .search--header{
    width:calc(100% - 44px);
    max-width:380px;
  }
  .search input{
    font-size:12px;
  }
  .header-right{
    gap:8px;
  }
  .hero-banner{min-height:320px}
  .hero--home .hero-banner{
    min-height:61vh;
  }
  .hero--home .hero-card{padding:14px}
  .hero-title,
  .hero--home .hero-title{font-size:24px}
  .hero-sub,
  .hero--home .hero-sub{font-size:13px}
  .routine-link{
    font-size:10px;
    line-height:1.15;
  }
  .iconbar{gap:8px}
  .iconbtn{
    width:22px;
    height:22px;
    min-width:22px;
  }
  .flag{
    width:26px;
    height:20px;
    font-size:10px;
  }
  .cartpill{
    top:-2px;
    right:-8px;
    min-width:15px;
    height:15px;
    padding:0 4px;
    font-size:9px;
  }
  .cat{
    font-size:11px;
    padding:6px 8px;
  }
  .grid-4,.grid-3,.grid-2{grid-template-columns:1fr}
  .product-media-card{position:static}
  .footer-shell{padding:8px 0 0}
  .footer-hero{padding:14px}
  .footer-brand-heading{font-size:17px}
  .footer-grid{grid-template-columns:1fr}
}






/* Bottom promo toast (dismissible) */
.promo-toast{position:fixed;left:16px;right:16px;bottom:16px;z-index:1200;pointer-events:none;}
.promo-toast .promo-content{pointer-events:auto;display:flex;align-items:center;gap:14px;max-width:980px;margin:0 auto;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:22px;box-shadow:0 16px 44px rgba(0,0,0,.14);padding:14px 14px 14px 12px;transform:translateY(140%);opacity:0;transition:transform .18s ease, opacity .18s ease;}
.promo-toast.is-open .promo-content{transform:translateY(0);opacity:1;}
.promo-close{position:absolute;right:10px;top:10px;height:34px;width:34px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.9);cursor:pointer;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;pointer-events:auto;}
.promo-thumb{height:54px;width:54px;border-radius:14px;object-fit:cover;border:1px solid rgba(0,0,0,.06);}
.promo-copy{min-width:0;}
.promo-title{font-weight:800;font-size:18px;line-height:1.15;}
.promo-sub{margin-top:4px;color:var(--muted);font-size:14px;line-height:1.35;}
.promo-cta{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;height:46px;padding:0 18px;border-radius:14px;background:#2c241c;color:#fff;font-weight:800;border:0;}
.promo-cta:hover{opacity:.92}

.contact-promo-strip{
  overflow:hidden;
  border:1px solid rgba(44,34,22,.10);
  background:linear-gradient(135deg,rgba(253,164,2,.08),rgba(255,255,255,.92));
}
.contact-promo-track{
  display:flex;
  gap:14px;
  width:max-content;
  animation:contactPromoScroll 28s linear infinite;
}
.contact-promo-item{
  display:grid;
  grid-template-columns:72px 180px;
  align-items:center;
  gap:12px;
  padding:12px;
  color:inherit;
  text-decoration:none;
  min-width:280px;
}
.contact-promo-item img{
  width:72px;
  height:72px;
  object-fit:cover;
  background:#f8f1e6;
}
.contact-promo-item span{
  font-weight:900;
  line-height:1.25;
}
@keyframes contactPromoScroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

@media (max-width: 560px){
  .promo-toast{left:10px;right:10px;bottom:10px;}
  .promo-title{font-size:16px;}
  .promo-sub{font-size:13px;}
  .promo-cta{height:42px;padding:0 14px;border-radius:12px;}
}
@media (min-width: 981px){
  .hero--home .hero-overlay .container{
    width:100%;
    max-width:none;
    padding-left:0;
    padding-right:0;
  }
  .hero--home .hero-card{
    margin-left:auto;
    margin-right:18px;
    transform:translateY(-14px);
    will-change:opacity, transform;
  }
}

@media (prefers-reduced-motion: reduce){
  .media-carousel__slide,
  .media-carousel__slide.is-active,
  .media-carousel__slide.is-entering,
  .media-carousel__slide.is-leaving,
  .hero-media-carousel__slide,
  .hero-media-carousel__slide.is-active,
  .hero-media-carousel__slide.is-entering,
  .hero-media-carousel__slide.is-leaving{
    animation:none !important;
    transform:none !important;
    clip-path:none !important;
    filter:none !important;
  }
  .media-carousel__slide::before,
  .media-carousel__slide::after,
  .hero-media-carousel__slide::before,
  .hero-media-carousel__slide::after{
    display:none !important;
  }
  .hero--home .hero-card,
  .hero--home .hero-card::after{animation:none !important}
  .hero--home .hero-card::after{display:none !important}
}

/* After-hero promo tiles (Aroma-Zone-inspired layout) */
.after-hero{padding:18px 0 0;background:var(--bg)}
.az-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.az-tile{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:inherit}
.az-media{position:relative;height:168px;border-radius:0;overflow:hidden;background:rgba(253,164,2,.08);box-shadow:0 10px 28px rgba(17,24,39,.08)}
.az-media img{height:100%;width:100%;object-fit:cover;transform:scale(1.02);transition:transform .45s ease}
.az-tile:hover .az-media img{transform:scale(1.06)}
.az-chip{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;padding:8px 10px;border-radius:0;background:rgba(255,255,255,.88);border:1px solid rgba(0,0,0,.08);font-size:12px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.az-title{font-size:22px;line-height:1.25;font-weight:850;letter-spacing:-.02em}
.az-arrow{margin-top:6px;font-size:22px;opacity:.85}

@media (max-width: 980px){
  .az-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .az-media{height:160px}
  .az-title{font-size:20px}
}
@media (max-width: 560px){
  .az-grid{grid-template-columns:1fr}
  .az-media{height:156px}
  .az-title{font-size:19px}
}

/* Global square style */
.btn,
.badge,
.card,
.pill,
.search,
.search button,
.search input,
.flag,
.cartpill,
.hero-card,
.tag,
.promises-box,
.promise,
.filters,
.chip,
.iconbtn,
.promo-toast .promo-content,
.promo-close,
.promo-thumb,
.promo-cta,
.az-media,
.az-chip,
input,
textarea,
select,
button{
  border-radius:0 !important;
}
.order-timeline{display:flex !important;flex-direction:row !important;align-items:center;gap:0;padding-top:6px;overflow-x:auto;white-space:nowrap}
.order-timeline__item{display:flex;align-items:center}
.order-timeline__rail{display:flex;align-items:center}
.order-timeline__button{display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;cursor:pointer}
.order-timeline__button.is-active .order-timeline__node{box-shadow:0 0 0 4px rgba(212,160,23,.22)}
.order-timeline__button:focus-visible{outline:2px solid rgba(212,160,23,.45);outline-offset:4px}
.order-timeline__node{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:#cfcfcf;color:#fff;position:relative;transition:all .2s ease;overflow:hidden;flex:0 0 40px;vertical-align:middle}
.order-timeline__node svg{width:20px !important;height:20px !important;min-width:20px;min-height:20px;max-width:none;display:block;stroke:currentColor}
.order-timeline__line{width:72px;height:3px;background:#d6d6d6;display:inline-block;flex:0 0 72px;vertical-align:middle}
.order-timeline__node.is-done,.order-timeline__node.is-current{background:#d4a017 !important;color:#fff;border:0}
.order-timeline__line.is-done{background:#d4a017}
.order-timeline__node.is-current{box-shadow:0 0 0 2px rgba(212,160,23,.18)}
.order-timeline__button.is-active .order-timeline__node.is-done,
.order-timeline__button.is-active .order-timeline__node.is-current{background:#d4a017 !important}
.order-timeline-detail{margin-top:16px;padding:16px 18px;border:1px solid var(--border);background:rgba(255,255,255,.78)}
.order-timeline-detail__head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.order-timeline-detail__title{font-size:18px}
.order-timeline-detail__status{display:inline-flex;align-items:center;padding:6px 10px;border:1px solid rgba(212,160,23,.24);background:rgba(212,160,23,.08);color:#8b6500;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.order-timeline-detail__date{margin-top:10px;font-size:13px;color:var(--muted)}
.order-timeline-detail__text{margin:10px 0 0;font-size:14px;line-height:1.7;color:var(--ink)}
.search--header,
.search--header input,
.search--header button{
  border-radius:999px !important;
}
.product-card-grid{
  align-items:stretch;
}
.hero-products-section .product-card-grid{
  gap:18px;
}
.hero-products-section .hero-products-grid{
  grid-template-columns:repeat(4, minmax(0, 1fr));
  align-items:stretch;
}
.hero-products-section .product-card-clean{
  max-width:none;
  margin:0;
}
.hero-products-section .product-card-clean .card-img{
  height:270px;
}
.hero-products-section .product-card-clean__body{
  padding:18px;
}
.hero-products-section .card-title{
  font-size:24px;
}
.hero-products-section .card-desc{
  font-size:14px;
}
.hero-products-section .price{
  font-size:15px;
}
.product-card-clean{
  display:flex;
  flex-direction:column;
  height:100%;
  border:1px solid rgba(214,169,84,.22);
  background:linear-gradient(180deg,#fffefb 0%,#fff8ee 100%);
  box-shadow:0 14px 30px rgba(37,24,7,.06);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  overflow:hidden;
}
.product-card-clean:hover{
  transform:translateY(-4px);
  border-color:rgba(214,169,84,.5);
  box-shadow:0 24px 42px rgba(37,24,7,.1);
}
.product-card-clean .card-img{
  height:286px;
  background:linear-gradient(180deg,#f8f1e4 0%,#f5ead8 100%);
}
.product-card-clean .card-img img{
  height:100%;
  width:100%;
  object-fit:cover;
  transition:transform .55s ease, filter .28s ease;
}
.product-card-clean:hover .card-img img{
  transform:scale(1.04);
  filter:saturate(1.03);
}
.product-card-clean__body{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  padding:10px;
  gap:2px;
}
.product-card-clean .card-title{
  font-family:"Space Grotesk", "Montserrat", ui-sans-serif, system-ui, sans-serif;
  margin-top:0;
  font-size:14px;
  line-height:1.08;
  font-weight:850;
  letter-spacing:-.02em;
  color:#14110c;
  text-wrap:balance;
}
.product-card-clean .card-title:hover{
  color:#7a5f22;
}
.product-detail-title{
  font-family:"Space Grotesk", "Montserrat", ui-sans-serif, system-ui, sans-serif;
  font-weight:800;
  letter-spacing:-.03em;
  line-height:1.02;
  color:#111;
}
.product-card-clean__formats{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:1px;
}
.product-card-clean__format{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 8px;
  border:1px solid rgba(214,169,84,.18);
  background:rgba(255,255,255,.82);
  font-size:10px;
  font-weight:700;
  color:#725727;
  box-shadow:0 4px 10px rgba(37,24,7,.04);
}
.product-card-clean .card-row{
  margin-top:0;
  padding-top:5px;
  border-top:1px solid rgba(214,169,84,.14);
}
.product-card-clean .price{
  font-size:13px;
  line-height:1.1;
  color:#cf8a00;
}
.product-card-clean .pill{
  border-color:rgba(214,169,84,.22);
  background:#fff;
  color:#4e3a12;
  font-weight:700;
  font-size:10px;
  padding:2px 7px;
  min-height:24px;
}
.product-card-clean .kicker{
  font-size:10px;
  letter-spacing:.18em;
}
.product-card-clean__cta{
  min-height:40px;
  padding:0 14px;
  font-size:12px;
  font-weight:800;
}
.shop-category-nav{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.shop-category-pill{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:64px;
  padding:16px 18px;
  border:1px solid rgba(214,169,84,.28);
  background:linear-gradient(180deg,#fffdfa 0%,#fff7ea 100%);
  color:#1f1912;
  text-decoration:none;
  font-size:15px;
  font-weight:800;
  letter-spacing:.02em;
  text-align:center;
  box-shadow:0 10px 24px rgba(37,24,7,.05);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
  overflow:hidden;
}
.shop-category-pill::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:0;
  height:3px;
  background:linear-gradient(90deg,var(--brand),#f6c568);
  opacity:.18;
  transition:opacity .18s ease;
}
.shop-category-pill:hover{
  transform:translateY(-2px);
  border-color:rgba(214,169,84,.55);
  box-shadow:0 16px 32px rgba(37,24,7,.08);
  color:#000;
}
.shop-category-pill:hover::after,
.shop-category-pill.is-active::after{
  opacity:1;
}
.shop-category-pill.is-active{
  background:linear-gradient(180deg,#fff4d9 0%,#ffedc2 100%);
  border-color:rgba(214,169,84,.72);
  color:#000;
  box-shadow:0 18px 34px rgba(214,169,84,.16);
}
.variant-selector{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.variant-selector__option{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px;
  border:1px solid rgba(17,24,39,.1);
  background:#fff;
  cursor:pointer;
}
.variant-selector__option input{
  margin-top:2px;
}
.variant-selector__meta{
  display:grid;
  gap:4px;
}
.variant-selector__label{
  font-size:14px;
  font-weight:700;
  color:var(--ink);
}
.variant-selector__price{
  font-size:13px;
  color:#d68f00;
}
.home-values-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:18px;
  align-items:stretch;
}
.home-values-head{
  display:grid;
  justify-items:center;
  text-align:center;
}
.section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}
.section-head__intro{
  display:grid;
  gap:8px;
}
.section-head__kicker{
  margin:0;
}
.section-head__kicker,
.home-values-head .kicker,
.hero-card .kicker,
.product-reassurance .kicker{
  font-family:"Space Grotesk", "Montserrat", ui-sans-serif, system-ui, sans-serif;
  letter-spacing:.24em;
  color:#7b6340;
}
.section-head__title{
  margin-top:0;
}
.section-head--split .section-head__title{
  position:relative;
  display:inline-block;
}
.section-head--split .section-head__title::after{
  content:"";
  display:block;
  width:84px;
  height:3px;
  margin:12px 0 0;
  background:linear-gradient(90deg, rgba(253,164,2,.95), rgba(253,164,2,.16));
}
.home-ingredients-title{
  font-size:32px;
  line-height:1.12;
}
.home-ingredients-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:20px;
}
.home-ingredient-card{
  flex:1 1 320px;
  max-width:calc(33.333% - 12px);
  position:relative;
  overflow:hidden;
  border:1px solid var(--ingredient-border, rgba(214,169,84,.2));
  background:
    radial-gradient(circle at 92% 8%, var(--ingredient-glow, rgba(253,164,2,.16)), transparent 34%),
    linear-gradient(180deg, var(--ingredient-bg-top, #fffdfa) 0%, var(--ingredient-bg-bottom, #fff8ec) 100%);
  box-shadow:0 14px 30px rgba(34,22,8,.07);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.home-ingredient-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:var(--ingredient-accent, linear-gradient(180deg, rgba(253,164,2,.18), rgba(253,164,2,.95), rgba(253,164,2,.18)));
}
.home-ingredient-card::after{
  content:"";
  position:absolute;
  right:-18px;
  top:-18px;
  width:110px;
  height:110px;
  border-radius:999px;
  background:var(--ingredient-decor, radial-gradient(circle, rgba(214,169,84,.12) 0%, rgba(214,169,84,0) 72%));
  pointer-events:none;
}
.home-ingredient-card:hover{
  transform:translateY(-3px);
  border-color:var(--ingredient-border-hover, rgba(253,164,2,.48));
  box-shadow:0 20px 38px rgba(34,22,8,.12);
}
.home-ingredient-card .card-body{
  position:relative;
  z-index:1;
  padding:24px 26px 24px 28px;
}
.home-ingredient-card__title{
  font-family:"Space Grotesk", "Montserrat", ui-sans-serif, system-ui, sans-serif;
  font-weight:800;
  font-size:34px;
  line-height:1.08;
  letter-spacing:-.02em;
  color:var(--ingredient-title, #13100a);
}
.home-ingredient-card__text{
  margin-top:10px;
  font-size:14px;
  line-height:1.85;
  color:var(--ingredient-text, rgba(31,24,14,.76));
}
.home-ingredient-card--karite{
  --ingredient-bg-top:rgba(255,247,233,.99);
  --ingredient-bg-bottom:rgba(255,252,246,.99);
  --ingredient-glow:rgba(223,187,119,.2);
  --ingredient-border:rgba(214,169,84,.22);
  --ingredient-border-hover:rgba(214,169,84,.42);
  --ingredient-accent:linear-gradient(180deg, #d8b06d 0%, rgba(216,176,109,.22) 100%);
  --ingredient-decor:radial-gradient(circle, rgba(228,200,146,.24) 0%, rgba(228,200,146,0) 72%);
  --ingredient-title:#5b431f;
}
.home-ingredient-card--bissap{
  --ingredient-bg-top:rgba(255,245,247,.99);
  --ingredient-bg-bottom:rgba(255,252,252,.99);
  --ingredient-glow:rgba(147,35,78,.14);
  --ingredient-border:rgba(147,35,78,.18);
  --ingredient-border-hover:rgba(147,35,78,.34);
  --ingredient-accent:linear-gradient(180deg, #9b315f 0%, rgba(155,49,95,.2) 100%);
  --ingredient-decor:radial-gradient(circle, rgba(155,49,95,.18) 0%, rgba(155,49,95,0) 72%);
  --ingredient-title:#5e1f3c;
  --ingredient-text:rgba(70,31,48,.8);
}
.home-ingredient-card--cendres-vegetales{
  --ingredient-bg-top:rgba(250,248,244,.99);
  --ingredient-bg-bottom:rgba(255,255,255,.99);
  --ingredient-glow:rgba(106,95,86,.12);
  --ingredient-border:rgba(116,104,95,.18);
  --ingredient-border-hover:rgba(116,104,95,.32);
  --ingredient-accent:linear-gradient(180deg, #72675d 0%, rgba(114,103,93,.18) 100%);
  --ingredient-decor:radial-gradient(circle, rgba(114,103,93,.14) 0%, rgba(114,103,93,0) 72%);
  --ingredient-title:#3c362f;
  --ingredient-text:rgba(53,48,43,.78);
}
.home-ingredient-card--curcuma{
  --ingredient-bg-top:rgba(255,248,230,.99);
  --ingredient-bg-bottom:rgba(255,253,245,.99);
  --ingredient-glow:rgba(241,169,34,.2);
  --ingredient-border:rgba(227,159,41,.2);
  --ingredient-border-hover:rgba(227,159,41,.4);
  --ingredient-accent:linear-gradient(180deg, #e8a229 0%, rgba(232,162,41,.2) 100%);
  --ingredient-decor:radial-gradient(circle, rgba(232,162,41,.2) 0%, rgba(232,162,41,0) 72%);
  --ingredient-title:#6a4708;
}
.home-ingredient-card--huile-de-baobab{
  --ingredient-bg-top:rgba(247,249,240,.99);
  --ingredient-bg-bottom:rgba(255,255,251,.99);
  --ingredient-glow:rgba(126,140,74,.16);
  --ingredient-border:rgba(126,140,74,.18);
  --ingredient-border-hover:rgba(126,140,74,.36);
  --ingredient-accent:linear-gradient(180deg, #8d9654 0%, rgba(141,150,84,.18) 100%);
  --ingredient-decor:radial-gradient(circle, rgba(141,150,84,.16) 0%, rgba(141,150,84,0) 72%);
  --ingredient-title:#495227;
  --ingredient-text:rgba(62,72,35,.78);
}
.home-values-title{
  margin-top:10px;
  position:relative;
  display:inline-block;
  font-weight:700;
  font-size:32px;
  line-height:1.15;
}
.home-values-title::after{
  content:"";
  display:block;
  width:100%;
  height:2px;
  margin:4px auto 0;
  background:#ffd640;
  box-shadow:none;
}
.home-presentation-shell{
  display:grid;
  gap:16px;
}
.home-presentation-kicker{
  text-align:center;
}
.home-presentation-card{
  border-color:rgba(253,164,2,.18);
  background:
    radial-gradient(circle at top center, rgba(253,164,2,.12), transparent 38%),
    linear-gradient(180deg, rgba(255,250,240,.98), rgba(255,255,255,.98));
  box-shadow:0 18px 44px rgba(17,24,39,.06);
}
.home-presentation-card__body{
  max-width:860px;
  margin:0 auto;
  padding:30px 28px;
  text-align:center;
}
.home-presentation-text{
  margin-top:0;
  font-size:18px;
  line-height:1.95;
  color:rgba(17,24,39,.78);
}
.home-presentation-text--secondary{
  margin-top:16px;
}
.home-value-card{
  flex:1 1 320px;
  max-width:calc(33.333% - 12px);
  position:relative;
  overflow:hidden;
  border:1px solid var(--value-border, rgba(253,164,2,.16));
  background:var(--value-bg, linear-gradient(180deg, rgba(255,248,236,.98), rgba(255,255,255,.98)));
  box-shadow:var(--value-shadow, 0 14px 34px rgba(17,24,39,.05));
}
.home-value-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  right:0;
  height:6px;
  background:var(--value-accent, linear-gradient(90deg, rgba(214,169,84,.2), rgba(214,169,84,.9), rgba(214,169,84,.2)));
}
.home-value-card::after{
  content:"";
  position:absolute;
  inset:auto;
  right:18px;
  top:18px;
  width:92px;
  height:92px;
  border-radius:24px;
  background:var(--value-decor, rgba(214,169,84,.08));
  pointer-events:none;
  opacity:.95;
}
.home-value-card .card-body{
  position:relative;
  z-index:1;
  padding:24px 26px 24px 26px;
}
.home-value-card__title{
  font-weight:800;
  line-height:1.25;
  letter-spacing:-.01em;
  color:var(--value-title, #15120d);
  max-width:82%;
}
.home-value-card__text{
  margin-top:10px;
  font-size:14px;
  line-height:1.9;
  color:var(--value-text, var(--muted));
}
.home-value-card--1{
  --value-border:rgba(214,169,84,.24);
  --value-bg:linear-gradient(180deg, rgba(255,248,236,.99), rgba(255,255,255,.99));
  --value-accent:linear-gradient(90deg, #c99a3c 0%, #f2d18c 50%, #c99a3c 100%);
  --value-decor:radial-gradient(circle at center, rgba(232,197,126,.28) 0%, rgba(232,197,126,.08) 58%, rgba(232,197,126,0) 72%);
  --value-title:#3a2b13;
  --value-shadow:0 18px 36px rgba(145,102,23,.08);
}
.home-value-card--2{
  --value-border:rgba(85,107,77,.24);
  --value-bg:linear-gradient(180deg, rgba(244,250,243,.99), rgba(255,255,255,.99));
  --value-accent:linear-gradient(90deg, #4e6b4a 0%, #8ead88 52%, #4e6b4a 100%);
  --value-decor:radial-gradient(circle at center, rgba(108,133,100,.22) 0%, rgba(108,133,100,.08) 58%, rgba(108,133,100,0) 72%);
  --value-title:#243623;
  --value-shadow:0 18px 36px rgba(70,95,65,.08);
}
.home-value-card--3{
  --value-border:rgba(199,125,93,.22);
  --value-bg:linear-gradient(180deg, rgba(255,246,243,.99), rgba(255,255,255,.99));
  --value-accent:linear-gradient(90deg, #bf7556 0%, #edb8a3 50%, #bf7556 100%);
  --value-decor:radial-gradient(circle at center, rgba(214,145,116,.24) 0%, rgba(214,145,116,.08) 58%, rgba(214,145,116,0) 72%);
  --value-title:#4a271b;
  --value-shadow:0 18px 36px rgba(130,65,41,.08);
}
.home-value-card--4{
  --value-border:rgba(226,159,45,.24);
  --value-bg:linear-gradient(180deg, rgba(255,248,232,.99), rgba(255,255,255,.99));
  --value-accent:linear-gradient(90deg, #da961f 0%, #f0c46d 50%, #da961f 100%);
  --value-decor:radial-gradient(circle at center, rgba(232,171,52,.26) 0%, rgba(232,171,52,.08) 58%, rgba(232,171,52,0) 72%);
  --value-title:#4a3206;
  --value-shadow:0 18px 36px rgba(173,117,21,.08);
}
.home-value-card--5{
  --value-border:rgba(124,138,150,.24);
  --value-bg:linear-gradient(180deg, rgba(246,249,252,.99), rgba(255,255,255,.99));
  --value-accent:linear-gradient(90deg, #7c8a96 0%, #b7c2cb 50%, #7c8a96 100%);
  --value-decor:radial-gradient(circle at center, rgba(144,159,170,.22) 0%, rgba(144,159,170,.08) 58%, rgba(144,159,170,0) 72%);
  --value-title:#28313a;
  --value-shadow:0 18px 36px rgba(98,115,128,.08);
}
.home-values-pillars{
  margin-top:22px;
  display:grid;
  gap:18px;
}
.home-social-value-card{
  border:1px solid rgba(214,169,84,.18);
  background:
    radial-gradient(circle at top right, rgba(214,169,84,.16), transparent 28%),
    linear-gradient(180deg, rgba(255,250,242,.98), rgba(255,255,255,.98));
  box-shadow:0 18px 34px rgba(17,24,39,.06);
}
.home-social-value-card__body{
  padding:22px 24px;
  text-align:center;
}
.home-social-value-card__kicker{
  font-family:"Space Grotesk", "Montserrat", ui-sans-serif, system-ui, sans-serif;
  font-size:14px;
  font-weight:800;
  letter-spacing:.06em;
  color:#3c2b12;
}
.home-social-value-card__text{
  margin-top:12px;
  font-size:15px;
  line-height:1.85;
  color:#564738;
}
.home-commitments-card{
  position:relative;
  border:0;
  background:
    radial-gradient(circle at top left, rgba(253,164,2,.12), transparent 28%),
    linear-gradient(180deg, #fffdfa 0%, #fff6e8 100%);
  box-shadow:0 16px 34px rgba(17,24,39,.06);
  overflow:hidden;
}
.home-commitments-card::before{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid transparent;
  background:
    linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.18)) padding-box,
    linear-gradient(135deg, rgba(214,169,84,.75) 0%, rgba(125,92,38,.18) 20%, rgba(214,169,84,.12) 50%, rgba(125,92,38,.18) 78%, rgba(214,169,84,.7) 100%) border-box;
  pointer-events:none;
}
.home-commitments-card::after{
  content:"";
  position:absolute;
  inset:10px;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(214,169,84,.9) 0 42px, transparent 42px calc(100% - 42px), rgba(214,169,84,.9) calc(100% - 42px) 100%),
    linear-gradient(rgba(214,169,84,.9) 0 42px, transparent 42px calc(100% - 42px), rgba(214,169,84,.9) calc(100% - 42px) 100%);
  background-size:2px 100%, 100% 2px;
  background-repeat:no-repeat;
  opacity:.55;
  box-shadow:inset 0 0 0 1px rgba(214,169,84,.16);
}
.home-commitments-head{
  display:grid;
  justify-items:center;
  text-align:center;
  padding-top:14px;
}
.home-commitments-card__body{
  max-width:920px;
  margin:0 auto;
  padding:34px 30px;
  text-align:center;
}
.home-commitments-card__kicker{
  position:relative;
  display:inline-block;
  text-align:center;
  color:#111;
  font-size:13px;
  font-weight:800;
  letter-spacing:.28em;
  padding-bottom:14px;
}
.home-commitments-card__kicker::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:118px;
  height:3px;
  transform:translateX(-50%);
  background:linear-gradient(90deg, rgba(214,169,84,0) 0%, rgba(214,169,84,.48) 18%, #d4a954 52%, rgba(214,169,84,.48) 82%, rgba(214,169,84,0) 100%);
  box-shadow:0 4px 14px rgba(214,169,84,.18);
}
.home-commitments-card__kicker::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:-4px;
  width:48px;
  height:8px;
  transform:translateX(-50%);
  background:radial-gradient(circle, rgba(214,169,84,.36) 0%, rgba(214,169,84,0) 72%);
}
.home-commitments-card__text{
  margin-top:14px;
  font-size:18px;
  line-height:1.95;
  color:#3d3125;
}
.home-impact-section{
  background:
    radial-gradient(circle at 14% 18%, rgba(253,164,2,.14), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,251,242,.92)) !important;
}
.home-impact-copy{
  max-width:540px;
}
.home-impact-copy .section-head__title{
  font-size:40px;
  line-height:1.06;
  letter-spacing:-.03em;
  color:#120f0a;
  max-width:15ch;
}
.home-impact-text{
  margin-top:10px;
  max-width:39ch;
  font-size:15px;
  line-height:1.68;
  color:rgba(28,22,13,.82);
}
.home-impact-pills{
  margin-top:12px;
  display:grid;
  gap:0;
  max-width:520px;
}
.home-impact-pill{
  display:flex;
  align-items:center;
  min-height:36px;
  border-radius:0 !important;
  border:1px solid rgba(24,20,14,.14);
  border-top:0;
  background:rgba(255,255,255,.86);
  color:rgba(41,33,20,.9);
  font-size:13px;
  font-weight:650;
  line-height:1.4;
  padding:7px 11px;
}
.home-impact-pill:first-child{
  border-top:1px solid rgba(24,20,14,.14);
}
.home-impact-pill::before{
  content:"";
  width:9px;
  height:9px;
  margin-right:10px;
  background:#fda402;
  flex:0 0 9px;
}
.home-impact-action-card{
  margin-top:14px;
  padding:14px 15px 16px;
  border:1px solid rgba(24,20,14,.12);
  background:linear-gradient(180deg, rgba(255,251,244,.96), rgba(255,255,255,.98));
  box-shadow:0 14px 32px rgba(23,16,9,.06);
}
.home-impact-action-card__title{
  font-family:"Space Grotesk", "Montserrat", ui-sans-serif, system-ui, sans-serif;
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#4a3415;
}
.home-impact-action-card__text{
  margin:8px 0 12px;
  font-size:13px;
  line-height:1.65;
  color:rgba(41,33,20,.82);
}
.home-impact-media-card{
  border:1px solid rgba(24,20,14,.14);
  box-shadow:0 22px 48px rgba(23,16,9,.14);
}
.home-impact-media-card__body{
  padding:18px;
}
.home-impact-media-card__head{
  margin-bottom:14px;
}
.home-impact-media-card__kicker{
  color:#6e5429;
}
.home-impact-media-card__note{
  margin-top:8px;
  font-size:13px;
  line-height:1.75;
  color:rgba(41,33,20,.72);
}
.home-impact-media-card .media-carousel{
  margin-top:0;
  border:1px solid rgba(24,20,14,.12);
  background:#fbf7f0;
  box-shadow:0 10px 22px rgba(17,24,39,.06);
}
.home-impact-media-card .media-carousel__track{
  height:450px;
}
.home-impact-media-card .media-carousel__media{
  height:100%;
  object-fit:cover;
  object-position:center;
}
.media-carousel--impact-home{
  overflow:hidden;
}
.media-carousel--impact-home .media-carousel__slide{
  transition:none;
}
.media-carousel--impact-home .media-carousel__slide::before,
.media-carousel--impact-home .media-carousel__slide::after{
  opacity:.52;
}
.media-carousel--impact-home .media-carousel__slide.is-leaving{
  animation:kotoImpactMediaRollOut 1300ms linear both;
}
.media-carousel--impact-home .media-carousel__slide.is-entering{
  animation:kotoImpactMediaRollIn 2100ms linear both;
}
.impact-hero-card,
.impact-intro-card,
.impact-gallery-card{
  box-shadow:0 16px 38px rgba(17,24,39,.06);
}
.impact-block-card{
  border-color:rgba(17,24,39,.08);
  background:linear-gradient(180deg, rgba(255,248,233,.92), rgba(255,255,255,.98));
}
.impact-media-card{
  box-shadow:0 10px 28px rgba(17,24,39,.06);
}
.product-reassurance{
  border-color:rgba(253,164,2,.2);
  background:linear-gradient(180deg, rgba(253,164,2,.08), rgba(255,255,255,.96));
}
.product-reassurance__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:12px;
}
.product-reassurance__item{
  display:grid;
  gap:6px;
  padding:14px;
  border:1px solid rgba(17,24,39,.08);
  background:rgba(255,255,255,.88);
}
.product-reassurance__item strong{
  font-size:14px;
  color:var(--ink);
}
.product-reassurance__item span{
  font-size:13px;
  line-height:1.7;
  color:var(--muted);
}
.product-review-list{
  display:grid;
  gap:12px;
}
.product-review-item{
  display:grid;
  gap:6px;
  padding:14px;
  border:1px solid rgba(17,24,39,.08);
  background:rgba(255,255,255,.82);
}
.product-review-item__stars{
  color:#fda402;
  letter-spacing:.12em;
  font-size:14px;
  line-height:1;
}
.product-review-item p{
  margin:0;
  font-size:14px;
  line-height:1.8;
  color:rgba(0,0,0,.78);
}
.product-review-item span{
  font-size:12px;
  font-weight:700;
  color:var(--muted);
}
.contact-trust-row,
.tracking-trust-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:18px;
}
.contact-trust-row__item,
.tracking-trust-row__item{
  padding:15px 16px;
  border:1px solid rgba(214,169,84,.18);
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,250,242,.9));
  box-shadow:0 12px 26px rgba(37,24,7,.045);
  font-size:13px;
  line-height:1.7;
  color:var(--muted);
}
.contact-form-card,
.contact-details-card{
  position:relative;
  border-color:rgba(214,169,84,.18);
  background:
    radial-gradient(circle at top right, rgba(253,164,2,.08), transparent 24%),
    rgba(255,255,255,.82) !important;
  box-shadow:0 18px 42px rgba(37,24,7,.06);
}
.contact-news-card,
.contact-points-card{
  position:relative;
  border-color:rgba(214,169,84,.24);
  background:
    radial-gradient(circle at 12% 12%, rgba(253,164,2,.12), transparent 26%),
    radial-gradient(circle at 90% 10%, rgba(63,86,65,.10), transparent 24%),
    linear-gradient(135deg, rgba(255,253,248,.98), rgba(255,247,232,.88)) !important;
  box-shadow:0 22px 54px rgba(37,24,7,.07);
}
.contact-news-card::before,
.contact-points-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg, #fda402, #3f5641);
}
.contact-news-card .card-body,
.contact-points-card .card-body{
  position:relative;
}
.contact-form-card,
.contact-details-card{
  overflow:hidden;
}
.contact-form-card::before,
.contact-details-card::before{
  content:"";
  position:absolute;
  left:20px;
  right:20px;
  top:0;
  height:4px;
  background:linear-gradient(90deg, rgba(253,164,2,.85), rgba(63,86,65,.72), rgba(253,164,2,.18));
}
.contact-details-card{
  background:
    radial-gradient(circle at 88% 12%, rgba(63,86,65,.12), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,250,242,.9)) !important;
}
.contact-form-card input,
.contact-form-card textarea{
  border-radius:18px;
  border-color:rgba(214,169,84,.22) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.contact-form-card input:focus,
.contact-form-card textarea:focus{
  outline:2px solid rgba(253,164,2,.24);
  border-color:rgba(253,164,2,.46) !important;
}
.contact-social-list{
  margin-top:16px;
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
}
.contact-social-btn{
  width:68px;
  height:68px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border:4px solid rgba(255,255,255,.88);
  box-shadow:
    0 18px 34px rgba(37,24,7,.16),
    inset 0 1px 0 rgba(255,255,255,.28);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.contact-social-btn:hover{
  transform:translateY(-3px) scale(1.04);
  box-shadow:
    0 24px 46px rgba(37,24,7,.22),
    inset 0 1px 0 rgba(255,255,255,.32);
  filter:saturate(1.08);
}
.contact-social-btn[aria-disabled="true"]{
  opacity:.42;
  filter:grayscale(.4);
  pointer-events:none;
}
.contact-social-btn svg{
  width:28px;
  height:28px;
}
.contact-whatsapp-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:999px;
  background:#25D366;
  color:#fff;
  border:3px solid rgba(255,255,255,.86);
  box-shadow:0 10px 22px rgba(37,211,102,.24);
}
.contact-whatsapp-icon svg{
  width:18px;
  height:18px;
}
.contact-location-card{
  position:relative;
  overflow:hidden;
  border-color:rgba(253,164,2,.26) !important;
  background:
    linear-gradient(135deg, rgba(253,164,2,.12), rgba(255,255,255,.94)) !important;
  box-shadow:0 14px 32px rgba(37,24,7,.055);
}
.contact-location-card::after{
  content:"";
  position:absolute;
  right:-34px;
  bottom:-34px;
  width:92px;
  height:92px;
  border-radius:999px;
  background:rgba(253,164,2,.12);
}
.contact-point-card{
  border-color:rgba(214,169,84,.22);
  background:
    radial-gradient(circle at top right, rgba(253,164,2,.10), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,250,242,.92)) !important;
  box-shadow:0 16px 36px rgba(37,24,7,.055);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.contact-point-card:hover{
  transform:translateY(-4px);
  border-color:rgba(253,164,2,.38);
  box-shadow:0 24px 48px rgba(37,24,7,.09);
}
.subscriber-page{
  display:grid;
  gap:18px;
}
.subscriber-hero-card{
  position:relative;
  overflow:hidden;
  border-color:rgba(214,169,84,.24);
  background:
    radial-gradient(circle at 8% 12%, rgba(253,164,2,.16), transparent 28%),
    radial-gradient(circle at 90% 10%, rgba(63,86,65,.12), transparent 28%),
    linear-gradient(135deg, rgba(255,253,248,.98), rgba(255,247,232,.9)) !important;
  box-shadow:0 22px 54px rgba(37,24,7,.07);
}
.subscriber-hero-card::after{
  content:"";
  position:absolute;
  right:-80px;
  bottom:-90px;
  width:240px;
  height:240px;
  border-radius:999px;
  border:1px solid rgba(253,164,2,.22);
  background:rgba(255,255,255,.22);
}
.subscriber-hero-card__body{
  position:relative;
  max-width:900px;
  padding:34px;
  display:grid;
  gap:12px;
}
.subscriber-action-card,
.subscriber-form-card{
  border-color:rgba(214,169,84,.2);
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,251,244,.92)) !important;
  box-shadow:0 18px 42px rgba(37,24,7,.055);
}
.subscriber-action-card__body{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}
.subscriber-actions,
.subscriber-form{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.subscriber-message{
  width:max-content;
  max-width:100%;
}
.subscriber-message--success{
  background:rgba(253,164,2,.16);
  border-color:rgba(253,164,2,.32);
}
.subscriber-message--error{
  background:#fff5f5;
  border-color:#f4c7c3;
  color:#7a1f1f;
}
.subscriber-account-preview{
  display:grid;
  gap:4px;
  min-width:min(100%, 320px);
  padding:14px 16px;
  border:1px solid rgba(214,169,84,.2);
  border-radius:20px;
  background:rgba(255,255,255,.82);
}
.subscriber-account-preview span{
  color:var(--muted);
  font-size:13px;
}
.subscriber-ads-section{
  display:grid;
  gap:18px;
}
.subscriber-ad-showcase{
  position:relative;
  display:grid;
  grid-template-columns:minmax(280px, .95fr) minmax(320px, 1.05fr);
  min-height:430px;
  overflow:hidden;
  border:1px solid rgba(214,169,84,.28);
  border-radius:34px;
  background:
    radial-gradient(circle at 78% 18%, rgba(253,164,2,.18), transparent 28%),
    radial-gradient(circle at 8% 90%, rgba(63,86,65,.12), transparent 30%),
    linear-gradient(135deg, rgba(255,253,248,.98), rgba(255,246,228,.94));
  box-shadow:0 28px 70px rgba(37,24,7,.11);
  transition:opacity .18s ease, transform .18s ease;
}
.subscriber-ad-showcase.is-closing{
  opacity:0;
  transform:translateY(8px);
}
.subscriber-ad-showcase__close{
  position:absolute;
  z-index:4;
  top:18px;
  right:18px;
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(44,34,22,.12);
  background:rgba(255,255,255,.88);
  color:#2c241c;
  box-shadow:0 12px 28px rgba(37,24,7,.12);
  font-size:28px;
  line-height:1;
  cursor:pointer;
  transition:transform .15s ease, background .15s ease;
}
.subscriber-ad-showcase__close:hover{
  transform:scale(1.06);
  background:#fff;
}
.subscriber-ad-showcase__media{
  min-height:430px;
  background:#f8f1e6;
}
.subscriber-ad-showcase__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.subscriber-ad-showcase__media video,
.subscriber-ad-mini video{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.subscriber-ad-showcase__content{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:16px;
  padding:54px 62px 44px 44px;
}
.subscriber-ad-showcase__content h3{
  margin:0;
  font-size:clamp(34px, 4vw, 58px);
  line-height:.98;
  letter-spacing:-.04em;
}
.subscriber-ad-showcase__content .lead{
  max-width:560px;
  font-size:15px;
}
.subscriber-ad-showcase__actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.account-showcase-compact .subscriber-ad-showcase{
  display:grid;
  grid-template-columns:360px minmax(0,1fr);
  height:330px;
  min-height:0;
  border-radius:12px;
  max-width:1120px;
  align-items:stretch;
  background:#fffaf2;
}
.account-showcase-compact .subscriber-ad-showcase__media{
  height:330px;
  min-height:0;
  overflow:hidden;
  grid-column:1;
  grid-row:1;
}
.account-showcase-compact .subscriber-ad-showcase__content{
  grid-column:2;
  grid-row:1;
  position:relative;
  z-index:2;
  justify-content:center;
  gap:12px;
  padding:34px 64px 30px 34px;
  min-height:0;
  overflow:hidden;
  background:linear-gradient(135deg, rgba(255,253,248,.98), rgba(255,246,228,.96));
}
.account-showcase-compact .subscriber-ad-showcase__content h3{
  font-size:32px;
  line-height:1.08;
  max-width:560px;
}
.account-showcase-compact .subscriber-ad-showcase__content .lead{
  font-size:14px;
  line-height:1.6;
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
  max-width:560px;
}
.account-showcase-compact .kicker{
  font-size:11px;
  padding:0;
  background:transparent;
  border:0;
  color:var(--muted);
}
.account-showcase-compact .subscriber-ad-showcase__actions{
  gap:10px;
}
.account-showcase-compact .subscriber-ad-showcase__actions .btn{
  min-height:40px;
  padding:9px 14px;
  font-size:13px;
}
.account-showcase-compact .subscriber-ad-showcase__close{
  top:8px;
  right:8px;
  width:28px;
  height:28px;
  font-size:19px;
}
.subscriber-ad-mini-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:8px;
}
.subscriber-ad-mini{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:10px;
  border:1px solid rgba(214,169,84,.18);
  border-radius:20px;
  background:rgba(255,255,255,.72);
  color:inherit;
  text-decoration:none;
  box-shadow:0 10px 24px rgba(37,24,7,.045);
}
.subscriber-ad-mini img{
  width:58px;
  height:58px;
  border-radius:16px;
  object-fit:cover;
  background:#f8f1e6;
}
.subscriber-ad-mini video{
  width:58px;
  height:58px;
  border-radius:16px;
  background:#f8f1e6;
}
.subscriber-ad-mini span{
  min-width:0;
  font-size:12px;
  font-weight:900;
  line-height:1.25;
}
.account-action-btn{
  min-width:220px;
  min-height:48px;
  background:#fff;
  color:#15110a !important;
  border-color:rgba(214,169,84,.32);
  box-shadow:0 10px 24px rgba(37,24,7,.05);
}
.account-action-btn--danger{
  color:#a11919 !important;
  border-color:rgba(211,51,51,.72) !important;
  background:#fffafa;
}
.subscriber-ad-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.subscriber-ad-card{
  color:inherit;
  text-decoration:none;
  border-color:rgba(214,169,84,.22);
  background:#fffaf2 !important;
  box-shadow:0 18px 42px rgba(37,24,7,.06);
}
.subscriber-ad-card__media{
  height:220px;
  overflow:hidden;
  background:#f8f1e6;
}
.subscriber-ad-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}
.subscriber-ad-card:hover .subscriber-ad-card__media img{
  transform:scale(1.05);
}
.subscriber-ad-card__body{
  display:grid;
  gap:10px;
}
.subscriber-ad-card__body h3{
  margin:0;
  font-size:19px;
  line-height:1.25;
}
.account-history-section{
  margin-top:22px;
}
.account-history-section .section-head{
  margin-bottom:14px;
}
.account-history-section .section-head h2{
  margin:6px 0 0;
}
.account-history-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.account-history-card{
  overflow:hidden;
  border-color:rgba(214,169,84,.22);
  background:rgba(255,255,255,.96) !important;
}
.account-history-card__media{
  display:block;
  height:210px;
  background:#f8f1e6;
  overflow:hidden;
}
.account-history-card__media img,
.account-history-card__media video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.account-history-card__body{
  display:grid;
  gap:10px;
}
.account-history-card__body h3{
  margin:0;
  font-size:19px;
  line-height:1.25;
}
.account-history-card__body .lead{
  margin:0;
  font-size:13px;
  line-height:1.65;
}
.account-history-card__meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}
@media (max-width: 720px){
  .contact-news-card .card-body,
  .contact-points-card .card-body,
  .contact-form-card .card-body,
  .contact-details-card .card-body{
    padding:16px;
  }
  .contact-social-list{
    gap:10px;
  }
  .contact-social-btn{
    width:58px;
    height:58px;
    border-width:3px;
  }
  .contact-social-btn svg{
    width:24px;
    height:24px;
  }
  .subscriber-hero-card__body{
    padding:22px;
  }
  .subscriber-ad-grid{
    grid-template-columns:1fr;
  }
  .account-history-grid{
    grid-template-columns:1fr;
  }
  .account-history-card__media{
    height:230px;
  }
  .subscriber-ad-showcase{
    grid-template-columns:1fr;
    min-height:0;
    border-radius:26px;
  }
  .subscriber-ad-showcase__media{
    min-height:260px;
  }
  .subscriber-ad-showcase__content{
    padding:24px;
  }
  .account-showcase-compact .subscriber-ad-showcase{
    grid-template-columns:1fr;
    height:auto;
    min-height:0;
    border-radius:10px;
  }
  .account-showcase-compact .subscriber-ad-showcase__media{
    grid-column:1;
    grid-row:1;
    height:150px;
    min-height:0;
  }
  .account-showcase-compact .subscriber-ad-showcase__content{
    grid-column:1;
    grid-row:2;
    padding:14px 42px 14px 16px;
    gap:7px;
  }
  .account-showcase-compact .subscriber-ad-showcase__content h3{
    font-size:20px;
    line-height:1.1;
  }
  .account-showcase-compact .subscriber-ad-showcase__content .lead{
    font-size:12px;
    line-height:1.45;
    -webkit-line-clamp:2;
  }
  .account-showcase-compact .subscriber-ad-showcase__actions .btn{
    min-height:32px;
    padding:6px 10px;
    font-size:11px;
  }
  .subscriber-ad-mini-list{
    grid-template-columns:1fr;
  }
  .subscriber-action-card__body{
    align-items:stretch;
  }
  .subscriber-actions,
  .subscriber-form,
  .subscriber-actions .btn,
  .subscriber-form .btn{
    width:100%;
  }
}
.admin-subscriber-page{
  margin-top:18px;
  display:grid;
  gap:18px;
}
.admin-subscriber-hero{
  position:relative;
  border-color:rgba(214,169,84,.24);
  background:
    radial-gradient(circle at 10% 18%, rgba(253,164,2,.16), transparent 28%),
    radial-gradient(circle at 92% 10%, rgba(63,86,65,.12), transparent 30%),
    linear-gradient(135deg, rgba(255,253,248,.98), rgba(255,247,232,.9)) !important;
  box-shadow:0 22px 54px rgba(37,24,7,.07);
}
.admin-subscriber-hero__body{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  flex-wrap:wrap;
}
.admin-subscriber-hero h2{
  margin:8px 0 0;
  font-size:34px;
}
.admin-subscriber-hero .lead{
  margin-top:10px;
  max-width:820px;
  font-size:14px;
}
.admin-subscriber-hero__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.admin-subscriber-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.admin-subscriber-stat{
  border-color:rgba(214,169,84,.22);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,250,242,.92)) !important;
}
.admin-subscriber-stat--accent{
  background:
    radial-gradient(circle at top right, rgba(253,164,2,.16), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,248,235,.94)) !important;
}
.admin-subscriber-stat strong{
  display:block;
  margin-top:8px;
  font-size:34px;
  line-height:1;
}
.admin-subscriber-stat .lead{
  margin-top:10px;
  font-size:13px;
}
.admin-subscriber-grid{
  align-items:start;
}
.admin-subscriber-rule,
.admin-subscriber-preview,
.admin-subscriber-campaign,
.admin-subscriber-note{
  border-color:rgba(214,169,84,.22);
  background:rgba(255,255,255,.92) !important;
  box-shadow:0 16px 38px rgba(37,24,7,.045);
}
.admin-subscriber-rule h2{
  margin:8px 0 0;
}
.admin-subscriber-rule .lead{
  margin-top:10px;
  font-size:14px;
}
.admin-subscriber-steps{
  margin-top:16px;
  display:grid;
  gap:8px;
}
.admin-subscriber-steps span{
  padding:12px 14px;
  border:1px solid rgba(214,169,84,.2);
  border-radius:18px;
  background:linear-gradient(90deg, rgba(253,164,2,.10), rgba(255,255,255,.82));
  font-weight:800;
  font-size:13px;
}
.admin-subscriber-list{
  display:grid;
  gap:10px;
  margin-top:12px;
}
.admin-subscriber-person{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:10px;
  border:1px solid rgba(214,169,84,.16);
  border-radius:18px;
  background:rgba(255,250,242,.72);
}
.admin-subscriber-person > span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:999px;
  background:var(--sage);
  color:#fff;
  font-weight:900;
}
.admin-subscriber-person strong,
.admin-subscriber-person small{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.admin-subscriber-person small{
  margin-top:3px;
  color:var(--muted);
}
.admin-client-ad-list{
  display:grid;
  gap:12px;
  margin-top:12px;
}
.admin-client-ad-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:12px;
  border:1px solid rgba(214,169,84,.18);
  border-radius:20px;
  background:rgba(255,250,242,.72);
}
.admin-client-ad-item strong,
.admin-client-ad-item small{
  display:block;
}
.admin-client-ad-item small{
  margin-top:4px;
  color:var(--muted);
}
.admin-client-ad-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.admin-ad-current-media{
  display:grid;
  gap:8px;
  padding:12px;
  border:1px solid rgba(214,169,84,.18);
  border-radius:20px;
  background:rgba(255,250,242,.68);
}
.admin-ad-current-media img,
.admin-ad-current-media video{
  width:min(100%, 320px);
  max-height:180px;
  object-fit:cover;
  border-radius:16px;
  background:#f8f1e6;
}
.admin-ad-current-media span{
  color:var(--muted);
  font-size:12px;
  word-break:break-word;
}
.admin-subscriber-campaign{
  background:
    radial-gradient(circle at 95% 8%, rgba(253,164,2,.12), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,250,242,.9)) !important;
}
.admin-subscriber-campaign h2{
  margin:8px 0 0;
}
.admin-subscriber-campaign .lead{
  margin-top:10px;
  font-size:14px;
}
.admin-subscriber-campaign__form{
  margin-top:16px;
  display:grid;
  gap:12px;
  max-width:860px;
}
.admin-subscriber-campaign__form .pill{
  padding:13px 15px;
}
.admin-subscriber-campaign__form textarea{
  min-height:190px;
  border:1px solid rgba(214,169,84,.24);
  border-radius:22px;
  padding:14px 16px;
  background:#fff;
  font:inherit;
  line-height:1.7;
  resize:vertical;
}
.admin-subscriber-campaign__form textarea:focus,
.admin-subscriber-campaign__form .pill:focus{
  outline:2px solid rgba(253,164,2,.22);
  border-color:rgba(253,164,2,.46);
}
.admin-newsletter-file{
  display:grid;
  gap:8px;
  padding:16px;
  border:1px dashed rgba(214,169,84,.5);
  border-radius:22px;
  background:
    radial-gradient(circle at 96% 10%, rgba(253,164,2,.10), transparent 24%),
    rgba(255,255,255,.72);
}
.admin-newsletter-file span{
  font-weight:900;
}
.admin-newsletter-file input{
  width:100%;
  padding:12px;
  border:1px solid rgba(214,169,84,.22);
  border-radius:18px;
  background:#fff;
}
.admin-newsletter-file small{
  color:var(--muted);
  line-height:1.5;
}
.admin-product-import{
  display:grid;
  gap:8px;
  padding:14px;
  border:1px solid rgba(63,86,65,.18);
  border-radius:22px;
  background:linear-gradient(135deg, rgba(63,86,65,.08), rgba(255,255,255,.82));
}
.admin-product-import span{
  font-weight:900;
}
.admin-product-import select{
  width:100%;
}
.admin-product-import small{
  color:var(--muted);
  line-height:1.5;
}
.admin-subscriber-campaign__actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.admin-subscriber-note p{
  margin:0;
  color:var(--muted);
  line-height:1.8;
}
.admin-content-pages{
  margin-top:18px;
  display:grid;
  gap:18px;
}
.admin-content-hero{
  border-color:rgba(214,169,84,.24);
  background:
    radial-gradient(circle at 12% 16%, rgba(253,164,2,.16), transparent 28%),
    radial-gradient(circle at 92% 8%, rgba(63,86,65,.12), transparent 28%),
    linear-gradient(135deg, rgba(255,253,248,.98), rgba(255,247,232,.9)) !important;
  box-shadow:0 22px 54px rgba(37,24,7,.07);
}
.admin-content-hero__body{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:22px;
  flex-wrap:wrap;
}
.admin-content-hero h2{
  margin:8px 0 0;
  font-size:34px;
}
.admin-content-hero .lead{
  margin-top:10px;
  max-width:780px;
  font-size:14px;
}
.admin-content-hero__actions,
.admin-content-secondary__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.admin-content-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.admin-content-page-card{
  position:relative;
  border-color:rgba(214,169,84,.20);
  background:
    radial-gradient(circle at 95% 10%, rgba(253,164,2,.08), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,250,242,.90)) !important;
  box-shadow:0 16px 38px rgba(37,24,7,.045);
}
.admin-content-page-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:linear-gradient(180deg, rgba(253,164,2,.95), rgba(63,86,65,.75));
}
.admin-content-page-card h3{
  margin:8px 0 0;
  font-size:24px;
}
.admin-content-page-card p{
  margin:10px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.7;
}
.admin-content-page-card__actions{
  margin-top:16px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.admin-content-secondary{
  border-color:rgba(214,169,84,.22);
  background:rgba(255,255,255,.94) !important;
}
.admin-content-secondary h2{
  margin:8px 0 0;
}
.admin-content-secondary .lead{
  margin-top:8px;
  font-size:14px;
}
.admin-content-secondary__actions{
  margin-top:14px;
}
@media (max-width: 900px){
  .admin-subscriber-stats,
  .admin-subscriber-grid,
  .admin-content-grid{
    grid-template-columns:1fr;
  }
  .admin-subscriber-hero__actions,
  .admin-subscriber-hero__actions .btn,
  .admin-content-hero__actions,
  .admin-content-hero__actions .btn{
    width:100%;
  }
  .admin-client-ad-item{
    align-items:flex-start;
    flex-direction:column;
  }
  .admin-client-ad-actions,
  .admin-client-ad-actions .btn,
  .admin-client-ad-actions form{
    width:100%;
  }
}
.exhibitions-page{
  display:grid;
  gap:20px;
}
.exhibitions-intro{
  max-width:860px;
  margin:0 auto;
  text-align:center;
  display:grid;
  gap:10px;
}
.exhibitions-intro .lead{
  font-size:14px;
  line-height:1.8;
}
.exhibition-offer-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:24px;
  border:1px solid rgba(214,169,84,.22);
  background:
    radial-gradient(circle at top right, rgba(253,164,2,.14), transparent 26%),
    linear-gradient(180deg, rgba(255,252,246,.98), rgba(255,255,255,.96));
  box-shadow:0 18px 42px rgba(37,24,7,.055);
}
.exhibition-offer-card h2{
  margin:8px 0 0;
  font-size:28px;
  line-height:1.15;
}
.exhibition-offer-card p{
  margin:10px 0 0;
  max-width:760px;
  color:var(--muted);
  font-size:14px;
  line-height:1.8;
}
.exhibitions-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.exhibition-card{
  border-color:rgba(214,169,84,.18);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,251,246,.98));
  box-shadow:0 18px 36px rgba(37,24,7,.055);
}
.exhibition-card__media{
  height:230px;
  overflow:hidden;
  background:#f8f4ed;
}
.exhibition-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.exhibition-card__body{
  display:grid;
  gap:8px;
}
.exhibition-card__meta{
  color:#9b6a00;
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.exhibition-card h3{
  margin:0;
  font-size:21px;
  line-height:1.2;
}
.exhibition-card p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.75;
}
.testimonial-header-note{
  max-width:640px;
  font-size:14px;
  line-height:1.8;
  color:var(--muted);
}
.testimonial-card-clean{
  box-shadow:0 14px 34px rgba(17,24,39,.06);
}
.home-testimonials-grid{
  gap:14px;
}
.home-testimonial-card{
  box-shadow:0 10px 24px rgba(17,24,39,.05);
}
.home-testimonial-card__body{
  padding:14px;
}
.home-testimonial-card__photo-wrap{
  margin:-14px -14px 10px;
  overflow:hidden;
  background:#f7f3ee;
}
.home-testimonial-card__photo{
  width:100%;
  height:180px;
  object-fit:cover;
  display:block;
}
.home-testimonial-card__stars{
  margin-bottom:10px;
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.home-testimonial-card__text{
  margin:0;
  color:rgba(0,0,0,.78);
  line-height:1.75;
  font-size:13px;
}
.home-testimonial-card__footer{
  margin-top:10px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}
.home-testimonial-card__name{
  font-weight:800;
  font-size:14px;
}
.home-testimonial-card__meta{
  font-size:11px;
}
.home-post-card{
  position:relative;
  border:1px solid rgba(22,18,12,.12);
  background:
    linear-gradient(135deg, rgba(253,164,2,.08) 0, rgba(253,164,2,0) 44%),
    linear-gradient(180deg, #fff 0%, #fffdf8 100%);
  box-shadow:0 16px 32px rgba(15,12,8,.08);
  overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.home-post-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg, #fda402 0%, #f7c96e 100%);
}
.home-post-card:hover{
  transform:translateY(-4px);
  border-color:rgba(253,164,2,.52);
  box-shadow:0 24px 42px rgba(15,12,8,.14);
}
.home-post-card__body{
  padding:22px 22px 20px 24px;
}
.home-post-card__kicker{
  color:#8a6736;
}
.home-post-card__title{
  margin-top:10px;
  font-family:"Space Grotesk", "Montserrat", ui-sans-serif, system-ui, sans-serif;
  font-size:38px;
  line-height:1.08;
  font-weight:800;
  letter-spacing:-.025em;
  color:#15110a;
}
.home-post-card__text{
  margin-top:12px;
  font-size:14px;
  line-height:1.85;
  color:rgba(29,23,14,.74);
}
.home-post-card__cta{
  display:inline-flex;
  align-items:center;
  margin-top:14px;
  padding:7px 12px;
  border:1px solid rgba(253,164,2,.34);
  background:rgba(253,164,2,.1);
  color:#6d4d13;
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  transition:background .18s ease, color .18s ease, border-color .18s ease;
}
.home-post-card:hover .home-post-card__cta{
  background:#fda402;
  border-color:#fda402;
  color:#fff;
}
.story-folds-section{
  margin-bottom:18px;
}
.story-hero-card{
  position:relative;
  border:1px solid rgba(203,160,74,.34);
  border-radius:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0)),
    linear-gradient(135deg, rgba(253,164,2,.14), rgba(253,164,2,0) 22%, rgba(255,255,255,0) 70%);
  box-shadow:
    0 22px 46px rgba(21,16,9,.14),
    0 0 0 1px rgba(255,255,255,.08) inset;
}
.story-hero-card::before{
  content:"";
  position:absolute;
  inset:10px;
  border:1px solid rgba(248,210,134,.38);
  pointer-events:none;
  z-index:2;
}
.story-hero-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(248,210,134,.32), rgba(248,210,134,0) 11%) top left/140px 1px no-repeat,
    linear-gradient(180deg, rgba(248,210,134,.28), rgba(248,210,134,0) 20%) top left/1px 140px no-repeat,
    linear-gradient(270deg, rgba(248,210,134,.32), rgba(248,210,134,0) 11%) top right/140px 1px no-repeat,
    linear-gradient(180deg, rgba(248,210,134,.28), rgba(248,210,134,0) 20%) top right/1px 140px no-repeat,
    linear-gradient(90deg, rgba(248,210,134,.32), rgba(248,210,134,0) 11%) bottom left/140px 1px no-repeat,
    linear-gradient(0deg, rgba(248,210,134,.28), rgba(248,210,134,0) 20%) bottom left/1px 140px no-repeat,
    linear-gradient(270deg, rgba(248,210,134,.32), rgba(248,210,134,0) 11%) bottom right/140px 1px no-repeat,
    linear-gradient(0deg, rgba(248,210,134,.28), rgba(248,210,134,0) 20%) bottom right/1px 140px no-repeat;
  pointer-events:none;
  z-index:2;
}
.story-folds-head{
  display:grid;
  gap:10px;
  justify-items:center;
  text-align:center;
  margin-bottom:18px;
}
.story-folds-head .kicker{
  font-weight:400;
}
.story-folds-title{
  width:max-content;
  max-width:100%;
  margin:0 auto;
  display:block;
  position:relative;
  font-size:28px;
  line-height:1.08;
  font-style:normal;
  font-weight:500;
  letter-spacing:-.015em;
  white-space:nowrap;
  text-align:center;
  justify-self:center;
}
.story-folds-title::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-10px;
  width:100%;
  height:4px;
  transform:translateX(-50%);
  background:linear-gradient(90deg, rgba(253,164,2,.12) 0%, #fda402 18%, #ffd860 52%, #fda402 82%, rgba(253,164,2,.12) 100%);
  border-radius:999px;
  box-shadow:0 6px 16px rgba(253,164,2,.22);
}
.story-folds-grid{
  display:grid;
  gap:14px;
}
.story-narrative-card{
  border:1px solid rgba(214,169,84,.22);
  background:
    radial-gradient(circle at top right, rgba(253,164,2,.1), transparent 24%),
    linear-gradient(180deg, rgba(255,252,246,.98), rgba(255,255,255,.98));
  box-shadow:0 18px 34px rgba(37,24,7,.06);
}
.story-narrative-card__body{
  padding:16px 22px 18px;
}
.story-narrative-card__line{
  margin:0;
  padding:0 0 0 14px;
  border-left:2px solid rgba(253,164,2,.28);
  font-size:14px;
  line-height:1.62;
  color:rgba(35,28,18,.84);
}
.story-narrative-card__line + .story-narrative-card__line{
  margin-top:8px;
}
.story-narrative-card__mission-title{
  margin-top:12px;
  font-family:"Space Grotesk", "Montserrat", ui-sans-serif, system-ui, sans-serif;
  font-size:18px;
  font-weight:800;
  line-height:1.2;
  color:#1a150e;
}
.story-narrative-card__mission-list{
  margin:8px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:6px;
}
.story-narrative-card__mission-list li{
  position:relative;
  padding-left:20px;
  font-size:14px;
  line-height:1.58;
  color:rgba(35,28,18,.84);
}
.story-narrative-card__mission-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.76em;
  width:8px;
  height:8px;
  border-radius:999px;
  background:#fda402;
  transform:translateY(-50%);
}
.story-narrative-card__quote{
  margin-top:10px;
  padding:10px 12px;
  background:rgba(253,164,2,.08);
  border-left:3px solid #fda402;
  font-size:14px;
  line-height:1.56;
  font-weight:700;
  color:#3d2f19;
}
.story-duo-grid{
  gap:18px;
}
.story-origin-card{
  border:1px solid rgba(184,142,58,.24);
  background:
    radial-gradient(circle at top left, rgba(253,164,2,.14), transparent 26%),
    linear-gradient(180deg, #fffdf8 0%, #fff8ed 100%);
  box-shadow:0 18px 34px rgba(60,38,9,.05);
}
.story-origin-card__body{
  padding:24px;
}
.story-origin-card__title,
.story-blacksoap-card__title,
.story-awareness-card__title,
.story-mission-card__title{
  margin-top:10px;
  font-size:30px;
}
.story-origin-card__text,
.story-blacksoap-card__text,
.story-awareness-card__text{
  margin-top:10px;
  font-size:14px;
  line-height:1.9;
}
.story-origin-card__text + .story-origin-card__text{
  margin-top:8px;
}
.story-blacksoap-card{
  border:1px solid rgba(50,88,59,.18);
  background:
    radial-gradient(circle at bottom right, rgba(76,120,82,.16), transparent 28%),
    linear-gradient(180deg, #fbfdf9 0%, #f4faf3 100%);
  box-shadow:0 18px 34px rgba(20,56,31,.05);
}
.story-blacksoap-card__body{
  padding:24px;
}
.story-blacksoap-card__badges{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.story-blacksoap-card__badge{
  border-color:rgba(76,120,82,.22);
  background:rgba(239,248,240,.9);
  color:#35553c;
}
.story-steps-panel{
  border:1px solid rgba(214,169,84,.18);
  background:
    linear-gradient(180deg, rgba(255,250,240,.96), rgba(255,255,255,.98));
  box-shadow:0 18px 36px rgba(35,25,9,.05);
}
.story-steps-panel__body{
  padding:20px;
}
.story-steps-grid{
  gap:12px;
}
.story-step-card{
  border:1px solid rgba(17,24,39,.08);
  overflow:hidden;
}
.story-step-card__body{
  padding:14px 14px 16px;
}
.story-step-card__badge{
  display:inline-flex;
  margin:0;
}
.story-step-card__title{
  margin-top:10px;
  font-weight:800;
  font-size:16px;
  color:#17120b;
}
.story-step-card__text{
  margin-top:8px;
  font-size:13px;
  line-height:1.7;
  color:var(--muted);
}
.story-step-card--1{
  background:linear-gradient(180deg, rgba(255,247,230,.98), rgba(255,255,255,.98));
}
.story-step-card--1 .story-step-card__badge{
  background:rgba(253,164,2,.16);
  border-color:rgba(253,164,2,.28);
}
.story-step-card--2{
  background:linear-gradient(180deg, rgba(244,250,241,.98), rgba(255,255,255,.98));
}
.story-step-card--2 .story-step-card__badge{
  background:rgba(92,153,92,.14);
  border-color:rgba(92,153,92,.24);
}
.story-step-card--3{
  background:linear-gradient(180deg, rgba(241,247,252,.98), rgba(255,255,255,.98));
}
.story-step-card--3 .story-step-card__badge{
  background:rgba(84,133,214,.12);
  border-color:rgba(84,133,214,.22);
}
.story-step-card--4{
  background:linear-gradient(180deg, rgba(251,242,246,.98), rgba(255,255,255,.98));
}
.story-step-card--4 .story-step-card__badge{
  background:rgba(177,89,123,.12);
  border-color:rgba(177,89,123,.22);
}
.story-awareness-card{
  border:1px solid rgba(163,70,39,.18);
  background:
    linear-gradient(180deg, rgba(255,248,242,.98), rgba(255,255,255,.98));
  box-shadow:0 18px 34px rgba(82,33,17,.05);
}
.story-awareness-card__body{
  padding:24px;
}
.story-awareness-card__actions{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.story-awareness-card .btn{
  border-color:rgba(163,70,39,.2);
  color:#6c351d;
}
.story-awareness-card .btn:hover{
  background:rgba(163,70,39,.08);
}
.story-mission-card{
  border:1px solid rgba(63,95,124,.18);
  background:
    radial-gradient(circle at top right, rgba(87,124,160,.12), transparent 24%),
    linear-gradient(180deg, rgba(246,251,255,.98), rgba(255,255,255,.98));
  box-shadow:0 18px 34px rgba(28,52,74,.05);
}
.story-mission-card__body{
  padding:24px;
}
.story-mission-card__list{
  margin-top:14px;
  display:grid;
  gap:12px;
}
.story-mission-card__item{
  position:relative;
  padding:12px 14px 12px 42px;
  border:1px solid rgba(63,95,124,.12);
  background:rgba(255,255,255,.82);
  color:var(--muted);
  line-height:1.8;
  font-size:14px;
}
.story-mission-card__item::before{
  content:"";
  position:absolute;
  left:16px;
  top:18px;
  width:12px;
  height:12px;
  border-radius:4px;
  background:linear-gradient(135deg, #7ca0c7, #fda402);
}
.story-archive-panel{
  border:1px solid rgba(28,28,28,.08);
  background:
    linear-gradient(180deg, rgba(252,252,252,.98), rgba(248,245,239,.98));
  box-shadow:0 18px 36px rgba(17,24,39,.05);
}
.story-archive-panel__body{
  padding:20px;
}
.story-archive-grid{
  gap:14px;
}
.story-archive-card{
  border:1px solid rgba(17,24,39,.08);
  background:rgba(255,255,255,.94);
  box-shadow:0 10px 24px rgba(17,24,39,.05);
}
.story-archive-card__media{
  min-height:220px;
  background:#f8f5ef;
  overflow:hidden;
}
.story-archive-card__content{
  padding:18px;
}
.story-archive-card__title{
  font-weight:800;
  font-size:22px;
  color:#17120b;
}
.story-archive-card__text{
  margin-top:10px;
  font-size:14px;
  line-height:1.9;
}
.story-fold-card{
  border:1px solid rgba(214,169,84,.22);
  background:
    radial-gradient(circle at top right, rgba(253,164,2,.12), transparent 24%),
    linear-gradient(180deg, rgba(255,252,246,.98), rgba(255,255,255,.98));
  box-shadow:0 16px 30px rgba(37,24,7,.05);
  overflow:hidden;
}
.story-fold-card[open]{
  border-color:rgba(214,169,84,.44);
  box-shadow:0 22px 40px rgba(37,24,7,.08);
}
.story-fold-card__summary{
  list-style:none;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px 18px;
  align-items:center;
  padding:18px 20px;
  cursor:pointer;
}
.story-fold-card__summary::-webkit-details-marker{
  display:none;
}
.story-fold-card__eyebrow{
  grid-column:1 / 2;
  font-size:11px;
  font-weight:800;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:#8a6831;
}
.story-fold-card__title{
  grid-column:1 / 2;
  font-family:"Space Grotesk", "Montserrat", ui-sans-serif, system-ui, sans-serif;
  font-size:28px;
  line-height:1.08;
  font-weight:800;
  letter-spacing:-.03em;
  color:#15110a;
}
.story-fold-card__toggle{
  grid-column:2 / 3;
  grid-row:1 / span 2;
  align-self:center;
  width:42px;
  height:42px;
  border:1px solid rgba(214,169,84,.26);
  border-radius:999px;
  background:rgba(255,255,255,.82);
  position:relative;
}
.story-fold-card__toggle::before,
.story-fold-card__toggle::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:14px;
  height:2px;
  background:#7a5f22;
  transform:translate(-50%, -50%);
  transition:transform .22s ease, opacity .22s ease;
}
.story-fold-card__toggle::after{
  transform:translate(-50%, -50%) rotate(90deg);
}
.story-fold-card[open] .story-fold-card__toggle::after{
  opacity:0;
}
.story-fold-card__content{
  padding:0 20px 20px;
  border-top:1px solid rgba(214,169,84,.14);
}
.story-fold-card__content p{
  margin:14px 0 0;
  font-size:15px;
  line-height:1.9;
  color:rgba(35,28,18,.82);
}
.story-fold-card__list{
  margin:14px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.story-fold-card__list li{
  position:relative;
  padding-left:22px;
  font-size:15px;
  line-height:1.8;
  color:rgba(35,28,18,.82);
}
.story-fold-card__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:10px;
  height:10px;
  background:#fda402;
  border-radius:999px;
  transform:translateY(-50%);
}
.story-fold-card__quote{
  margin-top:16px;
  padding:14px 16px;
  border-left:3px solid #fda402;
  background:rgba(253,164,2,.08);
  font-size:15px;
  line-height:1.8;
  font-weight:700;
  color:#3d2f19;
}
@media (max-width: 700px){
  .ingredient-page-head{
    padding-top:10px;
  }
  .ingredient-page-head h1{
    font-size:30px;
  }
  .ingredient-page-head > .lead{
    font-size:12px !important;
    line-height:1.5;
  }
  .ingredient-discovery__body,
  .ingredient-search__body{
    padding:14px;
  }
  .ingredient-discovery__legend{
    grid-template-columns:1fr;
  }
  .ingredient-discovery__legend-item{
    min-height:50px;
    font-size:15px;
  }
  .ingredient-discovery__filters{
    gap:10px;
    justify-content:flex-start;
    overflow-x:auto;
    overflow-y:hidden;
  }
  .ingredient-discovery__filter{
    flex:0 0 auto;
    width:auto;
  }
  .ingredient-search__form{
    flex-direction:column;
    align-items:stretch;
  }
  .ingredient-search__input,
  .ingredient-search__button{
    width:100%;
    min-width:0;
  }
  .order-timeline__node{width:34px;height:34px}
  .order-timeline__node svg{width:16px !important;height:16px !important}
  .order-timeline__line{width:42px;height:2px;flex-basis:42px}
  .order-timeline-detail{padding:14px}
  .variant-selector{
    grid-template-columns:1fr;
  }
  .product-reassurance__grid,
  .contact-trust-row,
  .tracking-trust-row{
    grid-template-columns:1fr;
  }
  .home-ingredient-card{
    max-width:100%;
  }
  .home-ingredient-card .card-body{
    padding:18px 16px;
  }
  .home-ingredient-card__title{
    font-size:30px;
  }
  .home-post-card__body{
    padding:18px 16px 16px 18px;
  }
  .home-post-card__title{
    font-size:32px;
  }
  .story-folds-title{
    max-width:none;
    font-size:22px;
    white-space:normal;
  }
  .story-hero-card::before{
    inset:7px;
  }
  .story-hero-card::after{
    background:
      linear-gradient(90deg, rgba(248,210,134,.3), rgba(248,210,134,0) 16%) top left/92px 1px no-repeat,
      linear-gradient(180deg, rgba(248,210,134,.26), rgba(248,210,134,0) 26%) top left/1px 92px no-repeat,
      linear-gradient(270deg, rgba(248,210,134,.3), rgba(248,210,134,0) 16%) top right/92px 1px no-repeat,
      linear-gradient(180deg, rgba(248,210,134,.26), rgba(248,210,134,0) 26%) top right/1px 92px no-repeat,
      linear-gradient(90deg, rgba(248,210,134,.3), rgba(248,210,134,0) 16%) bottom left/92px 1px no-repeat,
      linear-gradient(0deg, rgba(248,210,134,.26), rgba(248,210,134,0) 26%) bottom left/1px 92px no-repeat,
      linear-gradient(270deg, rgba(248,210,134,.3), rgba(248,210,134,0) 16%) bottom right/92px 1px no-repeat,
      linear-gradient(0deg, rgba(248,210,134,.26), rgba(248,210,134,0) 26%) bottom right/1px 92px no-repeat;
  }
  .story-narrative-card__body{
    padding:18px 16px 20px;
  }
  .story-narrative-card__line,
  .story-narrative-card__mission-list li,
  .story-narrative-card__quote{
    font-size:14px;
  }
  .story-narrative-card__mission-title{
    font-size:18px;
  }
  .story-duo-grid,
  .story-archive-grid{
    gap:14px;
  }
  .story-steps-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .story-step-card{
    width:100%;
  }
  .story-step-card__body{
    padding:16px;
  }
  .story-origin-card__body,
  .story-blacksoap-card__body,
  .story-awareness-card__body,
  .story-mission-card__body,
  .story-steps-panel__body,
  .story-archive-panel__body{
    padding:18px;
  }
  .story-origin-card__title,
  .story-blacksoap-card__title,
  .story-awareness-card__title,
  .story-mission-card__title{
    font-size:24px;
  }
  .story-fold-card__summary{
    padding:16px;
    gap:8px 12px;
  }
  .story-fold-card__title{
    font-size:22px;
  }
  .story-fold-card__content{
    padding:0 16px 16px;
  }
  .story-fold-card__content p,
  .story-fold-card__list li,
  .story-fold-card__quote{
    font-size:14px;
  }
.home-testimonial-card__photo{
  height:160px;
}
.home-impact-copy .section-head__title{
    font-size:36px;
    max-width:none;
  }
  .home-impact-text{
    max-width:none;
    font-size:15px;
    line-height:1.65;
  }
  .home-impact-pills{
    max-width:none;
  }
  .home-impact-pill{
    min-height:40px;
    font-size:13px;
    padding:9px 11px;
  }
  .home-impact-media-card__body{
    padding:14px;
  }
  .home-impact-media-card .media-carousel__track{
    height:340px;
  }
}

.expo-hero{
  padding:34px 0 0;
}
.expo-hero__card{
  position:relative;
  min-height:440px;
  overflow:hidden;
  border:1px solid rgba(44,34,22,.12);
  background:#16150f;
  box-shadow:0 24px 70px rgba(44,34,22,.12);
}
.expo-hero__image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  filter:saturate(1.04) contrast(1.02);
}
.expo-hero__shade{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 82% 18%, rgba(245,160,0,.18), transparent 26%),
    linear-gradient(90deg, rgba(0,0,0,.68), rgba(0,0,0,.32) 52%, rgba(0,0,0,.12));
}
.expo-hero__content{
  position:relative;
  z-index:1;
  max-width:760px;
  padding:42px;
}
.expo-hero__badge{
  width:max-content;
  background:rgba(255,255,255,.92);
  border-color:rgba(255,255,255,.38);
}
.expo-hero__title{
  margin:16px 0 0;
  color:#fff;
  font-size:clamp(42px, 5vw, 78px);
  line-height:.98;
  letter-spacing:-.035em;
}
.expo-hero__text{
  max-width:680px;
  margin-top:16px;
  color:rgba(255,255,255,.9);
}
.expo-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}
.expo-page{
  padding:28px 0 62px;
}
.expo-shop-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,360px);
  gap:0;
  overflow:hidden;
  border:1px solid rgba(44,34,22,.12);
  background:
    radial-gradient(circle at 18% 12%, rgba(245,160,0,.18), transparent 30%),
    linear-gradient(135deg, #fffdf7, #f7ead1);
  box-shadow:0 22px 60px rgba(44,34,22,.1);
}
.expo-shop-hero__content{
  padding:20px 24px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.expo-shop-hero h1{
  margin:8px 0 0;
  max-width:620px;
  font-size:clamp(30px, 3.4vw, 48px);
  line-height:1;
  letter-spacing:-.03em;
}
.expo-shop-hero .lead{
  max-width:760px;
  margin-top:10px;
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
}
.expo-shop-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:14px;
}
.expo-shop-hero__gallery{
  min-height:220px;
  max-height:220px;
  margin:18px 18px 18px 0;
  overflow:hidden;
  border:1px solid rgba(44,34,22,.13);
  background:rgba(255,255,255,.54);
}
.expo-shop-hero__gallery-track{
  position:relative;
  height:100%;
}
.expo-shop-hero__gallery-track a{
  position:absolute;
  inset:10px;
  display:block;
  height:100%;
  opacity:0;
  pointer-events:none;
  transform:scale(1.025);
  transition:opacity .7s ease, transform .9s ease;
  cursor:zoom-in;
}
.expo-shop-hero__gallery-track a.is-active{
  opacity:1;
  pointer-events:auto;
  transform:scale(1);
}
.expo-shop-hero__gallery-track img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  box-shadow:0 10px 24px rgba(44,34,22,.08);
}
.expo-promo-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:18px;
}
.expo-promo-card{
  position:relative;
  overflow:hidden;
  padding:24px;
  border:1px solid rgba(44,34,22,.12);
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,245,224,.86)),
    radial-gradient(circle at 100% 0, rgba(245,160,0,.18), transparent 28%);
  box-shadow:0 16px 44px rgba(44,34,22,.08);
}
.expo-promo-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:5px;
  background:linear-gradient(90deg, var(--accent), #f8d286);
}
.expo-promo-card__media{
  height:190px;
  margin:-24px -24px 18px;
  background:#f8f1e6;
}
.expo-promo-card__media a,
.expo-event-card__media a{
  display:block;
  width:100%;
  height:100%;
  cursor:zoom-in;
}
.expo-promo-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.expo-promo-card__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#8b5a00;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.expo-promo-card__top small{
  font-size:11px;
  color:var(--muted);
}
.expo-promo-card h2{
  margin:18px 0 0;
  font-size:24px;
  line-height:1.12;
}
.expo-promo-card__price{
  margin-top:12px;
  width:max-content;
  max-width:100%;
  padding:10px 14px;
  background:#1f2d22;
  color:#fff;
  font-size:22px;
  font-weight:900;
}
.expo-promo-card__format{
  margin:10px 0 0;
  color:var(--muted);
  font-size:13px;
  font-weight:800;
}
.expo-promo-card__formats{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.expo-promo-card__formats button{
  appearance:none;
  border:1px solid rgba(44,34,22,.14);
  background:rgba(255,255,255,.82);
  color:#2c241c;
  min-height:38px;
  padding:8px 13px;
  font-weight:900;
  font-size:13px;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.expo-promo-card__formats button:hover{
  transform:translateY(-1px);
  border-color:rgba(253,164,2,.55);
}
.expo-promo-card__formats button.is-active{
  background:linear-gradient(135deg,#fda402,#f8c56a);
  border-color:#fda402;
  color:#fff;
}
.expo-promo-card__prices{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}
.expo-promo-card__prices .expo-promo-card__price{
  margin-top:0;
}
.expo-promo-card__regular{
  color:var(--muted);
  font-size:14px;
  font-weight:800;
  text-decoration:line-through;
}
.expo-promo-card p{
  margin:12px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.72;
}
.expo-intro-card,
.expo-action-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:28px;
  border:1px solid rgba(44,34,22,.12);
  background:
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,247,229,.78)),
    radial-gradient(circle at 100% 0, rgba(245,160,0,.16), transparent 30%);
  box-shadow:0 18px 52px rgba(44,34,22,.08);
}
.expo-intro-card h2,
.expo-action-card h2{
  margin:8px 0 0;
  font-size:clamp(30px, 3vw, 48px);
  line-height:1.04;
}
.expo-intro-card p,
.expo-action-card p{
  margin:0;
  max-width:760px;
  color:var(--muted);
  font-size:15px;
  line-height:1.85;
}
.expo-offers{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:18px;
}
.expo-offer-card{
  position:relative;
  overflow:hidden;
  min-height:188px;
  padding:24px;
  border:1px solid rgba(44,34,22,.12);
  background:linear-gradient(135deg, #fffdfa, #fff4db);
  box-shadow:0 16px 42px rgba(44,34,22,.08);
}
.expo-offer-card:nth-child(2){
  background:linear-gradient(135deg, #f9fbf5, #fffdf8);
}
.expo-offer-card:nth-child(3){
  background:linear-gradient(135deg, #fff8f2, #fffdf8);
}
.expo-offer-card__mark{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:5px;
  background:linear-gradient(90deg, var(--accent), #f8d286);
}
.expo-offer-card h3{
  margin:20px 0 0;
  font-size:24px;
  line-height:1.12;
}
.expo-offer-card p{
  margin:12px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.75;
}
.expo-section-head{
  max-width:920px;
  margin:34px auto 18px;
  text-align:center;
}
.expo-section-head h2{
  margin:8px 0 0;
  font-size:clamp(34px, 4vw, 56px);
  line-height:1.02;
}
.expo-section-head p{
  margin:12px auto 0;
  max-width:760px;
  color:var(--muted);
  line-height:1.8;
}
.expo-events-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.expo-event-card{
  overflow:hidden;
  border:1px solid rgba(44,34,22,.12);
  background:rgba(255,255,255,.82);
  box-shadow:0 16px 44px rgba(44,34,22,.08);
  transition:transform .22s ease, box-shadow .22s ease;
}
.expo-event-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 58px rgba(44,34,22,.12);
}
.expo-event-card__media{
  height:210px;
  background:#f7efe1;
}
.expo-event-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.expo-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:rgba(15,13,10,.86);
  backdrop-filter:blur(8px);
}
.expo-lightbox[hidden]{
  display:none !important;
}
.expo-lightbox__figure{
  width:min(1080px, 100%);
  max-height:92vh;
  margin:0;
  display:grid;
  gap:12px;
}
.expo-lightbox__figure img{
  width:100%;
  max-height:84vh;
  object-fit:contain;
  background:#111;
  box-shadow:0 24px 80px rgba(0,0,0,.38);
}
.expo-lightbox__figure figcaption{
  color:#fff;
  text-align:center;
  font-weight:800;
}
.expo-lightbox__close{
  position:absolute;
  top:18px;
  right:18px;
  width:46px;
  height:46px;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:30px;
  line-height:1;
  cursor:pointer;
}
.expo-event-card__media video{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.expo-event-card__body{
  padding:18px;
}
.expo-event-card__meta{
  display:inline-flex;
  padding:6px 10px;
  background:rgba(245,160,0,.12);
  color:#8b5a00;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.expo-event-card h3{
  margin:12px 0 0;
  font-size:22px;
  line-height:1.12;
}
.expo-event-card p{
  margin:10px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.72;
}
.expo-action-card{
  margin-top:22px;
  background:
    linear-gradient(135deg, rgba(32,45,34,.94), rgba(68,50,24,.92)),
    radial-gradient(circle at 100% 0, rgba(245,160,0,.2), transparent 35%);
  color:#fff;
}
.expo-action-card .kicker,
.expo-action-card p{
  color:rgba(255,255,255,.78);
}
.expo-action-card .btn{
  flex:0 0 auto;
}

@media (max-width: 980px){
  .expo-shop-hero{
    grid-template-columns:1fr;
  }
  .expo-promo-grid{
    grid-template-columns:1fr;
  }
  .expo-events-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .expo-offers{
    grid-template-columns:1fr;
  }
  .expo-intro-card,
  .expo-action-card{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media (max-width: 560px){
  .expo-hero{
    padding-top:18px;
  }
  .expo-hero__card{
    min-height:420px;
  }
  .expo-hero__content{
    padding:26px 20px;
  }
  .expo-hero__actions .btn{
    width:100%;
  }
  .expo-shop-hero__content{
    padding:20px;
  }
  .expo-shop-hero__actions .btn{
    width:100%;
  }
  .expo-shop-hero__gallery{
    margin:0 20px 20px;
    min-height:180px;
    max-height:180px;
  }
  .expo-shop-hero__gallery-track{
    height:100%;
  }
  .expo-page{
    padding-top:18px;
  }
  .expo-intro-card,
  .expo-action-card{
    padding:20px;
  }
  .expo-events-grid{
    grid-template-columns:1fr;
  }
  .expo-event-card__media{
    height:220px;
  }
}

@keyframes kotoImpactMediaRollOut{
  0%{opacity:1;clip-path:inset(0 0 0 0);filter:brightness(1) saturate(1);transform:translate3d(0,0,0) rotateX(0deg) scaleY(1)}
  100%{opacity:1;clip-path:inset(0 0 82% 0);filter:brightness(.88) saturate(.92);transform:translate3d(0,-7%,0) rotateX(88deg) scaleY(.962)}
}

@keyframes kotoImpactMediaRollIn{
  0%{opacity:1;clip-path:inset(82% 0 0 0);filter:brightness(.88) saturate(.92);transform:translate3d(0,7%,0) rotateX(-88deg) scaleY(.962)}
  100%{opacity:1;clip-path:inset(0 0 0 0);filter:brightness(1) saturate(1);transform:translate3d(0,0,0) rotateX(0deg) scaleY(1)}
}

.admin-mobile-bar{
  display:none;
  margin-bottom:14px;
}
.admin-mobile-toggle{
  min-height:42px;
  padding:10px 16px;
  font-weight:700;
}

@media (max-width: 980px){
  .shop-category-nav{
    display:flex;
    flex-wrap:nowrap;
    gap:10px;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .shop-category-nav::-webkit-scrollbar{display:none}
  .shop-category-pill{
    flex:0 0 auto;
    min-width:max-content;
  }
  .admin-shell{
    padding:18px 14px 28px !important;
  }
  .admin-layout{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .admin-main{
    min-width:0;
  }
  .admin-mobile-bar{
    display:flex;
  }
  .admin-sidebar{
    position:static !important;
    top:auto !important;
    max-height:none !important;
    overflow:visible !important;
    display:none;
  }
  .admin-sidebar.is-open{
    display:block;
  }
}

@media (max-width: 560px){
  .shop-category-nav{
    display:flex;
    flex-wrap:nowrap;
    gap:8px;
    overflow-x:auto;
    overflow-y:hidden;
  }
  .shop-category-pill{
    flex:0 0 auto;
    min-height:48px;
    min-width:max-content;
    padding:12px 14px;
    font-size:13px;
    white-space:nowrap;
  }
  .admin-shell{
    padding:14px 10px 24px !important;
  }
  .admin-sidebar .card-body,
  .admin-main .card-body{
    padding:14px;
  }
  .admin-main h1{
    font-size:34px;
    line-height:1.08;
  }
  .admin-main .grid,
  .admin-main .grid-2,
  .admin-main .grid-3,
  .admin-main .grid-4{
    grid-template-columns:1fr !important;
  }
  .admin-main table{
    display:block;
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  .admin-main .btn{
    width:100%;
  }
  .admin-main form .btn{
    width:auto;
  }
}

/* Mobile harmonisation pass */
@media (max-width: 760px){
  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }
  body{
    padding-top:calc(var(--header-offset, 132px) + var(--header-safe-gap, 2px) - var(--topbar-hidden-offset, 0px));
  }
  .site-header{
    overflow-x:hidden;
  }
  .container,
  .page-head,
  section{
    max-width:100%;
  }
  .header-main{
    width:100%;
    padding-left:2px;
    padding-right:2px;
  }
  .logo--menu{
    min-width:0;
  }
  .header-right{
    overflow:hidden;
  }
  .routine-link{
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .search--header{
    width:min(88vw, 440px);
    margin-left:auto;
    margin-right:auto;
  }
  .search-results{
    left:0;
    right:0;
    max-height:60vh;
    overflow:auto;
  }
  .categorybar{
    overflow:hidden;
  }
  .category-row{
    display:flex;
    align-items:center;
    width:100%;
    gap:6px;
  }
  .category-scroll{
    flex:1 1 auto;
    min-width:0;
    display:flex;
    gap:8px;
    overflow-x:auto;
    overflow-y:hidden;
  }
  .category-menu-btn{
    flex:0 0 auto;
    margin-left:0;
  }
  .hero-banner,
  .hero-media-carousel,
  .hero-media-carousel__track,
  .hero-media-carousel__slide{
    width:100%;
    max-width:100%;
  }
  .hero-card{
    word-break:normal;
    overflow-wrap:anywhere;
  }
  .section,
  .page-section,
  .after-hero,
  .expo-page{
    overflow-x:hidden;
  }
  .card,
  .product-card-clean,
  .ingredient-card,
  .testimonial-card,
  .expo-event-card,
  .expo-product-card,
  .contact-panel,
  .story-hero-card{
    max-width:100%;
  }
  .product-card-grid,
  .hero-products-grid,
  .ingredients-grid,
  .testimonials-grid,
  .expo-events-grid,
  .expo-products-grid,
  .grid,
  .grid-2,
  .grid-3,
  .grid-4{
    min-width:0;
  }
  input,
  textarea,
  select,
  button,
  .btn,
  .pill{
    max-width:100%;
  }
  table{
    max-width:100%;
  }
  .tracking-trust-row{
    grid-template-columns:1fr;
    gap:8px;
  }
  .tracking-search-compact #tracking-form{
    max-width:100% !important;
  }
  .tracking-search-compact #tracking-form .btn{
    width:100%;
  }
  .tracking-summary-compact .card-body{
    overflow-wrap:anywhere;
  }
  .order-timeline--tracking-grid{
    display:flex !important;
    gap:0;
    overflow-x:auto;
    padding:4px 2px 10px;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
  }
  .order-timeline--tracking-grid .order-timeline__item{
    flex:0 0 94px;
    scroll-snap-align:start;
  }
  .order-timeline--tracking-grid .order-timeline__arrow{
    width:54px;
  }
}

@media (max-width: 430px){
  .container{
    padding-left:12px;
    padding-right:12px;
  }
  .search--header{
    width:min(86vw, 360px);
  }
  .routine-link{
    font-size:9.5px;
  }
  .iconbar{
    gap:6px;
  }
  .category-scroll{
    gap:6px;
  }
  .cat{
    font-size:10.5px;
    padding:6px 7px;
  }
  .hero--home .hero-banner{
    min-height:64vh;
  }
  .hero-card{
    padding:14px 12px;
  }
  .hero-title,
  .hero--home .hero-title{
    font-size:23px;
  }
}

/* Accueil: les produits phares doivent rester lisibles sur mobile. */
@media (max-width: 760px){
  .hero-products-section .hero-products-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:12px !important;
  }
  .hero-products-section .product-card-clean{
    min-width:0;
  }
  .hero-products-section .product-card-clean .card-img{
    height:170px;
  }
  .hero-products-section .product-card-clean__body{
    padding:12px;
    gap:6px;
  }
  .hero-products-section .product-card-clean .kicker{
    font-size:9px;
    letter-spacing:.16em;
  }
  .hero-products-section .card-title{
    font-size:13px;
    line-height:1.15;
    word-break:normal;
    overflow-wrap:normal;
    hyphens:auto;
  }
  .hero-products-section .product-card-clean .card-row{
    display:grid;
    grid-template-columns:1fr;
    gap:6px;
    align-items:start;
  }
  .hero-products-section .product-card-clean .price{
    font-size:13px;
    line-height:1.15;
  }
  .hero-products-section .product-card-clean .pill{
    justify-self:start;
    min-height:30px;
    padding:6px 10px;
    font-size:11px;
  }
  .hero-products-section .product-card-clean__cta{
    width:100%;
    min-height:38px;
    padding:7px 10px;
    font-size:12px;
    line-height:1.2;
  }
}

@media (max-width: 340px){
  .hero-products-section .hero-products-grid{
    grid-template-columns:1fr !important;
  }
}

/* Mobile commerce: panier, commande et boutique sans debordement horizontal. */
@media (max-width: 760px){
  .page-head{
    overflow-x:hidden;
  }
  .page-head > .split,
  .checkout-layout,
  .cart-layout{
    grid-template-columns:1fr !important;
    width:100% !important;
    max-width:100% !important;
    gap:14px !important;
  }
  .page-head .filters{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    position:static !important;
    order:2;
  }
  .page-head section,
  .page-head aside,
  .page-head form,
  .page-head .card,
  .page-head .card-body{
    min-width:0 !important;
    max-width:100% !important;
  }
  .page-head .card-body[style*="grid-template-columns:120px"]{
    grid-template-columns:96px minmax(0, 1fr) !important;
    gap:10px !important;
  }
  .page-head .card-body[style*="grid-template-columns:120px"] > a.card img{
    height:96px !important;
  }
  .page-head .card-body[style*="justify-content:space-between"],
  .page-head .card-body div[style*="justify-content:space-between"]{
    min-width:0 !important;
  }
  .page-head .card-body div[style*="text-align:right"]{
    text-align:left !important;
    min-width:0 !important;
    width:100% !important;
  }
  .page-head .card-body form[style*="justify-content:flex-end"]{
    justify-content:flex-start !important;
    flex-wrap:wrap !important;
  }
  .page-head input,
  .page-head textarea,
  .page-head select{
    width:100% !important;
    min-width:0 !important;
  }
  .page-head input[type="number"]{
    width:82px !important;
    flex:0 0 82px;
  }
  .page-head .filters .card-body{
    padding:14px !important;
  }
  .page-head .filters .btn,
  .page-head .filters button{
    width:100%;
  }
  .product-card-grid:not(.hero-products-grid){
    grid-template-columns:1fr !important;
    gap:14px !important;
    width:100% !important;
    max-width:100% !important;
  }
  .product-card-grid:not(.hero-products-grid) .product-card-clean{
    width:100%;
    max-width:100%;
  }
  .product-card-grid:not(.hero-products-grid) .product-card-clean .card-img{
    height:220px;
  }
  .product-card-grid:not(.hero-products-grid) .product-card-clean__body{
    padding:14px;
    gap:8px;
  }
  .product-card-grid:not(.hero-products-grid) .product-card-clean .card-title{
    font-size:17px;
    line-height:1.18;
    overflow-wrap:normal;
    word-break:normal;
  }
  .product-card-grid:not(.hero-products-grid) .product-card-clean .card-row{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  .product-card-grid:not(.hero-products-grid) .product-card-clean .pill{
    justify-self:start;
    min-height:34px;
    padding:7px 12px;
    font-size:12px;
  }
  .product-card-grid:not(.hero-products-grid) .product-card-clean__cta{
    min-height:42px;
    font-size:13px;
  }
}

@media (max-width: 430px){
  .whatsapp-floating{
    right:14px;
    bottom:82px;
    width:64px;
    height:64px;
  }
  .whatsapp-floating__icon{
    width:100%;
    height:100%;
  }
  .whatsapp-floating__icon svg{
    width:44px;
    height:44px;
  }
  .page-head .card-body[style*="grid-template-columns:120px"]{
    grid-template-columns:1fr !important;
  }
  .page-head .card-body[style*="grid-template-columns:120px"] > a.card{
    width:100%;
  }
  .page-head .card-body[style*="grid-template-columns:120px"] > a.card img{
    height:180px !important;
  }
  .product-card-grid:not(.hero-products-grid) .product-card-clean .card-img{
    height:190px;
  }
}

/* Boutique mobile: affichage catalogue en deux colonnes comme la version en ligne. */
@media (max-width: 760px){
  .shop-product-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:12px !important;
    align-items:stretch;
  }
  .shop-product-grid .product-card-clean{
    width:100%;
    min-width:0;
    border-radius:22px !important;
  }
  .shop-product-grid .product-card-clean .card-img{
    height:170px !important;
    aspect-ratio:auto;
  }
  .shop-product-grid .product-card-clean__body{
    padding:12px !important;
    gap:6px !important;
  }
  .shop-product-grid .product-card-clean .kicker{
    font-size:9px;
    letter-spacing:.16em;
  }
  .shop-product-grid .product-card-clean .card-title{
    font-size:13px !important;
    line-height:1.15 !important;
    min-height:auto;
    word-break:normal;
    overflow-wrap:normal;
    hyphens:auto;
  }
  .shop-product-grid .product-card-clean .card-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:6px !important;
    align-items:start;
  }
  .shop-product-grid .product-card-clean .price{
    font-size:13px !important;
    line-height:1.15;
  }
  .shop-product-grid .product-card-clean .pill{
    justify-self:start;
    min-height:30px !important;
    padding:6px 10px !important;
    font-size:11px !important;
  }
  .shop-product-grid .product-card-clean__cta{
    width:100%;
    min-height:38px !important;
    padding:7px 10px;
    font-size:12px !important;
    line-height:1.2;
  }
}

@media (max-width: 340px){
  .shop-product-grid{
    grid-template-columns:1fr !important;
  }
}

/* Boutique mobile: garder 2 produits par ligne comme sur la reference. */
@media (max-width: 560px){
  .grid.grid-3.product-card-grid.shop-product-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:12px !important;
  }
}

@media (max-width: 430px){
  .grid.grid-3.product-card-grid.shop-product-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

.tracking-copy-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:1px solid rgba(214,169,84,.28);
  background:#fffaf0;
}
.tracking-copy-box [data-copy-tracking-value]{
  display:inline-block;
  margin-left:6px;
  font-weight:800;
  color:#111;
  word-break:break-word;
}
.tracking-copy-btn{
  flex:0 0 auto;
  min-height:38px;
}
.tracking-copy-btn.is-copied{
  background:#1f9d55 !important;
  border-color:#1f9d55 !important;
  color:#fff !important;
}
.tracking-result-priority{
  position:relative;
  z-index:20;
  border-color:rgba(253,164,2,.48) !important;
  box-shadow:0 22px 48px rgba(37,24,7,.14);
}

@media (max-width: 560px){
  .tracking-copy-box{
    align-items:stretch;
    flex-direction:column;
  }
  .tracking-copy-btn{
    width:100%;
  }
}
