:root{
  --ink:#14171A;
  --slate:#3B4148;
  --navy:#16273D;
  --navy-2:#213A56;
  --navy-3:#324F70;
  --wine:#6E2436;
  --wine-2:#95475A;
  --sand:#F3ECE1;
  --sand-2:#E8DFCF;
  --paper:#FFFFFF;
  --line:#D8D0C2;
  --muted:#6B6459;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
}

body{
  font-family:'Archivo', sans-serif;
  color:var(--ink);
  background:var(--sand);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

a{color:inherit; text-decoration:none;}
img{display:block; max-width:100%;}
.container{max-width:1180px; margin:0 auto; padding:0 24px;}

/* Header */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:50;
  padding:20px 0;
  transition:background .35s ease, box-shadow .35s ease, padding .35s ease;
}
.site-header.solid{
  background:rgba(243,236,225,.94);
  backdrop-filter:blur(6px);
  box-shadow:0 1px 0 rgba(20,23,26,.08);
  padding:14px 0;
}
.site-header .row{display:flex; align-items:center; justify-content:space-between;}
.brand{display:flex; align-items:center; gap:12px;}
.brand .mono{
  width:38px; height:38px; border-radius:50%; border:1.5px solid #fff;
  display:flex; align-items:center; justify-content:center;
  font-family:'Fraunces', serif; font-weight:700; font-size:15px; color:#fff;
  flex:0 0 auto; transition:border-color .35s ease, color .35s ease;
}
.site-header.solid .brand .mono{border-color:var(--ink); color:var(--ink);}
.brand .name{
  font-family:'Fraunces', serif; font-weight:700; font-size:17px; color:#fff;
  transition:color .35s ease;
}
.site-header.solid .brand .name{color:var(--ink);}

nav{display:flex; align-items:center; gap:32px;}
nav a.navlink{
  font-size:13px; letter-spacing:.06em; text-transform:uppercase; font-weight:600;
  color:rgba(255,255,255,.82); transition:color .35s ease;
}
.site-header.solid nav a.navlink{color:var(--slate);}
nav a.navlink:hover{color:var(--wine-2);}

