/* =========================
   THEME & OPTIONS
========================= */
:root{
  --bg:#FFF8F0;
  --bg-soft:#FFF2E5;
  --card:#FFFFFF;

  --brand:#C96A3C;
  --brand-soft:#F3B184;
  --brand-dark:#7E3E1D;

  --accent:#F4A261;
  --accent-soft:#FFE5C9;

  --text:#3A2720;
  --muted:#9B7C6D;

  --border-soft:rgba(0,0,0,0.06);
  --shadow-soft:0 10px 24px rgba(0,0,0,0.06);
  --shadow-medium:0 16px 34px rgba(0,0,0,0.10);
  --shadow-strong:0 26px 60px rgba(0,0,0,0.16);

  --radius-lg:22px;
  --radius-md:16px;
  --radius-pill:999px;

  --nav-height:72px;

  /* === OPSI JARAK SECTION (ubah 1 angka ini) ===
     72px = nyaman (default)
     60px = lebih rapat
     52px = compact
  */
  --section-pad:72px;

  /* spacing scale */
  --g8:8px;
  --g12:12px;
  --g16:16px;
  --g20:20px;
  --g24:24px;
  --g28:28px;
  --g32:32px;
}

/* =========================
   RESET / BASE
========================= */
*,
*::before,
*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
  margin:0;
  font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top left,#FFEEDB 0,var(--bg) 42%,#FFF 100%);
  line-height:1.6;
}

img{ max-width:100%; display:block; }
a{ color:inherit; }
button{ font-family:inherit; }

body.nav-open{ overflow:hidden; }

/* =========================
   LAYOUT HELPERS
========================= */
.container{
  max-width:1140px;
  margin:0 auto;
  padding:0 20px;
}

.narrow{
  max-width:900px; /* sedikit lebih lebar biar nggak kosong */
  margin:0 auto;
}

.section{
  padding:var(--section-pad) 0;
  position:relative;
  scroll-margin-top:calc(var(--nav-height) + 14px);
}

.section-alt{
  background:linear-gradient(180deg,rgba(255,242,229,0.75),#FFFFFF);
}

/* header section lebih rapih */
.section-header{
  text-align:center;
  margin-bottom:22px; /* lebih rapat */
}

.section-tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 14px;
  border-radius:var(--radius-pill);
  font-size:.82rem;
  background:rgba(201,106,60,0.09);
  color:var(--brand-dark);
  margin-bottom:10px;
}

.section-title{
  margin:0 0 8px;
  font-family:'Playfair Display',serif;
  font-size:clamp(1.7rem,3vw,2.2rem);
  color:var(--brand-dark);
  letter-spacing:.2px;
}

.section-lead{
  margin:0;
  color:var(--muted);
  font-size:.98rem;
}

.section-lead.center{ text-align:center; }

.grid{ display:grid; gap:24px; }

a:focus-visible,
button:focus-visible{
  outline:2px solid var(--brand);
  outline-offset:3px;
}

/* =========================
   FLOATING WA
========================= */
.floating-wa{
  position:fixed;
  right:18px;
  bottom:22px;
  width:54px;
  height:54px;
  border-radius:50%;
  background:#25D366;
  box-shadow:var(--shadow-medium);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#FFF;
  font-size:1.6rem;
  z-index:200;
  text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.floating-wa:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-strong);
  background:#1ebe59;
}

/* =========================
   HEADER / NAV
========================= */
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(14px) saturate(1.25);
  border-bottom:1px solid rgba(0,0,0,0.05);
}

.nav-container{
  height:var(--nav-height);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:var(--brand-dark);
  min-width:220px;
}

.brand-icon{
  width:40px;
  height:40px;
  border-radius:16px;
  background:linear-gradient(135deg,#F7B88C,#C96A3C);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#FFF;
  box-shadow:0 10px 24px rgba(0,0,0,0.16);
  animation:floatIcon 3s ease-in-out infinite;
}
.brand-icon i{ font-size:1.1rem; }

.brand-text{
  display:flex;
  flex-direction:column;
  line-height:1.1;
  font-weight:700;
  letter-spacing:.02em;
}
.brand-text small{
  font-size:.72rem;
  font-weight:500;
  color:var(--muted);
}

.nav-main{ display:flex; align-items:center; }

.nav-links{
  list-style:none;
  display:flex;
  gap:8px;
  margin:0;
  padding:0;
  align-items:center;
}

.nav-links a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border-radius:var(--radius-pill);
  font-size:.88rem;
  text-decoration:none;
  color:var(--text);
  font-weight:600;
  transition:background .2s ease, color .2s ease, transform .15s ease;
}

