
:root{
  --verde-profundo:#04342C;
  --verde-clinico:#0F6E56;
  --verde-restauro:#5DCAA5;
  --verde-nevoa:#E1F5EE;
  --areia:#F1EFE8;
  --tinta:#0B2B24;
  --tinta-suave:#4A5F58;
  --branco:#FFFFFF;
  --max:1120px;
  --radius:16px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Manrope',system-ui,sans-serif;color:var(--tinta);background:var(--branco);line-height:1.68;font-size:17px}
img{max-width:100%;display:block}
a{color:inherit}
::selection{background:var(--verde-restauro);color:var(--verde-profundo)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
.eyebrow{display:flex;align-items:center;gap:10px;font-size:12.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--verde-clinico)}
.eyebrow::before{content:"";width:22px;height:11px;border:2.5px solid var(--verde-restauro);border-bottom:none;border-radius:22px 22px 0 0}
.dark .eyebrow{color:var(--verde-restauro)}
h1,h2,h3{font-weight:800;letter-spacing:-.025em;line-height:1.08}
h1{font-size:clamp(2.6rem,6vw,4.6rem)}
h2{font-size:clamp(1.8rem,3.6vw,2.7rem);margin-top:18px}
h3{font-size:1.16rem;font-weight:700;letter-spacing:-.01em}
.lead{font-size:clamp(1.05rem,1.6vw,1.28rem);color:var(--tinta-suave);max-width:33em}
.dark .lead{color:#BCE0D2}
.btn{display:inline-flex;align-items:center;gap:.55em;font-weight:700;font-size:.98rem;padding:.95em 1.8em;border-radius:999px;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;cursor:pointer}
.btn:focus-visible{outline:3px solid var(--verde-restauro);outline-offset:3px}
.btn-primary{background:var(--verde-restauro);color:var(--verde-profundo)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(4,52,44,.3)}
.btn-dark{background:var(--verde-profundo);color:var(--branco)}
.btn-dark:hover{background:var(--verde-clinico);transform:translateY(-2px)}
.btn-ghost{border:1.5px solid rgba(255,255,255,.35);color:var(--branco)}
.btn-ghost:hover{background:rgba(255,255,255,.09)}
.btn-outline{border:1.5px solid var(--verde-clinico);color:var(--verde-clinico)}
.btn-outline:hover{background:var(--verde-nevoa)}
section{padding:110px 0}

/* ---------- NAV ---------- */
nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);transition:box-shadow .2s}
nav.scrolled{box-shadow:0 1px 0 rgba(4,52,44,.1),0 8px 28px rgba(4,52,44,.07)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:78px}
.nav-logo img{height:44px;width:auto}
.nav-links{display:flex;align-items:center;gap:34px;list-style:none}
.nav-links a{text-decoration:none;font-weight:600;font-size:.95rem;color:var(--tinta);transition:color .15s}
.nav-links a:hover{color:var(--verde-clinico)}
.nav-cta{background:var(--verde-profundo);color:var(--branco)!important;padding:.62em 1.4em;border-radius:999px}
.nav-cta:hover{background:var(--verde-clinico)}
.nav-burger{display:none;background:none;border:none;width:44px;height:44px;cursor:pointer;flex-direction:column;justify-content:center;gap:6px;align-items:center}
.nav-burger span{display:block;width:24px;height:2.5px;background:var(--verde-profundo);border-radius:2px;transition:transform .2s,opacity .2s}
@media(max-width:860px){
  .nav-burger{display:flex}
  .nav-links{position:fixed;inset:78px 0 auto 0;background:var(--branco);flex-direction:column;align-items:flex-start;gap:0;padding:10px 28px 26px;box-shadow:0 20px 40px rgba(4,52,44,.12);transform:translateY(-130%);transition:transform .25s ease}
  .nav-links.open{transform:none}
  .nav-links li{width:100%;border-bottom:1px solid rgba(4,52,44,.07)}
  .nav-links a{display:block;padding:16px 0}
  .nav-links .nav-cta{display:inline-block;margin-top:14px;padding:.62em 1.4em}
  .nav-links li:last-child{border-bottom:none}
  body.menu-open .nav-burger span:nth-child(1){transform:translateY(8.5px) rotate(45deg)}
  body.menu-open .nav-burger span:nth-child(2){opacity:0}
  body.menu-open .nav-burger span:nth-child(3){transform:translateY(-8.5px) rotate(-45deg)}
}

