/* ============================================================
   MÉTODO ARAM — style.css
   Paleta: branco + preto + laranja (minimalista, sem glow)
   Tipo: Instrument Sans (único, para títulos e corpo)
   ============================================================ */

:root{
  --bg:        #FFFFFF;
  --bg-soft:   #F5F4F1;
  --panel:     #FFFFFF;
  --ink:       #14120F;
  --line:      #E4E1DB;
  --sun:       #E85D1F;
  --sun-dark:  #C24B15;
  --sun-soft:  #F3855B;
  --sun-dim:   rgba(232,93,31,.08);
  --paper:     #14120F;
  --muted:     #6B675F;
  --ok:        #2E7D4F;
  --err:       #C0392B;
  --radius:    10px;
  --radius-sm: 8px;
  --maxw:      1080px;
  --maxw-text: 720px;
}

*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *, *::before, *::after{ animation:none !important; transition:none !important; }
}

body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Instrument Sans', system-ui, -apple-system, sans-serif;
  font-size:1.075rem;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; display:block; }
a{ color:var(--sun-dark); }
strong{ color:var(--ink); }

h1,h2,h3{
  font-family:'Instrument Sans', system-ui, sans-serif;
  font-weight:700;
  line-height:1.15;
  color:var(--ink);
  letter-spacing:-.02em;
}
h1{ font-size:clamp(2.1rem, 5.4vw, 3.5rem); }
h2{ font-size:clamp(1.5rem, 3.6vw, 2.2rem); }
h3{ font-size:clamp(1.1rem, 2.2vw, 1.3rem); color:var(--ink); }

.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 1.25rem; }
.wrap-text{ max-width:var(--maxw-text); margin:0 auto; padding:0 1.25rem; }

section{ padding:4.5rem 0; }
.section-soft{ background:var(--bg-soft); }

.eyebrow{
  display:inline-block;
  font-size:.8rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--sun-dark);
  font-weight:700;
  margin-bottom:1.2rem;
}

.lead{ font-size:clamp(1.1rem, 2.2vw, 1.3rem); color:var(--ink); }
.muted{ color:var(--muted); }
.center{ text-align:center; }

/* ---------- Header ---------- */
.top{
  position:sticky; top:0; z-index:60;
  background:var(--ink);
  border-bottom:2px solid var(--sun);
}
.top-inner{
  max-width:var(--maxw); margin:0 auto; padding:.75rem 1.25rem;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
}
.brand{ display:flex; align-items:center; gap:.65rem; text-decoration:none; }
.brand img{ width:38px; height:38px; border-radius:8px; }
.brand span{
  font-family:'Instrument Sans', sans-serif; font-weight:700; font-size:1.1rem; color:#fff;
}
.top-cta{ white-space:nowrap; }