.nav-links a i{ font-size:.95rem; opacity:.92; }

.nav-links a:hover{
  background:rgba(201,106,60,0.08);
  color:var(--brand-dark);
  transform:translateY(-1px);
}

.nav-toggle{
  display:none;
  border:0;
  background:transparent;
  font-size:1.5rem;
  color:var(--brand-dark);
  cursor:pointer;
}

/* =========================
   HERO
========================= */


.hero-left{ max-width:560px; }

.hero-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 14px;
  border-radius:var(--radius-pill);
  background:rgba(0,0,0,0.42);
  border:1px solid rgba(255,255,255,0.22);
  font-size:.82rem;
  margin-bottom:14px;
}

.hero-pill i{ color:#FACC15; }

.hero h1{
  font-family:'Playfair Display',serif;
  font-size:clamp(2.0rem,4vw,3.2rem);
  line-height:1.08;
  margin:0 0 14px;
}
.hero h1 span{ display:block; color:#FFE3BF; }

.hero p{
  margin:0 0 22px;
  opacity:.96;
  max-width:34rem;
  font-size:1.0rem;
}

.hero-cta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:10px;
}

.hero-right{ display:flex; justify-content:flex-end; }

.hero-product-card{
  background:rgba(255,255,255,0.96);
  border-radius:26px;
  padding:14px;
  box-shadow:var(--shadow-strong);
  color:var(--text);
  max-width:370px;
  width:100%;
  animation:floatCard 6s ease-in-out infinite;
}

.hero-product-image{
  position:relative;
  border-radius:20px;
  overflow:hidden;
  background:#FFF5EA;
}

.hero-product-image img{
  width:100%;
  height:220px;
  object-fit:cover;
  transform:scale(1.03);
  transition:transform .6s ease;
}
.hero-product-card:hover .hero-product-image img{ transform:scale(1.08); }

.hero-badge-top{
  position:absolute;
  top:12px;
  left:12px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 12px;
  border-radius:var(--radius-pill);
  background:rgba(234,179,8,0.96);
  color:#1F2937;
  font-size:.82rem;
  font-weight:700;
}

.hero-product-body{ padding:12px 6px 4px; }

.hero-product-body h2{
  margin:4px 0 6px;
  font-size:1.12rem;
  color:var(--brand-dark);
}
.hero-product-body p{
  margin:0 0 10px;
  font-size:.92rem;
  color:var(--muted);
}

.hero-product-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:12px;
  font-size:.82rem;
}
.hero-product-meta span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:var(--radius-pill);
  background:#FFF2E2;
  color:var(--text);
}

/* =========================
   BUTTONS
========================= */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:var(--radius-pill);
  border:0;
  padding:11px 18px;
  font-size:.92rem;
  font-weight:700;
  cursor:pointer;
  text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease, background .2s ease, color .2s ease;
  white-space:nowrap;
}

.btn-primary{
  background:var(--brand);
  color:#FFF;
  box-shadow:var(--shadow-soft);
}
.btn-primary:hover{
  background:var(--brand-dark);
  box-shadow:var(--shadow-medium);
  transform:translateY(-1px);
}

.btn-outline{
  background:transparent;
  color:#FFF;
  border:1px solid rgba(255,255,255,0.62);
}
.btn-outline:hover{ background:rgba(255,255,255,0.12); }

.btn-soft{
  background:var(--accent-soft);
  color:var(--brand-dark);
}
.btn-soft:hover{
  background:#ffd6a4;
  box-shadow:var(--shadow-soft);
  transform:translateY(-1px);
}

/* WA button in modal always clickable */
.btn-full{
  width:100%;
  justify-content:center;
  position:sticky;
  bottom:0;
  z-index:5;
  margin-top:12px;
  box-shadow:var(--shadow-medium);
}

/* =========================
   ABOUT (VERSI RAPiH)
========================= */
.about-grid-v2{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  grid-template-areas:
    "copy media"
    "features features";
  gap:22px;
  margin-top:18px;
  align-items:start;
}

.about-copy{ grid-area:copy; }
.about-media{ grid-area:media; }
.about-features{ grid-area:features; }

.about-paragraph{
  margin:0 0 14px;
  font-size:1rem;
  color:var(--text);
}

