@font-face {
  font-family: 'Inter OSS';
  src: url('fonts/inter-variable.ttf') format('truetype');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: 'Barlow Condensed OSS';
  src: url('fonts/barlow-condensed-regular.ttf') format('truetype');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Barlow Condensed OSS';
  src: url('fonts/barlow-condensed-medium.ttf') format('truetype');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: 'Barlow Condensed OSS';
  src: url('fonts/barlow-condensed-semibold.ttf') format('truetype');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: 'Barlow Condensed OSS';
  src: url('fonts/barlow-condensed-bold.ttf') format('truetype');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: 'Barlow Condensed OSS';
  src: url('fonts/barlow-condensed-extrabold.ttf') format('truetype');
  font-style: normal;
  font-weight: 800;
  font-display: swap;
}
@font-face {
  font-family: 'Nothing You Could Do OSS';
  src: url('fonts/nothing-you-could-do-regular.ttf') format('truetype');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  :root {
    --petroleo:    #16222E;
    --petroleo-dk: #101D26;
    --petroleo-lt: #1B2934;
    --ambar:       #BA8043;
    --ambar-lt:    #CB955F;
    --offwhite:    #E3DCD6;
    --offwhite-dim:rgba(227,220,214,0.7);
    --offwhite-faint:rgba(227,220,214,0.06);
    --muted:       rgba(227,220,214,0.58);
    --border:      rgba(227,220,214,0.1);
    --border-md:   rgba(227,220,214,0.2);
    --radius:      4px;
    --radiussm:    3px;
  }
  html { scroll-behavior: smooth; }
  section[id] { scroll-margin-top: 66px; }
  /* overflow-x: clip (não 'hidden') — 'hidden' no body torna o body um container
     de scroll no Safari/iOS e quebra position:fixed (nav, bottomnav, FAB). 'clip'
     recorta igual sem criar esse container. */
  body { font-family: 'Inter OSS', system-ui, sans-serif; background: var(--petroleo); color: var(--offwhite); line-height: 1.6; overflow-x: clip; }

  /* NAV */
  nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 100;
    padding: 0 5vw; height: 66px;
    display: flex; align-items: center; justify-content: space-between;
    background: rgba(22,34,46,0.97);
    /* sem backdrop-filter: quebra position:fixed no Safari/iOS (WebKit) */
    border-bottom: 1px solid var(--border);
  }
  .nav-logo img { height: 32px; width: auto; display: block; }
  .nav-cta {
    background: var(--ambar); color: var(--petroleo-dk);
    font-family: var(--display);
    font-size: 12px; font-weight: 800;
    letter-spacing: 0.08em; text-transform: uppercase;
    padding: 9px 20px; border-radius: var(--radiussm);
    text-decoration: none; border: none; cursor: pointer;
    transition: background 0.2s, transform 0.15s;
  }
  .nav-cta:hover { background: var(--ambar-lt); transform: translateY(-1px); }

  /* HERO */
  .hero {
    background: var(--petroleo-dk);
    min-height: 100vh;
    display: flex; flex-direction: column; justify-content: center;
    padding: 130px 5vw 90px;
    position: relative; overflow: hidden;
    border-bottom: 1px solid var(--border);
  }
  .hero-inner { max-width: 680px; position: relative; z-index: 1; }
  .hero-eyebrow {
    font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase;
    color: var(--ambar); font-weight: 500; margin-bottom: 1.5rem;
    opacity: 0; animation: fadeUp 0.6s 0.1s forwards;
  }
  .hero-h1 {
    font-family: var(--display);
    font-size: clamp(38px, 6.5vw, 74px); font-weight: 800;
    color: var(--offwhite); line-height: 1.05;
    letter-spacing: 0.01em; text-transform: uppercase; margin-bottom: 1.5rem;
    opacity: 0; animation: fadeUp 0.6s 0.25s forwards;
  }
  .hero-h1 em { color: var(--ambar); font-style: normal; }
  .hero-body {
    font-size: clamp(15px, 1.8vw, 17px); color: var(--muted);
    font-weight: 300; max-width: 520px; line-height: 1.8; margin-bottom: 2.5rem;
    opacity: 0; animation: fadeUp 0.6s 0.4s forwards;
  }
  .hero-actions {
    display: flex; gap: 12px; flex-wrap: wrap;
    opacity: 0; animation: fadeUp 0.6s 0.55s forwards;
  }
  .btn-primary {
    background: var(--ambar); color: var(--petroleo-dk);
    font-family: var(--display);
    font-size: 13px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase;
    padding: 14px 28px; border-radius: var(--radiussm);
    text-decoration: none; border: none; cursor: pointer;
    transition: background 0.2s, transform 0.15s; display: inline-block;
  }
  .btn-primary:hover { background: var(--ambar-lt); transform: translateY(-2px); }
  .btn-ghost {
    background: transparent; color: var(--muted);
    font-family: var(--body); font-size: 14px; font-weight: 400;
    padding: 14px 24px; border-radius: var(--radiussm);
    border: 1px solid var(--border-md); text-decoration: none; cursor: pointer;
    transition: border-color 0.2s, color 0.2s; display: inline-block;
  }
  .btn-ghost:hover { border-color: var(--offwhite-dim); color: var(--offwhite); }
  .hero-stats {
    display: flex; gap: 3rem; flex-wrap: wrap;
    margin-top: 5rem; padding-top: 2.5rem; border-top: 1px solid var(--border);
    opacity: 0; animation: fadeUp 0.6s 0.7s forwards;
  }
  .stat-item .val {
    font-family: var(--display);
    font-size: 26px; font-weight: 800; color: var(--ambar);
    line-height: 1; margin-bottom: 5px; text-transform: uppercase;
  }
  .stat-item .lbl { font-size: 12px; color: var(--muted); line-height: 1.45; }

  /* SECTIONS */
  section { padding: 90px 5vw; }
  .section-eyebrow { font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--ambar); font-weight: 500; margin-bottom: 1rem; }
  .section-title {
    font-family: var(--display);
    font-size: clamp(28px, 4vw, 48px); font-weight: 800; line-height: 1.05;
    margin-bottom: 1rem; color: var(--offwhite); text-transform: uppercase; letter-spacing: 0.01em;
  }
  .section-title em { color: var(--ambar); font-style: normal; }
  .section-sub { font-size: 16px; color: var(--muted); max-width: 560px; line-height: 1.75; font-weight: 300; }
  .section-sub strong { color: var(--offwhite); font-weight: 600; }
  .section-head { margin-bottom: 3.5rem; }

  /* VIDEO SOCIAL PROOF */
  .video-section {
    background: var(--petroleo-dk);
    border-bottom: 1px solid var(--border);
    padding: 90px 5vw;
  }
  .video-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
    align-items: center;
    max-width: 1100px;
    margin: 0 auto;
  }
  .video-left {}
  .video-label {
    font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
    color: var(--ambar); font-weight: 500; margin-bottom: 1rem;
  }
  .video-title {
    font-family: var(--display);
    font-size: clamp(24px, 3.5vw, 40px); font-weight: 800;
    color: var(--offwhite); text-transform: uppercase;
    line-height: 1.1; letter-spacing: 0.01em; margin-bottom: 1.25rem;
  }
  .video-title em { color: var(--ambar); font-style: normal; }
  .video-desc {
    font-size: 15px; color: var(--muted);
    line-height: 1.75; font-weight: 300; margin-bottom: 2rem;
  }
  .video-desc em { color: var(--faixa); font-style: normal; font-weight: 600; }
  .video-desc strong { color: var(--offwhite); font-weight: 600; }
  .video-stats {
    display: flex; gap: 2rem; flex-wrap: wrap;
    padding-top: 1.5rem; border-top: 1px solid var(--border);
  }
  .vstat .vval {
    font-family: var(--display);
    font-size: 22px; font-weight: 800; color: var(--ambar);
    line-height: 1; margin-bottom: 4px;
  }
  .vstat .vlbl { font-size: 12px; color: var(--muted); line-height: 1.4; }
  .video-right {
    display: flex; justify-content: center; align-items: center;
  }
  .video-wrap {
    position: relative;
    width: 100%;
    max-width: 320px;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid var(--border-md);
    box-shadow: 0 24px 60px rgba(0,0,0,0.4);
  }
  .video-wrap::before {
    content: '';
    display: block;
    padding-top: 177.78%; /* 9:16 ratio */
  }
  .video-wrap iframe {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    border: none;
  }

  @media (max-width: 768px) {
    .video-inner { grid-template-columns: 1fr; gap: 2.5rem; }
    .video-right { order: -1; }
    .video-wrap { max-width: 260px; margin: 0 auto; }
  }

  /* PAIN */
  .pain-section { background: var(--petroleo); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
  /* instrução do autodiagnóstico — badge âmbar, evidente, com o mesmo ícone
     de check dos cards (reforça que a seção é interativa/clicável) */
  .pain-instruction {
    display: inline-flex; align-items: center; gap: 0.55rem;
    margin-top: 1.15rem; padding: 0.55rem 1.1rem;
    border-radius: 999px;
    background: rgba(186,128,67,0.14);
    border: 1px solid rgba(186,128,67,0.4);
    font-family: var(--body, inherit); font-weight: 700;
    font-size: 14.5px; line-height: 1.3; letter-spacing: 0.005em;
    color: var(--ambar-lt);
  }
  .pain-instruction svg { width: 14px; height: 14px; flex: 0 0 auto; }
  @media (max-width: 520px) {
    .pain-instruction { font-size: 13.5px; padding: 0.5rem 0.9rem; }
  }
  /* autodiagnóstico: cards clicáveis em grid 3×2 */
  .pain-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
  .pain-item {
    position: relative; text-align: left; cursor: pointer; width: 100%;
    font-family: inherit; color: inherit; appearance: none; -webkit-appearance: none;
    background: var(--petroleo-lt); border: 1px solid var(--border-md); border-radius: var(--radius);
    padding: 1.5rem 1.5rem 1.6rem; display: flex; flex-direction: column; gap: 0.85rem;
    transition: border-color .25s, transform .2s, background .25s, box-shadow .25s;
  }
  .pain-item:hover { border-color: var(--ambar); transform: translateY(-3px); }
  .pain-num { font-family: var(--display); font-size: 42px; font-weight: 800; color: var(--ambar); opacity: 0.28; line-height: 1; transition: opacity .25s; }
  .pain-item:hover .pain-num { opacity: 0.6; }
  .pain-text { font-size: 14px; color: var(--offwhite-dim); line-height: 1.6; }
  .pain-check {
    position: absolute; top: 1.4rem; right: 1.4rem; width: 26px; height: 26px; border-radius: 50%;
    border: 2px solid var(--border-md); color: transparent;
    display: flex; align-items: center; justify-content: center; transition: border-color .2s, background .2s, color .2s;
  }
  .pain-check svg { width: 15px; height: 15px; transform: scale(0); transition: transform .25s var(--ease); }
  /* estado marcado */
  .pain-item.marked { border-color: var(--ambar); background: rgba(186,128,67,0.09); }
  .pain-item.marked .pain-num { opacity: 1; }
  .pain-item.marked .pain-text { color: var(--offwhite); }
  .pain-item.marked .pain-check { border-color: var(--ambar); background: var(--ambar); color: var(--petroleo-dk); }
  .pain-item.marked .pain-check svg { transform: scale(1); }
  /* placar */
  .pain-tally { margin-top: 2.25rem; max-width: 700px; }
  .pain-bar { height: 4px; border-radius: 4px; background: var(--border-md); overflow: hidden; margin-bottom: 1.1rem; }
  .pain-bar-fill { display: block; height: 100%; width: 0; border-radius: 4px; background: linear-gradient(90deg, var(--ambar), var(--ambar-lt)); transition: width .45s var(--ease); }
  .pain-tally-msg { font-size: 16px; color: var(--offwhite); font-weight: 500; line-height: 1.5; margin-bottom: 1.1rem; min-height: 1.3em; }
  .pain-tally-cta { display: inline-block; opacity: .45; pointer-events: none; transition: opacity .3s; }
  .pain-tally.has-marks .pain-tally-cta { opacity: 1; pointer-events: auto; }
  @media (max-width: 860px) { .pain-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 520px) { .pain-grid { grid-template-columns: 1fr; } }

  /* PILLARS — diagrama de sistema (núcleo OSS + barramento âmbar) */
  .pillars-section { background: var(--petroleo-dk); border-bottom: 1px solid var(--border); }
  .system { display: grid; grid-template-columns: 248px 1fr; align-items: center; position: relative; }

  /* núcleo */
  .system-core { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 1.1rem; padding-right: 2rem; }
  .system-core::after { /* fio horizontal do núcleo até o barramento */
    content: ''; position: absolute; left: 100%; top: 50%; width: 29px; height: 2px; background: var(--ambar);
  }
  .core-badge {
    position: relative; width: 132px; height: 132px; border-radius: 22px;
    background: var(--petroleo-lt); border: 1px solid rgba(186,128,67,0.4);
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 0 0 6px rgba(186,128,67,0.06), inset 0 0 30px rgba(186,128,67,0.10);
  }
  .core-badge::before { /* glow radial atrás do núcleo */
    content: ''; position: absolute; inset: -34%; border-radius: 50%;
    background: radial-gradient(circle, rgba(186,128,67,0.22), transparent 62%); filter: blur(8px); z-index: -1;
  }
  .core-badge span { font-family: var(--display); font-size: 44px; color: var(--ambar); letter-spacing: 0.03em; }
  .core-label { font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--offwhite); }
  .core-meta { font-size: 12px; color: var(--muted); margin-top: 4px; }

  /* trilho: barramento + cards */
  .system-rail { position: relative; padding-left: 60px; display: flex; flex-direction: column; gap: 1.25rem; }
  .rail-line { position: absolute; left: 29px; top: 18px; bottom: 18px; width: 2px; background: var(--ambar); opacity: 0.8; transform-origin: top; }

  .pillar {
    position: relative;
    background: var(--petroleo-lt); border: 1px solid var(--border-md); border-radius: var(--radius);
    padding: 1.6rem 1.75rem; transition: border-color 0.25s, transform 0.2s;
  }
  .pillar:hover { border-color: var(--ambar); transform: translateX(4px); }
  .pillar::before { /* stub do barramento até o card */
    content: ''; position: absolute; left: -31px; top: 30px; width: 31px; height: 2px; background: var(--ambar); opacity: 0.8;
  }
  .pillar-node {
    position: absolute; left: -37px; top: 23px; width: 13px; height: 13px; border-radius: 50%;
    background: rgba(186,128,67,0.4); border: 2px solid var(--ambar); z-index: 2;
    transition: background 0.3s, box-shadow 0.3s, transform 0.3s;
  }
  .pillar-node.lit { background: var(--ambar); box-shadow: 0 0 14px rgba(186,128,67,0.7); }
  .pillar:hover .pillar-node { background: var(--ambar); box-shadow: 0 0 16px rgba(186,128,67,0.8); }
  .pillar-head { margin-bottom: 0.85rem; }
  .pillar-num { display: block; font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--ambar); font-weight: 500; margin-bottom: 0.35rem; }
  .pillar-name { font-family: var(--display); font-size: 22px; font-weight: 800; color: var(--offwhite); line-height: 1.1; text-transform: uppercase; letter-spacing: 0.02em; }
  .pillar-subtitle { font-family: var(--body); font-size: 13px; font-weight: 600; color: var(--ambar); margin-top: 0.35rem; }
  .pillar-desc { font-size: 14px; color: var(--muted); line-height: 1.7; margin-bottom: 1.25rem; font-weight: 300; }
  .tags { display: flex; flex-wrap: wrap; gap: 8px; }
  .tag { font-size: 12px; padding: 5px 12px; border-radius: 20px; border: 1px solid var(--ambar); color: var(--ambar-lt); background: rgba(186,128,67,0.1); font-weight: 500; transition: border-color .2s, color .2s, background .2s; }

  /* mobile: núcleo no topo, barramento desce vertical pelos cards */
  @media (max-width: 860px) {
    .system { grid-template-columns: 1fr; }
    .system-core { flex-direction: row; align-items: center; gap: 1rem; padding-right: 0; margin-bottom: 0.5rem; }
    .system-core::after { left: 30px; top: 100%; width: 2px; height: 22px; }
    .core-badge { width: 84px; height: 84px; border-radius: 16px; }
    .core-badge span { font-size: 30px; }
  }

  /* HOW */
  .how-section { background: var(--petroleo); border-bottom: 1px solid var(--border); }
  .steps { display: flex; flex-direction: column; max-width: 680px; }
  .step { display: grid; grid-template-columns: 48px 1fr; gap: 1.5rem; align-items: start; padding-bottom: 2.5rem; }
  .step:last-child { padding-bottom: 0; }
  .step-left { display: flex; flex-direction: column; align-items: center; }
  .step-circle {
    width: 48px; height: 48px; border-radius: 50%;
    background: rgba(186,128,67,0.1); border: 1px solid rgba(186,128,67,0.35);
    display: flex; align-items: center; justify-content: center;
    font-family: var(--display); font-size: 18px; font-weight: 800; color: var(--ambar); flex-shrink: 0;
  }
  .step-line { width: 1px; flex: 1; margin-top: 8px; background: var(--border); min-height: 24px; }
  .step:last-child .step-line { display: none; }
  .step-content { padding-top: 10px; }
  .step-title { font-family: var(--display); font-size: 15px; font-weight: 800; color: var(--offwhite); margin-bottom: 0.5rem; text-transform: uppercase; letter-spacing: 0.02em; line-height: 1.2; }
  .step-desc { font-size: 14px; color: var(--muted); line-height: 1.75; font-weight: 300; }

  /* PLANS */
  .plans-section { background: var(--petroleo-dk); border-bottom: 1px solid var(--border); }
  .plans-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1rem; }
  .plan-card { background: var(--petroleo-lt); border: 1px solid var(--border-md); border-radius: var(--radius); padding: 2rem 1.75rem; transition: transform 0.2s, border-color 0.2s; }
  .plan-card:hover { transform: translateY(-4px); }
  .plan-card.featured { border-color: var(--ambar); }
  .plan-badge { font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; margin-bottom: 0.75rem; color: var(--muted); }
  .plan-card.featured .plan-badge { color: var(--ambar); }
  .plan-name { font-family: var(--display); font-size: 24px; font-weight: 800; margin-bottom: 1.5rem; color: var(--offwhite); text-transform: uppercase; letter-spacing: 0.02em; }
  .plan-divider { height: 1px; background: var(--border); margin-bottom: 1.5rem; }
  .plan-items { display: flex; flex-direction: column; gap: 10px; }
  .plan-item { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: var(--muted); line-height: 1.55; }
  .check-icon { width: 16px; height: 16px; flex-shrink: 0; margin-top: 1px; }

  /* MENTOR */
  .mentor-section { background: var(--petroleo); border-bottom: 1px solid var(--border); }
  .mentor-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
  .mentor-quote { font-family: var(--body); font-size: clamp(17px, 2.2vw, 23px); font-style: italic; color: var(--offwhite); line-height: 1.55; margin-bottom: 2rem; border-left: 2px solid var(--ambar); padding-left: 1.5rem; }
  .mentor-bio { font-size: 15px; color: var(--muted); line-height: 1.8; font-weight: 300; }
  .mentor-bio strong { color: var(--offwhite); font-weight: 500; }
  .mentor-right { background: var(--petroleo-lt); border: 1px solid var(--border-md); border-radius: var(--radius); padding: 2.5rem 2rem; }
  .mentor-avatar-wrap { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
  .avatar-circle { width: 56px; height: 56px; border-radius: 50%; background: rgba(186,128,67,0.1); border: 1px solid rgba(186,128,67,0.3); display: flex; align-items: center; justify-content: center; font-family: var(--display); font-size: 24px; font-weight: 800; color: var(--ambar); flex-shrink: 0; }
  .mentor-name { font-family: var(--display); font-size: 15px; font-weight: 800; color: var(--offwhite); margin-bottom: 2px; text-transform: uppercase; letter-spacing: 0.04em; }
  .mentor-role { font-size: 12px; color: var(--muted); }
  .mentor-creds { display: flex; flex-direction: column; gap: 10px; border-top: 1px solid var(--border); padding-top: 1.5rem; }
  .cred-item { display: flex; gap: 10px; align-items: flex-start; }
  .cred-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--ambar); margin-top: 7px; flex-shrink: 0; }
  .cred-text { font-size: 13px; color: var(--muted); line-height: 1.55; }

  /* CTA */
  .cta-section { background: var(--petroleo-dk); text-align: center; padding: 110px 5vw; position: relative; overflow: hidden; }
  .cta-section::before {
    content: ''; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
    width: 500px; height: 500px; border-radius: 50%;
    border: 1px solid rgba(186,128,67,0.08); pointer-events: none;
  }
  .cta-section::after {
    content: ''; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
    width: 300px; height: 300px; border-radius: 50%;
    border: 1px solid rgba(186,128,67,0.12); pointer-events: none;
  }
  .cta-inner { position: relative; z-index: 1; }
  .cta-logo { height: 56px; width: auto; margin: 0 auto 2rem; display: block; opacity: 0.9; }
  .cta-section .section-eyebrow { display: block; margin-bottom: 1rem; }
  .cta-title { font-family: var(--display); font-size: clamp(30px, 5vw, 60px); font-weight: 800; color: var(--offwhite); line-height: 1.05; margin-bottom: 1.25rem; text-transform: uppercase; letter-spacing: 0.01em; }
  .cta-title em { color: var(--ambar); font-style: normal; }
  .cta-sub { font-size: 16px; color: var(--muted); max-width: 460px; margin: 0 auto 2.5rem; line-height: 1.75; font-weight: 300; }

  /* FOOTER */
  footer { background: var(--petroleo-dk); border-top: 1px solid var(--border); padding: 2.5rem 5vw; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1.5rem; }
  .footer-logo img { height: 28px; width: auto; display: block; opacity: 0.75; transition: opacity 0.2s; }
  .footer-logo img:hover { opacity: 1; }
  .footer-right { text-align: right; }
  .footer-tagline { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); margin-bottom: 4px; }
  .footer-copy { font-size: 12px; color: rgba(227,220,214,0.25); }

  @keyframes fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
  .reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.65s, transform 0.65s; }
  .reveal.visible { opacity: 1; transform: translateY(0); }

  @media (max-width: 768px) {
    nav { padding: 0 1.25rem; }
    .nav-logo img { height: 26px; }
    section { padding: 64px 1.25rem; }
    .hero { padding: 110px 1.25rem 64px; }
    .mentor-inner { grid-template-columns: 1fr; gap: 2.5rem; }
    .hero-stats { gap: 1.75rem; }
    footer { flex-direction: column; text-align: center; }
    .footer-right { text-align: center; }
    .cta-logo { height: 44px; }
  }

