@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@500;600;700&family=Inter:wght@400;500;600;700&family=Barlow+Condensed:wght@600;700&display=swap');

:root{
  --navy: #1B3A6B;
  --navy-deep: #122A50;
  --red: #C8262B;
  --red-deep: #98191D;
  --charcoal: #2B2E33;
  --charcoal-deep: #1B1D20;
  --cream: #F7F5F0;
  --steel: #8A94A0;
  --steel-light: #D8DCE1;
  --white: #FFFFFF;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Inter', sans-serif;
  background:var(--cream);
  color:var(--charcoal-deep);
  line-height:1.55;
}
h1,h2,h3,h4{
  font-family:'Oswald', sans-serif;
  text-transform:uppercase;
  letter-spacing:0.5px;
  margin:0 0 0.4em;
  color:var(--navy-deep);
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.container{max-width:1140px; margin:0 auto; padding:0 24px;}
.eyebrow{
  font-family:'Barlow Condensed', sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:2px;
  font-size:13px;
  color:var(--red);
}
:focus-visible{outline:3px solid var(--red); outline-offset:2px;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Barlow Condensed', sans-serif;
  font-weight:700; text-transform:uppercase; letter-spacing:1px; font-size:16px;
  padding:14px 28px; border-radius:6px; border:2px solid transparent;
  cursor:pointer; transition:transform 0.15s ease, background 0.15s ease;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--red); color:var(--white);}
.btn-primary:hover{background:var(--red-deep);}
.btn-outline{background:transparent; border-color:var(--white); color:var(--white);}
.btn-outline:hover{background:var(--white); color:var(--charcoal-deep);}
.btn-navy{background:var(--navy); color:var(--white);}
.btn-navy:hover{background:var(--navy-deep);}

/* ---------- Patch motif ---------- */
.patch{
  position:relative;
  background:var(--charcoal);
  border-radius:16px;
  border:3px solid var(--charcoal-deep);
  box-shadow: inset 0 0 0 3px var(--navy);
  padding:28px 26px;
  color:var(--steel-light);
}
.patch.patch-red{ box-shadow: inset 0 0 0 3px var(--red); }
.patch h3{color:var(--white); font-size:19px;}
.patch p{color:var(--steel-light); font-size:14.5px; margin:0;}

.badge{
  display:flex; align-items:center; gap:12px;
  background:var(--charcoal);
  border-radius:12px;
  border:2px solid var(--charcoal-deep);
  box-shadow: inset 0 0 0 2px var(--red);
  padding:14px 18px;
}
.badge:nth-child(even){ box-shadow: inset 0 0 0 2px var(--navy); }
.badge .icon{flex-shrink:0; width:26px; height:26px; color:var(--white);}
.badge .label{
  font-family:'Barlow Condensed', sans-serif; font-weight:700; text-transform:uppercase;
  letter-spacing:0.5px; font-size:14px; color:var(--white); line-height:1.25;
}

/* ---------- Header ---------- */
header.site-header{
  background:var(--charcoal-deep);
  border-bottom:4px solid var(--red);
  position:sticky; top:0; z-index:50;
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 24px; max-width:1140px; margin:0 auto; gap:16px;
}
.brand{display:flex; align-items:center; gap:12px;}
.brand img{height:54px; width:auto; border-radius:6px;}
.brand-text{color:var(--white); font-family:'Oswald',sans-serif; font-size:15px; line-height:1.2;}
.brand-text .full{display:block; font-weight:600; text-transform:uppercase; letter-spacing:0.5px;}
.brand-text .sub{display:block; font-size:11px; color:var(--steel-light); font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:1px;}

nav.main-nav{display:flex; align-items:center; gap:26px;}
nav.main-nav a{
  color:var(--steel-light); font-family:'Barlow Condensed', sans-serif; font-weight:600;
  text-transform:uppercase; letter-spacing:1px; font-size:15px; padding:6px 2px;
  border-bottom:2px solid transparent;
}
nav.main-nav a:hover, nav.main-nav a.active{color:var(--white); border-bottom-color:var(--red);}
.header-call{
  display:flex; align-items:center; gap:8px; color:var(--white);
  font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:17px;
}
.nav-toggle{display:none; background:none; border:none; color:var(--white); font-size:26px; cursor:pointer;}

@media (max-width:860px){
  nav.main-nav{
    position:absolute; top:100%; left:0; right:0; background:var(--charcoal-deep);
    flex-direction:column; align-items:flex-start; gap:0; padding:0; max-height:0; overflow:hidden;
    transition:max-height 0.25s ease; border-bottom:3px solid var(--red);
  }
  nav.main-nav.open{max-height:320px;}
  nav.main-nav a{width:100%; padding:14px 24px; border-bottom:1px solid var(--charcoal);}
  .nav-toggle{display:block;}
  .header-call{display:none;}
}

