/* =========================================================
   hatikode — landing.css
   ========================================================= */

/* ---------------- NAV ---------------- */
.nav{
  position:fixed;
  inset:0 0 auto 0;
  z-index:50;
  background:rgba(251,245,236,.72);
  backdrop-filter:blur(14px) saturate(1.3);
  -webkit-backdrop-filter:blur(14px) saturate(1.3);
  border-bottom:1px solid transparent;
  transition:border-color .3s, background .3s;
}
.nav.scrolled{
  border-bottom-color:var(--line);
  background:rgba(251,245,236,.9);
}
.nav .wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  height:70px;
}

.logo{display:flex;align-items:center;gap:11px}
.logo-mark{
  width:34px;height:34px;
  display:grid;place-items:center;
  border-radius:11px;
  background:linear-gradient(150deg,var(--rose) 0%,var(--rose-2) 55%,var(--plum) 100%);
  box-shadow:0 6px 16px -8px rgba(168,38,72,.9), inset 0 1px 0 rgba(255,255,255,.35);
  transition:transform .4s var(--ease);
}
.logo:hover .logo-mark{transform:rotate(-8deg) scale(1.05)}
.logo-mark svg{width:18px;height:18px}
.logo-txt{
  font-family:var(--font-display);
  font-size:21px;
  letter-spacing:-.02em;
  display:flex;align-items:baseline;gap:1px;
}
.logo-txt b{font-weight:500}
.logo-txt i{
  font-style:italic;
  color:var(--rose);
  font-weight:500;
}

.nav-links{
  display:flex;
  align-items:center;
  gap:4px;
  margin-left:auto;
}
.nav-links a{
  padding:9px 14px;
  border-radius:999px;
  font-size:13.5px;
  font-weight:500;
  color:var(--ink-2);
  transition:color .2s, background .2s;
}
.nav-links a:hover{color:var(--ink);background:rgba(217,198,178,.28)}
.nav-cta{margin-left:8px}

@media (max-width:860px){
  .nav-links a:not(.nav-cta){display:none}
}

/* ---------------- HERO ---------------- */
.hero{
  position:relative;
  padding-top:clamp(104px,13vw,140px);
  padding-bottom:clamp(40px,6vw,72px);
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  inset:-20% -10% auto -10%;
  height:120%;
  background:
    radial-gradient(46% 42% at 78% 18%, rgba(211,63,99,.14), transparent 70%),
    radial-gradient(40% 40% at 12% 26%, rgba(185,135,63,.16), transparent 72%),
    radial-gradient(50% 50% at 55% 92%, rgba(71,32,47,.08), transparent 70%);
  pointer-events:none;
}
.hero .wrap{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:clamp(32px,5vw,64px);
  align-items:center;
}
.hero-copy{position:relative;z-index:2}

.hero .eyebrow{margin-bottom:20px}
.hero .h1{margin-bottom:22px;max-width:15ch}
.hero .h1 em{
  position:relative;
  background:linear-gradient(180deg,transparent 58%,rgba(211,63,99,.14) 58%,rgba(211,63,99,.14) 94%,transparent 94%);
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
  padding-inline:.04em;
}
.hero .lead{max-width:44ch;margin-bottom:30px}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:26px;
}

.trust{
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  font-size:12.5px;
  color:var(--ink-2);
}
.trust li{display:flex;align-items:center;gap:7px}
.trust svg{width:14px;height:14px;color:var(--sage);flex:none}

/* ------- kartu pratinjau (kanan) ------- */
.hero-art{
  position:relative;
  display:flex;
  justify-content:center;
  perspective:1200px;
}
.preview{
  position:relative;
  width:min(100%,430px);
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--r-xl);
  box-shadow:var(--shadow-lg);
  padding:16px;
  transform-style:preserve-3d;
  transition:transform .5s var(--ease);
  will-change:transform;
}
.preview-head{
  display:flex;
  align-items:center;
  gap:9px;
  padding:2px 4px 13px;
  border-bottom:1px dashed var(--line-2);
  font-size:13px;
  color:var(--ink-2);
}
.preview-head .dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--rose);
  box-shadow:0 0 0 4px rgba(211,63,99,.14);
}
.preview-head b{color:var(--ink);font-weight:600}
.preview-head .stamp{
  margin-left:auto;
  font-family:var(--font-mono);
  font-size:9.5px;
  letter-spacing:.12em;
  padding:4px 9px;
  border:1px solid var(--line-2);
  border-radius:999px;
  color:var(--ink-3);
}