:root{
    /* Tokens oficiais da nova identidade. Os nomes legados permanecem como
       aliases para manter as páginas internas compatíveis. */
    --petroleo:      #16222E;
    --petroleo-dk:   #101D26;
    --petroleo-lt:   #1B2934;
    --ambar:         #BA8043;
    --ambar-lt:      #CB955F;
    --offwhite:      #E3DCD6;
    --offwhite-dim:  rgba(227,220,214,0.70);
    --offwhite-faint:rgba(227,220,214,0.06);
    --muted:         rgba(227,220,214,0.58);
    --border:        rgba(227,220,214,0.10);
    --border-md:     rgba(227,220,214,0.20);
    --ink-3:    #1B2934;
    --faixa:    #BA8043;
    --faixa-lt: #CB955F;
    --display: 'Barlow Condensed OSS', 'Arial Narrow', sans-serif;
    --mono:    'Barlow Condensed OSS', 'Arial Narrow', sans-serif;
    --body:    'Inter OSS', system-ui, sans-serif;
    --hand:    'Nothing You Could Do OSS', cursive;
    --ease:    cubic-bezier(.2,.7,.2,1);
  }

  body{ font-family: var(--body); background: var(--petroleo); color: var(--offwhite); }

  /* film grain ------------------------------------------------ */
  body::after{
    content:''; position:fixed; inset:0; z-index:9998; pointer-events:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    opacity:0.05; mix-blend-mode:overlay;
  }

  /* barra de faixa (progresso de scroll) ---------------------- */
  .faixa-progress{
    position:fixed; top:0; left:0; height:3px; width:0; z-index:300;
    background:linear-gradient(90deg, var(--faixa), var(--faixa-lt));
    box-shadow:0 0 12px rgba(186,128,67,0.6);
  }

  /* ---- SISTEMA TIPOGRÁFICO ---------------------------------- */
  .hero-h1, .section-title, .video-title, .cta-title,
  .pillar-name, .plan-name, .step-title, .mentor-name,
  .stat-item .val, .vstat .vval, .pain-num,
  .step-circle, .avatar-circle{
    font-family: var(--display) !important; font-weight:700 !important;
  }
  .hero-h1{ letter-spacing:-0.005em; line-height:0.93; }
  .section-title, .cta-title, .video-title{ letter-spacing:0.005em; line-height:0.96; }
  .pillar-name, .plan-name, .step-title, .mentor-name{ letter-spacing:0.012em; }

  .hero-eyebrow, .section-eyebrow, .video-label, .pillar-num,
  .plan-badge, .footer-tagline, .mentor-role, .footer-copy,
  .tag, .nav-cta, .btn-primary, .btn-ghost,
  .stat-item .lbl, .vstat .vlbl{
    font-family: var(--mono) !important;
  }
  .nav-cta, .btn-primary, .btn-ghost{ font-weight:700; letter-spacing:0.07em; }

  /* tick vermelho nos rótulos --------------------------------- */
  .hero-eyebrow::before, .section-eyebrow::before, .video-label::before{
    content:''; display:inline-block; width:16px; height:2px;
    background:var(--faixa); vertical-align:middle; margin-right:9px;
    transform:translateY(-2px);
  }

  /* ---- NAV --------------------------------------------------- */
  nav{ background:rgba(16,29,38,0.94); border-bottom:1px solid var(--border); transition:background .3s, border-color .3s; }
  nav.scrolled{ background:rgba(16,29,38,0.98); border-bottom-color:var(--border-md); }

  /* ---- HERO atmosfera --------------------------------------- */
  .hero{ background:var(--petroleo-dk); }
  .hero::before{
    content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
    background:
      radial-gradient(125% 80% at 50% 0%, transparent 38%, rgba(0,0,0,0.6) 100%);
  }
  /* fundo de pontos animados (Three.js) — atrás do conteúdo do hero */
  .hero-dots{ position:absolute; inset:0; z-index:0; pointer-events:none; }
  .hero-dots canvas{ display:block; width:100%; height:100%; }
  .hero--video .hero-grid{ position:relative; z-index:1; }
  .hero::after{
    content:''; position:absolute; z-index:0; pointer-events:none;
    width:62vw; height:62vw; max-width:780px; max-height:780px;
    top:-14%; right:-10%; border-radius:50%;
    background:radial-gradient(circle, rgba(186,128,67,0.24), rgba(186,128,67,0.06) 42%, transparent 70%);
    filter:blur(36px);
    animation:glowDrift 17s ease-in-out infinite alternate;
  }
  @keyframes glowDrift{ from{ transform:translate(0,0) scale(1);} to{ transform:translate(-7%,9%) scale(1.14);} }
  .hero-inner{ z-index:1; }
  /* fio de faixa abaixo do H1 */
  .hero-h1::after{
    content:''; display:block; width:84px; height:4px; margin-top:1.4rem;
    background:linear-gradient(90deg, var(--faixa), transparent);
  }

  /* entrada do hero controlada via JS (sem flash com JS off) --- */
  html.js .hero-eyebrow, html.js .hero-h1, html.js .hero-body,
  html.js .hero-actions, html.js .hero-stats{ opacity:0; animation:none !important; }

  /* botões: glow + magnetismo (transform via JS) -------------- */
  .btn-primary, .nav-cta{ background:var(--faixa); color:#16222E; }
  .btn-primary{ box-shadow:0 4px 22px rgba(186,128,67,0); transition:background .2s, box-shadow .3s; }
  .btn-primary:hover{ background:var(--faixa-lt); box-shadow:0 10px 36px rgba(186,128,67,0.42); }
  .nav-cta:hover{ background:var(--faixa-lt); }
  .btn-ghost{ color:var(--offwhite-dim); }
  .btn-ghost:hover{ border-color:var(--faixa); color:var(--offwhite); }

  /* sublinhado vermelho que "desenha" no <em> dos títulos ----- */
  .section-title em, .cta-title em{ position:relative; }
  .section-title em::after, .cta-title em::after{
    content:''; position:absolute; left:0; right:0; bottom:-0.07em; height:0.07em;
    background:var(--faixa); transform:scaleX(0); transform-origin:left;
    transition:transform .8s var(--ease) .15s;
  }
  .section-head.visible .section-title em::after,
  .cta-title.visible em::after{ transform:scaleX(1); }

  /* ---- REVEAL (mais cinematográfico) ------------------------ */
  .reveal{ opacity:0; transform:translateY(30px) scale(.992); filter:blur(6px);
    transition:opacity .75s var(--ease), transform .75s var(--ease), filter .75s var(--ease); }
  .reveal.visible{ opacity:1; transform:none; filter:none; }


  /* ---- PILARES (spotlight no hover) ------------------------- */
  .pillar::after{ content:''; position:absolute; inset:0; pointer-events:none; opacity:0; border-radius:var(--radius);
    background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), rgba(186,128,67,0.12), transparent 42%);
    transition:opacity .3s; }
  .pillar:hover::after{ opacity:1; }
  .pillar:hover .tag{ border-color:var(--ambar-lt); background:rgba(186,128,67,0.2); }

  /* ---- COMO FUNCIONA (linha desenha, círculo acende) -------- */
  .step-circle{ background:rgba(186,128,67,0.08); border:1px solid rgba(186,128,67,0.3);
    color:var(--faixa); transition:background .4s var(--ease), color .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease); }
  .step-circle.active{ background:var(--faixa); border-color:var(--faixa); color:#16222E;
    box-shadow:0 0 26px rgba(186,128,67,0.5); }
  .step-line{ background:var(--border-md); }
  html.js .step-line{ transform:scaleY(0); transform-origin:top; }

  /* ---- PLANOS ----------------------------------------------- */
  .plan-card.featured{ border-color:var(--faixa); box-shadow:0 0 44px rgba(186,128,67,0.12); }
  .plan-card.featured .plan-name{ color:var(--offwhite); }
  .check-icon path{ stroke:var(--faixa) !important; }
  .plan-card.featured .check-icon circle{ stroke:var(--faixa) !important; }
  /* CTA por plano → WhatsApp / diagnóstico (alinhado ao rodapé do card) */
  .plan-card{ display:flex; flex-direction:column; }
  .plan-items{ margin-bottom:1.75rem; }
  .plan-cta{
    margin-top:auto; display:inline-flex; align-items:center; justify-content:center;
    width:100%; padding:13px 18px; border-radius:var(--radiussm);
    font-family:var(--mono); font-size:12px; font-weight:700; letter-spacing:0.07em;
    text-transform:uppercase; text-decoration:none; cursor:pointer;
    border:1px solid var(--border-md); color:var(--offwhite-dim); background:transparent;
    transition:background .2s, border-color .2s, color .2s, box-shadow .3s, transform .2s;
  }
  .plan-cta::after{ content:'→'; margin-left:.55rem; transition:transform .2s; }
  .plan-cta:hover{ border-color:var(--faixa); color:var(--offwhite); transform:translateY(-2px); }
  .plan-cta:hover::after{ transform:translateX(3px); }
  .plan-card.featured .plan-cta{ background:var(--faixa); color:#16222E; border-color:transparent; box-shadow:0 4px 22px rgba(186,128,67,0); }
  .plan-card.featured .plan-cta:hover{ background:var(--faixa-lt); box-shadow:0 10px 36px rgba(186,128,67,0.42); }
  .plans-note{ text-align:center; margin-top:1.9rem; font-family:var(--mono); font-size:12px; letter-spacing:0.04em; color:var(--muted); }

  /* ---- MENTOR (selo de faixa) ------------------------------- */
  .avatar-circle{
    background:radial-gradient(circle at 32% 28%, var(--ink-3), #16222E);
    border:2px solid var(--faixa); color:var(--faixa);
    box-shadow:0 0 0 4px rgba(186,128,67,0.12), inset 0 0 18px rgba(186,128,67,0.16);
  }
  .mentor-quote{ border-left-color:var(--faixa); }
  .cred-dot{ box-shadow:0 0 8px rgba(186,128,67,0.6); }

  /* ---- CTA FINAL (anéis vermelhos pulsando) ----------------- */
  .cta-section{ background:radial-gradient(120% 90% at 50% 50%, rgba(186,128,67,0.07), transparent 60%), var(--petroleo-dk); }
  .cta-section::before{ border-color:rgba(186,128,67,0.14); animation:ringPulse 6s ease-in-out infinite; }
  .cta-section::after{ border-color:rgba(186,128,67,0.09); animation:ringPulse 6s ease-in-out infinite .8s; }
  @keyframes ringPulse{ 0%,100%{ opacity:.5; transform:translate(-50%,-50%) scale(1);} 50%{ opacity:1; transform:translate(-50%,-50%) scale(1.06);} }

  /* ---- FOOTER ----------------------------------------------- */
  footer{ border-top:1px solid var(--border); }

  /* ---- ACESSIBILIDADE: movimento reduzido ------------------- */
  @media (prefers-reduced-motion: reduce){
    *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
    html.js .hero-eyebrow, html.js .hero-h1, html.js .hero-body,
    html.js .hero-actions, html.js .hero-stats{ opacity:1 !important; }
    html.js .step-line{ transform:none !important; }
    .hero::after{ animation:none !important; }
    .reveal{ opacity:1 !important; transform:none !important; filter:none !important; }
  }

/* ============================================================
   SHELL MULTI-PÁGINA — nav desktop, bottom tab bar, FAB,
   autoridade, hub de programas, FAQ, stubs "em breve"
   ============================================================ */

/* --- links da top nav (desktop) --- */
.nav-links{ display:flex; align-items:center; gap:2rem; }
.nav-link{
  font-family:var(--mono); font-size:12px; font-weight:500; letter-spacing:0.06em;
  text-transform:uppercase; color:var(--muted); text-decoration:none;
  position:relative; padding:4px 0; transition:color .2s;
}
.nav-link:hover{ color:var(--offwhite); }
.nav-link.active{ color:var(--offwhite); }
.nav-link.active::after{
  content:''; position:absolute; left:0; right:0; bottom:-3px; height:2px; background:var(--faixa);
}

/* --- toggle de idioma (PT | EN) --- */
.nav-right{ display:flex; align-items:center; gap:1rem; }
.lang-switch{
  display:inline-flex; align-items:center; gap:1px;
  border:1px solid var(--border-md); border-radius:999px; padding:3px 4px 3px 2px;
  background:rgba(227,220,214,0.03);
}
.lang-globe{ width:15px; height:15px; margin:0 3px 0 6px; stroke:var(--muted); fill:none; stroke-width:1.5; flex-shrink:0; }
.lang-btn{
  font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:0.04em;
  color:var(--muted); background:transparent; border:none; cursor:pointer;
  padding:5px 9px; border-radius:999px; line-height:1; transition:color .2s, background .2s;
}
.lang-btn:hover{ color:var(--offwhite); }
.lang-btn.active{ background:var(--ambar); color:var(--petroleo-dk); }

/* esconde o corpo só p/ EN até o i18n aplicar (evita flash PT→EN); failsafe em 1.5s */
html.i18n-boot body{ visibility:hidden; }

@media (max-width:880px){
  .lang-globe{ display:none; }
  .nav-right{ gap:0.55rem; }
  .lang-switch{ padding:2px 3px; }
  .lang-btn{ padding:4px 6px; font-size:10px; }
  nav .nav-cta{ padding:9px 13px; font-size:10px; white-space:nowrap; }
}
@media (max-width:380px){
  nav{ padding:0 0.9rem; }
  nav .nav-cta{ padding:8px 10px; letter-spacing:0.04em; }
}

/* --- WhatsApp FAB --- */
.wa-fab{
  position:fixed; right:20px; bottom:24px; z-index:250;
  width:56px; height:56px; border-radius:50%;
  background:#25D366; display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 24px rgba(0,0,0,0.4); transition:transform .2s, box-shadow .3s;
}
.wa-fab:hover{ transform:translateY(-3px) scale(1.05); box-shadow:0 12px 30px rgba(37,211,102,0.45); }
.wa-fab svg{ width:30px; height:30px; }

/* --- bottom tab bar (escondida no desktop) --- */
.bottomnav{ display:none; }

@media (max-width: 880px){
  .nav-links{ display:none; }
}

@media (max-width: 768px){
  body{ padding-bottom:74px; }   /* respiro para a bottom bar */
  .bottomnav{
    display:flex; position:fixed; left:0; right:0; bottom:0; top:auto; height:auto; z-index:240;
    background:rgba(22,34,46,0.96);  /* sem backdrop-filter: quebra fixed no iOS/Safari */
    border-top:1px solid var(--border-md); border-bottom:none;
    padding:9px 6px calc(9px + env(safe-area-inset-bottom));
    justify-content:space-around;
  }
  .bn-item{
    flex:1; display:flex; flex-direction:column; align-items:center; gap:4px;
    text-decoration:none; color:var(--muted); transition:color .2s;
    font-family:var(--mono); font-size:9.5px; letter-spacing:0.04em; text-transform:uppercase;
  }
  .bn-item svg{ width:22px; height:22px; stroke:currentColor; fill:none; stroke-width:1.6; }
  .bn-item.active{ color:var(--faixa); }
  .bn-item.active svg{ filter:drop-shadow(0 0 7px rgba(186,128,67,0.6)); }
  .wa-fab{ bottom:calc(82px + env(safe-area-inset-bottom)); width:50px; height:50px; }
  .wa-fab svg{ width:26px; height:26px; }
}

/* --- AUTORIDADE --- */
.authority{ background:var(--petroleo); border-bottom:1px solid var(--border); }
.logo-wall{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(150px,1fr)); gap:1px;
  background:var(--border); border:1px solid var(--border); border-radius:var(--radius);
  overflow:hidden; margin-bottom:2.5rem;
}
.logo-cell{
  background:var(--petroleo-lt); aspect-ratio:16/9; display:flex; align-items:center; justify-content:center; padding:1.4rem;
}
.logo-cell span{
  font-family:var(--display); font-size:17px; text-transform:uppercase; letter-spacing:0.02em;
  color:var(--offwhite-dim); opacity:0.45; transition:opacity .25s, color .25s; text-align:center; line-height:1.05;
}
.logo-cell:hover span{ opacity:1; color:var(--offwhite); }
.logo-cell img{ max-width:100%; max-height:52px; filter:grayscale(1) brightness(1.7) opacity(0.5); transition:filter .25s; }
.logo-cell:hover img{ filter:grayscale(0) brightness(1) opacity(1); }
.markets{ display:flex; gap:2.5rem; flex-wrap:wrap; align-items:center; padding-top:.5rem; }
.market-flag{ font-family:var(--mono); font-size:12px; letter-spacing:0.12em; color:var(--offwhite-dim); }
.market-flag strong{ color:var(--faixa); font-weight:700; }

/* --- HUB PROGRAMAS --- */
.prog-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:1.25rem; }
.prog-card{
  position:relative; overflow:hidden; background:var(--petroleo-lt);
  border:1px solid var(--border-md); border-radius:var(--radius); padding:2.25rem 2rem;
  display:flex; flex-direction:column; text-decoration:none;
  transition:border-color .25s, transform .2s;
}
.prog-card:hover{ border-color:var(--faixa); transform:translateY(-4px); }
.prog-card::after{
  content:''; position:absolute; inset:0; pointer-events:none; opacity:0;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), rgba(186,128,67,0.12), transparent 42%);
  transition:opacity .3s;
}
.prog-card:hover::after{ opacity:1; }
.prog-icon{
  width:48px; height:48px; border-radius:12px; margin-bottom:1.5rem;
  background:rgba(186,128,67,0.1); border:1px solid rgba(186,128,67,0.3);
  display:flex; align-items:center; justify-content:center;
}
.prog-icon svg{ width:24px; height:24px; stroke:var(--faixa); fill:none; stroke-width:1.6; }
.prog-num{ font-family:var(--mono); font-size:10px; letter-spacing:0.18em; text-transform:uppercase; color:var(--faixa); margin-bottom:.6rem; }
.prog-name{ font-family:var(--display); font-size:24px; text-transform:uppercase; letter-spacing:0.01em; color:var(--offwhite); line-height:1; margin-bottom:.85rem; }
.prog-desc{ font-size:14px; color:var(--muted); line-height:1.65; font-weight:300; margin-bottom:1.5rem; flex:1; }
.prog-link{ font-family:var(--mono); font-size:12px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--faixa); }

