
:root{
  --brand-blue:#175DB8;
  --brand-dark:#0F2D52;
  --text:#1b1b1b;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text)}
a{color:var(--brand-blue);text-decoration:none}
img{max-width:100%;display:block;height:auto}
.container{width:min(1100px,92vw);margin:0 auto}

/* Header */
.header{position:sticky;top:0;background:#fff;z-index:100;border-bottom:1px solid #eee}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:.7rem 0}
.logo{display:flex;align-items:center;gap:.75rem}
.logo img{height:128px;width:auto}
.nav a{margin-left:1rem;font-weight:600}
.nav a:hover{opacity:.8}
.cta-bar{display:flex;gap:.6rem;align-items:center}
.cta-btn{padding:.55rem .9rem;border:2px solid var(--brand-blue);border-radius:.6rem;font-weight:700}
.cta-btn.phone{background:var(--brand-blue);color:#fff}

/* Sections */
.section{padding:2.25rem 0}
.section-tight{padding:1.35rem 0}
.fullwidth img{width:100%;height:clamp(220px,45vw,520px);object-fit:cover}

/* Typography */
h1,h2,h3{line-height:1.2;margin:0 0 .6rem}
h1{font-size:clamp(28px,4vw,42px);color:var(--brand-dark)}
h2{font-size:clamp(22px,3vw,30px);color:var(--brand-dark);text-transform:uppercase;letter-spacing:.5px}
.lead{font-size:clamp(16px,2.2vw,18px);color:#333}
.badge{display:inline-block;background:#eef5ff;border:1px solid #d9e6ff;padding:.35rem .6rem;border-radius:.5rem;font-weight:600;margin:.4rem 0}

/* Services */
.services .block{margin:2rem 0}
.services .block h2{margin:.75rem 0 .35rem}
.services .block p{margin:.2rem 0 0}

/* Forms */
form{display:grid;gap:.8rem}
input,textarea{width:100%;padding:.8rem;border:1px solid #ccd6e4;border-radius:.6rem;font-size:16px}
button.primary{background:var(--brand-blue);color:#fff;border:none;padding:.9rem 1.1rem;border-radius:.7rem;font-weight:700}

/* Footer */
.footer{background:var(--brand-blue);color:#fff;margin-top:2rem}
.footer .container{padding:2rem 0}
.footer a{color:#fff;text-decoration:underline}
.footer .mini{opacity:.9;margin-top:.7rem}
.footer .brandline{display:flex;align-items:center;gap:.6rem;margin-bottom:.8rem}
.footer .brandline img{height:30px}
.footer .btnrow{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.8rem}
.tagline{font-weight:700;margin:.6rem 0 0}

/* Contact specifics */
.contact-actions{display:flex;gap:.6rem;flex-wrap:wrap}
.contact-actions .cta-btn{flex:1 1 auto;text-align:center}
.contact-photo img{width:100%;height:auto;object-fit:contain}
.fullwidth + .fullwidth{margin-top:1rem}

/* Landmark caption */
.landmark-caption{
  text-align:center;
  font-size:clamp(20px,2.6vw,30px);
  color:var(--brand-dark);
  margin-bottom:1rem;
}

/* Responsive */
@media (max-width:720px){
  .header-inner{flex-direction:column;align-items:flex-start;gap:.5rem}
  .logo img{height:80px !important}
  .nav{display:flex;gap:1rem;flex-wrap:wrap}
  .nav a{padding:.45rem .2rem;border-radius:.4rem}
  .cta-bar{display:none}
  form{margin-bottom:1.2rem}
  .contact-actions{width:100%;flex-direction:column;gap:.7rem;margin-top:1rem}
  .contact-actions .cta-btn{display:block;width:100%;text-align:center;padding:1rem}
}
