@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;500;700&family=Poppins:wght@400;500;600;700&display=swap');

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Poppins', sans-serif;
  background: #d9fbfb;
  color: #073151;
  min-height: 100vh;
  overflow-x: hidden;
}

/* Background grain */
.hero-wrapper {
  min-height: 100vh;
  padding: 25px 6%;
  position: relative;
  background:
    radial-gradient(circle, rgba(115, 171, 204, 0.16) 1px, transparent 1px);
  background-size: 4px 4px;
}

  align-items: center;
  gap: 35px;
}

/* NAVBAR */
.custom-navbar {
  padding: 18px 0;
  background: transparent;
}


/* LINKS */
.nav-link {
  font-weight: 600;
  color: #073151 !important;
  position: relative;
}

/* ACTIVE LINE */
.tour-btn2 {
  margin-top: 35px;
  background: #d39612;
  color: #fff;
  border: none;
  padding: 15px 34px;
  border-radius: 35px;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: .5px;
}

/* BUTTON */
.nav-btn {
  background: #d39612;
  color: #fff;
  padding: 12px 28px;
  border-radius: 30px;
  font-weight: 700;
  text-decoration: none;
  display: inline-block;
  transition: .3s;
}

.nav-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(0,0,0,.15);
}

/* TOGGLER */
.navbar-toggler {
  border: none;
}

.navbar-toggler:focus {
  box-shadow: none;
}

/* MOBILE */
@media (max-width: 991px) {

  .custom-navbar {
    background: #fff;
    box-shadow: 0 10px 25px rgba(0,0,0,.08);
  }

  .navbar-collapse {
    padding-top: 20px;
  }

}

.logo {right:10}
.nav-menu {
  display: flex;
  align-items: center;
  gap: 32px;
  list-style: none;
}

.nav-menu a {
  text-decoration: none;
  color: #073151;
  font-size: 14px;
  font-weight: 700;
  position: relative;
}

.nav-menu a.active::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 100%;
  height: 2px;
  background: #073151;
}

.nav-actions {
  display: flex;
  align-items: center;
  gap: 18px;
}

.ticket-btn,
.cart-btn {
  border: none;
  background: #073151;
  color: #fff;
  border-radius: 35px;
  height: 58px;
  padding: 0 32px;
  font-weight: 700;
  cursor: pointer;
}

.cart-btn {
  width: 78px;
  padding: 0;
  position: relative;
}

.cart-count {
  position: absolute;
  right: 12px;
  top: 13px;
  background: #e72f35;
  width: 23px;
  height: 23px;
  border-radius: 50%;
  font-size: 12px;
  display: grid;
  place-items: center;
}

/* HERO */
.hero {
  position: relative;
}

.hero-content {
  display: grid;
  grid-template-columns: 58% 42%;
  align-items: start;
}

.hero-title-box {
  background: #073151;
  color: #fff;
  padding: 55px 55px 160px;
  min-height: 460px;
}

.hero-title-box h1 {
  font-family: 'Oswald', sans-serif;
  font-size: 5rem;
  line-height: 1.08;
  font-weight: 300;
  letter-spacing: 2px;
  max-width: 680px; color:#fff
}

.tour-btn {
  margin-top: 35px;
  background: #fff;
  color: #073151;
  border: none;
  padding: 15px 34px;
  border-radius: 35px;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: .5px;
}

.hero-info {
  padding: 20px 0 0 0;
}

.hero-info p {
  max-width: 500px;
  font-size: 15px;
  line-height: 1.7;
  font-weight: 500;
}

.car-card {
  position: absolute;
  right: 2%;
  top: 170px;
  width: 55%;
  height: 500px;
  background: #fff;
  box-shadow: 0 25px 45px rgba(0,0,0,.12);
  z-index: 2;
}

.car-img {
  position: absolute;
  right: 4%;
  top: 200px;
  width: 100%;
  max-width:850px;
  z-index: 5;
  filter: drop-shadow(0 18px 20px rgba(0,0,0,.22));
}

/* bottom info */
.bottom-row {
  margin-top: 55px;
  display: grid;
  grid-template-columns: 36% 1fr 25%;
  gap: 50px;
  align-items: end;
}

.features {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 38px 70px;
}

.feature {
  display: flex;
  align-items: flex-end;
  gap: 10px;
}

.feature strong {
  font-family: 'Oswald', sans-serif;
  font-size: 42px;
  line-height: .8;
}

.feature span {
  font-size: 10px;
  color: #e7343f;
  font-weight: 800;
  display: block;
}

.feature p {
  font-family: 'Oswald', sans-serif;
  font-size: 21px;
  line-height: 1;
}

.hours h3 {
  font-family: 'Oswald', sans-serif;
  font-size: 36px;
}

.hours p {
  font-size: 22px;
  font-family: 'Oswald', sans-serif;
}

.socials {
  display: flex;
  gap: 30px;
  justify-content: flex-end;
}

.socials a {
  color: #073151;
  text-decoration: none;
  font-weight: 900;
  font-size: 22px;
}



/* Responsive */
@media (max-width: 991px) {
  .navbar {
    flex-wrap: wrap;
    gap: 25px;
  }

  .nav-menu {
    order: 3;
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
  }

  .hero-content {
    grid-template-columns: 1fr;
  }

  .hero-title-box {
    padding: 45px 30px 120px;
  }

  .hero-info {
    padding: 35px 0;
  }

  .car-card {
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    height: 280px;
    margin-top: -70px;
  }

  .car-img {
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    margin-top: -260px;
  }

  .bottom-row {
    grid-template-columns: 1fr;
  }

  .socials {
    justify-content: flex-start;
  }
}

