
:root{
  --bg:#ffffff;
  --text:#0a2540;
  --muted:#5b7186;
  --line:#e6edf3;
  --brand:#0a2540;
  --brand-2:#4f9cff;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica,Arial,sans-serif}
img{max-width:100%;display:block}
a{color:var(--brand-2);text-decoration:none}
a:hover{text-decoration:underline}
.container{width:min(1120px,92%);margin-inline:auto}
.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);z-index:10}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:0.75rem 0}
.logo{display:flex;align-items:center;gap:.5rem;font-weight:700;color:var(--text)}
.logo-mark{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:8px;background:var(--brand);color:#fff}
.logo-type{letter-spacing:.5px}
.nav-toggle{display:none;background:none;border:1px solid var(--line);padding:.4rem .6rem;border-radius:6px}
.nav-list{list-style:none;display:flex;gap:1rem;margin:0;padding:0;align-items:center}
.nav-list a{padding:.5rem .75rem;border-radius:6px}
.nav-list a:hover{background:#f6f9fc;text-decoration:none}
.btn{display:inline-block;background:var(--brand);color:#fff;padding:.8rem 1rem;border-radius:10px;border:1px solid var(--brand);font-weight:600}
.btn:hover{filter:brightness(0.95);text-decoration:none}
.btn-outline{background:transparent;color:var(--brand);border:1px solid var(--brand)}
.btn-sm{padding:.5rem .75rem;border-radius:8px}
.hero{position:relative;height:62vh;min-height:480px;max-height:720px;overflow:hidden;border-bottom:1px solid var(--line)}
.hero img{width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;display:grid;align-content:center;gap:1rem;padding:clamp(1rem,5vw,3rem);background:linear-gradient( to right, rgba(10,37,64,.75), rgba(10,37,64,.35) 40%, rgba(10,37,64,0) 70% );color:#fff}
.hero h1{font-size:clamp(2rem,4.5vw,3.25rem);line-height:1.1;margin:0}
.strip{padding:2rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fbfdff}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;align-items:center;justify-items:center}
.kpi{font-weight:800;font-size:2rem}
.kpi-note{display:block;color:var(--muted)}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;align-items:start}
.feature{padding:3rem 0}
.card{border:1px solid var(--line);border-radius:12px;padding:1.25rem;background:#fff}
.steps{counter-reset:st;list-style:none;padding:0;margin:0;display:grid;gap:.75rem}
.steps li{padding-left:.75rem;border-left:3px solid var(--brand);}
.steps-large li{padding:1rem;border-radius:10px;border:1px solid var(--line)}
.strip-quote blockquote{font-size:1.25rem;margin:0;padding:1.5rem;border-left:4px solid var(--brand);background:#f6f9fc;border-radius:8px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.card.project img{aspect-ratio:4/3;border-radius:10px}
.card-body{padding:.75rem 0}
.cta{background:#0a2540;color:#fff}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:2rem 0}
.page{padding:2.5rem 0}
.badge-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}
.badge{border:1px solid var(--line);padding:.35rem .6rem;border-radius:999px;background:#f6f9fc}
.list-plain{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;padding:2rem 0}
.legal{border-top:1px solid var(--line);padding:1rem 0;color:var(--muted)}
.contact-form{display:grid;gap:.75rem;max-width:720px}
.contact-form input,.contact-form textarea{width:100%;padding:.7rem;border:1px solid var(--line);border-radius:8px}
.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}
.masonry{columns: 1 320px; column-gap: 1rem}
.masonry img{width:100%;margin:0 0 1rem;border-radius:8px}
.checklist{list-style:none;margin:1rem 0;padding:0}
.checklist li{padding-left:1.4rem;position:relative}
.checklist li::before{content:"✓";position:absolute;left:0;color:var(--brand)}
@media (max-width: 900px){
  .grid-2,.cards{grid-template-columns:1fr}
  .trust-grid{grid-template-columns:repeat(2,1fr)}
  .cta-inner{flex-direction:column;align-items:flex-start}
  .footer-grid{grid-template-columns:1fr}
  .contact-cards{grid-template-columns:1fr}
  .nav-toggle{display:block}
  .nav-list{display:none;position:absolute;right:1rem;top:56px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.5rem;width:220px;flex-direction:column}
  .nav-list.open{display:flex}
}
