/* ===== Raiz Desenvolvimento Humano — design tokens ===== */
:root{
  --verde: #32463A;
  --marrom: #3A2A21;
  --terracota: #8A5A3C;
  --areia: #D9CEC0;
  --off: #F6F4F1;
  --ink: #5B5048;
  --ink-soft: #857A70;
  --white: #FFFFFF;

  --serif: "Cormorant Garamond", "Times New Roman", serif;
  --sans: "Montserrat", "Helvetica Neue", Arial, sans-serif;

  --maxw: 1180px;
  --gutter: clamp(24px, 5vw, 72px);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--marrom);
  background:var(--off);
  -webkit-font-smoothing:antialiased;
}
.page-wrap{overflow-x:hidden; width:100%;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:var(--maxw); margin:0 auto; padding-left:var(--gutter); padding-right:var(--gutter);}

h1,h2,h3{font-family:var(--serif); font-weight:500; margin:0; color:var(--marrom);}
p{margin:0; line-height:1.65;}

.eyebrow{
  font-family:var(--sans); font-weight:700; font-size:11px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--terracota); display:inline-block; margin-bottom:14px;
}
.eyebrow.on-dark{color:var(--areia);}

.btn{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--sans); font-weight:600; font-size:14px; letter-spacing:.02em;
  padding:14px 26px; border-radius:2px; border:1px solid transparent;
  cursor:pointer; transition:transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
  white-space:nowrap;
}
.btn svg{width:16px;height:16px; transition:transform .25s ease;}
.btn:hover svg{transform:translateX(3px);}
.btn-primary{background:var(--terracota); color:var(--off);}
.btn-primary:hover{background:var(--marrom);}
.btn-ghost-dark{border-color:rgba(246,244,241,.5); color:var(--off);}
.btn-ghost-dark:hover{background:rgba(246,244,241,.12); border-color:var(--off);}
.btn-ghost-light{border-color:rgba(58,42,33,.3); color:var(--marrom);}
.btn-ghost-light:hover{background:rgba(58,42,33,.06); border-color:var(--marrom);}

section{position:relative;}


/* ===== NAV ===== */
.nav{
  position:sticky; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:22px var(--gutter);
  transition:background .35s ease, padding .35s ease, box-shadow .35s ease;
}
.nav.scrolled{
  background:rgba(246,244,241,.92); backdrop-filter:blur(8px);
  padding:14px var(--gutter);
  box-shadow:0 1px 0 rgba(58,42,33,.08);
}
.nav-logo{font-family:var(--serif); font-weight:600; font-size:22px; letter-spacing:.12em; color:var(--off);}
.nav.scrolled .nav-logo{color:var(--marrom);}
.nav-logo span{display:block; font-family:var(--sans); font-size:8px; letter-spacing:.22em; font-weight:600; color:var(--areia); margin-top:2px;}
.nav.scrolled .nav-logo span{color:var(--terracota);}
.nav-links{display:flex; gap:34px; list-style:none; margin:0; padding:0;}
.nav-links a{
  font-size:12.5px; font-weight:600; letter-spacing:.05em; text-transform:uppercase;
  color:var(--off); opacity:.85; transition:opacity .2s ease;
}
.nav.scrolled .nav-links a{color:var(--marrom);}
.nav-links a:hover{opacity:1;}
.nav-cta{display:none;}
.nav-toggle{display:none;}

@media(max-width:920px){
  .nav-links{
    display:none;
    position:fixed; inset:0; width:100%; height:100%; z-index:150; background:var(--marrom); flex-direction:column; justify-content:center;
    align-items:center; gap:28px;
  }
  .nav-links.open{display:flex;}
  .nav-links a{color:var(--off); font-size:16px;}
  .nav-toggle{
    display:flex; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer;
    z-index:101; padding:6px;
  }
  .nav-toggle span{width:22px; height:2px; background:var(--off); transition:background .2s;}
  .nav.scrolled .nav-toggle span{background:var(--marrom);}
  .nav-toggle.open span{background:var(--off) !important;}
}