@media (max-width: 575px) {
  .nav-actions {
    width: 100%;
    justify-content: space-between;
  }

  .ticket-btn {
    padding: 0 22px;
  }

  .features {
    grid-template-columns: 1fr;
  }

  .hero-title-box h1 {
    font-size: 54px;
  }
}

/* CIRCLE WRAPPER */
.emergency-circle {
  position: absolute;
  left:38%;
  top: 58%;
  transform: translateY(-50%);
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: #d39612;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 6;
  box-shadow: 0 15px 35px rgba(0,0,0,.2);
}

/* ROTATING TEXT */
.circle-text {
  position: absolute;
  width: 100%;
  height: 100%;
  font-size: 12px;
  color: #fff;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  animation: rotateText 10s linear infinite;
}

/* center text */
.circle-center {
  color: #fff;
  font-size: 28px;
  font-weight: 800;
  z-index: 2;
}

/* rotate animation */
@keyframes rotateText {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* make text circular */
.circle-text::before {
  content: attr(data-text);
}

/* better circle text using SVG (optional fallback fix below) */
.circle-text {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* RESPONSIVE */
@media (max-width: 991px) {
  .emergency-circle {
    width: 120px;
    height: 120px;
    left: 10px;
  }

  .circle-center {
    font-size: 20px;
  }

  .circle-text {
    font-size: 10px;
  }
}.circle-svg {
  position: absolute;
  width: 100%;
  height: 100%;
  animation: rotateText 10s linear infinite;
}


.navbar-toggler {
  border: none;
}

.navbar-toggler-icon {
  background-image: none;
  width: 25px;
  height: 2px;
  background: #073151;
  position: relative;
}

.navbar-toggler-icon::before,
.navbar-toggler-icon::after {
  content: "";
  position: absolute;
  width: 25px;
  height: 2px;
  background: #073151;
  left: 0;
}

.navbar-toggler-icon::before {
  top: -7px;
}

.navbar-toggler-icon::after {
  top: 7px;
}

/* SECTION */
.emergency-section {
  padding: 80px 0;
  background: #f7fafc;
}

/* TEXT */
.emergency-content h2 {
  font-size: 42px;
  font-weight: 800;
  margin-bottom: 20px;
  color: #073151;
}

.emergency-content h2 span {
  color: #d39612;
}

.emergency-content p {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 15px;
  color: #333;
}

/* BUTTON */
.emergency-btn {
  display: inline-block;
  margin-top: 15px;
  background: #d39612;
  color: #fff;
  padding: 14px 30px;
  border-radius: 30px;
  text-decoration: none;
  font-weight: 700;
  transition: .3s;
}

.emergency-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(0,0,0,.15);color:#fff
}

/* IMAGE */
.emergency-img {
  border-radius: 12px;
  box-shadow: 0 20px 40px rgba(0,0,0,.1);
}

/* 🔥 CIRCLE */
.emergency-circle-box {
  position: absolute;
  top: -30px;
  right: -30px;
  width: 140px;
  height: 140px;
  background: #073151;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.emergency-circle-box svg {
  position: absolute;
  width: 100%;
  height: 100%;
  animation: rotateText 10s linear infinite;
}

.circle-center {
  color: #fff;
  font-size: 22px;
  font-weight: 800;
}

/* animation */
@keyframes rotateText {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* MOBILE */
@media (max-width: 991px) {

  .emergency-content {
    text-align: center;
    margin-bottom: 30px;
  }

  .emergency-circle-box {
    display: none;
  }

}


.rotate-phone {
  position: absolute;
  top: -20px;
  right: -20px;
  width: 70px;
  height: 70px;
  background: #d39612;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  box-shadow: 0 15px 30px rgba(0,0,0,.2);
  
  /* 🔥 rotation */
  animation: rotatePhone 6s linear infinite;
}

/* animation */
@keyframes rotatePhone {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}


.why-us {
  padding: 80px 0;
  background: #f7fafc;
}

/* TITLE */
.why-head h2 {
  font-size: 40px;
  font-weight: 800;
  color: #073151;
  margin-bottom: 10px;
}

.why-head p {
  color: #555;
  font-size: 16px;
  margin-bottom: 50px;
}

/* GRID */
.why-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 25px;
}

/* CARD */
.why-card {
  background: #fff;
  padding: 30px 20px;
  border-radius: 12px;
  text-align: center;
  transition: 0.3s;
  box-shadow: 0 10px 25px rgba(0,0,0,0.05);
}

.why-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

/* ICON */
.why-card .icon {
  font-size: 40px;
  margin-bottom: 15px;
}

/* TEXT */
.why-card h3 {
  font-size: 20px;
  margin-bottom: 10px;
  color: #073151;
}

.why-card p {
  font-size: 14px;
  color: #555;
}

/* RESPONSIVE */
@media (max-width: 991px) {
  .why-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  .why-grid {
    grid-template-columns: 1fr;
  }
}


.coupon-section {
  padding: 80px 0;
  background: #073151;
  color: #fff;
  text-align: center;
}

/* BIG COUPON */
.main-coupon {
  position: relative;
  background: linear-gradient(135deg, #073151, #d39612);
  padding: 50px 20px;
  border-radius: 15px;
  margin-bottom: 40px;
  overflow: hidden;
}


.main-coupon::before {
  content: "";
  position: absolute;
  inset: 10px;
  border: 2px dashed rgba(255,255,255,0.6);
  border-radius: 10px;
}


.main-coupon::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -15px;
  width: 30px;
  height: 30px;
  background: #fff; 
  border-radius: 50%;
  transform: translateY(-50%);
}


.main-coupon .cut-left {
  position: absolute;
  top: 50%;
  left: -15px;
  width: 30px;
  height: 30px;
  background: #fff;
  border-radius: 50%;
  transform: translateY(-50%);
}

.main-coupon h2 {
  font-size: 60px;
  font-weight: 900;color:#fff
}

.main-coupon p {
  font-size: 20px;
  margin-bottom: 20px;
}

.coupon-btn {
  background: #fff;
  color: #073151;
  padding: 12px 30px;
  border-radius: 30px;
  text-decoration: none;
  font-weight: 700;
  cursor: pointer;
  position: relative;
  z-index: 999;

}

/* GRID */
.coupon-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

/* CARD */
.coupon-card {
  background: #fff;
  color: #073151;
  padding: 25px 15px;
  border-radius: 12px;
  transition: 0.3s;
}

.coupon-card:hover {
  transform: translateY(-5px);
}

.coupon-card h3 {
  font-size: 28px;
  font-weight: 800;
}

.coupon-card p {
  font-size: 14px;
}

/* NOTE */
.coupon-note {
  margin-top: 20px;
  font-size: 12px;
  opacity: 0.8;
}

/* RESPONSIVE */
@media (max-width: 991px) {
  .coupon-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  .coupon-grid {
    grid-template-columns: 1fr;
  }
}


.smart-systems-section {
  padding: 90px 0;

}

.smart-card {
  max-width: 1050px;
  margin: auto;
  background: rgba(4,53,98,.29);
  border: 1px solid rgba(0, 0, 0, 0.18);
  border-radius: 28px;
  padding: 55px;
  color: #073151;
  position: relative;
  overflow: hidden;
}

.smart-card::before {
  content: "";
  position: absolute;
  right: -90px;
  top: -90px;
  width: 230px;
  height: 230px;
  border: 35px solid rgba(211,150,18,.18);
  border-radius: 50%;
}

.smart-badge {
  display: inline-block;
  background: #d39612;
  color: #073151;
  padding: 9px 18px;
  border-radius: 30px;
  font-weight: 800;
  margin-bottom: 20px;
}

.smart-card h2 {
  font-size: 42px;
  font-weight: 900;
  margin-bottom: 20px;
  max-width: 760px;color:#073151
}

.smart-intro,
.smart-bottom {
  font-size: 16px;
  line-height: 1.8;
  opacity: .9;
}

.smart-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin: 35px 0;
}

