:root{
    --bg:#070707;
    --panel:#101010;
    --text:#fff;
    --muted:#a7a7a7;
    --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}
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,.area-card a 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%;pointer-events:none}
.hero-glow-one{width:260px;height:260px;background:rgba(237,28,36,.08);right:-100px;top:100px;filter:blur(2px)}
.hero-glow-two{width:180px;height:180px;background:rgba(237,28,36,.06);left:-90px;bottom:-70px;filter:blur(2px)}
.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,.section-heading h2,.faq-intro h2,.final-cta h2{font-weight:900;letter-spacing:-2.5px}
.hero h1{font-size:clamp(45px,5.2vw,70px);line-height:1.02;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:14px 17px;margin-top:23px;color:#9e9e9e;font-size:11px;font-weight:700}
.image-slot{position:relative;overflow:hidden;border:1px solid #333;background:#111;box-shadow:var(--shadow)}
.hero-image{min-height:510px;border-radius:28px;background-color:#151515}
.image-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.72))}
.image-caption{position:absolute;left:25px;right:25px;bottom:25px;display:grid;gap:7px}
.image-caption span{font-size:10px;letter-spacing:1.5px;font-weight:900;color:#ff4148}
.image-caption strong{font-size:25px;line-height:1.08}
.section{padding:105px 0}
.dark-section,.areas-section{background:#0b0b0b;border-top:1px solid #171717;border-bottom:1px solid #171717}
.section-heading.centered{text-align:center;max-width:760px;margin:0 auto 45px}
.section-heading.centered .eyebrow{justify-content:center}
.section-heading h2,.faq-intro h2,.final-cta h2{font-size:clamp(35px,4.2vw,57px);line-height:1.04;margin:0 0 18px}
.section-heading>p:not(.eyebrow),.section-copy p:not(.eyebrow),.faq-intro>p:not(.eyebrow),.final-cta p:not(.eyebrow){color:#aaa;font-size:14px;max-width:680px}
.section-heading.centered>p{margin-left:auto;margin-right:auto}
.areas-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:10px}
.area-card,.feature-card{background:var(--panel);border:1px solid #252525;border-radius:20px;padding:26px 22px;transition:.25s ease;display:flex;flex-direction:column;height:100%;width:300px;height:325px;}
.area-card:hover,.feature-card:hover{border-color:var(--red);transform:translateY(-5px);box-shadow:0 12px 30px rgba(237,28,36,.12)}
.area-number,.feature-number{color:var(--red);font-size:12px;font-weight:900;letter-spacing:1.5px}
.area-icon{margin:18px 0 6px;color:var(--red);font-size:28px;line-height:1}
.area-card h3,.feature-card h3{font-size:20px;font-weight:800;margin:0 0 10px;color:#fff}
.area-card p,.feature-card p{color:#999;font-size:13px;line-height:1.55;margin:0 0 20px;flex-grow:1;min-height:0}
.area-card a{display:inline-flex;align-items:center;gap:6px;margin-top:auto;color:#fff;font-size:12px;font-weight:900;border-bottom:2px solid var(--red);padding-bottom:4px;width:fit-content;transition:color .2s ease}
.area-card a:hover{color:var(--red)}
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}
.wide-image{height:460px;border-radius:25px}
.image-tag{position:absolute;left:16px;bottom:16px;background:#fff;color:#111;border-radius:999px;padding:7px 11px;font-size:9px;font-weight:900}
.section-copy h2{font-size:clamp(35px,4.2vw,57px);line-height:1.04;margin:0 0 20px}
.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}
.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.feature-card h3{margin-top:18px}
.feature-card p{min-height:115px}
.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 h2{font-size:clamp(35px,4.2vw,57px);line-height:1.04;letter-spacing:-2.5px;margin:0}
.students-heading>p{max-width:410px;color:#aaa;font-size:13px;margin:0}
.student-marquee{width:100%;overflow:hidden;mask-image:linear-gradient(to right,transparent 0,#000 6%,#000 94%,transparent 100%)}
.student-track{display:flex;gap:16px;width:max-content;animation:studentScroll 42s linear infinite}
.student-marquee:hover .student-track,.student-marquee:focus-within .student-track{animation-play-state:paused}
.student-card{width:270px;height:340px;flex:none;border-radius:20px;border:1px solid #292929;background:#121212;overflow:hidden;position:relative}
.student-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s}
.student-card:hover img{transform:scale(1.04)}
.student-card span{position:absolute;left:13px;bottom:13px;background:rgba(255,255,255,.94);color:#111;border-radius:999px;padding:6px 10px;font-size:9px;font-weight:900}
@keyframes studentScroll{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 8px))}}
.postcode-cta{padding:72px 0;background:linear-gradient(120deg,#100909,#080808 60%);border-top:1px solid #242424;border-bottom:1px solid #242424}
.postcode-inner,.final-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:45px}
.postcode-inner h2{font-size:clamp(35px,4.2vw,55px);line-height:1.04;letter-spacing:-2.5px;margin:0 0 12px}
.postcode-inner p{color:#aaa;font-size:14px;max-width:700px;margin:0}
.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;background:#080808}
.final-cta h2{max-width:700px}
.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 (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    .student-track{animation:none}
}
@media (max-width:1050px){
    .desktop-nav{gap:18px}
    .header-cta{display:none}
    .hero-grid,.split-grid{gap:45px}
}
@media (max-width:900px){
    .areas-grid,.features-grid{grid-template-columns:repeat(2,1fr);gap:16px}
}
@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,.split-grid,.faq-grid{grid-template-columns:1fr}
    .hero-grid{padding:65px 0}
    .hero-image{min-height:360px;order:-1}
    .hero h1{font-size:clamp(40px,11vw,60px);letter-spacing:-2px}
    .hero-text{font-size:14px}
    .section{padding:75px 0}
    .areas-grid,.features-grid{grid-template-columns:1fr; margin-left: 50px;}
    .area-card p,.feature-card p{min-height:0}
    .wide-image{height:330px}
    .students-section{padding:75px 0}
    .students-heading,.postcode-inner,.final-cta-inner,.footer-inner{align-items:flex-start;flex-direction:column}
    .student-card{width:230px;height:290px}
    .faq-grid{gap:45px}
    .postcode-cta{padding:60px 0}
    .footer-contact{text-align:left}
}
@media (max-width: 768px) {
    .area-card,.feature-card{background:var(--panel);border:1px solid #252525;border-radius:20px;padding:26px 22px;transition:.25s ease;display:flex;flex-direction:column;height:100%;}
}
@media (max-width:420px){
    .container{width:calc(100% - 24px)}
    .brand-text{display:none}
    .hero-grid{padding:50px 0}
    .hero h1{font-size:40px}
    .hero-image{min-height:300px}
    .button-row .btn{width:100%}
    .section-heading h2,.section-copy h2,.students-heading h2,.faq-intro h2,.final-cta h2,.postcode-inner h2{font-size:34px;letter-spacing:-1.5px}
    .wide-image{height:280px}
    .student-card{width:205px;height:260px}
}
