/* Extracted verbatim from original index.html. No UI rules intentionally changed. */


/* ============================================
   DESIGN TOKENS
   ============================================ */
:root{
  --gold:#C9A227;
  --gold-dark:#A9861D;
  --gold-tint:#F4E9CB;
  --maroon:#7A2020;
  --maroon-dark:#5E1818;
  --maroon-tint:#F3E2E0;
  --bg:#FAF7F0;
  --surface:#FBF4E6;
  --surface-2:#F3ECDC;
  --green:#7EA945;
  --green-tint:#E7EFDA;
  --text:#2E2820;
  --text-muted:#7A7060;
  --text-faint:#7C7361;
  --border:#E7DDC9;
  --border-strong:#D8CBAE;
  --white:#FFFFFF;
  --r-sm:8px;
  --r-md:12px;
  --r-btn:16px;
  --r-input:16px;
  --r-card:20px;
  --r-modal:24px;
  --r-drawer:28px;
  --r-full:9999px;
  --shadow-1: 0 1px 2px rgba(46,40,32,0.04), 0 1px 1px rgba(46,40,32,0.03);
  --shadow-2: 0 8px 24px rgba(46,40,32,0.08);
  --shadow-drawer: 0 -4px 32px rgba(46,40,32,0.14);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --font: 'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --maxw: 1280px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; overflow-x:clip; }
body{
  margin:0;
  font-family:var(--font);
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
  overflow-x:clip;
  width:100%;
}
img{ max-width:100%; display:block; }
button{ font-family:inherit; cursor:pointer; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4,p{ margin:0; }
input,textarea{ font-family:inherit; font-size:1rem; }
:focus-visible{ outline:2px solid var(--gold-dark); outline-offset:2px; border-radius:4px; }
[tabindex="-1"]:focus{ outline:none; }
.skip-link{
  position:fixed; top:-100px; left:16px; z-index:200;
  background:var(--maroon); color:#fff; padding:12px 20px;
  border-radius:12px; transition:top .2s;
}
.skip-link:focus{ top:16px; }
.sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

.container{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 16px;
}
@media(min-width:768px){ .container{ padding:0 32px; } }
@media(min-width:1280px){ .container{ padding:0 48px; } }

.content-measure{ max-width:760px; }

/* ============================================
   ICON BUTTON BASE
   ============================================ */
.icon{ width:20px; height:20px; flex-shrink:0; }
.icon-sm{ width:16px; height:16px; }
.icon-lg{ width:28px; height:28px; }

/* ============================================
   TYPOGRAPHY UTILITIES
   ============================================ */
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:0.75rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--gold-dark);
}
.eyebrow::before{ content:''; width:22px; height:11px; background-image:url('data:image/png;base64,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'); background-size:contain; background-repeat:no-repeat; background-position:center; display:inline-block; flex-shrink:0; }
.section-title{ font-size:1.875rem; font-weight:800; letter-spacing:-0.01em; line-height:1.15; color:var(--text); }
.section-lead{ font-size:1.125rem; color:var(--text-muted); line-height:1.6; margin-top:10px; }
@media(min-width:768px){ .section-title{ font-size:2.25rem; } }

.section-head{ margin-bottom:36px; }
.section-head-row{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap; }

/* ============================================
   LAYOUT / SECTIONS
   ============================================ */
.section{ padding-top:56px; padding-bottom:56px; }
@media(min-width:768px){ .section{ padding-top:80px; padding-bottom:80px; } }
.section--tight{ padding-top:40px; padding-bottom:40px; }
.section--surface{ background:var(--surface); }