.about-mini{
  display:grid;
  gap:10px;
}
.mini-item{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px 12px;
  border-radius:16px;
  background:linear-gradient(135deg,#FFF6EC,#FFFFFF);
  box-shadow:var(--shadow-soft);
  border:1px solid rgba(0,0,0,0.04);
  font-size:.92rem;
}
.mini-item i{
  color:var(--brand-dark);
  margin-top:2px;
}

/* foto card: dibuat proporsional & tidak kebesaran */
.about-photo{
  margin:0;
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(0,0,0,0.05);
  box-shadow:var(--shadow-medium);
}

.about-photo img{
  width:100%;
  height:300px;           /* kunci biar gak terlalu tinggi */
  object-fit:cover;
  object-position:center 40%;
}

.about-photo figcaption{
  padding:12px 14px 14px;
  background:linear-gradient(180deg, rgba(255,255,255,0.95), rgba(255,255,255,0.86));
  border-top:1px solid rgba(0,0,0,0.04);
  display:flex;
  flex-direction:column;
  gap:6px;
}

.cap-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.84rem;
  font-weight:800;
  color:var(--brand-dark);
  padding:7px 12px;
  border-radius:var(--radius-pill);
  background:rgba(201,106,60,0.10);
  width:fit-content;
}

.cap-note{
  font-size:.82rem;
  color:var(--muted);
}

/* cards feature biar rapih & sama tinggi */
.about-features{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:6px;
}

.feature-card{
  background:var(--card);
  border-radius:var(--radius-md);
  padding:16px 14px;
  box-shadow:var(--shadow-soft);
  border:1px solid rgba(0,0,0,0.04);
  display:flex;
  flex-direction:column;
  gap:6px;
  min-height:138px;
}

.feature-icon{
  width:38px;
  height:38px;
  border-radius:14px;
  background:rgba(244,162,97,0.14);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:4px;
  color:var(--brand-dark);
}
.feature-card h3{
  margin:0;
  font-size:1.02rem;
  color:var(--brand-dark);
}
.feature-card p{ margin:0; color:var(--muted); font-size:.92rem; }

/* =========================
   WHY
========================= */
.why-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:14px;
}

.why-card{
  background:var(--card);
  border-radius:var(--radius-md);
  padding:16px 14px;
  box-shadow:var(--shadow-soft);
  border:1px solid rgba(0,0,0,0.04);
  display:flex;
  flex-direction:column;
  gap:7px;
  position:relative;
  overflow:hidden;
}
.why-card::after{
  content:'';
  position:absolute;
  inset:auto -35% -35% auto;
  background:radial-gradient(circle at 100% 100%, rgba(244,162,97,0.18), transparent 62%);
  opacity:0;
  transition:opacity .25s ease, transform .25s ease;
  transform:translate(8px,8px);
}
.why-card:hover::after{ opacity:1; transform:translate(0,0); }

.why-icon{
  width:42px;
  height:42px;
  border-radius:16px;
  background:rgba(201,106,60,0.11);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--brand-dark);
}
.why-card h3{ margin:0; font-size:1.02rem; color:var(--brand-dark); }
.why-card p{ margin:0; color:var(--muted); font-size:.92rem; }

/* =========================
   PRODUCTS
========================= */
.grid.products{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}

.product-card{
  background:var(--card);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-soft);
  border:1px solid rgba(0,0,0,0.04);
  display:flex;
  flex-direction:column;
  transition:transform .22s ease, box-shadow .22s ease;
  position:relative;
}
.product-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-medium);
}

.p-media{
  position:relative;
  background:#FFF5E8;
  aspect-ratio:4/3;
  overflow:hidden;
  cursor:pointer;
}
.p-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.02);
  transition:transform .6s ease;
}
.product-card:hover .p-media img{ transform:scale(1.07); }

.p-chip{
  position:absolute;
  left:10px;
  bottom:10px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:var(--radius-pill);
  background:rgba(201,106,60,0.12);
  color:var(--brand-dark);
  font-size:.78rem;
  font-weight:800;
}
.p-chip-best{ background:rgba(250,204,21,0.95); color:#1F2937; }
.p-chip-fav{ background:rgba(248,113,113,0.95); color:#FEF2F2; }

.p-body{ padding:16px 16px 16px; }
.p-body h3{ margin:0 0 6px; font-size:1.05rem; color:var(--brand-dark); }
.p-body p{ margin:0 0 10px; font-size:.94rem; color:var(--muted); }

.p-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:12px;
  font-size:.82rem;
}
.p-meta span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 9px;
  border-radius:var(--radius-pill);
  background:#FFF6EC;
  color:var(--text);
}

/* =========================
   MODAL (tetap aman scroll + tombol)
========================= */
.modal{
  position:fixed;
  inset:0;
  display:none;
  z-index:4000;
}
.modal.show{ display:grid; place-items:center; }

.modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.50);
  backdrop-filter:blur(3px);
  opacity:0;
  transition:opacity .25s ease;
}
.modal.show .modal-backdrop{ opacity:1; }