.btn{
  display:inline-flex; align-items:center; gap:8px;
  font-size:13.5px; font-weight:700; letter-spacing:.02em;
  padding:12px 22px; border-radius:3px; white-space:nowrap;
}
.btn-primary{background:var(--wine); color:#fff; box-shadow:0 6px 18px rgba(110,36,54,.25);}
.btn-primary:hover{background:#7d2c40;}
.btn-ghost{border:1.4px solid rgba(255,255,255,.55); color:#fff;}
.site-header.solid .btn-ghost{border-color:var(--slate); color:var(--slate);}

.nav-cta{display:inline-flex; padding:10px 16px; font-size:12.5px;}
@media (min-width:860px){ .nav-cta{padding:12px 22px; font-size:13.5px;} }
@media (max-width:700px){
  nav{gap:0;}
  nav a.navlink{display:none;}
  .brand .name{font-size:15px;}
}

/* Hero */
.hero{
  position:relative; overflow:hidden;
  min-height:100svh;
  background:linear-gradient(180deg, var(--ink) 0%, var(--navy) 38%, var(--navy-2) 58%, var(--navy-3) 66%);
  display:flex; align-items:stretch;
}
.horizon-line{
  position:absolute; left:0; right:0; height:3px; z-index:2;
  bottom:190px;
  background:linear-gradient(90deg, var(--navy-2) 0%, var(--wine-2) 100%);
  box-shadow:0 0 24px 2px rgba(149,71,90,.45);
}
.hero-ground{
  position:absolute; left:0; right:0; bottom:0; z-index:1;
  height:190px;
  background:var(--sand);
}
@media (max-width:900px){
  .horizon-line{bottom:140px;}
  .hero-ground{height:140px;}
}
.hero-inner{
  position:relative; z-index:4; width:100%;
  padding:150px 24px 60px;
  text-align:center;
}
.hero-eyebrow{
  font-size:12.5px; letter-spacing:.26em; text-transform:uppercase; font-weight:700;
  color:var(--wine-2); margin-bottom:18px;
}
.hero h1{
  font-family:'Fraunces', serif; font-weight:700;
  font-size:clamp(40px, 6.4vw, 84px);
  line-height:1.02; color:#fff; letter-spacing:-.01em;
}
.hero .slogan{
  margin-top:22px; font-size:clamp(14px, 1.6vw, 17px);
  letter-spacing:.08em; text-transform:uppercase; font-weight:700;
  color:rgba(255,255,255,.86);
}
.hero .sub{
  margin-top:16px; font-size:16px; color:rgba(255,255,255,.72); max-width:460px;
  margin-left:auto; margin-right:auto;
}
.hero-cta{margin-top:34px; display:flex; gap:14px; flex-wrap:wrap; justify-content:center;}
@media (max-width:900px){
  .hero-inner{padding-top:130px;}
}

/* Sections */
section{padding:100px 0;}
.eyebrow{
  font-size:12px; letter-spacing:.2em; text-transform:uppercase; font-weight:700;
  color:var(--wine); margin-bottom:14px;
}
h2{
  font-family:'Fraunces', serif; font-weight:700; font-size:clamp(28px,4vw,42px);
  color:var(--ink); line-height:1.15;
}

.reveal{opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

/* Quem é */
.bio{background:var(--paper);}
.bio-grid{display:grid; grid-template-columns:1fr 1.15fr; gap:56px; align-items:center;}
.bio-photo{border-radius:4px; overflow:hidden; box-shadow:0 24px 48px rgba(20,23,26,.14);}
.bio-text p{color:var(--slate); font-size:16.5px; margin-top:16px; max-width:52ch;}
.bio-text p:first-of-type{margin-top:22px;}
.three-words{display:flex; gap:10px; margin-top:26px; flex-wrap:wrap;}
.three-words span{
  font-size:12.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--navy); border:1.3px solid var(--line); padding:8px 14px; border-radius:2px;
}
@media (max-width:820px){ .bio-grid{grid-template-columns:1fr;} .bio-photo{max-width:340px; margin:0 auto;} }

/* Eixos */
.eixos{background:var(--sand-2);}
.eixos-head{max-width:640px;}
.eixos-head p{color:var(--slate); font-size:16px; margin-top:14px;}
.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:48px;}
.card{
  background:var(--paper); border-radius:4px; padding:34px 28px;
  border-top:3px solid var(--navy);
}
.card:nth-child(2){border-top-color:var(--wine);}
.card:nth-child(3){border-top-color:var(--slate);}
.card .tag{font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:700; color:var(--muted); margin-bottom:12px;}
.card h3{font-family:'Fraunces', serif; font-size:22px; font-weight:700; color:var(--ink);}
.card p{margin-top:12px; color:var(--slate); font-size:15px;}
@media (max-width:820px){ .cards{grid-template-columns:1fr;} }

/* Causa */
.causa{background:var(--navy); color:#fff; text-align:center;}
.causa blockquote{
  font-family:'Fraunces', serif; font-style:italic; font-weight:400;
  font-size:clamp(22px, 3.2vw, 34px); line-height:1.4; max-width:820px; margin:0 auto;
  color:#fff;
}
.causa cite{
  display:block; margin-top:28px; font-style:normal; font-family:'Archivo',sans-serif;
  font-size:13px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--wine-2);
}

/* CTA final */
.cta-final{background:var(--paper); text-align:center;}
.cta-final h2{max-width:640px; margin:0 auto;}
.cta-final .sub{color:var(--slate); font-size:16px; margin-top:14px;}
.cta-buttons{margin-top:32px; display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}
.btn-lg{padding:16px 30px; font-size:15px;}
.btn-outline{border:1.4px solid var(--slate); color:var(--slate);}
.btn-outline:hover{border-color:var(--wine); color:var(--wine);}

/* Footer */
footer{background:var(--ink); color:rgba(255,255,255,.6); padding:36px 0;}
footer .row{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;}
footer .loc{font-size:13px; letter-spacing:.04em;}
footer .credit{font-size:12px; font-style:italic; font-family:'Fraunces',serif; color:rgba(255,255,255,.4);}

/* Focus visibility */
a:focus-visible, button:focus-visible{outline:2px solid var(--wine-2); outline-offset:3px;}

@media (max-width:600px){
  section{padding:72px 0;}
  .hero-inner{padding-top:120px;}
}
