/* Páginas internas (obrigado / termos) — mesma linguagem visual da capa */
:root{
  --orange:#ED623B; --orange-deep:#873822; --maroon:#280814;
  --green:#434F43; --green-dark:#1D281D; --green-hover:#4E5C4E;
  --font:"Degular","Familjen Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{ box-sizing:border-box }
[hidden]{ display:none !important }   /* precisa vencer o display das classes .cta */
body{
  margin:0;
  min-height:100svh;
  font-family:var(--font);
  letter-spacing:-.01em;
  color:#fff;
  background:
    radial-gradient(120% 90% at 12% 0%, rgba(237,98,59,.95) 0%, rgba(237,98,59,0) 62%),
    conic-gradient(from 180deg at 50% 50%, var(--orange) 0%, var(--orange-deep) 100%);
  -webkit-font-smoothing:antialiased;
}
img,svg{ display:block; max-width:100% }
a{ color:inherit }

.page{
  width:min(100% - 40px, 760px);
  margin-inline:auto;
  padding:clamp(40px,7vh,86px) 0 clamp(56px,9vh,110px);
}

.page__brand{
  display:flex; align-items:center; gap:12px;
  margin-bottom:clamp(28px,5vh,52px);
  text-decoration:none;
}
.page__brand img{ width:44px; height:auto }
.page__brand b{ font-size:19px; font-weight:600 }
.page__brand span{ display:block; font-size:13px; opacity:.75; font-weight:400 }

h1{
  margin:0 0 14px;
  font-size:clamp(34px,5.4vw,58px);
  line-height:1.06;
  font-weight:400;
  text-wrap:balance;
}
h2{ margin:38px 0 10px; font-size:clamp(19px,2.4vw,23px); font-weight:600 }
p,li{ font-size:clamp(15px,1.7vw,17px); line-height:1.62; color:rgba(255,255,255,.9) }
p{ margin:0 0 14px }
ul{ margin:0 0 14px; padding-left:20px }
li{ margin-bottom:6px }
strong{ font-weight:600; color:#fff }
.lead-text{ font-size:clamp(17px,2vw,20px); color:rgba(255,255,255,.95) }
.muted{ font-size:14px; opacity:.7 }

.card{
  margin:30px 0;
  padding:clamp(22px,3.4vw,32px);
  border-radius:20px;
  background:rgba(20,6,2,.28);
  border:1px solid rgba(255,255,255,.16);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}

.cta{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:60px;
  padding:0 30px;
  border-radius:14px;
  border-bottom:2px solid var(--green-dark);
  background:var(--green);
  color:#fff; text-decoration:none;
  font-size:18px; font-weight:600;
  transition:background .25s var(--ease), transform .18s var(--ease), box-shadow .25s var(--ease);
}
.cta:hover{ background:var(--green-hover); transform:translateY(-2px); box-shadow:0 12px 28px rgba(29,40,29,.4) }
.cta:active{ transform:translateY(1px) }
.cta--ghost{
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.34);
  border-bottom-width:1px;
}
.cta--ghost:hover{ background:rgba(255,255,255,.26) }
.cta svg{ width:20px; height:20px; fill:currentColor }
.cta-row{ display:flex; flex-wrap:wrap; gap:12px; margin-top:8px }

.back{
  display:inline-block;
  margin-top:44px;
  font-size:15px;
  color:rgba(255,255,255,.8);
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.35);
}
.back:hover{ color:#fff; border-color:#fff }

.spinner{
  width:17px; height:17px;
  border:2px solid rgba(255,255,255,.35);
  border-top-color:#fff;
  border-radius:50%;
  animation:spin .7s linear infinite;
}
@keyframes spin{ to{ transform:rotate(360deg) } }

.fade{ animation:fade .7s var(--ease-out) both }
.fade:nth-of-type(2){ animation-delay:.1s }
@keyframes fade{ from{ opacity:0; translate:0 16px } to{ opacity:1; translate:0 0 } }

@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important }
}