.modal-dialog{
  position:relative;
  z-index:1;
  background:#FFF;
  border-radius:24px;
  box-shadow:var(--shadow-strong);
  width:min(960px, 92vw);
  height:min(90vh, 720px);
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  transform:translateY(12px);
  opacity:0;
  transition:transform .25s ease, opacity .25s ease;
}
.modal.show .modal-dialog{
  transform:translateY(0);
  opacity:1;
}

.modal-media{
  background:#FFF8EE;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.modal-media img{
  width:100%;
  height:auto;
  max-width:520px;
  max-height:100%;
  object-fit:contain;
}

.modal-body{
  padding:20px 22px 22px;
  overflow-y:auto;
  max-height:100%;
  overscroll-behavior:contain;
}

.modal-body h3{
  margin:0 0 6px;
  font-size:1.2rem;
  color:var(--brand-dark);
}
.modal-subtitle{
  margin:0 0 10px;
  font-size:.88rem;
  color:var(--muted);
}
.m-intro{ margin:0 0 10px; color:var(--text); font-size:.94rem; }
.m-list{ padding-left:20px; margin:0 0 12px; font-size:.94rem; color:var(--text); }
.m-list li + li{ margin-top:6px; }
.m-tagline{ margin:10px 0 0; color:var(--brand-dark); font-weight:700; font-size:.94rem; }

.modal-note{
  display:flex;
  align-items:flex-start;
  gap:8px;
  font-size:.82rem;
  color:var(--muted);
  padding:10px 10px;
  border-radius:12px;
  background:#FFF6EC;
  margin-bottom:14px;
}
.modal-note i{ margin-top:2px; }

.modal-close{
  position:absolute;
  top:10px;
  right:10px;
  border:0;
  background:#FFFFFFEE;
  border-radius:999px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow:var(--shadow-soft);
}

/* =========================
   TESTIMONI
========================= */
.t-slider{ width:100%; padding:12px 0 6px; }
.t-slider .swiper-wrapper{ align-items:stretch; }
.t-slider .swiper-slide{ display:flex; }

.testi-card{
  background:var(--card);
  border-radius:22px;
  padding:22px 18px;
  text-align:center;
  box-shadow:var(--shadow-soft);
  border:1px solid rgba(0,0,0,0.04);
  max-width:640px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:210px;
}
.avatar{
  width:64px;
  height:64px;
  border-radius:50%;
  object-fit:cover;
  margin-bottom:8px;
}
.stars{ color:#FBBF24; margin-bottom:6px; }
.name{
  display:block;
  margin-top:8px;
  color:var(--brand-dark);
  font-weight:800;
  font-size:.92rem;
}
.testi-card p{
  margin:8px 0 4px;
  color:var(--muted);
  font-size:.94rem;
}
.swiper-pagination-bullet{ background:#D4B7A8; opacity:1; }
.swiper-pagination-bullet-active{ background:var(--brand); }

/* =========================
   OUTLET PARTNER
========================= */
.partner-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:16px;
}

.partner-card{
  background:var(--card);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-soft);
  border:1px solid rgba(0,0,0,0.04);
  padding:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:transform .2s ease, box-shadow .2s ease;
  text-decoration:none;
  min-height:108px;
}
.partner-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-medium);
}
.partner-card img{
  max-width:100%;
  height:72px;
  object-fit:contain;
  filter:saturate(1.05);
}

.partner-note{
  text-align:center;
  color:var(--muted);
  margin:12px 0 10px;
  font-size:.94rem;
}
.partner-cta{ display:flex; justify-content:center; }