.preview-body{
  display:grid;
  grid-template-columns:1.06fr .94fr;
  gap:10px;
  padding-top:12px;
}

/* mini kado */
.gift{
  position:relative;
  border-radius:16px;
  overflow:hidden;
  background:
    radial-gradient(90% 70% at 20% 0%, #6d3145, transparent 70%),
    linear-gradient(165deg,#5c2438 0%,#3d1524 60%,#2b0f1a 100%);
  color:#f7e3cf;
  padding:14px 14px 12px;
  min-height:214px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  isolation:isolate;
}
.gift::after{
  content:"";
  position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,226,190,.5) .7px, transparent .8px);
  background-size:9px 9px;
  opacity:.28;
  z-index:-1;
}
.gift-top{font-family:var(--font-mono);font-size:8px;letter-spacing:.2em;opacity:.65;text-transform:uppercase}
.gift-script{
  font-family:var(--font-display);
  font-style:italic;
  font-size:26px;
  line-height:.98;
  letter-spacing:-.02em;
  margin-top:2px;
  color:#f9e8d2;
}
.gift-photo{
  position:relative;
  margin:10px 0 8px;
  height:74px;
  border-radius:4px;
  background:#f4e3cd;
  padding:4px 4px 13px;
  transform:rotate(-3.5deg);
  box-shadow:0 8px 18px -8px rgba(0,0,0,.7);
  width:86%;
}
.gift-photo i{
  display:block;
  height:100%;
  border-radius:2px;
  background:
    radial-gradient(60% 60% at 30% 20%, rgba(255,240,210,.9), transparent 60%),
    radial-gradient(70% 70% at 75% 80%, #c98a6e, transparent 65%),
    linear-gradient(150deg,#e9b7a0,#a86a5c 60%,#5c3742);
}
.gift-date{
  font-family:var(--font-mono);
  font-size:8.5px;
  letter-spacing:.16em;
  opacity:.75;
  align-self:flex-end;
}
.gift-star{
  position:absolute;top:12px;right:12px;
  width:26px;height:26px;
  color:#e6c078;
  animation:twinkle 4s ease-in-out infinite;
}
@keyframes twinkle{
  0%,100%{opacity:.55;transform:scale(.92) rotate(0)}
  50%{opacity:1;transform:scale(1.06) rotate(10deg)}
}

/* panel QR */
.qr-panel{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:16px;
  background:var(--cream);
  border:1px solid var(--line);
  padding:12px 8px;
  position:relative;
  overflow:hidden;
}
.qr-panel canvas{
  width:100%;
  max-width:132px;
  height:auto;
  aspect-ratio:1;
}
.qr-cap{
  font-family:var(--font-mono);
  font-size:8.5px;
  letter-spacing:.14em;
  color:var(--rose-2);
  text-align:center;
  text-transform:uppercase;
}
.qr-panel::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);
  transform:translateX(-120%);
  animation:sweep 5.5s ease-in-out infinite;
}
@keyframes sweep{
  0%,55%{transform:translateX(-120%)}
  80%,100%{transform:translateX(120%)}
}

.preview-note{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin-top:11px;
  padding:10px 12px;
  border-radius:14px;
  background:var(--paper-2);
  border:1px dashed var(--line-2);
  font-size:11.5px;
  line-height:1.5;
  color:var(--ink-2);
}
.preview-note .hand{
  font-size:20px;
  color:var(--ink);
  line-height:1.1;
  flex:1;
}
.code{
  flex:none;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.14em;
  padding:5px 8px;
  border-radius:7px;
  background:var(--plum-2);
  color:#ffe9c9;
  align-self:center;
}

