@import './tokens.css';
@import './secoes.css';

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);background:var(--paper);color:var(--ink);
  -webkit-font-smoothing:antialiased;line-height:1.55;overflow-x:clip;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none}
::selection{background:var(--terra-marca);color:#fff}

/* ---------- estruturais ---------- */
.wrap{width:min(var(--wrap),100%);margin-inline:auto;padding-inline:var(--gutter)}
.sec{padding-block:var(--sec-y);position:relative}
.sec-dark{background:var(--forest-sec);color:#fff}
.sec-dark-alt{background:var(--forest-sec-alt);color:#fff}
.sec-paper{background:var(--paper)}
.sec-paper-2{background:var(--paper-2)}

/* ---------- tipografia ---------- */
.kicker{
  font-size:clamp(.68rem,1.1vw,.78rem);font-weight:700;letter-spacing:.26em;
  text-transform:uppercase;color:var(--terra-texto);display:block;margin-bottom:22px;
}
.sec-dark .kicker,.sec-dark-alt .kicker,.destaque .kicker,.cta-final .kicker,.hero .kicker{color:var(--terra)}

h1,h2,h3{font-family:var(--serif);font-weight:300;letter-spacing:-.02em;line-height:1.06}
h1{font-size:clamp(2.6rem,6.4vw,5rem)}
h2{font-size:clamp(2rem,4.4vw,3.5rem);line-height:1.1}
h3{font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.2}
em{font-style:italic;color:var(--terra-texto)}
.sec-dark em,.sec-dark-alt em,.hero em,.destaque em,.cta-final em{color:var(--terra)}

.lead{font-size:clamp(1rem,1.5vw,1.16rem);color:var(--ink-2);max-width:62ch;text-wrap:pretty}
.sec-dark .lead,.sec-dark-alt .lead,.destaque .lead,.cta-final .lead,.hero .lead{color:rgba(255,255,255,.80)}

.rule{width:72px;height:3px;background:var(--terra-texto);border-radius:2px;margin:28px 0}
.sec-dark .rule,.sec-dark-alt .rule,.destaque .rule,.cta-final .rule{background:var(--terra)}

/* ---------- botões ---------- */
.btn{
  display:inline-flex;align-items:center;gap:12px;
  padding:17px 34px;border-radius:100px;
  font-size:.95rem;font-weight:600;letter-spacing:.01em;
  background:var(--terra-marca);color:#0A2416;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),background .3s;
  box-shadow:0 10px 30px -14px rgba(239,97,39,.7);
;white-space:nowrap}
.btn:hover{transform:translateY(-2px);box-shadow:0 18px 40px -16px rgba(239,97,39,.85)}
.btn .arr{transition:transform .4s var(--ease)}
.btn:hover .arr{transform:translateX(5px)}

.btn-ghost{
  display:inline-flex;align-items:center;gap:11px;
  padding:16px 30px;border-radius:100px;
  font-size:.92rem;font-weight:600;
  border:1px solid var(--hair-d);color:var(--ink);
  transition:border-color .3s,background .3s,transform .4s var(--ease);
}
.btn-ghost:hover{border-color:var(--ink);transform:translateY(-2px)}
.sec-dark .btn-ghost,.sec-dark-alt .btn-ghost,.hero .btn-ghost,.destaque .btn-ghost,.cta-final .btn-ghost{border-color:rgba(255,255,255,.32);color:#fff}
.sec-dark .btn-ghost:hover,.sec-dark-alt .btn-ghost:hover,.hero .btn-ghost:hover,.destaque .btn-ghost:hover,.cta-final .btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.07)}

/* ---------- entrada em cena ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
