/* Iguassu Ladies: landing do lançamento. Linha Roxo & Ouro. */

/* ---------- Fontes (servidas da própria VPS) ---------- */
@font-face { font-family: "Cormorant Garamond"; font-weight: 400; font-style: normal; font-display: swap; src: url("../fonts/cormorant-garamond-400.woff2") format("woff2"); }
@font-face { font-family: "Cormorant Garamond"; font-weight: 500; font-style: normal; font-display: swap; src: url("../fonts/cormorant-garamond-500.woff2") format("woff2"); }
@font-face { font-family: "Jost"; font-weight: 400; font-style: normal; font-display: swap; src: url("../fonts/jost-400.woff2") format("woff2"); }
@font-face { font-family: "Jost"; font-weight: 500; font-style: normal; font-display: swap; src: url("../fonts/jost-500.woff2") format("woff2"); }
@font-face { font-family: "Pinyon Script"; font-weight: 400; font-style: normal; font-display: swap; src: url("../fonts/pinyon-script-400.woff2") format("woff2"); }

/* ---------- Tokens ---------- */
:root {
  --ameixa: #2A1038;
  --roxo: #4A1A66;
  --violeta: #7B3FA0;
  --orquidea: #A8417F;
  --dourado: #C9994F;
  --dourado-hover: #B2853F;
  --ouro-claro: #E9C281;
  --lilas: #F3EBF8;
  --creme: #FDFBFE;
  --texto-claro: #6B5179;
  --texto-escuro: #D8C4E4;
  --label: #6F5285;
  --label-escuro: #C4A3D8;
  --borda-card: #EDE3F3;
  --borda-input: #E2D3EC;
  --link: #8A3FA8;
  --link-hover: #652A7E;
  --divisor-escuro: #44205A;

  --serifa: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --sans: "Jost", "Segoe UI", Helvetica, Arial, sans-serif;
  --script: "Pinyon Script", "Cormorant Garamond", Georgia, cursive;
  --espaco-secao: 84px;
  --topo: 78px;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: var(--topo); }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body {
  margin: 0;
  background: var(--creme);
  color: var(--texto-claro);
  font-family: var(--sans);
  font-size: 16.5px;
  font-weight: 400;
  line-height: 1.65;
}
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3, p, ul, ol { margin: 0; }
ul, ol { padding: 0; list-style: none; }
h1, h2, h3 { font-family: var(--serifa); font-weight: 400; color: var(--roxo); }
h2 { font-size: 44px; line-height: 1.12; }
h3 { font-size: 24px; line-height: 1.2; }
strong { font-weight: 500; color: var(--roxo); }
a { color: var(--link); }
a:hover { color: var(--link-hover); }
:focus-visible { outline: 3px solid var(--violeta); outline-offset: 3px; border-radius: 4px; }
.escuro :focus-visible, .topo :focus-visible { outline-color: var(--ouro-claro); }

