
:root{
  --blue: #0A3D75;
  --orange: #FF7A00;
  --dark: #0C2438;
  --light: #ffffff;
  --muted: #eef3f8;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;color:var(--dark);}
h1,h2,h3,.brand-text strong{font-family:Poppins, Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif}
a{color:var(--blue)}
.container{width:min(1100px,92%);margin:0 auto}
.btn{display:inline-block;padding:.8rem 1.2rem;border-radius:.5rem;text-decoration:none;font-weight:700;border:2px solid transparent;transition:transform .05s ease, filter .2s ease}
.btn-orange{background:var(--orange);color:#fff}
.btn-outline{border-color:#fff;color:#fff}
.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.site-header{position:sticky;top:0;background:var(--blue);color:#fff;z-index:10;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0}
.brand{display:flex;gap:.6rem;align-items:center}
.logo{font-size:1.6rem}
.brand-text span{font-size:.85rem;opacity:.9}
.nav a{margin-left:1rem;color:#fff;text-decoration:none}
.nav .btn{margin-left:1rem;border-color:transparent}
.burger{display:none;background:none;border:none;color:#fff;font-size:1.5rem}

.hero{position:relative;min-height:60vh;display:flex;align-items:center;color:#fff;background:linear-gradient(180deg, rgba(13,77,139,.65), rgba(13,77,139,.75))}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend:multiply;z-index:-1;filter:brightness(.9) saturate(1.05)}
.hero h1{font-size:2.2rem;line-height:1.2;margin:0 0 .4rem}
.hero .sub{margin:0 0 1rem;opacity:.95}
.cta-row .btn{margin-right:.6rem}

.services{padding:3rem 0;background:var(--muted)}
.services h2, .gallery h2, .offer h2, .contact h2{font-size:2rem;margin:.2rem 0 1rem}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.card{background:#fff;border-radius:.6rem;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.05);transition:box-shadow .2s ease, transform .06s ease}
.card:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(0,0,0,.08)}
.card img{width:100%;height:170px;object-fit:cover}
.card h3{margin:.7rem 1rem .2rem}
.card p{margin:.2rem 1rem 1rem;color:#334}
.card .icon-only{height:170px;display:flex;align-items:center;justify-content:center;font-size:3rem;background:#f6f8fb;color:var(--blue)}

.offer{padding:2.2rem 0;background:#fff}
.offer-box{background:var(--blue);color:#fff;border-radius:.8rem;padding:1.2rem 1.2rem;border:3px solid var(--orange)}
.offer-box span{color:var(--orange)}

.gallery{padding:2.5rem 0;background:var(--muted)}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}
.gallery-grid img{width:100%;height:180px;object-fit:cover;border-radius:.4rem}

.contact{padding:2.5rem 0;background:#fff}
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:1.2rem;align-items:start}
.contact-list{list-style:none;padding:0;margin:0 0 1rem 0}
.contact-list li{margin:.3rem 0}
.quote-form{display:grid;gap:.6rem}
.quote-form input,.quote-form select,.quote-form textarea{width:100%;padding:.7rem;border:1px solid #cfd7e3;border-radius:.4rem}
.quote-form button{justify-self:start}
.hidden{position:absolute;left:-9999px;opacity:0;pointer-events:none}

.site-footer{background:var(--blue);color:#fff;padding:1rem 0;text-align:center}

@media (max-width: 860px){
  .nav{position:absolute;top:56px;right:0;background:var(--blue);padding:1rem;display:none;flex-direction:column}
  .nav.open{display:flex}
  .burger{display:block}
  .grid{grid-template-columns:1fr 1fr}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr}
  .hero{min-height:55vh}
}
@media (max-width: 520px){
  .grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr}
}
