/* ═══════════════════════════════════════════════════
   Teacher Alex — Landing Page Styles
   oteacheralex.com.br
   ═══════════════════════════════════════════════════ */

/* ── Reset & Base ── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:'Instrument Sans','DM Sans',-apple-system,sans-serif;color:#E2E8F0;background:#020617;overflow-x:clip;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}

/* ── BG Grid ── */
.bg-grid{position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);
  background-size:52px 52px;
  mask-image:radial-gradient(ellipse 60% 45% at 50% 15%,black 20%,transparent 100%);
  -webkit-mask-image:radial-gradient(ellipse 60% 45% at 50% 15%,black 20%,transparent 100%)}

/* ── Reveal animations — GSAP-powered, gated behind JS ── */
html.js .rv,html.js .rv-scale,html.js .rv-left,html.js .rv-right,html.js .rv-zoom{opacity:0;visibility:hidden}

/* ── Float ── */
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.float{animation:float 4s ease-in-out infinite}

/* ── Reduced motion ── */
@media(prefers-reduced-motion:reduce){
  html.js .rv,html.js .rv-scale,html.js .rv-left,html.js .rv-right,html.js .rv-zoom{opacity:1;visibility:visible;transform:none}
  [data-split]{opacity:1!important;visibility:visible!important}
  .split-char{transform:none!important;opacity:1!important}
  .float{animation:none}
  .wpp-fab::before,.wpp-fab::after{animation:none}
}