/* --- FAQ --- */
.faq{ max-width:760px; }
.faq-item{ border-bottom:1px solid var(--border); }
.faq-item summary{
  list-style:none; cursor:pointer; padding:1.4rem 0; display:flex; justify-content:space-between; gap:1.5rem; align-items:center;
  font-family:var(--display); font-size:clamp(16px,2.2vw,21px); text-transform:uppercase; letter-spacing:0.01em;
  color:var(--offwhite); transition:color .2s;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary:hover{ color:var(--faixa); }
.faq-item .chev{ flex-shrink:0; width:18px; height:18px; transition:transform .3s; color:var(--faixa); stroke:currentColor; stroke-width:2; fill:none; }
.faq-item[open] .chev{ transform:rotate(135deg); }
.faq-answer{ padding:0 0 1.5rem; font-size:15px; color:var(--muted); line-height:1.75; font-weight:300; max-width:640px; }

/* --- páginas "em breve" --- */
.soon{ min-height:74vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:130px 5vw 90px; position:relative; }
.soon .tag-soon{ font-family:var(--mono); font-size:12px; letter-spacing:0.2em; text-transform:uppercase; color:var(--faixa); margin-bottom:1.25rem; }
.soon h1{ font-family:var(--display); font-size:clamp(34px,7vw,72px); text-transform:uppercase; line-height:0.95; color:var(--offwhite); margin-bottom:1.25rem; }
.soon p{ font-size:16px; color:var(--muted); max-width:460px; line-height:1.7; font-weight:300; margin-bottom:2.5rem; }

/* --- HERO com vídeo do fundador --- */
.hero--video .hero-grid{ display:grid; grid-template-columns:1fr; gap:2.75rem; align-items:center; width:100%; max-width:1180px; margin:0 auto; }
@media(min-width:980px){
  .hero--video{ padding-top:120px; }
  .hero--video .hero-grid{ grid-template-columns:1.05fr 0.95fr; gap:4rem; }
  .hero--video .hero-inner{ max-width:none; }
}
.hero-media{ display:flex; justify-content:center; }
.hv-frame{
  position:relative; width:100%; max-width:300px; border-radius:16px; overflow:hidden;
  border:1px solid var(--border-md); background:#000;
  box-shadow:0 26px 64px rgba(0,0,0,0.55), 0 0 38px rgba(186,128,67,0.16);
}
.hv-frame::before{ content:''; display:block; padding-top:177.78%; } /* 9:16 */
.hv-video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hv-play{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:64px; height:64px; border-radius:50%; border:none; cursor:pointer; z-index:2;
  background:var(--faixa); display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 30px rgba(186,128,67,0.55); transition:transform .2s, background .2s;
}
.hv-play:hover{ background:var(--faixa-lt); transform:translate(-50%,-50%) scale(1.06); }
.hv-play svg{ width:26px; height:26px; fill:#16222E; margin-left:3px; }
.hv-play.hidden{ display:none; }
.hv-cap{
  position:absolute; left:12px; bottom:12px; z-index:2; pointer-events:none;
  font-family:var(--mono); font-size:10px; letter-spacing:0.06em; text-transform:uppercase;
  color:var(--offwhite); background:rgba(22,34,46,0.62); padding:5px 9px; border-radius:6px; backdrop-filter:blur(6px);
}

/* ============================================================
   FASE 2 — Conteúdos (blog), post e ebooks
   ============================================================ */
.page-head{ padding-top:140px; }
.card-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(290px,1fr)); gap:1.5rem; }

