
:root{--green:#123f31;--green2:#1e5945;--gold:#b87a1b;--cream:#fbf8f1;--ink:#1d2924;--muted:#66706b;--line:#e6ddce;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,sans-serif;color:var(--ink);background:var(--cream);line-height:1.65}
h1,h2,h3,.brand{font-family:Georgia,serif;color:var(--green);line-height:1.08}h1{font-size:clamp(2.7rem,6vw,5.7rem);margin:.2em 0}h2{font-size:clamp(2rem,4vw,3.5rem);margin:.2em 0 .5em}h3{font-size:1.45rem}p{max-width:760px}
.wrap{width:min(1160px,90%);margin:auto}.nav{position:sticky;top:0;z-index:9;background:rgba(251,248,241,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.navin{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:25px}.mark{display:flex;align-items:center;gap:12px;text-decoration:none}.mark img{width:62px;height:62px;object-fit:contain}.brand{font-size:1.35rem}.brand small{display:block;font:11px Arial,sans-serif;letter-spacing:2px;color:var(--gold);margin-top:4px}
nav a{color:var(--ink);text-decoration:none;margin-left:22px}.btn{display:inline-block;background:var(--green);color:white!important;text-decoration:none;padding:14px 22px;border-radius:999px;font-weight:700}.btn.alt{background:transparent;color:var(--green)!important;border:1px solid var(--green)}
.hero{padding:70px 0 80px;background:linear-gradient(120deg,#fbf8f1 55%,#f0e7d7)}.grid2{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}.eyebrow{color:var(--gold);font-weight:700;letter-spacing:2px;text-transform:uppercase;font-size:.8rem}.lead{font-size:1.2rem;color:#48534e}.heroimg{position:relative}.heroimg .portrait{width:100%;border-radius:48% 48% 20px 20px;display:block}.seal{position:absolute;left:-35px;bottom:-35px;background:white;border-radius:50%;width:130px;height:130px;padding:13px;box-shadow:0 15px 45px #0002}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.trust{display:flex;gap:20px;flex-wrap:wrap;margin-top:35px;color:#59625e;font-size:.92rem}.section{padding:90px 0}.white{background:white}.center{text-align:center}.center p{margin-left:auto;margin-right:auto}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}.card{background:white;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 10px 35px #173d2d0c}.white .card{background:var(--cream)}.tag{display:inline-block;background:#e8efe9;color:var(--green);padding:5px 10px;border-radius:99px;font-size:.8rem;font-weight:700}
.split{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:35px}.path{padding:34px;border-radius:22px;border:1px solid var(--line);background:white}.path.mentor{background:var(--green);color:white}.path.mentor h3,.path.mentor h2{color:white}.path ul{padding-left:20px}
.story{background:var(--green);color:#eef4ef}.story h2,.story h3{color:white}.story img{width:100%;border-radius:22px}.quote{font-family:Georgia,serif;font-size:1.5rem;color:#e8c77d;border-left:3px solid var(--gold);padding-left:20px}
.authority{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}.stat{padding:22px;border-top:2px solid var(--gold)}.stat strong{display:block;font-family:Georgia,serif;font-size:1.5rem;color:var(--green)}
.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{font-weight:700;cursor:pointer;color:var(--green)}
.notice{background:#f2eadc;border:1px solid #dfcfb3;padding:22px;border-radius:15px;margin-top:30px}
footer{background:#0d3025;color:#dfe9e3;padding:55px 0 25px}footer h3{color:white}footer a{color:#f2d38e}.foot{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:35px}.legal{border-top:1px solid #ffffff22;margin-top:35px;padding-top:20px;font-size:.84rem;color:#b9c8c0}
@media(max-width:800px){.grid2,.split,.foot{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.authority{grid-template-columns:1fr 1fr}nav a:not(.btn){display:none}.hero{padding-top:40px}.seal{width:95px;height:95px;left:0}.mark img{width:50px;height:50px}.brand{font-size:1.05rem}}

/* V3.1 — refinamento de marca e hero */
.mark img{width:50px;height:50px}
.navin{min-height:76px}
.hero .grid2{grid-template-columns:1.28fr .72fr;gap:54px}
.heroimg{max-width:470px;justify-self:end}
.heroimg .portrait{max-height:520px;object-fit:cover;object-position:center top}
.heroimg .seal{display:none}
@media(max-width:800px){
  .hero .grid2{grid-template-columns:1fr}
  .heroimg{max-width:360px;justify-self:center}
  .heroimg .portrait{max-height:430px}
  .mark img{width:44px;height:44px}
  .navin{min-height:70px}
}

/* V4 — identidade horizontal + SEO UX */
.brand-logo{display:flex;align-items:center;max-width:430px}
.brand-logo img{display:block;width:min(410px,34vw);height:auto;max-height:68px;object-fit:contain;object-position:left center}
@media(max-width:900px){.brand-logo img{width:min(310px,56vw);max-height:58px}}
@media(max-width:600px){.brand-logo img{width:min(255px,62vw);max-height:50px}}

/* V4.1 — indicador de leitura + headline digitada */
.scroll-progress{
  position:fixed;top:0;left:0;width:100%;height:4px;z-index:9999;
  pointer-events:none;background:transparent;
}
.scroll-progress span{
  display:block;width:0;height:100%;
  background:linear-gradient(90deg,#b87816,#d7ad55,#174b3c);
  box-shadow:0 1px 5px rgba(184,120,22,.18);
  transition:width .08s linear;
}
.typewriter{position:relative}
.typewriter.is-typing::after{
  content:"";display:inline-block;width:.055em;height:.88em;margin-left:.08em;
  vertical-align:-.05em;background:currentColor;
  animation:typeCursor .72s steps(1,end) infinite;
}
.typewriter.typed::after{content:none}
@keyframes typeCursor{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){
  .scroll-progress span{transition:none}
  .typewriter::after{display:none!important}
}


/* V4.2 — movimento editorial sofisticado */
.reveal-on-scroll{
  opacity:0;
  transform:translate3d(0,26px,0);
  transition:
    opacity .9s cubic-bezier(.22,1,.36,1),
    transform .9s cubic-bezier(.22,1,.36,1);
  will-change:opacity,transform;
}
.reveal-on-scroll.reveal-left{transform:translate3d(-24px,18px,0)}
.reveal-on-scroll.reveal-right{transform:translate3d(24px,18px,0)}
.reveal-on-scroll.is-visible{
  opacity:1;
  transform:translate3d(0,0,0);
}
.reveal-delay-1{transition-delay:.08s}
.reveal-delay-2{transition-delay:.16s}
.reveal-delay-3{transition-delay:.24s}

.parallax-soft{
  --parallax-y:0px;
  transform:translate3d(0,var(--parallax-y),0);
  transition:transform .12s linear;
  will-change:transform;
}

/* Mantém a headline estável durante a digitação e deixa o cursor mais refinado */
.typewriter.is-typing::after{
  width:.045em;
  height:.86em;
  margin-left:.075em;
  opacity:.82;
  animation:typeCursor .9s steps(1,end) infinite;
}

/* pequenas respostas táteis sem excesso */
a, button, .btn, [class*="button"]{
  transition-property:transform,box-shadow,background-color,color,border-color,opacity;
  transition-duration:.28s;
  transition-timing-function:ease;
}
a.btn:hover, button:hover, .btn:hover{
  transform:translateY(-2px);
}

@media (prefers-reduced-motion: reduce){
  .reveal-on-scroll,
  .reveal-on-scroll.reveal-left,
  .reveal-on-scroll.reveal-right{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
  .parallax-soft{
    transform:none!important;
    transition:none!important;
  }
}

/* V4.3 — correções mobile, CRP e progresso de leitura */
.scroll-progress{
  height:5px!important;
  background:rgba(184,120,22,.10)!important;
  z-index:2147483647!important;
}
.scroll-progress span{
  width:100%!important;
  transform:scaleX(0);
  transform-origin:left center;
  background:linear-gradient(90deg,#b87816,#e2bd69,#174b3c)!important;
  box-shadow:0 1px 7px rgba(184,120,22,.28)!important;
  transition:transform .10s linear!important;
}

/* No celular, a marca precisa respirar: símbolo/nome permanecem e a assinatura reduz */
@media (max-width: 760px){
  header .brand-subtitle,
  header [class*="subtitle"],
  header [class*="tagline"]{
    font-size:8.5px!important;
    line-height:1.25!important;
    letter-spacing:.10em!important;
    max-width:225px!important;
    white-space:normal!important;
  }
  header .brand,
  header [class*="brand"]{
    gap:7px!important;
  }
  header img{
    max-height:40px!important;
    width:auto!important;
  }
  h1{
    font-size:clamp(2.55rem,12.2vw,4.15rem)!important;
    line-height:.98!important;
    letter-spacing:-.035em!important;
  }
  .scroll-progress{height:4px!important}
}


/* V4.4 FINAL — movimento editorial, progresso, mobile e CRP */
.scroll-progress{
  position:fixed!important; top:0!important; left:0!important;
  width:100%!important; height:5px!important; z-index:2147483647!important;
  pointer-events:none!important; background:rgba(184,120,22,.10)!important;
}
.scroll-progress span{
  display:block!important; width:100%!important; height:100%!important;
  transform:scaleX(0); transform-origin:left center;
  background:linear-gradient(90deg,#b87816,#e2bd69,#174b3c)!important;
  box-shadow:0 1px 7px rgba(184,120,22,.28)!important;
  transition:transform .14s linear!important;
}
.reveal-on-scroll{
  opacity:0; transform:translate3d(0,30px,0);
  transition:opacity 1.15s cubic-bezier(.22,1,.36,1),
             transform 1.15s cubic-bezier(.22,1,.36,1);
}
.reveal-on-scroll.reveal-left{transform:translate3d(-28px,18px,0)}
.reveal-on-scroll.reveal-right{transform:translate3d(28px,18px,0)}
.reveal-on-scroll.is-visible{opacity:1;transform:translate3d(0,0,0)}
.reveal-delay-1{transition-delay:.10s}.reveal-delay-2{transition-delay:.20s}.reveal-delay-3{transition-delay:.30s}
.parallax-soft{--parallax-y:0px;transform:translate3d(0,var(--parallax-y),0);will-change:transform}
.typewriter.is-typing::after{
  content:"";display:inline-block;width:.045em;height:.86em;margin-left:.075em;
  vertical-align:-.05em;background:currentColor;opacity:.82;
  animation:typeCursor .95s steps(1,end) infinite;
}
.typewriter.typed::after{content:none}
@keyframes typeCursor{50%{opacity:0}}

@media(max-width:760px){
  .navin{min-height:64px!important;gap:8px!important}
  .mark{gap:7px!important;min-width:0}
  .mark img{width:38px!important;height:38px!important;max-height:38px!important;flex:0 0 auto}
  .brand{font-size:.98rem!important;line-height:1.05!important;min-width:0}
  .brand small{
    display:block!important;font-size:7.5px!important;line-height:1.2!important;
    letter-spacing:.08em!important;margin-top:3px!important;white-space:normal!important;
    max-width:205px!important;
  }
  .brand-logo img{width:min(220px,58vw)!important;max-height:42px!important}
  h1{font-size:clamp(2.35rem,11.5vw,3.75rem)!important;line-height:.99!important;letter-spacing:-.035em!important}
  .hero{padding-top:34px!important}
  .heroimg{max-width:315px!important}
  .scroll-progress{height:4px!important}
}
@media(prefers-reduced-motion:reduce){
  .reveal-on-scroll,.reveal-on-scroll.reveal-left,.reveal-on-scroll.reveal-right{
    opacity:1!important;transform:none!important;transition:none!important
  }
  .parallax-soft{transform:none!important}
  .typewriter::after{display:none!important}
}


/* V4.5 — acabamento mobile + fluidez editorial */
html, body { max-width:100%; overflow-x:hidden; }
.booking-note{margin:14px 0 0;font-size:.92rem;line-height:1.5;opacity:.94}
.path ul{padding-left:1.25rem;margin-left:0}
.path li{padding-left:.35rem;margin:.42rem 0;text-align:left}
.path li::marker{font-size:.82em}

.scroll-progress{
  position:fixed!important;top:0!important;left:0!important;width:100%!important;height:4px!important;
  z-index:2147483647!important;background:rgba(184,122,27,.10)!important;pointer-events:none!important
}
.scroll-progress span{
  display:block!important;width:100%!important;height:100%!important;transform:scaleX(0);
  transform-origin:left center;background:linear-gradient(90deg,#b87a1b,#e1bd6c,#123f31)!important
}
.reveal-on-scroll{
  opacity:0;transform:translate3d(0,24px,0);
  transition:opacity 1.05s cubic-bezier(.22,1,.36,1),transform 1.05s cubic-bezier(.22,1,.36,1)
}
.reveal-on-scroll.reveal-left{transform:translate3d(-16px,18px,0)}
.reveal-on-scroll.reveal-right{transform:translate3d(16px,18px,0)}
.reveal-on-scroll.is-visible{opacity:1;transform:translate3d(0,0,0)}
.heroimg img,.story img{transform:translate3d(0,var(--sway-y,0),0);transition:transform .16s linear}
.typewriter{min-height:1em}
.typewriter.is-typing::after{
  content:"";display:inline-block;width:.045em;height:.86em;margin-left:.075em;
  vertical-align:-.05em;background:currentColor;animation:typeCursor .95s steps(1,end) infinite
}
.typewriter.typed::after{content:none}
@keyframes typeCursor{50%{opacity:0}}

@media(max-width:800px){
  .wrap{width:min(100% - 38px,1160px)}
  .authority{grid-template-columns:1fr!important;width:100%;gap:6px}
  .stat{width:100%;min-width:0;padding:20px 4px 22px}
  .stat strong{font-size:1.45rem;overflow-wrap:anywhere}
  .cards{grid-template-columns:1fr!important;width:100%}
  .card,.path{min-width:0;width:100%}
  .path{padding:28px 24px}
  .path ul{padding-left:1.15rem!important}
  .path li{padding-left:.3rem!important;text-align:left!important}
  .story .grid2{grid-template-columns:1fr!important}
  h1,h2,h3,p,.lead{overflow-wrap:break-word}
}
@media(max-width:600px){
  .navin{min-height:70px!important}
  .brand-logo img{width:min(290px,67vw)!important;max-height:54px!important}
  .mark img{width:46px!important;height:46px!important;max-height:46px!important}
  .brand{font-size:1.08rem!important}
  .brand small{font-size:7.7px!important;max-width:220px!important;letter-spacing:.075em!important}
  .hero{padding-top:38px!important}
  h1{font-size:clamp(2.5rem,11.8vw,3.8rem)!important;line-height:.98!important}
}
@media(prefers-reduced-motion:reduce){
  .reveal-on-scroll,.reveal-on-scroll.reveal-left,.reveal-on-scroll.reveal-right{
    opacity:1!important;transform:none!important;transition:none!important
  }
  .heroimg img,.story img{transform:none!important;transition:none!important}
  .typewriter::after{display:none!important}
}

/* V4.6 — refinamento final solicitado */
.book-authority{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:left center;border-radius:18px;margin:0 0 22px;display:block}
.text-link{font-weight:800;text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){
  .mark img{width:56px!important;height:56px!important;max-height:56px!important}
  .navin{min-height:78px!important}
  .authority{display:grid!important;grid-template-columns:1fr!important}
  .authority .stat{display:block!important;max-width:100%!important;overflow:visible!important}
  .authority .stat strong{display:block!important;max-width:100%!important}
}

/* V4.7 — imagem do podcast / Comunicação e educação */
.podcast-authority{
  width:100%;
  display:block;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:56% 18%;
  border-radius:18px;
  margin:0 0 22px;
}
@media (max-width:700px){
  .podcast-authority{
    aspect-ratio:4/5;
    object-position:56% 15%;
    border-radius:16px;
    margin-bottom:18px;
  }
}

/* V4.9 — Projeto Farol */
.farol-authority{
  width:100%;
  display:block;
  height:auto;
  border-radius:18px;
  margin:0 0 22px;
}
@media (max-width:700px){
  .farol-authority{
    border-radius:16px;
    margin-bottom:18px;
  }
}
