
/* Basic reset */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --blue-1:#1885D2;
  --blue-2:#051331;
  --primary:var(--blue-1);
  --primary-foreground:#ffffff;
  --accent:var(--blue-2);
  --bg:#f4fbff;
  --bg-blend: linear-gradient(180deg,var(--blue-1),var(--blue-2));
  --services-bg: rgba(24,133,210,0.06);
  --services-border: rgba(24,133,210,0.12);
  --surface:#ffffff;
  --text:#222222;
  --muted:#666666;
  --hero-start: var(--blue-1);
  --hero-end: var(--blue-2);
}
html,body{height:100%}
.bg-blues{background:var(--bg-blend);color:#ffffff}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,'Helvetica Neue',Arial;line-height:1.5;color:var(--text);background:var(--bg)}
.container{max-width:1100px;margin:0 auto;padding:1rem}
.site-header{background:var(--blue-2);color:#ffffff}
.site-header .container{display:flex;align-items:center;gap:1rem}
.logo{height:144px;width:auto;max-height:210px}
.footer-logo{height:140px;width:auto;object-fit:contain}
.nav{margin-left:auto;display:flex;gap:1rem}
.nav a{color:#ffffff;text-decoration:none;transition:color .15s ease}
.nav a:hover{color:var(--blue-1)}
/* Keep header/nav links solid white on hover */
.site-header .nav a,.site-header .nav a:hover{color:#ffffff}
.nav-toggle{display:none;background:none;border:0;font-size:1.25rem}
.hero{background:var(--blue-1);padding:3.5rem 0;text-align:center;color:#ffffff}
.hero .container{display:flex;flex-direction:column;align-items:center;gap:1rem;justify-content:center}
.hero-content{text-align:center}
.hero-logo{width:210px;height:auto;margin-bottom:1rem;border-radius:8px}
.hero h1{font-size:2.8rem;margin-bottom:.5rem;color:#ffffff}
.hero p{font-size:1.2rem;margin-bottom:1rem;color:rgba(255,255,255,0.95)}

/* Make the hero "Get a Quote" / contact button use white for better visibility */
.hero .btn{background:#ffffff;color:var(--blue-2);box-shadow:0 6px 18px rgba(5,19,49,0.22)}
.hero .btn:hover{filter:brightness(0.95)}
.btn{display:inline-block;background:var(--blue-1);color:var(--primary-foreground);padding:.6rem 1rem;border-radius:6px;text-decoration:none;border:0;box-shadow:0 6px 18px rgba(24,133,210,0.12);transition:background .15s ease}
.btn:hover{background:var(--blue-2)}
.services .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1rem}
.services{background:var(--services-bg);border-top:1px solid var(--services-border);border-bottom:1px solid var(--services-border);}
.services .container{padding-top:1.25rem;padding-bottom:1.25rem}
.services .card{background:var(--surface);padding:1.25rem;border-radius:8px;border:1px solid rgba(24,133,210,0.08)}
.card{background:var(--surface);padding:1.25rem;border-radius:8px;border:1px solid rgba(5,19,49,0.06)}
.card ul{padding-left:1.5rem;margin-top:0.75rem}
.card li{margin-bottom:0.5rem}
.about,.gallery,.contact{padding:2rem 0}
.about p{margin-bottom:.9rem}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem}
.gallery-grid a{display:block;overflow:hidden;border-radius:6px}
.gallery-grid img{width:100%;height:160px;object-fit:cover;border-radius:6px;display:block;transition:transform .18s ease,opacity .18s ease}
.gallery-grid a:hover img,.gallery-grid a:focus img{transform:scale(1.04);opacity:0.98}
.gallery-grid a{cursor:pointer}

/* Lightbox styles */
.lightbox{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:1200}
.lightbox.open{display:flex}
.lightbox-backdrop{position:absolute;inset:0;background:rgba(5,19,49,0.72)}
.lightbox-inner{position:relative;max-width:92vw;max-height:92vh;display:flex;align-items:center;gap:1rem;padding:1rem}
.lightbox-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}
.lightbox-content img{max-width:100%;max-height:78vh;border-radius:6px;box-shadow:0 20px 40px rgba(5,19,49,0.6)}
.lightbox-caption{margin-top:.5rem;color:#ffffff;font-size:0.95rem;text-align:center}
.lightbox-close,.lightbox-prev,.lightbox-next{position:relative;background:transparent;border:0;color:#ffffff;font-size:2.25rem;cursor:pointer;padding:.25rem .6rem}
.lightbox-prev,.lightbox-next{background:rgba(255,255,255,0.06);border-radius:6px}
.lightbox-close{position:absolute;top:-6px;right:-6px;background:rgba(255,255,255,0.06);border-radius:50%}

@media(max-width:700px){
  .lightbox-inner{flex-direction:column;padding:.5rem}
  .lightbox-prev,.lightbox-next{font-size:1.6rem}
}
.contact form{display:grid;gap:.5rem;max-width:480px}
.contact input,.contact textarea{padding:.6rem;border:1px solid rgba(5,19,49,0.08);border-radius:6px}
.social-links{display:flex;gap:.5rem;margin-top:.75rem;margin-bottom:1.5rem;align-items:center}
.social{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:8px;background:var(--blue-2);color:#ffffff;text-decoration:none;box-shadow:0 6px 12px rgba(5,19,49,0.12);transition:transform .12s ease,background .12s ease}
.social svg{display:block;fill:currentColor}
.social:hover,.social:focus{transform:translateY(-3px);background:var(--blue-1)}
.site-footer{background:var(--blue-2);padding:1rem 0;margin-top:2rem;color:#ffffff}
.site-footer .container{display:flex;align-items:center;justify-content:space-between;gap:1rem}

/* Links */
/* Exclude buttons so `.btn` retains its foreground color on hover */
a:not(.btn){color:var(--blue-1)}
a:not(.btn):hover{color:var(--blue-2)}

@media(max-width:700px){
  .nav{display:none}
  .nav-toggle{display:block;margin-left:auto}
  .hero h1{font-size:1.4rem}
  .logo{height:64px}
  .footer-logo{height:96px}
  .site-footer .container{flex-direction:column;align-items:center;text-align:center}
  .hero .container{flex-direction:column}
  .hero-content{text-align:center}
  .hero-logo{width:210px}
}