.ccard{
  position:relative; display:flex; flex-direction:column; text-decoration:none;
  background:var(--petroleo-lt); border:1px solid var(--border-md); border-radius:var(--radius);
  overflow:hidden; transition:border-color .25s, transform .2s;
}
.ccard:hover{ border-color:var(--faixa); transform:translateY(-4px); }
.ccard-cover{
  position:relative; aspect-ratio:16/10; overflow:hidden; display:flex; align-items:flex-end;
  padding:1.2rem; border-bottom:1px solid var(--border);
  background:linear-gradient(135deg, #1B2934, #16222E);
}
.ccard-cover img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ccard-cover::after{ content:''; position:absolute; inset:0; background:radial-gradient(120% 120% at 100% 0%, rgba(186,128,67,0.18), transparent 55%); }
.ccard-cover .wm{ position:absolute; right:-4px; bottom:-20px; font-family:var(--display); font-size:88px; line-height:1; color:rgba(227,220,214,0.045); letter-spacing:-0.02em; }
.ccard-cat{ position:relative; z-index:1; font-family:var(--mono); font-size:10px; letter-spacing:0.16em; text-transform:uppercase; color:var(--faixa); }
.ccard-body{ padding:1.4rem 1.4rem 1.6rem; display:flex; flex-direction:column; flex:1; }
.ccard-title{ font-family:var(--display); font-size:21px; line-height:1.05; text-transform:uppercase; letter-spacing:0.01em; color:var(--offwhite); margin-bottom:.7rem; }
.ccard-resumo{ font-size:14px; color:var(--muted); line-height:1.6; font-weight:300; flex:1; margin-bottom:1rem; }
.ccard-meta{ display:flex; gap:.9rem; font-family:var(--mono); font-size:11px; letter-spacing:0.03em; color:var(--offwhite-dim); text-transform:uppercase; }
.ccard-link{ font-family:var(--mono); font-size:12px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--faixa); margin-top:1rem; }

/* faixa do YouTube */
.yt-strip{ background:var(--petroleo-dk); border-top:1px solid var(--border); }
.yt-cta{
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap;
  background:var(--petroleo-lt); border:1px solid var(--border-md); border-radius:var(--radius); padding:2rem;
  max-width:900px; margin:0 auto;
}
.yt-left{ display:flex; align-items:center; gap:1.25rem; }
.yt-ico{ width:54px; height:54px; border-radius:14px; flex-shrink:0; background:rgba(186,128,67,0.1); border:1px solid rgba(186,128,67,0.3); display:flex; align-items:center; justify-content:center; }
.yt-ico svg{ width:28px; height:28px; fill:var(--faixa); }
.yt-txt h3{ font-family:var(--display); font-size:22px; text-transform:uppercase; color:var(--offwhite); line-height:1; margin-bottom:.4rem; }
.yt-txt p{ font-size:14px; color:var(--muted); font-weight:300; }

/* post individual */
.article{ max-width:760px; margin:0 auto; padding-top:130px; padding-bottom:30px; }
.article-cat{ font-family:var(--mono); font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--faixa); margin-bottom:1rem; }
.article h1{ font-family:var(--display); font-size:clamp(32px,5.5vw,58px); line-height:0.98; text-transform:uppercase; letter-spacing:0.005em; color:var(--offwhite); margin-bottom:1rem; }
.article-meta{ font-family:var(--mono); font-size:12px; letter-spacing:0.05em; color:var(--offwhite-dim); text-transform:uppercase; margin-bottom:2.5rem; padding-bottom:2rem; border-bottom:1px solid var(--border); }
.article-body p{ font-size:17px; line-height:1.8; color:var(--offwhite-dim); margin-bottom:1.4rem; }
.article-body h2{ font-family:var(--display); font-size:26px; text-transform:uppercase; color:var(--offwhite); letter-spacing:0.01em; margin:2.2rem 0 1rem; }
.article-body strong{ color:var(--offwhite); font-weight:600; }
.article-body em{ color:var(--offwhite); font-style:italic; }
.article-body ul{ margin:0 0 1.4rem 1.2rem; }
.article-body li{ font-size:16px; line-height:1.7; color:var(--offwhite-dim); margin-bottom:.5rem; }
.article-body blockquote{ border-left:3px solid var(--faixa); padding:.3rem 0 .3rem 1.4rem; margin:1.8rem 0; font-size:19px; font-style:italic; color:var(--offwhite); line-height:1.5; }
.article-back{ font-family:var(--mono); font-size:12px; letter-spacing:0.06em; text-transform:uppercase; color:var(--faixa); text-decoration:none; }

/* ============================================================
   PARTE 3 — Vídeos recentes do YouTube + lightbox
   ============================================================ */
.video-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(280px,1fr)); gap:1.5rem; }

.vcard{
  position:relative; display:block; text-decoration:none; cursor:pointer;
  background:var(--petroleo-lt); border:1px solid var(--border-md); border-radius:var(--radius);
  overflow:hidden; transition:border-color .25s, transform .2s;
}
.vcard:hover{ border-color:var(--faixa); transform:translateY(-4px); }
.vcard-thumb{
  position:relative; aspect-ratio:16/9; overflow:hidden; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#1B2934,#16222E);
}
.vcard-thumb img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.vcard-thumb .wm{ font-family:var(--display); font-size:64px; line-height:1; color:rgba(227,220,214,0.06); letter-spacing:-0.02em; }
.vcard-thumb::after{ content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(22,34,46,0.55), transparent 55%); }
.vcard-play{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:1;
  width:54px; height:54px; border-radius:50%; background:var(--faixa);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 24px rgba(186,128,67,0.5); transition:transform .2s, background .2s;
}
.vcard:hover .vcard-play{ transform:translate(-50%,-50%) scale(1.08); background:var(--faixa-lt); }
.vcard-play svg{ width:22px; height:22px; fill:#16222E; margin-left:2px; }
.vcard-body{ padding:1.1rem 1.2rem 1.3rem; }
.vcard-tag{ display:flex; align-items:center; gap:6px; font-family:var(--mono); font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--faixa); margin-bottom:.6rem; }
.vcard-tag svg{ width:15px; height:15px; }
.vcard-title{ font-family:var(--body); font-weight:600; font-size:15px; line-height:1.35; color:var(--offwhite); }

/* lightbox */
.vlb{
  position:fixed; inset:0; z-index:400; display:flex; align-items:center; justify-content:center; padding:24px;
  background:rgba(18,38,49,0.94);  /* sem backdrop-filter: quebra fixed no iOS/Safari */
  opacity:0; visibility:hidden; transition:opacity .25s var(--ease), visibility .25s var(--ease);
}
.vlb.open{ opacity:1; visibility:visible; }
.vlb-inner{
  position:relative; width:100%; max-width:900px; aspect-ratio:16/9; background:#000;
  border-radius:12px; overflow:hidden; box-shadow:0 30px 80px rgba(0,0,0,0.65);
  transform:scale(0.96); transition:transform .25s var(--ease);
}
.vlb.open .vlb-inner{ transform:scale(1); }
.vlb-slot{ position:absolute; inset:0; }
.vlb-slot iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.vlb-close{
  position:absolute; top:-48px; right:0; width:38px; height:38px; border-radius:50%;
  border:1px solid var(--border-md); background:rgba(34,40,45,0.92); color:var(--offwhite);
  cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:22px; line-height:1;
  transition:border-color .2s, color .2s;
}
.vlb-close:hover{ border-color:var(--faixa); color:var(--faixa); }
@media(max-width:560px){ .vlb-close{ top:-42px; width:34px; height:34px; font-size:20px; } }
/* ============================================================
   MENTOR — split-screen com retrato do Giacomo (PARTE 4)
   Foto = metade direita (full-height, rosto ancorado); texto na
   metade esquerda escura. Mobile: faixa da foto em cima + texto.
   Arquivo: assets/img/giacomo.jpg — se faltar, painel escuro (ok).
   ============================================================ */
.mentor-section--photo{ position:relative; overflow:hidden; padding:0; }
.mentor-section--photo .mentor-inner{
  grid-template-columns:1fr 1fr; gap:0; align-items:stretch;
}
.mentor-section--photo .mentor-left{
  padding:clamp(60px,8vw,104px) clamp(1.5rem,5vw,4.5rem);
  align-self:center;
}
.mentor-section--photo .mentor-creds{ margin-top:2rem; }

/* coluna da foto */
.mentor-portrait{
  position:relative; overflow:hidden; min-height:560px;
  border-left:2px solid var(--faixa);
  background:#16222E;   /* fallback se a imagem faltar */
}
/* a foto vai numa camada própria p/ o filtro não afetar a legenda */
.mentor-portrait::before{
  content:''; position:absolute; inset:0;
  background:url('img/giacomo.jpg') no-repeat;
  background-size:cover;
  background-position:50% 22%;   /* ancora o rosto */
  filter:grayscale(.3) contrast(1.05) brightness(.92) saturate(.92);
}
/* funde a emenda na tinta + leve vinheta + glow faixa */
.mentor-portrait::after{
  content:''; position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(28,58,74,.78) 0%, rgba(28,58,74,0) 20%),
    linear-gradient(0deg, rgba(22,34,46,.55) 0%, rgba(22,34,46,0) 34%),
    radial-gradient(120% 80% at 62% 22%, rgba(186,128,67,.13), transparent 60%);
}
/* legenda de vidro na base da foto */
.mentor-cap{
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  display:flex; flex-direction:column; gap:4px;
  padding:1.4rem clamp(1.25rem,2.5vw,2rem);
  background:linear-gradient(0deg, rgba(22,34,46,.92) 0%, rgba(22,34,46,.55) 55%, rgba(22,34,46,0) 100%);
}
.mentor-cap-name{
  font-family:var(--display); font-size:clamp(20px,2.4vw,26px);
  text-transform:uppercase; letter-spacing:0.015em; color:var(--offwhite); line-height:1;
}
.mentor-cap-role{
  font-family:var(--mono); font-size:11px; letter-spacing:0.08em;
  text-transform:uppercase; color:var(--offwhite-dim);
}

/* MOBILE: foto vira faixa no topo, texto desce */
@media (max-width:860px){
  .mentor-section--photo .mentor-inner{ grid-template-columns:1fr; }
  .mentor-portrait{
    order:-1; min-height:0; aspect-ratio:4/3; width:100%;
    border-left:none; border-bottom:2px solid var(--faixa);
  }
  .mentor-portrait::before{ background-position:50% 20%; }
  .mentor-section--photo .mentor-left{ padding:clamp(40px,9vw,60px) 1.25rem; }
}
@media (max-width:480px){
  .mentor-portrait{ aspect-ratio:1/1; }
}

/* ============================================================
   DEPOIMENTO EDITORIAL (PARTE 6) — pull-quote + vídeo vivo
   ============================================================ */
/* pull-quote */
.video-quote{
  position:relative; margin:0 0 1.6rem; padding-top:.7rem;
  font-family:var(--body); font-weight:600;
  font-size:clamp(22px,3.2vw,37px); line-height:1.25; letter-spacing:-0.01em;
  color:var(--offwhite);
}
.video-quote em{ color:var(--ambar); font-style:normal; }
.video-quote::before{
  content:'\201C'; position:absolute; left:-.04em; top:-.45em;
  font-family:var(--display); font-size:2.4em; line-height:1;
  color:var(--ambar); opacity:.26; pointer-events:none;
}

/* moldura do vídeo de depoimento (9:16, vivo) */
.vtest{
  position:relative; width:100%; max-width:320px; margin:0;
  border-radius:16px; overflow:hidden; background:#000;
  border:1px solid var(--border-md);
  box-shadow:0 24px 60px rgba(0,0,0,0.45), 0 0 34px rgba(186,128,67,0.10);
}
.vtest::before{ content:''; display:block; padding-top:177.78%; }   /* 9:16 */
.vtest-video{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; background:#000; cursor:pointer; display:block;
}

/* botão "Com som" */
.vtest-sound{
  position:absolute; top:12px; right:12px; z-index:3;
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--petroleo-dk); background:var(--ambar); border:none; border-radius:999px;
  padding:7px 12px; cursor:pointer; box-shadow:0 6px 18px rgba(0,0,0,0.35);
  transition:background .2s, transform .15s, opacity .25s;
}
.vtest-sound:hover{ background:var(--ambar-lt); transform:translateY(-1px); }
.vtest-sound svg{ width:13px; height:13px; fill:currentColor; }
.vtest.is-engaged .vtest-sound{ opacity:0; pointer-events:none; }

