/* ===========================================================
   AMAR AO MÁXIMO — Matrimônio Inquebrável · Sistema visual
   Direções: vinho · navy · bicolor   (data-direction no <html>)
   =========================================================== */

/* ---- Constantes de cor ---- */
:root{
  --wine-deep:  oklch(0.155 0.058 18);
  --wine:       oklch(0.205 0.075 19);
  --wine-soft:  oklch(0.255 0.085 20);
  --navy-deep:  oklch(0.205 0.082 262);
  --navy:       oklch(0.255 0.094 262);
  --navy-soft:  oklch(0.300 0.094 262);
  --royal:      #1f3f93;

  --gold:       #d8a64a;
  --gold-soft:  #ecc983;
  --gold-line:  color-mix(in oklab, var(--gold) 55%, transparent);

  --cream:      oklch(0.965 0.012 84);
  --ink-strong: oklch(0.985 0.008 90);
  --muted:      color-mix(in oklab, var(--cream) 68%, transparent);
  --muted-soft: color-mix(in oklab, var(--cream) 46%, transparent);
  --hair:       color-mix(in oklab, var(--cream) 14%, transparent);

  /* tweakáveis (sobrescritos via Customizer) */
  --cta:        #1f8f5c;
  --accent:     var(--gold);

  /* derivados do CTA */
  --cta-light:  color-mix(in oklab, var(--cta) 84%, white 16%);
  --cta-dark:   color-mix(in oklab, var(--cta) 74%, black 26%);
  --cta-glow:   color-mix(in oklab, var(--cta) 55%, transparent);

  /* bandas (definidas por direção) */
  --band-1: var(--wine-deep);
  --band-2: var(--wine);
  --hero-a: var(--wine);
  --hero-b: var(--wine-deep);
  --card:   color-mix(in oklab, var(--cream) 5%, transparent);
  --card-line: color-mix(in oklab, var(--cream) 11%, transparent);

  --maxw: 1180px;
  --pad: clamp(22px, 5vw, 80px);

  --font-display: "Schibsted Grotesk", system-ui, sans-serif;
  --font-body: "Hanken Grotesk", system-ui, sans-serif;
  --font-serif: "Lora", Georgia, serif;
}

[data-direction="vinho"]{
  --band-1: var(--wine-deep); --band-2: var(--wine);
  --hero-a: var(--wine); --hero-b: var(--wine-deep);
}
[data-direction="navy"]{
  --band-1: var(--navy-deep); --band-2: var(--navy);
  --hero-a: var(--navy); --hero-b: var(--navy-deep);
}
[data-direction="bicolor"]{
  --band-1: var(--wine); --band-2: var(--navy);
  --hero-a: var(--wine); --hero-b: var(--navy-deep);
}

/* ---- Reset ---- */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  font-family:var(--font-body);
  background:var(--band-1);
  color:var(--cream);
  line-height:1.62;
  font-size:clamp(16px,1.05vw,18px);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--accent); color:#1a0d10; }

/* ---- Layout ---- */
.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--pad); }
.section{ padding-block:clamp(70px,9vw,140px); position:relative; }
.band-1{ background:var(--band-1); }
.band-2{ background:var(--band-2); }
.center{ text-align:center; }
.narrow{ max-width:780px; margin-inline:auto; }

/* hairline divider between bands */
.section + .section{ box-shadow: inset 0 1px 0 var(--hair); }

/* ---- Tipografia ---- */
.eyebrow{
  font-family:var(--font-body);
  font-weight:700;
  font-size:.78rem;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--accent);
  display:inline-flex; align-items:center; gap:.7em;
}
.eyebrow::before{
  content:""; width:30px; height:1px; background:var(--accent); opacity:.7;
}
.eyebrow.solo::before{ display:none; }