/* ===== HERO ===== */
.hero{
  min-height:100vh; display:flex; flex-direction:column; justify-content:center;
  background:linear-gradient(180deg, var(--off) 0%, var(--off) 55%, var(--areia) 100%);
  padding-top:140px; padding-bottom:80px;
}
.hero-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:60px; align-items:center;}
.hero-tag{font-family:var(--serif); font-style:italic; font-size:18px; color:var(--verde); margin-bottom:22px; display:block;}
.hero h1{font-size:clamp(38px,5vw,60px); line-height:1.08; letter-spacing:-.01em;}
.hero-sub{margin-top:26px; font-size:16px; color:var(--ink); max-width:520px; line-height:1.7;}
.hero-ctas{margin-top:40px; display:flex; gap:16px; flex-wrap:wrap;}
.hero-photo{position:relative;}
.hero-photo img{border-radius:2px; width:100%; height:560px; object-fit:cover; object-position:top;}
.hero-photo::after{
  content:""; position:absolute; inset:18px -18px -18px 18px; border:1px solid var(--terracota); z-index:-1;
}
@media(max-width:920px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-photo{order:-1;}
  .hero-photo img{height:340px;}
  .hero-photo::after{display:none;}
}

/* ===== MVV (missão visão valores) ===== */
.mvv{background:var(--verde); padding:120px 0; overflow:hidden;}
.mvv-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; align-items:center;}
.mvv-photo img{width:100%; height:620px; object-fit:cover; object-position:top; border-radius:2px;}
.mvv h2{color:var(--off); font-size:clamp(30px,3.6vw,44px); margin-bottom:8px;}
.mvv-quote{font-family:var(--serif); font-style:italic; color:var(--areia); font-size:19px; margin-bottom:48px; display:block;}
.mvv-block{margin-bottom:34px; padding-left:22px; border-left:2px solid var(--terracota);}
.mvv-block h3{color:var(--areia); font-family:var(--sans); font-weight:700; font-size:12px; letter-spacing:.15em; text-transform:uppercase; margin-bottom:10px;}
.mvv-block p{color:var(--off); font-size:15.5px; opacity:.92;}
.mvv-values{display:flex; flex-wrap:wrap; gap:12px; margin-top:36px;}
.chip{padding:9px 18px; border:1px solid rgba(217,206,192,.4); border-radius:20px; font-size:13px; color:var(--areia); font-weight:500;}
@media(max-width:920px){
  .mvv-grid{grid-template-columns:1fr;}
  .mvv-photo img{height:360px;}
}

/* ===== CAMINHOS (dual path) ===== */
.caminhos{display:grid; grid-template-columns:1fr 1fr;}
.caminho{padding:110px var(--gutter); position:relative;}
.caminho-empresa{
  background:linear-gradient(180deg, rgba(58,42,33,.88), rgba(58,42,33,.94)), url('images/caminho-empresa.jpg');
  background-size:cover; background-position:top center; color:var(--off);
}
.caminho-pessoa{background:var(--off); color:var(--marrom);}
.caminho .eyebrow{margin-bottom:18px;}
.caminho h2{font-size:clamp(26px,2.6vw,34px); margin-bottom:18px; max-width:420px;}
.caminho-empresa h2{color:var(--off);}
.caminho p.desc{max-width:420px; font-size:15px; line-height:1.7; margin-bottom:34px;}
.caminho-empresa p.desc{color:var(--areia);}
.caminho-pessoa p.desc{color:var(--ink);}
@media(max-width:820px){
  .caminhos{grid-template-columns:1fr;}
  .caminho{padding:70px var(--gutter);}
}

/* ===== STAT SECTION (custo de contratar errado) ===== */
.stat-section{background:var(--areia); padding:110px 0;}
.stat-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:start;}
.stat-headline{font-size:clamp(28px,3.4vw,42px); line-height:1.15; margin-top:8px;}
.stat-headline strong{color:var(--terracota); font-weight:600;}
.stat-sub{font-family:var(--serif); font-style:italic; font-size:18px; color:var(--verde); margin-bottom:22px;}
.stat-list{list-style:none; margin:0 0 26px; padding:0; display:flex; flex-direction:column; gap:14px;}
.stat-list li{display:flex; align-items:baseline; gap:16px;}
.stat-list b{font-family:var(--serif); font-size:22px; color:var(--marrom); min-width:52px;}
.stat-list span{font-size:14px; color:var(--marrom); line-height:1.4;}
.stat-source{display:block; font-size:11.5px; color:var(--ink-soft); font-style:italic; margin-bottom:28px;}
.stat-close{font-size:14.5px; color:var(--marrom); font-weight:600; max-width:480px; line-height:1.5; padding-top:22px; border-top:1px solid rgba(58,42,33,.15);}
@media(max-width:820px){.stat-grid{grid-template-columns:1fr;}}

