/* ===== RESET & ROOT ===== */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
:root{
  --red:#CC2127;
  --red-dark:#A81A1F;
  --blue:#1B3A8C;
  --blue-dark:#102870;
  --blue-light:#2B5CE6;
  --white:#FFFFFF;
  --off-white:#F7F8FA;
  --gray:#F0F2F5;
  --dark:#1A1A2E;
  --text:#2D2D2D;
  --muted:#6B7280;
  --border:#E5E7EB;
}
body{
  font-family:'Open Sans',sans-serif;
  color:var(--text);
  background:var(--white);
  overflow-x:hidden;
}

/* ===== TOP BAR ===== */
.topbar{
  background:var(--blue);
  padding:9px 5%;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:28px;
  flex-wrap:wrap;
}
.topbar a{
  color:rgba(255,255,255,0.85);
  text-decoration:none;
  font-size:13px;
  font-weight:600;
  display:flex;
  align-items:center;
  gap:7px;
  transition:color .2s;
}
.topbar a:hover{color:var(--white);}
.topbar-cta{
  background:var(--red) !important;
  color:white !important;
  padding:5px 16px;
  border-radius:20px;
  font-weight:700 !important;
}
.topbar-divider{color:rgba(255,255,255,0.25);font-size:12px;}

/* ===== NAV ===== */
nav{
  background:var(--white);
  box-shadow:0 2px 20px rgba(0,0,0,0.08);
  position:sticky;
  top:0;
  z-index:1000;
  padding:0 5%;
}
.nav-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:80px;
}
.nav-logo img{height:58px;width:auto;object-fit:contain;}
.nav-links{display:flex;align-items:center;gap:4px;}
.nav-links a{
  color:var(--text);
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  padding:8px 14px;
  border-radius:6px;
  transition:all .2s;
  letter-spacing:.3px;
}
.nav-links a:hover{color:var(--blue);background:rgba(27,58,140,0.06);}
.nav-cta{
  background:var(--red) !important;
  color:var(--white) !important;
  padding:11px 24px !important;
  border-radius:50px !important;
  font-weight:700 !important;
  letter-spacing:.5px !important;
  box-shadow:0 4px 14px rgba(204,33,39,0.3) !important;
}
.nav-cta:hover{
  background:var(--red-dark) !important;
  transform:translateY(-1px) !important;
  box-shadow:0 6px 20px rgba(204,33,39,0.4) !important;
}
.hamburger{
  display:none;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
  background:none;
  border:none;
  padding:4px;
}
.hamburger span{
  display:block;
  width:24px;
  height:2px;
  background:var(--text);
  border-radius:2px;
  transition:all .3s;
}

/* ===== BUTTONS ===== */
.btn-red{
  background:var(--red);
  color:var(--white);
  padding:16px 34px;
  border-radius:50px;
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:14px;
  letter-spacing:.8px;
  text-transform:uppercase;
  text-decoration:none;
  box-shadow:0 6px 24px rgba(204,33,39,0.4);
  transition:all .3s;
  display:inline-block;
  border:none;
  cursor:pointer;
}
.btn-red:hover{
  background:var(--red-dark);
  transform:translateY(-2px);
  box-shadow:0 10px 32px rgba(204,33,39,0.5);
}
.btn-blue{
  background:var(--blue);
  color:var(--white);
  padding:16px 34px;
  border-radius:50px;
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:14px;
  letter-spacing:.8px;
  text-transform:uppercase;
  text-decoration:none;
  box-shadow:0 6px 24px rgba(27,58,140,0.35);
  transition:all .3s;
  display:inline-block;
}
.btn-blue:hover{
  background:var(--blue-dark);
  transform:translateY(-2px);
}
.btn-outline-white{
  background:transparent;
  color:var(--white);
  padding:15px 34px;
  border-radius:50px;
  border:2px solid rgba(255,255,255,0.45);
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:14px;
  letter-spacing:.8px;
  text-transform:uppercase;
  text-decoration:none;
  transition:all .3s;
  display:inline-block;
}
.btn-outline-white:hover{
  border-color:var(--white);
  background:rgba(255,255,255,0.1);
}
.btn-outline-dark{
  background:transparent;
  color:var(--blue);
  padding:15px 34px;
  border-radius:50px;
  border:2px solid var(--blue);
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:14px;
  letter-spacing:.8px;
  text-transform:uppercase;
  text-decoration:none;
  transition:all .3s;
  display:inline-block;
}
.btn-outline-dark:hover{
  background:var(--blue);
  color:var(--white);
}

/* ===== SECTION HELPERS ===== */
section{scroll-margin-top:80px;}
.section-label{
  font-size:11px;
  font-weight:800;
  letter-spacing:4px;
  text-transform:uppercase;
  color:var(--red);
  margin-bottom:10px;
}
.section-title{
  font-family:'Montserrat',sans-serif;
  font-size:clamp(28px,3.5vw,44px);
  font-weight:800;
  color:var(--dark);
  line-height:1.15;
  margin-bottom:16px;
}
.section-title .blue{color:var(--blue);}
.section-title .red{color:var(--red);}
.section-sub{
  font-size:16px;
  color:var(--muted);
  line-height:1.75;
  max-width:620px;
}
.container{padding:90px 5%;}
.container-sm{padding:80px 5%;max-width:1280px;margin:0 auto;}

/* ===== SCROLL FADE ===== */
.fade-in{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease;}
.fade-in.visible{opacity:1;transform:translateY(0);}

/* ===== TRUST BAR ===== */
.trust-bar{
  background:var(--red);
  padding:20px 5%;
  display:flex;
  justify-content:center;
  gap:clamp(16px,4vw,56px);
  flex-wrap:wrap;
}
.trust-item{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--white);
  font-weight:700;
  font-size:13px;
  letter-spacing:.5px;
}
.trust-icon{font-size:20px;}

/* ===== PAGE HEADER (inner pages) ===== */
.page-header{
  background:linear-gradient(135deg,var(--blue-dark),var(--blue));
  padding:80px 5% 70px;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.page-header::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 50% 100%,rgba(255,255,255,0.06),transparent 70%);
}
.page-header-label{
  font-size:11px;
  font-weight:800;
  letter-spacing:4px;
  text-transform:uppercase;
  color:rgba(255,255,255,0.55);
  margin-bottom:12px;
}
.page-header h1{
  font-family:'Montserrat',sans-serif;
  font-size:clamp(32px,5vw,58px);
  font-weight:900;
  color:var(--white);
  line-height:1.1;
  position:relative;
  z-index:1;
}
.page-header h1 span{color:#FF8A8E;}
.breadcrumb{
  margin-top:18px;
  font-size:13px;
  color:rgba(255,255,255,0.5);
  position:relative;
  z-index:1;
}
.breadcrumb a{color:rgba(255,255,255,0.7);text-decoration:none;}
.breadcrumb a:hover{color:var(--white);}

/* ===== RESPONSIVE ===== */
@media(max-width:860px){
  .nav-links{display:none;}
  .hamburger{display:flex;}
  .topbar{justify-content:center;}
}
@media(max-width:600px){
  .container{padding:60px 5%;}
  .container-sm{padding:60px 5%;}
}
