:root{
    --bg:#070707;
    --panel:#101010;
    --panel2:#151515;
    --text:#ffffff;
    --muted:#a7a7a7;
    --soft:#d0d0d0;
    --line:#282828;
    --red:#ed1c24;
    --red-hover:#ff343c;
    --radius:22px;
    --shadow:0 25px 70px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.65}
body,button,a{font-family:Arial,Helvetica,sans-serif}
a{text-decoration:none;color:inherit}
.container{width:min(1180px,calc(100% - 48px));margin:0 auto}
.site-header{position:relative;z-index:50;background:#070707;border-bottom:1px solid #202020}
.header-inner{min-height:78px;display:flex;align-items:center;gap:26px}
.brand{display:flex;align-items:center;gap:10px;margin-right:auto}
.brand-mark{width:43px;height:43px;border:2px solid var(--red);border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:900}
.brand-text{font-size:9px;line-height:1.05;letter-spacing:1.2px;color:#aaa}
.brand-text strong{font-size:12px;color:#fff}
.desktop-nav{display:flex;align-items:center;gap:28px}
.desktop-nav a{font-size:12px;font-weight:700;color:#aaa}
.desktop-nav a:hover,.desktop-nav a.active{color:#fff}
.desktop-nav a.active{position:relative}
.desktop-nav a.active:after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--red);bottom:-30px}
.header-cta,.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:800}
.header-cta{background:var(--red);padding:11px 17px;font-size:12px}
.header-cta:hover{background:var(--red-hover)}
.header-cta span,.btn b,.text-link span{margin-left:5px}
.mobile-menu{display:none}
.hero{position:relative;overflow:hidden;border-bottom:1px solid #1c1c1c;background:radial-gradient(circle at 80% 25%,rgba(237,28,36,.16),transparent 34%),#080808}
.hero-glow{position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}
.hero-glow-one{width:260px;height:260px;background:rgba(237,28,36,.08);right:-100px;top:100px}
.hero-glow-two{width:180px;height:180px;background:rgba(237,28,36,.06);left:-90px;bottom:-70px}
.hero-grid{min-height:650px;display:grid;grid-template-columns:1.03fr .97fr;gap:70px;align-items:center;padding:80px 0}
.eyebrow{display:flex;align-items:center;gap:9px;color:#ff4148;font-size:11px;font-weight:900;letter-spacing:1.7px;text-transform:uppercase;margin:0 0 16px}
.eyebrow span{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block}
.hero h1,.section h2,.benefits-top h2,.students-heading h2,.faq-intro h2,.final-cta h2{font-family:Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:-2.5px}
.hero h1{font-size:clamp(46px,5.8vw,78px);line-height:1.01;margin:0 0 22px}
em{font-style:normal;color:var(--red)}
.hero-text{max-width:650px;color:#c1c1c1;font-size:16px;margin:0 0 28px}
.button-row{display:flex;gap:11px;flex-wrap:wrap}
.btn{padding:13px 21px;font-size:12px;border:1px solid transparent;transition:.2s}
.btn-red{background:var(--red);color:#fff;box-shadow:0 12px 30px rgba(237,28,36,.16)}
.btn-red:hover{background:var(--red-hover);transform:translateY(-2px)}
.btn-outline{background:transparent;border-color:#555;color:#fff}
.btn-outline:hover{border-color:var(--red)}
.hero-points{display:flex;flex-wrap:wrap;gap:17px;margin-top:23px;color:#9e9e9e;font-size:11px;font-weight:700}
.image-slot{position:relative;overflow:hidden;border:1px solid #333;background:linear-gradient(145deg,#181818,#0c0c0c);box-shadow:var(--shadow)}
.slot-content{height:100%;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;background:radial-gradient(circle at 50% 35%,rgba(237,28,36,.11),transparent 42%)}
.slot-content strong{font-size:12px;letter-spacing:1.5px}
.slot-content small{max-width:270px;margin-top:8px;color:#777;font-size:10px}
.image-tag{position:absolute;left:16px;bottom:16px;background:#fff;color:#111;border-radius:999px;padding:7px 11px;font-size:9px;font-weight:900}
.hero-image{min-height:510px;border-radius:28px}
.section{padding:105px 0}
.dark-section,.benefits-section{background:#0b0b0b;border-top:1px solid #171717;border-bottom:1px solid #171717}
.profile-grid,.story-grid,.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}
.tall-image{height:530px;border-radius:25px}
.landscape-image{height:410px;border-radius:25px}
.wide-image{height:450px;border-radius:25px}
.section-copy h2,.section-heading h2,.benefits-top h2,.students-heading h2,.faq-intro h2,.final-cta h2{font-size:clamp(35px,4.2vw,57px);line-height:1.04;margin:0 0 20px}
.section-copy p:not(.eyebrow),.section-heading>p:not(.eyebrow),.benefits-top>p,.students-heading>p,.faq-intro>p:not(.eyebrow),.final-cta p:not(.eyebrow){color:#aaa;font-size:14px;max-width:650px}
.text-link{display:inline-block;margin-top:16px;color:#fff;font-size:12px;font-weight:900;border-bottom:1px solid var(--red);padding-bottom:6px}
.section-heading.centered{text-align:center;max-width:750px;margin:0 auto 45px}
.section-heading.centered .eyebrow{justify-content:center}
.section-heading.centered>p{margin-left:auto;margin-right:auto}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.step-card,.benefit-card{background:var(--panel);border:1px solid #252525;border-radius:20px;padding:28px;transition:.2s}
.step-card:hover,.benefit-card:hover{border-color:#4a4a4a;transform:translateY(-3px)}
.number,.benefit-number{color:var(--red);font-size:11px;font-weight:900;letter-spacing:1.5px}
.step-card h3,.benefit-card h3{font-size:18px;margin:30px 0 10px}
.step-card p,.benefit-card p{color:#999;font-size:12px;margin:0}
.benefits-top{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:38px}
.benefits-top>p{max-width:410px;margin:0}
.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.benefit-card h3{margin-top:18px}
.mini-points{display:grid;gap:10px;margin-top:25px}
.mini-points div{display:flex;align-items:center;gap:12px;background:#101010;border:1px solid #252525;border-radius:12px;padding:11px 13px;font-size:12px}
.mini-points b{color:var(--red);font-size:10px}
.students-section{padding:100px 0;background:#070707;overflow:hidden}
.students-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:40px}
.students-heading>p{max-width:390px;margin:0}
.student-track{display:flex;gap:16px;width:max-content;padding-left:max(24px,calc((100vw - 1180px)/2));padding-right:24px}
.student-card{width:270px;height:340px;flex:none;border-radius:20px;border:1px solid #292929;background:#121212;overflow:hidden}
.student-placeholder{height:100%;display:grid;place-items:center;text-align:center;padding:20px;color:#777;font-size:11px;font-weight:900;letter-spacing:1px;background:radial-gradient(circle at 50% 35%,rgba(237,28,36,.09),transparent 45%)}
.faq-section{background:#0b0b0b}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:start}
.faq-intro .btn{margin-top:15px}
.faq-list{display:grid;gap:10px}
.faq-item{border:1px solid #292929;border-radius:14px;background:#101010;overflow:hidden}
.faq-item summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:19px 20px;font-size:13px;font-weight:800}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary b{font-size:21px;color:var(--red);font-weight:400;transition:.2s}
.faq-item[open] summary b{transform:rotate(45deg)}
.faq-answer{padding:0 20px 20px;color:#999;font-size:12px;max-width:700px}
.final-cta{padding:75px 0;border-top:1px solid #242424;background:linear-gradient(120deg,#100909,#080808 60%)}
.final-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.final-cta h2{max-width:700px;margin-bottom:10px}
.final-cta p{margin:0;max-width:650px}
.footer{border-top:1px solid #202020;background:#050505;padding:35px 0}
.footer-inner{display:flex;justify-content:space-between;gap:30px}
.footer strong{font-size:14px}
.footer p,.footer a{font-size:11px;color:#777}
.footer p{max-width:470px}
.footer-contact{display:flex;flex-direction:column;gap:8px;text-align:right}
.footer a:hover{color:#fff}

@media (max-width:1050px){
    .desktop-nav{gap:18px}
    .header-cta{display:none}
    .hero-grid,.profile-grid,.story-grid,.split-grid{gap:45px}
    .hero-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
    .container{width:min(100% - 32px,600px)}
    .header-inner{min-height:70px}
    .desktop-nav{display:none}
    .mobile-menu{display:block;position:relative}
    .mobile-menu summary{list-style:none;display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:8px}
    .mobile-menu summary::-webkit-details-marker{display:none}
    .mobile-menu summary span{width:24px;height:2px;background:#fff;display:block}
    .mobile-menu nav{position:absolute;right:0;top:52px;width:245px;background:#111;border:1px solid #2a2a2a;border-radius:15px;padding:10px;box-shadow:var(--shadow)}
    .mobile-menu nav a{display:block;padding:12px 13px;border-radius:9px;color:#aaa;font-size:12px;font-weight:800}
    .mobile-menu nav a:hover,.mobile-menu nav a.active{background:#191919;color:#fff}
    .mobile-menu nav .mobile-book{background:var(--red);color:#fff;text-align:center;margin-top:5px}
    .hero-grid,.profile-grid,.story-grid,.split-grid,.faq-grid{grid-template-columns:1fr}
    .hero-grid{padding:65px 0}
    .hero-image{min-height:370px;order:-1}
    .hero h1{font-size:clamp(42px,12vw,62px);letter-spacing:-2px}
    .hero-text{font-size:14px}
    .section{padding:75px 0}
    .tall-image,.landscape-image,.wide-image{height:350px}
    .steps-grid,.benefits-grid{grid-template-columns:1fr}
    .benefits-top,.students-heading,.final-cta-inner,.footer-inner{align-items:flex-start;flex-direction:column}
    .benefits-top>p,.students-heading>p{margin:0}
    .students-section{padding:75px 0}
    .student-card{width:230px;height:290px}
    .faq-grid{gap:45px}
    .final-cta{padding:60px 0}
    .footer-contact{text-align:left}
}
@media (max-width:420px){
    .container{width:calc(100% - 24px)}
    .brand-text{display:none}
    .hero-grid{padding:50px 0}
    .hero h1{font-size:41px}
    .hero-image{min-height:300px}
    .button-row .btn{width:100%}
    .section-copy h2,.section-heading h2,.benefits-top h2,.students-heading h2,.faq-intro h2,.final-cta h2{font-size:34px;letter-spacing:-1.5px}
    .tall-image,.landscape-image,.wide-image{height:280px}
    .student-card{width:205px;height:260px}
    .faq-item summary{font-size:12px;padding:16px}
}