/* ===== R&S section ===== */
.rs{background:var(--off); padding:120px 0;}
.rs-head{display:grid; grid-template-columns:1fr 1fr; gap:60px; margin-bottom:70px; align-items:end;}
.rs-head h2{font-size:clamp(28px,3.2vw,40px);}
.rs-head p{font-size:15px; color:var(--ink);}
.rs-steps{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--areia);
  border:1px solid var(--areia); margin-bottom:80px;
}
.rs-step{background:var(--off); padding:30px 24px;}
.rs-step .n{font-family:var(--serif); font-size:34px; color:var(--terracota); line-height:1; margin-bottom:14px;}
.rs-step h4{font-family:var(--sans); font-weight:700; font-size:12.5px; letter-spacing:.04em; margin-bottom:8px;}
.rs-step p{font-size:12.5px; color:var(--ink-soft); line-height:1.5;}
@media(max-width:920px){.rs-head{grid-template-columns:1fr;} .rs-steps{grid-template-columns:repeat(2,1fr);}}

.pricing{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
.price-card{background:var(--white); border:1px solid var(--areia); padding:38px 32px; transition:transform .3s ease, box-shadow .3s ease;}
.price-card:hover{transform:translateY(-6px); box-shadow:0 24px 48px -24px rgba(58,42,33,.25);}
.price-card h3{font-size:24px; margin-bottom:6px;}
.price-card .desc{font-size:13.5px; color:var(--ink-soft); min-height:58px; margin-bottom:22px; display:block;}
.price-card .price{font-family:var(--serif); font-size:32px; color:var(--terracota); display:block; margin-bottom:4px;}
.price-card .price-note{font-size:11.5px; color:var(--ink-soft);}
@media(max-width:820px){.pricing{grid-template-columns:1fr;}}

.rs-note{margin-top:36px; font-size:12px; color:var(--ink-soft); max-width:760px; line-height:1.6;}

/* ===== PROGRAMAS ===== */
.programas{background:var(--areia); padding:120px 0;}
.programas h2{font-size:clamp(28px,3.2vw,40px); max-width:520px; margin-bottom:16px;}
.programas > .wrap > p{font-size:15px; color:var(--marrom); opacity:.8; max-width:560px; margin-bottom:64px;}
.prog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
.prog-card{background:var(--off); padding:40px 30px; display:flex; flex-direction:column;}
.prog-icon{width:46px; height:46px; border-radius:50%; background:var(--verde); display:flex; align-items:center; justify-content:center; margin-bottom:24px;}
.prog-icon svg{width:22px; height:22px; stroke:var(--off);}
.prog-card h3{font-size:22px; margin-bottom:12px;}
.prog-card p{font-size:14px; color:var(--ink); margin-bottom:22px; flex-grow:1;}
.prog-card .tag{font-size:11.5px; font-weight:700; letter-spacing:.06em; color:var(--terracota); text-transform:uppercase; margin-bottom:14px; display:block;}
.prog-card a.link{font-size:13px; font-weight:700; color:var(--verde); display:inline-flex; align-items:center; gap:6px;}
.prog-card a.link svg{width:14px;height:14px;}
@media(max-width:920px){.prog-grid{grid-template-columns:1fr;}}

/* ===== PROGRAMA DETALHE (De Dentro pra Fora) ===== */
.prog-detail{background:var(--white); padding:120px 0;}
.prog-detail-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; align-items:center;}
.prog-detail-photo img{width:100%; height:560px; object-fit:cover; object-position:top; border-radius:2px;}
.prog-detail h2{font-size:clamp(28px,3.2vw,38px); max-width:560px; margin-bottom:20px;}
.prog-detail-lead{font-size:15.5px; color:var(--ink); max-width:560px; margin-bottom:32px; line-height:1.7;}
.checklist{list-style:none; margin:0 0 36px; padding:0; display:flex; flex-direction:column; gap:14px; max-width:520px;}
.checklist li{display:flex; align-items:flex-start; gap:12px; font-size:14px; color:var(--marrom); line-height:1.4;}
.checklist li svg{flex-shrink:0; margin-top:2px; stroke:var(--terracota);}
.prog-detail-price{display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; margin-bottom:32px; padding-top:24px; border-top:1px solid var(--areia); max-width:520px;}
.prog-detail-price .price{font-family:var(--serif); font-size:30px; color:var(--terracota);}
.prog-detail-price .price-note{font-size:12px; color:var(--ink-soft); max-width:320px;}
@media(max-width:920px){
  .prog-detail-grid{grid-template-columns:1fr;}
  .prog-detail-photo img{height:340px;}
}

