:root{
  --primary:#1e496f;
  --accent:#00bcd4;
  --white:#ffffff;
}

/* HERO SECTION */
.cm-hero{
  position:relative;
  padding:110px 0 100px;
  color:var(--white);
  overflow:hidden;
}

/* Animated Background */
.cm-hero-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(30,73,111,0.88), rgba(30,73,111,0.88)),
    url("../assets/images/hero.png") center/cover no-repeat;
  animation:zoomBg 18s ease-in-out infinite alternate;
  z-index:1;
}

@keyframes zoomBg{
  0%{ transform:scale(1); }
  100%{ transform:scale(1.08); }
}

/* Layout */
.cm-container{
  width:90%;
  max-width:1300px;
  margin:auto;
  position:relative;
  z-index:2;
}

.cm-hero-flex{
  display:flex;
  gap:70px;
  align-items:flex-start;
}

/* LEFT CONTENT */
.cm-hero-content{
  width:55%;
}

.cm-hidden{
  display:none;
}

.cm-main-heading{
  font-family:'Poppins', sans-serif;
  font-size:48px;
  font-weight:600;
  line-height:1.2;
  margin-bottom:35px;
  letter-spacing:-0.5px;
}

.cm-main-heading span{
  color:var(--accent);
  font-weight:700;
}

.cm-hero-content p{
  font-family:'Inter', sans-serif;
  font-size:18px;
  line-height:1.9;
  margin-bottom:22px;
  color:#e6f0f7;cm-hero-form
}

/* Button */
.cm-btn{
  display:inline-block;
  margin-top:25px;
  padding:14px 32px;
  border:2px solid var(--accent);
  border-radius:40px;
  text-decoration:none;
  color:#fff;
  font-family:'Poppins', sans-serif;
  font-weight:600;
  letter-spacing:0.5px;
  transition:0.3s ease;
}

.cm-btn:hover{
  background:var(--accent);
  color:#000;
}

/* FORM */
.cm-hero-form{
  width:38%;
  background:#ffffff;
  padding:40px;
  border-radius:10px;
  box-shadow:0 30px 70px rgba(0,0,0,0.35);
  color:#333;
}

.cm-hero-form h3{
  text-align:center;
  margin-bottom:28px;
  font-family:'Poppins', sans-serif;
  font-weight:600;
  font-size:22px;
  color:var(--primary);
}

.cm-hero-form input,
.cm-hero-form textarea{
  width:100%;
  padding:13px;
  margin-bottom:16px;
  border:1px solid #ddd;
  border-radius:6px;
  font-family:'Inter', sans-serif;
  font-size:14px;
}

.cm-form-row{
  display:flex;
  gap:12px;
}

.cm-form-row input{
  width:100%;
}

.cm-hero-form textarea{
  height:95px;
  resize:none;
}

.cm-hero-form button{
  width:100%;
  padding:14px;
  background:var(--primary);
  border:none;
  color:#fff;
  font-family:'Poppins', sans-serif;
  font-weight:600;
  cursor:pointer;
  transition:0.3s;
  border-radius:6px;
}

.cm-hero-form button:hover{
  background:var(--accent);
}

/* CONTENT LOAD ANIMATION */
.cm-animate-left{
  opacity:0;
  transform:translateX(-40px);
  animation:fadeLeft 1s ease forwards;
}

.cm-animate-right{
  opacity:0;
  transform:translateX(40px);
  animation:fadeRight 1s ease forwards;
  animation-delay:0.4s;
}

@keyframes fadeLeft{
  to{
    opacity:1;
    transform:translateX(0);
  }
}

@keyframes fadeRight{
  to{
    opacity:1;
    transform:translateX(0);
  }
}

/* Responsive */
@media(max-width:992px){
  .cm-hero-flex{
    flex-direction:column;
  }
  .cm-hero-content,
  .cm-hero-form{
    width:100%;
  }
}

:root{
  --primary:#1e496f;
  --accent:#00bcd4;
}