.container { max-width: 1120px; margin: 0 auto; padding-inline: 32px; }
.secao { padding-block: var(--espaco-secao); }
.lilas { background: var(--lilas); }
.escuro { background: var(--ameixa); color: var(--texto-escuro); }
.escuro h2, .escuro h3 { color: #fff; }
.escuro strong { color: #fff; }
.escuro a { color: #fff; }
.escuro a:hover { color: var(--ouro-claro); }

.antetitulo {
  font-family: var(--sans);
  font-size: 12.5px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--label);
  margin-bottom: 14px;
}
.escuro .antetitulo { color: var(--label-escuro); }
.script { font-family: var(--script); font-weight: 400; text-transform: none; letter-spacing: 0; }
.texto > p + p, .texto > h2 + p { margin-top: 18px; }

.pular {
  position: absolute; left: 16px; top: -80px; z-index: 30;
  background: #fff; color: var(--ameixa); padding: 12px 18px; border-radius: 8px;
}
.pular:focus { top: 12px; }

/* ---------- Botões ---------- */
.botao {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 52px; padding: 12px 30px;
  border: 1.5px solid var(--dourado); border-radius: 8px;
  font-family: var(--sans); font-size: 13.5px; font-weight: 500;
  letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; text-align: center;
  cursor: pointer; transition: background-color .15s, border-color .15s, color .15s;
}
.botao--ouro, .escuro a.botao--ouro { background: var(--dourado); color: var(--ameixa); }
.botao--ouro:hover, .escuro a.botao--ouro:hover { background: var(--dourado-hover); border-color: var(--dourado-hover); color: var(--ameixa); }
.botao--contorno { background: transparent; color: #fff; }
.escuro a.botao--contorno:hover { background: var(--divisor-escuro); color: #fff; }
.botao--cheio { width: 100%; }
.botao[disabled] { opacity: .65; cursor: progress; }

/* ---------- Header ---------- */
.topo { position: sticky; top: 0; z-index: 20; background: var(--ameixa); border-bottom: 1px solid var(--divisor-escuro); }
.topo__linha { display: flex; align-items: center; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; padding-block: 11px; }
.logo { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: #fff; }
.logo img { height: 54px; width: auto; }
.logo__nome { display: flex; flex-direction: column; line-height: 1; }
.logo__iguassu { font-family: var(--serifa); font-size: 19px; letter-spacing: 0.14em; color: #fff; }
.logo__ladies { font-family: var(--script); font-size: 25px; color: var(--ouro-claro); margin-top: -1px; }
.menu ul { display: flex; flex-wrap: wrap; gap: 4px 6px; }
.menu a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px; color: #fff; font-size: 15px; text-decoration: none; }
.menu a:hover { color: var(--ouro-claro); }
.menu a.menu__destaque { color: var(--ouro-claro); font-weight: 500; }
.menu-botao {
  display: none; min-height: 44px; padding: 0 16px;
  background: transparent; color: #fff; border: 1px solid var(--divisor-escuro); border-radius: 8px;
  font-family: var(--sans); font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer;
}

/* ---------- Hero ---------- */
.hero { padding-block: 72px 88px; }
.hero__grade { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.hero h1 { color: #fff; font-size: 66px; line-height: 1.08; }
.hero__linha { display: block; }
.hero h1 .script { color: var(--ouro-claro); font-size: 1.36em; line-height: 1.05; margin-top: 4px; }
.hero__lead { margin-top: 28px; max-width: 34em; font-size: 17.5px; color: #F1E6F7; }
.hero__botoes { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.hero__apoio { margin-top: 22px; font-size: 14px; color: var(--label-escuro); }
.hero__emblema { width: 100%; max-width: 400px; margin-inline: auto; }
.hero__emblema img { width: 100%; }
.hero__marca { display: flex; flex-direction: column; align-items: center; line-height: 1; margin-top: 6px; }
.hero__marca-iguassu { font-family: var(--serifa); font-size: 44px; letter-spacing: 0.16em; margin-right: -0.16em; color: #fff; }
.hero__marca-ladies { font-family: var(--script); font-size: 58px; color: var(--ouro-claro); margin-top: -4px; }

/* ---------- Faixa de números ---------- */
.numeros { background: var(--dourado); color: var(--ameixa); }
.numeros__lista { display: flex; justify-content: space-between; gap: 12px 32px; padding-block: 22px; }
.numeros__lista li { display: flex; align-items: baseline; gap: 12px; }
.numeros__lista strong { font-family: var(--serifa); font-size: 30px; font-weight: 500; line-height: 1; color: var(--ameixa); }
.numeros__lista span { font-size: 13.5px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; }

/* ---------- O movimento ---------- */
.duas-colunas { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2.4fr); gap: 48px; }
.texto__abre { font-size: 20px; line-height: 1.55; color: var(--roxo); }

/* ---------- Emblema + texto (a marca, em que acreditamos) ---------- */
.emblema-texto { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2.6fr); gap: 56px; align-items: center; }
.emblema-texto picture img { width: 100%; max-width: 300px; margin-inline: auto; }
.emblema-texto h2:not(.antetitulo) { max-width: 13em; }
.crenca__grande { font-family: var(--serifa); font-size: 31px; line-height: 1.3; color: #fff; }
.crenca p + p { margin-top: 14px; }
.crenca strong { color: #fff; font-weight: 500; }
.crenca__script { font-size: 52px; line-height: 1.15; color: var(--ouro-claro); margin-block: 18px 14px; }

/* ---------- O lançamento ---------- */
.titulo-largo { max-width: 15em; }
.cartao { background: #fff; border: 1px solid var(--borda-card); border-radius: 16px; padding: 28px 30px; }
.cartao h3 { margin-bottom: 8px; }
.cartao p { font-size: 15.5px; }
.agenda { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 44px; }
.agenda__largo { grid-column: 1 / -1; }
.agenda .agenda__hora {
  display: flex; align-items: center; gap: 10px; margin-bottom: 10px;
  font-size: 13px; font-weight: 500; letter-spacing: 0.18em; color: var(--roxo);
}
.agenda__hora::before { content: ""; width: 22px; height: 2px; background: var(--dourado); }

/* ---------- O que fazemos ---------- */
.pilares__intro { margin-top: 18px; max-width: 46em; font-size: 17px; }
.pilares { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 44px; }
.pilar { border-top: 2px solid var(--dourado); padding-top: 22px; }
.pilar h3 { font-size: 26px; margin-bottom: 10px; }
.pilar p { font-size: 15.5px; }

/* ---------- Inscrição ---------- */
.inscricao { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.9fr); gap: 56px; align-items: start; }
.inscricao__script { display: block; font-size: 1.5em; line-height: 1; color: var(--orquidea); }
.dados { margin-top: 26px; }
.dados li + li { margin-top: 8px; }
.formulario { padding: 32px; }
.campo { margin-bottom: 18px; }
.campo-dupla { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
.campo label { display: block; margin-bottom: 6px; font-size: 13.5px; letter-spacing: 0.04em; color: var(--label); }
.campo input, .campo select {
  width: 100%; min-height: 50px; padding: 10px 14px;
  border: 1.5px solid var(--borda-input); border-radius: 8px; background: #fff;
  font-family: var(--sans); font-size: 16px; color: var(--ameixa);
}
.campo input::placeholder { color: var(--label); opacity: 1; }
.campo input:focus-visible, .campo select:focus-visible { outline-offset: 1px; border-color: var(--violeta); }
.campo-site { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.consentimento { display: flex; gap: 12px; align-items: flex-start; min-height: 44px; margin: 4px 0 20px; font-size: 14.5px; line-height: 1.5; cursor: pointer; }
.consentimento input { flex-shrink: 0; width: 22px; height: 22px; margin: 0; accent-color: var(--roxo); }
.form-erro { margin-bottom: 16px; padding: 12px 14px; border: 1.5px solid var(--orquidea); border-radius: 8px; background: #fff; color: var(--roxo); font-size: 15px; }
.form-apoio { margin-top: 14px; font-size: 13.5px; color: var(--label); }
.form-sucesso { padding: 36px 8px; text-align: center; }
.form-sucesso h3 { font-size: 36px; margin-bottom: 10px; }
.form-sucesso p { font-size: 17px; }
[hidden] { display: none !important; }

/* ---------- Dúvidas ---------- */
.duvidas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 56px; margin-top: 22px; }
.duvidas h3 { margin-bottom: 8px; }

/* ---------- Footer ---------- */
.rodape { padding-block: 56px 28px; font-size: 15px; }
.rodape__grade { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.2fr) minmax(0, 1fr); gap: 40px; }
.rodape__marca img { width: 108px; margin-bottom: 16px; }
.rodape__marca p { max-width: 24em; }
.rodape li { min-height: 30px; }
.rodape li a { display: inline-flex; align-items: center; min-height: 44px; margin-block: -7px; overflow-wrap: anywhere; }
.rodape__fim { margin-top: 44px; padding-top: 22px; border-top: 1px solid var(--divisor-escuro); font-size: 13.5px; color: var(--label-escuro); }
.rodape__fim a { color: var(--label-escuro); }

/* ---------- Tablet ---------- */
@media (max-width: 1000px) {
  h2 { font-size: 38px; }
  .hero h1 { font-size: 54px; }
  .inscricao { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .numeros__lista span { letter-spacing: 0.1em; font-size: 12.5px; }
}

/* ---------- Mobile ---------- */
@media (max-width: 860px) {
  :root { --espaco-secao: 56px; --topo: 70px; }
  h2 { font-size: 32px; }
  h3 { font-size: 22px; }
  .container { padding-inline: 22px; }

  .js .menu-botao { display: inline-flex; align-items: center; }
  .js .menu { display: none; width: 100%; }
  .js .menu.aberto { display: block; }
  .menu ul { flex-direction: column; gap: 0; }
  .menu a { width: 100%; min-height: 48px; padding: 0 4px; border-top: 1px solid var(--divisor-escuro); }
  .logo img { height: 46px; }

  .hero { padding-block: 36px 56px; }
  .hero__grade { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .hero__emblema { order: -1; max-width: min(46vw, 220px); margin-inline: 0; }
  .hero__marca { margin-top: 2px; }
  .hero__marca-iguassu { font-size: 24px; }
  .hero__marca-ladies { font-size: 32px; margin-top: -2px; }
  .antetitulo { letter-spacing: 0.14em; }
  .hero h1 { font-size: 40px; }
  .hero h1 .script { font-size: 1.3em; }
  .hero__lead { font-size: 16.5px; margin-top: 22px; }
  .hero__botoes .botao { flex: 1 1 220px; }

  .numeros__lista { flex-direction: column; padding-block: 20px; }
  .duas-colunas, .emblema-texto { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .emblema-texto picture img { max-width: min(60vw, 260px); margin-inline: 0; }
  .texto__abre { font-size: 18.5px; }
  .crenca__grande { font-size: 25px; }
  .crenca__script { font-size: 42px; }

  .agenda { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 30px; }
  .cartao { padding: 24px 22px; }
  .pilares { grid-template-columns: minmax(0, 1fr); gap: 28px; margin-top: 30px; }
  .formulario { padding: 24px 20px; }
  .campo-dupla { grid-template-columns: minmax(0, 1fr); }
  .duvidas { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .rodape__grade { grid-template-columns: minmax(0, 1fr); gap: 30px; }
}
