/* Tailwind base */
@import url('https://cdnjs.cloudflare.com/ajax/libs/tailwindcss/2.2.19/tailwind.min.css');

:root{
  --brand-blue:#005A9C;
  --brand-navy:#0D2447;
  --brand-gray:#5A6C81;
  --brand-light:#F0F5FA;
  --brand-lightgray:#DDE5EE;
}
body{font-family:'Lexend',sans-serif;color:var(--brand-navy)}
.container{max-width:72rem;margin:0 auto;padding:0 1.5rem}
.section{padding:5rem 0}
.section-title{font-size:2.5rem;line-height:1.2;font-weight:800;color:var(--brand-navy)}
.hero-bg{
  background-image:linear-gradient(rgba(13,36,71,.72),rgba(13,36,71,.72)),url('hero-bg.webp');
  background-size:cover;background-position:center;
}
.contact-bg{
  background-image:linear-gradient(rgba(240,245,250,.95),rgba(240,245,250,.95)),url('hero-bg.webp');
  background-size:cover;background-position:center;
}
.text-brand-gray{color:var(--brand-gray)} .text-brand-navy{color:var(--brand-navy)} .text-brand-lightgray{color:var(--brand-lightgray)}
.bg-brand-light{background-color:var(--brand-light)}

.btn-primary{background-color:var(--brand-blue);color:#fff;padding:.75rem 1.25rem;border-radius:.65rem;font-weight:600;box-shadow:0 6px 18px rgba(0,0,0,.08);}
.btn-primary:hover{background-color:var(--brand-navy)}
.btn-secondary{background:#fff;border:1px solid rgba(0,0,0,.08);padding:.6rem 1rem;border-radius:.65rem;font-weight:600;color:var(--brand-navy)}
.btn-white{background-color:rgba(255,255,255,.12);backdrop-filter:saturate(180%) blur(6px);color:#fff;padding:.75rem 1.25rem;border:1px solid rgba(255,255,255,.3);border-radius:.65rem;font-weight:600}
.btn-white:hover{background-color:rgba(255,255,255,.2)}
.card{padding:1.25rem;background:var(--brand-light);border:1px solid var(--brand-lightgray);border-radius:.75rem}
.feature{background:#fff;padding:1.25rem;border-radius:.75rem;box-shadow:0 4px 14px rgba(13,36,71,.06)}
.feature h3{font-weight:800;color:var(--brand-navy);margin-bottom:.25rem}
.service{background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 10px 30px rgba(13,36,71,.08)}
.service-img{width:100%;height:12rem;object-fit:cover}
.card-title{font-size:1.35rem;font-weight:800;color:var(--brand-navy)}
.link{color:var(--brand-blue);font-weight:600}

.label{display:block;font-size:.875rem;font-weight:600;color:var(--brand-gray)}
.input{margin-top:.25rem;width:100%;padding:.85rem 1rem;background:var(--brand-light);border:1px solid transparent;border-radius:.5rem;outline:none}
.input:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px rgba(0,90,156,.15)}
.info{display:flex;gap:1rem;align-items:flex-start}
.icon-circle{background:#fff;padding:.6rem .8rem;border-radius:999px;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.info-title{font-size:1.125rem;font-weight:700;color:var(--brand-navy)}
.map-wrap{border-radius:.75rem;overflow:hidden;box-shadow:0 10px 24px rgba(0,0,0,.08)}
.map{width:100%;height:220px;border:0}

.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.8);display:none;align-items:center;justify-content:center;z-index:100}
.lightbox img{max-width:min(95vw,1100px);max-height:85vh;border-radius:.5rem}
.testimonial{background:#fff;border:1px solid #eef2f7;border-radius:.75rem;padding:1.25rem;box-shadow:0 8px 24px rgba(13,36,71,.06)}
.testimonial span{display:block;margin-top:.75rem;color:var(--brand-gray);font-weight:600}
.service-modal{display:none}

/* Header logo crispness */
header img{image-rendering:-webkit-optimize-contrast; image-rendering:crisp-edges}

/* Carousel */
.carousel-wrap{position:relative}
.carousel{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.5rem}
.carousel::-webkit-scrollbar{height:8px}
.carousel::-webkit-scrollbar-thumb{background:#c9d5e6;border-radius:999px}
.carousel-item{flex:0 0 auto;width:320px;height:220px;object-fit:cover;border-radius:.75rem;scroll-snap-align:start;box-shadow:0 8px 24px rgba(13,36,71,.08)}
.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:#fff;border:1px solid rgba(13,36,71,.15);padding:.6rem .8rem;border-radius:.6rem;box-shadow:0 6px 18px rgba(13,36,71,.08);font-weight:800;color:#0D2447}
.carousel-btn:hover{background:#f8fbff}
.carousel-btn.prev{left:-.25rem}
.carousel-btn.next{right:-.25rem}
@media (min-width:1024px){.carousel-item{width:420px;height:260px}}

/* Brand logo sizing & placement */
.brand-logo{height:2.75rem;width:auto}
@media (min-width:768px){.brand-logo{height:3.25rem}}
@media (min-width:1024px){.brand-logo{height:3.75rem}}
.brand-logo-wrap{padding:.15rem .25rem;border-radius:.5rem}

/* Safety: hide any legacy brand text element if present */
header .brand-text{display:none !important}

/* Header & logo refinement */
.brand-logo{height:3.25rem;width:auto;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}
@media (min-width:768px){.brand-logo{height:3.75rem}}
@media (min-width:1024px){.brand-logo{height:4.25rem}}
#siteHeader.shrink .brand-logo{height:3.1rem}
#siteHeader.shrink .container{padding-top:.55rem;padding-bottom:.55rem}

/* Reduce excess white space across sections on large screens */
@media (min-width:1024px){
  .section{padding:4.25rem 0}
  .hero-bg{min-height:82vh}
}

/* Subtle divider under header for structure */
#siteHeader{border-bottom:1px solid rgba(13,36,71,.06)}