/* SECTION BASE */
.cm-problems{
  padding:140px 0;
  background:linear-gradient(180deg,#f6fbff,#ffffff);
  position:relative;
  overflow:hidden;
  font-family:'Poppins', sans-serif;
}

/* Dotted Background */
.cm-dots{
  position:absolute;
  left:40px;
  bottom:80px;
  width:120px;
  height:160px;
  background-image:radial-gradient(var(--accent) 2px, transparent 2px);
  background-size:20px 20px;
  opacity:0.25;
}

/* Layout */
.cm-container{
  width:90%;
  max-width:1300px;
  margin:auto;
  position:relative;
  z-index:2;
}

.cm-problems-flex{
  display:flex;
  gap:90px;
  align-items:flex-start;
}

/* LEFT IMAGES */
.cm-problems-images{
  width:45%;
  position:relative;
}

.cm-main-img{
  border-radius:40px;
  overflow:hidden;
  box-shadow:0 30px 80px rgba(30,73,111,0.15);
}

.cm-main-img img{
  width:100%;
  display:block;
}

.cm-badge{
  position:absolute;
  top:25px;
  right:25px;
  background:var(--accent);
  color:#fff;
  padding:14px 22px;
  border-radius:40px;
  font-weight:600;
  font-size:14px;
  box-shadow:0 10px 25px rgba(0,0,0,0.15);
}

/* Floating Small Image */
.cm-small-img{
  position:absolute;
  bottom:-50px;
  right:-50px;
  width:65%;
  border-radius:140px;
  overflow:hidden;
  border:10px solid #fff;
  box-shadow:0 35px 80px rgba(0,0,0,0.25);
  animation:floatImg 4s ease-in-out infinite;
}

@keyframes floatImg{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-15px); }
}

.cm-small-img img{
  width:100%;
  display:block;
}

/* RIGHT CONTENT */
.cm-problems-content{
  width:55%;
}

.cm-problems-content h2{
  font-size:42px;
  font-weight:600;
  color:var(--primary);
  line-height:1.3;
  margin-bottom:30px;
}

.cm-problems-content p{
  font-size:17px;
  line-height:1.9;
  color:#5f6f7f;
  margin-bottom:22px;
}

/* Luxury Glass Box */
.cm-problem-box{
  background:rgba(255,255,255,0.8);
  backdrop-filter:blur(10px);
  padding:40px;
  border-radius:35px;
  box-shadow:0 30px 80px rgba(30,73,111,0.08);
  margin:40px 0;
  transition:0.4s ease;
}

.cm-problem-box:hover{
  transform:translateY(-5px);
  box-shadow:0 40px 100px rgba(30,73,111,0.15);
}

.cm-problem-item{
  display:flex;
  gap:20px;
  align-items:flex-start;
  margin-bottom:20px;
  font-size:16px;
  color:#2c3e50;
}

.cm-icon{
  min-width:55px;
  height:55px;
  background:linear-gradient(135deg,var(--accent),#1e496f);
  border-radius:50%;
  position:relative;
  box-shadow:0 10px 25px rgba(0,188,212,0.3);
}

.cm-icon::after{
  content:"";
  position:absolute;
  width:14px;
  height:14px;
  background:#fff;
  border-radius:50%;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
}

/* Responsive */
@media(max-width:992px){
  .cm-problems-flex{
    flex-direction:column;
  }
  .cm-problems-images,
  .cm-problems-content{
    width:100%;
  }
  .cm-small-img{
    position:relative;
    bottom:0;
    right:0;
    margin-top:30px;
  }
}

/* CTA Under Images */
.cm-image-cta{
  margin-top:100px; /* space below floating image */
  text-align:left;
}

.cm-cta-btn{
  display:inline-block;
  padding:16px 36px;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  color:#fff;
  text-decoration:none;
  font-weight:600;
  border-radius:50px;
  letter-spacing:0.5px;
  box-shadow:0 20px 40px rgba(30,73,111,0.25);
  transition:all 0.35s ease;
}

.cm-cta-btn:hover{
  transform:translateY(-4px);
  box-shadow:0 30px 60px rgba(30,73,111,0.35);
}


:root{
  --primary:#1e496f;
  --accent:#00bcd4;
}

.cm-process{
  padding:130px 0;
  background:#f4f8fb;
  font-family:'Poppins', sans-serif;
}

.cm-container{
  width:90%;
  max-width:1300px;
  margin:auto;
}

.cm-process-heading{
  text-align:center;
  font-size:42px;
  font-weight:600;
  color:var(--primary);
  margin-bottom:70px;
}

.cm-process-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:35px;
}