/* ── Swiper overrides ── */
.swiper-testi{overflow:visible!important;margin-top:2.5rem}
.swiper-testi .swiper-slide{height:auto}
.swiper-testi .swiper-pagination{position:relative;margin-top:1.5rem;bottom:auto}
.swiper-testi .swiper-pagination-bullet{width:8px;height:8px;background:#475569;opacity:.5;transition:all .3s}
.swiper-testi .swiper-pagination-bullet-active{background:#60A5FA;opacity:1;width:24px;border-radius:4px}


/* ═══════════════════════════════════
   NAV
═══════════════════════════════════ */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:.8rem 2rem;display:flex;align-items:center;justify-content:space-between;transition:all .4s}
.nav.scrolled{background:rgba(2,6,23,.92);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid rgba(255,255,255,.04);padding:.65rem 2rem}
.nav-logo{display:flex;align-items:center;gap:.6rem}
.nav-mark{width:34px;height:34px;background:linear-gradient(135deg,#2563EB,#3B82F6);border-radius:9px;display:flex;align-items:center;justify-content:center;font-family:'Outfit',sans-serif;font-weight:800;font-size:.7rem;color:#fff;letter-spacing:.02em}
.nav-name{font-family:'Outfit',sans-serif;font-weight:700;font-size:1.05rem;color:#fff}
.nav-links{display:flex;align-items:center;gap:1.8rem}
.nav-link{font-size:.84rem;color:#64748B;transition:color .3s;font-weight:500;position:relative}
.nav-link:hover{color:#E2E8F0}
.nav-link.active{color:#E2E8F0}
.nav-cta-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.15rem;border-radius:10px;background:#2563EB;color:#fff;font-size:.84rem;font-weight:600;transition:all .25s;box-shadow:0 2px 0 #1d4ed8,0 4px 14px rgba(37,99,235,.2)}
.nav-cta-btn:hover{transform:translateY(1px);box-shadow:0 1px 0 #1d4ed8,0 2px 8px rgba(37,99,235,.2)}
.nav-mobile-cta{display:none}


/* ═══════════════════════════════════
   BUTTONS
═══════════════════════════════════ */
.btn-p{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 1.8rem;border-radius:14px;background:#2563EB;color:#fff;font-family:'Outfit',sans-serif;font-weight:600;font-size:.95rem;transition:all .25s;border:1px solid rgba(96,165,250,.15);box-shadow:0 4px 0 #1d4ed8,0 12px 28px rgba(37,99,235,.2)}
.btn-p:hover{transform:translateY(2px);box-shadow:0 2px 0 #1d4ed8,0 6px 14px rgba(37,99,235,.2)}
.btn-p:active{transform:translateY(4px);box-shadow:0 0 0 #1d4ed8}
.btn-p svg{width:17px;height:17px}
.btn-s{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 1.8rem;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);color:#CBD5E1;font-family:'Outfit',sans-serif;font-weight:500;font-size:.95rem;transition:all .3s}
.btn-s:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.12)}
.btn-sm{padding:.65rem 1.3rem;font-size:.85rem;border-radius:11px}


/* ═══════════════════════════════════
   SECTIONS — Base
═══════════════════════════════════ */
.sec{padding:6.5rem 2rem;position:relative;overflow-x:clip}
.sec-inner{max-width:1200px;margin:0 auto}
.sec-label{font-family:'Outfit',sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#3B82F6;margin-bottom:.75rem}
.sec-title{font-family:'Outfit',sans-serif;font-size:clamp(1.7rem,3.5vw,2.6rem);font-weight:700;color:#F8FAFC;letter-spacing:-.03em;line-height:1.12;margin-bottom:.8rem}
.sec-desc{font-size:1.02rem;color:#94A3B8;line-height:1.75;max-width:540px}
.divider{height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.06) 30%,rgba(59,130,246,.06) 70%,transparent)}


/* ═══════════════════════════════════
   HERO
═══════════════════════════════════ */
.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;padding:7rem 2rem 5rem}
.hero::before{content:'';position:absolute;inset:0;background:
  radial-gradient(ellipse 80% 60% at 70% 40%,rgba(59,130,246,.07) 0%,transparent 55%),
  radial-gradient(ellipse 60% 50% at 30% 60%,rgba(139,92,246,.05) 0%,transparent 50%);pointer-events:none}
.hero-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;align-items:center;position:relative;z-index:1}
.hero-title{font-family:'Outfit',sans-serif;font-size:clamp(2.4rem,5vw,3.8rem);font-weight:800;line-height:1.06;color:#F8FAFC;letter-spacing:-.04em;margin-bottom:1.5rem}
.hero-title em{font-style:normal;background:linear-gradient(135deg,#60A5FA 20%,#A78BFA 80%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-sub{font-size:1.08rem;line-height:1.8;color:#94A3B8;max-width:480px;margin-bottom:2.4rem}
.hero-sub strong{color:#CBD5E1;font-weight:500}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}
.hero-photo{position:relative;display:flex;justify-content:center}
.hero-photo img{width:100%;max-width:380px;border-radius:24px;box-shadow:0 40px 80px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.04)}
.hero-photo::before{content:'';position:absolute;inset:-2px;border-radius:26px;background:linear-gradient(160deg,rgba(59,130,246,.12),transparent 40%,transparent 60%,rgba(139,92,246,.08));z-index:-1}
.hero-scroll{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.35rem;color:#334155;font-size:.65rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;animation:bob 2.5s ease-in-out infinite;z-index:1}
@keyframes bob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(6px)}}
.hero-scroll svg{width:16px;height:16px;opacity:.3}


/* ── Stats ── */
.stats{padding:2.8rem 2rem;background:rgba(255,255,255,.012);border-top:1px solid rgba(255,255,255,.025);border-bottom:1px solid rgba(255,255,255,.025)}
.stats-inner{max-width:900px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center}
.stat-n{font-family:'Outfit',sans-serif;font-size:2.2rem;font-weight:800;color:#F8FAFC}
.stat-sf{color:#3B82F6}
.stat-l{font-size:.73rem;color:#64748B;margin-top:.25rem;text-transform:uppercase;letter-spacing:.1em;font-weight:500}


/* ═══════════════════════════════════
   ENGLISHPLUS SHOWCASE
═══════════════════════════════════ */
.ep-sec{padding:5.5rem 2rem;overflow-x:clip;background:linear-gradient(180deg,rgba(2,6,23,0) 0%,rgba(15,23,42,.2) 25%,rgba(15,23,42,.2) 75%,rgba(2,6,23,0) 100%)}
.ep-inner{max-width:1100px;margin:0 auto}
.ep-header{text-align:center;margin-bottom:3.5rem}
.ep-title{font-family:'Outfit',sans-serif;font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:800;color:#F8FAFC;letter-spacing:-.04em;line-height:1.08;margin-bottom:1.2rem}
.ep-title em{font-style:normal;background:linear-gradient(135deg,#60A5FA 20%,#A78BFA 80%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ep-subtitle{font-size:1.05rem;color:#94A3B8;line-height:1.75;max-width:560px;margin:0 auto}
.ep-badge{display:inline-flex;align-items:center;gap:.55rem;padding:.5rem 1.2rem;border-radius:100px;background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.18);font-family:'Outfit',sans-serif;font-size:.9rem;font-weight:700;color:#60A5FA;letter-spacing:.04em;margin-bottom:1.5rem;box-shadow:0 0 30px rgba(59,130,246,.08)}
.ep-mark{width:24px;height:24px;background:linear-gradient(135deg,#2563EB,#3B82F6);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:800;color:#fff}

.ep-card{background:rgba(15,23,42,.5);border:1px solid rgba(59,130,246,.12);border-radius:24px;padding:3.5rem 3.8rem;backdrop-filter:blur(16px);position:relative;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.02),0 28px 68px rgba(0,0,0,.28)}
.ep-card::before{content:'';position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.35),transparent)}
.ep-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.ep-phones{display:flex;gap:.7rem;justify-content:center;align-items:flex-start}
.ep-phone{width:160px;border-radius:20px;padding:4px;background:linear-gradient(160deg,#1E293B,#0F172A);border:1px solid rgba(255,255,255,.04);box-shadow:0 24px 48px rgba(0,0,0,.35);transition:transform .5s cubic-bezier(.25,.46,.45,.94)}
.ep-phone img{width:100%;border-radius:16px}
.ep-phone:nth-child(2){transform:translateY(1.3rem)}
.ep-phone:nth-child(3){transform:translateY(-.4rem)}
.ep-phone:hover{transform:translateY(-4px)}
.ep-phone:nth-child(2):hover{transform:translateY(calc(1.3rem - 4px))}
.ep-phone:nth-child(3):hover{transform:translateY(calc(-.4rem - 4px))}

.ep-feats{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:0}
.ep-feat{display:flex;gap:.7rem;padding:.95rem;border-radius:12px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.04);transition:all .35s}
.ep-feat:hover{background:rgba(59,130,246,.05);border-color:rgba(59,130,246,.1);transform:translateY(-1px)}
.ep-fi{width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ep-fi svg{width:18px;height:18px}
.ep-fi.bl{background:rgba(59,130,246,.08);color:#60A5FA}
.ep-fi.pu{background:rgba(139,92,246,.08);color:#A78BFA}
.ep-fi.am{background:rgba(245,158,11,.08);color:#FBBF24}
.ep-fi.cy{background:rgba(6,182,212,.08);color:#22D3EE}
.ep-ft{font-family:'Outfit',sans-serif;font-weight:600;font-size:.88rem;color:#F1F5F9}
.ep-fd{font-size:.77rem;color:#64748B;line-height:1.45;margin-top:.15rem}

/* Desktop screenshots */
.ep-desktop{margin-top:2.5rem}
.ep-scroll{display:flex;gap:1.2rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:1.5rem 0;scrollbar-width:none}
.ep-scroll::-webkit-scrollbar{display:none}
.ep-dcard{flex-shrink:0;width:min(560px,82vw);scroll-snap-align:center;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.05);box-shadow:0 16px 40px rgba(0,0,0,.25);transition:transform .35s}
.ep-dcard:hover{transform:scale(1.012)}
.ep-dcard img{width:100%}

/* Pricing — launch promo */
.ep-pricing-header{text-align:center;margin:3.5rem 0 2rem}
.ep-pricing-header h3{font-family:'Outfit',sans-serif;font-size:clamp(1.4rem,3vw,2rem);font-weight:700;color:#F8FAFC;letter-spacing:-.03em}
.ep-pricing{display:grid;grid-template-columns:1fr 1.15fr;gap:1.5rem;align-items:start}
.ep-price{border-radius:20px;padding:2.5rem 2rem;text-align:left;position:relative;transition:transform .35s}
.ep-price:hover{transform:translateY(-3px)}
.ep-price-free{background:rgba(30,41,59,.25);border:1px solid rgba(255,255,255,.04)}
.ep-price-paid{background:linear-gradient(145deg,rgba(37,99,235,.1),rgba(99,102,241,.06),rgba(139,92,246,.04));border:1px solid rgba(59,130,246,.2);box-shadow:0 0 50px rgba(59,130,246,.06),0 24px 48px rgba(0,0,0,.2);position:relative;overflow:hidden}
.ep-price-paid::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 5%,#3B82F6 30%,#6366F1 50%,#3B82F6 70%,transparent 95%)}
.ep-price-paid::after{content:'';position:absolute;top:0;right:0;width:200px;height:200px;background:radial-gradient(circle,rgba(59,130,246,.06),transparent 70%);pointer-events:none}
.ep-ptag{font-family:'Outfit',sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;display:inline-block;padding:.3rem .7rem;border-radius:6px;margin-bottom:1rem}
.ep-ptag-f{color:#94A3B8;background:rgba(255,255,255,.03)}
.ep-ptag-p{color:#60A5FA;background:rgba(59,130,246,.1)}
.ep-pname{font-family:'Outfit',sans-serif;font-size:1.2rem;font-weight:700;color:#F8FAFC;margin-bottom:.5rem}
.ep-pval{font-family:'Outfit',sans-serif;font-size:2.4rem;font-weight:800;color:#F8FAFC;margin:.6rem 0}
.ep-pval small{font-size:.85rem;font-weight:400;color:#64748B}
.ep-pval-old{font-family:'Outfit',sans-serif;font-size:1.1rem;font-weight:500;color:#475569;text-decoration:line-through;margin-bottom:.1rem}
.ep-promo-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;border-radius:6px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);color:#F87171;font-family:'Outfit',sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.03em;margin-bottom:.8rem}
.ep-promo-badge .dot{width:6px;height:6px;border-radius:50%;background:#EF4444;animation:pulse 1.5s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.ep-countdown{display:flex;gap:.5rem;margin:1rem 0 1.2rem}
.ep-cd-block{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:.6rem .1rem;text-align:center;flex:1;min-width:0}
.ep-cd-n{font-family:'Outfit',sans-serif;font-size:1.8rem;font-weight:800;color:#F8FAFC;line-height:1}
.ep-cd-l{font-size:.58rem;color:#64748B;text-transform:uppercase;letter-spacing:.1em;margin-top:.25rem}
.ep-plist{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin:1rem 0 1.5rem}
.ep-plist li{font-size:.86rem;color:#94A3B8;display:flex;align-items:center;gap:.5rem}
.ep-plist li svg{width:16px;height:16px;color:#22C55E;flex-shrink:0}
.ep-plist li.x{color:#475569}
.ep-plist li.x svg{color:#334155}


/* ═══════════════════════════════════
   AULAS PARTICULARES
═══════════════════════════════════ */
.aulas{padding:6rem 2rem;position:relative;overflow:hidden}
.aulas::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(15,23,42,.3) 20%,rgba(15,23,42,.3) 80%,transparent 100%);pointer-events:none}
.aulas-inner{max-width:1200px;margin:0 auto;position:relative;z-index:1}
.aulas-top{text-align:center;margin-bottom:4rem}
.aulas-title{font-family:'Outfit',sans-serif;font-size:clamp(2rem,4.5vw,3.2rem);font-weight:800;color:#F8FAFC;letter-spacing:-.04em;line-height:1.08;margin-bottom:1.2rem}
.aulas-title em{font-style:normal;background:linear-gradient(135deg,#A78BFA 20%,#60A5FA 80%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.aulas-subtitle{font-size:1.08rem;color:#94A3B8;line-height:1.75;max-width:580px;margin:0 auto}
.aulas-subtitle strong{color:#CBD5E1;font-weight:500}
.aulas-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.aula-card{background:rgba(30,41,59,.25);border:1px solid rgba(255,255,255,.04);border-radius:18px;padding:2rem 1.6rem;transition:all .4s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden}
.aula-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent);opacity:0;transition:opacity .4s}
.aula-card:hover{background:rgba(30,41,59,.45);border-color:rgba(255,255,255,.08);transform:translateY(-6px)}
.aula-card:hover::before{opacity:1}
.aula-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem}
.aula-icon svg{width:22px;height:22px}
.aula-card h4{font-family:'Outfit',sans-serif;font-weight:700;font-size:1.05rem;color:#F1F5F9;margin-bottom:.45rem}
.aula-card p{font-size:.88rem;color:#94A3B8;line-height:1.6}
.aulas-cta{text-align:center;margin-top:3rem}


/* ═══════════════════════════════════
   TESTIMONIALS
═══════════════════════════════════ */
.testi-card{background:rgba(15,23,42,.6);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:2.2rem;transition:all .4s;position:relative;height:100%}
.testi-card:hover{border-color:rgba(255,255,255,.14);transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.2)}
.testi-stars{display:flex;gap:.15rem;margin-bottom:1rem}
.testi-stars svg{width:16px;height:16px;fill:#FBBF24;color:#FBBF24}
.testi-q{font-size:1rem;line-height:1.8;color:#F1F5F9;margin-bottom:1.4rem;font-style:normal;font-weight:400}
.testi-footer{display:flex;align-items:center;gap:.8rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.04)}
.testi-avatar{width:40px;height:40px;border-radius:50%;background:#1E3A5F;display:flex;align-items:center;justify-content:center;font-family:'Outfit',sans-serif;font-weight:700;font-size:.85rem;color:#60A5FA;flex-shrink:0}
.testi-name{font-family:'Outfit',sans-serif;font-weight:700;font-size:1rem;color:#F8FAFC}
.testi-role{font-size:.78rem;color:#94A3B8;margin-top:.1rem}


/* ═══════════════════════════════════
   ABOUT
═══════════════════════════════════ */
.about{padding:6rem 2rem;position:relative;overflow:hidden}
.about::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(15,23,42,.35) 20%,rgba(15,23,42,.35) 80%,transparent);pointer-events:none}
.about-inner{max-width:1100px;margin:0 auto;position:relative;z-index:1}
.about-card{background:rgba(15,23,42,.5);border:1px solid rgba(255,255,255,.06);border-radius:24px;padding:3.5rem;position:relative;overflow:hidden}
.about-card::before{content:'';position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent)}
.about-grid{display:grid;grid-template-columns:320px 1fr;gap:3rem;align-items:start}
.about-photo{position:relative}
.about-photo img{width:100%;border-radius:18px;box-shadow:0 24px 48px rgba(0,0,0,.35)}
.about-name{font-family:'Outfit',sans-serif;font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:800;color:#F8FAFC;letter-spacing:-.03em;margin-bottom:.6rem}
.about-tag{font-size:.88rem;color:#60A5FA;font-weight:600;margin-bottom:1.5rem}
.about-text p{font-size:1.02rem;line-height:1.85;color:#CBD5E1;margin-bottom:1.2rem}
.about-text strong{color:#F1F5F9;font-weight:600}
.about-highlight{background:rgba(59,130,246,.06);border:1px solid rgba(59,130,246,.1);border-radius:14px;padding:1.2rem 1.5rem;margin:1.5rem 0;font-size:.95rem;color:#94A3B8;line-height:1.7}
.about-highlight strong{color:#60A5FA;font-weight:600}
.hub{display:flex;gap:.8rem;margin-top:2rem;flex-wrap:wrap}
.hub-link{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.3rem;border-radius:11px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);font-size:.86rem;color:#94A3B8;font-weight:500;transition:all .3s}
.hub-link:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.1);color:#E2E8F0;transform:translateY(-1px)}
.hub-link svg{width:16px;height:16px}
.hub-link.wpp{color:#25D366;border-color:rgba(37,211,102,.15)}
.hub-link.wpp:hover{background:rgba(37,211,102,.08);border-color:rgba(37,211,102,.25)}
.hub-link.ig{color:#E4405F;border-color:rgba(228,64,95,.12)}
.hub-link.ig:hover{background:rgba(228,64,95,.06);border-color:rgba(228,64,95,.2)}
.hub-link.ep{color:#60A5FA;border-color:rgba(59,130,246,.12)}
.hub-link.ep:hover{background:rgba(59,130,246,.06);border-color:rgba(59,130,246,.2)}


/* ═══════════════════════════════════
   FAQ
═══════════════════════════════════ */
.faq-list{max-width:720px;margin:2.5rem auto 0;display:flex;flex-direction:column;gap:.6rem}
.faq-item{background:rgba(15,23,42,.5);border:1px solid rgba(255,255,255,.06);border-radius:14px;overflow:hidden;transition:border-color .35s}
.faq-item.open{border-color:rgba(59,130,246,.15)}
.faq-q{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.5rem;cursor:pointer;font-family:'Outfit',sans-serif;font-weight:600;font-size:.95rem;color:#E2E8F0;gap:1rem;-webkit-tap-highlight-color:transparent;transition:color .2s;width:100%;background:none;border:none;text-align:left}
.faq-q:hover{color:#fff}
.faq-q svg{width:18px;height:18px;flex-shrink:0;color:#475569;transition:transform .35s,color .35s}
.faq-item.open .faq-q svg{transform:rotate(45deg);color:#3B82F6}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s ease}
.faq-item.open .faq-a{max-height:600px;padding:0 1.5rem 1.2rem}
.faq-a p{font-size:.92rem;color:#94A3B8;line-height:1.75}


/* ═══════════════════════════════════
   FOOTER
═══════════════════════════════════ */
.footer{padding:3rem 2rem 1.5rem;border-top:1px solid rgba(255,255,255,.025);background:rgba(1,3,17,.8)}
.footer-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem}
.footer-links{display:flex;gap:1.5rem;align-items:center}
.footer-link{display:inline-flex;align-items:center;gap:.4rem;color:#475569;font-size:.82rem;transition:color .3s;font-weight:500}
.footer-link:hover{color:#CBD5E1}
.footer-link svg{width:15px;height:15px}
.footer-copy{font-size:.7rem;color:#1E293B;text-align:center;width:100%;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.015)}


/* ═══════════════════════════════════
   WHATSAPP FAB
═══════════════════════════════════ */
.wpp-wrap{position:fixed;bottom:1.5rem;right:1.5rem;z-index:90;transition:all .4s cubic-bezier(.16,1,.3,1)}
.wpp-wrap.hidden{opacity:0;transform:scale(.5) translateY(20px);pointer-events:none}
.wpp-fab{position:relative;width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,.25);transition:all .3s}
.wpp-fab:hover{transform:scale(1.08);box-shadow:0 6px 28px rgba(37,211,102,.35)}
.wpp-fab svg{width:26px;height:26px;fill:#fff}
.wpp-fab::before,.wpp-fab::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(37,211,102,.4);animation:wpp-pulse 2s ease-out infinite}
.wpp-fab::after{animation-delay:1s}
@keyframes wpp-pulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.5);opacity:0}}


/* ═══════════════════════════════════
   TEXT SPLIT & EFFECTS
═══════════════════════════════════ */
.split-word{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.05em}
.split-char{display:inline-block;transform:translateY(110%);opacity:0}


/* ═══════════════════════════════════
   MOBILE — 768px
═══════════════════════════════════ */
@media(max-width:768px){
  .nav{padding:.7rem 1rem}
  .nav-links{display:none}
  .nav-mobile-cta{display:flex}

  .hero{padding:5rem 1.5rem 3rem;min-height:auto}
  .hero-inner{grid-template-columns:1fr;gap:2rem;text-align:center}
  .hero-title{font-size:2rem}
  .hero-sub{margin-left:auto;margin-right:auto;font-size:.95rem}
  .hero-actions{justify-content:center}
  .hero-photo{order:-1}
  .hero-photo img{max-width:200px;margin:0 auto}
  .hero-scroll{display:none}

  .stats-inner{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;padding:0;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .stats-inner::-webkit-scrollbar{display:none}
  .stats-inner>div{flex:0 0 50%;scroll-snap-align:center;padding:1.2rem .5rem;border-right:1px solid rgba(255,255,255,.04)}
  .stats-inner>div:last-child{border-right:none}
  .stat-n{font-size:1.5rem}

  .sec{padding:3.5rem 1.2rem}

  .ep-sec{padding:3rem 1.2rem}
  .ep-card{padding:1.8rem 1.2rem}
  .ep-grid{grid-template-columns:1fr;gap:2rem}
  .ep-phones{order:-1}
  .ep-phone{width:110px;border-radius:14px;padding:3px}
  .ep-phone img{border-radius:11px}
  .ep-feats{grid-template-columns:1fr}
  .ep-title{font-size:1.8rem}
  .ep-pricing{grid-template-columns:1fr}

  .aulas{padding:3.5rem 1.2rem}
  .aulas-title{font-size:1.8rem}
  .aulas-grid{grid-template-columns:1fr 1fr;gap:.7rem}
  .aula-card{padding:1.4rem 1.1rem}
  .aula-icon{width:40px;height:40px;margin-bottom:.8rem}
  .aula-card h4{font-size:.92rem}
  .aula-card p{font-size:.8rem}

  .about{padding:3.5rem 1.2rem}
  .about-card{padding:2rem 1.2rem}
  .about-grid{grid-template-columns:1fr;gap:2rem;text-align:center}
  .about-photo img{width:200px;margin:0 auto}
  .hub{justify-content:center}

  .faq-q{font-size:.88rem;padding:1rem 1.2rem}

  .final-cta{flex-direction:column;text-align:center;gap:2rem!important}
  .final-cta img{width:140px!important;height:140px!important;margin:0 auto}
  .final-cta h2{text-align:center!important}
  .final-cta div:last-child{text-align:center}
  .final-cta div:last-child div[style*="display:flex"]{justify-content:center}

  .footer-inner{flex-direction:column;text-align:center}
  .footer-links{justify-content:center;flex-wrap:wrap}

  .ep-dcard{width:min(420px,85vw)}
  .ep-cd-n{font-size:1.6rem}
  .aulas-cta .btn-p{width:100%;justify-content:center}
}

/* ═══════════════════════════════════
   MOBILE — 480px
═══════════════════════════════════ */
@media(max-width:480px){
  .hero-title{font-size:1.7rem}
  .ep-title{font-size:1.55rem}
  .aulas-title{font-size:1.55rem}
  .ep-phone:nth-child(3){display:none}
  .aulas-grid{grid-template-columns:1fr}
  .aula-card{padding:1.5rem 1.2rem}
  .stats-inner>div{flex:0 0 50%}
}
