:root{
  --charcoal:#2d2d31; --charcoal-2:#45454b; --red:#b55252; --red-dark:#963f3f;
  --paper:#ffffff; --soft:#f7f5f5; --ink:#202024; --muted:#6d6d74; --line:#e8e3e3;
  --shadow:0 18px 45px rgba(24,24,28,.08); --radius:22px;
}
*{box-sizing:border-box;margin:0;padding:0} html{scroll-behavior:smooth} body{font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);line-height:1.7} a{color:var(--red);text-decoration:none} a:hover{color:var(--red-dark)} img{max-width:100%;display:block}.container{width:min(1140px,92%);margin:auto}.topbar{background:var(--charcoal);color:#f7f7f7;font-size:14px;padding:9px 0}.topbar a{color:#fff}.topbar-inner{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.topbar-left,.topbar-right{display:flex;gap:18px;flex-wrap:wrap}.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:15px 0}.brand{display:flex;align-items:center;gap:14px;color:var(--charcoal)}.logo{width:66px;height:66px;object-fit:contain;border-radius:12px;background:white}.brand-text strong{display:block;font-size:20px;line-height:1.15;color:var(--charcoal)}.brand-text span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.55px;color:var(--red)}.nav{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.nav a{font-weight:700;font-size:15px;color:var(--charcoal)}.nav a:hover,.nav a.active{color:var(--red)}.menu-toggle{display:none;background:var(--charcoal);color:#fff;border:0;border-radius:10px;padding:10px 13px;font-weight:700}.hero{background:radial-gradient(circle at 15% 10%,rgba(181,82,82,.13),transparent 28%),linear-gradient(135deg,#fbfafa 0%,#fff 48%,#f2eeee 100%);padding:82px 0}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center}.eyebrow,.section-tag{display:inline-block;color:var(--red);font-weight:800;text-transform:uppercase;letter-spacing:.8px;font-size:13px}.eyebrow{background:rgba(181,82,82,.1);padding:8px 14px;border-radius:999px;margin-bottom:18px}.hero h1{font-size:50px;line-height:1.12;color:var(--charcoal);margin-bottom:18px}.hero p{font-size:18px;color:var(--muted);margin-bottom:28px}.btn{display:inline-block;padding:13px 22px;border-radius:12px;font-weight:800;border:2px solid transparent;transition:.22s ease}.btn-primary{background:var(--red);color:#fff}.btn-primary:hover{background:var(--red-dark);color:#fff}.btn-outline{border-color:var(--charcoal);color:var(--charcoal);background:transparent}.btn-outline:hover{background:var(--charcoal);color:#fff}.btn-white{background:#fff;color:var(--red)}.hero-buttons,.inline-buttons{display:flex;gap:14px;flex-wrap:wrap}.card,.hero-card,.stat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}.hero-card{border-top:5px solid var(--red)}.hero-card h3,.card h3,.stat-card h3{color:var(--charcoal);margin-bottom:12px}.hero-card li,.check-list li,.steps-list li{margin-left:20px;margin-bottom:10px;color:var(--muted)}.section{padding:76px 0}.section-light{background:var(--soft)}.section-tag{margin-bottom:10px}.section h1,.section h2{font-size:38px;line-height:1.2;color:var(--charcoal);margin-bottom:18px}.section p{color:var(--muted);margin-bottom:16px}.section-head{max-width:780px;margin:0 auto 36px;text-align:center}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}.cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.programme-card{border-top:5px solid var(--red)}.stats{padding-top:0;margin-top:-26px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.stat-card{text-align:center}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.small-note{font-size:14px;color:var(--muted)}.page-hero{background:linear-gradient(135deg,#fbfafa,#f4f1f1);padding:58px 0;border-bottom:1px solid var(--line)}.page-hero h1{font-size:44px;color:var(--charcoal);line-height:1.15}.page-hero p{max-width:760px;color:var(--muted);font-size:18px;margin-top:14px}.cta-band{background:linear-gradient(135deg,var(--red),var(--red-dark));color:#fff}.cta-band h2,.cta-band p{color:#fff}.cta-band-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}.site-footer{background:var(--charcoal);color:#ddd;padding-top:56px}.site-footer h3,.site-footer h4{color:#fff;margin-bottom:14px}.site-footer p,.site-footer li,.site-footer a{color:#ddd}.site-footer a:hover{color:#fff}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:30px;padding-bottom:32px}.footer-links{list-style:none}.footer-links li{margin-bottom:8px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:18px 0 22px;text-align:center;font-size:14px}.notice{background:#fff7f7;border:1px solid #edd2d2;border-left:5px solid var(--red);padding:18px;border-radius:16px;margin-top:22px;color:var(--muted)}.map-box{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:#eee;min-height:280px}.map-box iframe{width:100%;height:320px;border:0}.form{display:grid;gap:13px}.form input,.form textarea,.form select{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:12px;font:inherit}.form textarea{min-height:130px}.form button{cursor:pointer}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:#fff;padding:10px;border:2px solid var(--red);z-index:999}
@media(max-width:950px){.hero-grid,.two-col,.cards-grid,.stats-grid,.contact-grid,.footer-grid{grid-template-columns:1fr}.hero h1{font-size:38px}.nav-wrap{align-items:flex-start}.menu-toggle{display:block}.nav{display:none;width:100%;padding-top:10px}.nav.open{display:flex}.site-header .container{width:min(1140px,94%)}}
@media(max-width:640px){.topbar-inner,.topbar-left,.topbar-right{flex-direction:column;gap:7px}.hero{padding:58px 0}.hero h1{font-size:32px}.page-hero h1{font-size:34px}.section{padding:58px 0}.section h1,.section h2{font-size:29px}.brand-text strong{font-size:18px}.logo{width:56px;height:56px}.nav{gap:12px}.nav a{width:100%}}
