/* Tokens, reset, tipografia, layout e utilitários compartilhados por toda a página. */
*{margin:0;padding:0;box-sizing:border-box}

:root{
  --ink:#0F0F0F;
  --ink2:#1C1C1C;
  --gold:#C8A95A;
  --gold2:#A88B3E;
  --cream:#F5F1EA;
  --cream2:#EDE8DF;
  --white:#fff;
  --off:#FAFAF8;
  --muted:#666;
  --muted2:#8A8A8A;
  --radius:22px;
  --shadow:0 22px 70px rgba(0,0,0,.16);
  --shadow2:0 10px 35px rgba(0,0,0,.08);
}

html{
  scroll-behavior:smooth;
  color-scheme:only light;
  -webkit-text-size-adjust:100%;
}

body{
  font-family:'Outfit',sans-serif;
  background:var(--off);
  color:var(--ink);
  line-height:1.65;
  overflow-x:hidden;
}

a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}

h1,h2,h3,.serif{font-family:'Cormorant Garamond',serif}

h1{
  font-size:clamp(44px,6.2vw,82px);
  line-height:1.02;
  font-weight:700;
  letter-spacing:-1px;
}

h2{
  font-size:clamp(34px,4.8vw,58px);
  line-height:1.08;
  font-weight:700;
  letter-spacing:-.5px;
}

h3{
  font-size:clamp(23px,2.6vw,32px);
  line-height:1.15;
  font-weight:700;
}

p{
  font-size:clamp(15px,1.55vw,17px);
  color:var(--muted);
}

/* Layout */
.container{
  width:min(1160px,calc(100% - 40px));
  margin:0 auto;
}

.container-wide{
  width:min(1280px,calc(100% - 40px));
  margin:0 auto;
}

.gold{color:var(--gold)}
.center{text-align:center}

/* Seções: espaçamento e variações de fundo */
.section{padding:90px 0}
.dark{background:#151515;color:#fff}
.cream{background:var(--cream)}
.off{background:var(--off)}
.dark p{color:rgba(255,255,255,.66)}

.section-head{margin-bottom:54px}
.section-head p{max-width:680px;margin-top:16px}
.section-head.center p{margin-left:auto;margin-right:auto}

.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:54px;
  align-items:center;
}

/* Animação de entrada (ativada por js/reveal.js) */
.reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .6s ease,transform .6s ease;
}
.reveal.show{
  opacity:1;
  transform:none;
}

@media(max-width:1100px){
  .split{grid-template-columns:1fr}
}

@media(max-width:720px){
  .container,
  .container-wide{width:min(100% - 30px,1160px)}

  .section{padding:68px 0}

  h1{font-size:38px}
  h2{font-size:32px}
}