/* ---------- HERO ---------- */
.hero{background:var(--verde-profundo);color:var(--branco);padding:132px 0 140px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-220px;bottom:-260px;width:640px;height:640px;border-radius:50%;border:1.5px solid rgba(93,202,165,.14);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:56px;align-items:center;position:relative}
.hero .lead{margin:28px 0 44px}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap}
.arc-stage{display:flex;flex-direction:column;align-items:center;gap:18px}
.arc-stage svg{width:min(400px,74vw);height:auto}
.arc-dark,.arc-light{fill:none;stroke-linecap:round}
.arc-dark{stroke:#2E7D66;stroke-width:11}
.arc-light{stroke:var(--verde-restauro);stroke-width:11}
.arc-caption{font-size:.88rem;color:#8FBFAE;letter-spacing:.04em}
@media(prefers-reduced-motion:no-preference){
  .arc-dark{stroke-dasharray:336;stroke-dashoffset:336;animation:draw 1.6s .3s cubic-bezier(.4,0,.2,1) forwards}
  .arc-light{stroke-dasharray:92;stroke-dashoffset:92;animation:draw .9s 1.9s cubic-bezier(.4,0,.2,1) forwards}
  @keyframes draw{to{stroke-dashoffset:0}}
}
@media(max-width:860px){.hero{padding:80px 0 96px}.hero-grid{grid-template-columns:1fr}.arc-stage{order:-1}}

/* ---------- COMPROMISSOS ---------- */
.compromissos{background:var(--branco);padding-top:96px}
.comp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
.comp-card{background:var(--branco);border:1px solid rgba(4,52,44,.1);border-radius:var(--radius);padding:36px 30px;transition:transform .2s ease,box-shadow .2s ease}
.comp-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(4,52,44,.1)}
.comp-card .tag{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--verde-clinico);background:var(--verde-nevoa);padding:5px 12px;border-radius:999px;margin-bottom:18px}
.comp-card h3{color:var(--verde-profundo);margin-bottom:10px}
.comp-card p{font-size:.97rem;color:var(--tinta-suave)}
.comp-note{margin-top:26px;font-size:.9rem;color:var(--tinta-suave)}
@media(max-width:860px){.comp-grid{grid-template-columns:1fr}}

/* ---------- MANIFESTO ---------- */
.manifesto{background:var(--areia);padding:96px 0}
.manifesto blockquote{font-size:clamp(1.5rem,3.2vw,2.3rem);font-weight:700;letter-spacing:-.02em;line-height:1.3;color:var(--verde-profundo);max-width:21em}
.manifesto blockquote em{font-style:normal;color:var(--verde-clinico);border-bottom:4px solid var(--verde-restauro)}
.manifesto p{margin-top:26px;color:var(--tinta-suave);max-width:38em}

/* ---------- COMO FUNCIONA ---------- */
.passos{margin-top:60px;display:grid;gap:0}
.passo{display:grid;grid-template-columns:88px 1fr;gap:28px;padding:38px 0;border-bottom:1px solid rgba(4,52,44,.09)}
.passo:last-child{border-bottom:none}
.passo-ring{width:64px;height:64px;position:relative}
.passo-ring svg{width:64px;height:64px;transform:rotate(-90deg)}
.passo-ring circle{fill:none;stroke-width:3.5}
.passo-ring .trilha{stroke:rgba(15,110,86,.16)}
.passo-ring .anel{stroke:var(--verde-restauro);stroke-linecap:round;stroke-dasharray:176;stroke-dashoffset:176}
.passo.in .anel{transition:stroke-dashoffset 1.1s cubic-bezier(.4,0,.2,1) .15s;stroke-dashoffset:0}
@media(prefers-reduced-motion:reduce){.passo .anel{stroke-dashoffset:0;transition:none}}
.passo-ring b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.15rem;color:var(--verde-clinico)}
.passo h3{margin-bottom:6px;color:var(--verde-profundo)}
.passo p{color:var(--tinta-suave);max-width:46em}
@media(max-width:640px){.passo{grid-template-columns:64px 1fr;gap:18px}}

/* ---------- ENGENHARIA ---------- */
.engenharia{background:var(--branco);padding-top:0}
.eng-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.eng-visual{background:var(--verde-profundo);border-radius:var(--radius);padding:44px 40px;color:var(--branco)}
.eng-linha{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:.95rem}
.eng-linha:last-child{border-bottom:none}
.eng-linha b{color:var(--verde-restauro);font-size:1.02rem}
.eng-txt p{color:var(--tinta-suave);margin-top:18px;max-width:34em}
@media(max-width:860px){.eng-grid{grid-template-columns:1fr}}

