:root{
  --navy:#0B2A4A;
  --navy-2:#0F3C73;
  --sky:#00CFFF;
  --ink:#0B1220;
  --text:#E6EEF5;
  --card:#0F1624;
  --muted:#A9B7C6;
  --accent:#F5A524;        /* 10% off badge */
  --bg:#0A0F18;
  --panel:#0E1523;
  --radius:16px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;line-height:1.55}
img{max-width:100%;display:block}
a{color:var(--sky);text-decoration:none}
a:hover{opacity:.9}

.wrap{max-width:1100px;margin:0 auto;padding:0 16px}

/* Header */
.site-header{
  position:sticky;top:0;z-index:50;
  background:linear-gradient(90deg,var(--navy) 0%, var(--navy-2) 100%);
  box-shadow:0 2px 0 rgba(0,0,0,.2);
}
.nav-row{display:flex;align-items:center;gap:16px;padding:10px 0}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;color:#fff}
.brand-logo{width:28px;height:28px;border-radius:50%;object-fit:cover}
.nav-links{display:flex;gap:18px;margin-left:auto}
.nav-links a{color:#cfe6ff}
.nav-cta{display:flex;gap:10px;flex-wrap:wrap}
.phone-link{background:#112b4a;color:#fff;padding:8px 10px;border-radius:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer}
.btn-primary{background:var(--sky);color:#00263d}
.btn-primary:hover{filter:saturate(1.1)}

@media (max-width:860px){
  .nav-links{display:none}
  .nav-cta{margin-left:auto}
}

/* Hero */
.hero{
  background:
    radial-gradient(1200px 600px at -10% -30%, rgba(255,255,255,.05), transparent 60%),
    linear-gradient(135deg, #0a2441 0%, #143c6b 60%, #0b2a4a 100%);
  padding:42px 0 26px;
}
.hero-grid{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:18px}
.hero-badge{display:flex;align-items:center;justify-content:center}
.hero-logo{width:84px;height:84px;border-radius:50%;box-shadow:0 0 0 6px rgba(255,255,255,.08)}
.hero-copy h1{margin:0 0 12px;font-size:clamp(26px,4.8vw,42px)}
.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.offer-pill{background:var(--accent);color:#2b1900;padding:10px 14px;border-radius:12px;font-weight:800}

@media (max-width:640px){
  .hero-grid{grid-template-columns:1fr;justify-items:start}
  .hero-badge{justify-content:flex-start}
}

/* Sections */
.section{padding:42px 0}
.section.alt{background:var(--panel)}
.section-title{margin:0 0 18px;font-size:clamp(22px,3.6vw,28px)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.card{background:var(--card);padding:22px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;min-height:90px;color:#fff;box-shadow:0 1px 0 rgba(0,0,0,.3)}
.card:hover{outline:2px solid rgba(0,207,255,.2)}
.card h3{margin:0}

@media (max-width:880px){ .cards{grid-template-columns:repeat(2,1fr)} }
@media (max-width:520px){ .cards{grid-template-columns:1fr} }

/* Galleries */
.gallery-title{margin:10px 0 4px}
.gallery-sub{margin:0 0 12px;color:var(--muted)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.thumb{position:relative;overflow:hidden;border-radius:14px;background:#0b1322;cursor:pointer}
.thumb img{width:100%;height:170px;object-fit:cover;transition:transform .25s ease}
.thumb:hover img{transform:scale(1.03)}
.thumb .badge{position:absolute;left:8px;top:8px;background:rgba(0,0,0,.55);color:#fff;font-weight:700;border-radius:10px;padding:4px 8px;font-size:12px}

@media (max-width:880px){ .gallery{grid-template-columns:repeat(2,1fr)} }
@media (max-width:520px){ .gallery{grid-template-columns:1fr} }

/* Two-column small grid */
.grid-two{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:22px}
.grid-two > div{background:rgba(255,255,255,.02);border-radius:12px;padding:16px}
.coming{color:var(--muted);margin:.25rem 0 0}
@media (max-width:700px){ .grid-two{grid-template-columns:1fr} }

/* About & Contact */
.about-grid{display:block}
.contact{background:linear-gradient(180deg, var(--navy) 0%, #0f2f53 100%)}
.contact-grid{display:grid;grid-template-columns:330px 1fr;gap:22px;align-items:start}
.contact-left a{color:#fff}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:rgba(0,0,0,.25);padding:16px;border-radius:14px}
.contact-form label{display:flex;flex-direction:column;gap:6px}
.contact-form .full{grid-column:1/-1}
.contact-form input, .contact-form textarea{
  background:#07101c;border:1px solid rgba(255,255,255,.08);color:#e9f2fa;border-radius:10px;padding:10px
}
.small{opacity:.8;margin:6px 0 0}
@media (max-width:900px){ .contact-grid{grid-template-columns:1fr} }

/* Footer */
.footer{padding:22px 0;background:#08101b;color:#c7d6e6;text-align:center;border-top:1px solid rgba(255,255,255,.05)}

/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.78);display:none;align-items:center;justify-content:center;padding:20px;z-index:100}
.lightbox.open{display:flex}
.lightbox-img{max-width:92vw;max-height:85vh;border-radius:12px;box-shadow:0 10px 60px rgba(0,0,0,.5)}
.lightbox-close{position:absolute;top:14px;right:14px;font-size:28px;line-height:1;background:rgba(255,255,255,.15);border:0;border-radius:10px;color:#fff;padding:6px 10px;cursor:pointer}
.lightbox-caption{margin-top:10px;color:#eaeef5;text-align:center}

/* Accessibility extras */
a, button, input, textarea{outline-offset:3px}
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{outline:3px solid var(--sky)}
@media (prefers-reduced-motion:reduce){ *{animation:none!important;transition:none!important} }
.faq{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:12px 14px;margin:10px 0}
.faq summary{cursor:pointer;font-weight:700;outline:0}
.faq[open]{background:rgba(255,255,255,.05)}
.faq p{margin:.6rem 0 0}
/* ----------------------------- */
/* Contact section – mobile fix  */
/* ----------------------------- */

#contact {
  padding: 48px 0;
  background: linear-gradient(180deg, #0b2d4d 0%, #0a243f 100%);
}

#contact .container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 16px;
}

/* Ensure any panels/cards in contact area never exceed the viewport */
#contact .panel,
#contact .card,
#contact .contact-card,
#contact .contact-info {
  width: 100%;
  max-width: 100%;
  border-radius: 14px;
}

/* Inputs and button span full width on small screens */
#contact input,
#contact textarea,
#contact button {
  width: 100%;
}

/* Make the layout single-column on mobile and kill any fixed widths */
@media (max-width: 768px) {
  #contact .grid,
  #contact .flex {
    display: block !important;         /* in case it was a fixed grid/row */
  }

  #contact .panel,
  #contact .card,
  #contact .contact-card,
  #contact .contact-info,
  #contact [class*="col"] {
    margin: 0 0 16px 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Prevent any child from bleeding beyond the viewport */
  #contact * {
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Comfortable textarea height on phones */
  #contact textarea {
    min-height: 140px;
  }
}