/* etiqueta de autoria sobre o vídeo */
.vtest-badge{
  position:absolute; left:0; right:0; bottom:0; z-index:2; pointer-events:none;
  display:flex; flex-direction:column; gap:3px; padding:1.6rem 1.1rem .9rem;
  background:linear-gradient(0deg, rgba(22,34,46,.92) 0%, rgba(22,34,46,.45) 55%, rgba(22,34,46,0) 100%);
  transition:opacity .3s;
}
.vtest.is-engaged .vtest-badge{ opacity:0; }   /* libera os controls nativos */
.vtb-name{
  font-family:var(--display); font-size:18px; letter-spacing:0.012em;
  text-transform:uppercase; color:var(--offwhite); line-height:1;
}
.vtb-meta{ font-family:var(--mono); font-size:10.5px; letter-spacing:0.05em; color:var(--offwhite-dim); }

@media (max-width:768px){
  .vtest{ max-width:280px; margin:0 auto; }
}

/* ============================================================
   PARTE 8 — sub-linha de mecanismo no hero + 3 FRENTES (produto)
   ============================================================ */
/* ── HERO (Início) — headline em dois níveis ───────────────────────────
   Promessa em BRANCO (calma, premium) + tensão em ÂMBAR (puxa o olho).
   Barlow Condensed pede frase curta: lead grande no display, tail no grotesk. */
.hero-h1--split{
  display:flex; flex-direction:column; align-items:flex-start;
  gap:.78rem; max-width:780px; margin-bottom:2.1rem;
  letter-spacing:normal; line-height:1;
}
.hero-h1--split::after{ display:none; }            /* sem o fio padrão do .hero-h1 */
.hero-h1-lead{
  font-family:var(--display);
  font-size:clamp(40px, 6vw, 78px);
  line-height:1.30; letter-spacing:-0.01em;
  text-transform:uppercase; color:var(--offwhite);
}
.hero-h1-tail{
  font-family:var(--body); font-weight:600;
  font-size:clamp(18px, 2.3vw, 27px);
  line-height:1.3; letter-spacing:0; text-transform:none;
  color:var(--faixa); max-width:32ch;
}

/* lede do hero (Início): VALOR (fix) lidera → CONTEXTO (pain) vira nota.
   A barra âmbar costura o bloco como uma unidade. */
.hero-lede{
  position:relative; max-width:560px; margin:0 0 2.5rem;
  padding-left:1.15rem; border-left:2px solid rgba(186,128,67,0.32);
}
.hero-lede-fix{
  font-family:var(--body); font-weight:500;
  font-size:clamp(15px,1.9vw,17.5px); line-height:1.55;
  color:var(--offwhite); margin:0 0 0.8rem;
}
.hero-lede-fix strong{ color:var(--faixa); font-weight:700; }
.hero-lede-pain{
  font-family:var(--body); font-weight:400;
  font-size:clamp(13.5px,1.55vw,15px); line-height:1.6;
  color:var(--muted); margin:0;
}
/* desktop largo (≥1200px): a promessa cabe numa LINHA SÓ — estoura à direita
   da coluna de corpo, de propósito (título grande sobre corpo estreito).
   Abaixo de 1200px volta a quebrar em 2 linhas, pois não cabe. */
@media (min-width:1200px){
  .hero-h1--split{ max-width:none; }
  .hero-h1-lead{ white-space:nowrap; font-size:clamp(70px, 5.4vw, 82px); }
}

/* lista editorial de frentes (programas.html) */
.frente{
  display:grid; grid-template-columns:72px 1fr; gap:clamp(1.25rem,3vw,2.5rem);
  align-items:start;
  padding:clamp(1.8rem,3.5vw,2.8rem) 0;
  border-top:1px solid var(--border);
}
.frente:first-of-type{ border-top:none; padding-top:0; }
.frente-icon{
  width:56px; height:56px; border-radius:14px;
  background:rgba(186,128,67,0.1); border:1px solid rgba(186,128,67,0.3);
  display:flex; align-items:center; justify-content:center;
}
.frente-icon svg{ width:28px; height:28px; stroke:var(--faixa); fill:none; stroke-width:1.6; }
.frente-body{ max-width:680px; }
.frente-num{
  font-family:var(--mono); font-size:12px; font-weight:700; letter-spacing:0.08em;
  text-transform:uppercase; color:var(--faixa); margin-bottom:.4rem;
}
.frente-name{
  font-family:var(--display); font-size:clamp(24px,3.2vw,36px);
  text-transform:uppercase; letter-spacing:0.01em; color:var(--offwhite);
  line-height:1.05; margin-bottom:1rem;
}
.frente-desc{
  font-size:16px; color:var(--offwhite-dim); line-height:1.7; font-weight:300;
  margin-bottom:1rem; max-width:620px;
}
.frente-who{
  font-size:14.5px; color:var(--offwhite); line-height:1.6;
  margin-bottom:1.5rem; padding-left:.95rem; border-left:2px solid var(--faixa);
}
.frente-topics-label{
  font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:0.08em;
  text-transform:uppercase; color:var(--muted); margin-bottom:.7rem;
}
.frente .tags{ margin-bottom:1.7rem; }
.frente-cta{
  display:inline-flex; align-items:center; gap:.4rem;
  font-family:var(--mono); font-size:12px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase;
  color:var(--petroleo-dk); background:var(--ambar); border-radius:999px;
  padding:11px 22px; text-decoration:none;
  transition:background .2s, transform .15s, box-shadow .3s;
}
.frente-cta:hover{ background:var(--ambar-lt); transform:translateY(-1px); box-shadow:0 10px 28px rgba(186,128,67,0.32); }

@media (max-width:720px){
  .frente{ grid-template-columns:1fr; gap:1.1rem; }
  .frente-icon{ width:48px; height:48px; }
  .frente-icon svg{ width:24px; height:24px; }
}

/* ============================================================
   PARTE 8b — AUTORIDADE: marquee de logos (passam pela tela)
   ============================================================ */
.logo-marquee{
  position:relative; overflow:hidden; margin-bottom:2.5rem;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
          mask-image:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.logo-track{
  display:flex; align-items:center; gap:1.25rem; width:max-content;
  animation:logoScroll 48s linear infinite; will-change:transform;
}
.logo-marquee:hover .logo-track{ animation-play-state:paused; }
@keyframes logoScroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* tiles brancos = visibilidade garantida p/ logos de cores variadas */
.logo-marquee .logo-cell{
  flex:0 0 auto; width:190px; height:108px; padding:1rem 1.3rem;
  aspect-ratio:auto; background:#fff;
  border:1px solid var(--border-md); border-radius:var(--radius);
  display:flex; align-items:center; justify-content:center;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.logo-marquee .logo-cell:hover{ transform:translateY(-3px); box-shadow:0 12px 30px rgba(0,0,0,.30); }
/* logos com fundo escuro embutido (JPEG) ganham tile preto p/ emendar sem "quadrado" */
.logo-marquee .logo-cell:has(img[src*="brentwood"]){
  background:#000; border-color:rgba(227,220,214,0.14);
}

/* Ajustes de tamanho específicos para padronização visual */
.logo-marquee .logo-cell img[src*="gbtorres"],
.logo-marquee .logo-cell img[src*="brentwood"],
.logo-marquee .logo-cell img[src*="marcusaurelio"] {
  transform: scale(1.35);
}
.logo-marquee .logo-cell img{
  max-width:100%; max-height:76px; width:auto; height:auto; object-fit:contain;
  filter:none; opacity:1; display:block;
}
.logo-marquee .logo-cell span{
  font-family:var(--display); font-size:16px; text-transform:uppercase; letter-spacing:.02em;
  color:var(--petroleo); opacity:.85; text-align:center; line-height:1.05;
}

@media (max-width:560px){
  .logo-marquee .logo-cell{ width:150px; height:90px; }
  .logo-marquee .logo-cell img{ max-height:60px; }
}
@media (prefers-reduced-motion: reduce){
  .logo-track{ animation:none; flex-wrap:wrap; justify-content:center; width:auto; gap:1rem; }
  .logo-cell--dup{ display:none; }
  .logo-marquee{ -webkit-mask-image:none; mask-image:none; }
}

/* ============================================================
   PARTE 10 — Conteúdos: destaque editorial, byline, banda do ebook, relacionados
   ============================================================ */

/* ---- artigo em destaque na listagem (1º post) ---- */
.featured-post{
  grid-column:1 / -1;                 /* ocupa a largura toda do card-grid */
  display:grid; grid-template-columns:minmax(260px,1.05fr) 1.25fr;
  background:var(--petroleo-lt); border:1px solid var(--border-md);
  border-radius:var(--radius); overflow:hidden; text-decoration:none;
  transition:border-color .25s, transform .2s, box-shadow .25s;
}
.featured-post:hover{ border-color:var(--faixa); transform:translateY(-4px); box-shadow:0 18px 40px rgba(0,0,0,.28); }
.featured-cover{
  position:relative; min-height:260px; overflow:hidden; padding:1.6rem;
  background:linear-gradient(135deg, var(--petroleo) 0%, var(--petroleo-dk) 100%);
  display:flex; align-items:flex-start;
}
.featured-cover img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.featured-cover::after{ content:''; position:absolute; inset:0; background:radial-gradient(130% 130% at 100% 0%, rgba(186,128,67,0.22), transparent 55%); }
.featured-cover .ccard-cat{ position:relative; z-index:1; }
.featured-cover .wm{ position:absolute; right:-6px; bottom:-26px; font-family:var(--display); font-size:150px; line-height:1; color:rgba(227,220,214,0.05); letter-spacing:-0.02em; }
.featured-body{ padding:clamp(1.6rem,3vw,2.6rem); display:flex; flex-direction:column; justify-content:center; }
.featured-flag{ font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--faixa); margin-bottom:1rem; }
.featured-title{ font-family:var(--display); font-size:clamp(26px,3.4vw,40px); line-height:1.03; text-transform:uppercase; letter-spacing:0.01em; color:var(--offwhite); margin-bottom:1rem; font-weight:400; }
.featured-resumo{ font-size:15.5px; color:var(--offwhite-dim); line-height:1.7; font-weight:300; margin-bottom:1.4rem; max-width:52ch; }
.featured-post .ccard-meta{ margin-bottom:1rem; }
@media (max-width:760px){
  .featured-post{ grid-template-columns:1fr; }
  .featured-cover{ min-height:150px; }
}

/* ---- capa-herói do artigo (post.html) — responsiva ---- */
.article-cover{
  margin:0 0 2.2rem; border-radius:14px; overflow:hidden;
  border:1px solid var(--border); background:linear-gradient(135deg,#1B2934,#16222E);
  aspect-ratio:16/9; position:relative;
}
.article-cover img{ display:block; width:100%; height:100%; object-fit:cover; }
.article-cover::after{ content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(120% 120% at 100% 0%, rgba(186,128,67,0.12), transparent 55%); }
@media (max-width:760px){ .article-cover{ aspect-ratio:4/3; border-radius:10px; margin-bottom:1.6rem; } }

/* legibilidade do rótulo de categoria sobre a foto (card + featured) */
.ccard-cover .ccard-cat,
.featured-cover .ccard-cat{ text-shadow:0 1px 8px rgba(0,0,0,.55); }

/* ---- banda/bloco do ebook (conversão) — blog.html e post.html ---- */
.ebook-section{ padding:clamp(2.5rem,6vw,4.5rem) 5vw; }
.ebook-cta{
  display:grid; grid-template-columns:auto 1fr; gap:clamp(1.5rem,4vw,3rem);
  align-items:center; max-width:980px; margin:0 auto;
  background:linear-gradient(135deg, var(--petroleo-lt) 0%, var(--petroleo-dk) 100%);
  border:1px solid var(--border-md); border-radius:18px;
  padding:clamp(1.6rem,4vw,2.8rem); position:relative; overflow:hidden;
}
.ebook-cta::before{ content:''; position:absolute; right:-10%; top:-30%; width:55%; height:160%; pointer-events:none;
  background:radial-gradient(circle, rgba(186,128,67,0.16), transparent 62%); }
.ebook-cover{
  position:relative; width:clamp(150px,20vw,200px); justify-self:center;
  border-radius:10px; overflow:hidden;
  box-shadow:0 22px 50px rgba(0,0,0,.45), 0 0 0 1px rgba(186,128,67,0.35);
  transform:rotate(-2deg); transition:transform .3s var(--ease);
}
.ebook-cta:hover .ebook-cover{ transform:rotate(0); }
.ebook-cover img{ display:block; width:100%; height:auto; }
.ebook-info{ position:relative; z-index:1; }
.ebook-eyebrow{ font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--faixa); margin-bottom:.8rem; }
.ebook-title{ font-family:var(--display); font-size:clamp(22px,3vw,32px); line-height:1.06; text-transform:uppercase; letter-spacing:0.01em; color:var(--offwhite); margin-bottom:.9rem; font-weight:400; }
.ebook-desc{ font-size:15px; color:var(--offwhite-dim); line-height:1.65; font-weight:300; margin-bottom:1.1rem; max-width:54ch; }
.ebook-benefits{ list-style:none; margin:0 0 1.5rem; padding:0; display:flex; flex-direction:column; gap:.55rem; }
.ebook-benefits li{ position:relative; padding-left:1.7rem; font-size:14.5px; color:var(--offwhite); line-height:1.5; }
.ebook-benefits li::before{ content:''; position:absolute; left:0; top:.32em; width:11px; height:11px; border-radius:50%; background:var(--faixa); box-shadow:0 0 0 3px rgba(186,128,67,0.18); }
.ebook-btn{ font-size:13.5px; padding:15px 30px; }
.ebook-trust{ font-family:var(--mono); font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--muted); margin-top:.95rem; }
@media (max-width:680px){
  .ebook-cta{ grid-template-columns:1fr; text-align:center; }
  .ebook-benefits{ text-align:left; max-width:340px; margin-left:auto; margin-right:auto; }
  .ebook-desc{ margin-left:auto; margin-right:auto; }
}