/* ---------- RIGOR ---------- */
.rigor{background:var(--verde-profundo);color:var(--branco)}
.rigor-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.rigor-img{border-radius:var(--radius);overflow:hidden;position:relative}
.rigor-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,52,44,.05),rgba(4,52,44,.34))}
.rigor-img img{width:100%;height:100%;object-fit:cover}
.rigor-list{margin-top:38px;display:grid;gap:26px}
.rigor-item{display:grid;grid-template-columns:26px 1fr;gap:16px}
.rigor-item svg{margin-top:5px}
.rigor-item h3{color:var(--verde-nevoa);margin-bottom:4px}
.rigor-item p{color:#A9CFC1;font-size:.96rem}
@media(max-width:860px){.rigor-grid{grid-template-columns:1fr}}

/* ---------- FAQ ---------- */
.faq{background:var(--branco)}
.faq-list{margin-top:52px;display:grid;gap:14px;max-width:820px}
.faq details{border:1px solid rgba(4,52,44,.12);border-radius:var(--radius);background:var(--branco);overflow:hidden;transition:border-color .2s}
.faq details[open]{border-color:var(--verde-restauro)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 26px;font-weight:700;color:var(--verde-profundo);font-size:1.03rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;font-weight:600;color:var(--verde-clinico);transition:transform .2s;line-height:1}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .resp{padding:0 26px 24px;color:var(--tinta-suave);max-width:60ch}

/* ---------- MÉDICOS ---------- */
.medicos{background:var(--areia)}
.medicos-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.medicos-img{border-radius:var(--radius);overflow:hidden}
.medicos ul{margin:30px 0 38px;list-style:none;display:grid;gap:15px}
.medicos li{display:grid;grid-template-columns:22px 1fr;gap:12px;color:var(--tinta-suave)}
.medicos li svg{margin-top:6px}
@media(max-width:860px){.medicos-grid{grid-template-columns:1fr}}

/* ---------- CONTATO ---------- */
.contato{background:var(--verde-profundo);color:var(--branco);text-align:center;position:relative;overflow:hidden}
.contato::before{content:"";position:absolute;left:-180px;top:-200px;width:520px;height:520px;border-radius:50%;border:1.5px solid rgba(93,202,165,.14)}
.contato .lead{margin:24px auto 46px}
.contato-ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;position:relative}

/* ---------- FOOTER ---------- */
footer{background:#022420;color:#A9CFC1;padding:64px 0 42px;font-size:.92rem}
.foot-grid{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap}
.foot-logo img{height:52px;width:auto;margin-bottom:14px}
.foot-links{display:flex;gap:28px;list-style:none;flex-wrap:wrap}
.foot-links a{text-decoration:none}
.foot-links a:hover{color:var(--verde-restauro)}
.foot-base{margin-top:46px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.84rem;color:#6E9C8C}

/* ---------- REVEAL ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ---------- FORK (home: hospital x anestesiologista) ---------- */
.fork{background:var(--areia);padding:64px 0}
.fork-inner{text-align:center}
.fork-inner>.eyebrow{justify-content:center;margin:0 auto}
.fork-inner h2{font-size:clamp(1.5rem,2.8vw,2rem);margin-top:10px}
.fork-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}
.fork-card{background:var(--branco);border:1px solid rgba(4,52,44,.1);border-radius:var(--radius);padding:34px 32px;text-align:left;display:flex;flex-direction:column;gap:14px;transition:transform .2s ease,box-shadow .2s ease}
.fork-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(4,52,44,.1)}
.fork-card .tag{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--verde-clinico);background:var(--verde-nevoa);padding:5px 12px;border-radius:999px;width:fit-content}
.fork-card h3{color:var(--verde-profundo);font-size:1.35rem}
.fork-card p{color:var(--tinta-suave);font-size:.97rem}
.fork-card .btn{margin-top:8px;width:fit-content}
@media(max-width:860px){.fork-grid{grid-template-columns:1fr}}

/* ---------- VAGAS (landing /medicos) ---------- */
.vagas{background:var(--branco)}
.vagas-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:48px}
.vaga-card{border:1px solid rgba(4,52,44,.1);border-radius:var(--radius);padding:32px;transition:transform .2s ease,box-shadow .2s ease}
.vaga-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(4,52,44,.1)}
.vaga-card .tag{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--verde-clinico);background:var(--verde-nevoa);padding:5px 12px;border-radius:999px;margin-bottom:16px}
.vaga-card h3{color:var(--verde-profundo);margin-bottom:6px}
.vaga-card .local{color:var(--tinta-suave);font-size:.92rem;margin-bottom:18px}
.vaga-card .pacotes{display:grid;gap:8px;margin-bottom:22px}
.vaga-card .pacote-linha{display:flex;justify-content:space-between;font-size:.92rem;padding:10px 0;border-top:1px solid rgba(4,52,44,.08)}
.vaga-card .pacote-linha b{color:var(--verde-clinico)}
.vaga-em-breve{border:1.5px dashed rgba(4,52,44,.18);border-radius:var(--radius);padding:32px;display:flex;align-items:center;justify-content:center;color:var(--tinta-suave);font-size:.95rem;text-align:center}
@media(max-width:860px){.vagas-grid{grid-template-columns:1fr}}