.cm-process-card{
  position:relative;
  background:var(--primary);
  padding:45px 35px 50px;
  border-radius:30px;
  color:#fff;
  overflow:hidden;
  transition:0.4s ease;
  box-shadow:0 25px 60px rgba(30,73,111,0.15);
}

.cm-process-card:hover{
  transform:translateY(-8px);
  box-shadow:0 35px 80px rgba(30,73,111,0.25);
}

/* ICON STYLE */
.cm-icon-wrap{
  margin-bottom:25px;
}

.cm-icon-circle{
  width:85px;
  height:85px;
  background:var(--accent);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  color:#fff;
  position:relative;
}

.cm-icon-circle::before{
  content:"";
  position:absolute;
  inset:-10px;
  border:2px dashed rgba(255,255,255,0.4);
  border-radius:50%;
}

/* BIG BACK NUMBER */
.cm-process-number{
  position:absolute;
  bottom:20px;
  right:25px;
  font-size:90px;
  font-weight:700;
  color:rgba(255,255,255,0.08);
}

.cm-process-card h3{
  font-size:20px;
  font-weight:600;
  margin-bottom:20px;
  color:#fff;
}

.cm-process-card p{
  font-size:16px;
  line-height:1.8;
  color:#e6f3fa;
}

:root{
  --primary:#1e496f;
  --accent:#00bcd4;
}

.cm-services-modern{
  padding:140px 0;
  background:var(--primary);
  font-family:'Poppins', sans-serif;
  color:#fff;
}

.cm-container{
  width:90%;
  max-width:1300px;
  margin:auto;
}

/* GRID */
.cm-services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px;
  align-items:stretch;
}

