:root{ --bg:#0A0B0A; --bg2:#121613; --green:#00A354; --green-dk:#013A1E; --yellow:#F9D108; --ink:#FFFFFF; --mut:#A7ADA9; --dim:#7E847F; --line:#1C1F1D; --on-green:#04150C; --card-shadow:none; --prose:#D9DED9; }
:root[data-theme="light"]{ --bg:#F6F7F3; --bg2:#FFFFFF; --green:#00A354; --green-dk:#013A1E; --yellow:#C9A400; --ink:#1B1F1C; --mut:#4F5752; --dim:#6B726E; --line:#E1E5E2; --on-green:#FFFFFF; --card-shadow:0 1px 2px rgba(0,0,0,.06); --prose:#2B312D; }
:root[data-theme="light"] .logo-dark, :root:not([data-theme="light"]) .logo-light{ display:none; }
:root[data-theme="light"] .btn-wa, :root[data-theme="light"] .tag, :root[data-theme="light"] .three .c.hl, :root[data-theme="light"] .chk li::before, :root[data-theme="light"] .pill{ color:#FFFFFF; }
:root[data-theme="light"] .tag h2, :root[data-theme="light"] .three .c.hl *, :root[data-theme="light"] .login-box input[type=submit]{ color:#FFFFFF; }
:root[data-theme="light"] .card.dk h3, :root[data-theme="light"] .card.dk p{ color:#FFFFFF; }
:root[data-theme="light"] .card.dk strong{ color:#F9D108; }
:root[data-theme="light"] .site-head{ background:rgba(246,247,243,.9); }
:root[data-theme="light"] .photo-box .block, :root[data-theme="light"] .hero-photo .block{ background:rgba(0,163,84,.28); }
.theme-toast{ position:fixed; left:16px; right:16px; bottom:16px; z-index:60; max-width:420px; margin:0 auto; background:var(--bg2); border:1px solid var(--line); border-left:4px solid var(--green); padding:16px 18px; box-shadow:0 10px 30px rgba(0,0,0,.25); animation:toast-in .3s ease-out; }
.theme-toast p{ font-size:14px; color:var(--mut); }
.theme-toast-acts{ display:flex; gap:10px; margin-top:12px; flex-wrap:wrap; }
.theme-toast-acts .btn{ padding:9px 14px; font-size:11px; cursor:pointer; font-family:inherit; }
.theme-toast.out{ opacity:0; transition:opacity .3s; }
@keyframes toast-in{ from{ transform:translateY(12px); opacity:0; } to{ transform:none; opacity:1; } }
@media (prefers-reduced-motion:reduce){ .theme-toast{ animation:none; } }
.theme-toggle{ background:none; border:1px solid var(--line); color:var(--mut); width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; font-size:16px; line-height:1; }
.theme-toggle:hover{ color:var(--green); border-color:var(--green); }
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
html, body{ overflow-x:clip; max-width:100%; }
body{ background:var(--bg); color:var(--ink); font-family:"Poppins","Segoe UI",Arial,sans-serif; font-weight:300; line-height:1.6; -webkit-font-smoothing:antialiased; }
.two > *, .hero-grid > *, .three > *, .strip > *, .post-grid > *{ min-width:0; }
.display, .lead, p{ overflow-wrap:anywhere; }
img{ max-width:100%; display:block; height:auto; }
.photo-box img, .strip-item img, .course-card img, .post-card img, .post-hero img, .hero-photo img{ height:auto; }
a{ color:var(--green); text-decoration:none; }
b, strong{ font-weight:600; color:var(--ink); }
.wrap{ width:min(1180px, 100% - 40px); margin:0 auto; }
.wrap.narrow{ width:min(820px, 100% - 40px); }

/* header */
.site-head{ position:sticky; top:0; z-index:50; background:rgba(10,11,10,.85); backdrop-filter:blur(8px); border-bottom:1px solid transparent; transition:border-color .2s; }
.site-head.scrolled{ border-bottom-color:var(--line); }
.site-head .wrap{ display:flex; align-items:center; justify-content:space-between; gap:24px; height:72px; }
.brand{ flex:0 0 auto; display:flex; align-items:center; }
.brand img{ height:40px; width:auto; display:block; }
.site-nav{ display:flex; align-items:center; justify-content:flex-end; gap:28px; flex:1 1 auto; min-width:0; }
.nav-list{ list-style:none; display:flex; align-items:center; gap:26px; flex-wrap:nowrap; }
.nav-list a{ font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--mut); font-weight:500; white-space:nowrap; }
.nav-list a:hover, .nav-list .current-menu-item a{ color:var(--green); }
.menu-toggle{ display:none; background:none; border:1px solid var(--line); color:var(--ink); padding:8px 14px; font:inherit; font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
/* telas médias: menu completo (com Área do aluno, Painel da empresa e Sair) precisa caber numa linha */
@media (max-width:1360px){
  .site-nav{ gap:18px; }
  .nav-list{ gap:16px; }
  .nav-list a{ font-size:11px; letter-spacing:.09em; }
  .site-nav .btn-wa{ padding:10px 16px; letter-spacing:.1em; }
}
@media (max-width:1100px) and (min-width:861px){
  .nav-list{ gap:12px; }
  .nav-list a{ font-size:10.5px; letter-spacing:.06em; }
  .site-nav .btn-wa{ padding:9px 12px; font-size:11px; }
}
@media (max-width:860px){
  .menu-toggle{ display:block; }
  .site-nav{ display:none; position:absolute; left:0; right:0; top:72px; background:var(--bg); flex-direction:column; align-items:flex-start; padding:20px; gap:18px; border-bottom:1px solid var(--line); }
  .site-nav.open{ display:flex; }
  .nav-list{ flex-direction:column; gap:14px; }
}

/* botões */
.btn{ display:inline-block; padding:12px 22px; font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:600; border:1px solid var(--green); color:var(--ink); transition:.2s; }
.btn-wa{ background:var(--green); color:var(--on-green); }
.btn-wa:hover{ background:#00b85f; }
.btn-ghost:hover{ background:rgba(0,163,84,.15); }
.actions{ display:flex; gap:14px; flex-wrap:wrap; margin-top:28px; }

/* tipografia */
.display{ font-weight:300; font-size:clamp(34px, 5.2vw, 60px); line-height:1.04; letter-spacing:.01em; text-transform:uppercase; }
.display b{ display:block; font-weight:700; }
.display.sm{ font-size:clamp(28px, 3.6vw, 40px); margin-bottom:14px; }
.display.sm b{ display:inline; }
.lead{ color:var(--mut); font-size:17px; max-width:62ch; }
.kick{ display:block; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--green); font-weight:600; margin-bottom:14px; }
.small{ font-size:14px; color:var(--mut); margin-top:28px; }
.meta{ font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--dim); font-weight:500; }
.meta a{ color:var(--green); }
.motto-line{ margin-top:24px; font-size:13px; letter-spacing:.1em; text-transform:uppercase; font-weight:500; color:var(--ink); }
.forwhom{ color:var(--mut); margin-top:24px; }
.sec p + p{ margin-top:14px; }

/* seções */
.sec{ padding:84px 0; }
.sec-top{ padding-top:56px; }
.two{ display:grid; grid-template-columns:1.1fr 1fr; gap:64px; align-items:center; }
.two.rev > .photo-box{ order:-1; }
@media (max-width:860px){ .two{ grid-template-columns:1fr; gap:36px; } .two.rev > .photo-box{ order:0; } .sec{ padding:56px 0; } }

/* hero */
.hero{ padding:60px 0 84px; }
.hero-grid{ display:grid; grid-template-columns:1fr 1.3fr; gap:56px; align-items:center; }
.hero-photo{ position:relative; padding:40px 0 0 40px; }
.hero-photo .block{ position:absolute; left:0; top:80px; width:85%; height:60%; background:rgba(0,163,84,.42); }
.hero-photo img{ position:relative; aspect-ratio:3/4; object-fit:cover; width:85%; }
@media (max-width:860px){ .hero-grid{ grid-template-columns:1fr; } .hero-photo img{ width:70%; } }

/* foto + bloco */
.photo-box{ position:relative; padding:36px 36px 0 0; }
.photo-box .block{ position:absolute; right:0; top:0; width:80%; height:72%; background:rgba(0,163,84,.42); }
.photo-box .block.b-left{ right:auto; left:0; top:auto; bottom:0; }
.photo-box.tall{ padding:0; }
.photo-box img{ position:relative; width:100%; height:auto; aspect-ratio:11/10; object-fit:cover; }
.photo-box.tall img{ aspect-ratio:4/5; }
.gray{ filter:grayscale(1) contrast(1.05); }
.tag{ display:inline-block; background:var(--green); color:#04150C; padding:10px 26px; margin-bottom:28px; }
.tag h2{ font-size:clamp(24px, 3vw, 32px); font-weight:600; text-transform:uppercase; color:#04150C; }
.tag.over{ position:absolute; left:-24px; bottom:18%; margin:0; }

/* listas */
.chk{ list-style:none; margin-top:28px; }
.chk li{ position:relative; padding-left:38px; margin-bottom:14px; font-weight:400; color:var(--ink); }
.chk li::before{ content:"✓"; position:absolute; left:0; top:3px; width:22px; height:22px; border-radius:50%; background:var(--green); color:#04150C; font-size:12px; font-weight:700; display:flex; align-items:center; justify-content:center; }
.steps{ list-style:none; margin-top:28px; }
.steps li{ display:flex; gap:22px; margin-bottom:22px; align-items:flex-start; }
.steps span{ flex:0 0 56px; color:var(--green); font-weight:300; font-size:30px; line-height:1; }
.steps h4{ font-size:17px; font-weight:600; }
.steps p{ color:var(--mut); font-size:15px; }

/* faixa de segmentos */
.strip{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; margin-top:28px; }
.strip-item img{ aspect-ratio:4/5; object-fit:cover; width:100%; }
.strip-item h4{ margin-top:14px; font-size:14px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink); }
.strip-item p{ font-size:13px; color:var(--mut); margin-top:4px; }
.strip-item:hover h4{ color:var(--green); }
@media (max-width:1000px){ .strip{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:600px){ .strip{ grid-template-columns:repeat(2,1fr); } }

/* áreas */
.areas-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:0 48px; margin-top:28px; }
.area-card{ display:flex; gap:18px; align-items:baseline; padding:18px 0; border-bottom:1px solid var(--line); color:var(--ink); }
.area-card .n{ color:var(--green); font-weight:600; font-size:13px; letter-spacing:.1em; flex:0 0 32px; }
.area-card h4{ font-size:17px; font-weight:500; }
.area-card p{ font-size:13px; color:var(--dim); margin-left:auto; max-width:48%; text-align:right; }
.area-card:hover h4{ color:var(--green); }
@media (max-width:860px){ .areas-grid{ grid-template-columns:1fr; } .area-card p{ display:none; } }

/* três colunas */
.three{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:36px; }
.three .c{ border-top:2px solid var(--green); padding-top:20px; }
.three .c.hl{ background:var(--green); padding:24px; border-top:0; }
.three .c.hl h4, .three .c.hl p, .three .c.hl .n{ color:#04150C; }
.three .n{ font-size:28px; font-weight:300; color:var(--green); }
.three h4{ font-size:19px; font-weight:600; margin:8px 0 10px; }
.three p{ color:var(--mut); font-size:15px; }
@media (max-width:860px){ .three{ grid-template-columns:1fr; } }

/* blog */
.post-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:28px; }
.post-card{ background:var(--bg2); color:var(--ink); border:1px solid var(--line); overflow:hidden; display:flex; flex-direction:column; }
.post-card img{ aspect-ratio:3/2; object-fit:cover; width:100%; }
.post-card-body{ padding:20px; }
.post-card h4{ font-size:18px; font-weight:600; margin:8px 0; }
.post-card p{ font-size:14px; color:var(--mut); }
.post-card:hover h4{ color:var(--green); }
@media (max-width:860px){ .post-grid{ grid-template-columns:1fr; } }
.post .display{ margin:14px 0 28px; text-transform:none; font-weight:600; font-size:clamp(28px,4vw,44px); }
.post-hero img{ width:100%; aspect-ratio:16/9; object-fit:cover; margin-bottom:36px; }
.prose{ font-size:17px; color:var(--prose); }
.prose h2, .prose h3{ color:var(--ink); font-weight:600; margin:36px 0 12px; }
.prose p, .prose ul, .prose ol{ margin-bottom:18px; }
.prose ul, .prose ol{ padding-left:22px; }
.prose a{ text-decoration:underline; }
.prose img{ margin:24px 0; }
.prose blockquote{ border-left:3px solid var(--green); padding-left:18px; color:var(--mut); margin:24px 0; }
.prose table{ width:100%; border-collapse:collapse; margin:18px 0; font-size:14.5px; }
.prose th{ text-align:left; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--green); border-bottom:1px solid var(--line); padding:8px 10px; }
.prose td{ padding:8px 10px; border-bottom:1px solid var(--line); vertical-align:top; }
.share{ margin-top:40px; display:flex; gap:18px; align-items:center; font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:var(--dim); }
.pagination{ margin-top:36px; }
.pagination .nav-links{ display:flex; gap:12px; }
.pagination a, .pagination span{ padding:8px 14px; border:1px solid var(--line); color:var(--ink); }
.pagination .current{ border-color:var(--green); color:var(--green); }

/* contato */
.sec-cta{ background:var(--bg2); }
.contact-lines{ margin-top:28px; font-weight:500; font-size:17px; }
.contact-lines a{ color:var(--ink); }

/* plataforma de treinamentos */
.sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.course-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:36px; }
.course-card{ background:var(--bg2); border:1px solid var(--line); color:var(--ink); display:flex; flex-direction:column; overflow:hidden; }
.course-card img{ aspect-ratio:3/2; object-fit:cover; width:100%; }
.course-card.locked img{ filter:grayscale(1); opacity:.7; }
.course-body{ padding:20px; display:grid; gap:8px; }
.course-card h4{ font-size:18px; font-weight:600; }
.course-card p{ font-size:14px; color:var(--mut); }
.course-card:hover h4{ color:var(--green); }
.progress{ height:4px; background:var(--line); margin-top:14px; }
.progress b{ display:block; height:100%; background:var(--green); width:0; transition:width .3s; }
.progress-label{ display:block; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--dim); margin-top:8px; font-weight:500; }
.mod-list{ list-style:none; margin-top:20px; }
.mod-list li a{ display:flex; gap:14px; align-items:center; padding:14px 0; border-bottom:1px solid var(--line); color:var(--ink); }
.mod-list .n{ color:var(--green); font-weight:600; font-size:12px; letter-spacing:.1em; flex:0 0 28px; }
.mod-list .t{ flex:1; font-weight:500; }
.mod-list .st{ color:var(--line); font-weight:700; }
.mod-list li.done .st{ color:var(--green); }
.mod-list li.current .t{ color:var(--green); }
.mod-list.compact li a{ padding:10px 0; font-size:14px; }
.mod-layout{ display:grid; grid-template-columns:280px 1fr; gap:48px; align-items:start; }
.mod-side{ position:sticky; top:96px; }
.mod-side .kick a, .kick a{ color:inherit; }
.mod-main .display{ margin-bottom:24px; }
.notebook{ margin-top:40px; border:1px dashed var(--line); padding:22px; background:var(--bg2); display:grid; gap:12px; }
.notebook textarea{ width:100%; min-height:120px; resize:vertical; padding:14px; background:var(--bg); color:var(--ink); border:1px solid var(--line); font:inherit; font-size:15px; line-height:1.55; }
.notebook textarea:focus{ border-color:var(--green); outline:none; }
.notebook .status{ font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--dim); min-height:1.4em; }
.notebook .status.ok{ color:var(--green); }
.mod-actions{ display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; align-items:center; }
.quiz{ margin-top:36px; border:1px solid var(--line); background:var(--bg2); padding:24px; }
.quiz .qq{ border:0; border-top:1px solid var(--line); padding:16px 0 6px; margin:0; }
.quiz .qq:first-of-type{ border-top:0; padding-top:4px; }
.quiz legend{ font-weight:600; color:var(--ink); padding:0 0 10px; }
.quiz label{ display:flex; gap:10px; align-items:flex-start; padding:7px 0; cursor:pointer; color:var(--mut); font-size:15px; }
.quiz label input{ margin-top:4px; accent-color:var(--green); }
.quiz label:hover span{ color:var(--ink); }
.quiz .qq.ok legend::after{ content:" ✓"; color:var(--green); }
.quiz .qq.erro legend::after{ content:" ✕"; color:#E0443E; }
.quiz .status{ font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--yellow); }
.quiz-prev{ font-size:13px; color:var(--mut); margin-bottom:10px; }
.quiz-prev.ok{ color:var(--green); }
.quiz-result{ margin-top:18px; padding:16px 18px; border-left:4px solid var(--green); background:rgba(0,163,84,.1); outline:none; }
.quiz-result.nao{ border-left-color:#E0443E; background:rgba(224,68,62,.1); }
.quiz-result b{ font-size:22px; color:var(--ink); }
.mod-list .t small{ color:var(--dim); font-size:12px; margin-left:6px; }
.btn.done{ background:var(--green-dk); color:#fff; border-color:var(--green-dk); }
.login-box{ margin-top:24px; background:var(--bg2); border:1px solid var(--line); padding:24px; max-width:420px; }
.login-box p{ margin-bottom:14px; }
.login-box label{ display:block; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--mut); font-weight:600; margin-bottom:6px; }
.login-box input[type=text], .login-box input[type=password]{ width:100%; padding:12px 14px; background:var(--bg); color:var(--ink); border:1px solid var(--line); font:inherit; font-size:15px; }
.login-box input:focus{ border-color:var(--green); outline:none; }
.login-box .login-remember label{ display:flex; align-items:center; gap:8px; text-transform:none; letter-spacing:0; font-weight:400; font-size:14px; }
.login-box input[type=submit]{ display:inline-block; padding:12px 22px; font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:600; background:var(--green); color:#04150C; border:1px solid var(--green); cursor:pointer; font-family:inherit; }
.login-box input[type=submit]:hover{ background:#00b85f; }
.notice-err{ color:#F0A6A2; border-left:3px solid #E0443E; padding-left:12px; margin-top:14px; }
.menu-aluno a, .menu-entrar a{ color:var(--green) !important; }
@media (max-width:900px){ .course-grid{ grid-template-columns:1fr; } .mod-layout{ grid-template-columns:1fr; gap:28px; } .mod-side{ position:static; } }

/* números */
.stats{ list-style:none; display:grid; grid-template-columns:repeat(2,1fr); gap:14px 24px; margin-top:28px; }
.stats b{ display:block; font-size:26px; font-weight:600; color:var(--green); line-height:1.1; }
.stats span{ font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--mut); }

/* equipe e canal confidencial */
.equipe-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:28px; }
.pessoa{ background:var(--bg2); border:1px solid var(--line); display:grid; grid-template-columns:140px 1fr; overflow:hidden; }
.pessoa img, .pessoa-foto-vazia{ width:140px; height:100%; min-height:170px; object-fit:cover; }
.pessoa-foto-vazia{ display:flex; align-items:center; justify-content:center; background:var(--line); color:var(--dim); font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.pessoa-body{ padding:18px; }
.pessoa h3{ font-size:18px; font-weight:600; margin-bottom:6px; }
.pessoa p{ font-size:14px; color:var(--mut); }
.relato-form{ margin-top:24px; background:var(--bg2); border:1px solid var(--line); padding:24px; display:grid; gap:10px; }
.relato-form label{ font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--mut); font-weight:600; margin-top:6px; }
.relato-form label.check{ display:flex; gap:10px; align-items:flex-start; text-transform:none; letter-spacing:0; font-weight:400; font-size:14px; color:var(--ink); margin-top:10px; }
.relato-form input[type=text], .relato-form textarea{ width:100%; padding:12px 14px; background:var(--bg); color:var(--ink); border:1px solid var(--line); font:inherit; font-size:15px; }
.relato-form textarea{ resize:vertical; min-height:150px; }
.relato-form input:focus, .relato-form textarea:focus{ border-color:var(--green); outline:none; }
.relato-form .hp{ position:absolute; left:-9999px; }
.relato-form .actions{ margin-top:10px; }
.foot-list{ list-style:none; }
.foot-list a{ display:block; padding:3px 0; font-size:14px; }
@media (max-width:900px){ .equipe-grid{ grid-template-columns:1fr; } }
@media (max-width:480px){ .pessoa{ grid-template-columns:1fr; } .pessoa img, .pessoa-foto-vazia{ width:100%; height:200px; } }

/* faixa de logos */
.logos{ border-top:1px solid var(--line); padding:40px 0 28px; overflow:hidden; }
.marquee{ overflow:hidden; mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.marquee .track{ display:flex; gap:56px; width:max-content; animation:upside-marquee 40s linear infinite; }
.marquee.rev .track{ animation-direction:reverse; }
.marquee:hover .track{ animation-play-state:paused; }
/* cada logo num card branco: legível nos dois temas, sem depender de inverter cores */
.logo-item{ display:flex; align-items:center; justify-content:center; height:76px; min-width:150px; padding:10px 24px; background:#FFFFFF; border:1px solid var(--line); border-radius:4px; color:#1B1F1C; text-decoration:none; transition:.2s; }
.logo-item img{ max-height:50px; max-width:170px; width:auto; filter:grayscale(1) contrast(1.05); opacity:.85; transition:.2s; }
.logo-item:hover{ border-color:var(--green); }
.logo-item:hover img{ filter:none; opacity:1; }
.logo-txt{ font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:600; white-space:nowrap; color:#1B1F1C; }
.marquee .track{ gap:18px; }
@keyframes upside-marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce){ .marquee .track{ animation:none; flex-wrap:wrap; width:auto; gap:24px; } }

/* depoimentos */
.depo-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; }
.depo-head .display{ margin-bottom:0; }
.gbadge{ display:inline-flex; align-items:center; gap:10px; border:1px solid var(--line); padding:12px 16px; color:var(--mut); font-size:13px; background:var(--bg2); }
.gbadge b{ font-size:22px; font-weight:600; color:var(--ink); line-height:1; }
.gbadge:hover{ border-color:var(--green); }
.stars{ color:var(--yellow); letter-spacing:.08em; font-size:15px; line-height:1; }
.depo-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:36px; }
.depo{ background:var(--bg2); border:1px solid var(--line); border-top:2px solid var(--green); padding:24px; display:flex; flex-direction:column; gap:12px; box-shadow:var(--card-shadow); }
.depo p{ font-size:15px; color:var(--prose); flex:1; }
.depo p::before{ content:"\201C"; color:var(--green); font-weight:700; margin-right:2px; }
.depo p::after{ content:"\201D"; color:var(--green); font-weight:700; margin-left:2px; }
.depo footer{ font-size:13px; color:var(--mut); display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.depo footer b{ color:var(--ink); }
.depo footer .src{ margin-left:auto; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--dim); }
.depo.more{ display:none; }
.depo-grid.open .depo.more{ display:flex; }
.depo-more{ cursor:pointer; font-family:inherit; background:none; }
@media (max-width:1000px){ .depo-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .depo-grid{ grid-template-columns:1fr; } .depo-head{ align-items:flex-start; } }

/* biografias (Quem somos) */
.bios{ display:grid; gap:40px; margin-top:36px; }
.bio{ display:grid; grid-template-columns:240px 1fr; gap:36px; align-items:start; padding-top:40px; border-top:1px solid var(--line); }
.bio:first-child{ border-top:0; padding-top:0; }
.bio-foto img, .bio-foto .pessoa-foto-vazia{ width:100%; aspect-ratio:4/5; object-fit:cover; height:auto; min-height:0; }
.bio-texto h3{ font-size:clamp(22px, 2.6vw, 30px); font-weight:600; text-transform:uppercase; line-height:1.1; margin:6px 0 14px; }
.bio-texto .prose{ font-size:16px; }
@media (max-width:760px){ .bio{ grid-template-columns:1fr; gap:18px; } .bio-foto{ max-width:220px; } }

/* painel da empresa */
.painel-stats b.warn{ color:var(--yellow); } .painel-stats b.bad{ color:#E0443E; }
.painel-escolha{ margin-top:18px; display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.painel-escolha select{ background:var(--bg2); color:var(--ink); border:1px solid var(--line); padding:8px 12px; font:inherit; }
.painel-tabela{ overflow-x:auto; margin-top:24px; border:1px solid var(--line); }
table.painel{ width:100%; border-collapse:collapse; font-size:14px; min-width:760px; }
table.painel th{ text-align:left; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--dim); padding:12px 14px; border-bottom:1px solid var(--line); background:var(--bg2); }
table.painel td{ padding:12px 14px; border-bottom:1px solid var(--line); vertical-align:top; color:var(--prose); }
table.painel td b{ color:var(--ink); }
table.painel .progress{ margin-top:6px; max-width:140px; }
.pill-st{ display:inline-block; font-size:11px; letter-spacing:.08em; text-transform:uppercase; font-weight:600; padding:4px 10px; border:1px solid var(--line); color:var(--mut); white-space:nowrap; }
.pill-st.valido, .pill-st.concluido{ border-color:var(--green); color:var(--green); }
.pill-st.vencendo, .pill-st.pratica{ border-color:var(--yellow); color:var(--yellow); }
.pill-st.vencido{ border-color:#E0443E; color:#E0443E; }
.pill-st.andamento{ color:var(--ink); }

/* diagnóstico rápido (home) */
.sec-diag{ background:var(--bg2); }
.diag{ background:var(--bg); border:1px solid var(--line); padding:clamp(20px,4vw,36px); margin-top:28px; }
.diag .q{ display:grid; grid-template-columns:28px 1fr; gap:14px; padding:16px 0; border-top:1px solid var(--line); }
.diag .q:first-of-type{ border-top:0; padding-top:0; }
.diag .q .n{ color:var(--green); font-weight:600; font-size:12px; letter-spacing:.1em; padding-top:4px; font-variant-numeric:tabular-nums; }
.diag .q p{ font-weight:400; margin-bottom:10px; }
.diag .opts{ display:flex; gap:8px; flex-wrap:wrap; }
.diag .opts label{ cursor:pointer; position:relative; }
.diag .opts input{ position:absolute; opacity:0; width:0; height:0; }
.diag .opts span{ display:inline-block; padding:8px 16px; border:1px solid var(--line); font-size:12px; letter-spacing:.1em; text-transform:uppercase; font-weight:600; color:var(--mut); transition:.15s; }
.diag .opts input:checked + span{ border-color:var(--green); color:var(--ink); background:rgba(0,163,84,.14); }
.diag .opts input:focus-visible + span{ outline:2px solid var(--yellow); outline-offset:2px; }
.diag-foot{ margin-top:22px; display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.diag-foot .btn{ cursor:pointer; font-family:inherit; }
.diag .hint{ font-size:14px; color:#E0443E; }
.diag .result{ margin-top:22px; padding:22px; border-left:4px solid var(--green); background:rgba(0,163,84,.08); }
.diag .result[data-level="warn"]{ border-left-color:var(--yellow); background:rgba(249,209,8,.08); }
.diag .result[data-level="bad"]{ border-left-color:#E0443E; background:rgba(224,68,62,.08); }
.diag .result .score{ font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:var(--mut); margin-bottom:8px; }
.diag .result h3{ font-size:clamp(20px,3vw,26px); font-weight:700; text-transform:uppercase; line-height:1.15; margin-bottom:10px; }
.diag .result p{ color:var(--mut); }
.diag .result .acts{ display:flex; gap:12px; flex-wrap:wrap; margin-top:18px; }

/* foto do "Vamos conversar": horizontal 5:4, menor que a coluna */
.sec-cta .cta-photo{ padding:28px 28px 0 0; max-width:480px; }
.sec-cta .cta-photo img{ aspect-ratio:5/4; object-position:50% 30%; }
.sec-cta .cta-photo .block{ display:none; }
@media (max-width:860px){ .sec-cta .cta-photo{ max-width:100%; } }

/* WhatsApp flutuante (só no celular) */
.wa-float{ display:none; position:fixed; right:16px; bottom:16px; z-index:55; width:56px; height:56px; border-radius:50%; background:#25D366; color:#fff; align-items:center; justify-content:center; box-shadow:0 8px 24px rgba(0,0,0,.35); }
.wa-float svg{ width:30px; height:30px; fill:currentColor; }
@media (max-width:860px){ .wa-float{ display:flex; } .theme-toast{ bottom:88px; right:88px; } }

/* rodapé */
.site-foot{ border-top:1px solid var(--line); padding:56px 0 28px; }
.foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:36px; }
.foot-grid.four{ grid-template-columns:1.4fr 1fr 1fr 1fr; }
.foot-logo{ height:44px; }
.motto{ margin-top:14px; color:var(--mut); font-size:13px; letter-spacing:.06em; }
.site-foot h4{ font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--green); margin-bottom:10px; }
.site-foot a{ color:var(--ink); }
.social a{ margin-right:16px; }
.foot-bottom{ margin-top:36px; padding-top:18px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; font-size:12px; color:var(--dim); }
@media (max-width:860px){ .foot-grid{ grid-template-columns:1fr; } }