/* ---- byline do artigo (Giacomo) ---- */
.article-byline{
  display:flex; align-items:center; gap:.9rem; flex-wrap:wrap;
  margin-bottom:2.5rem; padding-bottom:2rem; border-bottom:1px solid var(--border);
}
.article-avatar{ width:46px; height:46px; border-radius:50%; object-fit:cover; object-position:center top; border:1px solid var(--border-md); flex:0 0 auto; }
.article-byline-txt{ display:flex; flex-direction:column; line-height:1.25; }
.article-author{ font-size:15px; font-weight:600; color:var(--offwhite); }
.article-role{ font-family:var(--mono); font-size:11px; letter-spacing:0.04em; text-transform:uppercase; color:var(--muted); }
.article-byline .article-meta{ margin:0 0 0 auto; padding:0; border:none; }

/* parágrafo-lead: 1º parágrafo do corpo, maior */
.article-body > p:first-of-type{ font-size:19px; line-height:1.7; color:var(--offwhite); }

/* ---- "leia também" ---- */
.article-related{ margin-top:3rem; padding-top:2.2rem; border-top:1px solid var(--border); }
.article-related-head{ font-family:var(--mono); font-size:12px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--faixa); margin-bottom:1.2rem; }
.article-related-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.related-card{
  display:flex; flex-direction:column; gap:.5rem;
  background:var(--petroleo-lt); border:1px solid var(--border-md); border-radius:var(--radius);
  padding:1.3rem; text-decoration:none; transition:border-color .25s, transform .2s;
}
.related-card:hover{ border-color:var(--faixa); transform:translateY(-3px); }
.related-cat{ font-family:var(--mono); font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--faixa); }
.related-title{ font-family:var(--display); font-size:18px; line-height:1.1; text-transform:uppercase; color:var(--offwhite); }
.related-link{ font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--faixa); margin-top:.3rem; }
.article-backwrap{ margin-top:2.5rem; }
@media (max-width:560px){ .article-related-grid{ grid-template-columns:1fr; } }

/* ---- botão "Baixar em PDF" do artigo (post.html) ---- */
.pdf-btn{
  display:inline-flex; align-items:center; gap:.5rem; cursor:pointer;
  font-family:var(--mono); font-size:12px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase;
  color:var(--offwhite); background:transparent; border:1px solid var(--border-md); border-radius:var(--radiussm);
  padding:.6rem .95rem; transition:border-color .2s, color .2s, background .2s;
}
.pdf-btn svg{ width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.pdf-btn:hover{ border-color:var(--faixa); color:var(--faixa); }
.pdf-btn[disabled], .pdf-btn.is-loading{ opacity:.6; cursor:progress; }
.pdf-btn--sm{ padding:.4rem .7rem; font-size:11px; margin-left:.9rem; flex:0 0 auto; }
.article-pdf-end{ display:flex; justify-content:center; margin:2.6rem 0 0; }
@media (max-width:560px){
  .article-byline{ flex-wrap:wrap; }
  .pdf-btn--sm{ margin-left:0; }
}

/* ---- CTA secundário slim (diagnóstico) no post ---- */
.cta-section--slim{ padding-top:2.5rem; padding-bottom:3.5rem; background:none; }
.cta-secondary-line{ text-align:center; font-size:15px; color:var(--offwhite-dim); }
.cta-secondary-line a{ color:var(--faixa); text-decoration:none; font-weight:600; border-bottom:1px solid rgba(186,128,67,0.4); }
.cta-secondary-line a:hover{ color:var(--faixa-lt); }

/* ============================================================
   PARTE 11 — Ebooks: PÁGINA DE VENDAS (Manual da Escola Lucrativa)
   ============================================================ */
.sales-h2{ font-family:var(--display); font-size:clamp(26px,3.6vw,42px); line-height:1.04; text-transform:uppercase; letter-spacing:0.01em; color:var(--offwhite); font-weight:400; }
.sales-h2 em{ color:var(--faixa); font-style:normal; }
.sales-cta{ font-size:13.5px; padding:16px 34px; }
.sales-cta--xl{ font-size:15px; padding:19px 46px; }
.sales-cta-wrap{ text-align:center; margin-top:2.6rem; }

/* trust badges (✓ via ::before) */
.trust-badges{ list-style:none; display:flex; flex-wrap:wrap; gap:1.2rem; margin:1.6rem 0 0; padding:0; }
.trust-badges li{ position:relative; padding-left:1.5rem; font-family:var(--mono); font-size:12px; letter-spacing:0.04em; text-transform:uppercase; color:var(--offwhite-dim); }
.trust-badges li::before{ content:'✓'; position:absolute; left:0; top:-1px; color:var(--faixa); font-weight:700; }

/* HERO de venda */
.sales-hero{ background:var(--petroleo-dk); position:relative; overflow:hidden; padding:130px 5vw 80px; border-bottom:1px solid var(--border); }
.sales-hero::after{ content:''; position:absolute; z-index:0; pointer-events:none; width:60vw; height:60vw; max-width:720px; max-height:720px; top:-16%; right:-12%; border-radius:50%; background:radial-gradient(circle, rgba(186,128,67,0.20), rgba(186,128,67,0.05) 45%, transparent 70%); filter:blur(40px); }
.sales-hero-inner{ position:relative; z-index:1; max-width:1140px; margin:0 auto; display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.sales-eyebrow{ font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--faixa); margin-bottom:1.3rem; }
.sales-h1{ font-family:var(--display); font-size:clamp(34px,4.8vw,60px); line-height:1.03; text-transform:uppercase; letter-spacing:0.005em; color:var(--offwhite); font-weight:400; margin-bottom:1.3rem; }
.sales-h1 em{ color:var(--faixa); font-style:normal; }
.sales-sub{ font-size:clamp(15px,1.8vw,17px); color:var(--offwhite-dim); line-height:1.7; font-weight:300; max-width:52ch; margin-bottom:2rem; }
.sales-hero-cover{ justify-self:center; }
.sales-hero-cover .ebook-cover{ width:clamp(220px,26vw,320px); }
@media (max-width:860px){
  .sales-hero-inner{ grid-template-columns:1fr; gap:2.5rem; }
  .sales-hero-cover{ order:-1; }            /* capa em cima no mobile */
}

/* DOR / agitação */
.sales-pain .pain-wrap{ max-width:760px; margin:0 auto; text-align:center; }
.sales-pain-kicker{ font-family:var(--display); font-size:clamp(26px,4vw,46px); text-transform:uppercase; color:var(--faixa); line-height:1; margin:.6rem 0 1.6rem; }
.sales-lead{ font-size:clamp(16px,2vw,19px); color:var(--offwhite); line-height:1.7; font-weight:300; max-width:620px; margin:0 auto; padding-top: 20px; }

/* RESULTADO / stats */
.sales-stats-section{ padding-top:0; }
.sales-stats{ max-width:1000px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }
.sstat{ text-align:center; padding:1.6rem 1rem; background:var(--petroleo-lt); border:1px solid var(--border-md); border-radius:var(--radius); }
.sstat-num{ display:block; font-family:var(--display); font-size:clamp(34px,4.5vw,52px); line-height:1; color:var(--faixa); margin-bottom:.5rem; }
.sstat-lbl{ display:block; font-size:13px; color:var(--offwhite-dim); line-height:1.45; }
@media (max-width:760px){ .sales-stats{ grid-template-columns:1fr 1fr; } }

/* CURRÍCULO — 9 módulos */
.module-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; max-width:1100px; margin:0 auto; }
.module-card{ position:relative; background:var(--petroleo-lt); border:1px solid var(--border-md); border-radius:var(--radius); padding:1.6rem 1.5rem 1.7rem; overflow:hidden; transition:border-color .25s, transform .2s; }
.module-card:hover{ border-color:var(--faixa); transform:translateY(-3px); }
.module-num{ font-family:var(--display); font-size:46px; line-height:1; color:var(--faixa); opacity:.3; }
.module-title{ font-family:var(--display); font-size:19px; line-height:1.08; text-transform:uppercase; letter-spacing:0.01em; color:var(--offwhite); margin:.5rem 0 .55rem; font-weight:400; }
.module-desc{ font-size:14px; color:var(--offwhite-dim); line-height:1.6; }
@media (max-width:860px){ .module-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .module-grid{ grid-template-columns:1fr; } }

/* AUTORIDADE — Giacomo */
.sales-author{ background:var(--petroleo-dk); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.author-inner{ max-width:1000px; margin:0 auto; display:grid; grid-template-columns:300px 1fr; gap:clamp(2rem,4vw,3.5rem); align-items:center; }
.author-photo{ border-radius:var(--radius); overflow:hidden; border:1px solid var(--border-md); box-shadow:0 0 0 1px rgba(186,128,67,0.25), 0 20px 50px rgba(0,0,0,.4); }
.author-photo img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center top; aspect-ratio:4/5; }
.author-text p{ font-size:15.5px; color:var(--offwhite-dim); line-height:1.75; font-weight:300; margin-bottom:1rem; }
.author-text .sales-h2{ margin:.4rem 0 1rem; }
.author-quote{ border-left:3px solid var(--faixa); padding:.4rem 0 .4rem 1.4rem; margin:1.4rem 0 0; font-size:18px; font-style:italic; color:var(--offwhite); line-height:1.5; }
@media (max-width:760px){ .author-inner{ grid-template-columns:1fr; } .author-photo{ max-width:280px; margin:0 auto; } }

/* GARANTIA */
.guarantee{ max-width:780px; margin:0 auto; display:flex; align-items:center; gap:clamp(1.4rem,4vw,2.6rem); background:var(--petroleo-lt); border:1px solid rgba(186,128,67,0.35); border-radius:18px; padding:clamp(1.6rem,4vw,2.4rem); }
.guarantee-badge{ flex:0 0 auto; width:104px; height:104px; border-radius:50%; border:2px dashed var(--faixa); display:flex; flex-direction:column; align-items:center; justify-content:center; background:rgba(186,128,67,0.08); }
.g-days{ font-family:var(--display); font-size:42px; line-height:1; color:var(--faixa); }
.g-days-lbl{ font-family:var(--mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--faixa); }
.guarantee-text .sales-h2{ margin-bottom:.7rem; }
.guarantee-text p{ font-size:15px; color:var(--offwhite-dim); line-height:1.65; font-weight:300; }
@media (max-width:560px){ .guarantee{ flex-direction:column; text-align:center; } }

/* OFERTA / PREÇO */
.offer{ max-width:680px; margin:0 auto; text-align:center; background:linear-gradient(160deg, var(--petroleo-lt), var(--petroleo-dk)); border:1px solid var(--border-md); border-radius:20px; padding:clamp(2rem,5vw,3.2rem); position:relative; overflow:hidden; }
.offer::before{ content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(110% 80% at 50% 0%, rgba(186,128,67,0.16), transparent 60%); }
.offer > *{ position:relative; z-index:1; }
.offer-eyebrow{ font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--faixa); margin-bottom:1rem; }
.offer .sales-h2{ margin-bottom:1.6rem; }
.price{ display:flex; flex-direction:column; align-items:center; gap:.3rem; margin-bottom:1.8rem; }
.price-from{ font-family:var(--mono); font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:var(--muted); }
.price-main{ font-size:18px; color:var(--offwhite); display:flex; align-items:baseline; gap:.5rem; }
.price-main .price-x{ font-size:14px; color:var(--offwhite-dim); }
.price-main strong{ font-family:var(--display); font-size:clamp(40px,7vw,64px); font-weight:400; color:var(--offwhite); letter-spacing:0.01em; }
.price-note{ font-size:13px; color:var(--muted); }
.offer-trust{ font-family:var(--mono); font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--muted); margin-top:1.1rem; }
.offer-line{ font-size:15px; color:var(--offwhite-dim); line-height:1.6; font-weight:300; max-width:46ch; margin:0 auto 1.8rem; }

/* foto do autor segurando o livro (quase quadrada) */
.author-photo--square img{ aspect-ratio:1/1; object-position:center; }

/* bloco "mapa" — o que você vai conseguir */
.map-section .map-wrap{ max-width:760px; margin:0 auto; text-align:center; }
.map-list{ list-style:none; margin:2rem auto 0; padding:0; max-width:580px; display:grid; grid-template-columns:1fr 1fr; gap:.7rem 1.4rem; text-align:left; }
.map-list li{ position:relative; padding-left:1.7rem; font-size:15px; color:var(--offwhite); line-height:1.5; }
.map-list li::before{ content:''; position:absolute; left:0; top:.35em; width:11px; height:11px; border-radius:50%; background:var(--faixa); box-shadow:0 0 0 3px rgba(186,128,67,0.18); }
@media (max-width:560px){ .map-list{ grid-template-columns:1fr; max-width:340px; } }

/* ============================================================
   PARTE 12 — NAV DROPDOWN "Conteúdos" + GLOSSÁRIO
   ============================================================ */

/* --- dropdown da nav (desktop) --- */
.nav-dropdown{ position:relative; display:inline-flex; align-items:center; }
.nav-dd-trigger{
  display:inline-flex; align-items:center; gap:5px;
  background:transparent; border:none; cursor:pointer;
  font-family:var(--mono); font-size:12px; font-weight:500; letter-spacing:0.06em;
  text-transform:uppercase; color:var(--muted); padding:4px 0; line-height:1;
}
.nav-dd-trigger:hover, .nav-dd-trigger.active{ color:var(--offwhite); }
.nav-dd-caret{ width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; transition:transform .25s var(--ease); }
.nav-dropdown:hover .nav-dd-caret, .nav-dropdown.open .nav-dd-caret{ transform:rotate(180deg); }
.nav-dd-trigger.active::after{
  content:''; position:absolute; left:0; right:18px; bottom:-3px; height:2px; background:var(--faixa);
}