/* INTRO */
.cm-services-intro{
  padding:30px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

.cm-services-tag{
  letter-spacing:4px;
  font-size:14px;
  color:var(--accent);
  margin-bottom:20px;
}

.cm-services-intro h2{
  font-size:90px;
  line-height:1.3;
  margin-bottom:25px;
}

.cm-services-intro h2 span{
  color:var(--accent);
}

.cm-services-intro p{
  font-size:16px;
  line-height:1.8;
  color:#cdeaf4;
}

/* CARDS */
.cm-service-card{
  background:#ffffff;
  color:#333;
  padding:40px 30px 30px;
  border-radius:25px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  height:100%;
  transition:0.3s ease;
}

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

.cm-card-icon{
  width:90px;
  height:90px;
  background:var(--accent);
  display:flex;
  align-items:center;
  justify-content:center;
  margin:auto;
  margin-top:-70px;
  border-radius:20px;
  transform:rotate(45deg);
}

.cm-card-icon i{
  color:#fff;
  font-size:30px;
  transform:rotate(-45deg);
}

.cm-service-card h3{
  margin-top:40px;
  font-size:22px;
  text-align:center;
  color:var(--primary);
}

.cm-service-card p{
  font-size:15px;
  line-height:1.7;
  text-align:center;
  margin:15px 0 20px;
  color:#5f6f7f;
  flex-grow:1;
}

.cm-card-btn{
  margin:auto;
  width:55px;
  height:55px;
  background:var(--accent);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:18px;
}

/*  LAST CARD FULL WIDTH */
.cm-service-card:last-child{
  grid-column:span 3;
}

/* Responsive */
@media(max-width:992px){
  .cm-services-grid{
    grid-template-columns:1fr;
  }

  .cm-service-card:last-child{
    grid-column:span 1;
  }
}

.brand-service-section{
  padding:50px 20px;
  background:linear-gradient(135deg,#f4f8fb,#e9f2f8);
  font-family:'Poppins',sans-serif;
}

.brand-container{
  max-width:1100px;
  margin:auto;
}

.brand-header{
  text-align:center;
  margin-bottom:60px;
}

.brand-header h2{
  font-size:38px;
  color:#1e496f;
  margin-bottom:20px;
  position:relative;
}

.brand-header h2::after{
  content:"";
  width:80px;
  height:4px;
  background:#00bcd4;
  display:block;
  margin:15px auto 0;
  border-radius:10px;
}

.brand-header p{
  max-width:850px;
  margin:auto;
  font-size:16px;
  line-height:1.8;
  color:#555;
}

/*  FIXED 4 COLUMN GRID */
.brand-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:25px;
  margin-bottom:60px;
  justify-items:center;
}

.brand-item{
  width:100%;
  max-width:220px;
  background:#ffffff;
  padding:25px;
  text-align:center;
  font-weight:600;
  font-size:18px;
  color:#1e496f;
  border-radius:18px;
  box-shadow:0 10px 25px rgba(0,0,0,0.06);
  transition:all 0.3s ease;
  border:2px solid transparent;
}

.brand-item:hover{
  transform:translateY(-6px);
  border-color:#00bcd4;
  box-shadow:0 15px 35px rgba(0,0,0,0.1);
  color:#00bcd4;
}

.brand-footer{
  text-align:center;
}

.brand-footer p{
  max-width:800px;
  margin:auto;
  font-size:16px;
  line-height:1.8;
  color:#444;
}

/* Responsive */
@media(max-width:992px){
  .brand-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

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


.oc-why-section{
  padding:50px 20px;
  background:#f7fafc;
  font-family:'Poppins',sans-serif;
}

.oc-why-wrapper{
  max-width:1100px;
  margin:auto;
  background:#ffffff;
  border-radius:25px;
  padding:70px;
  position:relative;
  box-shadow:0 25px 60px rgba(0,0,0,0.08);
  overflow:hidden;
}

/* Accent Side Bar */
.oc-why-wrapper::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  height:100%;
  width:8px;
  background:linear-gradient(180deg,#1e496f,#00bcd4);
}

.oc-why-content h2{
  font-size:36px;
  color:#1e496f;
  margin-bottom:30px;
  line-height:1.3;
}

.oc-why-content p{
  font-size:16px;
  line-height:1.9;
  color:#555;
  margin-bottom:20px;
}

/* Highlights */
.oc-why-highlights{
  margin-top:35px;
  display:flex;
  flex-wrap:wrap;
  gap:15px;
}

.oc-highlight{
  background:#e8f6fb;
  color:#1e496f;
  padding:12px 22px;
  border-radius:30px;
  font-size:14px;
  font-weight:600;
  border:1px solid #c6eaf5;
  transition:all 0.3s ease;
}

.oc-highlight:hover{
  background:#00bcd4;
  color:#ffffff;
  transform:translateY(-3px);
}

/* Responsive */
@media(max-width:768px){
  .oc-why-wrapper{
    padding:40px 25px;
  }

  .oc-why-content h2{
    font-size:28px;
  }
}


.oc-serve-modern{
  padding:50px 20px;
  background:#395f80;
  font-family:'Poppins',sans-serif;
  color:#ffffff;
}

.oc-serve-modern-wrapper{
  max-width:1200px;
  margin:auto;
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:90px;
  align-items:center;
}

/* LEFT SIDE */
.oc-serve-modern-left h2{
  font-size:38px;
  margin-bottom:25px;
  position:relative;
}

.oc-serve-modern-left h2::after{
  content:"";
  width:90px;
  height:4px;
  background:#00e0ff;
  display:block;
  margin-top:15px;
  border-radius:5px;
}

.oc-serve-modern-left p{
  font-size:16px;
  line-height:1.9;
  color:#e4edf3;
  margin-bottom:25px;
}

.oc-modern-list{
  list-style:none;
  padding:0;
  margin:0 0 30px 0;
}

.oc-modern-list li{
  margin-bottom:16px;
  padding-left:30px;
  position:relative;
  font-size:16px;
  font-weight:500;
}

.oc-modern-list li::before{
  content:"●";
  position:absolute;
  left:0;
  color:#00e0ff;
  font-size:14px;
  top:5px;
}

.oc-modern-bottom{
  font-size:15px;
  color:#cddae3;
}

/* RIGHT SIDE IMAGE WINDOW */
.oc-serve-modern-right{
  display:flex;
  justify-content:center;
  align-items:center;
  position:relative;
}

/* UNIQUE WINDOW STYLE */
.oc-image-window{
  position:relative;
  width:320px;
  height:520px;
  border-radius:160px; /* pill shape */
  overflow:hidden;
  box-shadow:0 60px 100px rgba(0,0,0,0.5);
}

/* SOFT GLOW BACKDROP */
.oc-image-window::before{
  content:"";
  position:absolute;
  inset:-25px;
  border-radius:180px;
  background:radial-gradient(circle at center, rgba(0,224,255,0.25), transparent 70%);
  z-index:0;
}

/* IMAGE CONTROL */
.oc-image-window img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top center;
  transition:0.6s ease;
}

.oc-image-window:hover img{
  transform:scale(1.08);
}

/* FLOATING BADGE */
.oc-floating-badge{
  position:absolute;
  bottom:30px;
  left:50%;
  transform:translateX(-50%);
  background:rgba(0,0,0,0.55);
  backdrop-filter:blur(10px);
  padding:10px 22px;
  border-radius:30px;
  font-size:13px;
  font-weight:600;
  letter-spacing:1px;
  z-index:2;
  border:1px solid rgba(255,255,255,0.15);
}

/* Responsive */
@media(max-width:992px){
  .oc-serve-modern-wrapper{
    grid-template-columns:1fr;
  }

  .oc-image-window{
    height:420px;
    width:260px;
  }

  .oc-serve-modern-left h2{
    font-size:30px;
  }
}

.oc-testimonials{
  padding:50px 20px;
  background:#e8eff4; /*  Requested Background */
  font-family:'Poppins',sans-serif;
}

.oc-testimonials-wrapper{
  max-width:1100px;
  margin:auto;
}

.oc-testimonials-header{
  text-align:center;
  margin-bottom:70px;
}

.oc-testimonials-header h2{
  font-size:38px;
  color:#395f80;
  position:relative;
}

.oc-testimonials-header h2::after{
  content:"";
  width:90px;
  height:4px;
  background:#00bcd4;
  display:block;
  margin:18px auto 0;
  border-radius:6px;
}

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

/* CARD */
.oc-testimonial-card{
  background:#ffffff;
  padding:50px 40px;
  border-radius:25px;
  position:relative;
  box-shadow:0 20px 50px rgba(0,0,0,0.08);
  transition:0.4s ease;
}

.oc-testimonial-card:hover{
  transform:translateY(-8px);
  box-shadow:0 30px 70px rgba(0,0,0,0.15);
}

/* QUOTE ICON */
.quote-icon{
  font-size:80px;
  color:#395f80;
  opacity:0.12;
  position:absolute;
  top:20px;
  left:25px;
  line-height:0;
}

/* TEXT */
.oc-testimonial-card p{
  font-size:16px;
  line-height:1.9;
  margin-top:40px;
  color:#444;
}

/* AUTHOR */
.testimonial-author{
  margin-top:30px;
  font-weight:600;
  font-size:15px;
  color:#395f80;
  letter-spacing:1px;
}

/* Responsive */
@media(max-width:992px){
  .oc-testimonials-grid{
    grid-template-columns:1fr;
  }

  .oc-testimonials-header h2{
    font-size:30px;
  }
}

.oc-faq-section{
  padding:50px 20px;
  background:#e8eff4;
  font-family:'Poppins',sans-serif;
}

.oc-faq-wrapper{
  max-width:900px;
  margin:auto;
}

.oc-faq-header{
  text-align:center;
  margin-bottom:70px;
}

.oc-faq-header h2{
  font-size:38px;
  color:#395f80;
}

.oc-faq-header h2::after{
  content:"";
  width:90px;
  height:4px;
  background:#00bcd4;
  display:block;
  margin:18px auto 0;
  border-radius:6px;
}

/* TIMELINE */
.oc-faq-timeline{
  position:relative;
  padding-left:60px;
}

.oc-faq-timeline::before{
  content:"";
  position:absolute;
  left:28px;
  top:0;
  width:4px;
  height:100%;
  background:#395f80;
  border-radius:4px;
}

/* ITEM */
.oc-faq-item{
  margin-bottom:30px;
  position:relative;
}

/*  QUESTION MARK BADGE */
.oc-faq-item::before{
  content:"?";
  position:absolute;
  left:-50px;
  top:8px;
  width:38px;
  height:38px;
  background:linear-gradient(135deg,#395f80,#00bcd4);
  color:#ffffff;
  font-weight:700;
  font-size:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  box-shadow:0 8px 20px rgba(0,0,0,0.2);
  transition:0.4s ease;
}

/* Rotate on active */
.oc-faq-item.active::before{
  transform:rotate(360deg);
  background:#00bcd4;
}

/* QUESTION BUTTON */
.oc-faq-question{
  width:100%;
  text-align:left;
  background:#ffffff;
  border:none;
  padding:18px 25px;
  border-radius:15px;
  font-size:16px;
  font-weight:600;
  color:#395f80;
  cursor:pointer;
  box-shadow:0 10px 25px rgba(0,0,0,0.08);
  transition:0.3s ease;
}

.oc-faq-question:hover{
  background:#395f80;
  color:#ffffff;
}

/* ANSWER */
.oc-faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.4s ease;
  background:#ffffff;
  border-radius:0 0 15px 15px;
  padding:0 25px;
}

.oc-faq-answer p{
  padding:15px 0;
  font-size:15px;
  line-height:1.8;
  color:#444;
}

.oc-faq-item.active .oc-faq-answer{
  max-height:220px;
}

.oc-faq-item.active .oc-faq-question{
  background:#395f80;
  color:#ffffff;
}

/* Responsive */
@media(max-width:768px){
  .oc-faq-header h2{
    font-size:28px;
  }
}


.oc-areas-section{
  padding:50px 20px;
  background:#395f80;
  font-family:'Poppins',sans-serif;
  color:#ffffff;
  position:relative;
  overflow:hidden;
}

/* Soft Glow Effect */
.oc-areas-section::before{
  content:"";
  position:absolute;
  width:600px;
  height:600px;
  background:radial-gradient(circle, rgba(0,224,255,0.15), transparent 70%);
  top:-150px;
  right:-150px;
  z-index:0;
}

.oc-areas-wrapper{
  max-width:1200px;
  margin:auto;
  position:relative;
  z-index:1;
}

.oc-areas-header{
  text-align:center;
  margin-bottom:70px;
}

.oc-areas-header h2{
  font-size:38px;
  position:relative;
}

.oc-areas-header h2::after{
  content:"";
  width:100px;
  height:4px;
  background:#00e0ff;
  display:block;
  margin:18px auto 0;
  border-radius:6px;
}

/* GRID */
.oc-areas-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:18px;
}

