:root{--blue:#579FBE;--dark:#102434;--gray:#585C62;--light:#D7E9F4;--text:#101316}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;color:var(--text);
     background:linear-gradient(180deg,#f7fbfe 0%, #e3f0f7 40%, #d2e7f2 100%)}
.container{max-width:1100px;margin-inline:auto;padding:0 20px}
.site-header{background:var(--dark);position:sticky;top:0;z-index:10;box-shadow:0 2px 10px rgba(0,0,0,.1)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0}
.logo{height:44px;width:auto;display:block}
.main-nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.main-nav a{color:#cfd8df;text-decoration:none;font-weight:600}
.main-nav a.btn{background:var(--blue);color:#08131b;padding:8px 14px;border-radius:8px}
.hero{background:linear-gradient(0deg,rgba(87,159,190,.2),#ffffff 60%);padding:70px 0 60px}
.hero h1{font-size:clamp(28px,5vw,44px);margin:0 0 10px}
.hero .lead{font-size:clamp(16px,3vw,20px);color:#2e343a;margin:0 0 24px}
.btn{display:inline-block;padding:10px 16px;border-radius:10px;border:0;cursor:pointer;text-decoration:none}
.btn-primary{background:var(--blue);color:#071018;font-weight:700}
.section{padding:56px 0}.section.alt{background:linear-gradient(0deg,#eaf3f9,#ffffff)}.section h2{font-size:clamp(24px,4vw,32px);margin:0 0 24px}
.services{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;list-style:none;padding:0;margin:0}
.services li{border:1px solid #d9e6ef;border-radius:14px;padding:16px;background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.04)}
.services h3{margin:0 0 6px;font-size:18px;color:#0e1820}.services p{margin:0;color:#4a4f56}
.grid.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.card-thumb{width:100%;height:220px;object-fit:cover;border-radius:12px;border:1px solid #d9e6ef;background:#fff;display:block}
.narrow{max-width:800px}
.badges{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:16px 0 0;padding:0}
.badges li{background:#e7f2f9;border:1px solid #cfe4f1;color:#0e3446;padding:6px 10px;border-radius:999px;font-weight:600}
.process{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.process li{background:#fff;border:1px solid #e1e6ea;padding:14px 16px;border-radius:12px}
/* Contact form */
.contact-form{display:grid;gap:12px}
.contact-form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.contact-form label{display:grid;gap:6px}
.contact-form input,.contact-form textarea{padding:12px;border-radius:10px;border:1px solid #cfd8df;background:#fff;color:#0e1820}
/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:20px;z-index:999}
.lightbox.active{display:flex}
.lightbox img{max-width:92vw;max-height:86vh;border-radius:10px}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);display:flex;justify-content:space-between;width:100%;pointer-events:none}
.lb-btn{pointer-events:auto;cursor:pointer;background:rgba(255,255,255,.15);border:0;border-radius:999px;width:48px;height:48px;font-size:24px;color:#fff;display:grid;place-items:center;margin:0 10px}
.lb-close{position:absolute;top:14px;right:14px}
/* Mobile */
@media (max-width:720px){
  .main-nav a{display:inline-block}
  .contact-form .row{grid-template-columns:1fr}
  .card-thumb{height:180px}
}