/* ---------- PACOTE (landing /itamed) ---------- */
.pacote-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:48px}
.pacote-card{background:var(--verde-clinico);color:var(--branco);border-radius:var(--radius);padding:36px}
.pacote-card .opcao{font-size:1.1rem;font-weight:700;margin-bottom:4px}
.pacote-card .valor{font-size:2.1rem;font-weight:800;color:var(--verde-restauro);margin-bottom:20px}
.pacote-card ul{list-style:none;display:grid;gap:12px;margin-bottom:20px}
.pacote-card li{font-size:.9rem;color:#D9EEE5;padding-left:18px;position:relative}
.pacote-card li::before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:50%;background:var(--verde-restauro)}
.pacote-card hr{border:none;border-top:1px solid rgba(255,255,255,.22);margin-bottom:12px}
.pacote-card .obs{font-size:.8rem;font-style:italic;color:#BCE0D2}
@media(max-width:860px){.pacote-cards{grid-template-columns:1fr}}

/* ---------- MINI NAV (landings de vaga) ---------- */
.mini-nav{background:var(--verde-profundo);padding:20px 0}
.mini-nav .wrap{display:flex;align-items:center;justify-content:space-between}
.mini-nav img{height:34px}
.mini-nav a.voltar{color:var(--verde-restauro);text-decoration:none;font-size:.9rem;font-weight:600}

/* ---------- BLOG BANNER ---------- */
.blog-banner-card{background:var(--verde-profundo);border-radius:var(--radius);padding:48px 52px;display:flex;align-items:center;justify-content:space-between;gap:32px;color:var(--branco)}
.blog-banner-card h2{color:var(--branco)}
.blog-banner-card p{color:#BCE0D2;margin-top:14px;max-width:34em}
.blog-banner-card .eyebrow{color:var(--verde-restauro)}
.blog-banner-card .btn{flex-shrink:0}
@media(max-width:860px){.blog-banner-card{flex-direction:column;align-items:flex-start;padding:36px 28px}}

/* ---------- CADASTRO (landing /medicos — formulário de duas trilhas, dentro de .contato) ---------- */
.trilhas{display:flex;justify-content:center;gap:12px;margin:40px 0 0;flex-wrap:wrap;position:relative}
.trilha-btn{font-family:inherit;font-weight:700;font-size:.95rem;padding:.85em 1.6em;border-radius:999px;border:1.5px solid rgba(255,255,255,.35);background:transparent;color:var(--branco);cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}
.trilha-btn:hover{border-color:var(--verde-restauro)}
.trilha-btn.active{background:var(--verde-restauro);border-color:var(--verde-restauro);color:var(--verde-profundo)}
.form-cadastro{max-width:760px;margin:36px auto 0;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:44px;position:relative}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;text-align:left}
.campo{display:flex;flex-direction:column;gap:8px}
.campo[hidden]{display:none}
.campo label{font-size:.88rem;font-weight:600;color:#BCE0D2}
.campo input{font-family:inherit;font-size:.98rem;padding:.85em 1em;border-radius:10px;border:1.5px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:var(--branco);width:100%}
.campo input::placeholder{color:#7FA898}
.campo input:focus{outline:none;border-color:var(--verde-restauro);background:rgba(255,255,255,.09)}
.campo input.campo-invalido{border-color:#F08A6C}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lgpd{display:flex;gap:12px;align-items:flex-start;text-align:left;margin:28px 0 0;font-size:.86rem;color:#A9CFC1;cursor:pointer}
.lgpd input{margin-top:4px;flex-shrink:0}
.form-cadastro .btn{width:100%;justify-content:center;margin-top:26px;border:none}
.form-cadastro .btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.form-msg{margin-top:16px;font-size:.92rem;text-align:center;min-height:1.4em}
.form-msg.ok{color:var(--verde-restauro);font-weight:600}
.form-msg.erro{color:#F08A6C;font-weight:600}
@media(max-width:640px){.form-grid{grid-template-columns:1fr}.form-cadastro{padding:30px 22px}.trilhas{flex-direction:column;align-items:stretch}.trilha-btn{text-align:center}}