/* CITY PILLS */
.oc-city{
  padding:14px 26px;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.15);
  border-radius:40px;
  font-size:14px;
  letter-spacing:.5px;
  backdrop-filter:blur(8px);
  transition:all 0.35s ease;
}

/*  LINK FIX */
.oc-city a{
  color:#ffffff;
  text-decoration:none;
  display:inline-block;
  width:100%;
  height:100%;
}

/* Hover Effect */
.oc-city:hover{
  background:#00e0ff;
  transform:translateY(-5px);
  box-shadow:0 15px 35px rgba(0,0,0,0.35);
}

.oc-city:hover a{
  color:#395f80;
}

/* Visited / Focus Fix */
.oc-city a:visited,
.oc-city a:active,
.oc-city a:focus{
  color:#ffffff;
  text-decoration:none;
}

/* Responsive */
@media(max-width:768px){
  .oc-areas-header h2{
    font-size:28px;
  }

  .oc-city{
    font-size:13px;
    padding:12px 20px;
  }
}


.oc-map-section{
  padding:50px 20px;
  background:#e3e9ed;
  font-family:'Poppins',sans-serif;
}

.oc-map-wrapper{
  max-width:1200px;
  margin:auto;
}

/* MAIN FRAME */
.oc-map-frame{
  position:relative;
  border-radius:30px;
  overflow:hidden;
  padding:12px; /* Space for border effect */
  background:linear-gradient(135deg,#395f80,#00bcd4);
  box-shadow:0 40px 90px rgba(0,0,0,0.15);
}

/* Glow Layer */
.oc-map-border-glow{
  position:absolute;
  inset:-8px;
  border-radius:40px;
  background:radial-gradient(circle at top left, rgba(0,224,255,0.3), transparent 60%);
  z-index:0;
}

/* IFRAME STYLE */
.oc-map-frame iframe{
  position:relative;
  z-index:1;
  width:100%;
  height:480px;
  border-radius:22px;
  border:none;
  display:block;
  transition:0.4s ease;
}

/* Hover Effect */
.oc-map-frame:hover iframe{
  transform:scale(1.01);
}

/* Responsive */
@media(max-width:768px){
  .oc-map-frame iframe{
    height:350px;
  }
}

/* ===== GLOBAL RESET ===== */
body{
  margin:0;
  padding:0;
}

/* ===== WEATHER SECTION ===== */
.oc-weather-strip{
  padding:40px 20px 0px;
  background:#e3e9ed;
  font-family:'Poppins',sans-serif;
  margin:0;
}

.oc-weather-strip-inner{
  max-width:950px;
  margin:auto;
  position:relative;
}

/* FLOATING LABEL */
.oc-weather-label{
  position:absolute;
  top:-20px;
  left:50%;
  transform:translateX(-50%);
  background:#395f80;
  color:#ffffff;
  padding:10px 26px;
  border-radius:40px;
  font-size:13px;
  font-weight:600;
  letter-spacing:1px;
  box-shadow:0 10px 25px rgba(0,0,0,0.15);
  z-index:2;
}

/* MAIN PANEL */
.oc-weather-strip-panel{
  background:#ffffff;
  border-radius:30px;
  padding:60px 40px 50px;
  box-shadow:0 40px 80px rgba(0,0,0,0.1);
  border:1px dashed rgba(57,95,128,0.2);
  transition:0.4s ease;
}

.oc-weather-strip-panel:hover{
  transform:translateY(-6px);
  box-shadow:0 60px 110px rgba(0,0,0,0.15);
}

/* WIDGET WRAP */
.oc-weather-widget-wrap{
  border-radius:20px;
  overflow:hidden;
}

/* ===== SAME BACKGROUND SPACE ===== */
.weather-bottom-space{
  height:60px; /*  adjust spacing here */
  background:#e3e9ed;
}

/* Responsive */
@media(max-width:768px){
  .oc-weather-strip-panel{
    padding:50px 20px 40px;
  }

  .weather-bottom-space{
    height:40px;
  }
}

.cm-service-card h3 a{
  color:#1e496f;
  text-decoration:none;
  font-weight:600;
  transition:.3s ease;
}

.cm-service-card h3 a:hover{
  color:#00bcd4;   
  text-decoration:none;
}