/* stiker */
.sticker{
  position:absolute;
  font-family:var(--font-mono);
  font-size:9.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:9px 13px;
  border-radius:999px;
  background:var(--gold-soft);
  color:#6b4a17;
  border:1px solid #e2c795;
  box-shadow:var(--shadow-sm);
  transform:rotate(-9deg);
  z-index:3;
}
.sticker--tl{top:-14px;left:-10px}
.sticker--br{
  bottom:-12px;right:-6px;
  transform:rotate(7deg);
  background:var(--rose);
  color:#fff;
  border-color:var(--rose-2);
}
.heart-float{
  position:absolute;
  right:-8px;top:38%;
  width:44px;height:44px;
  color:var(--rose);
  opacity:.9;
  transform:rotate(12deg);
  animation:bob 6s ease-in-out infinite;
}
@keyframes bob{
  0%,100%{transform:rotate(12deg) translateY(0)}
  50%{transform:rotate(6deg) translateY(-9px)}
}

@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr;gap:44px}
  .hero .h1{max-width:18ch}
  .hero-art{order:2}
  .preview{width:min(100%,400px)}
}

/* ---------------- MARQUEE ---------------- */
.strip{
  border-block:1px solid var(--line);
  background:rgba(255,252,247,.55);
  overflow:hidden;
  padding-block:13px;
}
.strip-track{
  display:flex;
  gap:34px;
  width:max-content;
  animation:slide 34s linear infinite;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ink-3);
  white-space:nowrap;
}
.strip-track span{display:flex;align-items:center;gap:34px}
.strip-track b{color:var(--rose);font-weight:400}
@keyframes slide{to{transform:translateX(-50%)}}

/* ---------------- KENAPA ---------------- */
.why-head{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  align-items:end;
  margin-bottom:clamp(30px,4vw,52px);
}
.why-head .h2{max-width:18ch}
.why-head .lead{max-width:40ch;justify-self:end}

.why-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.why-card{
  padding:26px 24px 28px;
  border-radius:var(--r-lg);
  background:var(--card);
  border:1px solid var(--line);
  position:relative;
  overflow:hidden;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .3s;
}
.why-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow);
  border-color:var(--line-2);
}
.why-card .num{
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.16em;
  color:var(--ink-3);
}
.why-ico{
  width:46px;height:46px;
  border-radius:14px;
  display:grid;place-items:center;
  background:var(--rose-soft);
  color:var(--rose-2);
  margin:16px 0 18px;
  border:1px solid #f6d3db;
}
.why-ico svg{width:22px;height:22px}
.why-card:nth-child(2) .why-ico{background:var(--gold-soft);color:#8a5f22;border-color:#ecd9b4}
.why-card:nth-child(3) .why-ico{background:#E6EDE2;color:#4c6045;border-color:#d3e0cd}
.why-card h3{
  font-family:var(--font-display);
  font-size:21px;
  font-weight:500;
  letter-spacing:-.015em;
  margin-bottom:8px;
}
.why-card p{font-size:14px;line-height:1.65;color:var(--ink-2)}

@media (max-width:900px){
  .why-head{grid-template-columns:1fr;align-items:start}
  .why-head .lead{justify-self:start}
  .why-grid{grid-template-columns:1fr}
}

/* ---------------- MODEL ---------------- */
.model{
  background:
    radial-gradient(60% 50% at 85% 0%, rgba(211,63,99,.07), transparent 70%),
    var(--paper-2);
  border-block:1px solid var(--line);
}
.model-head{max-width:640px;margin-bottom:26px}
.model-head .h2{margin:16px 0 14px}
.model-head .lead{max-width:52ch}

.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:34px}
.chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 15px;
  border-radius:999px;
  background:var(--card);
  border:1px solid var(--line-2);
  font-size:12.5px;
  font-weight:500;
  color:var(--ink-2);
  box-shadow:var(--shadow-sm);
}
.chip svg{width:14px;height:14px;opacity:.7}

