/* GOOGLE FONTS */
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&display=swap');
@font-face {
    font-family: 'Lovelo';
    src: url('../fonts/LoveloBlack.otf') format('otf'),
         url('../fonts/LoveloLineBold.otf') format('otf');
    font-weight: bold;
    font-style: normal;
}

/* ROOT COLORS */
:root {
  --blue: #0056a6;
  --gold: #d4af37;
  --shadow: 0 10px 30px rgba(0,0,0,0.15);
}

/* GLOBAL FONT */
body {
  font-family: 'Lato', sans-serif;
  color: #222;
  line-height: 1.6;
}

/* TITLES */
h1, h2, h3, h4, .hero-title {
  font-family: 'Lovelo', sans-serif;
  letter-spacing: 1px;
}

.blue { color:#003366; }
.golden { color:#ffcc00; }
.orange {color:#FF9900;}


/* HEADER */
header {
  background: #ffffff;
  padding: 8px 0;
  box-shadow: var(--shadow);
  z-index: 999;
}
header img { height: 60px; }

/* HERO SECTION */
.hero {
  background: url('../images/hero-bg.jpg') no-repeat center center / cover;
  position: relative;
}

.hero-overlay {
  background: rgba(0,0,0,0.75);
  padding: 35px 0;
}

.hero-title {
  color:#ffcc00;
  font-size: 8rem;
  font-weight: 800;
  text-shadow: 2px 2px 12px rgba(0,0,0,0.2);
  animation: fadeInDown 1.2s ease;
 
}

.hero-sub {
  color: #eaeaea;
  font-size: 60px;
  animation: fadeInUp 1.2s ease;
  font-weight: bold;
  line-height: 50px;
}

.hero-points p i {
  color: #ffcc00;
  margin-right: 10px;
  transition: 0.3s ease;
  line-height: 0px;
  
}
.hero-points p:hover i {
  transform: scale(1.3);
}

/* FORM AREA */
.lead-form {
  background: var(--blue);
  padding: 50px;
  border-radius: 0px;
  box-shadow: var(--shadow);
  animation: fadeIn 1.5s ease;
}
.lead-form h2{font-weight: 800; font-size: 36px;}
.lead-form input {border-radius: 4px; padding: 12px  }
.lead-form select {border-radius: 4px; padding: 12px; color: #444;}
.lead-form button {
  background: var(--gold);
  color: #000;
  font-weight: 800;
  border: none;
  letter-spacing: 1px;
  transition: 0.3s;
  height: 50px;
  font-size: x-large;
}
.lead-form button:hover {
  background: #ffc400;
  transform: translateY(-3px);
}

/* FEATURE BOXES */
.feature-box {
  padding: 28px;
  background: #fff;
  border-radius: 12px;
  box-shadow: var(--shadow);
  transition: 0.3s ease;
}
.feature-box i {
  font-size: 48px;
  color: var(--blue);
  transition: 0.3s;
}
.feature-box:hover {
  transform: translateY(-8px);
  box-shadow: 0 14px 35px rgba(0,0,0,0.2);
}
.feature-box:hover i {
  color: var(--gold);
  transform: scale(1.2);
}

/* ANIMATIONS */
@keyframes fadeIn {
  from { opacity:0; transform: translateY(20px); }
  to { opacity:1; transform: translateY(0); }
}
@keyframes fadeInUp {
  from { opacity:0; transform: translateY(30px); }
  to { opacity:1; transform: translateY(0); }
}
@keyframes fadeInDown {
  from { opacity:0; transform: translateY(-30px); }
  to { opacity:1; transform: translateY(0); }
}
.offer-box-yellow {
  background: #ffe600;
  padding: 14px 22px;
  font-size: 1.6rem;
  font-weight: 900;
  color: #000;
  border-radius: 0px;
  animation: flashEffect 1.2s infinite;
}

@keyframes flashEffect {
  0% { background: #ffe600; }
  50% { background: #ffcc00; }
  100% { background: #ffe600; }
}
.info-card {
  background:#fff;
  padding:25px;
  border-radius:12px;
  box-shadow:0 8px 22px rgba(0,0,0,0.12);
  transition:0.3s;
  min-height: 420px;
}
.info-card:hover {
  transform: translateY(-8px);
  box-shadow:0 14px 32px rgba(0,0,0,0.20);
}
.info-icon {
  width:60px;
  height:60px;
  background:#0056a6;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  color:white;
  box-shadow:0 4px 12px rgba(0,0,0,0.20);
  margin-bottom:10px;
}

.step-card {
  background:#ffffff;
  padding:25px;
  border-radius:12px;
  box-shadow:0 6px 18px rgba(0,0,0,0.12);
  position:relative;
  transition:0.3s;
}
.step-card:hover {
  transform:translateY(-6px);
  box-shadow:0 12px 24px rgba(0,0,0,0.18);
}
.step-badge {
  position:absolute;
  top:-12px;
  right:-12px;
  background:#d4af37;
  color:#000;
  width:40px;
  height:40px;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  font-size:18px;
  box-shadow:0 4px 10px rgba(0,0,0,0.15);
}
.step-icon {
  font-size:45px;
  color:#0056a6;
}

.window-card {
  background:#fff;
  padding:25px;
  border-radius:12px;
  box-shadow:0 6px 18px rgba(0,0,0,0.12);
  transition:0.3s;
}
.window-card i {
  font-size:40px;
  color:#0056a6;
}
.window-card:hover {
  transform:translateY(-6px);
  box-shadow:0 12px 24px rgba(0,0,0,0.17);
}

.award-section {
  background:#ffffff;
  border-left:6px solid #d4af37;
  box-shadow:0 6px 18px rgba(0,0,0,0.12);
}
.hero .row {flex-direction: row-reverse;}
/* RESPONSIVE FONT SIZES FOR HERO TITLE */
@media (max-width: 1200px) {
  .hero-title {
    font-size: 6rem;
  }
  .hero-sub {
    font-size: 60px;
  }
}

@media (max-width: 992px) {
  .hero-title {
    font-size: 5.5rem;
  }
  .hero-sub {
    font-size: 40px;
  }
}

@media (max-width: 768px) {
  .hero-title {
    font-size: 5.2rem;
  }
  .hero-sub {
    font-size: 30px;
  }
}

@media (max-width: 576px) {
  .hero-title {
    font-size: 4.4rem;
    line-height: 1.1;
  }
  .hero-sub {
    font-size: 30px;
  }
}

/* Small, page-specific tweaks */
.header-cta {
  background: var(--gold);
  color: #000;
  font-weight: 800;
  padding: 8px 18px;
  border-radius: 6px;
  text-decoration: none;
  display: inline-block;
  margin-left: 12px;
}
.header-cta:hover { text-decoration:none; opacity:0.95; background: #ffc400;
   }

/* Secondary CTA block under Why Choose Us */
.secondary-cta {
  background: linear-gradient(90deg,#ffd54a,#ffcc00);
  border-radius: 8px;
  padding: 26px;
  text-align:center;
  box-shadow: var(--shadow);
  margin-top: 30px;
}
.secondary-cta h3 { margin:0; font-weight:900; color:#000; }
.secondary-cta p { margin:6px 0 12px; color:#111; }
.secondary-cta .btn-cta { background:#003366; color:#fff; font-weight:800; border-radius:6px; padding:10px 20px; }

/* Golden bottom full-width bar (fixed) */
.bottom-full-cta {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  background: #d4af37; /* golden */
  color: #000;
  z-index: 9999;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 18px;
  box-shadow: 0 -6px 24px rgba(0,0,0,0.12);
  font-weight:700;
}
.bottom-full-cta .container {display:flex; align-items:center; justify-content:space-between; padding:0; gap:12px; }
.bottom-full-cta .cta-btn { background:#003366; color:#fff; border-radius:6px; padding:10px 16px; text-decoration:none; font-weight:900; }
.bottom-full-cta .close-cta { background: transparent; border: none; font-size:18px; color:#000; opacity:0.9; cursor:pointer; }

/* Back to top button */
#backToTop {
  position: fixed;
  right: 18px;
  bottom: 90px; /* sits above bottom bar */
  background:#ff9900;
  color:#fff;
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  cursor:pointer;
  z-index:10000;
  box-shadow: 0 6px 18px rgba(0,0,0,0.2);
  display:none;
}
#backToTop:hover { transform: translateY(-3px); }

/* Make sure hero bottom spacing leaves room for fixed bar on small screens */
.body-with-bottom-bar { padding-bottom: 80px; }

/* Small-screen tweaks */
@media (max-width: 575px) {
  .bottom-full-cta .container { flex-direction: column; text-align:center; gap:8px; }
  #backToTop { right: 12px; bottom: 110px; }
}
