html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

:root{
  --brand-blue:#0b57a1; /* derived from logo */
  --brand-accent:#f70707; /* CTA red */
  --muted:#6b6f76;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem rgba(11,87,161,0.25);
}

html {
  position: relative;
  min-height: 100%;
}

body {
  /*padding: 0;*/
  padding-top: 75px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

/* Footer styles merged */
.site-footer{background:#050505;color:#d7d7d7;padding:3.5rem 0;font-family:inherit}
.site-footer a{color:#d7d7d7}
.site-footer .container{max-width:1100px;margin:0 auto;padding:0 1rem}
.site-footer .cols{display:flex;gap:3rem;align-items:flex-start;flex-wrap:wrap}
.site-footer .col{flex:1;min-width:200px}
.site-footer .brand{font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:0.75rem}
.site-footer p.desc{color:#bfc3c6;max-width:360px;line-height:1.8}
.site-footer .services a{display:block;padding:0.5rem 0;color:#cfcfcf;text-decoration:none}
.site-footer .region p, .site-footer .contact p{color:#cfcfcf;margin:.45rem 0}
.site-footer .bottom{border-top:1px solid rgba(255,255,255,0.04);margin-top:2rem;padding-top:1rem;color:#9aa0a6;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}
.cta-btn{background:var(--brand-accent);color:#001;padding:.6rem 1rem;border-radius:8px;text-decoration:none;font-weight:600;display:inline-block}
.cta-white-btn {
    background: var(--brand-accent);
    color: white;
    padding: .6rem 1rem;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    display: inline-block
}
.navbar-brand img{height:44px}
.navbar{background:linear-gradient(180deg, #fff 0%, #fbfdff 100%)}
.nav-link{text-transform:none;color:var(--muted)!important}
.nav-link:hover{color:var(--brand-blue)!important}
@media (max-width:768px){.site-footer .cols{flex-direction:column}.site-footer .bottom{flex-direction:column;gap:.75rem}}

.navbar.sticky-top{position:sticky;top:0;z-index:1030}
.navbar-brand img{height:40px}
@media(min-width:768px){.navbar-brand img{height:48px}}

/* Landing and services styles consolidated from landing.css */
/* hero */
.hero{background:#0e3e3b;color:#fff;padding:6rem 1rem 5rem;text-align:center;position:relative;overflow:hidden}
.hero .eyebrow{font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:.5rem;font-size:1rem;opacity:.95}
.hero .headline{font-weight:900;font-size:clamp(48px,9vw,140px);line-height:.9;margin:.2rem 0 1rem;letter-spacing:-2px}
.hero .lead{max-width:700px;margin:1.5rem auto 2.5rem;color:rgba(255,255,255,.95);font-size:1.05rem;line-height:1.6}
.cta{display:inline-block;background:var(--brand-accent);color:#001;padding:.75rem 1.25rem;border-radius:8px;font-weight:700;text-decoration:none}
.hero .circle{width:96px;height:96px;border-radius:50%;background:#f3f3f3;position:absolute;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.hero .circle.c1{left:8%;top:18%}.hero .circle.c2{right:9%;top:22%}.hero .circle.c3{left:12%;bottom:6%}
.intro{padding:4.5rem 1rem 3rem;text-align:center;max-width:980px;margin:0 auto}.intro h2{font-size:2.25rem;font-weight:600;margin-bottom:1rem}.intro p.lead-detail{color:#444;max-width:720px;margin:0 auto;line-height:1.8}
.services{max-width:1100px;margin:3rem auto 6rem;padding:0 1rem}.service-item{padding:2.25rem 0;border-top:1px solid #cfcfcf;display:flex;align-items:center;justify-content:space-between}.service-item h3{margin:0;font-size:2.25rem;font-weight:500}.service-item .plus{font-size:1.75rem;color:#111;padding-left:1rem}
button.plus{background:transparent;border:0;width:36px;height:36px;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem;color:#111;padding:0}
button.plus:focus{outline:0;box-shadow:none}button.plus::after{content:'+';display:block}button.plus:not(.collapsed)::after{content:'−'}
@media (max-width:700px){.hero .headline{font-size:48px}.service-item h3{font-size:1.5rem}}

/* Services page hero responsive styles */
.services-hero{display:flex;gap:3rem;align-items:center;justify-content:space-between}
.services-content{flex:1;min-width:320px;padding-right:1rem}
.services-title{font-size:4rem;margin-top:0.6rem;line-height:1.02;font-weight:700}
.services-desc{color:#444;max-width:560px;margin-top:1.25rem;line-height:1.9;font-size:1.05rem}
.services-image{width:460px;flex-shrink:0}
.services-image img{width:100%;height:auto;border-radius:6px;box-shadow:0 8px 28px rgba(0,0,0,0.14)}

/* Reusable section utilities for services */
.section {padding:4rem 1rem;background:#fff}
.container-narrow{max-width:1100px;margin:0 auto;padding:0 1rem}
.eyebrow-strong{font-weight:700;letter-spacing:.08em;color:var(--brand-blue);font-size:.85rem;text-transform:uppercase}
.section-title{font-size:3.5rem;font-weight:700;line-height:1.03;margin-top:1rem;margin-bottom:1.25rem}
.section-copy{max-width:560px;color:#333;margin-bottom:1.5rem}
.media-image{height:520px;overflow:hidden;border-radius:4px}
.media-image img{width:100%;height:100%;object-fit:cover;object-position:center right}
.cta-btn{background:var(--brand-accent);color:#001;padding:.6rem 1rem;border-radius:8px;display:inline-block;font-weight:600;text-decoration:none}

@media (max-width:1100px){
    .services-hero{gap:2rem}
    .services-image{width:360px}
    .services-title{font-size:3rem}
}

@media (max-width:900px){
    .services-hero{flex-direction:column;align-items:flex-start}
    .services-image{width:100%;order:2;margin-top:1.25rem}
    .services-title{font-size:2rem}
}
.lnkactive {
    /*border-bottom: 2px solid var(--brand-blue);*/
    color: var(--brand-blue) !important;
    /*font-weight: bolder;*/
}

.lnkactive a {
    color: var(--brand-blue) !important;
    font-weight: bolder;
}

@media(min-width:601px){
    .lnkactive {
        border-bottom: 2px solid var(--brand-blue);
        font-weight: bolder;
    }
}

.footer-services a {
    color: #cfcfcf;
    text-decoration: none;
    display: block;
    padding: 0.5rem 0;
}