:root{
  --azul-profundo:#081D52;
  --azul:#0D2D7E;
  --azul-vivo:#1A54D6;
  --verde:#279E27;
  --verde-vivo:#4CC94C;
  --off-white:#F6F7FA;
  --branco:#FFFFFF;
  --tinta:#0F1626;
  --tinta-suave:#4A5265;
  --linha:#E3E6EE;
  --sombra:0 20px 60px -20px rgba(8,29,82,0.25);
  --radius:18px;
  --font-display:'Manrope', 'Segoe UI', system-ui, sans-serif;
  --font-body:'Montserrat', 'Segoe UI', system-ui, sans-serif;
  --wa:"https://wa.me/5531983064169";
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; scroll-padding-top:84px; }
body{
  font-family:var(--font-body);
  color:var(--tinta);
  background:var(--off-white);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
a:focus-visible, button:focus-visible{ outline:2px solid var(--azul-vivo); outline-offset:3px; border-radius:6px; }
.container{ max-width:1180px; margin:0 auto; padding:0 32px; }
@media (max-width:640px){ .container{ padding:0 20px; } }

h1,h2,h3{
  font-family:var(--font-display);
  color:var(--azul-profundo);
  line-height:1.12;
  letter-spacing:-0.02em;
}
.grad-text{
  background:linear-gradient(135deg, var(--verde-vivo) 0%, var(--verde) 36%, var(--azul) 74%, var(--azul-profundo) 100%);
  -webkit-background-clip:text; background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent;
}
.label{
  font-family:var(--font-display);
  font-weight:700; font-size:14px;
  color:var(--verde);
  display:inline-flex; align-items:center; gap:10px;
}
.label::before{ content:""; width:22px; height:2px; background:var(--verde); }

/* Botões */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:15px 26px; border-radius:11px;
  font-weight:700; font-size:15.5px;
  border:1.5px solid transparent;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
  white-space:nowrap;
}
.btn:hover{ transform:translateY(-2px); }
.btn svg{ width:18px; height:18px; flex-shrink:0; }
.btn-primary{
  background:linear-gradient(135deg, var(--verde-vivo), var(--verde));
  color:#fff;
  box-shadow:0 14px 30px -10px rgba(39,158,39,0.55);
}
.btn-outline{ color:var(--azul); border-color:var(--azul); background:transparent; }
.btn-outline:hover{ background:var(--azul); color:#fff; }
.btn-light{ color:#fff; border-color:rgba(255,255,255,0.4); }
.btn-light:hover{ background:rgba(255,255,255,0.1); border-color:#fff; }
.link-more{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-display); font-weight:700; font-size:15px;
  color:var(--azul); border-bottom:2px solid var(--verde-vivo); padding-bottom:3px;
}
.link-more:hover{ color:var(--verde); }

/* Cabeçalho */
header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  padding-top:env(safe-area-inset-top, 0px);
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--linha);
  box-shadow:0 4px 20px -12px rgba(8,29,82,0.12);
}
.nav{ display:flex; align-items:center; justify-content:space-between; gap:24px; padding:14px 32px; max-width:1180px; margin:0 auto; }
.nav-logo{ display:flex; align-items:center; gap:12px; }
.nav-logo img{ height:40px; width:auto; }
.nav-logo-text{ display:flex; flex-direction:column; line-height:1.25; }
.nav-logo-text b{ font-family:var(--font-display); font-weight:800; color:var(--azul-profundo); font-size:15.5px; letter-spacing:0.01em; }
.nav-logo-text span{ font-size:11.5px; color:var(--tinta-suave); font-weight:500; }
.nav-right{ display:flex; align-items:center; gap:28px; }
.nav-links{ display:flex; gap:24px; font-size:14.5px; font-weight:600; }
.nav-links a{ padding:6px 0; position:relative; transition:color .15s ease; }
.nav-links a::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:2px; border-radius:2px; background:var(--azul); transform:scaleX(0); transition:transform .2s ease; }
.nav-links a:hover{ color:var(--azul); }
.nav-links a:hover::after{ transform:scaleX(1); }
.nav-cta{ padding:10px 18px; font-size:14px; border-radius:10px; }
.nav-toggle{
  display:none; width:40px; height:40px; align-items:center; justify-content:center;
  border:1.5px solid var(--linha); border-radius:10px; background:#fff; cursor:pointer;
}
.nav-toggle svg{ width:20px; height:20px; stroke:var(--azul-profundo); }
.nav-toggle .i-close{ display:none; }
.nav-toggle[aria-expanded="true"] .i-close{ display:block; }
.nav-toggle[aria-expanded="true"] .i-open{ display:none; }
@media (max-width:1180px){
  .nav{ padding:12px 20px; }
  .nav-toggle{ display:inline-flex; }
  .nav-right .nav-cta{ display:none; }
  .nav-links{
    display:none; position:absolute; top:100%; left:0; right:0;
    flex-direction:column; gap:0; background:#fff;
    border-bottom:1px solid var(--linha); padding:8px 20px 20px;
    box-shadow:0 20px 30px -20px rgba(8,29,82,0.25);
  }
  .nav-links.open{ display:flex; }
  .nav-links a{ padding:14px 0; border-bottom:1px solid var(--linha); font-size:16px; }
  .nav-links a::after{ display:none; }
  .nav-links .mobile-cta{ display:inline-flex; margin-top:16px; border-bottom:none; justify-content:center; color:#fff; }
}
@media (min-width:1181px){ .nav-links .mobile-cta{ display:none; } }

/* Hero */
.hero{ position:relative; overflow:hidden; padding:160px 0 96px; }
.hero::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(13,45,126,0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(13,45,126,0.045) 1px, transparent 1px);
  background-size:40px 40px;
  -webkit-mask-image:linear-gradient(180deg, #000 0%, transparent 80%);
  mask-image:linear-gradient(180deg, #000 0%, transparent 80%);
}
.watermark{ position:absolute; pointer-events:none; user-select:none; z-index:1; opacity:0.08; }
.hero .watermark{ width:1050px; max-width:120vw; top:-160px; right:-380px; transform:rotate(6deg); }
.hero-grid{ position:relative; z-index:2; display:grid; grid-template-columns:1.15fr 1fr; gap:56px; align-items:center; }
.hero h1{ font-size:clamp(38px, 5.2vw, 64px); font-weight:800; margin:18px 0 22px; max-width:12ch; }
.hero .sub{ font-size:clamp(17px, 1.5vw, 19px); color:var(--tinta-suave); max-width:36em; }
.hero-ctas{ display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
.hero-stats{ display:flex; gap:44px; margin-top:52px; padding-top:28px; border-top:1px solid var(--linha); }
.hero-stats b{ display:block; font-family:var(--font-display); font-size:30px; font-weight:800; color:var(--azul-profundo); line-height:1.1; }
.hero-stats span{ font-size:14px; color:var(--tinta-suave); }
@media (max-width:980px){
  .hero{ padding:128px 0 72px; }
  .hero-grid{ grid-template-columns:1fr; gap:48px; }
  .hero h1{ max-width:16ch; }
}
@media (max-width:480px){ .hero-stats{ gap:28px; flex-wrap:wrap; } .hero-ctas .btn{ width:100%; justify-content:center; } }

/* Seções */
.section{ padding:104px 0; position:relative; }
.section-white{ background:var(--branco); border-top:1px solid var(--linha); border-bottom:1px solid var(--linha); }
.section h2{ font-size:clamp(30px, 3.6vw, 44px); font-weight:800; margin-top:14px; }
.lead{ font-size:17.5px; color:var(--tinta-suave); margin-top:18px; max-width:38em; }
@media (max-width:640px){ .section{ padding:72px 0; } }

/* Capacitação */
@media (min-width:901px){ #capacitacao .photo{ position:sticky; top:110px; } }
.photo{ position:relative; border-radius:var(--radius); overflow:hidden; box-shadow:var(--sombra); }
.photo img{ width:100%; aspect-ratio:4/3.4; object-fit:cover; }
.photo figcaption{
  position:absolute; left:16px; bottom:16px; right:16px;
  background:rgba(8,29,82,0.86); color:#fff; font-size:13px; font-weight:500;
  padding:10px 14px; border-radius:10px; backdrop-filter:blur(6px);
}
.fronts{ list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:0 28px; margin-top:8px; }
.fronts li{ padding:13px 0 13px 22px; border-bottom:1px solid var(--linha); font-weight:600; font-size:15px; color:var(--azul-profundo); position:relative; }
.fronts li::before{ content:""; position:absolute; left:0; top:22px; width:10px; height:2px; background:var(--verde); }
.sub-h{ font-family:var(--font-display); font-weight:700; font-size:16px; margin-top:32px; color:var(--tinta); }
.course-links{ list-style:none; display:flex; flex-direction:column; gap:10px; margin-top:12px; }
.course-links a{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:14px 18px; border:1px solid var(--linha); border-radius:12px; background:var(--off-white);
  transition:border-color .15s ease, background .15s ease;
}
.course-links a:hover{ border-color:var(--verde); background:#fff; }
.course-links b{ display:block; font-family:var(--font-display); font-size:15.5px; color:var(--azul-profundo); }
.course-links small{ font-size:13px; color:var(--tinta-suave); }
.course-links svg{ width:20px; height:20px; stroke:var(--verde); flex-shrink:0; }
@media (max-width:560px){ .fronts{ grid-template-columns:1fr; } }

/* Rodapé */
footer{ background:#050F33; border-top:1px solid rgba(255,255,255,0.08); color:rgba(255,255,255,0.8); padding:56px 0 calc(28px + env(safe-area-inset-bottom, 0px)); }
.footer-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,0.12); }
.footer-brand{ display:flex; gap:14px; align-items:flex-start; }
.footer-brand img{ width:44px; height:auto; }
.footer-brand b{ font-family:var(--font-display); color:#fff; font-size:17px; }
.footer-brand p{ font-size:14px; margin-top:6px; max-width:32ch; }
footer h4{ font-family:var(--font-display); color:#fff; font-size:14px; margin-bottom:14px; }
footer ul{ list-style:none; display:flex; flex-direction:column; gap:10px; font-size:14px; }
footer ul a:hover{ color:var(--verde-vivo); }
.footer-bottom{ padding-top:24px; font-size:13px; color:rgba(255,255,255,0.55); }
@media (max-width:760px){ .footer-top{ grid-template-columns:1fr; gap:28px; } }

/* WhatsApp flutuante */
.wa-float{
  position:fixed; right:22px; bottom:calc(22px + env(safe-area-inset-bottom, 0px)); z-index:120;
  width:58px; height:58px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:#25D366; box-shadow:0 12px 28px -8px rgba(8,29,82,0.45);
  transition:transform .2s ease;
}
.wa-float svg{ width:30px; height:30px; fill:#fff; }
.wa-float:hover{ transform:translateY(-3px); }
.wa-float-label{
  position:absolute; right:70px; white-space:nowrap;
  background:var(--azul-profundo); color:#fff; font-size:13px; font-weight:600;
  padding:8px 12px; border-radius:8px; pointer-events:none;
  opacity:0; transform:translateX(6px); transition:opacity .2s ease, transform .2s ease;
}
.wa-float:hover .wa-float-label, .wa-float:focus-visible .wa-float-label{ opacity:1; transform:none; }
@media (max-width:640px){ .wa-float{ right:16px; width:54px; height:54px; } .wa-float-label{ display:none; } }
@media print{ .wa-float, header{ display:none; } }

@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } .btn:hover{ transform:none; } }
.btn-outline svg, .btn-primary svg{ fill:currentColor; }
.section-dark{ background:var(--azul-profundo); color:#fff; overflow:hidden; }
.section-dark::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(900px 500px at 90% 0%, rgba(26,84,214,0.35), transparent 60%),
             radial-gradient(700px 400px at 0% 100%, rgba(39,158,39,0.18), transparent 60%);
}
.section-dark .container{ position:relative; z-index:1; }
.section-dark h2{ color:#fff; }
.section-dark .label{ color:var(--verde-vivo); }
.section-dark .label::before{ background:var(--verde-vivo); }
.section-dark .lead{ color:rgba(255,255,255,0.78); }

/* Hero do curso */
.crumbs{ font-size:13px; color:var(--tinta-suave); display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; }
.crumbs a{ color:var(--azul); font-weight:600; }
.crumbs a:hover{ text-decoration:underline; }
.hero h1{ max-width:16ch; font-size:clamp(34px, 4.4vw, 54px); }
.tools{ display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.tool-chip{ display:inline-flex; align-items:center; gap:9px; background:#fff; border:1px solid var(--linha); border-radius:999px; padding:7px 14px 7px 9px; font-size:13.5px; }
.tool-chip img, .tool-chip svg{ width:22px; height:22px; }
.tool-chip b{ color:var(--azul-profundo); font-weight:700; }
.ficha{ background:#fff; border:1px solid var(--linha); border-radius:var(--radius); box-shadow:var(--sombra); overflow:hidden; }
.ficha-head{ display:flex; justify-content:space-between; align-items:center; gap:12px; padding:18px 22px; background:var(--azul-profundo); color:#fff; flex-wrap:wrap; }
.ficha-head b{ font-family:var(--font-display); font-size:16px; }
.status{ display:inline-flex; align-items:center; gap:8px; font-size:12.5px; font-weight:700; padding:5px 12px; border-radius:999px; }
.status::before{ content:""; width:7px; height:7px; border-radius:50%; }
.status.ok{ background:rgba(76,201,76,0.16); color:#1E7F1E; }
.status.ok::before{ background:var(--verde-vivo); }
.status.soon{ background:rgba(26,84,214,0.12); color:var(--azul); }
.status.soon::before{ background:var(--azul-vivo); }
.ficha-head .status.ok{ color:var(--verde-vivo); }
.ficha-head .status.soon{ color:#9DC1FF; background:rgba(157,193,255,0.14); }
.ficha-body{ padding:6px 22px; }
.ficha-row{ display:flex; justify-content:space-between; gap:16px; padding:16px 0; border-bottom:1px solid var(--linha); }
.ficha-row:last-child{ border-bottom:none; }
.ficha-row span{ font-size:14px; color:var(--tinta-suave); }
.ficha-row b{ font-family:var(--font-display); color:var(--azul-profundo); font-size:15.5px; text-align:right; }
.ficha-foot{ display:block; padding:14px 22px; background:var(--off-white); border-top:1px solid var(--linha); font-size:14px; font-weight:700; color:var(--azul); }
.ficha-foot:hover{ color:var(--verde); }

/* Fatos */
.facts{ display:grid; grid-template-columns:repeat(4,1fr); border-top:3px solid var(--azul-profundo); }
.fact{ padding:28px 26px 8px 0; }
.fact + .fact{ padding-left:26px; border-left:1px solid var(--linha); }
.fact h3{ font-size:18px; margin-bottom:12px; }
.fact p{ color:var(--tinta-suave); font-size:15px; }
.fact-list{ list-style:none; display:flex; flex-direction:column; gap:10px; }
.fact-list li{ position:relative; padding-left:18px; font-size:15px; color:var(--tinta); }
.fact-list li::before{ content:""; position:absolute; left:0; top:11px; width:9px; height:2px; background:var(--verde); }
@media (max-width:980px){
  .facts{ grid-template-columns:1fr 1fr; }
  .fact:nth-child(3){ padding-left:0; border-left:none; }
}
@media (max-width:560px){
  .facts{ grid-template-columns:1fr; }
  .fact, .fact + .fact{ padding:24px 0 20px; border-left:none; border-bottom:1px solid var(--linha); }
}

/* Recursos (seção escura) */
.feat-title{ font-size:clamp(28px, 3.2vw, 40px); max-width:22ch; margin-top:14px; }
.feats{ display:grid; gap:0; margin-top:52px; border-top:1px solid rgba(255,255,255,0.14); }
.feats.n4{ grid-template-columns:repeat(4,1fr); }
.feats.n3{ grid-template-columns:repeat(3,1fr); }
.feat{ padding:30px 26px 10px 0; }
.feat + .feat{ padding-left:26px; border-left:1px solid rgba(255,255,255,0.14); }
.feat-ic svg{ width:26px; height:26px; stroke:var(--verde-vivo); }
.feat h3{ color:#fff; font-size:18px; margin:16px 0 10px; }
.feat p{ font-size:14.5px; color:rgba(255,255,255,0.75); }
.feat ul{ list-style:none; margin-top:14px; display:flex; flex-direction:column; gap:8px; }
.feat li{ font-size:14px; color:#fff; padding-left:16px; position:relative; }
.feat li::before{ content:""; position:absolute; left:0; top:10px; width:8px; height:2px; background:var(--verde-vivo); }
@media (max-width:980px){
  .feats.n4, .feats.n3{ grid-template-columns:1fr 1fr; }
  .feat, .feat + .feat{ padding:26px 18px 22px 0; border-left:none; border-bottom:1px solid rgba(255,255,255,0.14); }
  .feat:nth-child(even){ padding-left:18px; border-left:1px solid rgba(255,255,255,0.14); }
}
@media (max-width:560px){
  .feats.n4, .feats.n3{ grid-template-columns:1fr; }
  .feat:nth-child(even){ padding-left:0; border-left:none; }
}

/* Conteúdo e FAQ */
.content-grid{ display:grid; grid-template-columns:0.8fr 1.2fr; gap:64px; align-items:start; }
.content-intro{ position:sticky; top:110px; }
.content-intro .btn{ margin-top:28px; }
@media (max-width:900px){ .content-grid{ grid-template-columns:1fr; gap:36px; } .content-intro{ position:static; } }
.mods{ display:flex; flex-direction:column; gap:12px; }
.mod, .qa{ background:#fff; border:1px solid var(--linha); border-radius:14px; }
.mod[open], .qa[open]{ border-color:var(--azul); box-shadow:0 12px 30px -18px rgba(8,29,82,0.35); }
.mod summary, .qa summary{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:16px; padding:20px 22px; }
.mod summary::-webkit-details-marker, .qa summary::-webkit-details-marker{ display:none; }
.mod summary:focus-visible, .qa summary:focus-visible{ outline:2px solid var(--azul-vivo); outline-offset:2px; border-radius:14px; }
.mod-n{ flex-shrink:0; font-size:12.5px; font-weight:700; color:var(--verde); background:rgba(76,201,76,0.12); border-radius:8px; padding:5px 10px; }
.mod-t{ font-family:var(--font-display); font-weight:700; font-size:16.5px; color:var(--azul-profundo); flex:1; line-height:1.3; }
.qa summary{ font-family:var(--font-display); font-weight:700; font-size:16px; color:var(--azul-profundo); justify-content:space-between; }
.mod-x{ width:28px; height:28px; border-radius:50%; border:1.5px solid var(--linha); flex-shrink:0; position:relative; margin-left:auto; }
.mod-x::before, .mod-x::after{ content:""; position:absolute; left:50%; top:50%; width:11px; height:2px; margin:-1px 0 0 -5.5px; background:var(--azul); border-radius:2px; transition:transform .2s ease; }
.mod-x::after{ transform:rotate(90deg); }
details[open] .mod-x::after{ transform:rotate(0); }
.mod-body{ padding:0 22px 22px; }
.mod-body p, .qa p{ color:var(--tinta-suave); font-size:15px; }
.qa p{ padding:0 22px 22px; }
.mod-body ul{ list-style:none; display:grid; gap:8px; }
.mod-body li{ position:relative; padding-left:18px; font-size:15px; }
.mod-body li::before{ content:""; position:absolute; left:0; top:11px; width:9px; height:2px; background:var(--verde); }
@media (max-width:480px){ .mod summary{ flex-wrap:wrap; gap:10px 12px; } .mod-t{ flex-basis:calc(100% - 44px); order:3; } .mod-n{ order:1; } .mod-x{ order:2; } }

/* Espaço */
.space{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
@media (max-width:900px){ .space{ grid-template-columns:1fr; gap:36px; } }
.photo{ border-radius:var(--radius); overflow:hidden; box-shadow:var(--sombra); }
.photo img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.addr{ display:flex; gap:10px; align-items:flex-start; margin-top:24px; padding:16px 18px; background:var(--off-white); border:1px solid var(--linha); border-radius:12px; font-weight:600; font-size:14.5px; color:var(--azul-profundo); }
.addr svg{ width:20px; height:20px; stroke:var(--verde); flex-shrink:0; margin-top:1px; }
.space-note{ margin-top:22px; padding-left:18px; border-left:3px solid var(--verde-vivo); font-size:15px; color:var(--tinta); }

/* Inscrição */
.signup{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
@media (max-width:900px){ .signup{ grid-template-columns:1fr; gap:40px; } }
.signup h2{ margin-top:14px; }
.turma-card{ margin-top:30px; border:1px solid rgba(255,255,255,0.18); border-radius:var(--radius); padding:22px; background:rgba(255,255,255,0.04); }
.turma-card .status.ok{ color:var(--verde-vivo); }
.turma-card .status.soon{ color:#9DC1FF; background:rgba(157,193,255,0.14); }
.turma-rows .ficha-row{ border-color:rgba(255,255,255,0.14); padding:12px 0; }
.turma-rows .ficha-row span{ color:rgba(255,255,255,0.7); }
.turma-rows .ficha-row b{ color:#fff; }
.turma-card > p{ font-size:14px; color:rgba(255,255,255,0.75); margin-top:12px; }
.incompany{ margin-top:20px; font-size:14.5px; color:rgba(255,255,255,0.8); }
.incompany b{ color:#fff; }
.form{ background:#fff; color:var(--tinta); border-radius:var(--radius); padding:32px; box-shadow:0 30px 60px -30px rgba(0,0,0,0.5); display:flex; flex-direction:column; }
.form label{ font-weight:600; font-size:14px; color:var(--azul-profundo); margin:16px 0 6px; }
.form label:first-child{ margin-top:0; }
.form input, .form select{
  font:inherit; font-size:15.5px; padding:13px 14px; border:1.5px solid var(--linha); border-radius:10px; background:var(--off-white); color:var(--tinta);
}
.form input:focus, .form select:focus{ outline:none; border-color:var(--azul-vivo); background:#fff; box-shadow:0 0 0 3px rgba(26,84,214,0.15); }
.form input[aria-invalid="true"]{ border-color:#C62828; }
.form-error{ margin-top:14px; font-size:14px; color:#C62828; font-weight:600; }
.form .btn{ margin-top:22px; justify-content:center; border:none; cursor:pointer; font-family:inherit; }
.form-note{ margin-top:12px; font-size:12.5px; color:var(--tinta-suave); text-align:center; }
@media (max-width:560px){ .form{ padding:24px 20px; } }
.signup > *, .content-grid > *, .space > *, .hero-grid > *{ min-width:0; }
.form input, .form select{ width:100%; max-width:100%; }
.mod-d{ flex-shrink:0; font-size:13px; font-weight:600; color:var(--tinta-suave); }
@media (max-width:480px){ .mod-d{ order:2; margin-left:auto; } .mod-x{ order:2; margin-left:0; } }
.amenities{ list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.amenities li{ font-size:13.5px; font-weight:600; color:var(--azul-profundo); background:var(--off-white); border:1px solid var(--linha); border-radius:999px; padding:6px 14px; }
.section-white .amenities li{ background:var(--off-white); }
.section:not(.section-white) .amenities li{ background:#fff; }
.instr{ display:grid; grid-template-columns:340px 1fr; gap:64px; align-items:center; }
.instr-card{ background:var(--azul-profundo); color:#fff; border-radius:var(--radius); padding:36px 30px; display:flex; flex-direction:column; gap:6px; box-shadow:var(--sombra); position:relative; overflow:hidden; }
.instr-card::after{ content:""; position:absolute; right:-40px; bottom:-40px; width:180px; height:180px; border-radius:50%; background:radial-gradient(circle, rgba(76,201,76,0.35), transparent 70%); }
.instr-ini{ width:84px; height:84px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-size:30px; font-weight:800; background:linear-gradient(135deg, var(--verde-vivo), var(--azul-vivo)); margin-bottom:18px; }
.instr-card b{ font-family:var(--font-display); font-size:22px; }
.instr-card > span:last-child{ color:rgba(255,255,255,0.75); font-size:14px; }
@media (max-width:900px){ .instr{ grid-template-columns:1fr; gap:32px; } .instr-card{ max-width:360px; } }
.emp-head{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:end; }
.emp-head .lead{ margin-top:0; }
.emp-head .btn{ margin-top:24px; }
.emp-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:0 40px; margin-top:52px; border-top:1px solid var(--linha); }
.emp-item{ display:grid; grid-template-columns:24px 1fr; gap:14px; padding:24px 0; border-bottom:1px solid var(--linha); }
.emp-item svg{ width:22px; height:22px; margin-top:2px; }
.emp-item b{ font-family:var(--font-display); color:var(--azul-profundo); font-size:16px; }
.emp-item p{ font-size:14.5px; color:var(--tinta-suave); margin-top:4px; }
@media (max-width:900px){ .emp-head{ grid-template-columns:1fr; gap:20px; } .emp-grid{ grid-template-columns:1fr 1fr; gap:0 28px; } }
@media (max-width:560px){ .emp-grid{ grid-template-columns:1fr; } }

.emp-head > *, .instr > *{ min-width:0; }
@media (max-width:560px){ .btn{ white-space:normal; text-align:center; justify-content:center; } }

/* ===== Visuais dinâmicos do hero ===== */
@keyframes bar-grow{ from{ transform:scaleX(0); } to{ transform:scaleX(1); } }
@keyframes diamond{ to{ transform:rotate(45deg) scale(1); } }
@keyframes fade{ to{ opacity:1; } }
.viz{ background:#fff; border:1px solid var(--linha); border-radius:var(--radius); box-shadow:var(--sombra); overflow:hidden; margin:0; }
.viz-head{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:16px 22px; background:var(--azul-profundo); color:#fff; flex-wrap:wrap; }
.viz-head b{ font-family:var(--font-display); font-size:15.5px; }
.viz-head span{ font-size:12px; color:rgba(255,255,255,0.65); }
.viz-body{ padding:18px 22px; position:relative; }
.viz-foot{ display:block; padding:13px 22px; background:var(--off-white); border-top:1px solid var(--linha); font-size:14px; font-weight:700; color:var(--azul); }
.viz-foot:hover{ color:var(--verde); }
.viz-legend{ display:flex; flex-wrap:wrap; gap:16px; margin-top:14px; font-size:12.5px; color:var(--tinta-suave); }
.viz-legend i{ display:inline-block; width:14px; height:8px; border-radius:3px; margin-right:6px; vertical-align:1px; }
.lg-crit{ background:#D64545; } .lg-base{ background:#C9D3EA; height:4px !important; } .lg-ms{ background:var(--verde); width:9px !important; height:9px !important; transform:rotate(45deg); border-radius:1px !important; }
.lg-plan{ background:var(--azul); height:3px !important; } .lg-real{ background:var(--verde); height:3px !important; }

/* Gantt */
.g-weeks{ display:grid; grid-template-columns:30px 136px 1fr; margin-bottom:6px; }
.g-weeks div{ display:grid; grid-template-columns:repeat(8,1fr); font-size:11px; font-weight:600; color:var(--tinta-suave); }
.g-weeks div span{ border-left:1px solid var(--linha); padding-left:4px; }
.g-row{ display:grid; grid-template-columns:30px 136px 1fr; align-items:center; min-height:34px; border-top:1px solid var(--linha); }
.g-code{ font-size:11.5px; font-weight:700; color:var(--tinta-suave); }
.g-name{ font-size:13px; font-weight:600; color:var(--azul-profundo); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; padding-right:8px; }
.g-row:first-of-type .g-name{ font-weight:800; }
.g-track{ position:relative; height:34px; background-image:linear-gradient(90deg,var(--linha) 1px,transparent 1px); background-size:12.5% 100%; }
.g-bar{ position:absolute; top:10px; height:12px; border-radius:4px; background:linear-gradient(90deg,#4C7ACB,var(--azul-vivo)); transform-origin:left; animation:bar-grow .8s cubic-bezier(.2,.7,.2,1) var(--d) both; }
.g-bar.sum{ top:13px; height:7px; border-radius:2px; background:var(--azul-profundo); }
.g-bar.crit{ background:linear-gradient(90deg,#E57373,#D64545); }
.g-base{ position:absolute; top:24px; height:4px; border-radius:2px; background:#C9D3EA; }
.g-ms{ position:absolute; top:10px; width:13px; height:13px; margin-left:-6px; background:var(--verde); transform:rotate(45deg) scale(0); animation:diamond .5s cubic-bezier(.3,1.6,.5,1) 1.3s forwards; }
.g-today{ position:absolute; top:40px; bottom:52px; left:calc(22px + 166px + (100% - 44px - 166px) * 0.58); border-left:2px dashed rgba(214,69,69,0.55); }

/* Kanban */
.k-sprint{ display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; margin-bottom:14px; font-size:13px; font-weight:700; color:var(--azul-profundo); }
.k-prog{ height:8px; border-radius:99px; background:var(--off-white); overflow:hidden; border:1px solid var(--linha); }
.k-prog i{ display:block; height:100%; width:68%; border-radius:99px; background:linear-gradient(90deg,var(--verde-vivo),var(--verde)); transform-origin:left; animation:bar-grow 1.2s ease .3s both; }
.k-pct{ font-family:var(--font-display); color:var(--verde); }
.k-board{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.k-col{ background:var(--off-white); border:1px solid var(--linha); border-radius:12px; padding:10px; min-height:196px; display:flex; flex-direction:column; gap:8px; }
.k-col p{ font-size:12px; font-weight:800; color:var(--tinta-suave); margin:0 0 2px; font-family:var(--font-display); }
.k-card{ position:relative; background:#fff; border:1px solid var(--linha); border-radius:9px; padding:9px 9px 26px; box-shadow:0 4px 10px -8px rgba(8,29,82,0.4); animation:k-in .45s ease both; }
.k-card i{ display:block; width:28px; height:4px; border-radius:2px; margin-bottom:6px; }
.k-card b{ display:block; font-size:12px; line-height:1.3; color:var(--tinta); font-weight:600; }
.k-av{ position:absolute; right:8px; bottom:6px; width:20px; height:20px; border-radius:50%; background:var(--azul-profundo); color:#fff; font-size:9px; font-weight:800; display:flex; align-items:center; justify-content:center; }
.k-col[data-col="2"] .k-card b{ text-decoration:line-through; color:var(--tinta-suave); }
@keyframes k-in{ from{ opacity:0; transform:translateY(-8px) scale(.97); } to{ opacity:1; transform:none; } }

/* Curva S e painel */
.kpis{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:12px; }
.kpis div{ background:var(--off-white); border:1px solid var(--linha); border-radius:10px; padding:9px 12px; }
.kpis span{ display:block; font-size:11.5px; color:var(--tinta-suave); font-weight:600; }
.kpis b{ font-family:var(--font-display); font-size:22px; color:var(--azul-profundo); font-weight:800; line-height:1.2; }
.kpis b.neg{ color:#D64545; }
.viz-scurve svg{ width:100%; height:auto; display:block; }
.sc-grid{ stroke:var(--linha); stroke-width:1; }
.sc-ax{ font-size:10.5px; fill:var(--tinta-suave); font-family:'Montserrat',sans-serif; }
.sc-plan{ fill:none; stroke:var(--azul); stroke-width:2.5; stroke-dasharray:6 5; }
.sc-real{ fill:none; stroke:var(--verde); stroke-width:3.2; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:1000; stroke-dashoffset:1000; animation:sc-draw 1.8s ease .3s forwards; }
.sc-dot{ fill:var(--verde); stroke:#fff; stroke-width:2; opacity:0; animation:fade .3s ease 2s forwards, sc-pulse 2s ease-in-out 2.3s infinite; transform-box:fill-box; transform-origin:center; }
@keyframes sc-draw{ to{ stroke-dashoffset:0; } }
@keyframes sc-pulse{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.35); } }
.d-row{ display:grid; grid-template-columns:1.4fr 1fr; gap:14px; align-items:center; }
.d-bars{ display:grid; grid-template-columns:repeat(6,1fr); gap:8px; align-items:end; height:150px; padding:8px 8px 0; border:1px solid var(--linha); border-radius:10px; background:linear-gradient(var(--linha) 1px,transparent 1px) 0 0/100% 33.3%; }
.d-bar{ display:flex; flex-direction:column; align-items:center; justify-content:flex-end; height:100%; gap:4px; }
.d-bar i{ display:block; width:100%; height:var(--h); border-radius:5px 5px 0 0; background:linear-gradient(180deg,#F2C94C,#E0A800); transform-origin:bottom; animation:bar-up .8s cubic-bezier(.2,.7,.2,1) var(--d) both; }
.d-bar:last-child i{ background:linear-gradient(180deg,var(--verde-vivo),var(--verde)); }
.d-bar span{ font-size:10.5px; color:var(--tinta-suave); font-weight:600; padding-bottom:4px; }
@keyframes bar-up{ from{ transform:scaleY(0); } to{ transform:scaleY(1); } }
.d-donut{ display:flex; flex-direction:column; align-items:center; gap:8px; }
.d-donut svg{ width:108px; height:108px; transform:rotate(-90deg); }
.d-donut circle{ fill:none; stroke-width:6; }
.dn-bg{ stroke:var(--off-white); }
.dn-a{ stroke:#279E27; stroke-dasharray:0 100; animation:dn-a 1.2s ease .4s forwards; }
.dn-b{ stroke:#F2B300; stroke-dasharray:0 100; stroke-dashoffset:-82; animation:dn-b .8s ease 1.4s forwards; }
.dn-c{ stroke:#E57373; stroke-dasharray:0 100; stroke-dashoffset:-94; animation:dn-c .6s ease 2s forwards; }
@keyframes dn-a{ to{ stroke-dasharray:82 18; } }
@keyframes dn-b{ to{ stroke-dasharray:12 88; } }
@keyframes dn-c{ to{ stroke-dasharray:6 94; } }
.d-donut ul{ list-style:none; font-size:11.5px; color:var(--tinta-suave); display:flex; flex-direction:column; gap:3px; margin:0; padding:0; }
.d-donut li i{ display:inline-block; width:8px; height:8px; border-radius:2px; margin-right:6px; }

/* Linha de status no hero */
.hero-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; margin-top:22px; font-size:14px; color:var(--tinta-suave); font-weight:600; }
.hero-meta .sep{ width:4px; height:4px; border-radius:50%; background:#B8C0D2; }

@media (max-width:480px){
  .g-weeks, .g-row{ grid-template-columns:26px 92px 1fr; }
  .g-today{ display:none; }
  .k-board{ grid-template-columns:1fr 1fr; } .k-col[data-col="0"]{ display:none; }
  .kpis b{ font-size:18px; }
  .d-row{ grid-template-columns:1fr; } .d-donut{ flex-direction:row; justify-content:center; }
}
@media (prefers-reduced-motion:reduce){
  .g-bar, .k-prog i, .d-bar i, .k-card{ animation:none; }
  .g-ms{ animation:none; transform:rotate(45deg) scale(1); }
  .sc-real{ animation:none; stroke-dashoffset:0; } .sc-dot{ animation:none; opacity:1; }
  .dn-a{ animation:none; stroke-dasharray:82 18; } .dn-b{ animation:none; stroke-dasharray:12 88; } .dn-c{ animation:none; stroke-dasharray:6 94; }
}

/* ===== Cabeçalho global GEPROQ ===== */
html{ scroll-padding-top:88px; }
html.gh-has-sub{ scroll-padding-top:136px; }
.gh{ position:fixed; top:0; left:0; right:0; z-index:1000; padding-top:env(safe-area-inset-top,0px);
  background:rgba(255,255,255,0.94); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid #E3E6EE; box-shadow:0 4px 20px -12px rgba(8,29,82,0.12);
  font-family:'Montserrat','Segoe UI',system-ui,sans-serif; line-height:1.5; }
.gh a{ text-decoration:none; }
.gh .gh-bar{ position:relative; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:14px 32px; margin:0 auto; }
.gh .gh-logo{ display:flex; align-items:center; gap:12px; flex-shrink:0; color:inherit; }
.gh .gh-logo img{ height:40px; width:auto; display:block; }
.gh .gh-logo-text{ display:flex; flex-direction:column; line-height:1.25; }
.gh .gh-logo-text b{ font-family:'Manrope','Segoe UI',system-ui,sans-serif; font-weight:800; color:#081D52; font-size:15.5px; letter-spacing:0.01em; }
.gh .gh-logo-text span{ font-size:11.5px; color:#4A5265; font-weight:500; white-space:nowrap; }
.gh .gh-right{ display:flex; align-items:center; gap:26px; }
.gh .gh-links{ display:flex; gap:24px; align-items:center; }
.gh .gh-links > a, .gh .gh-trigger{ position:relative; display:inline-flex; align-items:center; gap:4px; padding:6px 0; font-size:14.5px; font-weight:600; color:#0F1626; white-space:nowrap; }
.gh .gh-links > a::after, .gh .gh-trigger::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:2px; border-radius:2px; background:#0D2D7E; transform:scaleX(0); transition:transform .2s ease; }
.gh .gh-links > a:hover, .gh .gh-trigger:hover, .gh .gh-trigger.is-active, .gh .gh-links > a.is-active{ color:#0D2D7E; }
.gh .gh-links > a.is-active::after{ transform:scaleX(1); }
.gh .gh-links > a:hover::after, .gh .gh-trigger:hover::after, .gh .gh-trigger.is-active::after{ transform:scaleX(1); }
.gh .gh-trigger svg{ width:14px; height:14px; stroke:currentColor; transition:transform .2s ease; }
.gh .gh-drop{ position:relative; }
.gh .gh-menu{ position:absolute; top:calc(100% + 12px); left:50%; transform:translateX(-50%); min-width:310px; background:#fff; border:1px solid #E3E6EE; border-radius:14px; box-shadow:0 24px 50px -20px rgba(8,29,82,0.35); padding:8px; display:none; flex-direction:column; z-index:5; }
.gh .gh-menu::before{ content:""; position:absolute; top:-14px; left:0; right:0; height:14px; }
.gh .gh-drop:hover .gh-menu, .gh .gh-drop:focus-within .gh-menu{ display:flex; }
.gh .gh-drop:hover .gh-trigger svg, .gh .gh-drop:focus-within .gh-trigger svg{ transform:rotate(180deg); }
.gh .gh-menu a{ padding:10px 12px; border-radius:10px; display:flex; flex-direction:column; gap:1px; }
.gh .gh-menu a:hover{ background:#F6F7FA; }
.gh .gh-menu b{ font-family:'Manrope','Segoe UI',system-ui,sans-serif; font-size:14.5px; color:#081D52; font-weight:700; }
.gh .gh-menu span{ font-size:12.5px; font-weight:500; color:#4A5265; }
.gh .gh-menu .gh-all{ margin-top:4px; border-top:1px solid #E3E6EE; border-radius:0 0 10px 10px; font-size:13.5px; color:#0D2D7E; font-weight:700; }
.gh .gh-btn{ display:inline-flex; align-items:center; justify-content:center; padding:10px 18px; border-radius:10px; background:linear-gradient(135deg,#4CC94C,#279E27); color:#fff; font-weight:700; font-size:14px; white-space:nowrap; box-shadow:0 14px 30px -10px rgba(39,158,39,0.55); transition:transform .18s ease; }
.gh .gh-btn:hover{ transform:translateY(-2px); }
.gh .gh-links .gh-mobile-cta{ display:none; }
.gh .gh-toggle{ display:none; width:40px; height:40px; align-items:center; justify-content:center; border:1.5px solid #E3E6EE; border-radius:10px; background:#fff; cursor:pointer; padding:0; }
.gh .gh-toggle svg{ width:20px; height:20px; stroke:#081D52; }
.gh .gh-toggle .i-close{ display:none; }
.gh .gh-toggle[aria-expanded="true"] .i-close{ display:block; }
.gh .gh-toggle[aria-expanded="true"] .i-open{ display:none; }
.gh a:focus-visible, .gh button:focus-visible{ outline:2px solid #1A54D6; outline-offset:3px; border-radius:6px; }

/* Seletor de idioma */
.gh .gh-lang{ display:flex; border:1.5px solid #E3E6EE; border-radius:9px; overflow:hidden; flex-shrink:0; }
.gh .gh-lang a{ font-size:12.5px; font-weight:700; color:#4A5265; padding:6px 10px; line-height:1.2; letter-spacing:0.03em; }
.gh .gh-lang a[aria-current="true"]{ background:#081D52; color:#fff; }
.gh .gh-lang a:not([aria-current="true"]):hover{ background:#F6F7FA; color:#081D52; }
.gh .gh-right{ gap:18px; }

/* Barra secundária (navegação da página) */
.gh .gh-sub{ border-top:1px solid #E3E6EE; background:rgba(246,247,250,0.96); }
.gh .gh-sub-in{ display:flex; align-items:center; gap:22px; padding:0 32px; margin:0 auto; height:48px; }
.gh .gh-sub-title{ font-family:'Manrope','Segoe UI',system-ui,sans-serif; font-weight:800; font-size:14px; color:#081D52; white-space:nowrap; padding-right:22px; border-right:1px solid #D5DAE5; }
.gh .gh-sub-links{ display:flex; gap:18px; align-items:center; overflow-x:auto; scrollbar-width:none; flex:1; height:100%; }
.gh .gh-sub-links::-webkit-scrollbar{ display:none; }
.gh .gh-sub-links a{ position:relative; display:flex; align-items:center; height:100%; font-size:13.5px; font-weight:600; color:#4A5265; white-space:nowrap; }
.gh .gh-sub-links a::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:#279E27; transform:scaleX(0); transition:transform .2s ease; }
.gh .gh-sub-links a:hover, .gh .gh-sub-links a.is-active{ color:#081D52; }
.gh .gh-sub-links a.is-active::after{ transform:scaleX(1); }
.gh .gh-sub-cta{ font-size:13.5px; font-weight:700; color:#0D2D7E; white-space:nowrap; border:1.5px solid #0D2D7E; border-radius:9px; padding:6px 14px; }
.gh .gh-sub-cta:hover{ background:#0D2D7E; color:#fff; }

@media (max-width:1100px){
  .gh .gh-bar{ padding:12px 20px; }
  .gh .gh-toggle{ display:inline-flex; }
  .gh .gh-cta{ display:none; }
  .gh .gh-links{ display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:0; background:#fff; border-bottom:1px solid #E3E6EE; padding:8px 20px 20px; box-shadow:0 20px 30px -20px rgba(8,29,82,0.25); max-height:calc(100vh - 70px); overflow-y:auto; z-index:10; }
  .gh .gh-links.open{ display:flex; }
  .gh .gh-links > a, .gh .gh-trigger{ padding:14px 0; border-bottom:1px solid #E3E6EE; font-size:16px; width:100%; }
  .gh .gh-links > a::after, .gh .gh-trigger::after{ display:none; }
  .gh .gh-trigger svg{ display:none; }
  .gh .gh-menu{ position:static; transform:none; display:flex; min-width:0; border:none; box-shadow:none; padding:0 0 6px 14px; border-left:2px solid #E3E6EE; border-radius:0; margin:4px 0 8px; }
  .gh .gh-menu::before{ display:none; }
  .gh .gh-menu a{ padding:9px 0; }
  .gh .gh-menu span{ display:none; }
  .gh .gh-menu .gh-all{ border-top:none; }
  .gh .gh-links .gh-mobile-cta{ display:flex; margin-top:16px; color:#fff; padding:14px 18px; font-size:15px; }
  .gh .gh-sub-in{ padding:0 20px; }
  .gh .gh-sub-title{ display:none; }
  .gh .gh-sub-links{ -webkit-mask-image:linear-gradient(90deg,#000 85%,transparent); mask-image:linear-gradient(90deg,#000 85%,transparent); padding-right:24px; }
}
@media (max-width:640px){ .gh .gh-sub-cta{ display:none; } }
@media (max-width:420px){ .gh .gh-logo-text span{ display:none; } }
@media (prefers-reduced-motion:reduce){ .gh .gh-btn:hover{ transform:none; } }
/* Espaço do topo quando há barra secundária */
body.gh-sub-on .hero{ padding-top:208px; }
@media (max-width:980px){ body.gh-sub-on .hero{ padding-top:176px; } }

/* ===== Rodapé global GEPROQ ===== */
.gf{ position:relative; background:#040B24; color:rgba(255,255,255,0.78); padding:60px 0 calc(28px + env(safe-area-inset-bottom,0px)); font-family:'Montserrat','Segoe UI',system-ui,sans-serif; line-height:1.6; text-align:left; border-top:1px solid rgba(255,255,255,0.06); }
.gf::before{ content:""; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,#4CC94C 0%,#279E27 30%,#1A54D6 70%,#0D2D7E 100%); }
.gf .gf-in{ max-width:1180px; margin:0 auto; padding:0 32px; }
.gf .gf-top{ display:grid; grid-template-columns:1.6fr 1fr 1.15fr 1fr; gap:40px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,0.1); }
.gf .gf-brand{ display:flex; gap:14px; align-items:flex-start; }
.gf .gf-brand img{ width:44px; height:auto; display:block; flex-shrink:0; }
.gf .gf-brand b{ display:block; font-family:'Manrope','Segoe UI',system-ui,sans-serif; color:#fff; font-size:18px; font-weight:800; line-height:1.2; letter-spacing:0.01em; }
.gf .gf-tag{ display:block; font-size:12.5px; font-weight:600; color:#7BD97B; margin-top:2px; }
.gf .gf-brand p{ font-size:14px; margin:12px 0 0; max-width:34ch; color:rgba(255,255,255,0.78); }
.gf .gf-brand .gf-loc{ display:flex; align-items:center; gap:8px; margin-top:12px; font-weight:600; color:#fff; font-size:13.5px; }
.gf .gf-loc svg{ width:16px; height:16px; stroke:#4CC94C; flex-shrink:0; }
.gf .gf-h{ font-family:'Manrope','Segoe UI',system-ui,sans-serif; color:#fff; font-size:13px; font-weight:800; margin:0 0 16px; letter-spacing:0.06em; text-transform:uppercase; }
.gf ul{ list-style:none; display:flex; flex-direction:column; gap:10px; font-size:14px; margin:0; padding:0; }
.gf ul a{ color:rgba(255,255,255,0.78); text-decoration:none; transition:color .15s ease; }
.gf ul a:hover{ color:#4CC94C; }
.gf a:focus-visible{ outline:2px solid #4CC94C; outline-offset:3px; border-radius:4px; }
.gf .gf-bottom{ padding-top:24px; font-size:13px; color:rgba(255,255,255,0.5); }
@media (max-width:900px){ .gf .gf-top{ grid-template-columns:1fr 1fr; } .gf .gf-brand{ grid-column:1 / -1; } }
@media (max-width:560px){ .gf .gf-in{ padding:0 20px; } .gf .gf-top{ grid-template-columns:1fr; gap:28px; } }

/* ===== Envio de formulários ===== */
.gq-hp{ position:absolute !important; left:-10000px !important; width:1px; height:1px; overflow:hidden; }
.form-ok, .form-fail{ margin-top:14px; padding:12px 14px; border-radius:10px; font-size:14.5px; font-weight:600; line-height:1.45; }
.form-ok{ background:rgba(76,201,76,0.12); color:#1E7F1E; border:1px solid rgba(39,158,39,0.35); }
.form-fail{ background:rgba(198,40,40,0.08); color:#A12020; border:1px solid rgba(198,40,40,0.3); }
.form-fail a, .form-alt a{ color:inherit; text-decoration:underline; font-weight:700; }
.form-alt{ margin-top:10px; font-size:13px; color:#4A5265; text-align:center; }
button[aria-busy="true"]{ opacity:.75; cursor:progress; }
.cta-path-form .form-ok{ background:rgba(76,201,76,0.16); color:#A6EFA6; border-color:rgba(76,201,76,0.45); }
.cta-path-form .form-fail{ background:rgba(229,115,115,0.14); color:#FFC2C2; border-color:rgba(229,115,115,0.45); }

/* ===== Cartilha: cartão discreto de captação ===== */
.lc{ position:fixed; left:20px; bottom:calc(20px + env(safe-area-inset-bottom,0px)); z-index:900; width:340px; max-width:calc(100vw - 24px);
  max-height:calc(100vh - 120px); overflow:auto; background:#fff; border:1px solid var(--linha); border-radius:16px;
  box-shadow:0 22px 50px -18px rgba(8,29,82,0.45); color:var(--tinta);
  transform:translateY(16px); opacity:0; transition:transform .35s ease, opacity .35s ease; }
.lc.show{ transform:none; opacity:1; }
.lc[hidden]{ display:none; }
.lc::before{ content:""; position:sticky; top:0; display:block; height:4px; background:linear-gradient(90deg,#4CC94C,#1A54D6); }
.lc-in{ padding:14px 16px 16px; }
.lc-top{ display:grid; grid-template-columns:40px 1fr 28px; gap:12px; align-items:start; }
.lc-ic{ width:40px; height:40px; border-radius:10px; background:rgba(26,84,214,0.08); display:flex; align-items:center; justify-content:center; }
.lc-ic svg{ width:21px; height:21px; stroke:var(--azul); }
.lc-tag{ display:block; font-size:11px; font-weight:800; letter-spacing:0.06em; text-transform:uppercase; color:var(--verde); }
.lc-title{ display:block; font-family:var(--font-display); font-weight:800; font-size:15px; line-height:1.3; color:var(--azul-profundo); margin-top:2px; }
.lc-desc{ font-size:13px; color:var(--tinta-suave); line-height:1.45; margin-top:4px; }
.lc-x{ width:28px; height:28px; border-radius:50%; border:1px solid var(--linha); background:#fff; color:var(--tinta-suave); font-size:16px; line-height:1; cursor:pointer; }
.lc-x:hover{ background:var(--off-white); color:var(--azul-profundo); }
.lc-cta{ margin-top:12px; width:100%; justify-content:center; padding:10px 14px; font-size:14px; border:0; cursor:pointer; font-family:inherit; }
.lc .form{ padding:0; box-shadow:none; background:none; margin-top:12px; }
.lc .form label{ font-size:12.5px; margin:10px 0 4px; }
.lc .form label:first-child{ margin-top:0; }
.lc .form input{ padding:10px 12px; font-size:14.5px; }
.lc .form .btn{ margin-top:14px; padding:11px 14px; font-size:14px; justify-content:center; }
.lc .form .btn svg{ width:16px; height:16px; }
.lc .form-error{ font-size:12.5px; margin-top:10px; }
.lc-priv{ font-size:11.5px; color:var(--tinta-suave); margin-top:8px; text-align:center; }
.lc-done{ text-align:center; margin-top:12px; }
.lc-done b{ display:block; font-family:var(--font-display); color:var(--azul-profundo); font-size:15px; }
.lc-done p{ font-size:13px; color:var(--tinta-suave); margin:4px 0 12px; }
.lc-done .btn{ width:100%; justify-content:center; padding:10px 14px; font-size:14px; }
.lc-done .lc-links{ font-size:12.5px; margin-top:10px; }
.lc-done .lc-links a{ color:var(--azul); font-weight:700; }
.lc [hidden]{ display:none !important; }
@media (max-width:560px){
  .lc{ left:10px; right:10px; width:auto; max-width:none; bottom:calc(10px + env(safe-area-inset-bottom,0px)); max-height:78vh; border-radius:14px; }
  body.lc-aberto .wa-float{ opacity:0; pointer-events:none; }
}
@media (prefers-reduced-motion:reduce){ .lc{ transition:none; transform:none; } }
@media print{ .lc{ display:none !important; } }

/* ===== Blog ===== */
.sr-only{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.blog{ background:var(--off-white); }
.b-hero{ position:relative; padding:200px 0 56px; overflow:hidden; }
.b-hero::before{ content:""; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(rgba(13,45,126,0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(13,45,126,0.045) 1px, transparent 1px); background-size:40px 40px; -webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 85%); mask-image:linear-gradient(180deg,#000 0%,transparent 85%); }
.b-hero .container{ position:relative; }
.b-hero-grid{ display:grid; grid-template-columns:1.4fr 1fr; gap:48px; align-items:end; }
.b-hero-grid > *{ min-width:0; }
.b-hero h1{ font-size:clamp(32px,4.2vw,50px); font-weight:800; margin:14px 0 14px; max-width:20ch; }
.b-hero .lead{ margin-top:0; }
.b-search{ display:flex; gap:8px; background:#fff; border:1px solid var(--linha); border-radius:14px; padding:6px; box-shadow:0 10px 30px -18px rgba(8,29,82,0.35); }
.b-search input{ flex:1; min-width:0; border:0; background:transparent; font:inherit; font-size:15px; padding:10px 12px; color:var(--tinta); }
.b-search input:focus{ outline:none; }
.b-search:focus-within{ border-color:var(--azul-vivo); box-shadow:0 0 0 3px rgba(26,84,214,0.15); }
.b-search button{ border:0; border-radius:10px; padding:10px 18px; font:inherit; font-weight:700; font-size:14px; color:#fff; background:linear-gradient(135deg,var(--verde-vivo),var(--verde)); cursor:pointer; }
@media (max-width:900px){ .b-hero{ padding:168px 0 40px; } .b-hero-grid{ grid-template-columns:1fr; gap:24px; } }

.b-list{ padding:8px 0 96px; }
.b-thumb{ display:block; overflow:hidden; aspect-ratio:16/9; background:var(--azul-profundo); }
.b-thumb-img{ width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.b-thumb-ph{ position:relative; display:flex; align-items:flex-end; width:100%; height:100%; padding:18px; background:
  radial-gradient(420px 220px at 90% 0%, rgba(26,84,214,0.55), transparent 60%),
  radial-gradient(360px 200px at 0% 100%, rgba(39,158,39,0.45), transparent 60%), var(--azul-profundo); }
.b-thumb-ph::before{ content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.06) 1px, transparent 1px); background-size:28px 28px; }
.b-thumb-ph span{ position:relative; font-family:var(--font-display); font-weight:800; font-size:20px; color:#fff; letter-spacing:-0.01em; }
.b-chip{ display:inline-block; font-size:12px; font-weight:700; color:var(--verde); background:rgba(76,201,76,0.12); border-radius:999px; padding:4px 11px; text-decoration:none; }
.b-chip:hover{ background:rgba(76,201,76,0.22); }
.b-meta{ font-size:13px; color:var(--tinta-suave); margin-top:10px; }
.b-excerpt{ color:var(--tinta-suave); font-size:15px; margin-top:8px; }

.b-feature{ display:grid; grid-template-columns:1.15fr 1fr; background:#fff; border:1px solid var(--linha); border-radius:var(--radius); overflow:hidden; margin-bottom:28px; box-shadow:var(--sombra); }
.b-feature .b-thumb{ aspect-ratio:auto; min-height:320px; }
.b-feature:hover .b-thumb-img{ transform:scale(1.03); }
.b-feature-body{ padding:34px; display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
.b-new{ font-size:12px; font-weight:800; letter-spacing:0.06em; text-transform:uppercase; color:var(--azul); margin-bottom:4px; }
.b-feature-title{ font-size:clamp(22px,2.3vw,30px); margin-top:8px; line-height:1.2; }
.b-feature-title a, .b-card-title a{ color:var(--azul-profundo); text-decoration:none; }
.b-feature-title a:hover, .b-card-title a:hover{ color:var(--azul-vivo); }
.b-read{ margin-top:14px; display:inline-flex; align-items:center; gap:8px; font-family:var(--font-display); font-weight:700; color:var(--azul); border-bottom:2px solid var(--verde-vivo); padding-bottom:3px; }
.b-read svg{ width:16px; height:16px; }
@media (max-width:900px){ .b-feature{ grid-template-columns:1fr; } .b-feature .b-thumb{ min-height:0; aspect-ratio:16/9; } .b-feature-body{ padding:24px; } }

.b-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media (max-width:980px){ .b-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .b-grid{ grid-template-columns:1fr; } }
.b-card{ background:#fff; border:1px solid var(--linha); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .2s ease, transform .2s ease; }
.b-card:hover{ box-shadow:var(--sombra); transform:translateY(-3px); }
.b-card:hover .b-thumb-img{ transform:scale(1.04); }
.b-card-body{ padding:20px 22px 22px; display:flex; flex-direction:column; align-items:flex-start; flex:1; }
.b-card-title{ font-size:19px; line-height:1.3; margin-top:12px; }
.b-card .b-meta{ margin-top:auto; padding-top:12px; }

.b-empty{ background:#fff; border:1px dashed #C9D3EA; border-radius:var(--radius); padding:48px 28px; text-align:center; }
.b-empty h2{ font-size:24px; }
.b-empty p{ color:var(--tinta-suave); margin:10px 0 22px; }

.pagination{ margin-top:40px; }
.pagination .nav-links{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
.pagination .page-numbers{ min-width:42px; height:42px; padding:0 14px; border-radius:10px; border:1px solid var(--linha); background:#fff; display:inline-flex; align-items:center; justify-content:center; font-weight:700; color:var(--azul-profundo); text-decoration:none; }
.pagination .page-numbers.current{ background:var(--azul-profundo); color:#fff; border-color:var(--azul-profundo); }
.pagination a.page-numbers:hover{ border-color:var(--azul); }

.b-cta{ position:relative; padding:88px 0; }
.b-cta-in{ display:grid; grid-template-columns:1.4fr 1fr; gap:48px; align-items:center; }
.b-cta-in > *{ min-width:0; }
.b-cta h2{ margin-top:12px; font-size:clamp(26px,3vw,38px); }
.b-cta-btns{ display:flex; flex-direction:column; gap:12px; align-items:flex-start; }
@media (max-width:900px){ .b-cta-in{ grid-template-columns:1fr; gap:24px; } }

/* Post */
.p-hero{ padding:196px 0 34px; background:linear-gradient(180deg,#fff 0%, var(--off-white) 100%); }
.p-narrow{ max-width:860px; }
.p-hero .crumbs{ margin-bottom:18px; }
.p-hero h1{ font-size:clamp(30px,4vw,46px); font-weight:800; margin-top:14px; line-height:1.15; color:var(--azul-profundo); }
.p-lead{ font-size:19px; color:var(--tinta-suave); margin-top:16px; line-height:1.6; }
.p-hero .b-meta{ margin-top:18px; }
@media (max-width:900px){ .p-hero{ padding:164px 0 26px; } }
.p-cover{ margin:0 auto 8px; }
.p-cover img{ width:100%; height:auto; border-radius:var(--radius); box-shadow:var(--sombra); aspect-ratio:1200/630; object-fit:cover; }
.p-grid{ display:grid; grid-template-columns:240px minmax(0,1fr); gap:56px; padding-top:40px; padding-bottom:72px; }
.p-toc-in{ position:sticky; top:140px; }
.p-toc-t{ font-family:var(--font-display); font-weight:800; font-size:13px; letter-spacing:0.06em; text-transform:uppercase; color:var(--tinta-suave); margin-bottom:10px; }
.p-toc ol{ list-style:none; margin:0; padding:0; border-left:2px solid var(--linha); }
.p-toc li a{ display:block; padding:7px 0 7px 14px; margin-left:-2px; border-left:2px solid transparent; font-size:14px; color:var(--tinta-suave); text-decoration:none; line-height:1.4; }
.p-toc li a:hover{ color:var(--azul-profundo); }
.p-toc li a.is-active{ color:var(--azul-profundo); font-weight:700; border-left-color:var(--verde); }
.p-body{ max-width:760px; }
@media (max-width:1000px){ .p-grid{ grid-template-columns:1fr; gap:24px; } .p-toc-in{ position:static; background:#fff; border:1px solid var(--linha); border-radius:14px; padding:16px 18px; } }

.prose{ font-size:17.5px; line-height:1.78; color:#1d2433; }
.prose > * + *{ margin-top:1.15em; }
.prose h2{ font-size:clamp(24px,2.4vw,30px); margin-top:1.9em; line-height:1.25; color:var(--azul-profundo); scroll-margin-top:140px; }
.prose h3{ font-size:21px; margin-top:1.6em; color:var(--azul-profundo); scroll-margin-top:140px; }
.prose h4{ font-size:18px; margin-top:1.4em; }
.prose a{ color:var(--azul-vivo); text-decoration:underline; text-underline-offset:3px; }
.prose a:hover{ color:var(--verde); }
.prose strong{ color:var(--tinta); }
.prose ul, .prose ol{ padding-left:1.3em; }
.prose li + li{ margin-top:.45em; }
.prose li::marker{ color:var(--verde); font-weight:700; }
.prose blockquote, .prose .wp-block-quote{ margin-left:0; padding:16px 22px; border-left:4px solid var(--verde-vivo); background:#fff; border-radius:0 12px 12px 0; color:var(--azul-profundo); font-weight:500; }
.prose blockquote p{ margin:0; }
.prose blockquote cite{ display:block; margin-top:8px; font-size:14px; color:var(--tinta-suave); font-style:normal; }
.prose img{ border-radius:12px; height:auto; }
.prose figure{ margin-left:0; margin-right:0; }
.prose figcaption{ font-size:14px; color:var(--tinta-suave); text-align:center; margin-top:8px; }
.prose table{ width:100%; border-collapse:collapse; font-size:15.5px; background:#fff; border:1px solid var(--linha); border-radius:12px; overflow:hidden; display:block; overflow-x:auto; }
.prose th, .prose td{ text-align:left; padding:11px 14px; border-bottom:1px solid var(--linha); vertical-align:top; }
.prose thead th, .prose tr:first-child th{ background:var(--azul-profundo); color:#fff; font-family:var(--font-display); }
.prose .wp-block-table{ overflow-x:auto; }
.prose code{ font-size:.88em; background:rgba(26,84,214,0.08); color:var(--azul); padding:2px 6px; border-radius:6px; }
.prose pre{ background:var(--azul-profundo); color:#E8EEFF; padding:18px; border-radius:12px; overflow-x:auto; font-size:14.5px; }
.prose pre code{ background:none; color:inherit; padding:0; }
.prose hr{ border:0; height:1px; background:var(--linha); margin:2.2em 0; }
.prose .alignwide{ margin-left:-40px; margin-right:-40px; max-width:none; }
.prose .aligncenter{ margin-left:auto; margin-right:auto; text-align:center; }
.prose .alignleft{ float:left; margin:6px 22px 12px 0; max-width:45%; }
.prose .alignright{ float:right; margin:6px 0 12px 22px; max-width:45%; }
.prose .wp-block-button__link{ display:inline-flex; padding:12px 22px; border-radius:11px; background:linear-gradient(135deg,var(--verde-vivo),var(--verde)); color:#fff; text-decoration:none; font-weight:700; }
.prose .wp-block-embed iframe, .prose iframe{ max-width:100%; border-radius:12px; }
.prose .dica, .prose .has-background{ border-radius:12px; padding:16px 20px; }
@media (max-width:1000px){ .prose .alignwide{ margin-left:0; margin-right:0; } }
@media (max-width:600px){ .prose{ font-size:17px; } .prose .alignleft, .prose .alignright{ float:none; margin:0 0 1em; max-width:100%; } }

.p-share{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:44px; padding-top:22px; border-top:1px solid var(--linha); }
.p-share > span{ font-weight:700; font-size:14px; color:var(--tinta-suave); margin-right:6px; }
.p-share a, .p-share button{ display:inline-flex; align-items:center; gap:8px; padding:9px 14px; border:1px solid var(--linha); border-radius:10px; background:#fff; font:inherit; font-size:14px; font-weight:600; color:var(--azul-profundo); text-decoration:none; cursor:pointer; }
.p-share a:hover, .p-share button:hover{ border-color:var(--azul); }
.p-share svg{ width:17px; height:17px; }
.p-share button.ok{ border-color:var(--verde); color:var(--verde); }
.p-course{ display:flex; gap:24px; align-items:center; justify-content:space-between; margin-top:32px; padding:26px 28px; border-radius:var(--radius); background:var(--azul-profundo); color:#fff; position:relative; overflow:hidden; }
.p-course::before{ content:""; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,#4CC94C,#1A54D6); }
.p-course-tag{ font-size:12px; font-weight:800; letter-spacing:0.06em; text-transform:uppercase; color:#7BD97B; }
.p-course-t{ font-family:var(--font-display); font-weight:800; font-size:20px; margin-top:4px; line-height:1.3; }
.p-course-d{ font-size:14.5px; color:rgba(255,255,255,0.78); margin-top:6px; }
.p-course .btn{ flex-shrink:0; }
@media (max-width:640px){ .p-course{ flex-direction:column; align-items:flex-start; } }
.p-related{ padding:64px 0 88px; background:#fff; border-top:1px solid var(--linha); }
.p-related-t{ font-size:28px; margin-bottom:28px; }

.p-preview{ position:relative; z-index:5; margin-top:120px; background:#FFF4CC; border-bottom:1px solid #F2D27A; color:#5A4500; text-align:center; padding:10px 16px; font-size:14px; font-weight:600; }
.p-preview a{ color:#081D52; text-decoration:underline; }
.p-preview + .p-hero{ padding-top:56px; }