.smart-item {
  background: #073151;
  border-left: 4px solid #d39612;
  padding: 18px 20px;
  border-radius: 14px;
  font-weight: 600; color:#fff
}

.smart-item::before {
  content: "✓ ";
  color: #d39612;
  font-weight: 900;
}

@media (max-width: 768px) {
  .smart-card {
    padding: 35px 22px;
  }

  .smart-card h2 {
    font-size: 30px;
  }

  .smart-list {
    grid-template-columns: 1fr;
  }
}

.faq-section {
  padding: 90px 0;
  background: #f7fafc;
}

/* TITLE */
.faq-title {
  max-width: 750px;
  margin: auto;
  margin-bottom: 50px;
}

.faq-title span {
  display: inline-block;
  background: #d39612;
  color: #073151;
  padding: 8px 18px;
  border-radius: 30px;
  font-size: 14px;
  font-weight: 800;
  margin-bottom: 18px;
}

.faq-title h2 {
  font-size: 42px;
  font-weight: 900;
  color: #073151;
  margin-bottom: 15px;
}

.faq-title p {
  color: #555;
  line-height: 1.8;
}

/* FAQ */
.faq-wrapper {
  max-width: 950px;
  margin: auto;
}

/* ITEM */
.faq-item {
  background: #fff;
  border-radius: 16px;
  margin-bottom: 18px;
  overflow: hidden;
  box-shadow: 0 10px 25px rgba(0,0,0,.05);
  transition: .3s;
}

.faq-item:hover {
  transform: translateY(-3px);
}

/* QUESTION */
.faq-question {
  width: 100%;
  background: transparent;
  border: none;
  padding: 24px 28px;
  text-align: left;
  font-size: 18px;
  font-weight: 700;
  color: #073151;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}

.faq-question span {
  font-size: 28px;
  color: #d39612;
  transition: .3s;
}

/* ANSWER */
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: .4s ease;
}

.faq-answer p {
  padding: 0 28px 24px;
  color: #555;
  line-height: 1.8;
}

/* ACTIVE */
.faq-item.active .faq-answer {
  max-height: 300px;
}

.faq-item.active .faq-question span {
  transform: rotate(45deg);
}

/* MOBILE */
@media (max-width: 768px) {

  .faq-title h2 {
    font-size: 30px;
  }

  .faq-question {
    font-size: 16px;
    padding: 20px;
  }

  .faq-answer p {
    padding: 0 20px 20px;
  }

}

.emergency-24-section {
  padding: 80px 0;
  background: #f7fafc;
}