h1,h2,h3{ font-family:var(--font-display); font-weight:800; line-height:1.04; letter-spacing:-.018em; text-wrap:balance; }
h1{ font-size:clamp(2.6rem,5.6vw,4.6rem); }
h2{ font-size:clamp(2.05rem,4vw,3.3rem); }
h3{ font-size:clamp(1.3rem,1.9vw,1.6rem); letter-spacing:-.01em; }
.hl{ color:var(--accent); }
.lead{ font-size:clamp(1.1rem,1.5vw,1.32rem); color:var(--muted); line-height:1.6; text-wrap:pretty; }
p{ text-wrap:pretty; }
.muted{ color:var(--muted); }

/* ---- Botão CTA ---- */
.cta{
  --r:999px;
  display:inline-flex; align-items:center; gap:1.1rem;
  padding:1.05rem 1.1rem 1.05rem 1.9rem;
  border-radius:var(--r);
  background:linear-gradient(180deg,var(--cta-light),var(--cta-dark));
  color:#fff; font-family:var(--font-body); font-weight:700;
  font-size:clamp(1rem,1.25vw,1.12rem); letter-spacing:.005em;
  box-shadow:0 1px 0 color-mix(in oklab,white 30%,transparent) inset,
             0 14px 38px -10px var(--cta-glow),
             0 0 0 1px color-mix(in oklab,var(--cta) 60%,transparent);
  transition:transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s, filter .25s;
  cursor:pointer; border:0; text-align:left; line-height:1.15;
}
.cta:hover{ transform:translateY(-3px); filter:saturate(1.08) brightness(1.04);
  box-shadow:0 1px 0 color-mix(in oklab,white 35%,transparent) inset,
             0 22px 50px -12px var(--cta-glow),
             0 0 0 1px color-mix(in oklab,var(--cta) 70%,transparent); }
.cta:active{ transform:translateY(-1px); }
.cta__arrow{
  flex:0 0 auto; width:2.6rem; height:2.6rem; border-radius:50%;
  display:grid; place-items:center;
  background:color-mix(in oklab,var(--gold) 92%, white 0%);
  color:#2a160a; font-size:1.15rem; font-style:normal;
  box-shadow:0 2px 10px -2px color-mix(in oklab,var(--gold) 70%,transparent);
  transition:transform .3s;
}
.cta:hover .cta__arrow{ transform:translateX(3px); }
.cta--lg{ padding-block:1.25rem; }
.cta-note{ margin-top:1rem; font-size:.92rem; color:var(--muted-soft); letter-spacing:.01em; }
.cta-note b{ color:var(--gold-soft); font-weight:700; }

/* ---- Header ---- */
.site-header{
  position:sticky; top:0; z-index:40;
  background:color-mix(in oklab, var(--navy-deep) 82%, transparent);
  -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  border-bottom:1px solid var(--hair);
}
body.admin-bar .site-header{ top:32px; }
@media (max-width:782px){ body.admin-bar .site-header{ top:46px; } }
.site-header .wrap{ display:flex; align-items:center; justify-content:space-between; padding-block:.85rem; }
.brand{ display:flex; align-items:center; gap:.7rem; }
.brand img{ height:42px; width:auto; }
.brand .wordmark{ display:flex; flex-direction:column; line-height:1; }
.brand .wordmark small{ font-size:.56rem; letter-spacing:.32em; color:var(--muted); text-transform:uppercase; font-weight:700; }
.brand .wordmark span{ font-family:var(--font-serif); font-weight:700; font-size:1.18rem; color:var(--cream); letter-spacing:.01em; }
.header-cta{ font-size:.92rem; }
.header-cta .cta{ padding:.7rem .8rem .7rem 1.3rem; gap:.7rem; }
.header-cta .cta__arrow{ width:2.1rem; height:2.1rem; font-size:.95rem; }
@media (max-width:680px){ .header-cta{ display:none; } .brand .wordmark small{ display:none; } }