/* ============================================
   BUTTONS
   ============================================ */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  height:48px; padding:0 24px;
  border-radius:var(--r-btn);
  border:1px solid transparent;
  font-size:0.9375rem; font-weight:700;
  transition:transform 200ms var(--ease-out), background-color 200ms var(--ease-out), border-color 200ms var(--ease-out), color 200ms var(--ease-out);
  white-space:nowrap;
  min-height:44px;
}
.btn:active{ transform:scale(0.97); }
.btn-primary{ background:var(--gold); color:var(--maroon-dark); }
.btn-primary:hover{ background:var(--gold-dark); color:var(--white); }
.btn-secondary{ background:var(--white); color:var(--maroon); border-color:var(--border-strong); }
.btn-secondary:hover{ border-color:var(--maroon); background:var(--maroon-tint); }
.btn-ghost{ background:transparent; color:var(--text); border-color:transparent; }
.btn-ghost:hover{ background:var(--surface-2); }
.btn-whatsapp{ background:#25D366; color:#fff; }
.btn-whatsapp:hover{ background:#1DA851; }
.btn-danger{ background:transparent; color:#B23A3A; border-color:transparent; }
.btn-danger:hover{ background:#F7E4E4; }
.btn-block{ width:100%; }
.btn-sm{ height:40px; padding:0 16px; font-size:0.875rem; border-radius:12px; }
.btn-icon{ width:44px; height:44px; padding:0; border-radius:var(--r-full); }
.btn[disabled]{ opacity:0.5; pointer-events:none; }

/* ============================================
   CHIPS / BADGES
   ============================================ */
.chip{
  display:inline-flex; align-items:center; gap:6px;
  height:44px; padding:0 16px; border-radius:var(--r-full);
  background:var(--white); border:1px solid var(--border-strong);
  font-size:0.875rem; font-weight:600; color:var(--text-muted);
  transition:all 180ms var(--ease-out); flex-shrink:0;
}
.chip:hover{ border-color:var(--gold); color:var(--text); }
.chip.is-active{ background:var(--maroon); border-color:var(--maroon); color:#fff; }
.chip-row{ display:flex; gap:10px; overflow-x:auto; padding-bottom:4px; scrollbar-width:none; }
.chip-row::-webkit-scrollbar{ display:none; }

.badge{
  display:inline-flex; align-items:center; gap:5px;
  height:26px; padding:0 10px; border-radius:var(--r-full);
  font-size:0.75rem; font-weight:700;
}
.badge-green{ background:var(--green-tint); color:#4A6B22; }
.badge-gold{ background:var(--gold-tint); color:var(--gold-dark); }
.badge-maroon{ background:var(--maroon-tint); color:var(--maroon); }

/* ============================================
   HEADER / NAV
   ============================================ */
.header-wrap{
  position:sticky; top:0; z-index:40;
  padding:14px 16px 0;
}
.header{
  max-width:var(--maxw); margin:0 auto;
  background:rgba(250,247,240,0.88);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border:1px solid var(--border);
  border-radius:var(--r-full);
  box-shadow:var(--shadow-1);
  display:flex; align-items:center; justify-content:space-between;
  height:64px; padding:0 8px 0 14px;
}
.brand{ display:flex; align-items:center; gap:10px; min-width:0; }
.brand-mark{ width:38px; height:38px; flex-shrink:0; }
.brand-text{ display:flex; flex-direction:column; line-height:1.1; min-width:0; }
.brand-name{ font-size:0.9375rem; font-weight:800; color:var(--maroon); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.brand-sub{ font-size:0.6875rem; color:var(--text-muted); font-weight:600; letter-spacing:0.02em; }

.nav-desktop{ display:none; align-items:center; gap:4px; }
.nav-link{
  padding:10px 14px; border-radius:var(--r-full); font-size:0.875rem; font-weight:600; color:var(--text-muted);
  transition:all 180ms var(--ease-out);
}
.nav-link:hover{ color:var(--text); background:var(--surface-2); }
.nav-link.is-active{ color:var(--maroon); background:var(--gold-tint); }

.header-actions{ display:flex; align-items:center; gap:6px; }
.cart-btn{ position:relative; }
.cart-badge{
  position:absolute; top:-2px; right:-2px;
  min-width:18px; height:18px; padding:0 4px;
  border-radius:var(--r-full); background:var(--maroon); color:#fff;
  font-size:0.6875rem; font-weight:700;
  display:flex; align-items:center; justify-content:center;
  border:2px solid var(--bg);
  transform:scale(0);
  transition:transform 220ms var(--ease-spring);
}
.cart-badge.is-visible{ transform:scale(1); }
.cart-badge.is-bump{ animation:bump 320ms var(--ease-spring); }
@keyframes bump{ 0%{transform:scale(1);} 40%{transform:scale(1.35);} 100%{transform:scale(1);} }

.hamburger{ display:inline-flex; }
@media(min-width:1024px){
  .nav-desktop{ display:flex; }
  .hamburger{ display:none; }
  .header{ padding:0 10px 0 20px; }
}

.mobile-menu{
  max-width:var(--maxw); margin:8px auto 0;
  background:var(--white); border:1px solid var(--border); border-radius:24px;
  box-shadow:var(--shadow-2);
  padding:10px; display:none; flex-direction:column; gap:2px;
  animation:slideDown 220ms var(--ease-out);
}
.mobile-menu.is-open{ display:flex; }
@keyframes slideDown{ from{opacity:0; transform:translateY(-8px);} to{opacity:1; transform:translateY(0);} }
.mobile-menu .nav-link{ padding:14px 16px; text-align:left; border-radius:14px; font-size:0.9375rem; }
.mobile-menu-cta{ padding:8px 8px 4px; }

/* ============================================
   BRAND MARK (SVG emblem)
   ============================================ */
.emblem-ring{ fill:none; stroke:var(--gold); }
.emblem-ring-outer{ stroke:var(--maroon); }

/* ============================================
   PAGES
   ============================================ */
.page{ display:none; }
.page.active{ display:block; animation:pageIn 320ms var(--ease-out); }
@keyframes pageIn{ from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:translateY(0);} }

/* ============================================
   HERO
   ============================================ */
.hero{ padding-top:44px; padding-bottom:32px; }
@media(min-width:768px){ .hero{ padding-top:64px; padding-bottom:32px; } }
.hero-grid{ display:grid; gap:40px; align-items:center; }
@media(min-width:1024px){ .hero-grid{ grid-template-columns:1.05fr 0.95fr; gap:56px; } }
.hero-title{ font-size:2.25rem; font-weight:800; line-height:1.1; letter-spacing:-0.02em; margin-top:14px; }
@media(min-width:640px){ .hero-title{ font-size:2.75rem; } }
@media(min-width:1024px){ .hero-title{ font-size:3.15rem; } }
.hero-title em{ font-style:normal; color:var(--maroon); }
.hero-desc{ font-size:1.0625rem; color:var(--text-muted); margin-top:18px; max-width:520px; line-height:1.65; }
.hero-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.hero-stats{ display:flex; gap:28px; margin-top:40px; flex-wrap:wrap; }
.hero-stat-num{ font-size:1.375rem; font-weight:800; color:var(--maroon); }
.hero-stat-label{ font-size:0.8125rem; color:var(--text-muted); margin-top:2px; }

.hero-visual{ position:relative; display:flex; align-items:center; justify-content:center; padding:20px; }
.hero-emblem-wrap{ position:relative; width:100%; max-width:400px; aspect-ratio:1/1; }
.hero-emblem-img{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:56%; aspect-ratio:1/1; border-radius:50%; object-fit:cover; border:3px solid var(--gold); box-shadow:0 14px 34px rgba(122,26,32,0.24); }
.siger-inline{ width:1.1em; height:0.51em; display:inline-block; vertical-align:middle; margin:0 8px 2px; object-fit:contain; }
.hero-float-chip{
  position:absolute; display:flex; align-items:center; gap:8px;
  background:var(--white); border:1px solid var(--border); border-radius:var(--r-full);
  padding:9px 14px 9px 10px; box-shadow:0 6px 16px rgba(46,40,32,0.10); font-size:0.8125rem; font-weight:700;
  /* NUCLEAR: override any JS-injected translate3d floating */
  transform: none !important;
  translate: none !important;
  rotate: none !important;
  scale: none !important;
  animation: chipFadeIn 0.7s ease-out both;
}
.chip-1{ animation-delay: 1.4s; }
.chip-2{ animation-delay: 1.55s; }
.chip-3{ animation-delay: 1.7s; }
@keyframes chipFadeIn{ from{opacity:0;} to{opacity:1;} }
.hero-float-chip .dot{ width:26px; height:26px; border-radius:var(--r-full); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.chip-1{ top:2%; left:-4%; }
.chip-1 .dot{ background:var(--green-tint); color:#4A6B22; }
.chip-2{ bottom:10%; right:-6%; }
.chip-2 .dot{ background:var(--gold-tint); color:var(--gold-dark); }
.chip-3{ bottom:2%; left:14%; }
.chip-3 .dot{ background:var(--maroon-tint); color:var(--maroon); }
@media(max-width:420px){ .chip-1{left:0;} .chip-2{right:0;} .chip-3{left:2%;} }

/* ============================================
   ABOUT PREVIEW / ABOUT PAGE
   ============================================ */
.about-grid{ display:grid; gap:44px; align-items:start; }
@media(min-width:1024px){ .about-grid{ grid-template-columns:0.9fr 1.1fr; gap:64px; } }
.about-visual{
  aspect-ratio:4/3; border-radius:var(--r-card); background:var(--surface-2);
  border:1px solid var(--border); display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
}
.about-visual .pattern{ position:absolute; inset:0; opacity:0.5; }
.about-visual.has-photos .pattern{ display:none; }
.mission-list{ display:flex; flex-direction:column; gap:14px; margin-top:18px; }
.mission-item{ display:flex; gap:12px; align-items:flex-start; }
.mission-icon{ width:32px; height:32px; border-radius:10px; background:var(--gold-tint); color:var(--gold-dark); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }
.mission-text{ font-size:0.9375rem; color:var(--text); line-height:1.55; }

.pillar-grid{ display:grid; gap:20px; margin-top:20px; }
@media(min-width:640px){ .pillar-grid{ grid-template-columns:repeat(3,1fr); } }
.pillar-card{ background:var(--white); border:1px solid var(--border); border-radius:var(--r-card); padding:24px; transition:transform 200ms var(--ease-out), border-color 200ms; }
.pillar-card:hover{ transform:translateY(-4px); border-color:var(--gold); }
.pillar-icon{ width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.pillar-title{ font-size:1.0625rem; font-weight:700; margin-bottom:6px; }
.pillar-desc{ font-size:0.875rem; color:var(--text-muted); line-height:1.55; }

.timeline{ margin-top:12px; }
.timeline-item{ display:flex; gap:16px; padding-bottom:28px; position:relative; }
.timeline-item:last-child{ padding-bottom:0; }
.timeline-item::before{ content:''; position:absolute; left:7px; top:22px; bottom:0; width:1.5px; background:var(--border-strong); }
.timeline-item:last-child::before{ display:none; }
.timeline-dot{ width:16px; height:16px; border-radius:var(--r-full); background:var(--gold); border:3px solid var(--gold-tint); flex-shrink:0; margin-top:3px; }
.timeline-title{ font-weight:700; font-size:0.9375rem; }
.timeline-desc{ font-size:0.875rem; color:var(--text-muted); margin-top:3px; line-height:1.5; }

/* ============================================
   PRODUCT CARD
   ============================================ */
.product-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
@media(min-width:640px){ .product-grid{ grid-template-columns:repeat(3,1fr); gap:20px; } }
@media(min-width:1024px){ .product-grid{ grid-template-columns:repeat(4,1fr); } }

.card-product{
  background:var(--white); border:1px solid var(--border); border-radius:var(--r-card);
  overflow:hidden; display:flex; flex-direction:column;
  transition:transform 220ms var(--ease-out), border-color 220ms var(--ease-out), box-shadow 220ms var(--ease-out);
  animation:cardIn 360ms var(--ease-out) both;
}
@keyframes cardIn{ from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:translateY(0);} }
.card-product:hover{ transform:translateY(-4px); border-color:var(--gold); box-shadow:var(--shadow-2); }
.card-visual{
  aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; position:relative;
}
.card-visual .badge{ position:absolute; top:10px; left:10px; }
.card-visual-img, .card-article-visual-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.pd-gallery-main-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.card-body{ padding:14px; display:flex; flex-direction:column; gap:10px; flex:1; }
.card-title{ font-size:0.9375rem; font-weight:700; line-height:1.3; }
.card-price{ font-size:0.9375rem; font-weight:800; color:var(--maroon); }
.card-price.is-hidden{ font-size:0.8125rem; font-weight:700; color:#6E6558; }
.card-actions{ display:flex; gap:8px; margin-top:auto; }
.card-actions .btn{ flex:1; height:40px; padding:0 10px; font-size:0.8125rem; border-radius:12px; }
.card-actions .btn-add{ flex:0 0 44px; width:44px; padding:0; }

/* category tint backgrounds */
.tint-minuman{ background:var(--gold-tint); color:var(--gold-dark); }
.tint-rumah{ background:var(--green-tint); color:#4A6B22; }
.tint-perawatan{ background:var(--maroon-tint); color:var(--maroon); }

.empty-state{ text-align:center; padding:64px 20px; color:var(--text-muted); }
.empty-state .icon-lg{ margin:0 auto 16px; color:var(--text-faint); }
.empty-state h3{ font-size:1.125rem; color:var(--text); margin-bottom:6px; }

/* ============================================
   PRODUCT DETAIL
   ============================================ */
.breadcrumb{ display:flex; align-items:center; gap:6px; font-size:0.8125rem; color:var(--text-muted); flex-wrap:wrap; margin-bottom:24px; }
.breadcrumb a{ display:inline-flex; align-items:center; min-height:32px; padding:2px 4px; }
.breadcrumb a:hover{ color:var(--maroon); }
.breadcrumb .sep{ color:var(--text-faint); }
.breadcrumb .current{ color:var(--text); font-weight:600; }

.pd-grid{ display:grid; gap:40px; }
@media(min-width:900px){ .pd-grid{ grid-template-columns:1fr 1fr; gap:56px; } }
.pd-gallery-main{ aspect-ratio:1/1; border-radius:var(--r-card); display:flex; align-items:center; justify-content:center; border:1px solid var(--border); position:relative; }
.pd-thumbs{ display:flex; gap:10px; margin-top:12px; }
.pd-thumb{ width:64px; height:64px; border-radius:12px; border:2px solid transparent; display:flex; align-items:center; justify-content:center; opacity:0.65; transition:all 180ms; }
.pd-thumb.is-active{ opacity:1; border-color:var(--gold); }
.pd-name{ font-size:1.5rem; font-weight:800; letter-spacing:-0.01em; }
@media(min-width:768px){ .pd-name{ font-size:1.875rem; } }
.pd-price{ font-size:1.375rem; font-weight:800; color:var(--maroon); margin-top:8px; }
.pd-price.is-hidden{ font-size:1rem; color:var(--text-muted); font-weight:600; }
.pd-badges{ display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.pd-cta-row{ display:flex; gap:12px; margin-top:22px; flex-wrap:wrap; }
.qty-stepper{ display:flex; align-items:center; border:1px solid var(--border-strong); border-radius:var(--r-btn); height:48px; overflow:hidden; }
.qty-stepper button{ width:44px; height:100%; display:flex; align-items:center; justify-content:center; background:transparent; border:none; color:var(--text); }
.qty-stepper button:hover{ background:var(--surface-2); }
.qty-stepper .qty-val{ width:36px; text-align:center; font-weight:700; font-size:0.9375rem; }
.pd-desc{ margin-top:28px; color:var(--text); font-size:0.9375rem; line-height:1.7; }
.pd-section-label{ font-size:0.75rem; font-weight:800; letter-spacing:0.06em; text-transform:uppercase; color:var(--text-faint); margin-bottom:12px; margin-top:32px; }
.spec-list{ border-top:1px solid var(--border); }
.spec-row{ display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--border); font-size:0.875rem; }
.spec-row dt{ color:var(--text-muted); }
.spec-row dd{ margin:0; font-weight:600; text-align:right; }

.related-scroll{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
@media(min-width:640px){ .related-scroll{ grid-template-columns:repeat(3,1fr); } }

/* ============================================
   ARTICLE CARDS
   ============================================ */
.article-grid{ display:grid; grid-template-columns:1fr; gap:24px; }
@media(min-width:640px){ .article-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px){ .article-grid{ grid-template-columns:repeat(3,1fr); } }
.card-article{
  background:var(--white); border:1px solid var(--border); border-radius:var(--r-card); overflow:hidden;
  display:flex; flex-direction:column; transition:transform 220ms var(--ease-out), border-color 220ms;
  animation:cardIn 360ms var(--ease-out) both;
}
.card-article:hover{ transform:translateY(-4px); border-color:var(--gold); }
.card-article-visual{ aspect-ratio:16/10; display:flex; align-items:center; justify-content:center; position:relative; }
.card-article-body{ padding:18px; display:flex; flex-direction:column; gap:10px; flex:1; }
.card-article-title{ font-size:1.0625rem; font-weight:700; line-height:1.35; }
.card-article-excerpt{
  font-size:0.875rem; color:var(--text-muted); line-height:1.55;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.card-article-meta{ display:flex; align-items:center; gap:6px; font-size:0.75rem; color:var(--text-faint); margin-top:auto; padding-top:6px; }
.card-article-link{ display:inline-flex; align-items:center; gap:6px; font-size:0.8125rem; font-weight:700; color:var(--maroon); margin-top:2px; }

.article-detail-cover{ aspect-ratio:16/9; border-radius:var(--r-card); display:flex; align-items:center; justify-content:center; }
.article-detail-meta{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; font-size:0.8125rem; color:var(--text-muted); margin-top:18px; }
.article-detail-meta .meta-item{ display:flex; align-items:center; gap:6px; }
.article-body{ margin-top:28px; font-size:1rem; line-height:1.8; color:var(--text); }
.article-body p{ margin-bottom:20px; }
.article-body h3{ font-size:1.25rem; font-weight:800; margin:32px 0 14px; }
.pull-quote{ border-left:3px solid var(--gold); padding:4px 0 4px 20px; margin:28px 0; font-size:1.125rem; font-style:normal; color:var(--maroon-dark); font-weight:600; line-height:1.5; }

/* ============================================
   LEGALITAS & SERTIFIKASI (certificate carousel)
   ============================================ */
.cert-carousel-wrap{ position:relative; margin-top:8px; }
.cert-track{
  display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch; scrollbar-width:none; padding:4px 4px 8px;
  scroll-padding-left:4px;
}
.cert-track::-webkit-scrollbar{ display:none; }
.cert-card{
  scroll-snap-align:start; flex:0 0 82%; max-width:340px;
  background:var(--white); border:1px solid var(--border); border-radius:var(--r-card);
  overflow:hidden; display:flex; flex-direction:column;
  transition:transform 220ms var(--ease-out), border-color 220ms var(--ease-out), box-shadow 220ms var(--ease-out);
  animation:cardIn 360ms var(--ease-out) both;
}
.cert-card:hover{ transform:translateY(-4px); border-color:var(--gold); box-shadow:var(--shadow-2); }
@media(min-width:640px){ .cert-card{ flex-basis:calc(50% - 10px); max-width:none; } }
@media(min-width:960px){ .cert-card{ flex-basis:calc((100% - 40px)/3); } }
.cert-thumb{
  aspect-ratio:3/4; position:relative; background:var(--surface-2); overflow:hidden;
  border-bottom:1px solid var(--border); width:100%; border:none; padding:0; display:block; cursor:pointer;
}
.cert-thumb img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:top center; transition:transform 500ms var(--ease-out); }
.cert-card:hover .cert-thumb img{ transform:scale(1.045); }
.cert-thumb .badge{ position:absolute; top:10px; left:10px; }
.cert-body{ padding:16px; display:flex; flex-direction:column; gap:6px; flex:1; }
.cert-org{ font-size:0.75rem; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; color:var(--text-faint); }
.cert-title{ font-size:1rem; font-weight:800; line-height:1.3; color:var(--text); }
.cert-desc{
  font-size:0.8125rem; color:var(--text-muted); line-height:1.55; margin-top:2px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.cert-doc-link{
  display:inline-flex; align-items:center; gap:6px; font-size:0.8125rem; font-weight:700;
  color:var(--maroon); margin-top:auto; padding-top:12px;
}

.cert-nav-btn{
  display:none; position:absolute; top:38%; transform:translateY(-50%); z-index:2;
  width:44px; height:44px; border-radius:var(--r-full); background:var(--white);
  border:1px solid var(--border); box-shadow:var(--shadow-2);
  align-items:center; justify-content:center; color:var(--text); transition:background 180ms;
}
.cert-nav-btn:hover{ background:var(--surface-2); }
.cert-nav-prev{ left:-14px; }
.cert-nav-next{ right:-14px; }
.cert-nav-prev svg{ transform:rotate(180deg); }
@media(min-width:960px){ .cert-nav-btn{ display:flex; } }

.cert-dots{ display:flex; align-items:center; justify-content:center; gap:8px; margin-top:20px; }
.cert-dot{ width:7px; height:7px; border-radius:99px; background:var(--border-strong); transition:all 220ms var(--ease-out); padding:0; border:none; }
.cert-dot.is-active{ width:22px; background:var(--gold-dark); }

/* ============================================
   KOMITMEN KAMI (values badge strip — continuous marquee)
   ============================================ */
.values-box{
  background:var(--surface-2); padding:22px 0; margin:40px 0;
}
.values-carousel-wrap{
  position:relative; overflow:hidden;
  --fade-w: 100px;
  -webkit-mask-image: linear-gradient(90deg,
    transparent 0,
    #000 var(--fade-w),
    #000 calc(100% - var(--fade-w)),
    transparent 100%);
  mask-image: linear-gradient(90deg,
    transparent 0,
    #000 var(--fade-w),
    #000 calc(100% - var(--fade-w)),
    transparent 100%);
}
@media (max-width: 640px){
  .values-carousel-wrap{ --fade-w: 40px; } /* biar gak makan banyak porsi layar HP */
}
.values-track{
  display:flex; gap:12px; width:max-content;
  animation:valuesMarquee 26s linear infinite;
  will-change:transform;
  backface-visibility:hidden;
}
.values-track:hover{ animation-play-state:paused; }
@keyframes valuesMarquee{
  from{ transform:translate3d(0,0,0); }
  to{ transform:translate3d(-50%,0,0); }
}
@media (prefers-reduced-motion: reduce){
  .values-track{ animation:none; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .values-track::-webkit-scrollbar{ display:none; }
}
.value-badge{
  flex:0 0 auto; display:inline-flex; align-items:center; gap:8px;
  background:var(--white); border:1px solid var(--border); border-radius:var(--r-full);
  padding:10px 18px; white-space:nowrap;
}
.value-badge .icon{ width:18px; height:18px; color:var(--gold-dark); flex-shrink:0; }
.value-badge span{ font-size:0.8125rem; font-weight:700; color:var(--maroon-dark); letter-spacing:0.01em; }

/* ============================================
   ABOUT PHOTO SLIDESHOW (fades inside .about-visual)
   ============================================ */
.about-photo-track{ position:absolute; inset:0; }
.about-photo-slide{
  position:absolute; inset:0; opacity:0; transition:opacity 700ms var(--ease-out);
  pointer-events:none;
}
.about-photo-slide.is-active{ opacity:1; pointer-events:auto; }
.about-photo-slide img{ width:100%; height:100%; object-fit:cover; }
.about-photo-caption{
  position:absolute; left:0; right:0; bottom:0; padding:10px 14px;
  font-size:0.75rem; color:#fff; background:linear-gradient(to top, rgba(0,0,0,.55), transparent);
}
.about-photo-dots{ position:absolute; left:0; right:0; bottom:10px; display:flex; align-items:center; justify-content:center; gap:6px; z-index:2; }
.about-photo-dots .cert-dot{ background:rgba(255,255,255,.55); }
.about-photo-dots .cert-dot.is-active{ background:#fff; }

/* Document preview modal (larger variant of the base .modal) */
.modal--doc{ max-width:760px; padding:0; overflow:hidden; }
.doc-modal-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:20px 20px 16px; border-bottom:1px solid var(--border); }
.doc-modal-org{ font-size:0.75rem; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; color:var(--text-faint); }
.doc-modal-title{ font-size:1.0625rem; font-weight:800; margin-top:2px; }
.doc-modal-frame-wrap{ background:var(--surface-2); }
.doc-modal-frame{ width:100%; height:56vh; max-height:600px; border:none; display:block; }
.doc-modal-foot{ display:flex; gap:10px; flex-wrap:wrap; padding:16px 20px 20px; }
.doc-modal-foot .btn{ flex:1; min-width:160px; }

/* ============================================
   FAQ
   ============================================ */
.faq-list{ border-top:1px solid var(--border); }
.faq-item{ border-bottom:1px solid var(--border); }
.faq-q{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px;
  background:transparent; border:none; text-align:left; padding:20px 4px; min-height:56px;
  font-size:0.9375rem; font-weight:700; color:var(--text);
}
.faq-q .chev{ transition:transform 240ms var(--ease-out); color:var(--gold-dark); flex-shrink:0; }
.faq-item.is-open .faq-q .chev{ transform:rotate(180deg); }
.faq-a{ height:0; overflow:hidden; }
.faq-a-inner{ padding:0 4px 20px; font-size:0.9375rem; color:var(--text-muted); line-height:1.65; max-width:680px; }
.faq-item.is-open .faq-a{ height:auto; }

/* ============================================
   CONTACT
   ============================================ */
.contact-grid{ display:grid; gap:32px; }
@media(min-width:900px){ .contact-grid{ grid-template-columns:0.9fr 1.1fr; gap:48px; } }
.contact-card{ background:var(--white); border:1px solid var(--border); border-radius:var(--r-card); padding:20px; display:flex; gap:14px; align-items:flex-start; margin-bottom:14px; }
.contact-card-icon{ width:42px; height:42px; border-radius:12px; background:var(--gold-tint); color:var(--gold-dark); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.contact-card-title{ font-weight:700; font-size:0.9375rem; margin-bottom:3px; }
.contact-card-desc{ font-size:0.875rem; color:var(--text-muted); line-height:1.5; }
.contact-social{ display:flex; gap:10px; margin-top:8px; }
.social-btn{ width:42px; height:42px; border-radius:var(--r-full); background:var(--white); border:1px solid var(--border-strong); display:flex; align-items:center; justify-content:center; color:var(--maroon); transition:all 180ms; }
.social-btn:hover{ background:var(--maroon); color:#fff; border-color:var(--maroon); }
.map-frame{ border-radius:var(--r-card); overflow:hidden; border:1px solid var(--border); aspect-ratio:4/3; background:var(--surface-2); }
.map-frame iframe{ width:100%; height:100%; border:0; }
.map-card{ width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:14px; padding:32px; background:
  radial-gradient(circle at 30% 20%, rgba(201,162,39,0.14), transparent 55%),
  radial-gradient(circle at 75% 75%, rgba(122,26,32,0.10), transparent 55%),
  var(--surface-2);
  position:relative; }
.map-card::before{ content:""; position:absolute; inset:0; opacity:0.5; background-image:
  linear-gradient(rgba(122,26,32,0.06) 1px, transparent 1px),
  linear-gradient(90deg, rgba(122,26,32,0.06) 1px, transparent 1px);
  background-size:28px 28px; pointer-events:none; }
.map-card-icon{ width:56px; height:56px; border-radius:50%; background:var(--maroon); color:#fff; display:flex; align-items:center; justify-content:center; position:relative; z-index:1; box-shadow:0 8px 20px rgba(122,26,32,0.25); }
.map-card-title{ font-weight:700; font-size:1.05rem; position:relative; z-index:1; }
.map-card-desc{ color:var(--text-muted); font-size:0.92rem; max-width:320px; line-height:1.5; position:relative; z-index:1; }

/* ============================================
   CTA BAND
   ============================================ */
.cta-band{ background:var(--maroon); border-radius:var(--r-modal); padding:44px 28px; text-align:center; position:relative; overflow:hidden; }
@media(min-width:768px){ .cta-band{ padding:64px 40px; } }
.cta-band h2{ color:#fff; font-size:1.625rem; font-weight:800; max-width:520px; margin:0 auto; line-height:1.3; }
@media(min-width:768px){ .cta-band h2{ font-size:2rem; } }
.cta-band p{ color:rgba(255,255,255,0.75); margin-top:10px; font-size:0.9375rem; }
.cta-band .btn{ margin-top:24px; }

/* ============================================
   FOOTER
   ============================================ */
.footer{ background:var(--maroon-dark); color:rgba(255,255,255,0.82); margin-top:80px; }
.footer-top{ padding-top:56px; padding-bottom:40px; display:grid; gap:36px; grid-template-columns:1fr; }
@media(min-width:768px){ .footer-top{ grid-template-columns:1.3fr 1fr 1fr; gap:40px; } }
.footer-brand{ display:flex; gap:12px; align-items:center; margin-bottom:14px; }
.footer-brand-name{ color:#fff; font-weight:800; font-size:1.0625rem; }
.footer-desc{ font-size:0.875rem; line-height:1.6; max-width:320px; color:rgba(255,255,255,0.65); }
.footer-heading{ color:#fff; font-size:0.8125rem; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; margin-bottom:16px; }
.footer-links{ display:flex; flex-direction:column; gap:11px; }
.footer-links a{ font-size:0.875rem; color:rgba(255,255,255,0.72); }
.footer-links a:hover{ color:#fff; }
.footer-social{ display:flex; gap:10px; margin-top:16px; }
.footer-social a{ width:38px; height:38px; border-radius:var(--r-full); border:1px solid rgba(255,255,255,0.25); display:flex; align-items:center; justify-content:center; color:#fff; transition:all 180ms; }
.footer-social a:hover{ background:var(--gold); border-color:var(--gold); color:var(--maroon-dark); }
.footer-bottom{ border-top:1px solid rgba(255,255,255,0.14); padding-top:20px; padding-bottom:20px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:0.8125rem; color:rgba(255,255,255,0.78); }
.footer-bottom a{ color:rgba(255,255,255,0.78); }
.footer-bottom a:hover{ color:#fff; }
.footer-admin-link{ display:inline-flex; align-items:center; gap:6px; font-size:0.75rem; color:rgba(255,255,255,0.68) !important; border:1px solid rgba(255,255,255,0.35); border-radius:999px; padding:5px 12px; transition:color .2s,border-color .2s,background .2s; }
.footer-admin-link:hover{ color:#fff !important; border-color:rgba(255,255,255,0.4); background:rgba(255,255,255,0.06); }
.footer-admin-link svg{ width:12px; height:12px; flex-shrink:0; }

/* ============================================
   TOAST
   ============================================ */
.toast{
  position:fixed; left:50%; top:84px; transform:translate(-50%,-16px);
  background:var(--text); color:#fff; padding:12px 20px; border-radius:var(--r-full);
  font-size:0.875rem; font-weight:600; display:flex; align-items:center; gap:8px;
  box-shadow:var(--shadow-2); z-index:110; opacity:0; pointer-events:none;
  transition:all 260ms var(--ease-out);
}
.toast .icon{ color:var(--green); flex-shrink:0; }
.toast.is-visible{ opacity:1; transform:translate(-50%,0); }
@media(min-width:768px){
  .toast{ left:auto; right:24px; top:auto; bottom:24px; transform:translateY(16px); }
  .toast.is-visible{ transform:translateY(0); }
}

/* ============================================
   CART DRAWER
   ============================================ */
.overlay{
  position:fixed; inset:0; background:rgba(46,40,32,0.42); z-index:90;
  opacity:0; pointer-events:none; transition:opacity 260ms var(--ease-out);
}
.overlay.is-open{ opacity:1; pointer-events:auto; }

.drawer{
  position:fixed; z-index:100; background:var(--bg);
  display:flex; flex-direction:column;
  left:0; right:0; bottom:0; max-height:88vh;
  border-radius:var(--r-drawer) var(--r-drawer) 0 0;
  transform:translateY(100%);
  transition:transform 380ms var(--ease-spring);
  box-shadow:var(--shadow-drawer);
}
.drawer.is-open{ transform:translateY(0); }
@media(min-width:768px){
  .drawer{ left:auto; top:0; bottom:0; right:0; width:420px; max-height:none; height:100%;
    border-radius:var(--r-drawer) 0 0 var(--r-drawer); transform:translateX(100%); }
  .drawer.is-open{ transform:translateX(0); }
}
.drawer-handle{ width:40px; height:4px; background:var(--border-strong); border-radius:99px; margin:12px auto 0; }
@media(min-width:768px){ .drawer-handle{ display:none; } }
.drawer-header{ display:flex; align-items:center; justify-content:space-between; padding:16px 16px 12px; border-bottom:1px solid var(--border); }
.drawer-title{ font-size:1.0625rem; font-weight:800; }
.drawer-body{ flex:1; overflow-y:auto; padding:16px 20px; }
.drawer-footer{ border-top:1px solid var(--border); padding:16px 20px 20px; background:var(--surface); }

.cart-item{ display:flex; gap:12px; padding:14px 0; border-bottom:1px solid var(--border); }
.cart-item:last-child{ border-bottom:none; }
.cart-item-visual{ width:56px; height:56px; border-radius:12px; flex-shrink:0; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.cart-item-thumb{ width:56px; height:56px; object-fit:cover; display:block; }
.cart-item-info{ flex:1; min-width:0; }
.cart-item-name{ font-size:0.875rem; font-weight:700; line-height:1.3; }
.cart-item-price{ font-size:0.8125rem; color:var(--text-muted); margin-top:2px; }
.cart-item-row{ display:flex; align-items:center; justify-content:space-between; margin-top:8px; gap:8px; }
.mini-stepper{ display:flex; align-items:center; border:1px solid var(--border-strong); border-radius:10px; height:44px; }
.mini-stepper button{ width:44px; height:100%; background:transparent; border:none; display:flex; align-items:center; justify-content:center; color:var(--text); }
.mini-stepper button:hover{ background:var(--surface-2); }
.mini-stepper .qty-val{ width:24px; text-align:center; font-size:0.8125rem; font-weight:700; }
.remove-btn{ color:var(--text-faint); width:44px; height:44px; display:flex; align-items:center; justify-content:center; border-radius:8px; }
.remove-btn:hover{ color:#B23A3A; background:#F7E4E4; }

.field{ margin-top:16px; }
.field label{ display:block; font-size:0.8125rem; font-weight:700; margin-bottom:8px; }
.field input, .field textarea{
  width:100%; border:1px solid var(--border-strong); border-radius:var(--r-input);
  padding:12px 16px; font-size:0.9375rem; background:#fff; color:var(--text); min-height:44px;
  transition:border-color 180ms;
}
.field input:focus, .field textarea:focus{ border-color:var(--gold-dark); outline:none; }
.field textarea{ resize:none; min-height:76px; }
.search-field{ position:relative; }
.search-field svg{ position:absolute; left:16px; top:50%; transform:translateY(-50%); width:18px; height:18px; color:var(--text-faint); pointer-events:none; }
.search-field input{ padding-left:46px; height:52px; }
.field-error{ color:#B23A3A; font-size:0.8125rem; margin-top:6px; display:none; font-weight:600; }
.field.has-error input{ border-color:#B23A3A; }
.field.has-error .field-error{ display:block; }
.char-count{ font-size:0.75rem; color:var(--text-faint); text-align:right; margin-top:4px; }

.cart-subtotal-row{ display:flex; justify-content:space-between; align-items:baseline; padding:12px 0; font-size:0.9375rem; }
.cart-subtotal-row strong{ font-size:1.0625rem; color:var(--maroon); }
.cart-note{ font-size:0.75rem; color:var(--text-faint); margin-top:10px; line-height:1.5; text-align:center; }

/* ============================================
   FLOATING WHATSAPP + PROTOTYPE BADGE
   ============================================ */
.wa-float{
  position:fixed; bottom:24px; right:20px; z-index:60;
  width:56px; height:56px; border-radius:var(--r-full); background:#25D366; color:#fff;
  display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-2);
  transition:transform 200ms var(--ease-out);
}
.wa-float:hover{ transform:scale(1.06); }
.wa-float.is-hidden{ transform:scale(0); }

.proto-badge{
  position:fixed; bottom:24px; left:20px; z-index:60;
  background:var(--text); color:#fff; font-size:0.75rem; font-weight:600;
  padding:9px 14px; border-radius:var(--r-full); display:flex; align-items:center; gap:7px;
  box-shadow:var(--shadow-2); opacity:0.92;
}
.proto-badge .pulse{ width:7px; height:7px; border-radius:50%; background:#7EE787; }
@media(max-width:640px){ .proto-badge span.label{ display:none; } .proto-badge{ padding:9px; } }

/* ============================================
   ADMIN MODAL
   ============================================ */
.modal-overlay{
  position:fixed; inset:0; background:rgba(46,40,32,0.5); z-index:120;
  display:flex; align-items:center; justify-content:center; padding:20px;
  opacity:0; pointer-events:none; transition:opacity 240ms var(--ease-out);
}
.modal-overlay.is-open{ opacity:1; pointer-events:auto; }
.modal{
  background:#fff; border-radius:var(--r-modal); max-width:420px; width:100%;
  max-height:86vh; overflow-y:auto; padding:28px 24px;
  transform:scale(0.94); transition:transform 240ms var(--ease-spring);
}
.modal-overlay.is-open .modal{ transform:scale(1); }
.modal-close{ float:right; width:44px; height:44px; border-radius:var(--r-full); display:flex; align-items:center; justify-content:center; background:var(--surface-2); }
.modal-icon{ width:52px; height:52px; border-radius:16px; background:var(--gold-tint); color:var(--gold-dark); display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.modal h3{ font-size:1.25rem; font-weight:800; }
.modal p.desc{ font-size:0.875rem; color:var(--text-muted); margin-top:8px; line-height:1.55; }
.admin-stat-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:22px; }
.admin-stat{ background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:14px 10px; text-align:center; }
.admin-stat b{ display:block; font-size:1.25rem; color:var(--maroon); }
.admin-stat span{ font-size:0.6875rem; color:var(--text-muted); font-weight:600; }
.admin-quick{ margin-top:18px; display:flex; flex-direction:column; gap:8px; }
.admin-quick button{ justify-content:flex-start; }

/* Utility */
.mt-0{margin-top:0;}
.flex{display:flex;}
.items-center{align-items:center;}
.gap-2{gap:8px;}
.hide-mobile{ display:none; }
@media(min-width:640px){ .hide-mobile{ display:inline-flex; } }
.text-center{ text-align:center; }

/* ============================================================
   MOTION — senior motion pass (GSAP-driven JS + supporting CSS)
   ============================================================ */

/* ---- Navbar scroll transition ---- */
.header-wrap{ transition:padding-top 320ms var(--ease-out); }
.header{ transition:background-color 320ms var(--ease-out), box-shadow 320ms var(--ease-out), border-color 320ms var(--ease-out); }
.header-wrap.is-scrolled{ padding-top:8px; }
.header-wrap.is-scrolled .header{ background:rgba(250,247,240,0.97); box-shadow:var(--shadow-2); border-color:var(--border-strong); }

/* ---- Hero ambient background movement (decorative, non-interactive) ---- */
.hero{ position:relative; overflow:hidden; }
.hero-ambient{
  position:absolute; inset:-15% -8% auto -8%; height:130%; overflow:hidden; z-index:0; pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 70% 65% at 50% 40%, #000 0%, transparent 72%);
  mask-image:radial-gradient(ellipse 70% 65% at 50% 40%, #000 0%, transparent 72%);
}
.hero-grid{ position:relative; z-index:1; }
.ambient-blob{ position:absolute; border-radius:50%; filter:blur(70px); will-change:transform; }
.ambient-blob-1{ width:320px; height:320px; background:var(--gold-tint); opacity:0.55; top:50%; left:50%; transform:translate(-50%,-50%); animation:blobDrift1 17s ease-in-out infinite; }
.ambient-blob-2{ width:280px; height:280px; background:var(--maroon-tint); opacity:0.45; top:50%; left:50%; transform:translate(-50%,-50%); animation:blobDrift2 21s ease-in-out infinite; }

@keyframes blobDrift1{
  0%, 100%{ transform:translate(-50%,-50%) scale(1); }
  33%{ transform:translate(calc(-50% + 26px), calc(-50% - 20px)) scale(1.08); }
  66%{ transform:translate(calc(-50% - 14px), calc(-50% + 10px)) scale(0.96); }
}
@keyframes blobDrift2{
  0%, 100%{ transform:translate(-50%,-50%) scale(1); }
  40%{ transform:translate(calc(-50% - 22px), calc(-50% + 18px)) scale(0.92); }
  75%{ transform:translate(calc(-50% + 16px), calc(-50% - 12px)) scale(1.06); }
}

@media (prefers-reduced-motion: reduce){
  .ambient-blob-1, .ambient-blob-2{ animation:none; }
}

/* ---- Product / article image zoom on card hover (card itself already lifts via existing rules) ---- */
.card-visual-img, .card-article-visual-img{ transition:transform 500ms var(--ease-out); }
.card-product:hover .card-visual-img{ transform:scale(1.06); }
.card-article:hover .card-article-visual-img{ transform:scale(1.06); }

/* ---- Button / link micro interactions ---- */
.btn:hover{ box-shadow:0 6px 18px rgba(46,40,32,0.12); }
.btn-whatsapp:hover, .wa-float:hover{ box-shadow:0 6px 18px rgba(37,211,102,0.32); }
.icon-nudge{ transition:transform 220ms var(--ease-out); }
.btn:hover .icon-nudge, .card-article-link:hover .icon-nudge{ transform:translateX(3px); }

/* ---- CTA band ambient glow ---- */
.cta-band{ position:relative; }
.cta-band::before{
  content:''; position:absolute; inset:0; z-index:0; pointer-events:none; border-radius:inherit;
  background:radial-gradient(circle at 30% 20%, rgba(201,162,39,0.35), transparent 55%),
             radial-gradient(circle at 75% 80%, rgba(201,162,39,0.20), transparent 55%);
}
.cta-band > *{ position:relative; z-index:1; }

/* ---- Respect prefers-reduced-motion: neutralize CSS-driven motion everywhere ---- */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.01ms !important;
    scroll-behavior:auto !important;
  }
}