.emergency-24-box {
  background: linear-gradient(135deg, #073151, #073151);
  color: #fff;
  border-radius: 28px;
  padding: 45px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 30px;
  position: relative;
  overflow: hidden;
}

.emergency-24-box::before {
  content: "";
  position: absolute;
  inset: 12px;
  border: 2px dashed rgba(255,255,255,.35);
  border-radius: 22px;
}

.emergency-icon {
  width: 85px;
  height: 85px;
  border: 2px solid #fff;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 34px;
  position: relative;
  z-index: 2;
  animation: spinIcon 6s linear infinite;
}

.emergency-24-content,
.emergency-24-btn {
  position: relative;
  z-index: 2;
}

.emergency-24-content span {
  color: #d39612;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 13px;
}

.emergency-24-content h2 {
  font-size: 36px;
  font-weight: 900;
  margin: 8px 0 12px; color:#fff
}

.emergency-24-content p {
  margin: 0;
  line-height: 1.7;
  opacity: .9;
}

.emergency-24-btn {
  background: #d39612;
  color: #073151;
  padding: 15px 28px;
  border-radius: 40px;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
  transition: .3s;
}

.emergency-24-btn:hover {
  background: #fff;
  transform: translateY(-3px);
}

@keyframes spinIcon {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@media (max-width: 991px) {
  .emergency-24-box {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .emergency-icon {
    margin: auto;
  }

  .emergency-24-content h2 {
    font-size: 28px;
  }
}


.before-after-section {
  padding: 90px 0;
  background: #f7fafc;
}

/* TITLE */
.ba-title {
  max-width: 780px;
  margin: auto;
  margin-bottom: 55px;
}

.ba-title span {
  display: inline-block;
  background: #d39612;
  color: #073151;
  padding: 8px 18px;
  border-radius: 30px;
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 15px;
}

.ba-title h2 {
  font-size: 42px;
  font-weight: 900;
  color: #073151;
  margin-bottom: 15px;
}

.ba-title p {
  color: #555;
  line-height: 1.8;
}

/* GRID */
.ba-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 35px;
}

/* CARD */
.ba-card {
  background: #fff;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 15px 35px rgba(0,0,0,.06);
  transition: .3s;
}

.ba-card:hover {
  transform: translateY(-8px);
}

/* IMAGE */
.ba-image {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.before-img,
.after-img {
  position: relative;
  overflow: hidden;
}

.before-img img,
.after-img img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  transition: .4s;
}

.ba-card:hover img {
  transform: scale(1.05);
}

/* LABEL */
.before-img span,
.after-img span {
  position: absolute;
  top: 15px;
  left: 15px;
  background: rgba(7,27,30,.85);
  color: #fff;
  padding: 7px 15px;
  border-radius: 30px;
  font-size: 12px;
  font-weight: 800;
}

.after-img span {
  background: #d39612;
  color: #073151;
}

/* CONTENT */
.ba-content {
  padding: 28px;
}

.ba-content h3 {
  font-size: 24px;
  font-weight: 800;
  margin-bottom: 12px;
  color: #073151;
}

.ba-content p {
  color: #555;
  line-height: 1.8;
}

/* MOBILE */
@media (max-width: 991px) {

  .ba-grid {
    grid-template-columns: 1fr;
  }

}

@media (max-width: 576px) {

  .ba-title h2 {
    font-size: 30px;
  }

  .ba-image {
    grid-template-columns: 1fr;
  }

  .before-img img,
  .after-img img {
    height: 230px;
  }

}

.modern-contact-section {
  padding: 100px 0;
  background:
    linear-gradient(to bottom, #f7fafc 50%, #073151 50%);
}

/* WRAPPER */
.modern-contact-wrapper {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 40px;
  align-items: center;
}

/* LEFT */
.modern-contact-content {
  padding-right: 20px;
}

.contact-tag {
  display: inline-block;
  background: #d39612;
  color: #073151;
  padding: 9px 18px;
  border-radius: 30px;
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 20px;
}

.modern-contact-content h2 {
  font-size: 48px;
  font-weight: 900;
  line-height: 1.2;
  color: #073151;
  margin-bottom: 20px;
}

.modern-contact-content p {
  color: #fff;
  line-height: 1.8;
  margin-bottom: 35px;
}

/* INFO */
.modern-contact-info {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 35px;
}

.info-box {
  background: #fff;
  padding: 18px 22px;
  border-radius: 18px;
  display: flex;
  gap: 15px;
  align-items: center;
  box-shadow: 0 10px 25px rgba(0,0,0,.06);
}

.info-icon {
  width: 55px;
  height: 55px;
  background: #073151;
  color: #fff;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 22px;
}

.info-box small {
  display: block;
  color: #777;
  margin-bottom: 3px;
}

.info-box a,
.info-box p {
  margin: 0;
  font-weight: 800;
  color: #073151;
  text-decoration: none;
}

/* BUTTONS */
.contact-buttons {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}

.call-btn,
.quote-btn {
  padding: 15px 28px;
  border-radius: 40px;
  font-weight: 800;
  text-decoration: none;
  transition: .3s;
}

.call-btn {
  background: #fff;
  color: #073151;
}

.quote-btn {
  background: #fff;
  color: #073151;
}

.call-btn:hover,
.quote-btn:hover {
  transform: translateY(-3px);
}

/* MAP */
.modern-map-box {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  min-height: 600px;
  box-shadow: 0 20px 45px rgba(0,0,0,.15);
}

.modern-map-box iframe {
  width: 100%;
  height: 100%;
  min-height: 600px;
  border: 0;
}

/* FLOATING CARD */
.floating-contact-card {
  position: absolute;
  left: 30px;
  bottom: 30px;
  background: rgba(3, 52, 99, 0.92);
  backdrop-filter: blur(8px);
  color: #fff;
  padding: 28px;
  border-radius: 22px;
  max-width: 320px;
}

.floating-contact-card h3 {
  font-size: 24px;
  margin-bottom: 12px;color:#fff
}

.floating-contact-card p {
  color: rgba(255,255,255,.8);
  line-height: 1.7;
  margin-bottom: 18px;
}

.floating-contact-card a {
  color: #d39612;
  text-decoration: none;
  font-weight: 900;
}

/* MOBILE */
@media (max-width: 991px) {

  .modern-contact-wrapper {
    grid-template-columns: 1fr;
  }

  .modern-contact-content {
    padding-right: 0;
  }

  .modern-contact-content h2 {
    font-size: 34px;
  }

  .modern-map-box,
  .modern-map-box iframe {
    min-height: 450px;
  }

}

@media (max-width: 576px) {

  .modern-contact-content h2 {
    font-size: 28px;
  }

  .floating-contact-card {
    left: 15px;
    right: 15px;
    bottom: 15px;
    max-width: unset;
  }

}



.standalone-form-section {
  padding: 100px 0;
  background: #073151;
  position: relative;
  overflow: hidden;
}

/* background effect */
.standalone-form-section::before {
  content: "";
  position: absolute;
  width: 500px;
  height: 500px;
  background: rgba(211,150,18,.08);
  border-radius: 50%;
  top: -250px;
  right: -150px;
}

.standalone-form-section::after {
  content: "";
  position: absolute;
  width: 400px;
  height: 400px;
  border: 40px solid rgba(255,255,255,.03);
  border-radius: 50%;
  bottom: -200px;
  left: -120px;
}

/* FORM BOX */
.standalone-form-box {
  max-width: 1100px;
  margin: auto;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(8px);
  border-radius: 30px;
  padding: 60px;
  position: relative;
  z-index: 2;
}

/* TOP */
.form-top {
  max-width: 720px;
  margin: auto;
  margin-bottom: 45px;
}

.form-top span {
  display: inline-block;
  background: #d39612;
  color: #073151;
  padding: 9px 18px;
  border-radius: 30px;
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 18px;
}

.form-top h2 {
  font-size: 46px;
  font-weight: 900;
  color: #fff;
  margin-bottom: 18px;
}

.form-top p {
  color: rgba(255,255,255,.7);
  line-height: 1.8;
}

/* GRID */
   /* RESET */
*, *::before, *::after {
    box-sizing: border-box;
}

/* FORM WRAPPER */
form.CUS {
    max-width: 900px;
    width: 100%;
    margin: 20px auto;
    padding: 20px;
    background: #f9fafb;
    border: 1px solid #ddd;
    border-radius: 10px;
    font-family: system-ui, sans-serif;
}

/* FLEX FIELDSET */
form.CUS fieldset {
    display: flex;
    flex-wrap: wrap;
    border: none;
    padding: 0;
    margin: 0;
}

/* BASE BLOCK STYLE */
form.CUS fieldset > p {
    width: 100%;
    padding: 10px;
    margin: 0;
    font-size: 0.95rem;
    color: #444;
}

/* Universal input/select styling */
form.CUS input,
form.CUS select,
form.CUS textarea {
    width: 100%;
    padding: 10px;
    margin-top: 6px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 1rem;
}

/* ===============================
   ROW 1: Name, Phone, Address
=============================== */
form.CUS fieldset > p:nth-of-type(1),
form.CUS fieldset > p:nth-of-type(2),
form.CUS fieldset > p:nth-of-type(3) {
    width: 33.333%;
}

/* ===============================
   ROW 2: City, State, Zip Code
=============================== */
form.CUS fieldset > p:nth-of-type(4),
form.CUS fieldset > p:nth-of-type(5),
form.CUS fieldset > p:nth-of-type(6) {
    width: 33.333%;
}

/* ===============================
   SERVICE NEEDED TEXTAREA
=============================== */
form.CUS fieldset > p:nth-of-type(7) {
    width: 100%;
}

/* ===============================
   SERVICE DATE (Month, Day, Year)
   â†’ ALL 3 IN ONE ROW
=============================== */

/* Make the 8th <p> (Service Date block) a flex row */
form.CUS fieldset > p:nth-of-type(8) {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    align-items: flex-start;
}

/* Month, Day, Year = 3 equal flex columns */
form.CUS fieldset > p:nth-of-type(8) select#service_date,
form.CUS fieldset > p:nth-of-type(8) select#service_day,
form.CUS fieldset > p:nth-of-type(8) input#service_year {
    flex: 1 1 0;
    width: auto;          /* flex handles width */
    margin-top: 6px;
}

/* ===============================
   SERVICE TIME (Full width)
=============================== */
form.CUS fieldset > p:nth-of-type(9) {
    width: 100%;
}

/* ===============================
   SUBMIT BUTTON (Full width)
=============================== */
form.CUS fieldset > p:nth-of-type(10) {
    width: 100%;
}

form.CUS input[type="submit"] {
    width: 100%;
    background: #d39612;
    color: #fff;
    border: none;
    padding: 12px;
    border-radius: 6px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
}

form.CUS input[type="submit"]:hover {
    background: #d39612;
}

/* Hide honeypot */
form.CUS input.subject {
    display: none;
}

/* ===============================
   MOBILE RESPONSIVE (stack fields)
=============================== */
@media (max-width: 600px) {

    form.CUS fieldset > p {
        width: 100%;
        padding: 6px 0;
    }

    /* Month, Day, Year full width stacked on mobile */
    form.CUS fieldset > p:nth-of-type(8) {
        flex-direction: column;
        gap: 6px;
    }

    form.CUS fieldset > p:nth-of-type(8) select#service_date,
    form.CUS fieldset > p:nth-of-type(8) select#service_day,
    form.CUS fieldset > p:nth-of-type(8) input#service_year {
        flex: none;
        width: 100% !important;
    }
/* ===============================
   ROW 1: Name, Phone, Address
=============================== */
form.CUS fieldset > p:nth-of-type(1),
form.CUS fieldset > p:nth-of-type(2),
form.CUS fieldset > p:nth-of-type(3) {
    width: 100%;
}

/* ===============================
   ROW 2: City, State, Zip Code
=============================== */
form.CUS fieldset > p:nth-of-type(4),
form.CUS fieldset > p:nth-of-type(5),
form.CUS fieldset > p:nth-of-type(6) {
    width: 100%;
}
}


.garage-content-section {
  padding: 100px 0;
  background: #f7fafc;
}

.garage-content-box {
  background: #fff;
  border-radius: 28px;
  padding: 55px;
  margin-bottom: 35px;
  box-shadow: 0 15px 40px rgba(0,0,0,.06);
  position: relative;
  overflow: hidden;
}

/* background effect */
.garage-content-box::before {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: rgba(211,150,18,.08);
  top: -120px;
  right: -120px;
}

/* TAG */
.content-tag {
  display: inline-block;
  background: #d39612;
  color: #073151;
  padding: 9px 18px;
  border-radius: 30px;
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 20px;
}

/* TITLE */
.garage-content-box h2 {
  font-size: 42px;
  font-weight: 900;
  color: #073151;
  line-height: 1.2;
  margin-bottom: 25px;
}

/* TEXT */
.garage-content-box p {
  color: #555;
  line-height: 1.9;
  margin-bottom: 18px;
  font-size: 16px;
}

/* MOBILE */
@media (max-width: 991px) {

  .garage-content-box {
    padding: 35px 25px;
  }

  .garage-content-box h2 {
    font-size: 32px;
  }

}

@media (max-width: 576px) {

  .garage-content-box h2 {
    font-size: 28px;
  }

}


.masonry-reviews-section {
  padding: 100px 0;
  background-color:#073151;
   
  overflow: hidden;
}

/* TITLE */
.masonry-head {
  max-width: 760px;
  margin: auto;
  margin-bottom: 55px;
}

.masonry-head span {
  display: inline-block;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  color: #d39612;
  padding: 9px 18px;
  border-radius: 30px;
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 18px;
}

.masonry-head h2 {
  color: #fff;
  font-size: 44px;
  font-weight: 900;
  margin-bottom: 15px;
  line-height: 1.2;
}

.masonry-head p {
  color: rgba(255,255,255,.7);
  line-height: 1.8;
}

/* GRID */
.masonry-grid {
  columns: 3 320px;
  column-gap: 25px;
}

/* CARD */
.masonry-card {
  break-inside: avoid;
  margin-bottom: 25px;

  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(12px);

  border-radius: 28px;
  padding: 35px;
  color: #fff;

  position: relative;
  overflow: hidden;

  transition: .3s;
}

/* glow effect */
.masonry-card::before {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  background: rgba(211,150,18,.08);
  border-radius: 50%;
  top: -80px;
  right: -80px;
}

.masonry-card:hover {
  transform: translateY(-8px);
  border-color: rgba(211,150,18,.45);
}

/* different heights */
.large-card {
  padding-bottom: 55px;
}

.medium-card {
  padding-bottom: 45px;
}

/* stars */
.stars {
  color: #d39612;
  font-size: 20px;
  margin-bottom: 18px;
  letter-spacing: 2px;
}

/* text */
.masonry-card p {
  color: rgba(255,255,255,.84);
  line-height: 1.9;
  margin-bottom: 18px;
}

/* USER */
.review-user {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-top: 25px;
}

.avatar {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #d39612;
  color: #073151;
  display: grid;
  place-items: center;
  font-weight: 900;
  font-size: 20px;
}

.review-user h4 {
  margin: 0 0 4px;
  font-size: 18px;color:#fff
}

.review-user span {
  color: rgba(255,255,255,.6);
  font-size: 14px;
}

/* MOBILE */
@media (max-width: 768px) {

  .masonry-head h2 {
    font-size: 32px;
  }

  .masonry-card {
    padding: 28px 22px;
  }

}

@media (max-width: 576px) {

  .masonry-head h2 {
    font-size: 28px;
  }

}

/* section لازم يبقى relative */
.masonry-reviews-section {
  position: relative;
}

/* FLOATING CIRCLE */
.floating-emergency-circle {
  position: absolute;
  left: 200px;
  bottom: 200px;

  width: 280px;
  height: 280px;

  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.18);

  background: rgba(255,255,255,.05);
  backdrop-filter: blur(8px);

  display: flex;
  align-items: center;
  justify-content: center;

  z-index: 3;
}

