/* ===========================================================================
   Pódio Certo — sistema de design das páginas institucionais.
   =========================================================================== */
:root{
  --pc-blue:#1B2A4A; --pc-blue-deep:#152038; --pc-green:#1D9E75; --pc-green-d:#0F6E56;
  --pc-green-l:#5DCAA5; --pc-orange:#F07B2A; --pc-orange-d:#C2521A; --pc-off:#F5F5F0; --pc-gray:#D3D1C7;
  --pc-muted:#888780; --pc-text2:#5F5E5A; --pc-max:1200px;
  /* elevação */
  --pc-shadow-1: 0 1px 2px rgba(21,32,56,.04), 0 8px 24px -18px rgba(21,32,56,.25);
  --pc-shadow-2: 0 4px 8px rgba(21,32,56,.06), 0 16px 36px -16px rgba(21,32,56,.22);
  --pc-shadow-card-hover: 0 26px 48px -24px rgba(21,32,56,.5);
  /* superfícies */
  --pc-border:#E6E4DB; --pc-border-strong:#D3D1C7;
  --pc-r-sm:8px; --pc-r-md:14px; --pc-r-lg:16px; --pc-r-pill:999px;
  /* layout */
  --pc-content:1120px; --pc-read:880px;
  /* espaçamento base-8 */
  --pc-s1:4px; --pc-s2:8px; --pc-s3:12px; --pc-s4:16px; --pc-s5:24px; --pc-s6:32px; --pc-s7:48px; --pc-s8:64px;
}
/* reset universal de baixa especificidade (0,0,0) — classes pc-* (0,1,0) sempre vencem */
*{ box-sizing:border-box; margin:0; padding:0; }
body.pc{ font-family:'Barlow',system-ui,-apple-system,'Segoe UI',sans-serif; background:#F5F5F0; color:#1B2A4A; -webkit-font-smoothing:antialiased; }
/* tipografia de display da marca (Archivo) — une institucionais ao blog, sem mudar texto */
body.pc h1, body.pc h2, body.pc h3, body.pc h4,
body.pc .hero-title, body.pc .section-title, body.pc .consult-title,
body.pc .plan-price, body.pc .plan-price-val, body.pc .h2,
body.pc .cta-title, body.pc .fourth-title, body.pc .article-title,
body.pc .list-title, body.pc .list-num{ font-family:'Archivo',sans-serif; }
body.pc a{ text-decoration:none; }
body.pc img{ max-width:100%; }

/* ---- NAV ---- */
.pc-nav{ background:#1B2A4A; padding:0 24px; height:66px; position:sticky; top:0; z-index:50; box-shadow:0 1px 0 rgba(255,255,255,0.04); transition:box-shadow .28s ease, background .28s ease, height .28s ease; }
.pc-nav.is-scrolled{ background:#16243f; box-shadow:0 10px 30px -14px rgba(0,0,0,0.6); }
.pc-nav-inner{ max-width:var(--pc-max); margin:0 auto; width:100%; height:100%; display:flex; align-items:center; justify-content:space-between; }
/* ---- LOGO (lockup SVG + wordmark, sem chip — premium em fundo escuro) ---- */
.pc-logo{ display:inline-flex; align-items:center; gap:11px; text-decoration:none; }
.pc-logo-img{ height:46px; width:auto; display:block; transition:transform .25s cubic-bezier(.2,.8,.2,1); }
.pc-logo:hover .pc-logo-img{ transform:translateY(-1px) scale(1.02); }
.pc-logo-icon{ height:34px; width:auto; display:block; overflow:visible; }
.pc-logo-bar{ transform-box:fill-box; transform-origin:bottom; transition:transform .35s cubic-bezier(.2,.8,.2,1); }
.pc-logo:hover .pc-logo-b1{ transform:scaleY(1.12); }
.pc-logo:hover .pc-logo-b2{ transform:scaleY(1.08); transition-delay:.04s; }
.pc-logo:hover .pc-logo-b3{ transform:scaleY(1.16); transition-delay:.08s; }
.pc-logo-badge{ transform-box:fill-box; transform-origin:center; transition:transform .35s cubic-bezier(.2,.8,.2,1); }
.pc-logo:hover .pc-logo-badge{ transform:translateY(-2px) rotate(-6deg); }
.pc-logo-word{ font-family:'Archivo',sans-serif; font-weight:800; font-size:20px; line-height:1; letter-spacing:-0.015em; display:inline-flex; gap:6px; white-space:nowrap; }
.pc-logo-word .pc-w1{ color:#fff; }
.pc-logo-word .pc-w2{ color:#1D9E75; }
.pc-logo:hover .pc-logo-word .pc-w2{ color:#5DCAA5; }
.pc-logo-word .pc-w1, .pc-logo-word .pc-w2{ transition:color .25s ease; }
.pc-nav-links{ display:flex; align-items:center; gap:20px; }
.pc-nav-link{ font-size:13px; color:rgba(255,255,255,0.7); transition:color .2s ease; position:relative; }
.pc-nav-link:hover{ color:#fff; }
.pc-nav-link.active{ color:#fff; font-weight:500; }
.pc-nav-link::after{ content:''; position:absolute; left:0; right:0; bottom:-22px; height:2px; background:#1D9E75; border-radius:2px; transform:scaleX(0); transform-origin:center; transition:transform .28s cubic-bezier(.2,.7,.2,1); }
.pc-nav-link:hover::after, .pc-nav-link.active::after{ transform:scaleX(1); }
.pc-nav-sep{ width:1px; height:16px; background:rgba(255,255,255,0.15); }
.pc-nav-cta{ background:#F07B2A; color:#fff; font-size:12px; font-weight:500; padding:8px 16px; border-radius:20px; transition:transform .2s ease, box-shadow .2s ease; box-shadow:0 6px 16px -8px rgba(240,123,42,0.7); }
.pc-nav-cta:hover{ color:#fff; transform:translateY(-1px); box-shadow:0 10px 22px -8px rgba(240,123,42,0.9); }
.pc-nav-cta-sec{ background:transparent; color:rgba(255,255,255,0.82); font-size:12px; padding:8px 13px; border:1px solid rgba(255,255,255,0.25); border-radius:20px; transition:all .2s ease; }
.pc-nav-cta-sec:hover{ color:#fff; border-color:rgba(255,255,255,0.55); }
.pc-nav-toggle{ display:none; background:none; border:none; color:#fff; font-size:24px; cursor:pointer; line-height:1; padding:10px; margin:-10px; }

/* ---- SUBNAV: modalidades do blog (submenu, só nas páginas do blog) ---- */
.pc-subnav{ background:#152038; border-top:1px solid rgba(255,255,255,0.06); position:sticky; top:66px; z-index:49; }
.pc-subnav-inner{ max-width:var(--pc-max); margin:0 auto; width:100%; display:flex; align-items:center; gap:18px; padding:0 24px; height:48px; }
.pc-subnav-label{ font-size:10.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,0.4); flex-shrink:0; }
.pc-subnav-links{ display:flex; align-items:center; gap:22px; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.pc-subnav-links::-webkit-scrollbar{ display:none; }
.pc-subnav-link{ position:relative; font-size:13px; color:rgba(255,255,255,0.66); white-space:nowrap; padding:14px 0; transition:color .2s ease; }
.pc-subnav-link:hover{ color:#fff; }
.pc-subnav-link.active{ color:#fff; font-weight:600; }
.pc-subnav-link::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:2px; background:#1D9E75; border-radius:2px; transform:scaleX(0); transform-origin:center; transition:transform .26s cubic-bezier(.2,.7,.2,1); }
.pc-subnav-link:hover::after, .pc-subnav-link.active::after{ transform:scaleX(1); }

/* ---- TRUST BAR ---- */
.pc-trust{ background:#152038; padding:13px 24px; display:flex; align-items:center; justify-content:center; gap:28px; flex-wrap:wrap; }
.pc-trust-item{ display:flex; align-items:center; gap:8px; font-size:12px; color:rgba(255,255,255,0.6); }
.pc-trust-dot{ width:5px; height:5px; border-radius:50%; background:#1D9E75; flex-shrink:0; }

/* ---- BOTÕES base ---- */
.pc-btn-primary{ background:#F07B2A; color:#fff; font-size:13px; font-weight:500; padding:10px 20px; border-radius:24px; display:inline-block; transition:transform .2s ease, box-shadow .2s ease; box-shadow:0 8px 20px -8px rgba(240,123,42,0.7); }
.pc-btn-primary:hover{ color:#fff; transform:translateY(-2px); box-shadow:0 14px 28px -10px rgba(240,123,42,0.9); }
.pc-btn-secondary{ background:transparent; color:rgba(255,255,255,0.85); font-size:13px; padding:10px 20px; border:1px solid rgba(255,255,255,0.3); border-radius:24px; display:inline-block; transition:all .2s ease; }
.pc-btn-secondary:hover{ color:#fff; border-color:rgba(255,255,255,0.6); }

/* ---- FOOTER ---- */
.pc-footer{ background:#152038; padding:24px; }
.pc-footer-inner{ max-width:var(--pc-max); margin:0 auto; width:100%; display:flex; justify-content:space-between; align-items:center; gap:18px; flex-wrap:wrap; }
.pc-footer-logo{ display:inline-flex; align-items:center; gap:9px; text-decoration:none; }
.pc-footer-logo .pc-logo-icon{ height:28px; }
.pc-footer-logo .pc-logo-img{ height:40px; }
.pc-footer-logo .pc-logo-word{ font-family:'Archivo',sans-serif; font-weight:800; font-size:16px; line-height:1; letter-spacing:-0.015em; display:inline-flex; gap:5px; }
.pc-footer-logo .pc-w1{ color:#fff; }
.pc-footer-logo .pc-w2{ color:#1D9E75; }
.pc-footer-links{ display:flex; gap:20px; flex-wrap:wrap; }
.pc-footer-link{ font-size:12px; color:rgba(255,255,255,0.5); transition:color .2s ease; }
.pc-footer-link:hover{ color:#fff; }
.pc-footer-copy{ font-size:11px; color:rgba(255,255,255,0.55); }

/* =================== WOW: profundidade, brilho e movimento =================== */
@keyframes pcUp{ from{ opacity:0; transform:translateY(18px); } to{ opacity:1; transform:none; } }
@keyframes pcFade{ from{ opacity:0; } to{ opacity:1; } }

/* glow nas seções escuras (hero, cta) */
body.pc .hero, body.pc .cta-section{
  background:
    radial-gradient(circle at 86% 12%, rgba(29,158,117,0.20), transparent 55%),
    radial-gradient(circle at 8% 92%, rgba(240,123,42,0.10), transparent 52%),
    linear-gradient(135deg,#1B2A4A 0%,#152038 100%) !important;
  position:relative; overflow:hidden;
}

/* cards / hover */
body.pc .article-card{ transition:transform .28s cubic-bezier(.2,.7,.2,1), box-shadow .3s ease; }
body.pc .article-card:hover{ transform:translateY(-5px); box-shadow:0 22px 44px -26px rgba(21,32,56,0.5); }
body.pc .article-img{ position:relative; overflow:hidden; }
body.pc .article-img .icon-wrap{ transition:transform .35s cubic-bezier(.2,.7,.2,1); }
body.pc .article-card:hover .icon-wrap{ transform:scale(1.12); }
body.pc .plan-card{ transition:transform .28s cubic-bezier(.2,.7,.2,1), box-shadow .3s ease; }
body.pc .plan-card:hover{ transform:translateY(-6px); box-shadow:0 28px 54px -28px rgba(21,32,56,0.5); }
body.pc .include-card, body.pc .sport-pill, body.pc .pain-card, body.pc .value-card{ transition:transform .2s ease, box-shadow .25s ease, border-color .2s ease; }
body.pc .include-card:hover, body.pc .sport-pill:hover, body.pc .pain-card:hover, body.pc .value-card:hover{ transform:translateY(-3px); box-shadow:0 16px 32px -22px rgba(21,32,56,0.45); }
body.pc .cat-pill{ transition:all .2s ease; cursor:pointer; }
body.pc .cat-pill:hover{ border-color:#1B2A4A; color:#1B2A4A; }
body.pc .list-item{ transition:transform .2s ease, background .2s ease; border-radius:8px; }
body.pc .list-item:hover{ transform:translateX(4px); }
body.pc .list-num{ transition:color .2s ease; }
body.pc .list-item:hover .list-num{ color:#1D9E75; }
body.pc .btn-plan{ transition:transform .2s ease, box-shadow .25s ease, background .2s ease, color .2s ease; }
body.pc .btn-plan:hover{ transform:translateY(-2px); }
body.pc .btn-plan:not(.primary):hover{ background:#1B2A4A; color:#fff; }
body.pc .btn-plan.primary:hover{ box-shadow:0 16px 30px -10px rgba(240,123,42,0.85); }
/* CTAs com lift */
body.pc .hero-cta, body.pc .cta-btn, body.pc .consult-cta, body.pc .hero-plans-cta, body.pc .btn-fourth, body.pc .btn-primary, body.pc .btn-secondary, body.pc .btn-fourth-mini, body.pc .affiliate-btn{ transition:transform .2s ease, box-shadow .25s ease, background .2s ease, border-color .2s ease; }
body.pc .hero-cta:hover, body.pc .cta-btn:hover, body.pc .consult-cta:hover, body.pc .hero-plans-cta:hover{ transform:translateY(-2px); box-shadow:0 16px 30px -12px rgba(240,123,42,0.6); }
body.pc .btn-fourth:hover{ transform:translateY(-2px); box-shadow:0 14px 26px -12px rgba(29,158,117,0.6); }
body.pc .btn-fourth-mini:hover{ border-color:rgba(255,255,255,0.6); color:#fff; }
body.pc .section-link, body.pc .affiliate-btn{ transition:opacity .2s ease, background .2s ease; }
body.pc .section-link:hover{ opacity:.7; }
body.pc .affiliate-btn:hover{ background:#CFEFE2; }

/* reveal on scroll (classe adicionada via JS — sem JS, tudo visível) */
.pc-reveal{ opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s cubic-bezier(.2,.7,.2,1); will-change:opacity, transform; }
.pc-reveal.pc-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .pc-reveal{ opacity:1 !important; transform:none !important; transition:none !important; } }

/* ===================== AA+ : profundidade de marca nas faixas escuras ===================== */
body.pc .consult-banner, body.pc .pc-banner, body.pc .pc-news{
  position:relative; overflow:hidden;
  background:
    radial-gradient(circle at 90% 18%, rgba(29,158,117,.16), transparent 60%),
    linear-gradient(135deg,#1B2A4A,#16243f) !important;
}
body.pc .pc-trust{ background:linear-gradient(90deg,#152038,#16243f 50%,#152038) !important; }
/* costura claro→escuro: sombra interna sutil no topo do miolo claro */
body.pc .content-area{ box-shadow:inset 0 8px 20px -18px rgba(21,32,56,.40); }

/* ===================== AA+ : foco acessível (teclado) ===================== */
body.pc a:focus-visible, body.pc button:focus-visible{ outline:2px solid #1D9E75; outline-offset:3px; border-radius:4px; }
body.pc .article-card:focus-visible, body.pc .pc-card:focus-visible{ outline:2px solid #5DCAA5; outline-offset:3px; box-shadow:0 0 0 5px rgba(29,158,117,.18); }
body.pc .pc-nav-link:focus-visible, body.pc .pc-nav-cta-sec:focus-visible, body.pc .pc-subnav-link:focus-visible{ outline:2px solid #5DCAA5; outline-offset:4px; }

/* ============================ RESPONSIVO / MOBILE ============================ */
@media (max-width:860px){
  body.pc{ overflow-x:hidden; }
  .pc-nav{ padding:8px 16px; height:auto; }
  .pc-nav-inner{ flex-wrap:wrap; row-gap:8px; }
  .pc-subnav{ display:none; }                 /* tags de esporte: menos importante no mobile */
  .pc-nav-toggle{ display:none; }             /* sem hambúrguer: menu principal já aparece */
  .pc-nav-links{ display:flex; order:3; width:100%; flex-wrap:wrap; align-items:center; gap:12px 18px; padding-top:8px; border-top:1px solid rgba(255,255,255,0.10); }
  .pc-nav-link::after, .pc-nav-link.active::after{ display:none; }
  .pc-nav-sep{ display:block; width:100%; height:0; background:none; margin:0; flex-basis:100%; }
  .pc-nav-cta, .pc-nav-cta-sec{ font-size:12px; padding:7px 14px; }
  .pc-trust{ flex-direction:column; align-items:flex-start; gap:8px; }
  .pc-footer-inner{ flex-direction:column; align-items:flex-start; }

  /* todas as grades viram 1 coluna e nada estoura a largura */
  body.pc .hero, body.pc .hero-inner, body.pc .articles, body.pc .plans-grid,
  body.pc .includes-grid, body.pc .profiles, body.pc .sports-grid, body.pc .values,
  body.pc .pain-grid, body.pc .diff-grid, body.pc .infographic-grid{ grid-template-columns:1fr !important; }
  body.pc .numbers-inner{ flex-direction:column; gap:16px; }
  body.pc .number-sep{ display:none; }
  body.pc .consult-banner, body.pc .fourth-option, body.pc .marina-inner, body.pc .fourth-right{ flex-direction:column !important; align-items:flex-start !important; }
  body.pc *{ min-width:0; max-width:100%; }
  body.pc .hero-sub, body.pc .consult-sub, body.pc .section-sub, body.pc .body-text, body.pc p,
  body.pc .article-title, body.pc .list-title, body.pc .plan-name, body.pc .pc-trust-item,
  body.pc .cred-text, body.pc .hero-title, body.pc .fourth-mini-text{ overflow-wrap:break-word; word-break:normal; }
  body.pc .hero, body.pc .content-area, body.pc .page, body.pc .section, body.pc .section-alt-inner,
  body.pc .problem-section, body.pc .pain-inner, body.pc .diff-inner, body.pc .steps-section,
  body.pc .marina-inner, body.pc .hero-inner, body.pc .infographic{ padding-left:18px !important; padding-right:18px !important; }
  body.pc .hero-title{ font-size:26px !important; }
}
@media (max-width:520px){
  body.pc .includes-grid{ grid-template-columns:1fr !important; }
}
@media (prefers-reduced-motion: reduce){
  body.pc *{ animation:none !important; }
}