/* ---------- Botões ---------- */
.btn{
  display:inline-block;
  font-weight:700;
  text-decoration:none;
  text-align:center;
  border-radius:var(--radius-sm);
  padding:.95rem 1.9rem;
  font-size:1.02rem;
  cursor:pointer;
  border:none;
  font-family:inherit;
  transition:background .15s ease, border-color .15s ease, color .15s ease;
}
.btn-sun{
  background:var(--sun); color:#14120F;
}
.btn-sun:hover{ background:var(--sun-dark); color:#fff; }
.btn-ghost{
  background:transparent; color:var(--ink);
  border:1.5px solid var(--line);
}
.btn-ghost:hover{ border-color:var(--ink); }
.top .btn-ghost{ color:#fff; border-color:rgba(255,255,255,.3); }
.top .btn-ghost:hover{ border-color:#fff; }
.btn-sm{ padding:.55rem 1.15rem; font-size:.9rem; border-radius:6px; }
.btn-block{ display:block; width:100%; }
.cta-note{ font-size:.85rem; color:var(--muted); margin-top:.7rem; }

/* ---------- Hero ---------- */
.hero{
  padding:5rem 0 4rem;
  text-align:center;
}
.hero .wrap-text{ position:relative; }
.hero-logo{ width:88px; height:88px; margin:0 auto 1.6rem; border-radius:18px; }
.hero h1{ margin-bottom:1.4rem; }
.hero .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  font-size:2.4rem;
  letter-spacing:.01em;
}
.hero .eyebrow::before{
  content:"→";
  font-size:1rem;
  color:var(--sun-dark);
}
.hero .lead{ margin-bottom:2.2rem; color:var(--muted); }
.hero-trust{
  display:flex; flex-wrap:wrap; gap:.5rem 0; justify-content:center;
  margin-top:1.6rem; font-size:.9rem; color:var(--muted);
}
.hero-trust span:not(:first-child)::before{ content:"·"; margin:0 .7rem; color:var(--line); }

/* ---------- Garantia — banner final, antes do FAQ ---------- */
.garantia-banner{
  background:var(--ink);
  padding:4.5rem 0;
}
.garantia-banner-grid{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:3.5rem;
  align-items:center;
}
.garantia-visual{ position:relative; }
.garantia-visual img{
  border-radius:var(--radius);
  box-shadow:0 24px 60px rgba(0,0,0,.45);
}
.garantia-badge{
  position:absolute;
  top:-34px; left:-34px;
  width:118px; height:118px;
}
.garantia-badge svg{ width:100%; height:100%; }
.garantia-badge text{
  fill:var(--sun);
  font-family:'Instrument Sans', system-ui, sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:2px;
}
.garantia-badge-num{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  font-size:2.4rem; font-weight:800; color:#fff;
}
.garantia-banner-text .eyebrow{ color:var(--sun); }
.garantia-banner-text h2{ color:#fff; margin-bottom:1.1rem; }
.garantia-banner-text p{ color:rgba(255,255,255,.72); }
.garantia-banner-text p + p{ margin-top:1rem; }
@media (max-width:820px){
  .garantia-banner-grid{ grid-template-columns:1fr; }
  .garantia-visual{ max-width:340px; margin:0 auto 2.4rem; }
}
@media (max-width:560px){
  .garantia-badge{ top:-24px; left:-24px; width:96px; height:96px; }
  .garantia-badge-num{ font-size:2rem; }
}

/* ---------- Escada de premissas ---------- */
.escada{ position:relative; }
.escada-inner{ max-width:var(--maxw-text); margin:0 auto; }
.escada-intro{
  text-align:center;
  font-size:.95rem;
  color:var(--muted);
  margin:0 0 2.4rem;
  padding:0 1.25rem;
}
.premissa{
  position:relative;
  padding:3.2rem 1.25rem 3.2rem 4.4rem;
}
.premissa::before{
  content:"";
  position:absolute; left:2.35rem; top:0; bottom:0;
  width:1px;
  background:var(--line);
}
.premissa:first-child::before{ top:3.4rem; }
.premissa:last-child::before{ bottom:auto; height:3.4rem; }
.premissa-num{
  position:absolute; left:1.25rem; top:2.9rem;
  width:2.3rem; height:2.3rem; border-radius:50%;
  background:var(--bg); border:1.5px solid var(--sun);
  color:var(--sun-dark); font-weight:700;
  display:flex; align-items:center; justify-content:center;
  font-size:1rem; z-index:1;
}
.premissa h2{ margin-bottom:1rem; }
.premissa p{ margin-bottom:1rem; color:var(--ink); }
.premissa p:last-child{ margin-bottom:0; }
.premissa .destaque{
  border-left:2px solid var(--sun);
  padding:.9rem 1.2rem;
  background:var(--bg-soft);
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  margin:1.4rem 0;
  color:var(--ink);
  font-size:1.05rem;
}
@media (max-width:560px){
  .premissa{ padding-left:3.6rem; }
  .premissa::before{ left:1.85rem; }
  .premissa-num{ left:.85rem; width:2rem; height:2rem; font-size:.9rem; }
}

/* ---------- Molde / prints ---------- */
.molde-grid{
  display:grid; grid-template-columns:repeat(2, 1fr); gap:1.4rem;
  margin-top:2.4rem;
}
@media (max-width:760px){ .molde-grid{ grid-template-columns:1fr; } }
.molde-card{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  transition:border-color .15s ease;
}
.molde-card:hover{ border-color:var(--sun); }
.molde-card img{ width:100%; border-bottom:1px solid var(--line); }
.molde-card .molde-info{ padding:1.1rem 1.3rem 1.3rem; }
.molde-card h3{ margin-bottom:.4rem; }
.molde-card p{ font-size:.95rem; color:var(--muted); }

.tema-toggle{
  display:flex; gap:.5rem; justify-content:center; margin-top:1.4rem;
  font-size:.9rem; color:var(--muted); flex-wrap:wrap; text-align:center;
}

/* ---------- Sentindo na pele ---------- */
.pele{
  background:var(--bg-soft);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:2.2rem;
  max-width:var(--maxw-text);
  margin:0 auto;
}
.pele h2{ margin-bottom:1rem; }

/* ---------- Autor ---------- */
.autor{
  display:grid; grid-template-columns:280px 1fr; gap:2.4rem; align-items:start;
  max-width:var(--maxw); margin:0 auto; padding:0 1.25rem;
}
@media (max-width:760px){ .autor{ grid-template-columns:1fr; } }
.autor-foto{
  background:var(--bg-soft);
  border:1px dashed var(--sun);
  border-radius:var(--radius);
  aspect-ratio:4/5;
  display:flex; align-items:center; justify-content:center;
  color:var(--muted); text-align:center; padding:1rem; font-size:.9rem;
  overflow:hidden;
}
.autor-foto img{ width:100%; height:100%; object-fit:cover; }
.autor h2{ margin-bottom:1rem; }
.autor p{ margin-bottom:1rem; }

/* ---------- Transparência ---------- */
.transparencia{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--bg-soft);
  padding:2.2rem;
  max-width:var(--maxw-text);
  margin:0 auto;
  font-size:1rem;
}
.transparencia h2{ font-size:1.35rem; margin-bottom:1rem; }
.transparencia p{ margin-bottom:.9rem; color:var(--muted); }
.transparencia p strong{ color:var(--ink); }

/* ---------- Preço ---------- */
.preco-card{
  max-width:520px; margin:0 auto;
  background:var(--panel);
  border:1.5px solid var(--sun);
  border-radius:var(--radius);
  padding:2.6rem 2.2rem;
  text-align:center;
}
.preco-parcela{
  font-size:clamp(2.2rem, 6vw, 3.2rem);
  color:var(--ink);
  font-weight:700;
  line-height:1.1;
  letter-spacing:-.02em;
}
.preco-parcela small{ font-size:.45em; font-weight:600; color:var(--sun-dark); }
.preco-avista{ color:var(--muted); margin:.5rem 0 1.6rem; }
.preco-lista{
  text-align:left; margin:1.6rem 0; padding:0; list-style:none;
}
.preco-lista li{
  padding:.55rem 0 .55rem 1.7rem; position:relative;
  border-bottom:1px solid var(--line); font-size:.98rem;
}
.preco-lista li:last-child{ border-bottom:none; }
.preco-lista li::before{
  content:"+"; position:absolute; left:0; color:var(--sun); font-weight:700;
}
.sinceridade{
  max-width:var(--maxw-text); margin:2.6rem auto 0; padding:0 1.25rem;
  color:var(--muted); font-size:.98rem;
}
.sinceridade strong{ color:var(--ink); }

/* ---------- Depoimentos ---------- */
.depoimentos-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; margin-top:2.2rem;
}
@media (max-width:860px){ .depoimentos-grid{ grid-template-columns:1fr; } }
.depo{
  background:var(--panel); border:1px solid var(--line);
  border-radius:var(--radius); padding:1.6rem;
}
.depo p{ font-size:.98rem; margin-bottom:1rem; }
.depo .depo-nome{ color:var(--sun-dark); font-weight:700; font-size:.9rem; }

/* ---------- FAQ ---------- */
.faq-list{ max-width:var(--maxw-text); margin:2.2rem auto 0; padding:0 1.25rem; }
.faq-item{
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:var(--panel);
  margin-bottom:.7rem;
  overflow:hidden;
}
.faq-q{
  width:100%; text-align:left;
  background:none; border:none; cursor:pointer;
  padding:1.1rem 3.2rem 1.1rem 1.4rem;
  font-family:inherit; font-size:1rem; font-weight:700; color:var(--ink);
  position:relative;
}
.faq-q::after{
  content:"+"; position:absolute; right:1.3rem; top:50%; transform:translateY(-50%);
  color:var(--sun); font-size:1.4rem; font-weight:400;
  transition:transform .2s ease, color .2s ease;
}
.faq-item.open .faq-q::after{ transform:translateY(-50%) rotate(45deg); color:var(--sun-dark); }
.faq-a{
  max-height:0; overflow:hidden; transition:max-height .3s ease;
}
.faq-a-inner{ padding:0 1.4rem 1.25rem; color:var(--muted); font-size:.98rem; }

/* ---------- Rodapé ---------- */
footer{
  border-top:1px solid var(--ink);
  background:var(--ink);
  padding:3rem 0 2rem;
  font-size:.92rem; color:#B8B4AC;
}
.footer-grid{
  display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:2rem;
  max-width:var(--maxw); margin:0 auto; padding:0 1.25rem;
}
@media (max-width:760px){ .footer-grid{ grid-template-columns:1fr; } }
.footer-grid h4{
  color:var(--sun-soft); font-size:.82rem; text-transform:uppercase;
  letter-spacing:.12em; margin-bottom:.8rem; font-weight:700;
}
.footer-grid ul{ list-style:none; }
.footer-grid li{ margin-bottom:.45rem; }
.footer-grid a{ color:#B8B4AC; text-decoration:none; }
.footer-grid a:hover{ color:#fff; }
.footer-bottom{
  max-width:var(--maxw); margin:2.4rem auto 0; padding:1.4rem 1.25rem 0;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex; flex-wrap:wrap; gap:.6rem; justify-content:space-between;
  font-size:.82rem;
}

/* ---------- Popup ---------- */
.popup-overlay{
  position:fixed; inset:0; z-index:100;
  background:rgba(20,18,15,.7);
  display:flex; align-items:center; justify-content:center;
  padding:1.25rem;
  opacity:0; pointer-events:none;
  transition:opacity .3s ease;
}
.popup-overlay.show{ opacity:1; pointer-events:auto; }
.popup{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius);
  max-width:440px; width:100%;
  padding:2.4rem 2rem 2rem;
  text-align:center;
  position:relative;
  transform:translateY(10px);
  transition:transform .3s ease;
}
.popup-overlay.show .popup{ transform:translateY(0); }
.popup img{ width:64px; height:64px; margin:0 auto 1rem; border-radius:14px; }
.popup h2{ font-size:1.4rem; margin-bottom:.6rem; }
.popup p{ color:var(--muted); font-size:.95rem; margin-bottom:1.4rem; }
.popup input[type=text],
.popup input[type=email],
.form input[type=text],
.form input[type=email],
.form textarea{
  width:100%;
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  color:var(--ink);
  font-family:inherit; font-size:1rem;
  padding:.85rem 1rem;
  margin-bottom:.8rem;
}
.popup input:focus, .form input:focus, .form textarea:focus{
  outline:2px solid var(--sun); outline-offset:1px; border-color:var(--sun);
}
.popup .skip{
  display:inline-block; margin-top:1rem;
  background:none; border:none; cursor:pointer;
  color:var(--muted); font-size:.85rem; text-decoration:underline; font-family:inherit;
}
.popup .skip:hover{ color:var(--ink); }
.form-msg{ font-size:.9rem; margin-top:.4rem; min-height:1.4em; }
.form-msg.ok{ color:var(--ok); }
.form-msg.err{ color:var(--err); }
.hp{ position:absolute; left:-9999px; opacity:0; height:0; width:0; }

/* ---------- WhatsApp flutuante ---------- */
.whats{
  position:fixed; right:1.2rem; bottom:1.2rem; z-index:90;
  width:54px; height:54px; border-radius:50%;
  background:#25D366;
  display:flex; align-items:center; justify-content:center;
  transition:opacity .15s ease;
}
.whats:hover{ opacity:.88; }
.whats svg{ width:28px; height:28px; fill:#fff; }

/* ---------- Páginas internas ---------- */
.page-hero{
  padding:4rem 0 2.5rem; text-align:center;
  border-bottom:1px solid var(--line);
  background:var(--bg-soft);
}
.page-body{ padding:3rem 0 4.5rem; }
.page-body h2{ font-size:1.4rem; margin:2.2rem 0 .8rem; }
.page-body h3{ margin:1.6rem 0 .6rem; }
.page-body p, .page-body li{ color:var(--muted); margin-bottom:.9rem; }
.page-body ul, .page-body ol{ padding-left:1.4rem; margin-bottom:1rem; }
.page-body strong{ color:var(--ink); }

/* ---------- Reveal on scroll ---------- */
.reveal{ opacity:0; transform:translateY(12px); transition:opacity .5s ease, transform .5s ease; }
.reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; }
}

/* ---------- Admin ---------- */
.admin{ max-width:900px; margin:3rem auto; padding:0 1.25rem; }
.admin table{ width:100%; border-collapse:collapse; font-size:.92rem; margin-top:1.2rem; }
.admin th, .admin td{
  text-align:left; padding:.6rem .8rem; border-bottom:1px solid var(--line);
}
.admin th{ color:var(--muted); font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; }
.admin .badge{
  display:inline-block; background:var(--sun-dim); color:var(--sun-dark);
  border-radius:6px; padding:.1rem .5rem; font-size:.78rem;
}