/* SVG ROTATION */
.circle-text-svg {
  position: absolute;
  width: 100%;
  height: 100%;

  animation: rotateEmergency 10s linear infinite;
}

/* CENTER ICON */
.circle-center-phone {
  width: 70px;
  height: 70px;

  border-radius: 50%;
  background: #d39612;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 28px;
  color: #073151;

  box-shadow: 0 10px 25px rgba(0,0,0,.2);
}

/* animation */
@keyframes rotateEmergency {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* MOBILE */
@media (max-width: 991px) {
  .floating-emergency-circle {
    display: none;
  }
}


.garage-gallery-section {
  padding: 100px 0;
  background: #f7fafc;
}

.gallery-head {
  max-width: 760px;
  margin: 0 auto 55px;
}

.gallery-head span {
  display: inline-block;
  background: #d39612;
  color: #073151;
  padding: 9px 18px;
  border-radius: 30px;
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 18px;
}

.gallery-head h2 {
  font-size: 44px;
  font-weight: 900;
  color: #073151;
  margin-bottom: 15px;
}

.gallery-head p {
  color: #555;
  line-height: 1.8;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 230px;
  gap: 20px;
}

.gallery-item {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 15px 35px rgba(0,0,0,.08);
}

.gallery-large {
  grid-column: span 2;
  grid-row: span 2;
}

.gallery-wide {
  grid-column: span 2;
}

.gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: .5s;
}

