/* ===========================================================
   ELETROFAST — ECG na Emergência
   Design System: MedTech Premium
=========================================================== */

:root{
  --navy: #031C3A;
  --navy-2: #051f42;
  --navy-3: #082a54;
  --blue: #005EB8;
  --blue-electric: #0085FF;
  --orange: #FF7315;
  --orange-2: #ff8a3d;
  --white: #FFFFFF;
  --grey-light: #F4F7FA;
  --grey-mid: #8fa3bd;
  --text-dark: #0b1e33;
  --text-muted: #4a6180;

  --font-heading: 'Sora', sans-serif;
  --font-body: 'Manrope', sans-serif;

  --radius: 16px;
  --radius-lg: 24px;
  --shadow-lg: 0 30px 60px -20px rgba(3,28,58,0.45);
  --transition: 0.3s cubic-bezier(.4,0,.2,1);
}

*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  font-family: var(--font-body);
  color: var(--text-dark);
  background: var(--white);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ text-decoration:none; color:inherit; }
ul{ list-style:none; }
.container{ max-width:1200px; margin:0 auto; padding:0 24px; }
h1,h2,h3,h4{ font-family: var(--font-heading); line-height:1.15; color: var(--navy); }
section.light-scope, .light{ color:var(--white); }

/* ===================== BUTTONS ===================== */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--font-heading); font-weight:700; letter-spacing:0.3px;
  border-radius:100px; cursor:pointer; border:none;
  transition: transform var(--transition), box-shadow var(--transition), background var(--transition);
  text-align:center; white-space:normal;
}
.btn-primary{
  background: linear-gradient(135deg, var(--orange), var(--orange-2));
  color:#fff;
  box-shadow: 0 12px 30px -8px rgba(255,115,21,0.55);
  padding:16px 28px; font-size:15px;
}
.btn-primary:hover{ transform: translateY(-3px); box-shadow:0 18px 36px -8px rgba(255,115,21,0.65); }
.btn-ghost{
  background: rgba(255,255,255,0.08);
  border:1.5px solid rgba(255,255,255,0.35);
  color:#fff; padding:16px 28px; font-size:15px; backdrop-filter: blur(6px);
}
.btn-ghost:hover{ background: rgba(255,255,255,0.18); transform: translateY(-3px); }
.btn-lg{ padding:18px 32px; font-size:15px; }
.btn-xl{ padding:22px 44px; font-size:17px; }
.btn-full{ width:100%; }
.btn-header-cta{ padding:12px 22px; font-size:13px; }

/* ===================== EYEBROW / LABELS ===================== */
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-heading); font-size:13px; font-weight:700; letter-spacing:1.6px;
  color: var(--orange); text-transform:uppercase; margin-bottom:18px;
}
.eyebrow-dark{ color: var(--blue); }
.eyebrow-dot{
  width:8px; height:8px; border-radius:50%; background: var(--orange);
  box-shadow:0 0 0 4px rgba(255,115,21,0.2);
  animation: pulse-dot 1.8s infinite;
}
.eyebrow-dark .eyebrow-dot, .eyebrow-dark + .eyebrow-dot{ background: var(--blue); box-shadow:0 0 0 4px rgba(0,94,184,0.18); }
@keyframes pulse-dot{ 0%,100%{ opacity:1; } 50%{ opacity:0.4; } }

.text-gradient{
  background: linear-gradient(90deg, var(--orange), var(--blue-electric));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
}

