*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;color:#0a1220;background:#d9dde6;line-height:1.6;font-size:16px}
img{max-width:100%;height:auto;display:block}
a{color:#b00d26;text-decoration:none;transition:color .2s}
a:hover{color:#6d0617}
h1,h2,h3{font-family:'Poppins','Inter',sans-serif;font-weight:700;line-height:1.2;color:#050b18;margin:0 0 .6em}
h1{font-size:clamp(2rem,4.5vw,3.25rem);letter-spacing:-.02em}
h2{font-size:clamp(1.5rem,3vw,2.25rem);letter-spacing:-.01em}
h3{font-size:1.15rem}
p{margin:0 0 1em}
.container{max-width:1200px;margin:0 auto;padding:0 1.25rem}
/* Header */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #e5e9f0;box-shadow:0 1px 3px rgba(15,26,46,.06)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:.85rem 0;gap:1rem}
.brand{display:flex;align-items:center;gap:.85rem;font-family:'Poppins',sans-serif;font-weight:700;font-size:1.15rem;color:#050b18}
.brand img{width:44px;height:auto;object-fit:contain}
.brand span small{display:block;font-size:.7rem;font-weight:500;color:#5a6478;letter-spacing:.05em;text-transform:uppercase}
.nav-links{display:flex;gap:.25rem;list-style:none;margin:0;padding:0;align-items:center}
.nav-links a{color:#0a1220;font-weight:500;padding:.55rem .9rem;border-radius:8px;font-size:.95rem}
.nav-links a:hover,.nav-links a.active{color:#b00d26;background:#f4f6fa}
.nav-cta{background:#b00d26;color:#fff!important;padding:.6rem 1.1rem!important;border-radius:8px}
.nav-cta:hover{background:#8a0a1f;color:#fff!important}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:.5rem;font-size:1.5rem;color:#050b18}
/* Hero */
.hero{padding:5rem 0 4rem;background:linear-gradient(135deg,#050b18 0%,#0f1a2e 100%);color:#e6ebf5;position:relative;overflow:hidden}
.hero h1{color:#fff}
.hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.hero-eyebrow{display:inline-block;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.15);color:#c9d0dd;padding:.4rem .85rem;border-radius:999px;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:1.25rem}
.hero p.lead{font-size:1.15rem;color:#c9d0dd;max-width:520px}
.hero-cta{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.75rem}
.hero-img{border-radius:16px;overflow:hidden;box-shadow:0 30px 60px -20px rgba(0,0,0,.6)}
/* Buttons */
.btn{display:inline-block;padding:.85rem 1.6rem;border-radius:10px;font-weight:600;font-size:.95rem;transition:transform .15s,box-shadow .2s,background .2s;cursor:pointer;border:0}
.btn-primary{background:#b00d26;color:#fff}
.btn-primary:hover{background:#8a0a1f;color:#fff;transform:translateY(-1px);box-shadow:0 10px 20px -8px rgba(176,13,38,.5)}
.btn-outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35)}
.btn-outline:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.06)}
/* Sections */
section{padding:4.5rem 0}
.section-head{max-width:720px;margin:0 auto 3rem;text-align:center}
.section-head .eyebrow{display:inline-block;color:#b00d26;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.8rem;margin-bottom:.75rem}
.grid{display:grid;gap:1.5rem}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid #d5dbe6;border-radius:14px;padding:1.75rem;transition:transform .2s,box-shadow .2s,border-color .2s}
.card:hover{transform:translateY(-3px);box-shadow:0 20px 40px -20px rgba(15,26,46,.25);border-color:#b7c0d0}
.card .icon{width:44px;height:44px;border-radius:10px;background:#fdecef;color:#c8102e;display:grid;place-items:center;font-size:1.4rem;font-weight:700;margin-bottom:1rem}
.card h3{margin-bottom:.4rem}
.card p{color:#5a6478;font-size:.95rem;margin:0}
/* About block */
.about{background:transparent}
.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
.about ul{list-style:none;padding:0;margin:1.25rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.about li{padding-left:1.5rem;position:relative;color:#3a4358;font-size:.95rem}
.about li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;background:#c8102e;border-radius:2px}
/* Team */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.team-card{background:#fff;border:1px solid #d5dbe6;border-radius:14px;padding:1.5rem;text-align:center}
.team-card .avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#c8102e,#7a0a1c);color:#fff;display:grid;place-items:center;font-family:'Poppins',sans-serif;font-weight:700;font-size:1.5rem;margin:0 auto 1rem}
.team-card h3{margin:0 0 .25rem;font-size:1rem}
.team-card p{color:#6b7590;margin:0;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
/* Testimonials */
.testimonials-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.testimonial{background:#fff;border:1px solid #d5dbe6;border-radius:16px;overflow:hidden}
.testimonial img{width:100%;aspect-ratio:1/1;object-fit:cover}
/* CTA band */
.cta-band{background:linear-gradient(135deg,#050b18 0%,#0f1a2e 100%);color:#fff;text-align:center;padding:4.5rem 1rem;border-radius:20px;margin:2rem auto;max-width:1140px;position:relative;overflow:hidden;border:1px solid #1e2b47}
.cta-band h2{color:#fff;max-width:640px;margin:0 auto 1.5rem}
.cta-band .btn-primary{background:#b00d26;color:#fff}
.cta-band .btn-primary:hover{background:#8a0a1f;color:#fff;box-shadow:0 10px 20px -8px rgba(0,0,0,.6)}
/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.info-block{background:#fff;border:1px solid #d5dbe6;border-radius:14px;padding:1.5rem;margin-bottom:1rem}
.info-block h3{margin:0 0 .5rem;color:#c8102e;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}
.info-block address{font-style:normal;color:#0f1a2e;font-size:1rem;line-height:1.6}
form label{display:block;font-weight:600;font-size:.85rem;color:#3a4358;margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.04em}
form input,form textarea{width:100%;padding:.85rem 1rem;border:1px solid #d5dbe6;border-radius:10px;font-family:inherit;font-size:1rem;margin-bottom:1rem;background:#fff;transition:border-color .2s,box-shadow .2s}
form input:focus,form textarea:focus{outline:0;border-color:#c8102e;box-shadow:0 0 0 3px rgba(200,16,46,.15)}
form textarea{min-height:140px;resize:vertical}
/* Page hero */
.page-hero{background:linear-gradient(135deg,#050b18 0%,#0f1a2e 100%);color:#fff;padding:4rem 0 3rem;text-align:center;border-bottom:3px solid #b00d26}
.page-hero h1{color:#fff;margin-bottom:.5rem}
.page-hero p{color:#c9d0dd;font-size:1.1rem;max-width:600px;margin:0 auto}
/* Projects gallery */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.gallery figure{margin:0;border-radius:14px;overflow:hidden;background:#fff;aspect-ratio:4/3;display:grid;place-items:center;color:#6b7590;font-weight:600;text-align:center;padding:1rem;border:1px dashed #b7c0d0}
/* Footer */
.site-footer{background:#fff;color:#3a4358;padding:3.5rem 0 1.5rem;margin-top:2rem;border-top:1px solid #d5dbe6}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem;margin-bottom:2.5rem}
.site-footer h4{color:#050b18;font-family:'Poppins',sans-serif;font-size:1rem;margin:0 0 1rem}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin-bottom:.5rem}
.site-footer a{color:#3a4358}
.site-footer a:hover{color:#b00d26}
.footer-bottom{border-top:1px solid #d5dbe6;padding-top:1.5rem;font-size:.85rem;color:#5a6478;text-align:center}
/* Responsive */
@media (max-width: 960px){
  .hero-inner,.about-grid,.contact-grid{grid-template-columns:1fr;gap:2rem}
  .grid-3,.grid-4,.team-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .gallery{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 640px){
  .nav-links{position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:1rem;gap:.25rem;border-bottom:1px solid #d5dbe6;display:none;box-shadow:0 20px 30px -20px rgba(15,26,46,.15)}
  .nav-links.open{display:flex}
  .nav-toggle{display:block}
  .grid-3,.grid-4,.team-grid,.testimonials-grid,.gallery{grid-template-columns:1fr}
  .about ul{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .hero{padding:3rem 0}
  section{padding:3rem 0}
}

/* Bigger logo */
.brand img{width:110px;height:auto;object-fit:contain}
.brand{font-size:1.35rem}
.brand span small{font-size:.72rem;margin-top:.15rem}
@media (max-width:640px){.brand img{width:84px}.brand{font-size:1.05rem}}

/* Video grid */
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.video-card{margin:0;background:#0f1a2e;border-radius:14px;overflow:hidden;box-shadow:0 20px 40px -20px rgba(15,26,46,.35)}
.video-card video{width:100%;display:block;aspect-ratio:16/9;background:#000;object-fit:cover}
.video-card figcaption{padding:1rem 1.25rem;color:#c9d0dd;font-size:.9rem;font-weight:500;background:#0f1a2e}
@media (max-width:960px){.video-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.video-grid{grid-template-columns:1fr}}

/* Team departments */
.dept{margin-bottom:3rem}
.dept-title{font-size:1.5rem;color:#b00d26;text-transform:uppercase;letter-spacing:.08em;font-size:.95rem;font-weight:700;padding-bottom:.75rem;margin-bottom:1.5rem;border-bottom:2px solid #d5dbe6;position:relative}
.dept-title::after{content:"";position:absolute;left:0;bottom:-2px;width:48px;height:2px;background:#b00d26}

/* Contact upgrades */
.info-block-lg{padding:1.75rem}
.big-contact{font-size:1.5rem;font-weight:700;margin:0 0 .25rem;font-family:'Poppins',sans-serif}
.big-contact a{color:#050b18}
.big-contact a:hover{color:#b00d26}

/* Social links */
.social-links{list-style:none;padding:0;margin:1rem 0 0;display:flex;gap:.5rem}
.social-links a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#f4f6fa;color:#0a1220;border:1px solid #d5dbe6;transition:background .2s,color .2s,transform .15s}
.social-links a:hover{background:#b00d26;color:#fff;border-color:#b00d26;transform:translateY(-2px)}