.gallery-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(7,27,30,.8), transparent);
  display: flex;
  align-items: flex-end;
  padding: 25px;
  opacity: 0;
  transition: .4s;
}

.gallery-overlay h3 {
  color: #fff;
  font-size: 24px;
  font-weight: 900;
  transform: translateY(15px);
  transition: .4s;
}

.gallery-item:hover img {
  transform: scale(1.08);
}

.gallery-item:hover .gallery-overlay {
  opacity: 1;
}

.gallery-item:hover .gallery-overlay h3 {
  transform: translateY(0);
}

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

  .gallery-large,
  .gallery-wide {
    grid-column: span 2;
  }

  .gallery-head h2 {
    font-size: 34px;
  }
}

@media (max-width: 576px) {
  .gallery-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 240px;
  }

  .gallery-large,
  .gallery-wide {
    grid-column: span 1;
    grid-row: span 1;
  }

  .gallery-head h2 {
    font-size: 28px;
  }
}
/* FLOATING QUOTE */
.floating-quote{
  position:absolute;

  right:30px;
  bottom:-120px;

  font-size:320px;
  font-weight:900;
  line-height:1;

  color:rgba(7,27,30,.05);

  font-family:serif;

  z-index:1;
  pointer-events:none;
}

/*marquee*/
.marquee {width:100%;margin: 0 auto;overflow: hidden;white-space: nowrap;box-sizing: border-box;animation: marquee 50s linear infinite;color:#fff;transition: 3s}
.marquee img {filter: grayscale(100%);transition: 1s}
.marquee:hover {animation-play-state: paused;}
.marquee:hover img {filter: grayscale(0%);}
/* Make it move */
@keyframes marquee {0%   { text-indent: 27.5em }100% { text-indent: -105em }}

.custom-door-section{
  position: relative;
  overflow: hidden;

  padding: 100px 0;

  background: #073151;
}

/* content فوق الخطوط */
.custom-door-section .container{
  position: relative;
  z-index: 2;
}

/* CONTENT */
.custom-door-content{
  max-width: 950px;
}

.door-tag{
  display: inline-block;

  background: #d39612;
  color: #073151;

  padding: 9px 18px;

  border-radius: 30px;

  font-size: 13px;
  font-weight: 800;

  margin-bottom: 20px;
}

.custom-door-content h2{
  font-size: 46px;
  font-weight: 900;

  color: #fff;

  line-height: 1.2;

  margin-bottom: 25px;
}

.custom-door-content p{
  color: rgba(255,255,255,.78);

  line-height: 1.9;

  margin-bottom: 18px;

  font-size: 16px;
}

/* BUTTON */
.door-btn{
  display: inline-block;

  margin-top: 20px;

  background: #d39612;
  color: #073151;

  padding: 16px 34px;

  border-radius: 40px;

  text-decoration: none;

  font-weight: 900;

  transition: .3s;
}

.door-btn:hover{
  background: #fff;

  transform: translateY(-4px);
}

/* 🔥 DIAGONAL GLOW LINES */
.custom-door-section::after{
  content: "";

  position: absolute;

  right: -120px;
  bottom: -120px;

  width: 420px;
  height: 420px;

  border-radius: 50px;

  background:
    repeating-linear-gradient(
      -45deg,
      rgba(211,150,18,.08),
      rgba(211,150,18,.08) 2px,
      transparent 2px,
      transparent 18px
    );

  transform: rotate(-10deg);

  filter: blur(1px);

  z-index: 1;

  pointer-events: none;

  animation: moveLines 10s linear infinite;
}

/* animation */
@keyframes moveLines{

  from{
    transform: rotate(-10deg) translateY(0);
  }

  to{
    transform: rotate(-10deg) translateY(-25px);
  }

}

/* MOBILE */
@media (max-width: 991px){

  .custom-door-content h2{
    font-size: 34px;
  }

}

@media (max-width: 576px){

  .custom-door-content h2{
    font-size: 28px;
  }

  .custom-door-section::after{
    width: 260px;
    height: 260px;
  }

}
.simple-location-section{
  padding:80px 0;
  background:#f7fafc;
}

/* HEAD */
.simple-location-head{
  max-width:700px;
  margin:auto;
  margin-bottom:40px;
}

.simple-location-head span{
  display:inline-block;

  background:#d39612;
  color:#071b1e;

  padding:8px 18px;

  border-radius:30px;

  font-size:13px;
  font-weight:800;

  margin-bottom:15px;
}

.simple-location-head h2{
  font-size:40px;
  font-weight:900;

  color:#071b1e;

  margin-bottom:15px;
}

.simple-location-head p{
  color:#555;
  line-height:1.8;
}

/* LIST */
.location-list{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:18px;
}

.location-list a{
  text-decoration:none;

  background:#fff;
  color:#071b1e;

  padding:14px 24px;

  border-radius:40px;

  font-weight:700;

  box-shadow:0 10px 25px rgba(0,0,0,.05);

  transition:.3s;
}

.location-list a:hover{
  background:#071b1e;
  color:#fff;

  transform:translateY(-4px);
}

/* MOBILE */
@media (max-width:576px){

  .simple-location-head h2{
    font-size:28px;
  }

}


.footer-section{
  padding:80px 0 30px;
  background:#073151;
  color:#fff;
}

/* WRAPPER */
.footer-wrapper{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:40px;
 padding-bottom:40px;
border-bottom:1px solid rgba(255,255,255,.08);
}

/* LOGO */
.footer-logo{
  font-size:34px;
  font-weight:900;

  margin-bottom:20px; color:#fff
}

/* TEXT */
.footer-box p{
  color:rgba(255,255,255,.72);
  line-height:1.9;
}

/* TITLES */
.footer-box h3{
  font-size:24px;
  margin-bottom:22px;color:#fff
}

/* LIST */
.footer-box ul{
  list-style:none;
  padding:0;
  margin:0;
}

.footer-box ul li{
  margin-bottom:18px;

  color:rgba(255,255,255,.75);

  line-height:1.8;
}

/* LINKS */
.footer-box a{
  color:#fff;
  text-decoration:none;
}

/* HOURS */
.hours-list li{
  display:flex;
  justify-content:space-between;

  background:rgba(255,255,255,.05);

  padding:14px 18px;

  border-radius:14px;
}

/* BOTTOM */
.footer-bottom{
  padding-top:25px;
  text-align:center;
}

.footer-bottom p{
  color:rgba(255,255,255,.55);
}

/* MOBILE */
@media (max-width:991px){

  .footer-wrapper{
    grid-template-columns:1fr;
  }

}

@media (max-width:576px){

  .footer-logo{
    font-size:28px;
  }

}


.services-links-section{
  padding:90px 0;
  background:#f7fafc;
}

/* HEAD */
.services-links-head{
  margin-bottom:45px;
}

.services-links-head span{
  display:inline-block;

  background:#d39612;
  color:#071b1e;

  padding:8px 18px;

  border-radius:30px;

  font-size:13px;
  font-weight:800;

  margin-bottom:15px;
}

.services-links-head h2{
  font-size:42px;
  font-weight:900;

  color:#073151;
}

/* GRID */
.services-links-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:20px;
}