.rail-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.rail-hint{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;color:var(--ink-3);text-transform:uppercase}
.rail-nav{display:flex;gap:6px}
.rail-btn{
  width:36px;height:36px;
  border-radius:50%;
  border:1px solid var(--line-2);
  background:var(--card);
  display:grid;place-items:center;
  color:var(--ink);
  transition:background .2s, transform .2s, opacity .2s;
}
.rail-btn:hover{background:var(--ink);color:var(--cream);transform:scale(1.04)}
.rail-btn svg{width:15px;height:15px}
.rail-btn:disabled{opacity:.32;pointer-events:none}

.rail{
  display:flex;
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding-bottom:8px;
  scrollbar-width:none;
  cursor:grab;
}
.rail::-webkit-scrollbar{display:none}
.rail.dragging{cursor:grabbing;scroll-snap-type:none}

.m-card{
  flex:0 0 260px;
  scroll-snap-align:start;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:10px 10px 16px;
  box-shadow:var(--shadow-sm);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.m-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}

.thumb{
  position:relative;
  aspect-ratio:4/4.6;
  border-radius:16px;
  overflow:hidden;
  display:grid;
  place-items:center;
  isolation:isolate;
  border:1px solid rgba(43,18,32,.1);
}
.thumb .t-inner{
  position:absolute;
  inset:14% 14%;
  border-radius:6px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  text-align:center;
  padding:10px;
  box-shadow:0 14px 30px -14px rgba(0,0,0,.6);
}
.thumb .t-kicker{font-family:var(--font-mono);font-size:6.5px;letter-spacing:.22em;text-transform:uppercase;opacity:.7}
.thumb .t-title{font-family:var(--font-display);font-size:19px;line-height:1;letter-spacing:-.02em}
.thumb .t-sub{font-family:var(--font-mono);font-size:6.5px;letter-spacing:.14em;opacity:.65}
.thumb .t-qr{
  width:40px;height:40px;
  margin-top:6px;
  border-radius:5px;
  background:#fff;
  padding:4px;
}
.thumb .t-qr svg{width:100%;height:100%}

