:root{
  --red:#FF0000; --red-deep:#CC0000; --black:#000000; --ink:#1a1a1a;
  --paper:#f7f6f3; --line:#e2e0da; --grey:#55534e; --grey-lt:#8a8880;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
.wrap{max-width:1100px;margin-inline:auto;padding-inline:24px}
.eyebrow{color:var(--red);font-size:.78rem;letter-spacing:2px;font-weight:600;text-transform:uppercase}
section{padding-block:64px}
h2{font-size:1.7rem;line-height:1.3;margin-block-end:12px}
.center{text-align:center}
.btn{display:inline-block;padding:12px 26px;border-radius:4px;font-weight:600;font-size:.95rem}
.btn-red{background:var(--red);color:#fff}
.btn-red:hover{background:var(--red-deep)}
.btn-ghost{border:1px solid #555;color:#e6e6e6}
.btn-ghost:hover{border-color:#fff;color:#fff}

header{background:var(--black);position:sticky;top:0;z-index:50}
.nav{display:flex;align-items:center;justify-content:space-between;padding-block:12px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:44px;width:auto}
.brand-name{color:#fff;font-weight:600;font-size:1rem;letter-spacing:.5px;line-height:1.2}
.brand-tag{color:var(--red);font-size:.65rem;letter-spacing:1.5px;text-transform:uppercase}
.links{display:flex;align-items:center;gap:26px;font-size:.9rem;color:#d0d0d0}
.links a:hover{color:#fff}
.links .btn-red{padding:8px 18px}
#navtoggle{display:none}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px}
.burger span{width:24px;height:2px;background:#fff}

/* Page hero band (inner pages) */
.pagehero{background:var(--black);color:#fff;padding-block:52px 40px}
.pagehero h1{font-size:2rem;line-height:1.2;margin-block:8px 10px}
.pagehero p{color:#b8b8b8;max-width:60ch}

/* Homepage hero */
.hero{background:var(--black);color:#fff;padding-block:72px 56px}
.hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center}
.hero h1{font-size:2.3rem;line-height:1.2;margin-block:10px 16px}
.hero p.lead{color:#b8b8b8;max-width:52ch;margin-block-end:26px}
.hero-art{display:flex;justify-content:center}
.hero-art img{max-height:340px;width:auto}
.creds{background:#111;border-top:1px solid #2a2a2a;padding-block:14px}
.creds .wrap{display:flex;justify-content:center;flex-wrap:wrap;gap:14px 34px}
.creds span{color:#999;font-size:.78rem;padding-inline-start:12px;border-inline-start:3px solid var(--red)}

.stats{background:var(--red);color:#fff;padding-block:22px}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center}
.stats b{display:block;font-size:1.5rem}
.stats small{color:#ffd6d0;font-size:.78rem;line-height:1.3;display:block}

.services{background:var(--paper)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-block-start:34px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-block-start:34px}
.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px 20px;transition:border-color .2s, transform .2s}
.card:hover{border-color:var(--red);transform:translateY(-2px)}
.card svg{width:30px;height:30px;stroke:var(--red);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-block-end:12px}
.card h3{font-size:1.02rem;margin-block-end:6px}
.card p{color:var(--grey);font-size:.88rem}

.why{background:var(--black);color:#fff}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.why ul{list-style:none;margin-block-start:16px}
.why li{padding-block:9px;padding-inline-start:16px;border-inline-start:3px solid var(--red);margin-block-end:10px;color:#cfcfcf;font-size:.93rem}
.why img{max-height:300px;width:auto;display:block;margin-inline:auto}

/* Team profiles */
.team{background:var(--paper)}
.person{background:#fff;border:1px solid var(--line);border-radius:8px;padding:28px 24px}
.person .avatar{width:56px;height:56px;border-radius:50%;background:var(--black);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;margin-block-end:14px}
.person h3{font-size:1.1rem}
.person .role{color:var(--red-deep);font-size:.8rem;letter-spacing:.5px;text-transform:uppercase;font-weight:600;margin-block-end:12px}
.person p{color:var(--grey);font-size:.9rem;margin-block-end:10px}
.person .regs{border-top:1px solid var(--line);margin-block-start:14px;padding-block-start:12px;font-size:.78rem;color:var(--grey-lt);line-height:1.8}

/* Timeline */
.timeline{list-style:none;margin-block-start:26px}
.timeline li{position:relative;padding-inline-start:28px;padding-block-end:22px;border-inline-start:2px solid var(--line);margin-inline-start:8px}
.timeline li::before{content:"";position:absolute;inset-inline-start:-7px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--red)}
.timeline b{display:block;font-size:.95rem}
.timeline span{color:var(--grey);font-size:.88rem}

.contact{background:var(--paper)}
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;margin-block-start:30px}
.contact-info p{margin-block-end:12px;color:var(--grey);font-size:.93rem}
.contact-info b{color:var(--ink)}
form label{display:block;font-size:.82rem;font-weight:600;margin-block:14px 5px}
form input,form textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:5px;font:inherit;font-size:.92rem;background:#fff}
form input:focus,form textarea:focus{outline:2px solid var(--red);outline-offset:0;border-color:var(--red)}
form button{margin-block-start:18px;border:none;cursor:pointer;font:inherit}
.hp{position:absolute;left:-9999px;opacity:0}
#formmsg{margin-block-start:14px;font-size:.9rem;display:none}

.cta-band{background:var(--black);color:#fff;padding-block:34px}
.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}

footer{background:var(--black);color:#9a9a9a;padding-block:44px;font-size:.85rem}
.foot-grid{display:grid;grid-template-columns:auto 1fr auto;gap:34px;align-items:center}
.foot-grid img{height:110px;width:auto}
footer a{color:#d0d0d0}
footer a:hover{color:#fff}
.legal{border-top:1px solid #2a2a2a;margin-block-start:30px;padding-block-start:18px;text-align:center;color:#666;font-size:.75rem}

@media (max-width:860px){
  .links{position:absolute;top:100%;inset-inline:0;background:var(--black);flex-direction:column;padding:22px;display:none;border-top:1px solid #2a2a2a}
  #navtoggle:checked ~ .links{display:flex}
  .burger{display:flex}
  .hero-grid,.why-grid,.contact-grid,.grid2{grid-template-columns:1fr}
  .hero h1{font-size:1.7rem}
  .pagehero h1{font-size:1.5rem}
  .hero-art img{max-height:230px}
  .stats .wrap{grid-template-columns:repeat(2,1fr)}
  .grid3{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr;text-align:center}
  .foot-grid img{margin-inline:auto}
}