/* ---- Hero ---- */
.hero{
  position:relative; overflow:hidden;
  background:
    radial-gradient(120% 90% at 78% 18%, color-mix(in oklab,var(--hero-a) 60%, transparent), transparent 60%),
    linear-gradient(165deg, var(--hero-a), var(--hero-b) 78%);
}
.hero::after{ /* vinheta */
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(120% 120% at 30% 50%, transparent 40%, rgba(0,0,0,.38));
}
.hero .wrap{ position:relative; z-index:2; display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(24px,4vw,64px); align-items:center; min-height:min(88vh,860px); padding-block:clamp(40px,6vw,72px); }
.hero-copy h1{ margin:.6rem 0 1.3rem; }
.hero-copy .lead{ max-width:34ch; }
.hero-cta-row{ margin-top:2rem; }
.hero-figure{ position:relative; }
.hero-figure .cutout{ position:relative; }
.hero-figure .cutout::before{ content:""; position:absolute; inset:-8% -4% -2% -4%; z-index:0;
  background:radial-gradient(58% 56% at 55% 42%, color-mix(in oklab,var(--accent) 22%, transparent), transparent 70%);
  filter:blur(10px); }
/* Sombra suave na base: assenta o recorte e dissolve a linha reta do corte. */
.hero-figure .cutout::after{ content:""; position:absolute; left:8%; right:8%; bottom:-1%; height:64px; z-index:1; pointer-events:none;
  background:radial-gradient(60% 100% at 50% 100%, rgba(0,0,0,.5), transparent 72%); filter:blur(9px); }