/* CARD */
.service-link-card{
  background:#fff;

  border-radius:24px;

  padding:35px 20px;

  text-align:center;

  text-decoration:none;

  box-shadow:0 15px 35px rgba(0,0,0,.05);

  transition:.3s;

  position:relative;
  overflow:hidden;
}

/* glow */
.service-link-card::before{
  content:"";

  position:absolute;

  width:140px;
  height:140px;

  border-radius:50%;

  background:rgba(211,150,18,.08);

  top:-70px;
  right:-70px;

  transition:.3s;
}

.service-link-card:hover{
  transform:translateY(-8px);

  background:#073151;
}

.service-link-card:hover::before{
  transform:scale(1.3);
}

/* ICON */
.service-icon{
  font-size:42px;

  margin-bottom:18px;

  position:relative;
  z-index:2;
}

/* TITLE */
.service-link-card h3{
  color:#073151;

  font-size:20px;
  font-weight:800;

  line-height:1.4;

  position:relative;
  z-index:2;

  transition:.3s;
}

.service-link-card:hover h3{
  color:#fff;
}

/* MOBILE */
@media (max-width:991px){

  .services-links-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .services-links-head h2{
    font-size:34px;
  }

}

@media (max-width:576px){

  .services-links-grid{
    grid-template-columns:1fr;
  }

  .services-links-head h2{
    font-size:28px;
  }

}


