:root{
  --bg:#f6f7f8;--sup:#fff;--sup2:#eef1f3;--tx:#16212b;--tx2:#55636f;--bd:#dde2e6;
  --ac:#0d7a85;--ac-tx:#fff;--sombra:0 1px 2px rgba(20,32,43,.06),0 8px 24px rgba(20,32,43,.06);
  --r:16px;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
@media(prefers-color-scheme:dark){:root:not([data-tema="claro"]){
  --bg:#0c1219;--sup:#141c26;--sup2:#1b2532;--tx:#e8edf2;--tx2:#9aa8b5;--bd:#243040;
  --ac:#37bfca;--ac-tx:#06222a;--sombra:none}}
:root[data-tema="escuro"]{
  --bg:#0c1219;--sup:#141c26;--sup2:#1b2532;--tx:#e8edf2;--tx2:#9aa8b5;--bd:#243040;
  --ac:#37bfca;--ac-tx:#06222a;--sombra:none}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{background:var(--bg);color:var(--tx);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:3px solid var(--ac);outline-offset:3px;border-radius:6px}
.wrap{width:min(1120px,100% - 40px);margin-inline:auto}

.topo{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--bd)}
.topo-in{display:flex;align-items:center;gap:24px;height:60px}
.marca{font-weight:800;font-size:1.2rem;letter-spacing:-.02em;text-decoration:none;margin-right:auto}
.menu{display:flex;gap:20px}
.menu a{text-decoration:none;color:var(--tx2);font-size:.95rem}
.menu a:hover{color:var(--tx)}
.tema{width:40px;height:40px;border-radius:50%;border:1px solid var(--bd);background:var(--sup);color:var(--tx);cursor:pointer;display:grid;place-items:center}
.tema span::before{content:"☾";font-size:1.1rem}
:root[data-tema="escuro"] .tema span::before{content:"☀"}
@media(prefers-color-scheme:dark){:root:not([data-tema="claro"]) .tema span::before{content:"☀"}}

.hero{padding:56px 0 24px;text-align:center}
.hero h1{font-size:clamp(1.9rem,4.6vw,3.2rem);line-height:1.12;letter-spacing:-.03em;max-width:20ch;margin-inline:auto}
.hero>p{color:var(--tx2);max-width:60ch;margin:18px auto 32px;font-size:1.08rem}
.video{aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:#0d1117;border:1px solid var(--bd);box-shadow:var(--sombra)}
.video iframe{width:100%;height:100%;border:0;display:block}
.video-vazio{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#dfe6ec;padding:20px}
.video-vazio strong{font-size:1.3rem}
.video-vazio span{color:#9aa8b5;margin-bottom:8px}

.sessao{padding:56px 0 8px}
.sessao h2{font-size:clamp(1.4rem,2.6vw,1.9rem);letter-spacing:-.02em;line-height:1.2}
.sub{color:var(--tx2);margin-top:6px;max-width:64ch}
.grade{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px}
@media(max-width:900px){.grade{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.grade{grid-template-columns:1fr}.menu{display:none}}

.cartao{background:var(--sup);border:1px solid var(--bd);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--sombra)}
.cartao-topo{aspect-ratio:16/9;display:grid;place-items:center;font-size:3.2rem;background:var(--sup2);border-bottom:1px solid var(--bd)}
.cartao-corpo{padding:22px;display:flex;flex-direction:column;gap:12px;flex:1}
.cartao h3{font-size:1.25rem;line-height:1.25}
.cartao p{color:var(--tx2);font-size:.97rem;flex:1}
.cartao.breve{opacity:.72}

.btn{display:inline-block;align-self:flex-start;background:var(--ac);color:var(--ac-tx);text-decoration:none;font-weight:700;padding:11px 20px;border-radius:999px;border:0;font-size:.95rem;transition:filter .15s}
.btn:hover{filter:brightness(1.1)}
.btn.off{background:var(--sup2);color:var(--tx2);border:1px solid var(--bd);cursor:default}
.btn.off:hover{filter:none}

.canal,.contato{background:var(--sup);border:1px solid var(--bd);border-radius:var(--r);padding:32px;box-shadow:var(--sombra)}
.canal{display:flex;gap:28px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.canal>div{flex:1 1 380px}
.canal p,.contato p{color:var(--tx2);margin-top:10px;max-width:64ch}
.contato .btn{margin-top:20px}

.rodape{margin-top:64px;border-top:1px solid var(--bd);padding:28px 0;color:var(--tx2);font-size:.9rem;text-align:center}
.zap-fixo{position:fixed;right:18px;bottom:18px;width:54px;height:54px;border-radius:50%;background:#1fa855;color:#fff;display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.25);z-index:20}
.zap-fixo:hover{filter:brightness(1.08)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
