:root{
  --brand:#111;--brand-2:#ff5f73;--bg:#0b0b0b;--card:#141414;--muted:#9aa3af;--ink:#e5e7eb;--border:#232323;--success:#10b981;--warn:#f59e0b;
  --h1: clamp(2.4rem, 4.2vw, 4rem);--h2: clamp(1.6rem, 2.5vw, 2.25rem);--h3: clamp(1.2rem, 1.6vw, 1.4rem);--lead: clamp(1rem, 1.4vw, 1.125rem);
  --radius: 18px;--shadow: 0 12px 24px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);
  background:radial-gradient(1200px 600px at 10% -10%, #1b1b1b 0%, #0b0b0b 40%, #050505 100%);}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
.grid{display:grid;gap:28px}
.reveal{opacity:0;transform:translateY(12px);transition:opacity .6s ease, transform .6s ease}

/* Buttons */
.btn{appearance:none;border:0;cursor:pointer;font-weight:700;letter-spacing:.25px;color:#fff;background:var(--brand-2);
  padding:14px 24px;border-radius:12px;transition:transform .2s ease, filter .2s ease, box-shadow .2s ease;display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.btn:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,0,0,.35)}
.btn.ghost{background:transparent;border:2px solid var(--brand-2);color:var(--ink)}
.btn.ghost:hover{filter:brightness(120%);box-shadow:0 6px 14px rgba(0,0,0,.25)}
.badge{display:inline-block;font:700 .8rem/1 Poppins;padding:6px 10px;border:1px solid #333;border-radius:999px;color:#cbd5e1}

/* Topbar */
.topbar{background:#111;color:#fff;font-weight:600;font-size:.95rem;position:relative;z-index:6;border-bottom:1px solid var(--border)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0}
.topbar a{color:#fff;text-decoration:none}
.topbar a.btn{font-size:.9rem;padding:10px 18px;border-radius:12px}

/* Header */
.header{position:sticky;top:0;z-index:10;background:rgba(10,10,10,.7);backdrop-filter: blur(10px); border-bottom:1px solid var(--border)}
.header .bar{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand-logo{width:36px;height:36px;border-radius:10px;background:conic-gradient(from 220deg at 50% 50%, #ff5f73, #ffd166, #06b6d4, #ff5f73);box-shadow:0 0 0 2px #111 inset}
.brand-name{font:700 1.05rem/1 Poppins;color:#fff;letter-spacing:.3px}
.nav{display:flex;gap:22px;align-items:center}
.nav a{color:#cbd5e1;text-decoration:none;font-weight:600}
.nav a:hover{color:#fff}
.burger{display:none;background:none;border:0;color:#fff;font-size:1.6rem}
.nav .btn{font-size:.9rem;padding:10px 18px;border-radius:12px}

/* Mobile nav */
@media (max-width: 860px){
  .nav{display:none}
  .burger{display:block}
  .nav-panel{position:fixed;inset:66px 0 0 0;background:#0d0d0d;display:none;border-top:1px solid var(--border)}
  .nav-panel a{display:block;padding:16px 24px;border-bottom:1px solid var(--border)}
  .nav-panel.show{display:block}
}

/* Hero */
.hero{position:relative;min-height:78vh;display:grid;place-items:center;background:
  radial-gradient(1000px 500px at 85% 20%, rgba(255,95,115,.15), transparent 55%),
  url('https://images.unsplash.com/photo-1551836022-d5d88e9218df?q=80&w=1600&auto=format&fit=crop') center/cover no-repeat;border-bottom:1px solid var(--border)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.7));}
.hero > .container{position:relative;z-index:2;padding:80px 20px}
.kicker{font-family:"Bebas Neue", system-ui; letter-spacing:1px;font-size:clamp(1.2rem, 2.2vw, 1.6rem);color:#fff; display:inline-block; padding:4px 10px; border:1px solid #ffffff33; border-radius:999px;}
.hero h1{margin:16px 0 10px 0;font-size:var(--h1);line-height:1.05}
.hero .gradient-clip{background:linear-gradient(120deg, #ffd166 0%, #ff5f73 40%, #06b6d4 100%);-webkit-background-clip:text; background-clip:text; color:transparent}
.hero p{max-width:760px;color:#e2e8f0;font-size:var(--lead)}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}

/* Section */
.section{padding:80px 0;border-bottom:1px solid var(--border)}
.section h2{font-size:var(--h2);margin:0 0 8px 0}
.section p.lead{color:#cbd5e1;max-width:760px}

/* Programs */
.cards{grid-template-columns:repeat(12,1fr);align-items:stretch}
.card{grid-column:span 4;background:linear-gradient(180deg,#141414,#0f0f0f);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}
@media (max-width:980px){.card{grid-column:span 6}}
@media (max-width:640px){.card{grid-column:span 12}}
.card .media{height:180px;background:#0f0f0f url('https://images.unsplash.com/photo-1518609571773-39b7d303a82d?q=80&w=1600&auto=format&fit=crop') center/cover}
.card .pad{padding:18px 18px 22px;display:flex;flex-direction:column;flex:1}
.card h3{margin:0 0 6px 0;font-size:var(--h3)}
.card p{color:#cbd5e1}
.card ul{margin:12px 0 0 0;padding:0;list-style:none;display:grid;gap:8px}
.card li{display:flex;gap:10px;align-items:flex-start;color:#cbd5e1}
.icon{width:18px;height:18px;flex:0 0 18px;display:inline-grid;place-items:center}
.card .actions{margin-top:auto}
.card .actions .btn{margin-top:14px}

/* Testimonials */
.testi-wrap{position:relative}
.testi-track{display:flex;gap:18px;overflow:hidden;scroll-behavior:smooth;scroll-snap-type:x mandatory;padding:6px}
.testi{scroll-snap-align:start;min-width:320px;flex:0 0 320px;background:#121212;border:1px solid var(--border);border-radius:var(--radius);padding:18px}
.testi p{color:#cbd5e1}
.testi .who{margin-top:8px;font-weight:700}
.carousel-controls{display:flex;gap:10px;margin-top:12px}
.carousel-controls button{border:1px solid var(--border);background:#151515;color:#fff;border-radius:12px;padding:10px 14px;cursor:pointer}
.carousel-controls button:hover{filter:brightness(120%)}

/* Lead Magnet */
.lead-box{background: radial-gradient(500px 220px at 10% 10%, rgba(255,95,115,.15), transparent 60%), linear-gradient(180deg,#151515,#0f0f0f);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.form{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}
.form input{flex:1 1 220px;min-width:220px;background:#0f0f0f;border:1px solid #2a2a2a;color:#fff;padding:14px 14px;border-radius:12px;outline:0}
.form .btn{padding:14px 22px}

/* Media logos */
.logos{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;align-items:center}
@media (max-width:800px){.logos{grid-template-columns:repeat(3,1fr)}}
.logo{height:46px;border:1px dashed #2b2b2b;border-radius:12px;display:grid;place-items:center;color:#e5e7eb;font-weight:700;font-size:1.1rem;letter-spacing:.5px;text-transform:uppercase}

/* Footer */
.footer{padding:50px 0;background:#0a0a0a}
.footer .row{display:flex;gap:28px;justify-content:space-between;flex-wrap:wrap}
.footer .social{display:flex;gap:14px}
.footer a{color:#cbd5e1;text-decoration:none}
.small{color:#8b949e;font-size:.9rem}

/* smooth scroll */
html{scroll-behavior:smooth}
/* ===== Page Builder Area (Elementor / Gutenberg) ===== */
#page-builder .page-builder-content {
  color: var(--ink);
}

/* Gutenberg buttons inherit theme look */
#page-builder .wp-block-button__link {
  background: var(--brand-2);
  color: #fff;
  border-radius: 12px;
  padding: 12px 20px;
  font-weight: 700;
  text-decoration: none;
}

/* Elementor button fallback (if you don’t apply .btn manually) */
#page-builder .elementor-button {
  border-radius: 12px;
}

/* Make headings readable on dark background */
#page-builder h1, 
#page-builder h2, 
#page-builder h3,
#page-builder h4 {
  color: #fff;
}
/* Normalize button sizing site-wide */
.btn { font-size: 1rem; padding: 12px 20px; line-height: 1.2; }
.topbar .btn, .nav .btn { font-size: .9rem; padding: 10px 18px; }
.hero .cta .btn { font-size: 1.125rem; padding: 14px 22px; }
.cards .actions .btn { font-size: 1rem; padding: 12px 20px; }

/* === Elementor skin to match the theme === */

/* Container width + padding */
.elementor-section .elementor-container{max-width:1200px;padding-left:20px;padding-right:20px}

/* Dark page background + section dividers like the theme */
body{background:radial-gradient(1200px 600px at 10% -10%, #1b1b1b 0%, #0b0b0b 40%, #050505 100%)}
.elementor-section{border-bottom:1px solid var(--border)}

/* Typography colors */
.elementor h1,.elementor h2,.elementor h3,.elementor h4,.elementor h5{color:#fff}
.elementor p,.elementor li{color:var(--ink)}
.elementor .elementor-heading-title.gradient-clip{
  background:linear-gradient(120deg,#ffd166 0%,#ff5f73 40%,#06b6d4 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent
}

/* Kicker/badge utility */
.elementor .kicker,
.elementor .badge{
  display:inline-block;font:700 .9rem/1 Poppins;padding:6px 10px;border:1px solid #333;border-radius:999px;
  color:#cbd5e1; letter-spacing:.4px
}

/* Buttons: default + ghost (apply class "ghost" in Elementor → Advanced → CSS Classes) */
.elementor .elementor-button{
  background:var(--brand-2); color:#fff; border:0; border-radius:12px;
  padding:12px 20px; font-weight:700; letter-spacing:.25px; text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease
}
.elementor .elementor-button:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,0,0,.35)}
.elementor .elementor-button.ghost{background:transparent; color:var(--ink); border:2px solid var(--brand-2)}
.elementor .elementor-button.ghost:hover{filter:brightness(120%);box-shadow:0 6px 14px rgba(0,0,0,.25)}

/* Size normalization so buttons don’t blow up */
.elementor .elementor-button{font-size:1rem;line-height:1.2}
.elementor .btn-lg.elementor-button{font-size:1.125rem;padding:14px 22px}
.elementor .btn-sm.elementor-button{font-size:.9rem;padding:10px 16px}

/* Cards — give an Elementor container the class "card" and inside use "media", "pad", "actions" */
.elementor .card{
  background:linear-gradient(180deg,#141414,#0f0f0f);
  border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow);
  overflow:hidden; display:flex; flex-direction:column
}
.elementor .card .media{
  height:180px; background:#0f0f0f center/cover no-repeat
}
.elementor .card .pad{padding:18px 18px 22px; display:flex; flex-direction:column; flex:1}
.elementor .card .actions{margin-top:auto}

/* Logos row — add class "logos" to a section, and each inner widget wrapper add class "logo" */
.elementor .logos{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;align-items:center}
@media (max-width:800px){ .elementor .logos{grid-template-columns:repeat(3,1fr)} }
.elementor .logo{
  height:46px;border:1px dashed #2b2b2b;border-radius:12px;display:grid;place-items:center;
  color:#e5e7eb; font-weight:700; font-size:1.1rem; letter-spacing:.5px; text-transform:uppercase
}

/* Hero section helper — apply class "hero" to your first Elementor section */
.elementor .hero{
  position:relative; min-height:78vh; display:grid; place-items:center; border-bottom:1px solid var(--border)
}
.elementor .hero .elementor-container{position:relative; z-index:2; padding-top:80px; padding-bottom:80px}

/* Section spacing like the theme */
.elementor .section{padding:80px 0}