/* ===== DEPOIMENTOS ===== */
.depo{background:var(--off); padding:120px 0;}
.depo-head{display:flex; justify-content:space-between; align-items:end; margin-bottom:56px; flex-wrap:wrap; gap:20px;}
.depo-head h2{font-size:clamp(28px,3.2vw,40px);}
.depo-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.depo-card{background:var(--white); border:1px solid var(--areia); padding:28px 24px; display:flex; flex-direction:column;}
.depo-card svg{width:22px; height:22px; stroke:var(--terracota); margin-bottom:14px;}
.depo-card p{font-size:13px; color:var(--marrom); line-height:1.55; flex-grow:1;}
.depo-card .handle{margin-top:18px; font-size:12px; font-weight:700; color:var(--verde);}
@media(max-width:1100px){.depo-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:620px){.depo-grid{grid-template-columns:1fr;}}

/* ===== EMPRESAS ATENDIDAS ===== */
.segs{background:var(--verde); padding:90px 0;}
.segs h2{color:var(--off); font-size:clamp(24px,2.8vw,32px); margin-bottom:10px;}
.segs > .wrap > p{color:var(--areia); font-size:14px; margin-bottom:50px;}
.segs-row{display:grid; grid-template-columns:repeat(5,1fr); gap:20px;}
.seg-card{background:#5C4636; padding:34px 18px; text-align:center;} /* marrom claro — ajustar tom aqui se pedir mais claro/escuro */
.seg-card img{width:48px; height:48px; object-fit:contain; margin:0 auto 16px; display:block;}
.seg-card span{font-size:12.5px; font-weight:600; color:var(--off); line-height:1.35; display:block;}
@media(max-width:920px){.segs-row{grid-template-columns:repeat(2,1fr);}}

/* ===== SOBRE ELA ===== */
.sobre{background:var(--off); padding:120px 0;}
.sobre-grid{display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:center;}
.sobre-photo img{width:100%; height:600px; object-fit:cover; object-position:top; border-radius:2px;}
.sobre h2{font-size:clamp(28px,3.2vw,40px); margin-bottom:22px; max-width:480px;}
.sobre p{font-size:15px; color:var(--ink); margin-bottom:16px; max-width:560px;}
.sobre-stats{display:flex; gap:40px; margin-top:34px; flex-wrap:wrap;}
.stat b{display:block; font-family:var(--serif); font-size:26px; color:var(--terracota);}
.stat span{font-size:11.5px; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.05em;}
@media(max-width:920px){.sobre-grid{grid-template-columns:1fr;} .sobre-photo img{height:340px;}}

/* ===== CTA FINAL / CONTATO ===== */
.contato{background:var(--marrom); color:var(--off); padding:0;}
.contato-grid{display:grid; grid-template-columns:1fr 1fr;}
.contato-photo img{width:100%; height:100%; object-fit:cover; object-position:top; min-height:520px;}
.contato-content{padding:100px var(--gutter); display:flex; flex-direction:column; justify-content:center;}
.contato h2{color:var(--off); font-size:clamp(28px,3.4vw,42px); margin-bottom:20px;}
.contato p.lead{color:var(--areia); font-size:16px; max-width:440px; margin-bottom:40px; line-height:1.7;}
.contato-links{display:flex; flex-direction:column; gap:18px; margin-bottom:10px;}
.contato-link{display:flex; align-items:center; gap:14px; font-size:15px; font-weight:500;}
.contato-link svg{width:20px;height:20px; stroke:var(--terracota);}
@media(max-width:920px){.contato-grid{grid-template-columns:1fr;} .contato-photo img{min-height:320px;} .contato-content{padding:70px var(--gutter);}}

/* ===== FOOTER ===== */
footer{background:var(--marrom); padding:36px var(--gutter); border-top:1px solid rgba(246,244,241,.12);}
.footer-row{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; max-width:var(--maxw); margin:0 auto;}
.footer-logo{font-family:var(--serif); color:var(--off); font-size:16px; letter-spacing:.1em;}
footer small{color:var(--areia); font-size:11.5px; opacity:.7;}

/* ===== reveal on scroll ===== */
.reveal{opacity:0; transform:translateY(24px); transition:opacity .8s ease, transform .8s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

@media (prefers-reduced-motion: reduce){
  .reveal{transition:none !important; opacity:1 !important; transform:none !important;}
}

:focus-visible{outline:2px solid var(--terracota); outline-offset:3px;}