/* ===================== SECTION GENERIC ===================== */
.section{ padding:90px 0; position:relative; }
.section-head{ max-width:780px; margin:0 auto 56px; text-align:center; }
.section-title{ font-size:clamp(28px,4vw,42px); font-weight:800; margin-bottom:16px; }
.section-title.light{ color:#fff; }
.section-subtitle{ font-size:17px; color:var(--text-muted); max-width:640px; margin:0 auto; }
.section-subtitle.light{ color: rgba(255,255,255,0.75); }
.cta-center{ display:flex; justify-content:center; margin-top:44px; }

/* ===================== HEADER ===================== */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background: rgba(3,28,58,0.0);
  backdrop-filter: blur(0px);
  transition: background var(--transition), backdrop-filter var(--transition), box-shadow var(--transition);
  padding:18px 0;
}
.site-header.scrolled{
  background: rgba(3,28,58,0.92);
  backdrop-filter: blur(14px);
  box-shadow: 0 8px 24px -12px rgba(0,0,0,0.4);
  padding:12px 0;
}
.header-inner{ display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand-logo{ height:34px; width:auto; }
.main-nav{ display:flex; gap:28px; align-items:center; }
.main-nav a{
  font-family:var(--font-heading); font-size:14px; font-weight:600; color:#fff;
  opacity:0.85; transition: opacity var(--transition), color var(--transition);
  position:relative;
}
.main-nav a:hover{ opacity:1; color: var(--orange); }
.menu-toggle{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:38px; height:38px; background:rgba(255,255,255,0.1); border:none; border-radius:8px; cursor:pointer;
}
.menu-toggle span{ width:20px; height:2px; background:#fff; margin:0 auto; border-radius:2px; transition: var(--transition); }
.menu-toggle.active span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.menu-toggle.active span:nth-child(2){ opacity:0; }
.menu-toggle.active span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }

/* ===================== HERO ===================== */
.hero{
  position:relative; min-height: clamp(640px, 92vh, 900px); display:flex; align-items:center;
  background: radial-gradient(ellipse at top right, #062a52 0%, var(--navy) 55%, #020f22 100%);
  overflow:hidden; padding-top:110px; padding-bottom:60px;
}
.hero-bg{ position:absolute; inset:0; z-index:0; }
.ecg-grid{
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(0,133,255,0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,133,255,0.07) 1px, transparent 1px);
  background-size: 36px 36px;
  mask-image: radial-gradient(ellipse at center, black 40%, transparent 85%);
}
.hero-ecg-line{ position:absolute; top:20%; left:0; width:100%; height:120px; opacity:0.35; }
.glow{ position:absolute; border-radius:50%; filter: blur(90px); opacity:0.5; }
.glow-1{ width:420px; height:420px; background: var(--blue-electric); top:-100px; right:-80px; }
.glow-2{ width:380px; height:380px; background: var(--orange); bottom:-140px; left:-100px; opacity:0.25; }

.hero-inner{
  position:relative; z-index:2; display:grid; grid-template-columns: 1.15fr 0.85fr; gap:50px; align-items:center;
}
.hero-content{ color:#fff; }
.hero-title{ font-size:clamp(32px,5vw,54px); font-weight:800; color:#fff; margin-bottom:22px; letter-spacing:-0.5px; }
.hero-subtitle{ font-size:18px; color: rgba(255,255,255,0.8); max-width:560px; margin-bottom:26px; }
.micro-benefits{ display:flex; flex-wrap:wrap; gap:16px 24px; margin-bottom:34px; }
.micro-benefits li{ display:flex; align-items:center; gap:8px; font-weight:600; font-size:14.5px; color:#fff; }
.micro-benefits i{ color: var(--orange); background: rgba(255,115,21,0.15); width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; }
.hero-ctas{ display:flex; flex-wrap:wrap; gap:16px; margin-bottom:20px; }
.hero-footnote{ font-size:13.5px; color: rgba(255,255,255,0.55); }

/* Hero visual: monitor */
.hero-visual{ position:relative; display:flex; justify-content:center; align-items:center; }
.monitor-card{
  background: linear-gradient(160deg, rgba(8,42,84,0.9), rgba(3,20,42,0.9));
  border:1px solid rgba(0,133,255,0.35);
  border-radius: var(--radius-lg);
  padding:24px; width:100%; max-width:420px;
  box-shadow: 0 40px 80px -30px rgba(0,0,0,0.6), 0 0 60px -10px rgba(0,133,255,0.25);
  backdrop-filter: blur(10px);
}
.monitor-topbar{ display:flex; align-items:center; gap:8px; margin-bottom:18px; }
.dot{ width:9px; height:9px; border-radius:50%; }
.dot-orange{ background: var(--orange); }
.dot-blue{ background: var(--blue-electric); }
.dot-white{ background: rgba(255,255,255,0.5); }
.monitor-label{ margin-left:auto; font-family:var(--font-heading); font-size:11px; letter-spacing:1.5px; color: var(--grey-mid); }
.monitor-ecg{ width:100%; height:130px; margin-bottom:18px; }
.ecg-path{ stroke: var(--blue-electric); filter: drop-shadow(0 0 6px rgba(0,133,255,0.7)); }
.ecg-path-2{ stroke: var(--orange); filter: drop-shadow(0 0 8px rgba(255,115,21,0.7)); }

.monitor-ecg-svg{
  width:100%; height:100%; display:block;
}
.monitor-ecg-svg path{
  fill:none;
  stroke:#FF2438;
  stroke-width:4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.monitor-stats{ display:flex; justify-content:space-between; border-top:1px solid rgba(255,255,255,0.1); padding-top:16px; }
.monitor-stat{ display:flex; flex-direction:column; gap:4px; }
.stat-label{ font-size:10.5px; letter-spacing:1.2px; color: var(--grey-mid); font-family:var(--font-heading); }
.stat-value{ font-family:var(--font-heading); font-weight:800; font-size:17px; }
.stat-orange{ color: var(--orange); }
.stat-blue{ color: var(--blue-electric); }
.stat-white{ color:#fff; font-size:14px; }
.hero-badge-logo{ position:absolute; bottom:-20px; right:10px; height:46px; opacity:0.9; filter: drop-shadow(0 8px 20px rgba(0,0,0,0.5)); }

.scroll-cue{ position:absolute; bottom:24px; left:50%; transform:translateX(-50%); z-index:2; }
.scroll-cue span{ width:24px; height:40px; border:2px solid rgba(255,255,255,0.35); border-radius:14px; display:block; position:relative; }
.scroll-cue span::before{
  content:''; position:absolute; top:6px; left:50%; width:4px; height:8px; background:var(--orange); border-radius:2px;
  transform: translateX(-50%); animation: scrollDown 1.6s infinite;
}
@keyframes scrollDown{ 0%{ opacity:1; top:6px; } 100%{ opacity:0; top:20px; } }

/* ===================== DOR SECTION ===================== */
.dor-section{ background: var(--grey-light); }
.dor-scenario{ max-width:820px; margin:0 auto; text-align:center; }
.dor-lead{ font-size:22px; font-weight:700; color: var(--navy); }
.dor-lead-sub{ font-size:16px; font-weight:500; color: var(--text-muted); margin-bottom:28px; }
.dor-questions{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-bottom:36px; }
.dor-q{
  background:#fff; border:1.5px solid #e3ecf5; padding:10px 18px; border-radius:100px;
  font-weight:600; font-size:14.5px; color: var(--blue); box-shadow: 0 6px 16px -8px rgba(0,94,184,0.15);
}
.dor-conclusion{ font-size:19px; color: var(--navy); line-height:1.6; }
.dor-conclusion strong{ color: var(--orange); }

/* ===================== MÉTODO ===================== */
.metodo-section{ background: linear-gradient(160deg, var(--navy) 0%, #041f40 100%); }
.metodo-steps{ display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; }
.metodo-step{
  background: rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius); padding:30px 22px; flex:1; min-width:220px; max-width:250px;
  backdrop-filter: blur(8px); transition: transform var(--transition), border-color var(--transition);
}
.metodo-step:hover{ transform: translateY(-6px); border-color: rgba(255,115,21,0.5); }
.metodo-num{ font-family:var(--font-heading); font-size:34px; font-weight:800; color: var(--orange); opacity:0.85; }
.metodo-step h3{ color:#fff; font-size:19px; margin:10px 0 8px; }
.metodo-step p{ color: rgba(255,255,255,0.65); font-size:14.5px; }
.metodo-arrow{ color: var(--orange); font-size:20px; opacity:0.6; }

/* ===================== TRANSFORMAÇÃO ===================== */
.transformacao-section{ background:#fff; }
.transform-grid{ display:grid; grid-template-columns: 1fr auto 1fr; gap:24px; align-items:center; max-width:1000px; margin:0 auto; }
.transform-card{ border-radius: var(--radius-lg); padding:36px 30px; }
.transform-before{ background: #fff4ec; border:1.5px solid #ffddc2; }
.transform-after{ background: #eef7ff; border:1.5px solid #cfe6ff; }
.transform-card h3{ font-size:19px; margin-bottom:20px; display:flex; align-items:center; gap:10px; }
.transform-before h3{ color:#c85a12; }
.transform-after h3{ color: var(--blue); }
.transform-card ul{ display:flex; flex-direction:column; gap:14px; }
.transform-card li{ font-size:15px; color: var(--text-dark); padding-left:20px; position:relative; }
.transform-before li::before{ content:'✕'; position:absolute; left:0; color:#e0752b; font-weight:700; }
.transform-after li::before{ content:'✓'; position:absolute; left:0; color: var(--blue); font-weight:700; }
.transform-vs{ font-size:26px; color: var(--orange); }

/* ===================== CONTEÚDO / MÓDULOS ===================== */
.conteudo-section{ background: var(--grey-light); }
.modules-accordion{ max-width:900px; margin:0 auto; display:flex; flex-direction:column; gap:14px; }
.module-item{
  background:#fff; border-radius: var(--radius); border:1px solid #e4ecf5;
  overflow:hidden; box-shadow: 0 6px 20px -14px rgba(3,28,58,0.15);
}
.module-header{
  width:100%; display:flex; align-items:center; gap:16px; padding:22px 26px; background:none; border:none;
  cursor:pointer; text-align:left; font-family:var(--font-body);
}
.module-tag{
  font-family:var(--font-heading); font-size:12px; font-weight:800; letter-spacing:1px;
  color: var(--white); background: var(--blue); padding:6px 12px; border-radius:100px; flex-shrink:0;
}
.module-title{ font-family:var(--font-heading); font-weight:700; font-size:17px; color: var(--navy); flex:1; }
.module-chevron{ color: var(--orange); transition: transform var(--transition); flex-shrink:0; }
.module-item.active .module-chevron{ transform: rotate(180deg); }
.module-body{ max-height:0; overflow:hidden; transition: max-height 0.4s ease; padding:0 26px; }
.module-item.active .module-body{ padding-bottom:26px; }
.module-list{ display:flex; flex-direction:column; gap:10px; margin:6px 0 16px; }
.module-list li{ font-size:15px; color: var(--text-dark); padding-left:20px; position:relative; }
.module-list li::before{ content:'—'; position:absolute; left:0; color: var(--blue-electric); }
.module-benefit{ font-size:15px; color: var(--text-muted); font-style:italic; border-left:3px solid var(--orange); padding-left:14px; }
.tag-small{ display:inline-block; font-size:12px; background:#eef3fa; color:var(--text-muted); padding:3px 9px; border-radius:100px; margin-left:6px; }
.tag-small-wrap{ display:flex; flex-wrap:wrap; align-items:center; gap:4px; }

.module-highlight{
  font-size:17px; font-weight:700; color: var(--navy); background: #fff4ec; border-left:4px solid var(--orange);
  padding:16px 20px; border-radius:10px; margin:16px 0; font-style: italic;
}
.module-highlight-inline{ font-size:16px; font-weight:700; color: var(--navy); font-style:italic; margin:14px 0; }

.evolution-line{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin:16px 0; font-size:14.5px; color:var(--text-muted); }
.evolution-line i{ color: var(--orange); }
.evolution-highlight{ color: var(--blue); font-weight:700; }

.sub-block{ padding:22px 0; border-top:1px dashed #dfe8f2; }
.sub-block:first-child{ border-top:none; padding-top:6px; }
.sub-block h4{ font-size:18px; color: var(--navy); margin-bottom:6px; }
.sub-block-highlight{ background: linear-gradient(160deg, #fff8f2, #fff); border-radius:12px; padding:22px; margin-top:10px; }

.flow-diagram{ display:flex; flex-direction:column; align-items:center; gap:6px; margin:18px 0; }
.flow-diagram span{
  font-family:var(--font-heading); font-weight:700; font-size:13px; letter-spacing:0.6px; color:#fff;
  background: var(--blue); padding:9px 18px; border-radius:100px;
}
.flow-diagram i{ color: var(--grey-mid); font-size:12px; }
.flow-final{ background: var(--navy) !important; }
.flow-diagram-orange span{ background: var(--orange-2); }
.flow-final-orange{ background: var(--orange) !important; font-size:14px !important; padding:11px 22px !important; }

.edu-box{
  background: var(--navy); border-radius:14px; padding:22px 24px; margin-top:18px;
  border:1px solid rgba(255,255,255,0.1);
}
.edu-box-tag{ display:inline-flex; align-items:center; gap:8px; color: var(--orange); font-family:var(--font-heading); font-weight:800; font-size:13px; letter-spacing:0.8px; margin-bottom:10px; }
.edu-box p{ color: rgba(255,255,255,0.8); font-size:14.5px; }

/* ===================== AULAS CURTAS ===================== */
.curtas-section{ background: linear-gradient(160deg, var(--navy) 0%, #062a52 100%); }
.curtas-grid{ display:grid; grid-template-columns: repeat(4,1fr); gap:20px; }
.curtas-card{
  background: rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.14);
  border-radius: var(--radius); padding:32px 20px; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:12px;
  transition: transform var(--transition), background var(--transition);
}
.curtas-card:hover{ transform: translateY(-6px); background: rgba(255,255,255,0.1); }
.curtas-card i{ font-size:26px; color: var(--orange); }
.curtas-title{ font-family:var(--font-heading); font-weight:800; font-size:19px; color:#fff; }
.curtas-desc{ font-size:13.5px; color: rgba(255,255,255,0.65); }

/* ===================== RECONHECERIA ===================== */
.reconhece-section{ background:#fff; }
.reconhece-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:22px; }
.reconhece-card{
  background: var(--grey-light); border-radius: var(--radius); padding:24px; text-align:center;
  border:1px solid #e6edf5; transition: box-shadow var(--transition);
}
.reconhece-card:hover{ box-shadow: 0 20px 40px -20px rgba(3,28,58,0.2); }
.reconhece-num{ font-family:var(--font-heading); font-weight:800; color: var(--blue); font-size:13px; letter-spacing:1px; }
.reconhece-svg{ width:100%; height:70px; margin:14px 0; }
.reconhece-svg polyline{ stroke: var(--blue-electric); }
.reconhece-question{ font-weight:700; color: var(--navy); font-size:15.5px; margin-bottom:14px; }
.reconhece-toggle{
  background:none; border:1.5px solid var(--blue); color: var(--blue); font-family:var(--font-heading);
  font-weight:700; font-size:13px; padding:9px 16px; border-radius:100px; cursor:pointer;
  transition: var(--transition); display:inline-flex; align-items:center; gap:8px;
}
.reconhece-toggle:hover{ background: var(--blue); color:#fff; }
.reconhece-toggle i{ transition: transform var(--transition); font-size:11px; }
.reconhece-card.open .reconhece-toggle i{ transform: rotate(180deg); }
.reconhece-answer{
  max-height:0; overflow:hidden; opacity:0; transition: max-height 0.35s ease, opacity 0.35s ease, margin-top 0.35s ease;
  font-size:14px; color: var(--text-muted); text-align:left; margin-top:0;
}
.reconhece-card.open .reconhece-answer{ max-height:200px; opacity:1; margin-top:16px; }

/* ===================== PROFESSORES ===================== */
.professores-section{ background: linear-gradient(160deg, #041f40, var(--navy)); }
.teacher-main{
  display:grid; grid-template-columns: 260px 1fr; gap:40px; align-items:center;
  background: rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-lg); padding:36px; margin-bottom:40px; backdrop-filter: blur(8px);
}
.teacher-main-photo img{ border-radius: var(--radius); width:100%; aspect-ratio:1/1.15; object-fit:cover; object-position: center 15%; box-shadow: var(--shadow-lg); }
.teacher-role{ display:inline-block; color: var(--orange); font-family:var(--font-heading); font-weight:700; font-size:13px; letter-spacing:0.6px; margin-bottom:10px; }
.teacher-main-info h3{ color:#fff; font-size:26px; margin-bottom:14px; }
.teacher-main-info p{ color: rgba(255,255,255,0.75); font-size:15px; margin-bottom:20px; }
.teacher-creds{ display:flex; flex-direction:column; gap:10px; }
.teacher-creds span{ color: rgba(255,255,255,0.85); font-size:13.5px; display:flex; align-items:center; gap:10px; }
.teacher-creds i{ color: var(--blue-electric); width:16px; text-align:center; }

.teachers-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:24px; }
.teacher-card{
  background: rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-lg); padding:28px; text-align:center;
}
.teacher-card img{ width:110px; height:110px; border-radius:50%; object-fit:cover; object-position: center 28%; margin:0 auto 16px; border:3px solid var(--orange); }
.teacher-card h4{ color:#fff; font-size:17px; margin-bottom:4px; }
.teacher-card-role{ display:block; color: var(--blue-electric); font-size:12px; font-weight:700; letter-spacing:0.6px; margin-bottom:14px; }
.teacher-card ul{ text-align:left; display:flex; flex-direction:column; gap:8px; }
.teacher-card li{ font-size:13px; color: rgba(255,255,255,0.7); padding-left:14px; position:relative; }
.teacher-card li::before{ content:'•'; position:absolute; left:0; color: var(--orange); }

/* ===================== PROVA SOCIAL ===================== */
.prova-section{ background: var(--grey-light); }
.testemunhos-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:22px; }
.testemunho-card.placeholder{
  background:#fff; border:2px dashed #cbd8e6; border-radius: var(--radius); padding:40px 24px;
  text-align:center; color: var(--text-muted);
}
.testemunho-card.placeholder i{ font-size:32px; color: var(--blue-electric); opacity:0.5; margin-bottom:14px; }
.testemunho-card.placeholder p{ font-weight:700; color: var(--navy); margin-bottom:8px; }
.testemunho-card.placeholder span{ font-size:13px; }

/* ===================== OFERTA ===================== */
.oferta-section{ background: linear-gradient(160deg, var(--navy), #051f42 60%, #030f22); position:relative; }
.oferta-card{
  max-width:560px; margin:0 auto; background: rgba(255,255,255,0.06); border:1.5px solid rgba(255,115,21,0.4);
  border-radius: var(--radius-lg); overflow:hidden; box-shadow: 0 40px 80px -30px rgba(0,0,0,0.5);
  backdrop-filter: blur(10px);
}
.oferta-card-top{ background: linear-gradient(90deg, rgba(255,115,21,0.15), rgba(0,133,255,0.1)); padding:30px 36px; text-align:center; }
.oferta-logo{ height:36px; margin:0 auto 10px; }
.oferta-subtitle{ display:block; color: rgba(255,255,255,0.7); font-family:var(--font-heading); letter-spacing:1.5px; font-size:12px; font-weight:700; }
.oferta-body{ padding:32px 36px 36px; }
.oferta-includes-title{ color:#fff; font-weight:700; margin-bottom:16px; font-size:15px; }
.oferta-list{ display:flex; flex-direction:column; gap:12px; margin-bottom:18px; }
.oferta-list li{ color: rgba(255,255,255,0.85); font-size:14.5px; display:flex; align-items:flex-start; gap:10px; }
.oferta-list i{ color: var(--orange); margin-top:2px; }
.oferta-note{ font-size:12px; color: rgba(255,255,255,0.45); margin-bottom:20px; }
.oferta-highlights{ display:flex; flex-direction:column; gap:10px; margin-bottom:14px; }
.oferta-highlight{
  display:flex; align-items:center; gap:12px;
  background: linear-gradient(90deg, rgba(255,115,21,0.16), rgba(255,115,21,0.05));
  border:1.5px solid rgba(255,115,21,0.45); border-radius:12px; padding:14px 16px;
}
.oferta-highlight i{
  color:#fff; background: linear-gradient(135deg, var(--orange), var(--orange-2));
  width:32px; height:32px; flex-shrink:0; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:14px;
}
.oferta-highlight span{ color:#fff; font-weight:700; font-size:14px; line-height:1.4; }

.oferta-extra{ display:flex; flex-direction:column; gap:8px; margin-bottom:24px; }
.oferta-extra span{
  font-size:13px; color: rgba(255,255,255,0.5); border:1px dashed rgba(255,255,255,0.25);
  padding:10px 14px; border-radius:10px; text-align:center;
  display:flex; align-items:center; justify-content:center; gap:8px;
}
.oferta-extra span i{ color: var(--orange); }

.oferta-certificado{
  display:flex; align-items:flex-start; gap:14px; background: rgba(0,94,184,0.12);
  border:1px solid rgba(0,133,255,0.3); border-radius: var(--radius); padding:16px 18px; margin-bottom:24px;
}
.oferta-certificado > i{ color: var(--blue-electric); font-size:20px; margin-top:2px; flex-shrink:0; }
.oferta-certificado-content{ display:flex; flex-direction:column; gap:12px; }
.oferta-certificado p{ color: rgba(255,255,255,0.8); font-size:13px; line-height:1.55; }
.oferta-certificado strong{ color:#fff; }
.selo-mec{
  display:inline-flex; align-items:center; gap:8px; align-self:flex-start;
  background: rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.25);
  color: rgba(255,255,255,0.9); font-family:var(--font-heading); font-weight:700;
  font-size:11px; letter-spacing:0.6px; padding:8px 14px; border-radius:100px;
}
.selo-mec i{ color: var(--orange); font-size:13px; }

.oferta-price-box{ text-align:center; margin-bottom:24px; padding:20px 0; border-top:1px solid rgba(255,255,255,0.12); border-bottom:1px solid rgba(255,255,255,0.12); }
.oferta-price-original{ display:block; font-size:15px; color: rgba(255,255,255,0.45); text-decoration: line-through; margin-bottom:4px; }
.oferta-price{ display:block; font-family:var(--font-heading); font-size:38px; font-weight:800; color:#fff; }
.oferta-price small{ font-size:15px; font-weight:600; color: rgba(255,255,255,0.7); }
.oferta-price-badge{
  display:inline-flex; align-items:center; gap:6px; margin-top:10px; background: linear-gradient(135deg, var(--orange), var(--orange-2));
  color:#fff; font-family:var(--font-heading); font-weight:800; font-size:13px; padding:6px 16px; border-radius:100px;
}
.oferta-price-detail{ display:block; font-size:13.5px; color: rgba(255,255,255,0.6); margin-top:10px; }
.oferta-microcopy{ text-align:center; font-size:12.5px; color: rgba(255,255,255,0.45); margin-top:12px; }

/* ===================== FAQ ===================== */
.faq-section{ background:#fff; }
.faq-accordion{ max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:12px; }
.faq-item{ border:1px solid #e4ecf5; border-radius: var(--radius); overflow:hidden; background: var(--grey-light); }
.faq-question{
  width:100%; display:flex; justify-content:space-between; align-items:center; gap:16px;
  padding:20px 24px; background:none; border:none; cursor:pointer; text-align:left;
  font-family:var(--font-heading); font-weight:700; font-size:15.5px; color: var(--navy);
}
.faq-icon{ color: var(--orange); transition: transform var(--transition); flex-shrink:0; }
.faq-item.active .faq-icon{ transform: rotate(45deg); }
.faq-answer{ max-height:0; overflow:hidden; transition: max-height 0.35s ease; padding:0 24px; }
.faq-item.active .faq-answer{ padding-bottom:20px; }
.faq-answer p{ color: var(--text-muted); font-size:14.5px; }

/* ===================== CLOSING ===================== */
.closing-section{
  background: radial-gradient(ellipse at bottom left, #062a52, var(--navy) 60%, #010b18);
  position:relative; overflow:hidden; padding:110px 0;
}
.closing-bg{ position:absolute; inset:0; z-index:0; opacity:0.4; }
.closing-ecg{ position:absolute; top:50%; transform:translateY(-50%); width:100%; height:160px; }
.closing-inner{ position:relative; z-index:1; text-align:center; max-width:760px; }
.closing-title{ color:#fff; font-size: clamp(28px,4.5vw,42px); font-weight:800; margin-bottom:18px; }
.closing-subtitle{ color: var(--orange); font-size:19px; font-weight:700; margin-bottom:22px; }
.closing-text{ color: rgba(255,255,255,0.7); font-size:16px; margin-bottom:36px; }
.closing-brand{ margin-top:50px; display:flex; flex-direction:column; align-items:center; gap:10px; }
.closing-brand img{ height:30px; opacity:0.9; }
.closing-brand p{ color: rgba(255,255,255,0.45); font-size:13px; }

/* ===================== FOOTER ===================== */
.site-footer{ background: #010b18; padding:44px 0; text-align:center; }
.footer-logo{ height:28px; margin:0 auto 16px; filter: brightness(0) invert(1); opacity:0.85; }
.footer-inner p{ color: rgba(255,255,255,0.5); font-size:13px; max-width:640px; margin:0 auto 6px; }
.footer-legal{ font-size:11.5px; color: rgba(255,255,255,0.3); }

/* ===================== STICKY CTAs ===================== */
.sticky-cta-mobile{
  position:fixed; bottom:0; left:0; right:0; z-index:999; background: var(--navy);
  display:none; align-items:center; justify-content:space-between; gap:14px;
  padding:10px 16px; height:70px; box-shadow: 0 -8px 30px -10px rgba(0,0,0,0.5);
  border-top:1px solid rgba(255,255,255,0.1);
  transform: translateY(100%); transition: transform var(--transition);
}
.sticky-cta-mobile.visible{ transform: translateY(0); }
.sticky-cta-info{ display:flex; flex-direction:column; }
.sticky-cta-brand{ font-family:var(--font-heading); font-weight:800; color:#fff; font-size:13px; letter-spacing:0.5px; }
.sticky-cta-price{ color: var(--orange); font-weight:700; font-size:13px; }
.sticky-cta-price small{ color: rgba(255,255,255,0.5); font-weight:500; }
.sticky-cta-mobile .btn{ padding:12px 18px; font-size:12.5px; flex-shrink:0; }

.sticky-cta-desktop{
  position:fixed; bottom:26px; right:26px; z-index:999; background: linear-gradient(135deg, var(--orange), var(--orange-2));
  color:#fff; font-family:var(--font-heading); font-weight:700; font-size:14px; padding:15px 24px;
  border-radius:100px; display:flex; align-items:center; gap:10px; box-shadow: 0 14px 30px -10px rgba(255,115,21,0.6);
  opacity:0; transform: translateY(20px); pointer-events:none; transition: var(--transition);
}
.sticky-cta-desktop.visible{ opacity:1; transform: translateY(0); pointer-events:auto; }
.sticky-cta-desktop:hover{ transform: translateY(-4px); }

/* ===========================================================
   RESPONSIVE
=========================================================== */
@media (max-width: 1024px){
  .hero-inner{ grid-template-columns:1fr; }
  .hero-visual{ order:-1; max-width:400px; margin:0 auto 20px; }
  .teacher-main{ grid-template-columns:1fr; text-align:center; }
  .teacher-main-photo{ max-width:220px; margin:0 auto; }
  .teacher-creds{ align-items:center; }
  .transform-grid{ grid-template-columns:1fr; }
  .transform-vs{ transform: rotate(90deg); margin:0 auto; }
}

@media (max-width: 900px){
  .curtas-grid{ grid-template-columns: repeat(2,1fr); }
  .reconhece-grid{ grid-template-columns: repeat(2,1fr); }
  .teachers-grid{ grid-template-columns:1fr; }
  .testemunhos-grid{ grid-template-columns:1fr; }
}

@media (max-width: 860px){
  .main-nav{ display:none; }
  .btn-header-cta{ display:none; }
  .menu-toggle{ display:flex; }
  .main-nav.mobile-open{
    display:flex; flex-direction:column; position:absolute; top:100%; left:0; right:0;
    background: rgba(3,28,58,0.98); padding:24px; gap:20px; backdrop-filter: blur(14px);
  }
}

@media (max-width: 768px){
  .section{ padding:64px 0; }
  .section-head{ margin-bottom:40px; }
  .metodo-steps{ flex-direction:column; }
  .metodo-arrow{ transform: rotate(90deg); }
  .metodo-step{ max-width:100%; width:100%; }
  .curtas-grid{ grid-template-columns:1fr; }
  .reconhece-grid{ grid-template-columns:1fr; }
  .dor-lead{ font-size:19px; }
  .hero-ctas{ flex-direction:column; }
  .hero-ctas .btn{ width:100%; }
  .sticky-cta-mobile{ display:flex; }
  .sticky-cta-desktop{ display:none !important; }
  body{ padding-bottom:0; }
  .module-header{ padding:18px 18px; }
  .module-body{ padding:0 18px; }
  .oferta-body{ padding:26px 22px 30px; }
  .oferta-card-top{ padding:24px; }
}

@media (max-width: 480px){
  .hero-title{ font-size:30px; }
  .dor-q{ font-size:13px; padding:9px 14px; }
  .oferta-price{ font-size:32px; }
  .closing-title{ font-size:26px; }
}