/*Blog*/
.blogbox{text-align:justify;padding:20px;background-color:#FFF;box-sizing:border-box;clear:both;overflow:hidden;margin-bottom:15px;box-shadow:3px 3px 7px rgba(0,0,0,0.2)}
.blogbox .blogimg img {float: right; width: 35%; height: auto; margin: 15px;box-shadow: 0 0 3px rgba(0,0,0,0.8)}
.blogbox .read-more a{background-color:#ccc;color:#2D2D2D;padding:10px;border-radius:5px;border:1px solid #2D2D2D}
.blogbox .read-more a:hover {background-color:#2D2D2D;color:#FFF;letter-spacing: 2px;padding:10px 15px}
.blogpost {text-align: justify;padding:20px;background-color: #FFF;box-sizing: border-box}
.blogpost h1, .blogbox h1 {margin:0;font-size:28px;color:#222;}
.blogpost h2, .blogbox h2 {margin:0;font-size:24px;color:#222;}
.blogpost .blog_wrapper img {float: right; max-width: 35%; height: auto; margin: 15px;box-shadow: 0 0 3px rgba(0,0,0,0.8)}
.socialbox{overflow:hidden;position:relative;text-align:center;width:100%;}
.social-share-btns{display:inline-block;overflow:hidden}
.social-share-btns .share-btn{float:left;margin:0 5px;padding:8px 16px;border-radius:3px;color:#fff;font-size:14px;line-height:18px;vertical-align:middle;transition:background .2s ease-in-out;display:flex;align-items:center;}
.social-share-btns .share-btn svg {fill:currentColor;height:1rem;width:1rem;margin-right:10px;}
.share-btn{background-color:#95a5a6}
.share-btn:hover{background-color:#798d8f}
.share-btn-twitter{background-color:#00aced}
.share-btn-twitter:hover{background-color:#0087ba}
.share-btn-facebook{background-color:#3b5998}
.share-btn-facebook:hover{background-color:#2d4373}
.share-btn-linkedin{background-color:#007bb6}
.share-btn-linkedin:hover{background-color:#005983}
@media only screen and (max-width:700px){
.blogbox .blogimg img{max-width:90%;width:auto}
}