
:root{
  --navy:#31578f;
  --navy-dark:#203f6b;
  --steel:#9fa7b1;
  --ink:#1f2933;
  --muted:#5f6973;
  --paper:#ffffff;
  --light:#f3f5f7;
  --line:#d9dee4;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);line-height:1.55}
a{color:var(--navy-dark)}
img{max-width:100%;display:block}
.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}
.topbar{background:var(--navy-dark);color:#fff;font-size:.92rem}
.topbar .wrap{display:flex;justify-content:space-between;gap:20px;padding:8px 0;flex-wrap:wrap}
.topbar a{color:#fff;text-decoration:none}
header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.nav{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:92px}
.brand img{width:205px;height:auto}
nav{display:flex;align-items:center;gap:22px}
nav a{text-decoration:none;color:var(--ink);font-weight:700}
nav a:hover,nav a.active{color:var(--navy)}
.cta{display:inline-block;background:var(--navy);color:#fff!important;text-decoration:none;padding:12px 18px;border-radius:3px;font-weight:700}
.hero{background:linear-gradient(90deg,rgba(20,39,65,.92),rgba(20,39,65,.68)),url('project-placeholder.svg') center/cover;min-height:540px;color:#fff;display:flex;align-items:center}
.hero .inner{max-width:820px;padding:70px 0}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:800}
h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.6rem,6vw,5rem);line-height:1.02;margin:12px 0 20px}
h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,4vw,3.1rem);line-height:1.1;margin:0 0 18px}
h3{font-size:1.25rem;margin:0 0 10px}
.hero p{font-size:1.2rem;max-width:700px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.btn-outline{display:inline-block;border:2px solid #fff;color:#fff;text-decoration:none;padding:10px 17px;font-weight:700}
.section{padding:76px 0}
.section.alt{background:var(--light)}
.lead{font-size:1.12rem;color:var(--muted);max-width:830px}
.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:54px;align-items:start}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}
.card{border:1px solid var(--line);padding:25px;background:#fff}
.card p{color:var(--muted)}
.service-list{columns:2;column-gap:45px;padding-left:20px}
.service-list li{margin:7px 0;break-inside:avoid}
.band{background:var(--navy-dark);color:#fff;padding:42px 0}
.band .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.band h2{font-size:2rem;margin:0}
.page-hero{background:var(--light);padding:65px 0;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(2.4rem,5vw,4rem);color:var(--navy-dark);margin-bottom:14px}
.checks{list-style:none;padding:0}
.checks li{padding:8px 0 8px 28px;position:relative}
.checks li:before{content:"";width:10px;height:10px;border:3px solid var(--navy);position:absolute;left:0;top:14px}
.area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:25px}
.area-grid div{background:#fff;border:1px solid var(--line);padding:12px;text-align:center;font-weight:700}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.project{background:#fff;border:1px solid var(--line)}
.project .ph{aspect-ratio:4/3;background:linear-gradient(135deg,#d7dce2,#f3f5f7);display:flex;align-items:center;justify-content:center;color:#6d7680;font-weight:700;text-align:center;padding:20px}
.project .copy{padding:18px}
form{display:grid;gap:15px}
label{font-weight:700}
input,textarea,select{width:100%;padding:12px;border:1px solid #bfc6cd;font:inherit;background:#fff}
textarea{min-height:145px;resize:vertical}
button{border:0;cursor:pointer}
.form-note{font-size:.9rem;color:var(--muted)}
.contact-box{border-left:5px solid var(--navy);background:var(--light);padding:24px}
footer{background:#17283f;color:#dfe5ec;padding:50px 0 22px}
footer a{color:#fff}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:35px}
.footer-logo{width:180px;background:#fff;padding:8px}
.small{font-size:.9rem;color:#aeb9c6}
@media(max-width:850px){
  header{position:static}
  .nav{align-items:flex-start;padding:15px 0;flex-direction:column}
  nav{width:100%;flex-wrap:wrap;gap:14px}
  .grid-2,.grid-3,.cards,.gallery,.footer-grid{grid-template-columns:1fr}
  .area-grid{grid-template-columns:repeat(2,1fr)}
  .service-list{columns:1}
  .hero{min-height:480px}
}
