: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);
  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-size:12px;letter-spacing:.25em;text-transform:uppercase;color:var(--muted)}
.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}
.media-carousel__track{display:flex;transition:transform .45s ease}
.media-carousel__slide{min-width:100%;flex:0 0 100%;background:#f7f3ee}
.media-carousel__media{display:block;width:100%;height:320px;object-fit:cover}
.media-carousel--embedded{margin-top:16px}
.media-carousel--embedded .media-carousel__media{height:240px}

.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{color:rgba(31,31,31,.72)}
.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{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:24px;height:22px;padding:0 8px;
  border-radius:999px;
  background:rgba(95,122,106,.12);
  color:rgba(49,79,63,.95);
  font-size:12px;
  border:1px solid rgba(95,122,106,.18);
}
.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:cover;object-position:20% 25%;z-index:0;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-image: var(--hero-img);
  background-size: cover;
  background-position: var(--hero-x, 14%) var(--hero-y, 18%);
  transform: scaleX(var(--hero-flip, 1));
  transform-origin: center;
  filter: saturate(0.95) contrast(1.02);
  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:1;
}
.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 kotoHeroCardPulse{
  0%, 18%{
    opacity:1;
    transform:translate3d(0, 0, 0);
  }
  24%, 42%{
    opacity:0;
    transform:translate3d(0, 8px, 0);
  }
  50%, 100%{
    opacity:1;
    transform:translate3d(0, 0, 0);
  }
}
.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{min-height:480px}
.hero--home .hero-card{
  padding:18px;
  width:min(480px, 92vw);
  border-radius:0;
  animation:kotoHeroCardPulse 8s ease-in-out 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}
.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-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}
}

@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{
    min-width:22px;
    height:20px;
    padding:0 6px;
    font-size:11px;
  }
  .flag{
    width:30px;
    height:22px;
    font-size:11px;
    flex:0 0 auto;
  }
  .hero-banner{
    min-height:340px;
  }
  .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-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:18px;
    min-width:18px;
  }
  .flag{
    width:26px;
    height:20px;
    font-size:10px;
  }
  .cartpill{
    min-width:18px;
    height:20px;
    padding:0 4px;
    font-size:10px;
  }
  .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}

@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{padding-left:0;padding-right:0}
  .hero--home .hero-card{margin-right:0;will-change:opacity, transform}
}

@media (prefers-reduced-motion: reduce){
  .hero--home .hero-card{animation: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;
}
@media (max-width: 700px){
  .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}
}
