/* ===== page background ===== */
.page{background:var(--gray-100)}

/* ===================================================================
   Hero
=================================================================== */
.section--hero{padding:76px 0 84px;background-color:#F5F7FA}

.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}

.hero-heading{
  font-family:var(--font-display);font-size:46px;line-height:1.04;letter-spacing:-.025em;
  color:var(--navy-900);margin:0 0 18px;font-weight:700;
  max-width:none;width:max-content;white-space:nowrap;
}
.hero-lead{font-size:17.5px;line-height:1.6;color:var(--gray-500);max-width:460px;margin:0 0 30px}

.hero-price-row{display:flex;align-items:flex-end;gap:16px;margin-bottom:30px;flex-wrap:wrap}
.hero-price{
  font-family:var(--font-display);font-weight:800;color:var(--blue-600);
  letter-spacing:-.03em;line-height:1;font-size:48px;
}
.hero-price-note{
  font-size:16px;color:var(--navy-900);font-weight:600;line-height:1.35;
  padding:6px 0 8px 18px;border-left:1px solid var(--border-default);align-self:center;
}
.hero-price-note span{display:block}

.hero-cta{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-bottom:34px}

.hero-checklist{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:22px 28px;width:356px;height:52px}
.hero-checklist__col{box-sizing:border-box;display:flex;flex-direction:column;gap:20px}

.hero-visual{display:flex;justify-content:center}
.hero-visual__frame{position:relative;width:100%;max-width:400px}

.hero-card{
  position:relative;background:var(--white);border:1.5px solid var(--border-default);
  border-radius:22px;padding:22px 24px 20px;box-shadow:var(--shadow-lg);z-index:2;
}
.hero-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.hero-card__label{font-size:10.5px;font-weight:700;letter-spacing:.1em;color:var(--gray-500);text-transform:uppercase}
.hero-card__dots{display:flex;gap:5px}
.hero-card__dot{width:5px;height:5px;border-radius:50%;background:var(--gray-300)}
.hero-card__plate{position:relative;display:flex;align-items:center;justify-content:center;gap:14px;padding:14px 0}
.hero-card__plate-bar{width:14px;height:4px;border-radius:2px;background:var(--navy-900);opacity:.4}
.hero-card__plate-text{font-family:var(--font-display);font-weight:700;font-size:38px;letter-spacing:.09em;color:var(--navy-900)}
.hero-card__results{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:9px}
.hero-card__results li{
  display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:600;color:var(--navy-900);
  padding:9px 12px;background:var(--gray-100);border-radius:10px;border:1px solid var(--border-default);
}
.hero-card__results svg{width:15px;height:15px;flex-shrink:0;stroke:var(--green-600);stroke-width:2.6}

.hero-float-card{
  position:absolute;right:-34px;bottom:-158px;width:230px;background:var(--white);
  border-radius:16px;box-shadow:var(--shadow-lg);padding:14px;z-index:3;
  border:1px solid var(--border-default);animation:om-float 5s ease-in-out infinite;
}
.hero-float-card__brand{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.hero-float-card__avatar{width:24px;height:24px;border-radius:50%;background:var(--navy-900);display:flex;align-items:center;justify-content:center}
.hero-float-card__avatar svg{width:13px;height:13px;fill:var(--white)}
.hero-float-card__brand-name{font-size:12px;font-weight:700;color:var(--navy-900)}
.hero-float-card__bubble--out{
  background:var(--blue-600);color:var(--white);border-radius:10px 10px 3px 10px;
  padding:8px 10px;font-size:12px;font-weight:600;margin-left:auto;width:fit-content;margin-bottom:6px;
}
.hero-float-card__bubble--in{
  background:var(--blue-100);border-radius:10px 10px 10px 3px;padding:8px 10px;
  font-size:12px;color:var(--navy-900);font-weight:600;margin-bottom:8px;
}
.hero-float-card__status{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--green-600);font-weight:700}
.hero-float-card__status-dot{width:6px;height:6px;border-radius:50%;background:var(--green-600);animation:om-pulse 1.6s ease-in-out infinite}

/* ===================================================================
   Banner ("O grande diferencial" — price)
=================================================================== */
.section--banner{background:var(--navy-900);color:var(--white);padding:88px 0}
.banner-inner{text-align:center}

.price-heading{
  font-family:var(--font-display);font-weight:500;font-size:26px;max-width:640px;
  margin:16px auto 6px;line-height:1.4;color:rgba(255,255,255,.86);
}
.price-display{
  font-family:var(--font-display);font-weight:700;font-size:72px;letter-spacing:-.02em;
  margin:18px 0 6px;line-height:1;color:var(--white);
}
.price-subtext{font-size:15px;color:rgba(255,255,255,.62);font-weight:600;margin:0 0 44px}

.chip-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;text-align:left}

.section-divider{
  display:block;height:2px;margin:0;
  background:var(--border-default);
}

/* ===================================================================
   How it works
=================================================================== */
.section--how{padding:100px 0;background:var(--gray-100)}