.nav-menu{
  position:absolute; top:100%; left:50%; transform:translate(-50%,8px);
  min-width:300px; padding:8px; margin-top:10px;
  background:var(--petroleo-lt); border:1px solid var(--border-md); border-radius:14px;
  box-shadow:0 18px 44px rgba(0,0,0,0.45);
  display:flex; flex-direction:column; gap:2px;
  opacity:0; visibility:hidden; pointer-events:none; transition:opacity .2s var(--ease), transform .2s var(--ease);
  z-index:300;
}
/* bridge invisível p/ o hover não cair no gap entre trigger e menu */
.nav-menu::before{ content:''; position:absolute; left:0; right:0; top:-12px; height:12px; }
.nav-dropdown:hover .nav-menu, .nav-dropdown.open .nav-menu{
  opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0);
}
.nav-menu-item{
  display:flex; flex-direction:column; gap:2px; padding:10px 12px; border-radius:10px;
  text-decoration:none; transition:background .18s var(--ease);
}
.nav-menu-item:hover{ background:rgba(227,220,214,0.06); }
.nav-menu-item[aria-current="page"]{ background:rgba(186,128,67,0.12); }
.nav-menu-title{
  font-family:var(--mono); font-size:12px; font-weight:700; letter-spacing:0.05em;
  text-transform:uppercase; color:var(--offwhite);
}
.nav-menu-item:hover .nav-menu-title{ color:var(--faixa-lt); }
.nav-menu-desc{ font-size:12.5px; color:var(--muted); line-height:1.4; }

/* --- menu "Conteúdos" da bottom nav (mobile): Artigos | Glossário --- */
.bn-content-backdrop{
  position:fixed; inset:0; z-index:239; background:rgba(11,20,26,0.55);
  opacity:0; visibility:hidden; transition:opacity .2s var(--ease);
}
.bn-content-backdrop.open{ opacity:1; visibility:visible; }
.bn-content-menu{
  position:fixed; left:50%; bottom:calc(80px + env(safe-area-inset-bottom));
  transform:translate(-50%, 10px);
  width:min(340px, calc(100vw - 24px)); z-index:242;
  background:var(--petroleo-lt); border:1px solid var(--border-md); border-radius:16px;
  box-shadow:0 20px 50px rgba(0,0,0,0.5); padding:8px;
  display:flex; flex-direction:column; gap:3px;
  opacity:0; visibility:hidden; transition:opacity .2s var(--ease), transform .2s var(--ease);
}
.bn-content-menu.open{ opacity:1; visibility:visible; transform:translate(-50%, 0); }
.bn-content-menu::after{
  content:''; position:absolute; left:50%; bottom:-7px; transform:translateX(-50%) rotate(45deg);
  width:14px; height:14px; background:var(--petroleo-lt);
  border-right:1px solid var(--border-md); border-bottom:1px solid var(--border-md);
}
.bn-content-item{
  display:flex; align-items:center; gap:.8rem; padding:12px; border-radius:11px;
  text-decoration:none; transition:background .18s var(--ease);
}
.bn-content-item:active{ background:rgba(227,220,214,0.08); }
.bn-content-ico{ flex-shrink:0; width:38px; height:38px; display:flex; align-items:center; justify-content:center;
  background:rgba(186,128,67,0.12); border-radius:10px; }
.bn-content-ico svg{ width:20px; height:20px; fill:none; stroke:var(--faixa); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.bn-content-txt{ display:flex; flex-direction:column; gap:2px; }
.bn-content-title{ font-family:var(--mono); font-size:13px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; color:var(--offwhite); }
.bn-content-desc{ font-size:12.5px; color:var(--muted); line-height:1.35; }
/* esconde o FAB do WhatsApp enquanto o menu de Conteúdos está aberto */
body.bn-content-open .wa-fab{ opacity:0; visibility:hidden; pointer-events:none; transition:opacity .2s var(--ease), visibility .2s var(--ease); }
/* desktop não tem bottom nav: garante que o menu nunca apareça */
@media (min-width:769px){ .bn-content-menu, .bn-content-backdrop{ display:none !important; } }

/* --- controles do glossário (busca + A–Z) --- */
.gloss-controls{
  max-width:980px; margin:2.4rem auto 2.6rem; display:flex; flex-direction:column; gap:1.1rem;
}
.gloss-search-wrap{ position:relative; width:100%; max-width:620px; margin:0 auto; }
.gloss-search-ico{
  position:absolute; left:16px; top:50%; transform:translateY(-50%);
  width:18px; height:18px; fill:none; stroke:var(--muted); stroke-width:2; stroke-linecap:round; pointer-events:none;
}
.gloss-search{
  width:100%; box-sizing:border-box; padding:14px 16px 14px 44px;
  background:var(--petroleo-lt); border:1px solid var(--border-md); border-radius:12px;
  font-family:var(--body); font-size:15px; color:var(--offwhite); outline:none;
  transition:border-color .2s var(--ease), box-shadow .2s var(--ease);
}
.gloss-search::placeholder{ color:var(--muted); }
.gloss-search:focus{ border-color:var(--faixa); box-shadow:0 0 0 3px rgba(186,128,67,0.16); }

.gloss-az{ display:flex; flex-wrap:wrap; gap:5px; justify-content:center; }
.gloss-az-btn{
  min-width:30px; height:30px; padding:0 7px;
  background:transparent; border:1px solid var(--border-md); border-radius:8px;
  font-family:var(--mono); font-size:12px; font-weight:700; letter-spacing:0.02em;
  color:var(--offwhite-dim); cursor:pointer; transition:all .18s var(--ease);
}
.gloss-az-btn:hover:not(:disabled){ color:var(--offwhite); border-color:var(--faixa); }
.gloss-az-btn.active{ background:var(--faixa); border-color:var(--faixa); color:var(--petroleo-dk); }
.gloss-az-btn:disabled{ opacity:0.28; cursor:default; }

/* --- grade (2 colunas no desktop) + cards-sanfona --- */
.gloss-grid{
  max-width:980px; margin:0 auto;
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:.7rem; align-items:start;
}
.gloss-item{
  background:var(--petroleo-lt); border:1px solid var(--border-md); border-radius:12px;
  overflow:hidden; transition:border-color .2s var(--ease), background .2s var(--ease);
}
.gloss-item.is-hidden{ display:none; }
.gloss-item:hover{ border-color:rgba(186,128,67,0.5); }
/* card aberto ocupa a linha inteira — definição lê bem e nada fica desalinhado */
.gloss-item[open]{ border-color:var(--faixa); background:rgba(34,40,45,0.85); grid-column:1 / -1; }
.gloss-summary{
  list-style:none; cursor:pointer; display:flex; align-items:center; gap:.9rem;
  padding:1.05rem 1.3rem;
}
.gloss-summary::-webkit-details-marker{ display:none; }
.gloss-term{
  flex:1; font-family:var(--display); font-size:20px; line-height:1.1; letter-spacing:0.01em;
  text-transform:uppercase; color:var(--offwhite);
}
.gloss-sigla{ font-family:var(--mono); font-size:12px; font-weight:500; letter-spacing:0.04em; color:var(--faixa-lt); text-transform:none; }
.gloss-chip{
  flex-shrink:0; font-family:var(--mono); font-size:9.5px; font-weight:700; letter-spacing:0.12em;
  text-transform:uppercase; color:var(--faixa); padding:4px 9px; border:1px solid rgba(186,128,67,0.35);
  border-radius:999px; white-space:nowrap;
}
.gloss-caret{ flex-shrink:0; width:18px; height:18px; fill:none; stroke:var(--muted); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; transition:transform .25s var(--ease); }
.gloss-item[open] .gloss-caret{ transform:rotate(180deg); stroke:var(--faixa); }
.gloss-def{
  padding:0 1.3rem 1.25rem; font-size:15px; line-height:1.65; color:var(--offwhite-dim); font-weight:300;
  max-width:62ch;
}
.gloss-empty{ max-width:980px; margin:1.5rem auto 0; text-align:center; color:var(--muted); font-size:15px; }

/* tablet/mobile: volta para 1 coluna */
@media (max-width:760px){
  .gloss-grid{ grid-template-columns:1fr; }
}

@media (max-width:560px){
  .gloss-summary{ padding:.9rem 1rem; gap:.6rem; flex-wrap:wrap; }
  .gloss-term{ font-size:17px; }
  .gloss-chip{ order:3; }
  .gloss-caret{ margin-left:auto; }
  .gloss-def{ padding:0 1rem 1.1rem; font-size:14.5px; }
}

/* --- faixa de acesso ao glossário (blog.html) --- */
.gloss-band-wrap{ padding-top:0; }
.gloss-band{
  display:flex; align-items:center; gap:1.2rem; max-width:1100px; margin:0 auto;
  padding:1.4rem 1.7rem; background:var(--petroleo-lt);
  border:1px solid var(--border-md); border-left:3px solid var(--faixa); border-radius:14px;
  text-decoration:none; transition:border-color .2s var(--ease), transform .2s var(--ease);
}
.gloss-band:hover{ border-color:var(--faixa); transform:translateY(-2px); }
.gloss-band-ico{ flex-shrink:0; width:46px; height:46px; display:flex; align-items:center; justify-content:center;
  background:rgba(186,128,67,0.12); border-radius:12px; }
.gloss-band-ico svg{ width:24px; height:24px; fill:none; stroke:var(--faixa); stroke-width:1.7; stroke-linejoin:round; }
.gloss-band-txt{ flex:1; display:flex; flex-direction:column; gap:3px; }
.gloss-band-eyebrow{ font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--faixa); }
.gloss-band-title{ font-size:16px; line-height:1.4; color:var(--offwhite); font-weight:500; }
.gloss-band-cta{ flex-shrink:0; font-family:var(--mono); font-size:12px; font-weight:700; letter-spacing:0.05em; text-transform:uppercase; color:var(--faixa); }
@media (max-width:640px){
  .gloss-band{ gap:1rem; padding:1.2rem 1.2rem; flex-wrap:wrap; }
  .gloss-band-cta{ width:100%; }
}

/* ============================================================
   IDENTIDADE OSS 2026 — fundação compartilhada + home
   ============================================================ */

::selection{ background:var(--ambar); color:var(--petroleo-dk); }
:focus-visible{ outline:2px solid var(--ambar-lt); outline-offset:4px; }

body::after{ opacity:.025; }
.faixa-progress{
  height:2px;
  background:var(--ambar);
  box-shadow:none;
}

nav{
  height:72px;
  background:rgba(16,29,38,.96);
  border-bottom-color:rgba(227,220,214,.12);
}
nav.scrolled{ background:rgba(16,29,38,.985); }
.nav-logo img{ height:35px; }
.nav-link,
.lang-btn,
.bn-item,
.nav-cta,
.btn-primary,
.btn-ghost,
.plan-cta{
  font-family:var(--body) !important;
}
.nav-link{ font-weight:600; letter-spacing:.09em; }
.nav-link.active::after{ height:1px; background:var(--ambar); }
.lang-switch{
  border-radius:3px;
  background:rgba(227,220,214,.035);
}
.lang-btn{ border-radius:2px; }
.nav-cta,
.btn-primary{
  border-radius:3px;
  background:var(--ambar);
  color:var(--petroleo-dk);
  box-shadow:none;
}
.nav-cta:hover,
.btn-primary:hover{
  background:var(--ambar-lt);
  box-shadow:0 10px 28px rgba(186,128,67,.2);
}
.btn-ghost{
  border-radius:3px;
  border-color:rgba(227,220,214,.28);
}
.bottomnav{
  background:rgba(16,29,38,.98);
  border-top-color:rgba(227,220,214,.14);
}
.bn-item.active{ color:var(--ambar-lt); }
.bn-item.active::before{ background:var(--ambar); }
.nav-menu,
.bn-content-menu{
  background:#1B2934;
  border-radius:4px;
}

footer{
  background:var(--petroleo-dk);
  border-top-color:rgba(227,220,214,.12);
}
.footer-logo img{ height:31px; opacity:.9; }
.footer-tagline{ color:var(--offwhite-dim); }