.hero-figure .cutout img{ position:relative; z-index:2; height:auto; display:block;
  width:110%; max-width:none; margin-inline-start:-10%; /* maior, crescendo p/ dentro (sem clipar à direita) */
  filter:drop-shadow(0 30px 42px rgba(0,0,0,.5));
  /* fade do rodapé: o corte some no fundo em vez de virar um risco reto */
  -webkit-mask-image:linear-gradient(to bottom, #000 85%, transparent 100%);
  mask-image:linear-gradient(to bottom, #000 85%, transparent 100%); }
.figure-tag{
  position:absolute; left:-6px; bottom:54px; z-index:3;
  background:linear-gradient(155deg, color-mix(in oklab,var(--royal) 92%, white 8%), color-mix(in oklab,var(--royal) 80%, black 20%));
  border:1px solid color-mix(in oklab,var(--gold) 50%, transparent); border-radius:13px;
  padding:.7rem 1.15rem; box-shadow:0 18px 40px -16px rgba(0,0,0,.6);
  font-size:.82rem;
}
.figure-tag b{ display:block; font-family:var(--font-serif); font-weight:700; color:#fff; font-size:1.18rem; line-height:1.1; white-space:nowrap; }
.figure-tag small{ display:block; margin-top:.22rem; color:color-mix(in oklab,var(--gold-soft) 85%, white); font-size:.72rem; letter-spacing:.07em; font-weight:600; }
@media (max-width:860px){
  .hero .wrap{ grid-template-columns:1fr; min-height:0; gap:34px; }
  .hero-figure{ order:-1; max-width:440px; margin-inline:auto; }
  .hero-figure .cutout img{ width:100%; margin-inline-start:0; }
}

/* ---- Bloco de citação grande (escritura / Nossa Senhora) ---- */
.scripture{ position:relative; padding-left:0; }
.scripture .mark{ font-family:var(--font-serif); font-size:5rem; line-height:.6; color:var(--accent); opacity:.5; display:block; height:.5em; }
.scripture blockquote{
  font-family:var(--font-serif); font-style:italic; font-weight:500;
  font-size:clamp(1.5rem,3.1vw,2.5rem); line-height:1.28; color:var(--ink-strong);
  letter-spacing:-.005em; text-wrap:balance;
}
.scripture cite{ display:block; margin-top:1.3rem; font-style:normal; font-family:var(--font-body); font-weight:700; letter-spacing:.16em; text-transform:uppercase; font-size:.8rem; color:var(--gold-soft); }
.scripture cite::before{ content:"— "; }

/* ---- Grid genérico de 2 colunas ---- */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4.5vw,72px); align-items:center; }
.split.reverse > .split-media{ order:2; }
@media (max-width:860px){ .split{ grid-template-columns:1fr; } .split.reverse > .split-media{ order:0; } }
.media-frame{ border-radius:16px; overflow:hidden; box-shadow:0 30px 70px -30px rgba(0,0,0,.6), 0 0 0 1px var(--gold-line); }
.media-frame img{ width:100%; height:100%; object-fit:cover; aspect-ratio:4/5; }
.gold-rule{ height:1px; width:100%; background:linear-gradient(90deg,transparent,var(--gold-line),transparent); margin:1.4rem 0; }

/* ---- Pull quote / promessa ---- */
.promise{
  border-left:3px solid var(--accent);
  padding:.2rem 0 .2rem 1.6rem; margin:2rem 0;
  font-family:var(--font-serif); font-style:italic; font-size:clamp(1.15rem,1.8vw,1.45rem);
  line-height:1.42; color:var(--ink-strong); text-wrap:pretty;
}

/* ---- Mentores: credenciais ---- */
.cred{ list-style:none; display:grid; gap:1.1rem; margin-top:1.6rem; }
.cred li{ display:grid; grid-template-columns:auto 1fr; gap:1rem; align-items:start; }
.cred .dot{ width:11px; height:11px; margin-top:.5rem; border-radius:50%; background:var(--accent); box-shadow:0 0 0 4px color-mix(in oklab,var(--accent) 22%,transparent); }
.cred b{ color:var(--ink-strong); font-weight:800; }
/* colagem moderna em camadas dos mentores */
.mentor-collage{ position:relative; padding:0 clamp(40px,7%,72px) clamp(52px,9%,84px) 0; }
.mentor-collage .mc-main{ aspect-ratio:4/5; }
.mentor-collage .mc-main img{ aspect-ratio:4/5; }
.mentor-collage .mc-inset{ position:absolute; right:0; bottom:0; width:54%; aspect-ratio:1/1;
  box-shadow:0 0 0 7px var(--band-2), 0 28px 60px -22px rgba(0,0,0,.78), 0 0 0 8px var(--gold-line); }
.mentor-collage .mc-inset img{ aspect-ratio:1/1; }
.mentor-collage .mc-accent{ position:absolute; left:-14px; top:34px; width:3px; height:84px; background:linear-gradient(var(--accent),transparent); border-radius:3px; }
@media (max-width:860px){ .mentor-collage{ padding-right:30%; padding-bottom:18%; } }

/* ---- Lista numerada (o que você encontrará) ---- */
.features{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px; margin-top:2.6rem; }
.feature{
  background:var(--card); border:1px solid var(--card-line); border-radius:16px;
  padding:1.9rem 1.7rem; position:relative; overflow:hidden;
  transition:transform .3s, border-color .3s, background .3s;
}
.feature:hover{ transform:translateY(-4px); border-color:var(--gold-line); background:color-mix(in oklab,var(--cream) 8%,transparent); }
.feature .num{ font-family:var(--font-display); font-weight:800; font-size:1.05rem; color:#1a0d10;
  width:2.4rem; height:2.4rem; border-radius:11px; display:grid; place-items:center;
  background:linear-gradient(180deg,var(--gold-soft),var(--gold)); margin-bottom:1.1rem; }
.feature h3{ margin-bottom:.5rem; }
.feature p{ color:var(--muted); font-size:.98rem; }

/* ---- Jornada / calendário ---- */
.journey{ display:grid; gap:14px; margin-top:2.6rem; }
.j-item{
  display:grid; grid-template-columns:auto 1fr; gap:1.5rem; align-items:center;
  background:var(--card); border:1px solid var(--card-line); border-left:3px solid var(--gold-line);
  border-radius:14px; padding:1.4rem 1.7rem;
}
.j-date{ font-family:var(--font-display); font-weight:800; color:var(--gold-soft);
  font-size:1.5rem; line-height:1.04; letter-spacing:-.01em; min-width:128px; }
.j-item h3{ font-size:1.18rem; }
.j-item p{ color:var(--muted); font-size:.95rem; margin-top:.3rem; }
.j-item.featured{ background:linear-gradient(120deg, color-mix(in oklab,var(--accent) 18%,transparent), var(--card));
  border-color:var(--gold-line); border-left-color:var(--accent); }
.j-item.featured .j-date{ color:var(--gold); font-size:1.7rem; }
.tag-pill{ display:inline-block; white-space:nowrap; font-size:.66rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:#1a0d10; background:var(--gold-soft); padding:.25rem .7rem; border-radius:999px; margin-bottom:.6rem; }
@media (max-width:620px){ .j-item{ grid-template-columns:1fr; gap:.4rem; } .tag-pill{ white-space:normal; max-width:100%; } }

/* ---- Preço ---- */
.prices{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:2.8rem; align-items:stretch; }
.price-card{
  background:var(--card); border:1px solid var(--card-line); border-radius:20px;
  padding:2.2rem 2rem; display:flex; flex-direction:column; gap:1rem; position:relative;
}
.price-card.featured{ border-color:var(--gold); box-shadow:0 30px 70px -34px var(--cta-glow), 0 0 0 1px var(--gold-line); background:color-mix(in oklab,var(--cream) 7%,transparent); }
.price-card .ribbon{ position:absolute; top:-13px; left:2rem; white-space:nowrap; background:linear-gradient(180deg,var(--gold-soft),var(--gold)); color:#1a0d10; font-weight:800; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; padding:.35rem .9rem; border-radius:999px; }
.price-card.featured{ padding-top:2.7rem; }
.price-card .plan{ font-family:var(--font-display); font-weight:800; font-size:1.35rem; }
.price-card .amount{ font-family:var(--font-display); font-weight:800; font-size:3rem; line-height:1; color:var(--ink-strong); }
.price-card .amount small{ font-size:1rem; color:var(--muted); font-weight:600; letter-spacing:.04em; }
.price-card ul{ list-style:none; display:block; margin:.4rem 0 1rem; padding:0; }
.price-card li{ position:relative; padding-left:1.5rem; margin-bottom:.7rem; font-size:.96rem; color:var(--muted); }
.price-card li::before{ content:"✦"; position:absolute; left:0; top:0; color:var(--accent); font-size:.85rem; line-height:1.6; }
.price-card .cta{ width:100%; justify-content:space-between; margin-top:auto; }
@media (max-width:760px){ .prices{ grid-template-columns:1fr; } }

/* ---- Bônus ---- */
.bonus{
  display:grid; grid-template-columns:auto 1fr; gap:1.6rem; align-items:center;
  background:linear-gradient(120deg, color-mix(in oklab,var(--accent) 14%,transparent), var(--card));
  border:1px solid var(--gold-line); border-radius:18px; padding:1.7rem 2rem; margin-top:24px;
}
.bonus .bicon{ width:58px; height:58px; }
.bonus h3{ color:var(--gold-soft); }
.bonus p{ color:var(--muted); font-size:.97rem; margin-top:.2rem; }
@media (max-width:620px){ .bonus{ grid-template-columns:1fr; text-align:left; } }

/* ---- Objeções ---- */
.objections{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:18px; margin-top:2.6rem; }
.obj{ background:var(--card); border:1px solid var(--card-line); border-radius:16px; padding:1.9rem 1.7rem; }
.obj .q{ font-family:var(--font-serif); font-style:italic; font-size:1.15rem; color:var(--ink-strong); margin-bottom:.9rem; }
.obj .q::before{ content:"“"; color:var(--accent); }
.obj .q::after{ content:"”"; color:var(--accent); }
.obj .a{ color:var(--muted); font-size:.98rem; }
.obj .a b{ color:var(--gold-soft); font-weight:700; }

/* ---- Fechamento final ---- */
.finale{ background:radial-gradient(110% 80% at 50% 0%, color-mix(in oklab,var(--hero-a) 70%,transparent), var(--band-1) 70%); }
.crede{ font-family:var(--font-display); font-weight:800; font-size:clamp(2rem,4vw,3rem); color:var(--accent); margin:1.4rem 0; }

/* ---- Footer ---- */
.site-footer{ background:var(--navy-deep); padding-block:clamp(48px,6vw,80px); border-top:1px solid var(--hair); }
.site-footer .wrap{ display:flex; flex-direction:column; align-items:center; gap:1.2rem; text-align:center; }
.site-footer .brand img{ height:54px; }
.site-footer .brand .wordmark span{ font-size:1.35rem; }
.site-footer .fine{ color:var(--muted-soft); font-size:.85rem; max-width:560px; }

/* ---- Reveal on scroll ----
   Base = visível (bom para print / sem-JS). O estado oculto só é aplicado
   quando o JS "arma" via html.reveal-on. */
.reveal{ transition:opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1); }
html.reveal-on .reveal:not(.in){ opacity:0; transform:translateY(26px); }
@media (prefers-reduced-motion:reduce){
  html.reveal-on .reveal:not(.in){ opacity:1; transform:none; }
  html{ scroll-behavior:auto; }
}
@media print{
  html.reveal-on .reveal:not(.in){ opacity:1 !important; transform:none !important; }
  body{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .site-header{ position:static; }
}

/* ---- Presente surpresa ---- */
.gift-section{ position:relative; overflow:hidden;
  background:radial-gradient(120% 90% at 50% 0%, color-mix(in oklab,var(--accent) 16%, transparent), var(--band-1) 64%); }
.gift-card{ position:relative; max-width:920px; margin-inline:auto; text-align:center;
  border:1px solid var(--gold-line); border-radius:26px; padding:clamp(2.4rem,5vw,3.6rem) clamp(1.6rem,5vw,3.4rem);
  background:linear-gradient(180deg, color-mix(in oklab,var(--cream) 7%,transparent), color-mix(in oklab,var(--accent) 7%,transparent));
  box-shadow:0 40px 100px -40px color-mix(in oklab,var(--accent) 50%,transparent), inset 0 1px 0 color-mix(in oklab,var(--gold-soft) 30%,transparent); }
.gift-seal{ width:96px; height:96px; border-radius:50%; display:grid; place-items:center; margin:0 auto 1.4rem;
  background:radial-gradient(circle at 50% 35%, color-mix(in oklab,var(--accent) 30%,transparent), transparent 70%);
  box-shadow:0 0 0 1px var(--gold-line), 0 0 60px -10px color-mix(in oklab,var(--accent) 70%,transparent); }
.gift-seal img{ width:62px; height:auto; }
.gift-label{ display:inline-block; white-space:nowrap; font-family:var(--font-body); font-weight:800; font-size:.74rem;
  letter-spacing:.18em; text-transform:uppercase; color:#1a0d10; background:linear-gradient(180deg,var(--gold-soft),var(--gold));
  padding:.42rem 1.2rem; border-radius:999px; margin-bottom:1.3rem; }
.gift-card h2{ font-size:clamp(1.7rem,3.3vw,2.7rem); margin-bottom:1.1rem; }
.gift-card .gift-desc{ color:var(--muted); max-width:640px; margin:0 auto; font-size:1.06rem; }
.gift-card .gift-desc b{ color:var(--ink-strong); }
.gift-scripture{ font-family:var(--font-serif); font-style:italic; color:var(--gold-soft);
  font-size:clamp(1.05rem,1.7vw,1.3rem); line-height:1.4; max-width:620px; margin:1.8rem auto 0;
  padding-top:1.6rem; border-top:1px solid var(--gold-line); }

/* ---- FAQ ---- */
.faq{ display:grid; gap:14px; margin-top:2.6rem; max-width:880px; margin-inline:auto; }
.faq details{
  background:var(--card); border:1px solid var(--card-line); border-radius:14px;
  padding:0 1.6rem; transition:border-color .3s, background .3s;
}
.faq details[open]{ border-color:var(--gold-line); background:color-mix(in oklab,var(--cream) 7%,transparent); }
.faq summary{
  list-style:none; cursor:pointer; padding:1.3rem 0; display:flex; align-items:center; justify-content:space-between; gap:1.2rem;
  font-family:var(--font-display); font-weight:700; font-size:clamp(1.05rem,1.5vw,1.22rem); color:var(--ink-strong);
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary .pm{ flex:0 0 auto; width:30px; height:30px; border-radius:50%; display:grid; place-items:center;
  border:1px solid var(--gold-line); color:var(--gold-soft); font-size:1.2rem; transition:transform .3s, background .3s, color .3s; }
.faq details[open] summary .pm{ transform:rotate(45deg); background:var(--accent); color:#1a0d10; border-color:transparent; }
.faq .a{ color:var(--muted); padding:0 0 1.4rem; font-size:1rem; max-width:70ch; }
.faq .a b{ color:var(--gold-soft); font-weight:700; }

/* ---- Página de Obrigado ---- */
.ty-hero{ position:relative; overflow:hidden; min-height:100vh; display:flex; align-items:center;
  background:radial-gradient(120% 90% at 50% 0%, color-mix(in oklab,var(--hero-a) 70%, transparent), var(--band-1) 72%); }
.seal{ width:96px; height:96px; border-radius:50%; display:grid; place-items:center; margin:0 auto 1.6rem;
  background:linear-gradient(180deg,var(--cta-light),var(--cta-dark));
  box-shadow:0 0 0 1px color-mix(in oklab,var(--cta) 60%,transparent), 0 0 0 10px color-mix(in oklab,var(--cta) 16%,transparent), 0 18px 50px -16px var(--cta-glow); }
.seal svg{ width:46px; height:46px; }
.ty-steps{ display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:16px; margin-top:2.6rem; text-align:left; }
.ty-step{ background:var(--card); border:1px solid var(--card-line); border-radius:16px; padding:1.7rem 1.6rem; }
.ty-step .n{ font-family:var(--font-display); font-weight:800; color:var(--gold-soft); font-size:.95rem; letter-spacing:.12em; }
.ty-step h3{ font-size:1.12rem; margin:.5rem 0; }
.ty-step p{ color:var(--muted); font-size:.95rem; }
.gift{ display:grid; grid-template-columns:auto 1fr; gap:1.8rem; align-items:center; text-align:left;
  background:linear-gradient(120deg, color-mix(in oklab,var(--accent) 16%,transparent), var(--card));
  border:1px solid var(--gold-line); border-radius:20px; padding:2rem 2.2rem; margin-top:2.4rem; }
.gift img{ width:74px; height:auto; }
.gift h3{ color:var(--gold-soft); font-family:var(--font-display); font-size:1.4rem; }
.gift p{ color:var(--muted); margin:.5rem 0 1.1rem; }
@media (max-width:620px){ .gift{ grid-template-columns:1fr; } }

/* ---- Conteúdo genérico (páginas internas / fallback) ---- */
.generic-content{ max-width:780px; margin-inline:auto; }
.generic-content h1{ margin-bottom:1.2rem; }
.generic-content p{ margin-bottom:1rem; color:var(--muted); }
.generic-content a{ color:var(--gold-soft); }