.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:56px}
.step{position:relative}
.step-arrow{position:absolute;top:50%;right:-37px;transform:translateY(-50%);width:18px;height:18px;stroke:rgba(29,78,216,.45);stroke-width:2}
.step h3{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--navy-900);margin:0 0 10px}
.step p{font-size:14.5px;color:var(--gray-500);line-height:1.6;margin:0}
.steps-note{text-align:center;margin:56px 0 0;font-size:14.5px;font-weight:600;color:var(--navy-900);opacity:.7}

/* ===================================================================
   Consultas (categories)
=================================================================== */
.section--consultas{
  padding:100px 0;background:var(--white);
  border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default);
}
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}

.info-callout{
  display:flex;gap:12px;align-items:flex-start;margin-top:34px;
  padding:16px 18px;background:var(--blue-100);border-radius:12px;border:1px solid rgba(29,78,216,.15);
}
.info-callout svg{width:17px;height:17px;flex-shrink:0;margin-top:1px;stroke:var(--blue-600);stroke-width:2}
.info-callout p{font-size:13px;color:var(--gray-700);line-height:1.55;margin:0}

/* ===================================================================
   Pillars / wheel ("Por que escolher o Placa Brasil")
=================================================================== */
.section--pillars{padding:110px 0;background:var(--gray-100)}

.pillars-heading-block{text-align:center;margin-bottom:84px}
.pillars-heading{
  font-family:var(--font-display);font-weight:700;font-size:34px;letter-spacing:-.015em;
  color:var(--navy-900);margin:14px auto 0;line-height:1.16;max-width:520px;
}

.wheel{position:relative;max-width:940px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;column-gap:300px;row-gap:112px}
.wheel-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:272px;height:272px;border-radius:50%;border:1px dashed rgba(29,78,216,.18)}
.wheel-dot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:5px;height:5px;border-radius:50%;background:rgba(29,78,216,.4);z-index:3}
.wheel-dot--top{margin-top:-136px}
.wheel-dot--bottom{margin-top:136px}
.wheel-dot--left{margin-left:-136px}
.wheel-dot--right{margin-left:136px}
.wheel-logo{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:140px;height:140px;
  border-radius:50%;background:#FCFDFE;border:1px solid rgba(5,10,44,.06);
  box-shadow:0 10px 30px -18px rgba(5,10,44,.18);display:flex;align-items:center;justify-content:center;z-index:2;
}
.wheel-logo img{width:85%;height:auto;display:block}

.pillar{display:flex;flex-direction:column;gap:14px;max-width:262px}
.pillar--right{align-items:flex-end;text-align:right;margin-left:auto}
.pillar--left{align-items:flex-start;text-align:left}
.pillar h3{font-family:var(--font-display);font-size:19px;font-weight:700;color:var(--navy-900);margin:0;letter-spacing:-.01em}
.pillar p{font-size:14.5px;color:var(--gray-500);line-height:1.6;margin:0}

/* ===================================================================
   Proof ("Veja na prática")
=================================================================== */
.proof-section{padding:0;background:var(--gray-100)}
.proof-card{
  background:var(--navy-900);color:var(--white);border-radius:24px;padding:64px 56px;
  display:grid;grid-template-columns:1fr 330px;gap:72px;align-items:center;
}
.proof-heading{font-family:var(--font-display);font-size:30px;font-weight:700;margin:16px 0 14px;line-height:1.2}
.proof-lead{font-size:15.5px;color:rgba(255,255,255,.72);line-height:1.65;max-width:420px;margin:0 0 26px}
.proof-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.proof-phone{
  background:var(--navy-800);border-radius:30px;padding:14px;box-shadow:var(--shadow-lg);
  box-sizing:border-box;justify-self:end;border:1px solid rgba(255,255,255,.1);width:100%;
}

/* ===================================================================
   Benefits ("Para quem é")
=================================================================== */
.section--benefits{padding:100px 0;background:var(--gray-100)}
.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.benefit-card{background:var(--white);border:1px solid var(--border-default);border-radius:16px;padding:24px 20px}
.benefit-card h3{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--navy-900);margin:0 0 2px;min-height:28px;line-height:1.25}
.benefit-card p{font-size:13.2px;color:var(--gray-500);line-height:1.5;margin:0}

/* ===================================================================
   FAQ
=================================================================== */
.section--faq{padding:100px 0;background:var(--white);border-top:1px solid var(--border-default)}
.faq-list{max-width:760px;margin:0 auto;border-top:1px solid var(--border-default)}
.faq-item{border-bottom:1px solid var(--border-default)}
.faq-question{
  align-items:center;justify-content:space-between;gap:20px;padding:22px 4px;
  font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--navy-900);list-style:none;
}
.faq-answer{padding:0 34px 22px 4px;font-size:14.5px;color:var(--gray-500);line-height:1.65}

/* ===================================================================
   Footer content
=================================================================== */
.section--footer{background:var(--navy-900);color:var(--white);padding:64px 0 28px}
.footer-brand a{display:inline-flex;align-items:center;color:inherit}
.footer-brand img{height:46px;width:auto;display:block}