/* =========================
   FAQ
========================= */
.faq-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:14px;
}
.faq-item{
  border-radius:16px;
  background:var(--card);
  box-shadow:var(--shadow-soft);
  border:1px solid rgba(0,0,0,0.04);
  padding:10px 14px;
}
.faq-item[open]{
  background:linear-gradient(135deg, rgba(255,243,227,0.98), var(--card));
  border-color:rgba(201,106,60,0.18);
}
.faq-item summary{
  cursor:pointer;
  list-style:none;
  font-weight:800;
  color:var(--brand-dark);
  font-size:.96rem;
  display:flex;
  align-items:center;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary span{
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.faq-body{
  margin-top:8px;
  font-size:.94rem;
  color:var(--text);
}
.faq-body ol{ padding-left:18px; margin:6px 0 0; }
.faq-body p{ margin:6px 0 0; }

/* =========================
   CONTACT
========================= */
.contact-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  justify-content:center;
  margin-top:10px;
}
.contact-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  padding:12px 18px;
  border-radius:var(--radius-pill);
  background:#FFF;
  color:var(--text);
  box-shadow:var(--shadow-soft);
  border:1px solid rgba(0,0,0,0.04);
  font-weight:800;
  font-size:.92rem;
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.contact-btn i{ font-size:1.1rem; }
.contact-btn:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-medium);
  filter:brightness(1.03);
}
.contact-btn.wa{ background:#25D366; color:#FFF; border-color:transparent; }
.contact-btn.ig{ background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af,#515bd4); color:#FFF; border-color:transparent; }
.contact-btn.tiktok{ background:#000; color:#FFF; border-color:transparent; }
.contact-btn.shop{ background:#FF4D00; color:#FFF; border-color:transparent; }

/* =========================
   FOOTER
========================= */
.site-footer{
  background:var(--brand-dark);
  color:#FFF;
  text-align:center;
  padding:26px 0;
  font-size:.9rem;
}
.site-footer p{ margin:4px 0; }

/* =========================
   ANIMATIONS
========================= */
@keyframes floatIcon{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-4px); }
}
@keyframes floatCard{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-7px); }
}

/* =========================
   RESPONSIVE
========================= */
@media (max-width:1024px){
  .hero-inner{ grid-template-columns:minmax(0,1.1fr) minmax(0,.95fr); }
  .why-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .about-features{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .grid.products{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:900px){
  .nav-toggle{ display:block; }

  .nav-main{
    position:fixed;
    inset:var(--nav-height) 0 auto 0;
    z-index:90;
  }

  .nav-links{
    position:relative;
    flex-direction:column;
    background:#FFF;
    border-bottom:1px solid #EEE;
    padding:10px 18px 14px;
    display:none;
  }
  .nav-links.show{ display:flex; }
  .nav-links a{
    justify-content:flex-start;
    padding:10px 10px;
    font-size:.95rem;
  }

  .hero-inner{
    grid-template-columns:minmax(0,1fr);
    gap:22px;
    padding-top:64px;
    padding-bottom:64px;
  }
  .hero-right{ justify-content:flex-start; }

  /* ABOUT: jadi 1 kolom biar rapih di HP/tablet */
  .about-grid-v2{
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:
      "media"
      "copy"
      "features";
    gap:16px;
  }
  .about-photo img{ height:250px; }
  .about-features{ grid-template-columns:repeat(2,minmax(0,1fr)); }

  .partner-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }

  /* MOBILE MODAL: bottom sheet */
  .modal.show{ place-items:stretch; }
  .modal-dialog{
    width:100vw;
    height:100dvh;
    border-radius:18px 18px 0 0;
    position:fixed;
    left:0; right:0; bottom:0; top:auto;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto 1fr;
  }
  .modal-media img{ max-height:42vh; }
}

@media (max-width:640px){
  :root{ --section-pad:60px; } /* otomatis lebih rapat di HP */

  .hero{
    min-height:unset;
  }

  .hero h1{ font-size:1.95rem; }
  .hero p{ font-size:.95rem; }

  .hero-cta{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .btn{ width:100%; }

  .about-features{ grid-template-columns:minmax(0,1fr); }

  .grid.products{ grid-template-columns:minmax(0,1fr); }
  .why-grid{ grid-template-columns:minmax(0,1fr); }

  .partner-grid{ grid-template-columns:minmax(0,1fr); }
  .partner-card img{ height:66px; }

  .floating-wa{
    width:52px;
    height:52px;
    right:14px;
    bottom:16px;
  }

  .modal-body{
    padding-bottom:calc(20px + 64px + env(safe-area-inset-bottom));
  }
}

@media (max-width:480px){
  .nav-container{ padding-inline:16px; }
}
/* =========================================
   HERO CENTER CLEAN OVERRIDE (FINAL)
========================================= */

.hero-inner{
  grid-template-columns: 1fr !important;
  justify-items: center;
  text-align: center;
}

.hero-left{
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}

.hero-right{
  display: none;
}

.hero-pill{
  margin-inline: auto;
}

.hero p{
  margin: 0 auto 22px;
  max-width: 620px;
  font-size: 1.05rem;
  opacity: 0.95;
}

.hero-cta{
  justify-content: center;
}

@media (max-width: 640px){
  .hero-inner{
    padding: 56px 0 48px;
    gap: 18px;
  }

  .hero-left{
    max-width: 100%;
    padding-inline: 10px;
  }

  .hero h1{
    font-size: 1.9rem;
    line-height: 1.15;
  }

  .hero p{
    font-size: .96rem;
  }
}