/* ---------- Hero ---------- */
.hero{
  background: radial-gradient(ellipse at top right, var(--navy) 0%, var(--charcoal-deep) 65%);
  color:var(--white); padding:70px 0 60px; text-align:center;
}
.hero img.hero-logo{max-width:320px; margin:0 auto 26px;}
.hero h1{color:var(--white); font-size:clamp(28px,5vw,46px); margin-bottom:6px;}
.hero h1 .accent-red{color:var(--red);}
.hero h1 .accent-navy{color:#7FA6E0;}
.hero .lede{max-width:640px; margin:0 auto 30px; color:var(--steel-light); font-size:17px;}
.hero .cta-row{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}

.page-hero{
  background:var(--charcoal-deep); color:var(--white); padding:54px 0 44px; text-align:center;
  border-bottom:4px solid var(--red);
}
.page-hero h1{color:var(--white); font-size:clamp(26px,4vw,38px);}
.page-hero p{color:var(--steel-light); max-width:600px; margin:8px auto 0;}

/* ---------- Sections ---------- */
section{padding:64px 0;}
section.tight{padding:44px 0;}
.section-head{text-align:center; max-width:680px; margin:0 auto 40px;}
.section-head h2{font-size:clamp(24px,3.4vw,32px);}
.section-head p{color:var(--steel); font-size:16px;}

.grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:32px;}
@media (max-width:900px){ .grid-4{grid-template-columns:repeat(2,1fr);} .grid-3{grid-template-columns:1fr;} .grid-2{grid-template-columns:1fr;} }
@media (max-width:520px){ .grid-4{grid-template-columns:1fr;} }

.bg-charcoal{background:var(--charcoal-deep); color:var(--white);}
.bg-charcoal h2{color:var(--white);}
.bg-navy{background:var(--navy-deep); color:var(--white);}
.bg-navy h2{color:var(--white);}

.service-list-icon{width:34px; height:34px; margin-bottom:14px; color:var(--red);}

.area-tags{display:flex; flex-wrap:wrap; gap:10px; justify-content:center;}
.area-tag{
  font-family:'Barlow Condensed',sans-serif; font-weight:600; text-transform:uppercase;
  letter-spacing:0.5px; font-size:14px; background:var(--white); border:2px solid var(--navy);
  color:var(--navy-deep); padding:8px 16px; border-radius:999px;
}

.owner-card{display:flex; gap:26px; align-items:center; flex-wrap:wrap;}
.owner-badge{
  width:100px; height:100px; border-radius:50%; background:var(--navy);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  font-family:'Oswald',sans-serif; font-size:30px; color:var(--white); font-weight:700;
  border:3px solid var(--red);
}

.value-row{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; text-align:center;}
@media (max-width:800px){ .value-row{grid-template-columns:repeat(2,1fr);} }

.cta-banner{
  background:var(--red); color:var(--white); text-align:center; padding:50px 24px;
}
.cta-banner h2{color:var(--white);}
.cta-banner .btn-outline{border-color:var(--white);}

form.contact-form{display:grid; gap:16px; max-width:560px;}
form.contact-form label{
  font-family:'Barlow Condensed',sans-serif; font-weight:600; text-transform:uppercase;
  letter-spacing:0.5px; font-size:13px; color:var(--navy-deep); display:block; margin-bottom:6px;
}
form.contact-form input, form.contact-form textarea{
  width:100%; padding:12px 14px; border:2px solid var(--steel-light); border-radius:8px;
  font-family:'Inter',sans-serif; font-size:15px; background:var(--white);
}
form.contact-form input:focus, form.contact-form textarea:focus{border-color:var(--navy); outline:none;}

.contact-info-list{list-style:none; padding:0; margin:0; display:grid; gap:18px;}
.contact-info-list li{display:flex; gap:14px; align-items:flex-start;}
.contact-info-list .ic{width:24px; height:24px; color:var(--red); flex-shrink:0; margin-top:2px;}
.contact-info-list strong{display:block; font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:0.5px; color:var(--navy-deep); font-size:13px;}

/* ---------- Footer ---------- */
footer.site-footer{background:var(--charcoal-deep); color:var(--steel-light); padding:50px 0 26px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:36px; margin-bottom:30px;}
@media (max-width:800px){ .footer-grid{grid-template-columns:1fr; gap:28px;} }
footer.site-footer h4{color:var(--white); font-size:15px;}
footer.site-footer a:hover{color:var(--white);}
.footer-brand{display:flex; align-items:center; gap:12px; margin-bottom:14px;}
.footer-brand img{height:46px; border-radius:6px;}
.footer-bottom{
  border-top:1px solid #3A3D42; padding-top:20px; font-size:12.5px; color:var(--steel);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
}
.license-note{font-size:11.5px; color:#6B7280; margin-top:6px;}