/* A landing recebe o tratamento aprofundado sem mudar seu DOM. */
.page-home section{
  position:relative;
  border-color:rgba(227,220,214,.1);
}
.page-home .hero{
  isolation:isolate;
  background:
    linear-gradient(108deg, rgba(16,29,38,1) 0%, rgba(16,29,38,.97) 48%, rgba(22,34,46,.86) 72%, rgba(16,29,38,.96) 100%),
    var(--petroleo-dk);
}
.page-home .hero::before{
  background:
    linear-gradient(90deg, rgba(16,29,38,.12) 0%, rgba(16,29,38,.18) 45%, rgba(16,29,38,.76) 70%, rgba(16,29,38,.28) 100%),
    radial-gradient(ellipse 34% 72% at 82% 50%, transparent 38%, rgba(8,15,20,.42) 100%);
}
.page-home .hero::after{
  width:min(62vw,920px);
  height:120%;
  max-width:none;
  max-height:none;
  top:-10%;
  right:-4vw;
  border-radius:0;
  background:radial-gradient(ellipse at center, rgba(186,128,67,.18) 0%, rgba(186,128,67,.085) 34%, rgba(186,128,67,.025) 56%, transparent 74%);
  filter:none;
  animation:none;
}
.page-home .hero-dots{
  opacity:1;
  background-image:
    linear-gradient(rgba(16,29,38,.72), rgba(16,29,38,.72)),
    url('brand/pattern-02.svg');
  background-repeat:no-repeat, repeat;
  background-size:auto, 600px auto;
  background-position:center, calc(100% + 110px) 18%;
  mix-blend-mode:normal;
  -webkit-mask-image:linear-gradient(90deg, transparent 43%, rgba(0,0,0,.12) 57%, rgba(0,0,0,.78) 74%, #000 100%);
  mask-image:linear-gradient(90deg, transparent 43%, rgba(0,0,0,.12) 57%, rgba(0,0,0,.78) 74%, #000 100%);
}
.page-home .hero-dots::after{
  content:'';
  position:absolute;
  top:52%;
  right:2.5vw;
  width:min(38vw,560px);
  aspect-ratio:1;
  transform:translateY(-46%);
  background:url('brand/tower-amber.svg') center/contain no-repeat;
  opacity:.36;
  filter:drop-shadow(0 0 28px rgba(186,128,67,.22)) drop-shadow(0 24px 42px rgba(0,0,0,.24));
}
.page-home .hero-dots canvas{ display:none !important; }
.page-home .hero-inner{ max-width:900px; }
.page-home .hero-h1--split{
  position:relative;
}
.page-home .hero-h1--split::after{
  content:'';
  position:absolute;
  left:0;
  bottom:-1.05rem;
  display:block;
  width:72px;
  height:2px;
  background:linear-gradient(90deg, var(--ambar) 0 72%, rgba(186,128,67,0) 100%);
}
.page-home .hero-h1-lead{
  font-family:var(--display);
  font-weight:800;
  letter-spacing:.005em;
  color:var(--offwhite);
}
.page-home .hero-h1-tail{
  max-width:720px;
  color:var(--ambar);
}
.page-home .hero-lede{ max-width:680px; }
.page-home .hero-lede-fix strong{ color:var(--ambar-lt); }
.page-home .hero-actions{ margin-top:2rem; }

.section-eyebrow,
.video-label,
.pillar-num,
.plan-badge{
  color:var(--ambar-lt);
  font-family:var(--body) !important;
  font-weight:600;
  letter-spacing:.14em;
}
.hero-eyebrow::before,
.section-eyebrow::before,
.video-label::before{
  width:24px;
  height:1px;
  background:var(--ambar);
}
.section-title,
.cta-title,
.video-title{
  font-weight:700 !important;
  letter-spacing:.01em;
}
.section-title em,
.cta-title em{
  color:var(--ambar-lt);
}
.section-title em::after,
.cta-title em::after{ height:1px; bottom:-.1em; }

.page-home .authority{ background:#16222E; }
.page-home .logo-marquee{
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  padding-block:14px;
}
.page-home .logo-cell{
  border-radius:2px;
  background:#E3DCD6;
  border-color:rgba(227,220,214,.24);
}
.page-home .logo-cell img{
  filter:none;
  opacity:1;
}
.page-home .logo-cell:hover img{
  filter:none;
}
.page-home .logo-cell span{ color:var(--petroleo-dk); }
.page-home .markets{
  border-top:0;
  margin-top:1.6rem;
}

.page-home .video-section{ background:#101D26; }
.page-home .vtest{
  border-radius:3px;
  border:1px solid rgba(227,220,214,.16);
  box-shadow:18px 18px 0 rgba(186,128,67,.09);
}
.page-home .vtest-sound{ border-radius:3px; }
.page-home .vtest-badge{ border-radius:0; }

.page-home .pain-section{ background:#16222E; }
.page-home .pain-instruction{
  border-radius:3px;
  background:rgba(186,128,67,.1);
  border-color:rgba(186,128,67,.42);
  color:var(--ambar-lt);
}
.page-home .pain-item{
  min-height:210px;
  overflow:hidden;
  border-radius:3px;
  background:#1B2934;
  border-color:rgba(227,220,214,.16);
  padding:1.65rem;
}
.page-home .pain-item::after{
  content:'';
  position:absolute;
  right:-24px;
  bottom:-34px;
  width:132px;
  height:132px;
  background:url('brand/tower-offwhite.svg') center/contain no-repeat;
  opacity:.025;
  pointer-events:none;
}
.page-home .pain-item:hover{
  border-color:rgba(186,128,67,.7);
  background:#1B2934;
  box-shadow:0 16px 36px rgba(0,0,0,.18);
}
.page-home .pain-num{
  color:var(--ambar);
  font-size:34px;
  line-height:1;
  opacity:.7;
}
.page-home .pain-check{ border-radius:2px; }
.page-home .pain-item.marked{
  background:var(--ambar);
  border-color:var(--ambar);
}
.page-home .pain-item.marked .pain-num,
.page-home .pain-item.marked .pain-text{ color:var(--petroleo-dk); }
.page-home .pain-item.marked .pain-check{
  background:var(--petroleo-dk);
  border-color:var(--petroleo-dk);
  color:var(--offwhite);
}
.page-home .pain-bar{ border-radius:0; background:rgba(227,220,214,.12); }
.page-home .pain-bar-fill{ border-radius:0; background:var(--ambar); }

.page-home .pillars-section{ background:#101D26; }
.page-home .core-badge{
  border-radius:3px;
  border-color:rgba(186,128,67,.52);
  background:
    url('brand/tower-amber.svg') center/66% no-repeat,
    rgba(186,128,67,.06);
  box-shadow:none;
}
.page-home .core-badge span{ display:none; }
.page-home .rail-line{ background:var(--ambar); opacity:.62; }
.page-home .pillar{
  overflow:hidden;
  border-radius:3px;
  background:#1B2934;
  border-color:rgba(227,220,214,.15);
  border-left:3px solid var(--ambar);
  padding:1.75rem 1.85rem;
}
.page-home .pillar::after{
  opacity:.035;
  background:url('brand/tower-offwhite.svg') 108% 145%/150px no-repeat;
}
.page-home .pillar:hover{
  background:#1B2934;
  border-color:rgba(186,128,67,.72);
  transform:translateX(3px);
}
.page-home .pillar:hover::after{ opacity:.055; }
.page-home .pillar-name{ font-size:27px; }
.page-home .tag{
  border-radius:2px;
  border-color:rgba(186,128,67,.42);
  background:rgba(186,128,67,.07);
}

.page-home .how-section{ background:#16222E; }
.page-home .step-circle{
  border-radius:2px;
  background:transparent;
  border-color:rgba(186,128,67,.55);
  box-shadow:none;
}
.page-home .step-circle.active{
  background:var(--ambar);
  border-color:var(--ambar);
  color:var(--petroleo-dk);
  box-shadow:0 0 0 5px rgba(186,128,67,.1);
}
.page-home .step-line{ background:rgba(186,128,67,.32); }
.page-home .step-title{ font-size:18px; }

.page-home .plans-section{ background:#101D26; }
.page-home .plans-grid{ gap:1.2rem; }
.page-home .plan-card{
  position:relative;
  overflow:hidden;
  border-radius:3px;
  background:#1B2934;
  border-color:rgba(227,220,214,.16);
  padding:2.2rem 1.9rem;
  box-shadow:none;
}
.page-home .plan-card::before{
  content:'';
  position:absolute;
  right:-35px;
  top:-28px;
  width:140px;
  height:140px;
  background:url('brand/tower-offwhite.svg') center/contain no-repeat;
  opacity:.025;
  pointer-events:none;
}
.page-home .plan-card:hover{
  border-color:rgba(186,128,67,.64);
  transform:translateY(-3px);
}
.page-home .plan-card.featured{
  background:var(--offwhite);
  border-color:var(--offwhite);
  color:var(--petroleo-dk);
  box-shadow:10px 10px 0 rgba(186,128,67,.22);
}
.page-home .plan-card.featured::before{
  background-image:url('brand/tower-amber.svg');
  opacity:.11;
}
.page-home .plan-card.featured .plan-name,
.page-home .plan-card.featured .plan-item{ color:var(--petroleo-dk); }
.page-home .plan-card.featured .plan-badge{ color:#855723; }
.page-home .plan-card.featured .plan-divider{ background:rgba(22,34,46,.18); }
.page-home .plan-card.featured .plan-cta{
  background:var(--petroleo-dk);
  color:var(--offwhite);
}
.page-home .plan-card.featured .plan-cta:hover{
  background:#16222E;
  box-shadow:none;
}
.page-home .plan-cta{ border-radius:2px; }

.page-home .mentor-section{ background:#16222E; }
.page-home .mentor-section--photo .mentor-left{
  background:
    linear-gradient(rgba(22,34,46,.96), rgba(22,34,46,.96)),
    url('brand/pattern-01.svg') center/420px repeat;
}
.page-home .mentor-quote{
  font-family:var(--hand);
  font-size:clamp(25px,3vw,36px);
  font-style:normal;
  line-height:1.35;
  color:var(--ambar-lt);
  border-left:0;
  padding-left:0;
}
.page-home .mentor-cap{ border-radius:0; }

.page-home .cta-section{
  background:
    linear-gradient(rgba(16,29,38,.92), rgba(16,29,38,.97)),
    url('brand/pattern-02.svg') center/520px repeat,
    var(--petroleo-dk);
}
.page-home .cta-section::before,
.page-home .cta-section::after{
  border-radius:3px;
  border-color:rgba(186,128,67,.16);
  animation:none;
}
.page-home .cta-logo{ height:66px; opacity:1; }

@media (max-width:880px){
  nav{ height:66px; }
  .nav-logo img{ height:29px; }
  .page-home .hero-dots{
    background-image:
      linear-gradient(rgba(16,29,38,.82), rgba(16,29,38,.82)),
      url('brand/pattern-02.svg');
    background-size:auto, 500px auto;
    background-position:center, calc(100% + 150px) 8%;
    -webkit-mask-image:linear-gradient(90deg, transparent 34%, rgba(0,0,0,.12) 53%, rgba(0,0,0,.88) 82%, #000 100%);
    mask-image:linear-gradient(90deg, transparent 34%, rgba(0,0,0,.12) 53%, rgba(0,0,0,.88) 82%, #000 100%);
  }
  .page-home .hero-dots::after{
    top:48%;
    right:-62px;
    width:clamp(300px,44vw,380px);
    opacity:.27;
    filter:drop-shadow(0 0 22px rgba(186,128,67,.18)) drop-shadow(0 18px 32px rgba(0,0,0,.2));
  }
  .page-home .pain-item{ min-height:190px; }
}

@media (max-width:520px){
  .nav-logo img{ height:25px; }
  .page-home .hero{
    padding-inline:1.25rem !important;
    background:
      linear-gradient(110deg, rgba(16,29,38,1) 0%, rgba(16,29,38,.98) 68%, rgba(22,34,46,.9) 100%),
      var(--petroleo-dk);
  }
  .page-home .hero::before{
    background:linear-gradient(90deg, rgba(16,29,38,.08) 0%, rgba(16,29,38,.18) 58%, rgba(16,29,38,.72) 100%);
  }
  .page-home .hero::after{
    width:330px;
    height:62%;
    top:12%;
    right:-120px;
    background:radial-gradient(ellipse at center, rgba(186,128,67,.12), rgba(186,128,67,.035) 48%, transparent 72%);
  }
  .page-home .hero-dots{
    background-image:
      linear-gradient(rgba(16,29,38,.9), rgba(16,29,38,.9)),
      url('brand/pattern-02.svg');
    background-size:auto, 420px auto;
    background-position:center, calc(100% + 160px) top;
    -webkit-mask-image:linear-gradient(90deg, transparent 42%, rgba(0,0,0,.18) 65%, #000 100%);
    mask-image:linear-gradient(90deg, transparent 42%, rgba(0,0,0,.18) 65%, #000 100%);
  }
  .page-home .hero-dots::after{
    top:34%;
    right:-76px;
    width:224px;
    opacity:.18;
    filter:drop-shadow(0 0 16px rgba(186,128,67,.16));
  }
  .page-home .hero-h1-lead{ font-size:clamp(50px,16vw,68px); }
  .page-home .hero-h1-tail{ font-size:17px; }
  .page-home .pain-item{ min-height:0; }
  .page-home .vtest{ box-shadow:9px 9px 0 rgba(186,128,67,.1); }
  .page-home .pillar{ padding:1.45rem; }
  .page-home .plan-card{ padding:1.8rem 1.45rem; }
  .page-home .cta-logo{ height:50px; }
}

/* ============================================================
   ADEQUAÇÃO À REFERÊNCIA VISUAL 2026
   ============================================================ */
.hero-sub,
.section-sub,
.pillar-subtitle,
.mentor-cap-role{
  font-family:var(--display);
}
.wa-fab svg{ fill:var(--petroleo) !important; }

/* Rodapé institucional com selo de autenticidade. */
footer.brand-footer{
  display:block;
  padding:clamp(4rem,7vw,6.5rem) 5vw clamp(2rem,4vw,3rem);
  background:var(--petroleo-dk);
  border-top:1px solid rgba(227,220,214,.1);
  text-align:center;
}
.footer-brand{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.footer-seal{
  width:clamp(112px,10vw,154px);
  height:auto;
  display:block;
  margin-bottom:1.5rem;
}
.footer-wordmark{
  width:clamp(154px,15vw,224px);
  height:auto;
  display:block;
  margin-bottom:1.4rem;
}
.brand-footer .footer-tagline{
  font-family:var(--body) !important;
  font-size:clamp(12px,1.25vw,16px);
  font-weight:400;
  line-height:1.5;
  letter-spacing:.01em;
  text-transform:none;
  color:var(--offwhite-dim);
}
.footer-divider{
  width:100%;
  height:1px;
  margin:clamp(2.25rem,5vw,4rem) 0 1.5rem;
  background:rgba(227,220,214,.14);
}
.footer-base{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
}
.footer-signature{
  width:clamp(128px,12vw,178px);
  height:auto;
  display:block;
}
.brand-footer .footer-copy{
  font-family:var(--body) !important;
  font-size:12px;
  letter-spacing:0;
  text-transform:none;
  color:rgba(227,220,214,.48);
}

/* Peças oficiais nas três frentes de programas. */
.frentes-section .frente{
  grid-template-columns:clamp(108px,11vw,152px) minmax(0,1fr);
  gap:clamp(1.5rem,3vw,3rem);
  align-items:center;
  padding:clamp(1.7rem,3vw,2.5rem);
  margin-top:1.35rem;
  background:#1B2934;
  border:1px solid rgba(227,220,214,.14);
  border-radius:18px;
}
.frentes-section .frente:first-of-type{
  padding-top:clamp(1.7rem,3vw,2.5rem);
  border-top:1px solid rgba(227,220,214,.14);
}
.frentes-section .frente-icon{
  width:100%;
  height:clamp(156px,16vw,220px);
  border:0;
  border-radius:0;
  background:transparent;
}
.frentes-section .frente-icon img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  filter:drop-shadow(0 14px 18px rgba(0,0,0,.24));
}
.frentes-section .frente-body{ max-width:none; }
.frentes-section .frente-who{
  max-width:980px;
  padding-left:0;
  border-left:0;
  color:var(--offwhite-dim);
}

@media (max-width:720px){
  footer.brand-footer{
    padding-bottom:calc(7.25rem + env(safe-area-inset-bottom));
  }
  .footer-base{
    flex-direction:column;
    justify-content:center;
    text-align:center;
  }
  .frentes-section .frente{
    grid-template-columns:1fr;
    gap:1rem;
    padding:1.5rem;
    border-radius:12px;
  }
  .frentes-section .frente-icon{
    width:82px;
    height:118px;
    justify-self:start;
  }
}