/* variasi tema thumb */
.thumb--xoxo{background:radial-gradient(80% 60% at 30% 10%,#7a3549,transparent 70%),linear-gradient(160deg,#5e2438,#37121f)}
.thumb--xoxo .t-inner{background:#f6e7d3;color:#4a1a28;border:1px dashed #c9a98a}
.thumb--xoxo .t-title{font-style:italic}
.thumb--blossom{background:linear-gradient(170deg,#ffe3ec,#ffc9db 50%,#f6b0c6)}
.thumb--blossom .t-inner{background:#fff8fb;color:#b03a63;border:1px solid #f3c9d8}
.thumb--starlight{background:radial-gradient(70% 60% at 70% 20%,#3a3f7a,transparent 65%),linear-gradient(170deg,#141830,#0a0c1a)}
.thumb--starlight .t-inner{background:rgba(255,255,255,.06);color:#e9e6ff;border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(2px)}
.thumb--elegan{background:linear-gradient(170deg,#efe3cf,#dcc8ab)}
.thumb--elegan .t-inner{background:#fffdf8;color:#5b4432;border:1px solid #ddcbb2}
.thumb--vintage{background:linear-gradient(170deg,#e9c9a8,#cf9a76 60%,#a96f52)}
.thumb--vintage .t-inner{background:#c8402f;color:#ffe9d2;border:2px solid #f4d7b6;transform:rotate(-2deg)}
.thumb--game{background:linear-gradient(180deg,#8fd0e8,#4a9ec4 60%,#2f7396)}
.thumb--game .t-inner{background:#1b1030;color:#7ef7c4;border:2px solid #7ef7c4;font-family:var(--font-mono)}

/* ornamen kecil dalam thumb */
.t-petal{position:absolute;width:9px;height:9px;border-radius:50% 0 50% 50%;background:#fff;opacity:.55;transform:rotate(35deg)}
.t-petal:nth-child(1){top:12%;left:16%}
.t-petal:nth-child(2){top:24%;right:14%;transform:rotate(-20deg) scale(.8)}
.t-petal:nth-child(3){bottom:16%;left:22%;transform:rotate(70deg) scale(.65)}
.t-star{position:absolute;color:#fff;opacity:.8}
.t-star svg{width:10px;height:10px}

.m-meta{padding:14px 8px 0}
.m-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.m-meta h3{font-family:var(--font-display);font-size:18px;font-weight:500;letter-spacing:-.01em}
.m-meta .tag{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.1em;color:var(--ink-3);text-transform:uppercase}
.m-meta p{font-size:12.5px;line-height:1.55;color:var(--ink-2);margin-top:5px;min-height:39px}
.m-links{display:flex;gap:6px;margin-top:12px}
.m-links a{
  flex:1;
  text-align:center;
  font-size:11.5px;
  font-weight:600;
  padding:8px 6px;
  border-radius:9px;
  border:1px solid var(--line-2);
  color:var(--ink-2);
  transition:background .2s,color .2s,border-color .2s;
}
.m-links a:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}

.model-foot{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:26px;
  font-size:12.5px;
  color:var(--ink-2);
}
.model-foot .hand{color:var(--ink);font-size:19px}

/* ---------------- HARGA ---------------- */
.price-head{text-align:center;max-width:620px;margin:0 auto clamp(30px,4vw,46px)}
.price-head .h2{margin:16px 0 14px}
.price-head .lead{margin-inline:auto;text-align:center}

.plans{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  align-items:stretch;
}
.plan{
  position:relative;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:26px 24px 24px;
  display:flex;
  flex-direction:column;
  box-shadow:var(--shadow-sm);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.plan:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.plan--hot{
  background:linear-gradient(180deg,#2f1421,#1f0b16);
  border-color:#3d1c2b;
  color:#f7e8d8;
  box-shadow:var(--shadow-lg);
  transform:translateY(-8px);
}
.plan--hot:hover{transform:translateY(-11px)}
.plan--hot .plan-desc,
.plan--hot .plan-feat{color:#c9ae9f}
.plan--hot .plan-feat svg{color:#e8b06b}
.plan--hot .plan-name{color:#f7e8d8}

.plan-badge{
  position:absolute;
  top:-11px;left:24px;
  font-family:var(--font-mono);
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:5px 10px;
  border-radius:999px;
  background:var(--gold-soft);
  color:#6b4a17;
  border:1px solid #e2c795;
}
.plan--hot .plan-badge{
  background:linear-gradient(90deg,#f0c07a,#e0a35a);
  border-color:#f6d7a6;
  color:#4a2c0d;
}

.plan-name{
  font-family:var(--font-mono);
  font-size:10.5px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--ink-3);
}
.plan-price{
  display:flex;
  align-items:baseline;
  gap:8px;
  margin:12px 0 4px;
}
.plan-price .now{
  font-family:var(--font-display);
  font-size:38px;
  letter-spacing:-.03em;
  line-height:1;
}
.plan-price .now small{font-size:17px;font-weight:500;letter-spacing:0}
.plan-price .was{
  font-family:var(--font-mono);
  font-size:11px;
  color:var(--ink-3);
  text-decoration:line-through;
}
.plan--hot .plan-price .was{color:#a8877a}
.plan-desc{font-size:12.5px;color:var(--ink-2);margin-bottom:18px}

.plan-feat{
  display:flex;
  flex-direction:column;
  gap:9px;
  font-size:13px;
  color:var(--ink-2);
  margin-bottom:22px;
  flex:1;
}
.plan-feat li{display:flex;gap:9px;align-items:flex-start;line-height:1.45}
.plan-feat svg{width:15px;height:15px;flex:none;margin-top:2px;color:var(--sage)}
.plan .btn{width:100%}
.plan--hot .btn{--bg:var(--cream);--fg:var(--plum-2);box-shadow:0 12px 26px -16px rgba(0,0,0,.9)}
.plan--hot .btn:hover{background:#fff;color:var(--plum-2)}

.price-note{
  text-align:center;
  margin-top:24px;
  font-size:12px;
  color:var(--ink-3);
}
.price-note b{color:var(--ink-2);font-weight:600}

@media (max-width:900px){
  .plans{grid-template-columns:1fr;gap:14px}
  .plan--hot{transform:none;order:-1}
  .plan--hot:hover{transform:translateY(-3px)}
}

/* ---------------- CARA PESAN ---------------- */
.how{
  background:var(--paper-2);
  border-block:1px solid var(--line);
}
.how-head{max-width:560px;margin-bottom:clamp(30px,4vw,50px)}
.how-head .h2{margin-top:16px}

.steps{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(16px,3vw,34px);
  counter-reset:s;
  position:relative;
}
.steps::before{
  content:"";
  position:absolute;
  top:29px;left:16.7%;right:16.7%;
  height:1px;
  background-image:linear-gradient(90deg,var(--line-2) 55%,transparent 0);
  background-size:9px 1px;
  z-index:0;
}
.step{position:relative;z-index:1}
.step-num{
  width:58px;height:58px;
  border-radius:50%;
  background:var(--card);
  border:1px solid var(--line-2);
  display:grid;place-items:center;
  font-family:var(--font-display);
  font-size:19px;
  color:var(--rose-2);
  margin-bottom:18px;
  box-shadow:0 0 0 8px var(--paper-2);
}
.step h3{
  font-family:var(--font-display);
  font-size:21px;
  font-weight:500;
  letter-spacing:-.015em;
  margin-bottom:7px;
}
.step p{font-size:14px;line-height:1.65;color:var(--ink-2);max-width:30ch}

@media (max-width:820px){
  .steps{grid-template-columns:1fr;gap:26px}
  .steps::before{display:none}
  .step{display:grid;grid-template-columns:58px 1fr;gap:16px;align-items:start}
  .step-num{margin:0}
}

/* ---------------- FAQ ---------------- */
.faq-grid{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:clamp(24px,5vw,60px);
  align-items:start;
}
.faq-head .h2{margin:16px 0 14px}
.faq-head .lead{font-size:15px;max-width:34ch}

.acc{border-top:1px solid var(--line-2)}
.acc-item{border-bottom:1px solid var(--line-2)}
.acc-btn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:19px 4px;
  text-align:left;
  font-size:15px;
  font-weight:500;
  color:var(--ink);
  transition:color .2s;
}
.acc-btn:hover{color:var(--rose-2)}
.acc-ico{
  flex:none;
  width:26px;height:26px;
  border-radius:50%;
  border:1px solid var(--line-2);
  display:grid;place-items:center;
  position:relative;
  transition:background .25s, border-color .25s, transform .3s var(--ease);
}
.acc-ico::before,
.acc-ico::after{
  content:"";
  position:absolute;
  background:currentColor;
  border-radius:2px;
  transition:transform .3s var(--ease), opacity .3s;
}
.acc-ico::before{width:10px;height:1.4px}
.acc-ico::after{width:1.4px;height:10px}
.acc-item.open .acc-ico{background:var(--rose);border-color:var(--rose);color:#fff;transform:rotate(180deg)}
.acc-item.open .acc-ico::after{transform:scaleY(0);opacity:0}

.acc-panel{
  overflow:hidden;
  height:0;
  transition:height .38s var(--ease);
}
.acc-panel > div{
  padding:0 44px 22px 4px;
  font-size:14px;
  line-height:1.7;
  color:var(--ink-2);
  max-width:60ch;
}

@media (max-width:860px){
  .faq-grid{grid-template-columns:1fr;gap:22px}
}

/* ---------------- CLOSING ---------------- */
.closing{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(60% 70% at 80% 10%, rgba(211,63,99,.28), transparent 65%),
    radial-gradient(50% 60% at 10% 90%, rgba(185,135,63,.18), transparent 70%),
    linear-gradient(160deg,#341626,#1d0a13 70%);
  color:#f9ecdd;
  border-radius:var(--r-xl);
  margin:0 auto;
  max-width:var(--wrap);
  width:calc(100% - 2 * var(--pad));
  padding:clamp(38px,7vw,76px) clamp(26px,6vw,70px);
  text-align:center;
}
.closing::before{
  content:"";
  position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,220,180,.35) .6px, transparent .8px);
  background-size:11px 11px;
  opacity:.25;
  pointer-events:none;
}
.closing .eyebrow{color:#e9b06b;justify-content:center}
.closing .h2{
  margin:18px auto 16px;
  max-width:16ch;
  color:#fff8ee;
}
.closing .h2 em{color:#f4b6c6}
.closing p{
  max-width:46ch;
  margin:0 auto 28px;
  font-size:15.5px;
  line-height:1.75;
  color:#d9c2b4;
}
.closing .btn{--bg:var(--cream);--fg:var(--plum-2)}
.closing .btn:hover{background:#fff}

.closing-heart{
  position:absolute;
  right:-30px;bottom:-40px;
  width:220px;height:220px;
  color:rgba(255,255,255,.06);
  transform:rotate(-8deg);
  pointer-events:none;
}
.closing .hand{
  display:block;
  margin-top:22px;
  font-size:19px;
  color:#c9a58f;
}

/* ---------------- FOOTER ---------------- */
.footer{
  padding:clamp(40px,6vw,64px) 0 26px;
  margin-top:clamp(50px,7vw,90px);
  border-top:1px solid var(--line);
}
.footer-top{
  display:flex;
  justify-content:space-between;
  gap:32px;
  flex-wrap:wrap;
  padding-bottom:30px;
}
.footer-brand{max-width:30ch}
.footer-brand p{font-size:13px;color:var(--ink-2);margin-top:12px;line-height:1.6}
.footer-cols{display:flex;gap:clamp(30px,6vw,70px);flex-wrap:wrap}
.footer-col h4{
  font-family:var(--font-mono);
  font-size:9.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ink-3);
  margin-bottom:12px;
  font-weight:500;
}
.footer-col a{
  display:block;
  font-size:13.5px;
  color:var(--ink-2);
  padding:4px 0;
  transition:color .2s;
}
.footer-col a:hover{color:var(--rose-2)}
.footer-bot{
  border-top:1px solid var(--line);
  padding-top:18px;
  display:flex;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  font-size:11.5px;
  color:var(--ink-3);
}
.footer-bot .hand{font-size:16px;color:var(--ink-2)}

/* ---------------- MOBILE BAR ---------------- */
.mbar{
  position:fixed;
  left:12px;right:12px;bottom:12px;
  z-index:60;
  display:none;
  align-items:center;
  gap:12px;
  padding:10px 10px 10px 16px;
  border-radius:18px;
  background:rgba(43,18,32,.94);
  backdrop-filter:blur(12px);
  color:#f9ecdd;
  box-shadow:0 20px 40px -18px rgba(43,18,32,.9);
  transform:translateY(140%);
  transition:transform .5s var(--ease);
}
.mbar.show{transform:none}
.mbar-txt{flex:1;line-height:1.2}
.mbar-txt small{display:block;font-size:10px;color:#bfa294;letter-spacing:.04em}
.mbar-txt b{font-size:15px}
.mbar .btn{min-height:42px;padding:0 18px;font-size:13px;background:var(--cream);color:var(--plum-2)}

@media (max-width:640px){
  .mbar{display:flex}
  body{padding-bottom:76px}
  .hero{padding-top:96px}
  .sticker--tl{left:-4px;top:-12px}
  .sticker--br{right:-2px}
  .preview{padding:12px}
  .gift{min-height:196px}
}
