.service-page {
   --page-bg: #070707;
   --page-surface: rgba(255, 255, 255, 0.04);
   --page-surface-strong: rgba(255, 255, 255, 0.08);
   --page-border: rgba(255, 255, 255, 0.12);
   --page-copy: rgba(255, 248, 235, 0.74);
   --page-heading: #fff7e8;
   --page-accent: var(--primary-color);
   --page-accent-strong: var(--primary-color);
   --page-highlight: var(--primary-color);
   min-height: 100vh;
   color: var(--page-heading);
   background: transparent;
   font-family: inherit;
}

.service-page--outdoor {
   --page-accent: var(--primary-color);
   --page-accent-strong: var(--primary-color);
   --page-highlight: var(--primary-color);
}

.service-page--unipole .service-hero h1 {
   max-width: 680px;
   font-size: clamp(2.6rem, 4.8vw, 5.1rem);
   line-height: 0.98;
   letter-spacing: -0.03em;
}

.service-page--retail {
   --page-accent: var(--primary-color);
   --page-accent-strong: var(--primary-color);
   --page-highlight: var(--primary-color);
}

.service-page a {
   transition: 0.3s ease;
}

.service-page .service-nav {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   z-index: 50;
   background: rgba(7, 7, 7, 0.7);
   border-bottom: 1px solid rgba(255, 255, 255, 0.08);
   box-shadow: 0 18px 48px rgba(0, 0, 0, 0.25);
   backdrop-filter: blur(18px);
}

.service-page .service-nav__inner {
   min-height: 82px;
   display: flex;
   align-items: center;
   gap: 14px;
}

.service-page .service-nav__logo img {
   width: 116px;
   height: auto;
   filter: drop-shadow(0 12px 24px rgba(255, 138, 61, 0.2));
}

.service-page .service-nav__links {
   display: flex;
   flex: 1 1 auto;
   align-items: center;
   justify-content: center;
   gap: 14px;
   margin: 0;
   padding: 0;
   list-style: none;
}

.service-page .service-nav__links a,
.service-page .service-nav__drop > span {
   color: rgba(255, 247, 232, 0.82);
   font-size: 12px;
   font-weight: 900;
   letter-spacing: 0.035em;
   text-transform: uppercase;
}

.service-page .service-nav__links > li {
   position: relative;
   flex: 0 0 auto;
}

.service-page .service-nav__links > li > a,
.service-page .service-nav__drop > span {
   min-height: auto;
   padding: 0 8px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   line-height: 0.96;
   text-align: center;
   background: transparent;
}

.service-page .service-nav__links a:hover,
.service-page .service-nav__drop:hover > span {
   color: var(--page-accent-strong);
}

.service-page .service-nav__drop {
   position: relative;
}

.service-page .service-nav__drop > span {
   position: relative;
}

.service-page .service-nav__drop > span::after {
   content: "\f107";
   position: absolute;
   right: 0;
   top: 50%;
   transform: translateY(-50%);
   font-family: "Font Awesome 6 Free";
   font-weight: 900;
}

.service-page .service-nav__label--stacked {
   width: auto;
   min-width: 170px;
   gap: 0;
   padding-top: 2px;
   padding-right: 24px !important;
   padding-bottom: 2px;
   padding-left: 8px !important;
}

.service-page .service-nav__label-stack {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 2px;
   text-align: center;
   line-height: 1.02;
}

.service-page .service-nav__label-stack span {
   display: block;
   line-height: 1.02;
}

.service-page .service-nav__menu {
   position: absolute;
   top: calc(100% + 18px);
   left: 50%;
   width: 320px;
   margin: 0;
   padding: 12px;
   list-style: none;
   border: 1px solid rgba(255, 255, 255, 0.08);
   border-radius: 20px;
   background: rgba(10, 10, 10, 0.94);
   box-shadow: 0 26px 60px rgba(0, 0, 0, 0.34);
   transform: translateX(-50%) translateY(8px);
   opacity: 0;
   visibility: hidden;
   transition: 0.24s ease;
}

.service-page .service-nav__drop:hover > .service-nav__menu {
   opacity: 1;
   visibility: visible;
   transform: translateX(-50%) translateY(0);
}

.service-page .service-nav__menu > li {
   position: relative;
}

.service-page .service-nav__menu a,
.service-page .service-nav__menu span {
   display: block;
   padding: 11px 12px;
   color: rgba(255, 247, 232, 0.82);
   font-size: 12px;
   line-height: 1.3;
   letter-spacing: 0.04em;
}

.service-page .service-nav__menu a:hover,
.service-page .service-nav__menu span:hover {
   color: var(--page-accent-strong);
}

.service-page .service-nav__drop--nested > span {
   position: relative;
   padding-right: 28px;
}

.service-page .service-nav__drop--nested > span::after {
   content: "\f105";
   position: absolute;
   right: 12px;
   top: 50%;
   transform: translateY(-50%);
   font-family: "Font Awesome 6 Free";
   font-weight: 900;
}

.service-page .service-nav__menu--nested {
   top: -12px;
   left: calc(100% + 12px);
   width: 330px;
   transform: translateY(8px);
}

.service-page .service-nav__drop--nested:hover > .service-nav__menu--nested {
   opacity: 1;
   visibility: visible;
   transform: translateY(0);
}

.service-page .service-nav__cta {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 10px;
   min-height: 48px;
   padding: 0 20px;
   border: 1px solid rgba(255, 255, 255, 0.08);
   border-radius: 999px;
   color: #0c0906;
   background: linear-gradient(135deg, var(--page-accent-strong), var(--page-accent));
   font-size: 13px;
   font-weight: 900;
   letter-spacing: 0.06em;
   text-transform: uppercase;
   box-shadow: 0 18px 40px rgba(255, 138, 61, 0.26);
}

@media (max-width: 1399px) {
   .service-page .service-nav__links {
      gap: 10px;
   }

   .service-page .service-nav__links > li > a,
   .service-page .service-nav__drop > span {
      padding: 0 6px;
      font-size: 11px;
      letter-spacing: 0.025em;
   }

   .service-page .service-nav__label--stacked {
      min-width: 156px;
      padding-right: 20px !important;
   }
}

.service-hero {
   position: relative;
   min-height: auto;
   display: flex;
   align-items: center;
   overflow: hidden;
   padding: 118px 0 104px;
   isolation: isolate;
}

.service-hero::before {
   content: "";
   position: absolute;
   inset: 0;
   z-index: -3;
   background:
      linear-gradient(115deg, rgba(4, 4, 4, 0.93) 0%, rgba(9, 8, 7, 0.84) 38%, rgba(12, 11, 9, 0.64) 58%, rgba(5, 5, 5, 0.92) 100%),
      var(--hero-image);
   background-size: cover;
   background-position: center;
   transform: scale(1.04);
}

.service-hero::after {
   content: "";
   position: absolute;
   inset: 0;
   z-index: -2;
   background:
      radial-gradient(circle at 22% 16%, rgba(255, 183, 71, 0.22), transparent 22%),
      radial-gradient(circle at 78% 74%, rgba(255, 138, 61, 0.16), transparent 28%);
}

.service-hero__grid {
   display: grid;
   grid-template-columns: minmax(0, 0.96fr) minmax(390px, 1.04fr);
   align-items: center;
   gap: 42px;
}

.service-hero__copy {
   text-align: center;
}

.service-kicker {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   margin-bottom: 16px;
   color: var(--page-accent-strong);
   font-size: 13px;
   font-weight: 900;
   letter-spacing: 0.2em;
   text-transform: uppercase;
}

.service-kicker::before {
   content: "";
   width: 34px;
   height: 3px;
   border-radius: 99px;
   background: linear-gradient(90deg, var(--page-accent), var(--page-accent-strong));
}

.service-badge-row {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: 10px;
   margin: 0 0 18px;
}

.service-badge-row span {
   display: inline-flex;
   align-items: center;
   min-height: 34px;
   padding: 0 14px;
   border: 1px solid rgba(255, 255, 255, 0.1);
   border-radius: 999px;
   color: rgba(255, 248, 235, 0.84);
   background: rgba(255, 255, 255, 0.05);
   font-size: 11px;
   font-weight: 900;
   letter-spacing: 0.08em;
   text-transform: uppercase;
}

.service-hero h1 {
   max-width: 700px;
   margin: 0 auto;
   color: var(--page-heading);
   font-size: clamp(2.55rem, 4.85vw, 5.25rem);
   line-height: 0.98;
   font-weight: 1000;
   letter-spacing: -0.045em;
   text-transform: uppercase;
}

.service-hero h1 span {
   display: block;
   overflow: hidden;
}

.service-hero h1 span > span {
   display: block;
}

.service-hero__copy p {
   max-width: 620px;
   margin: 20px auto 0;
   color: var(--page-copy);
   font-size: clamp(0.96rem, 1.08vw, 1.08rem);
   line-height: 1.62;
}

.service-actions {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: 14px;
   margin-top: 24px;
}

.service-page--display-board .service-hero__copy {
   padding-top: 42px;
   text-align: left;
}

.service-page--display-board .service-badge-row,
.service-page--display-board .service-actions {
   justify-content: flex-start;
}

.service-page--display-board .service-hero h1,
.service-page--display-board .service-hero__copy p {
   margin-left: 0;
   margin-right: 0;
}

.service-trust {
   margin-top: 14px;
   display: inline-flex;
   align-items: center;
   gap: 10px;
   padding: 10px 14px;
   border-radius: 999px;
   border: 1px solid rgba(255, 255, 255, 0.10);
   background: rgba(255, 255, 255, 0.04);
   color: rgba(255, 248, 235, 0.82);
   font-weight: 900;
   letter-spacing: 0.02em;
}

.service-trust i {
   color: var(--page-accent-strong);
}

.service-btn {
   min-height: 58px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 10px;
   padding: 0 24px;
   border: 1px solid rgba(255, 255, 255, 0.08);
   border-radius: 999px;
   color: #0e0906;
   background: linear-gradient(135deg, var(--page-accent-strong), var(--page-accent));
   font-weight: 900;
   box-shadow: 0 20px 48px rgba(255, 61, 31, 0.28);
}

.service-btn:hover {
   color: #fff7e8;
   background: rgba(255, 255, 255, 0.06);
}

.service-btn--ghost {
   color: #fff7e8;
   background: rgba(255, 255, 255, 0.06);
   box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.service-stage {
   position: relative;
   min-height: 560px;
   perspective: 1200px;
}

.service-stage__halo {
   position: absolute;
   right: 8%;
   top: 10%;
   width: 360px;
   height: 360px;
   border-radius: 50%;
   background: radial-gradient(circle, rgba(255, 61, 31, 0.26), rgba(255, 61, 31, 0.04) 58%, transparent 70%);
   filter: blur(10px);
}

.service-stage__photo,
.service-stage__shot,
.service-stage__chip {
   position: absolute;
   overflow: hidden;
   border: 1px solid rgba(255, 255, 255, 0.08);
   border-radius: 28px;
   background: rgba(255, 255, 255, 0.04);
   box-shadow: 0 36px 84px rgba(0, 0, 0, 0.28);
   backdrop-filter: blur(10px);
}

.service-stage__photo {
   top: 0;
   right: 0;
   width: min(72%, 500px);
   aspect-ratio: 4 / 5;
}

.service-stage__shot {
   left: 0;
   bottom: 74px;
   width: min(50%, 330px);
   aspect-ratio: 1 / 1.08;
   transform: rotate(-7deg);
   z-index: 3;
}

.service-stage__chip {
   right: 4%;
   bottom: 28px;
   width: min(50%, 290px);
   padding: 14px 16px;
   z-index: 4;
}

.service-stage__chip strong {
   display: block;
   color: var(--page-highlight);
   font-size: 1rem;
   font-weight: 900;
   letter-spacing: 0.08em;
   text-transform: uppercase;
}

.service-stage__chip p {
   margin: 6px 0 0;
   color: rgba(255, 248, 235, 0.7);
   line-height: 1.42;
}

.service-stage img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.service-page--retail .service-stage__shot img {
   object-position: center;
}

.service-stage__photo::after,
.service-stage__shot::after {
   content: "";
   position: absolute;
   inset: 0;
   background: linear-gradient(145deg, rgba(255, 183, 71, 0.16), rgba(255, 255, 255, 0) 40%, rgba(255, 138, 61, 0.22));
   pointer-events: none;
}

.service-stage__label {
   position: absolute;
   right: 12%;
   top: 16px;
   z-index: 4;
   display: inline-flex;
   align-items: center;
   gap: 10px;
   padding: 13px 18px;
   border: 1px solid rgba(255, 255, 255, 0.08);
   border-radius: 999px;
   color: #fff7e8;
   background: rgba(10, 10, 10, 0.72);
   box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
   backdrop-filter: blur(12px);
   font-size: 12px;
   font-weight: 900;
   letter-spacing: 0.08em;
   text-transform: uppercase;
}

.service-section {
   position: relative;
   overflow: hidden;
   padding: 104px 0;
}

.service-section::before {
   content: "";
   position: absolute;
   inset: 0;
   pointer-events: none;
   background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 24%);
   opacity: 0.7;
}

.service-section--dark {
   background:
      radial-gradient(circle at 12% 18%, rgba(255, 183, 71, 0.12), transparent 18%),
      linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.02));
}

#quote {
   padding: 32px 0;
}

.service-head {
   position: relative;
   z-index: 1;
   max-width: 920px;
   margin-bottom: 44px;
}

.service-head h2 {
   margin: 0;
   color: var(--page-heading);
   font-size: clamp(2rem, 3.8vw, 4.15rem);
   line-height: 1.02;
   font-weight: 1000;
   letter-spacing: -0.03em;
}

.service-head p {
   max-width: 720px;
   margin: 18px 0 0;
   color: var(--page-copy);
   font-size: 1.05rem;
   line-height: 1.75;
}

#about-unipole .service-head,
#about-gantry .service-head,
#about-highway .service-head,
#about-billboards .service-head,
#about-retail-service .service-head {
   max-width: 980px;
   margin: 0 auto;
   text-align: center;
}

#about-unipole .unipole-intro-card,
#about-gantry .unipole-intro-card,
#about-highway .unipole-intro-card,
#about-billboards .unipole-intro-card,
.service-intro-card {
   position: relative;
   z-index: 1;
   max-width: 1180px;
   margin: 0 auto;
   overflow: hidden;
   padding: 58px 54px 62px;
   border: 1px solid rgba(255, 255, 255, 0.1);
   border-radius: 34px;
   text-align: center;
   background:
      radial-gradient(circle at 10% 8%, rgba(9, 211, 220, 0.14), transparent 30%),
      radial-gradient(circle at 88% 14%, rgba(255, 61, 38, 0.2), transparent 34%),
      linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.025)),
      rgba(9, 9, 9, 0.92);
   box-shadow: 0 28px 90px rgba(0, 0, 0, 0.36);
}

#about-unipole .unipole-intro-card::before,
.service-intro-card::before {
   content: attr(data-watermark);
   position: absolute;
   left: 50%;
   top: -34px;
   transform: translateX(-50%);
   color: rgba(255, 255, 255, 0.035);
   font-size: clamp(5rem, 15vw, 13rem);
   font-weight: 1000;
   line-height: 0.9;
   pointer-events: none;
}

.unipole-intro-card__icon {
   position: relative;
   z-index: 2;
   width: 76px;
   height: 76px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   margin: 0 auto 24px;
   border: 1px solid rgba(255, 255, 255, 0.16);
   border-radius: 24px;
   color: #120806;
   background: linear-gradient(135deg, #fff8eb, #ffad2f 50%, #ff3d26);
   box-shadow: 0 22px 52px rgba(255, 61, 38, 0.28);
   font-size: 28px;
}

#about-unipole .service-kicker,
#about-retail-service .service-kicker {
   justify-content: center;
}

#about-unipole .service-head p,
#about-gantry .service-head p,
#about-highway .service-head p,
#about-billboards .service-head p,
#about-retail-service .service-head p {
   max-width: 960px;
   margin: 26px auto 0;
   font-size: clamp(1.05rem, 1.55vw, 1.25rem);
   font-weight: 700;
   line-height: 1.82;
}

.service-section--process {
   padding-top: 96px;
   padding-bottom: 96px;
}

.process-flow {
   position: relative;
   z-index: 1;
   overflow: hidden;
   border: 1px solid rgba(255, 255, 255, 0.1);
   border-radius: 34px;
   padding: 52px 54px 58px;
   background:
      radial-gradient(circle at 14% 16%, rgba(10, 210, 220, 0.14), transparent 30%),
      radial-gradient(circle at 86% 18%, rgba(255, 61, 38, 0.2), transparent 34%),
      linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.025)),
      rgba(10, 10, 10, 0.94);
   box-shadow: 0 28px 90px rgba(0, 0, 0, 0.44);
}

.process-flow::before {
   content: "PROCESS";
   position: absolute;
   top: -42px;
   right: 18px;
   color: rgba(255, 255, 255, 0.035);
   font-size: clamp(6rem, 16vw, 15rem);
   font-weight: 1000;
   line-height: 0.82;
   pointer-events: none;
}

.process-flow__head {
   position: relative;
   z-index: 2;
   max-width: 910px;
   margin: 0 auto 36px;
   text-align: center;
}

.process-flow__kicker {
   display: inline-flex;
   align-items: center;
   gap: 14px;
   color: var(--page-accent-strong);
   font-size: 12px;
   font-weight: 1000;
   letter-spacing: 0.18em;
   text-transform: uppercase;
}

.process-flow__kicker::before,
.process-flow__kicker::after {
   content: "";
   width: 36px;
   height: 2px;
   border-radius: 999px;
   background: linear-gradient(90deg, transparent, var(--page-accent-strong));
}

.process-flow__kicker::after {
   background: linear-gradient(90deg, var(--page-accent-strong), transparent);
}

.process-flow__head h2 {
   margin: 22px 0 0;
   color: var(--page-heading);
   font-size: clamp(2.35rem, 4.9vw, 5.15rem);
   line-height: 0.98;
}

.process-flow__head p {
   max-width: 820px;
   margin: 24px auto 0;
   color: var(--page-copy);
   font-size: clamp(1rem, 1.5vw, 1.22rem);
   font-weight: 700;
   line-height: 1.75;
}

.process-flow__track {
   position: relative;
   z-index: 2;
   min-height: 382px;
   margin-top: 6px;
}

.process-flow__track svg {
   position: absolute;
   top: 72px;
   left: 3%;
   width: 94%;
   height: 230px;
   overflow: visible;
}

.process-flow__line {
   fill: none;
   stroke: var(--page-accent-strong);
   stroke-width: 6;
   stroke-linecap: round;
   filter: drop-shadow(0 0 16px rgba(255, 61, 38, 0.42));
}

.process-flow__line--ghost {
   stroke: rgba(255, 255, 255, 0.1);
   stroke-width: 18;
   filter: none;
}

.process-step {
   position: absolute;
   width: min(245px, 22%);
   min-height: 158px;
   padding: 18px 18px 20px;
   border: 1px solid rgba(255, 255, 255, 0.1);
   border-radius: 24px;
   background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.025)),
      rgba(12, 12, 12, 0.84);
   box-shadow: 0 18px 46px rgba(0, 0, 0, 0.28);
   backdrop-filter: blur(12px);
}

.process-step::before {
   content: "";
   position: absolute;
   left: 28px;
   top: -8px;
   width: 16px;
   height: 16px;
   border: 4px solid rgba(255, 255, 255, 0.9);
   border-radius: 50%;
   background: var(--page-accent-strong);
   box-shadow: 0 0 0 9px rgba(255, 61, 38, 0.18);
}

.process-step--one {
   left: 0;
   top: 142px;
}

.process-step--two {
   left: 20%;
   top: 222px;
}

.process-step--three {
   left: 41%;
   top: 42px;
}

.process-step--four {
   left: 62%;
   top: 196px;
}

.process-step--five {
   right: 0;
   top: 78px;
}

.process-step__number {
   position: absolute;
   right: 18px;
   top: 10px;
   color: rgba(255, 255, 255, 0.08);
   font-size: clamp(3.2rem, 5vw, 5.4rem);
   font-weight: 1000;
   line-height: 1;
}

.process-step__icon {
   width: 54px;
   height: 54px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   border-radius: 18px;
   color: #0b0b0b;
   background: linear-gradient(135deg, #fff8eb, #ffad2f 52%, #ff3d26);
   box-shadow: 0 14px 32px rgba(255, 61, 38, 0.28);
}

.process-step strong {
   position: relative;
   z-index: 1;
   display: block;
   margin-top: 18px;
   color: var(--page-heading);
   font-size: 1.04rem;
   font-weight: 1000;
}

.process-step p {
   position: relative;
   z-index: 1;
   margin: 8px 0 0;
   color: rgba(255, 248, 235, 0.68);
   font-size: 0.95rem;
   font-weight: 700;
   line-height: 1.58;
}

@media (max-width: 1199.98px) {
   .process-flow {
      padding: 42px 34px 46px;
   }

   .process-step {
      width: min(230px, 23%);
      padding: 16px;
   }
}

@media (max-width: 991.98px) {
   .unipole-location-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px;
   }

   .unipole-location-card {
      min-height: 360px;
      border-radius: 26px;
   }

   .unipole-location-orbit {
      padding: 22px;
      border-radius: 28px;
   }

   .unipole-location-orbit::before {
      display: none;
   }

   .unipole-location-orbit__scroll {
      grid-auto-columns: minmax(250px, 58%);
      gap: 16px;
   }

   .unipole-location-circle {
      min-height: 250px;
      padding: 26px;
   }

   #about-unipole .unipole-intro-card,
   #about-gantry .unipole-intro-card,
   #about-highway .unipole-intro-card,
   #about-billboards .unipole-intro-card,
   .service-intro-card {
      padding: 42px 24px 46px;
      border-radius: 28px;
   }

   #about-unipole .unipole-intro-card::before,
   .service-intro-card::before {
      top: -12px;
      font-size: clamp(4rem, 20vw, 8rem);
   }

   .unipole-intro-card__icon {
      width: 64px;
      height: 64px;
      border-radius: 20px;
      font-size: 24px;
   }

   .service-section--process {
      padding-top: 72px;
      padding-bottom: 72px;
   }

   .process-flow {
      border-radius: 28px;
      padding: 34px 22px 24px;
   }

   .process-flow::before,
   .process-flow__track svg {
      display: none;
   }

   .process-flow__head {
      margin-bottom: 26px;
   }

   .process-flow__head h2 {
      font-size: clamp(2rem, 8vw, 3.5rem);
   }

   .process-flow__track {
      display: grid;
      gap: 14px;
      min-height: 0;
   }

   .process-step,
   .process-step--one,
   .process-step--two,
   .process-step--three,
   .process-step--four,
   .process-step--five {
      position: relative;
      inset: auto;
      width: 100%;
      min-height: 0;
      display: grid;
      grid-template-columns: 60px minmax(0, 1fr);
      column-gap: 16px;
      padding: 18px;
   }

   .process-step::before {
      left: 26px;
      top: auto;
      bottom: -17px;
      width: 10px;
      height: 10px;
      border-width: 3px;
      box-shadow: 0 0 0 7px rgba(255, 61, 38, 0.12);
   }

   .process-step:last-child::before {
      display: none;
   }

   .process-step__icon {
      grid-row: 1 / span 3;
      width: 56px;
      height: 56px;
      border-radius: 18px;
   }

   .process-step__number {
      position: static;
      display: block;
      color: var(--page-accent-strong);
      font-size: 0.82rem;
      letter-spacing: 0.18em;
      line-height: 1;
   }

   .process-step strong {
      margin-top: 7px;
   }
}

@media (max-width: 575.98px) {
   .unipole-location-grid {
      grid-template-columns: 1fr;
   }

   .unipole-location-card {
      min-height: 330px;
      border-radius: 24px;
   }

   .unipole-location-card__content {
      left: 14px;
      right: 14px;
      bottom: 14px;
      padding: 17px;
      border-radius: 20px;
   }

   .unipole-location-orbit {
      padding: 18px 14px;
      border-radius: 24px;
   }

   .unipole-location-orbit__intro span::before,
   .unipole-location-orbit__intro span::after {
      width: 18px;
   }

   .unipole-location-orbit__scroll {
      grid-auto-columns: 82%;
      padding-bottom: 16px;
   }

   .unipole-location-circle {
      min-height: 236px;
      padding: 24px;
   }

   .unipole-location-circle i {
      width: 50px;
      height: 50px;
   }

   #about-unipole .unipole-intro-card,
   #about-gantry .unipole-intro-card,
   #about-highway .unipole-intro-card,
   #about-billboards .unipole-intro-card {
      padding: 34px 18px 38px;
      border-radius: 24px;
   }

   #about-unipole .service-head p,
   #about-gantry .service-head p,
   #about-highway .service-head p,
   #about-billboards .service-head p {
      font-size: 1rem;
      line-height: 1.72;
   }

   .process-flow {
      padding: 28px 16px 18px;
      border-radius: 24px;
   }

   .process-flow__kicker {
      gap: 10px;
      font-size: 11px;
   }

   .process-flow__kicker::before,
   .process-flow__kicker::after {
      width: 22px;
   }

   .process-step,
   .process-step--one,
   .process-step--two,
   .process-step--three,
   .process-step--four,
   .process-step--five {
      grid-template-columns: 52px minmax(0, 1fr);
      gap: 12px;
      padding: 16px;
      border-radius: 20px;
   }

   .process-step__icon {
      width: 50px;
      height: 50px;
      border-radius: 16px;
   }
}

.service-grid {
   position: relative;
   z-index: 1;
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 18px;
}

.service-grid--three {
   grid-template-columns: repeat(3, minmax(0, 1fr));
}

.separated-links {
   position: relative;
   z-index: 1;
   border: 1px solid rgba(255, 255, 255, 0.12);
   border-radius: 28px;
   overflow: hidden;
   background: rgba(8, 8, 8, 0.72);
}

.separated-link {
   position: relative;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 18px;
   padding: 26px 26px;
   border-top: 1px solid rgba(255, 255, 255, 0.12);
   color: var(--page-heading);
}

.separated-link:first-child {
   border-top: 0;
}

.separated-link::before {
   content: "";
   position: absolute;
   inset: 0;
   opacity: 0;
   background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(255, 61, 31, 0.18), transparent 46%);
   transition: opacity 0.22s ease;
}

.separated-link__title,
.separated-link__meta,
.separated-link i {
   position: relative;
}

.separated-link__title {
   display: block;
   font-size: clamp(1.1rem, 2.1vw, 1.85rem);
   line-height: 1.15;
   font-weight: 1000;
   letter-spacing: -0.02em;
   text-transform: uppercase;
}

.separated-link__meta {
   display: block;
   margin-top: 8px;
   max-width: 720px;
   color: var(--page-copy);
   font-size: 0.98rem;
   line-height: 1.55;
   font-weight: 650;
   letter-spacing: 0.01em;
}

.separated-link i {
   width: 46px;
   min-width: 46px;
   height: 46px;
   border-radius: 16px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   color: #0f0905;
   background: linear-gradient(135deg, var(--page-accent-strong), var(--page-accent));
   box-shadow: 0 18px 36px rgba(255, 61, 31, 0.22);
}

a.separated-link:hover {
   color: inherit;
}

a.separated-link:hover::before {
   opacity: 1;
}

@media (max-width: 575.98px) {
   .separated-link {
      padding: 20px 18px;
   }

   .separated-link__meta {
      display: none;
   }
}

@media (min-width: 992px) {
   .service-grid--scroll {
      grid-template-columns: none;
      grid-auto-flow: column;
      grid-auto-columns: minmax(320px, 1fr);
      overflow-x: auto;
      overflow-y: hidden;
      padding-bottom: 12px;
      scroll-snap-type: x mandatory;
      overscroll-behavior-x: contain;
      -webkit-overflow-scrolling: touch;
   }

   .service-grid--scroll > * {
      scroll-snap-align: start;
   }

   .service-grid--scroll::-webkit-scrollbar {
      height: 6px;
   }

   .service-grid--scroll::-webkit-scrollbar-track {
      background: rgba(255, 255, 255, 0.06);
      border-radius: 999px;
   }

   .service-grid--scroll::-webkit-scrollbar-thumb {
      background: rgba(255, 61, 31, 0.6);
      border-radius: 999px;
   }
}

.service-card {
   position: relative;
   display: block;
   min-height: 250px;
   padding: 28px;
   border: 1px solid rgba(255, 255, 255, 0.08);
   border-radius: 28px;
   background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03)),
      rgba(9, 9, 9, 0.84);
   overflow: hidden;
}

a.service-card:hover {
   color: inherit;
}

.service-card::before {
   content: "";
   position: absolute;
   inset: 0;
   opacity: 0;
   background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(255, 61, 31, 0.22), transparent 34%);
   transition: opacity 0.22s ease;
}

.service-card:hover::before {
   opacity: 1;
}

.service-card i {
   position: relative;
   width: 54px;
   height: 54px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 24px;
   border-radius: 18px;
   color: #0f0905;
   background: linear-gradient(135deg, var(--page-accent-strong), var(--page-accent));
   box-shadow: 0 18px 36px rgba(255, 61, 31, 0.22);
}

.service-card h3,
.service-card p,
.service-card small {
   position: relative;
}

.service-card h3 {
   margin: 0;
   color: var(--page-heading);
   font-size: 1.25rem;
   line-height: 1.25;
   font-weight: 900;
}

.service-card p {
   margin: 12px 0 0;
   color: rgba(255, 248, 235, 0.68);
   line-height: 1.62;
}

.service-card small {
   display: inline-block;
   margin-top: 18px;
   color: var(--page-accent-strong);
   font-size: 11px;
   font-weight: 900;
   letter-spacing: 0.08em;
   text-transform: uppercase;
}

.signature-band {
   position: relative;
   z-index: 1;
   display: grid;
   grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
   gap: 28px;
}

.signature-band__panel,
.signature-band__aside {
   border: 1px solid rgba(255, 255, 255, 0.08);
   border-radius: 32px;
   background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03)),
      rgba(9, 9, 9, 0.86);
   overflow: hidden;
}

.signature-band__panel {
   padding: 34px;
}

.signature-band__eyebrow {
   color: var(--page-accent-strong);
   font-size: 12px;
   font-weight: 900;
   letter-spacing: 0.16em;
   text-transform: uppercase;
}

.signature-band__panel h3 {
   margin: 18px 0 0;
   color: var(--page-heading);
   font-size: clamp(1.8rem, 3vw, 3.2rem);
   line-height: 1.02;
   font-weight: 1000;
   letter-spacing: -0.03em;
}

.signature-band__panel p {
   margin: 18px 0 0;
   color: var(--page-copy);
   line-height: 1.75;
}

.signature-band__list {
   display: grid;
   gap: 14px;
   margin-top: 24px;
}

.signature-band__list article {
   display: grid;
   grid-template-columns: 58px minmax(0, 1fr);
   gap: 16px;
   align-items: start;
   padding: 16px 18px;
   border: 1px solid rgba(255, 255, 255, 0.08);
   border-radius: 22px;
   background: rgba(255, 255, 255, 0.03);
}

.signature-band__list span {
   width: 58px;
   height: 58px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   border-radius: 18px;
   color: #120a06;
   background: linear-gradient(135deg, var(--page-accent-strong), var(--page-accent));
   font-size: 1.1rem;
   font-weight: 1000;
}

.signature-band__list strong {
   display: block;
   color: var(--page-heading);
   font-size: 1.04rem;
   font-weight: 900;
}

.signature-band__list p {
   margin: 8px 0 0;
   color: rgba(255, 248, 235, 0.68);
}

.signature-band__aside {
   position: relative;
   min-height: 100%;
}

.signature-band__aside img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.signature-band__aside::after {
   content: "";
   position: absolute;
   inset: 0;
   background: linear-gradient(180deg, rgba(4, 4, 4, 0.04), rgba(4, 4, 4, 0.64));
}

.signature-band__quote {
   position: absolute;
   left: 22px;
   right: 22px;
   bottom: 22px;
   z-index: 1;
   padding: 18px 20px;
   border: 1px solid rgba(255, 255, 255, 0.08);
   border-radius: 24px;
   background: rgba(7, 7, 7, 0.68);
   backdrop-filter: blur(12px);
}

.signature-band__quote strong {
   display: block;
   color: var(--page-highlight);
   font-size: 13px;
   font-weight: 900;
   letter-spacing: 0.12em;
   text-transform: uppercase;
}

.signature-band__quote p {
   margin: 8px 0 0;
   color: rgba(255, 248, 235, 0.74);
   line-height: 1.6;
}

.location-panel {
   position: relative;
   z-index: 1;
   display: grid;
   grid-template-columns: minmax(0, 0.8fr) minmax(360px, 1.2fr);
   gap: 28px;
   align-items: stretch;
}

.location-map {
   position: relative;
   min-height: 450px;
   border: 1px solid rgba(255, 255, 255, 0.08);
   border-radius: 28px;
   overflow: hidden;
   background: rgba(255, 255, 255, 0.05);
   box-shadow: 0 32px 76px rgba(0, 0, 0, 0.16);
}

.location-map img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.location-map::after {
   content: "";
   position: absolute;
   inset: 0;
   background: linear-gradient(180deg, rgba(5, 5, 5, 0), rgba(5, 5, 5, 0.42));
}

.location-map--stack {
   background: rgba(255, 255, 255, 0.03);
}

.location-map--stack::after {
   z-index: 2;
}

.location-map--stack .location-map__main,
.location-map--stack .location-map__mini {
   position: absolute;
   z-index: 1;
}

.location-map--stack .location-map__main {
   inset: 0;
}

.location-map--stack .location-map__mini {
   left: 22px;
   bottom: 22px;
   width: min(42%, 240px);
   aspect-ratio: 1 / 1.05;
   border-radius: 22px;
   overflow: hidden;
   border: 1px solid rgba(255, 255, 255, 0.12);
   box-shadow: 0 22px 56px rgba(0, 0, 0, 0.28);
   transform: rotate(-6deg);
}

.location-map--stack .location-map__badge {
   position: absolute;
   right: 22px;
   top: 22px;
   z-index: 3;
   display: grid;
   gap: 8px;
   padding: 14px 16px;
   border: 1px solid rgba(255, 255, 255, 0.12);
   border-radius: 18px;
   color: var(--page-heading);
   background: rgba(7, 7, 7, 0.72);
   box-shadow: 0 18px 44px rgba(0, 0, 0, 0.2);
   backdrop-filter: blur(12px);
}

.location-map--stack .location-map__badge span {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   color: rgba(255, 248, 235, 0.72);
   font-size: 11px;
   font-weight: 900;
   letter-spacing: 0.14em;
   text-transform: uppercase;
}

.location-map--stack .location-map__badge span::before {
   content: "";
   width: 34px;
   height: 3px;
   border-radius: 99px;
   background: linear-gradient(90deg, var(--page-accent), var(--page-accent-strong));
}

.location-map--stack .location-map__badge strong {
   display: block;
   margin: 0;
   font-size: 16px;
   line-height: 1.15;
   font-weight: 900;
   letter-spacing: -0.02em;
}

@media (max-width: 991.98px) {
   .location-map--stack .location-map__mini {
      left: 18px;
      bottom: 18px;
      width: min(52%, 220px);
   }

   .location-map--stack .location-map__badge {
      left: 18px;
      right: 18px;
      top: auto;
      bottom: 18px;
   }
}

.location-list {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 14px;
}

.location-pill {
   display: flex;
   align-items: center;
   gap: 12px;
   min-height: 78px;
   padding: 18px 20px;
   border: 1px solid rgba(255, 255, 255, 0.08);
   border-radius: 24px;
   color: var(--page-heading);
   background: rgba(255, 255, 255, 0.05);
   box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08);
   font-weight: 900;
}

.location-pill i {
   color: var(--page-accent-strong);
}

.unipole-location-grid {
   position: relative;
   z-index: 1;
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 22px;
}

.service-page--retail #locations .unipole-location-grid {
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 20px;
}

.unipole-location-card {
   position: relative;
   min-height: 410px;
   overflow: hidden;
   border: 1px solid rgba(255, 255, 255, 0.1);
   border-radius: 30px;
   background: #0d0d0d;
   box-shadow: 0 24px 70px rgba(0, 0, 0, 0.26);
}

.unipole-location-card img {
   width: 100%;
   height: 100%;
   display: block;
   object-fit: cover;
   transform: scale(1.02);
   transition: transform 0.6s ease, filter 0.6s ease;
}

.unipole-location-card::after {
   content: "";
   position: absolute;
   inset: 0;
   background:
      linear-gradient(180deg, rgba(4, 4, 4, 0.05) 0%, rgba(4, 4, 4, 0.12) 42%, rgba(4, 4, 4, 0.88) 100%),
      radial-gradient(circle at 16% 16%, rgba(255, 61, 38, 0.18), transparent 34%);
}

.unipole-location-card:hover img {
   transform: scale(1.08);
   filter: saturate(1.08) contrast(1.04);
}

.unipole-location-card__content {
   position: absolute;
   left: 20px;
   right: 20px;
   bottom: 20px;
   z-index: 1;
   padding: 20px;
   border: 1px solid rgba(255, 255, 255, 0.12);
   border-radius: 22px;
   background: rgba(9, 9, 9, 0.68);
   backdrop-filter: blur(12px);
}

.unipole-location-card__content span {
   display: inline-flex;
   align-items: center;
   min-height: 30px;
   padding: 0 13px;
   border-radius: 999px;
   color: #160807;
   background: linear-gradient(135deg, var(--page-accent-strong), var(--page-accent));
   font-size: 10px;
   font-weight: 1000;
   letter-spacing: 0.12em;
   text-transform: uppercase;
}

.unipole-location-card__content h3 {
   margin: 14px 0 0;
   color: var(--page-heading);
   font-size: clamp(1.45rem, 2vw, 2.15rem);
   line-height: 1.05;
   font-weight: 1000;
}

.unipole-location-card__content p {
   margin: 10px 0 0;
   color: rgba(255, 248, 235, 0.72);
   font-weight: 700;
   line-height: 1.58;
}

.service-section--char-dham {
   overflow: hidden;
   background:
      radial-gradient(circle at 10% 14%, rgba(12, 214, 222, 0.1), transparent 28%),
      radial-gradient(circle at 88% 8%, rgba(255, 61, 38, 0.15), transparent 30%),
      #080909;
}

.char-dham-grid {
   position: relative;
   z-index: 1;
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 20px;
}

.char-dham-card {
   position: relative;
   min-height: 440px;
   overflow: hidden;
   border: 1px solid rgba(255, 255, 255, 0.1);
   border-radius: 30px;
   background: #101010;
   box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
}

.char-dham-card img {
   width: 100%;
   height: 100%;
   display: block;
   object-fit: cover;
   transform: scale(1.02);
   transition: transform 0.65s ease, filter 0.65s ease;
}

.char-dham-card::before {
   content: "";
   position: absolute;
   inset: 14px;
   z-index: 1;
   border: 1px solid rgba(255, 255, 255, 0.14);
   border-radius: 24px;
   pointer-events: none;
}

.char-dham-card::after {
   content: "";
   position: absolute;
   inset: 0;
   background:
      linear-gradient(180deg, rgba(4, 4, 4, 0.04), rgba(4, 4, 4, 0.22) 40%, rgba(4, 4, 4, 0.9)),
      radial-gradient(circle at 50% 15%, rgba(255, 184, 77, 0.22), transparent 34%);
}

.char-dham-card:hover img {
   transform: scale(1.08);
   filter: saturate(1.08) contrast(1.05);
}

.char-dham-card__content {
   position: absolute;
   left: 22px;
   right: 22px;
   bottom: 22px;
   z-index: 2;
}

.char-dham-card__content span {
   display: inline-flex;
   align-items: center;
   min-height: 30px;
   padding: 0 12px;
   border-radius: 999px;
   color: #160807;
   background: linear-gradient(135deg, #fff0b3, #ffad2f 52%, #ff3d26);
   font-size: 10px;
   font-weight: 1000;
   letter-spacing: 0.12em;
   text-transform: uppercase;
}

.char-dham-card__content h3 {
   margin: 16px 0 0;
   color: var(--page-heading);
   font-size: clamp(1.55rem, 2.4vw, 2.55rem);
   line-height: 0.98;
   font-weight: 1000;
}

.char-dham-card__content p {
   margin: 12px 0 0;
   color: rgba(255, 248, 235, 0.74);
   font-weight: 700;
   line-height: 1.58;
}

@media (max-width: 991.98px) {
   .unipole-location-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px;
   }

   .service-page--retail #locations .unipole-location-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   .char-dham-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px;
   }

   .unipole-location-card {
      min-height: 360px;
      border-radius: 26px;
   }

   .char-dham-card {
      min-height: 380px;
      border-radius: 26px;
   }
}

@media (max-width: 575.98px) {
   .unipole-location-grid {
      grid-template-columns: 1fr;
   }

   .service-page--retail #locations .unipole-location-grid {
      grid-template-columns: 1fr;
   }

   .char-dham-grid {
      grid-template-columns: 1fr;
   }

   .unipole-location-card {
      min-height: 330px;
      border-radius: 24px;
   }

   .char-dham-card {
      min-height: 340px;
      border-radius: 24px;
   }

   .unipole-location-card__content {
      left: 14px;
      right: 14px;
      bottom: 14px;
      padding: 17px;
      border-radius: 20px;
   }

   .char-dham-card__content {
      left: 18px;
      right: 18px;
      bottom: 18px;
   }
}

.unipole-location-orbit {
   position: relative;
   z-index: 1;
   overflow: hidden;
   padding: 28px;
   border: 1px solid rgba(255, 255, 255, 0.1);
   border-radius: 34px;
   background:
      radial-gradient(circle at 10% 18%, rgba(12, 214, 222, 0.14), transparent 30%),
      radial-gradient(circle at 92% 18%, rgba(255, 61, 38, 0.22), transparent 34%),
      linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.025)),
      rgba(8, 8, 8, 0.94);
   box-shadow: 0 28px 90px rgba(0, 0, 0, 0.36);
}

.unipole-location-orbit::before {
   content: "";
   position: absolute;
   inset: 50% auto auto 42px;
   width: calc(100% - 84px);
   height: 2px;
   background: linear-gradient(90deg, transparent, rgba(255, 61, 38, 0.64), rgba(20, 214, 224, 0.54), transparent);
   transform: translateY(-50%);
   opacity: 0.72;
}

.unipole-location-orbit__intro {
   position: relative;
   z-index: 2;
   max-width: 680px;
   margin: 0 auto 26px;
   text-align: center;
}

.unipole-location-orbit__intro span {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   color: var(--page-accent-strong);
   font-size: 12px;
   font-weight: 1000;
   letter-spacing: 0.16em;
   text-transform: uppercase;
}

.unipole-location-orbit__intro span::before,
.unipole-location-orbit__intro span::after {
   content: "";
   width: 30px;
   height: 2px;
   border-radius: 999px;
   background: currentColor;
}

.unipole-location-orbit__intro strong {
   display: block;
   margin-top: 12px;
   color: var(--page-heading);
   font-size: clamp(1.35rem, 2.4vw, 2.25rem);
   line-height: 1.08;
}

.unipole-location-orbit__intro p {
   max-width: 620px;
   margin: 12px auto 0;
   color: rgba(255, 248, 235, 0.68);
   font-weight: 700;
   line-height: 1.65;
}

.unipole-location-orbit__scroll {
   position: relative;
   z-index: 2;
   display: grid;
   grid-auto-flow: column;
   grid-auto-columns: calc((100% - 48px) / 3);
   gap: 24px;
   overflow-x: auto;
   overflow-y: hidden;
   scroll-snap-type: x mandatory;
   overscroll-behavior-inline: contain;
   padding: 8px 4px 18px;
   scrollbar-color: var(--page-accent-strong) rgba(255, 255, 255, 0.08);
   scrollbar-width: thin;
}

.unipole-location-orbit__scroll::-webkit-scrollbar {
   height: 8px;
}

.unipole-location-orbit__scroll::-webkit-scrollbar-track {
   border-radius: 999px;
   background: rgba(255, 255, 255, 0.08);
}

.unipole-location-orbit__scroll::-webkit-scrollbar-thumb {
   border-radius: 999px;
   background: linear-gradient(90deg, var(--page-accent-strong), var(--page-accent));
}

.unipole-location-circle {
   position: relative;
   min-height: 320px;
   aspect-ratio: 1 / 1;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 10px;
   scroll-snap-align: start;
   overflow: hidden;
   border: 1px solid rgba(255, 255, 255, 0.12);
   border-radius: 50%;
   padding: 34px;
   text-align: center;
   background:
      radial-gradient(circle at 50% 18%, rgba(255, 255, 255, 0.1), transparent 34%),
      radial-gradient(circle at 50% 100%, rgba(255, 61, 38, 0.2), transparent 44%),
      rgba(14, 14, 14, 0.9);
   box-shadow:
      inset 0 0 0 12px rgba(255, 255, 255, 0.025),
      0 22px 60px rgba(0, 0, 0, 0.28);
}

.unipole-location-circle::before {
   content: "";
   position: absolute;
   inset: 18px;
   border: 1px dashed rgba(255, 255, 255, 0.14);
   border-radius: 50%;
}

.unipole-location-circle i {
   position: relative;
   z-index: 1;
   width: 58px;
   height: 58px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   border-radius: 50%;
   color: #120806;
   background: linear-gradient(135deg, #fff8eb, #ffad2f 52%, #ff3d26);
   box-shadow: 0 16px 36px rgba(255, 61, 38, 0.28);
}

.unipole-location-circle span {
   position: relative;
   z-index: 1;
   color: var(--page-accent-strong);
   font-size: 12px;
   font-weight: 1000;
   letter-spacing: 0.2em;
}

.unipole-location-circle h3 {
   position: relative;
   z-index: 1;
   margin: 0;
   color: var(--page-heading);
   font-size: clamp(1.45rem, 2.4vw, 2.4rem);
   line-height: 1;
   font-weight: 1000;
}

.unipole-location-circle p {
   position: relative;
   z-index: 1;
   max-width: 210px;
   margin: 0;
   color: rgba(255, 248, 235, 0.68);
   font-size: 0.96rem;
   font-weight: 700;
   line-height: 1.48;
}

@media (max-width: 991.98px) {
   .unipole-location-orbit {
      padding: 22px;
      border-radius: 28px;
   }

   .unipole-location-orbit::before {
      display: none;
   }

   .unipole-location-orbit__scroll {
      grid-auto-columns: minmax(250px, 58%);
      gap: 16px;
   }

   .unipole-location-circle {
      min-height: 250px;
      padding: 26px;
   }
}

@media (max-width: 575.98px) {
   .unipole-location-orbit {
      padding: 18px 14px;
      border-radius: 24px;
   }

   .unipole-location-orbit__intro span::before,
   .unipole-location-orbit__intro span::after {
      width: 18px;
   }

   .unipole-location-orbit__scroll {
      grid-auto-columns: 82%;
      padding-bottom: 16px;
   }

   .unipole-location-circle {
      min-height: 236px;
      padding: 24px;
   }

   .unipole-location-circle i {
      width: 50px;
      height: 50px;
   }
}

.showcase-grid {
   position: relative;
   z-index: 1;
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 20px;
}

.showcase-card {
   position: relative;
   min-height: 420px;
   border: 1px solid rgba(255, 255, 255, 0.08);
   border-radius: 30px;
   overflow: hidden;
   background: #0d0d0d;
}

.showcase-card img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.showcase-card::after {
   content: "";
   position: absolute;
   inset: 0;
   background: linear-gradient(180deg, rgba(7, 7, 7, 0.08) 0%, rgba(7, 7, 7, 0.84) 100%);
}

.showcase-card__content {
   position: absolute;
   left: 22px;
   right: 22px;
   bottom: 22px;
   z-index: 1;
   padding: 20px 22px;
   border: 1px solid rgba(255, 255, 255, 0.08);
   border-radius: 24px;
   background: rgba(8, 8, 8, 0.54);
   backdrop-filter: blur(10px);
}

.showcase-card__content span {
   display: inline-flex;
   align-items: center;
   min-height: 28px;
   padding: 0 12px;
   border-radius: 999px;
   color: #120a06;
   background: linear-gradient(135deg, var(--page-accent-strong), var(--page-accent));
   font-size: 10px;
   font-weight: 900;
   letter-spacing: 0.12em;
   text-transform: uppercase;
}

.showcase-card__content h3 {
   margin: 14px 0 0;
   color: var(--page-heading);
   font-size: 1.35rem;
   font-weight: 900;
}

.showcase-card__content p {
   margin: 10px 0 0;
   color: rgba(255, 248, 235, 0.72);
   line-height: 1.62;
}

.campaign-rail {
   position: relative;
   z-index: 1;
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 16px;
}

.campaign-rail article {
   padding: 24px 22px;
   border: 1px solid rgba(255, 255, 255, 0.08);
   border-radius: 28px;
   background: rgba(255, 255, 255, 0.04);
}

.campaign-rail strong {
   display: block;
   color: var(--page-highlight);
   font-size: 15px;
   font-weight: 900;
   letter-spacing: 0.08em;
   text-transform: uppercase;
}

.campaign-rail p {
   margin: 12px 0 0;
   color: rgba(255, 248, 235, 0.7);
   line-height: 1.62;
}

.pricing-cta {
   position: relative;
   z-index: 1;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 24px;
   margin-top: 26px;
   padding: 34px 32px;
   min-height: 220px;
   border-radius: 30px;
   border: 1px solid rgba(255, 255, 255, 0.1);
   background:
      radial-gradient(circle at 12% 22%, rgba(255, 61, 31, 0.22), transparent 46%),
      linear-gradient(135deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.03)),
      rgba(7, 7, 7, 0.72);
   box-shadow: 0 34px 90px rgba(0, 0, 0, 0.28);
   backdrop-filter: blur(16px);
   overflow: hidden;
}

.pricing-cta::before {
   content: "";
   position: absolute;
   inset: 0;
   background: linear-gradient(115deg, transparent 0%, rgba(255, 255, 255, 0.16) 42%, transparent 64%);
   transform: translateX(-120%);
   pointer-events: none;
}

.pricing-cta:hover::before {
   animation: galaxyShine 0.9s ease;
}

.pricing-cta__left,
.pricing-cta__copy {
   max-width: 640px;
}

.pricing-cta__eyebrow {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   margin-bottom: 12px;
   color: rgba(255, 248, 235, 0.74);
   font-size: 12px;
   font-weight: 900;
   letter-spacing: 0.18em;
   text-transform: uppercase;
}

.pricing-cta__eyebrow::before {
   content: "";
   width: 34px;
   height: 3px;
   border-radius: 99px;
   background: linear-gradient(90deg, var(--page-accent), var(--page-accent-strong));
}

.pricing-cta__left h3,
.pricing-cta__copy h3 {
   margin: 0;
   color: var(--page-heading);
   font-size: clamp(1.6rem, 2.6vw, 2.2rem);
   line-height: 1.08;
   font-weight: 1000;
   letter-spacing: -0.03em;
}

.pricing-cta__left p,
.pricing-cta__copy p {
   margin: 12px 0 0;
   color: rgba(255, 248, 235, 0.7);
   line-height: 1.7;
}

.pricing-cta__points {
   margin: 18px 0 0;
   padding: 0;
   list-style: none;
   display: grid;
   gap: 10px;
   color: rgba(255, 248, 235, 0.78);
   font-weight: 700;
}

.pricing-cta__points li {
   display: flex;
   align-items: center;
   gap: 10px;
}

.pricing-cta__points i {
   width: 34px;
   min-width: 34px;
   height: 34px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   border-radius: 12px;
   color: #0e0906;
   background: linear-gradient(135deg, var(--page-accent-strong), var(--page-accent));
   box-shadow: 0 16px 38px rgba(255, 61, 31, 0.2);
}

.pricing-cta__actions {
   display: flex;
   flex-direction: column;
   align-items: flex-end;
   justify-content: flex-end;
   gap: 12px;
   flex: 0 0 auto;
   min-width: 240px;
}

.pricing-cta__actions a {
   width: 240px;
}

.pricing-cta__primary {
   min-height: 58px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 10px;
   padding: 0 26px;
   border-radius: 999px;
   border: 1px solid rgba(255, 255, 255, 0.08);
   color: #0e0906;
   background: linear-gradient(135deg, var(--page-accent-strong), var(--page-accent));
   font-weight: 1000;
   box-shadow: 0 22px 58px rgba(255, 61, 31, 0.24);
}

.pricing-cta__primary:hover {
   color: #fff7e8;
   background: rgba(255, 255, 255, 0.06);
}

.pricing-cta__btn {
   min-height: 58px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 10px;
   padding: 0 20px;
   border-radius: 999px;
   border: 1px solid rgba(255, 255, 255, 0.12);
   color: #fff7e8;
   background: rgba(255, 255, 255, 0.05);
   box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
   font-weight: 900;
}

.pricing-cta__btn:hover {
   transform: none;
   color: #fff;
   border-color: rgba(255, 61, 31, 0.65);
}

.pricing-cta__btn--wa i {
   color: #25d366;
}

@media (max-width: 991.98px) {
   .pricing-cta {
      flex-direction: column;
      align-items: stretch;
      padding: 24px;
      min-height: auto;
   }

   .pricing-cta__actions {
      justify-content: stretch;
      flex-direction: column;
      align-items: stretch;
      min-width: 0;
   }

   .pricing-cta__actions a {
      width: 100%;
   }
}

.ooh-hub {
   position: relative;
   z-index: 1;
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 18px;
}

.hub-card {
   position: relative;
   display: grid;
   gap: 14px;
   padding: 26px 26px 22px;
   border-radius: 28px;
   border: 1px solid rgba(255, 255, 255, 0.1);
   background:
      radial-gradient(circle at 18% 18%, rgba(255, 61, 31, 0.18), transparent 44%),
      linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02)),
      rgba(7, 7, 7, 0.7);
   box-shadow: 0 28px 76px rgba(0, 0, 0, 0.22);
   backdrop-filter: blur(14px);
   overflow: hidden;
}

.hub-card::after {
   content: "";
   position: absolute;
   inset: 0;
   opacity: 0;
   background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(255, 61, 31, 0.22), transparent 38%);
   transition: opacity 0.22s ease;
}

.hub-card:hover::after {
   opacity: 1;
}

.hub-card__icon {
   position: relative;
   width: 56px;
   height: 56px;
   border-radius: 20px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   color: #0e0906;
   background: linear-gradient(135deg, var(--page-accent-strong), var(--page-accent));
   box-shadow: 0 18px 40px rgba(255, 61, 31, 0.22);
}

.hub-card h3,
.hub-card p,
.hub-card__meta {
   position: relative;
   z-index: 1;
}

.hub-card h3 {
   margin: 0;
   color: var(--page-heading);
   font-size: 1.35rem;
   line-height: 1.15;
   font-weight: 1000;
}

.hub-card p {
   margin: 0;
   color: rgba(255, 248, 235, 0.72);
   line-height: 1.65;
}

.hub-card__meta {
   margin-top: 4px;
   display: inline-flex;
   align-items: center;
   gap: 10px;
   color: rgba(255, 248, 235, 0.82);
   font-weight: 900;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   font-size: 12px;
}

.hub-card__meta i {
   transition: transform 0.25s ease;
}

.hub-card:hover .hub-card__meta i {
   transform: translateX(4px);
}

.ooh-hub__actions {
   position: relative;
   z-index: 1;
   margin-top: 22px;
   display: flex;
   flex-wrap: wrap;
   justify-content: flex-end;
   gap: 12px;
}

@media (max-width: 1199px) {
   .ooh-hub {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }
}

@media (max-width: 767px) {
   .ooh-hub {
      grid-template-columns: 1fr;
   }

   .ooh-hub__actions {
      justify-content: stretch;
   }

   .ooh-hub__actions a {
      width: 100%;
   }
}

.faq-shell {
   position: relative;
   z-index: 1;
   display: grid;
   grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
   gap: 28px;
   align-items: start;
}

.faq-intro,
.faq-list {
   border: 1px solid rgba(255, 255, 255, 0.08);
   border-radius: 32px;
   background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03)),
      rgba(9, 9, 9, 0.88);
}

.faq-intro {
   padding: 34px;
}

.faq-intro h3 {
   margin: 16px 0 0;
   color: var(--page-heading);
   font-size: clamp(1.8rem, 3vw, 3rem);
   line-height: 1.05;
   font-weight: 1000;
}

.faq-intro p {
   margin: 16px 0 0;
   color: var(--page-copy);
   line-height: 1.75;
}

.faq-list {
   padding: 14px;
}

.faq-item {
   border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.faq-item:last-child {
   border-bottom: 0;
}

.faq-item summary {
   list-style: none;
   cursor: pointer;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 16px;
   padding: 22px 18px;
   color: var(--page-heading);
   font-size: 1.04rem;
   font-weight: 900;
}

.faq-item summary::-webkit-details-marker {
   display: none;
}

.faq-item summary span {
   width: 34px;
   min-width: 34px;
   height: 34px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   border-radius: 50%;
   color: #120a06;
   background: linear-gradient(135deg, var(--page-accent-strong), var(--page-accent));
   font-size: 1rem;
}

.faq-item p {
   margin: 0;
   padding: 0 18px 22px;
   color: rgba(255, 248, 235, 0.7);
   line-height: 1.72;
}

.service-cta {
   position: relative;
   overflow: hidden;
   padding: 88px 0;
   color: #fff;
   background:
      linear-gradient(118deg, rgba(8, 8, 8, 0.94), rgba(13, 11, 8, 0.78)),
      url("../images/clients/portfolio/Shivalik-Nagar-Chowk-1.jpg");
   background-size: cover;
   background-position: center;
}

.service-cta::before {
   content: "";
   position: absolute;
   inset: 0;
   background: radial-gradient(circle at 18% 20%, rgba(255, 183, 71, 0.18), transparent 24%);
}

.service-cta__inner {
   position: relative;
   z-index: 1;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 28px;
}

.service-cta h2 {
   max-width: 760px;
   margin: 0;
   color: #fff7e8;
   font-size: clamp(2rem, 4vw, 4.3rem);
   line-height: 1.04;
   font-weight: 1000;
   letter-spacing: -0.025em;
}

.service-cta__meta {
   display: grid;
   gap: 12px;
}

.service-cta__meta a {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   color: rgba(255, 248, 235, 0.84);
   font-weight: 900;
}

.footer-two.footer-cmn.section {
   position: relative;
   overflow: hidden;
   padding: 44px 0 0 !important;
   background:
      radial-gradient(circle at 8% 10%, rgba(255, 61, 31, 0.13), transparent 24%),
      linear-gradient(135deg, #050505 0%, #0b0b0b 54%, #120905 100%) !important;
}

.footer-two.footer-cmn.section::before {
   content: "GALAXY";
   position: absolute;
   right: -24px;
   bottom: 18px;
   color: rgba(255, 255, 255, 0.035);
   font-size: clamp(5rem, 14vw, 12rem);
   line-height: 0.8;
   font-weight: 1000;
   letter-spacing: -0.08em;
   pointer-events: none;
}

.footer-two .gaper {
   position: relative;
   z-index: 1;
   align-items: center;
   row-gap: 20px;
}

.footer-two__left {
   display: grid;
   gap: 14px;
}

.footer-two__left .logo img {
   width: 118px !important;
}

.footer-two__left .paragraph p {
   max-width: 520px;
   color: rgba(255, 255, 255, 0.66) !important;
   font-size: 15px;
   line-height: 1.55;
}

.footer-service-tags {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
}

.footer-service-tags span {
   display: inline-flex;
   align-items: center;
   min-height: 30px;
   padding: 0 12px;
   border: 1px solid rgba(255, 255, 255, 0.12);
   border-radius: 999px;
   color: var(--primary-color);
   background: rgba(255, 255, 255, 0.04);
   font-size: 11px;
   line-height: 1;
   font-weight: 900;
   letter-spacing: 0.06em;
   text-transform: uppercase;
}

.footer-two .section__content-cta,
.footer-two .footer__single-meta.section__content-cta {
   margin-top: 0 !important;
}

.footer-two .folks-text {
   color: #fff !important;
   font-size: clamp(1.05rem, 1.65vw, 1.55rem);
   line-height: 1.15;
   word-break: break-word;
}

.footer-two__right {
   display: grid;
   gap: 16px;
   justify-items: start;
   padding: 22px;
   border: 1px solid rgba(255, 255, 255, 0.09);
   border-radius: 24px;
   background: rgba(255, 255, 255, 0.035);
   backdrop-filter: blur(14px);
}

.footer-two .social {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
}

.footer-two .social a {
   width: auto;
   min-width: 0;
   height: 38px;
   display: inline-flex;
   align-items: center;
   gap: 8px;
   padding: 0 14px;
   border: 1px solid rgba(255, 255, 255, 0.12);
   border-radius: 999px;
   color: #fff;
   background: rgba(255, 255, 255, 0.05);
   font-size: 13px;
   line-height: 1;
   font-weight: 800;
}

.footer-two .social a:hover {
   color: #0b0b0b;
   background: var(--primary-color);
}

.footer-two .footer__single-meta {
   display: grid;
   gap: 10px;
}

.footer-two .footer__single-meta a {
   display: flex;
   align-items: flex-start;
   gap: 10px;
   color: rgba(255, 255, 255, 0.7);
   font-size: 14px;
   line-height: 1.45;
}

.footer-two .footer__single-meta i {
   width: 28px;
   min-width: 28px;
   height: 28px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   border-radius: 50%;
   color: var(--primary-color);
   background: rgba(255, 61, 31, 0.12);
}

.footer-two .footer__copyright {
   position: relative;
   z-index: 1;
   margin-top: 26px;
   padding: 14px 0 !important;
   border-top: 1px solid rgba(255, 255, 255, 0.08);
   background: rgba(0, 0, 0, 0.28);
}

.footer-two .footer__copyright .gaper {
   row-gap: 0;
}

.footer-two .footer__copyright-text p {
   margin: 0;
   color: rgba(255, 255, 255, 0.58);
   font-size: 13px;
   line-height: 1.4;
}

.footer-two .footer__copyright-text a {
   color: var(--primary-color);
   font-size: inherit;
   line-height: inherit;
}

/* City-wise advertising pages */
.service-page--city {
   --city-accent: #ff4d27;
   --city-accent-soft: rgba(255, 77, 39, 0.16);
   --city-accent-strong: rgba(255, 77, 39, 0.34);
   --city-ink: #f7f4ef;
   --city-muted: rgba(255, 255, 255, 0.68);
   background: #070909;
}

.service-page--dehradun {
   --city-accent: #ff8a24;
   --city-accent-soft: rgba(255, 138, 36, 0.16);
   --city-accent-strong: rgba(255, 138, 36, 0.34);
}

.service-page--haridwar {
   --city-accent: #ffb84d;
   --city-accent-soft: rgba(255, 184, 77, 0.16);
   --city-accent-strong: rgba(255, 184, 77, 0.32);
}

.service-page--rishikesh {
   --city-accent: #ff7a2f;
   --city-accent-soft: rgba(255, 122, 47, 0.15);
   --city-accent-strong: rgba(255, 122, 47, 0.3);
}

.service-page--haldwani {
   --city-accent: #ff9f2f;
   --city-accent-soft: rgba(255, 159, 47, 0.14);
   --city-accent-strong: rgba(255, 159, 47, 0.28);
}

.service-page--roorkee {
   --city-accent: #ff684a;
   --city-accent-soft: rgba(255, 104, 74, 0.16);
   --city-accent-strong: rgba(255, 104, 74, 0.32);
}

.city-hero .service-badge-row span {
   border-color: var(--city-accent-strong);
   background: var(--city-accent-soft);
}

.city-hero {
   min-height: calc(100vh - 80px);
   padding-top: 158px;
   padding-bottom: 92px;
}

.city-hero .service-hero__grid {
   align-items: center;
}

.city-hero .service-hero__copy {
   align-self: center;
   padding-top: 10px;
}

.city-section .service-kicker,
.city-zone-card i,
.city-checklist i {
   color: var(--city-accent);
}

.city-hero__media {
   overflow: hidden;
   border: 1px solid rgba(255, 255, 255, 0.1);
   border-radius: 30px;
   background:
      radial-gradient(circle at 20% 20%, var(--city-accent-soft), transparent 32%),
      linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.015));
}

.city-hero-card {
   position: absolute;
   margin: 0;
   overflow: hidden;
   border: 1px solid rgba(255, 255, 255, 0.12);
   border-radius: 26px;
   background: #111;
   box-shadow: 0 26px 70px rgba(0, 0, 0, 0.42);
}

.city-hero-card img,
.city-image-stack img {
   width: 100%;
   height: 100%;
   display: block;
   object-fit: cover;
}

.city-hero-card--primary {
   inset: 54px 42px 122px 42px;
}

.city-hero-card--secondary {
   right: 26px;
   bottom: 34px;
   width: 46%;
   aspect-ratio: 4 / 3;
}

.city-hero-card figcaption {
   position: absolute;
   left: 16px;
   right: 16px;
   bottom: 14px;
   display: inline-flex;
   align-items: center;
   gap: 8px;
   width: fit-content;
   max-width: calc(100% - 32px);
   padding: 10px 13px;
   border-radius: 999px;
   color: #fff;
   background: rgba(0, 0, 0, 0.72);
   backdrop-filter: blur(10px);
   font-size: 12px;
   font-weight: 800;
   line-height: 1.2;
}

.city-section {
   position: relative;
   overflow: hidden;
   background:
      radial-gradient(circle at 12% 20%, var(--city-accent-soft), transparent 28%),
      #090b0b;
}

.city-section--alt {
   background:
      linear-gradient(135deg, rgba(255, 255, 255, 0.035), transparent 36%),
      #060808;
}

.city-section__head {
   max-width: 850px;
   margin-bottom: 34px;
}

.city-section__head h2,
.city-split h2,
.city-cta h2 {
   color: var(--city-ink);
   font-size: clamp(2rem, 4vw, 4.6rem);
   line-height: 0.98;
   margin-bottom: 14px;
}

.city-section__head p,
.city-split p,
.city-cta p {
   color: var(--city-muted);
   font-size: 17px;
   line-height: 1.75;
}

.city-zone-grid {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 18px;
}

.city-zone-card {
   min-height: 260px;
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   padding: 24px;
   border: 1px solid rgba(255, 255, 255, 0.1);
   border-radius: 22px;
   background: rgba(255, 255, 255, 0.045);
}

.city-zone-card i {
   width: 46px;
   height: 46px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   border-radius: 16px;
   background: var(--city-accent-soft);
   font-size: 20px;
}

.city-zone-card h3 {
   color: #fff;
   font-size: 24px;
   line-height: 1.08;
   margin: 26px 0 12px;
}

.city-zone-card p {
   color: rgba(255, 255, 255, 0.66);
   line-height: 1.65;
   margin: 0;
}

.city-split {
   display: grid;
   grid-template-columns: 0.85fr 1.15fr;
   gap: 44px;
   align-items: center;
}

.city-checklist {
   display: grid;
   gap: 14px;
   margin-top: 26px;
}

.city-checklist li {
   display: flex;
   align-items: flex-start;
   gap: 12px;
   color: rgba(255, 255, 255, 0.78);
   line-height: 1.55;
}

.city-checklist i {
   margin-top: 4px;
}

.city-image-stack {
   display: grid;
   grid-template-columns: 1.1fr 0.9fr;
   gap: 16px;
   min-height: 430px;
}

.city-image-stack figure {
   position: relative;
   overflow: hidden;
   margin: 0;
   border-radius: 26px;
   border: 1px solid rgba(255, 255, 255, 0.1);
   background: #111;
}

.city-image-stack figure:nth-child(2) {
   margin-top: 54px;
}

.city-cta {
   padding: 92px 0;
   background:
      radial-gradient(circle at 80% 0%, var(--city-accent-soft), transparent 32%),
      #050606;
}

.city-cta__inner {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 30px;
   padding: 36px;
   border: 1px solid var(--city-accent-strong);
   border-radius: 28px;
   background: rgba(255, 255, 255, 0.045);
}

.city-cta .service-btn {
   flex: 0 0 auto;
}

.city-char-dham {
   position: relative;
   overflow: hidden;
   background:
      radial-gradient(circle at 82% 14%, var(--city-accent-soft), transparent 28%),
      linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.015)),
      #080909;
}

.city-char-dham__grid {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 18px;
}

.city-char-dham__card {
   min-height: 330px;
   position: relative;
   overflow: hidden;
   border-radius: 26px;
   border: 1px solid rgba(255, 255, 255, 0.1);
   background: #101010;
}

.city-char-dham__card img {
   width: 100%;
   height: 100%;
   display: block;
   object-fit: cover;
   transform: scale(1.03);
   transition: transform 0.55s ease;
}

.city-char-dham__card::after {
   content: "";
   position: absolute;
   inset: 0;
   background: linear-gradient(180deg, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.84));
}

.city-char-dham__card:hover img {
   transform: scale(1.09);
}

.city-char-dham__content {
   position: absolute;
   z-index: 1;
   left: 18px;
   right: 18px;
   bottom: 18px;
   padding: 18px;
   border-radius: 20px;
   background: rgba(0, 0, 0, 0.58);
   backdrop-filter: blur(14px);
}

.city-char-dham__content span {
   display: inline-flex;
   margin-bottom: 8px;
   color: var(--city-accent);
   font-size: 12px;
   font-weight: 900;
   letter-spacing: 0.12em;
   text-transform: uppercase;
}

.city-char-dham__content h3 {
   margin: 0;
   color: #fff;
   font-size: 24px;
   line-height: 1.08;
}

.city-char-dham__content p {
   margin: 10px 0 0;
   color: rgba(255, 255, 255, 0.7);
   line-height: 1.55;
}

.city-contact {
   position: relative;
   overflow: hidden;
   background:
      radial-gradient(circle at 10% 20%, var(--city-accent-soft), transparent 26%),
      #050606;
}

.city-contact__wrap {
   display: grid;
   grid-template-columns: minmax(0, 0.95fr) minmax(420px, 1.05fr);
   gap: 22px;
   align-items: stretch;
}

.city-contact__map,
.city-contact__form {
   position: relative;
   overflow: hidden;
   border-radius: 28px;
   border: 1px solid rgba(255, 255, 255, 0.1);
   background:
      radial-gradient(circle at 18% 16%, var(--city-accent-soft), transparent 32%),
      linear-gradient(145deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.018)),
      rgba(10, 10, 10, 0.88);
   box-shadow: 0 28px 90px rgba(0, 0, 0, 0.32);
}

.city-contact__map {
   min-height: 560px;
   display: grid;
}

.city-contact__map iframe {
   width: 100%;
   height: 100%;
   min-height: 560px;
   border: 0;
   filter: grayscale(0.28) contrast(1.08);
}

.city-contact__address {
   position: absolute;
   left: 20px;
   right: 20px;
   bottom: 20px;
   padding: 18px;
   border-radius: 20px;
   background: rgba(0, 0, 0, 0.68);
   backdrop-filter: blur(14px);
}

.city-contact__address strong {
   display: block;
   color: var(--city-accent);
   font-size: 13px;
   font-weight: 900;
   letter-spacing: 0.12em;
   text-transform: uppercase;
}

.city-contact__address p {
   margin: 8px 0 0;
   color: rgba(255, 255, 255, 0.78);
   line-height: 1.55;
}

.city-contact__form {
   padding: 32px;
}

.city-contact__form-head {
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
   gap: 18px;
   margin-bottom: 24px;
}

.city-contact__form-head span {
   color: var(--city-accent);
   font-size: 12px;
   font-weight: 900;
   letter-spacing: 0.16em;
   text-transform: uppercase;
}

.city-contact__form-head h3 {
   margin: 8px 0 0;
   color: #fff;
   font-size: clamp(1.8rem, 3vw, 3.1rem);
   line-height: 1.02;
}

.city-contact__form-badge {
   width: 54px;
   min-width: 54px;
   height: 54px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   border-radius: 18px;
   color: #080808;
   background: var(--city-accent);
}

.city-contact__form form {
   display: grid;
   gap: 14px;
}

.city-contact__group {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 14px;
}

.city-contact__field input,
.city-contact__field select,
.city-contact__field textarea {
   width: 100%;
   min-height: 56px;
   border: 1px solid rgba(255, 255, 255, 0.1);
   border-radius: 16px;
   padding: 0 16px;
   color: #fff;
   background: rgba(255, 255, 255, 0.06);
}

.city-contact__field textarea {
   min-height: 128px;
   padding-top: 16px;
}

.city-contact__field input::placeholder,
.city-contact__field textarea::placeholder {
   color: rgba(255, 255, 255, 0.5);
}

.city-contact__field select option {
   color: #111;
}

.city-contact__form .service-btn {
   width: fit-content;
   margin-top: 6px;
}

@media (max-width: 1199px) {
   .service-hero__grid,
   .location-panel,
   .signature-band,
   .faq-shell,
   .city-split {
      grid-template-columns: 1fr;
   }

   .service-hero {
      min-height: auto;
   }

   .service-stage {
      min-height: 540px;
   }

   .service-grid,
   .showcase-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   .campaign-rail {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   .city-zone-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   .city-char-dham__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   .city-contact__wrap {
      grid-template-columns: 1fr;
   }

   .city-hero-card--primary {
      inset: 44px 36px 116px;
   }

   .city-hero {
      padding-top: 142px;
      padding-bottom: 82px;
   }
}

@media (max-width: 991px) {
   .footer-two.footer-cmn.section {
      padding-top: 34px !important;
   }

   .footer-two__right {
      padding: 18px;
   }
}

@media (max-width: 767px) {
   .service-page {
      overflow-x: hidden;
   }

   .service-page .container,
   .service-page .container-fluid {
      max-width: 100%;
      min-width: 0;
   }

   .service-page .service-nav__inner {
      min-height: 74px;
   }

   .service-page .service-nav__links {
      display: none;
   }

   .service-page .service-nav__menu,
   .service-page .service-nav__menu--nested {
      width: 280px;
   }

   .service-page .service-nav__cta {
      min-height: 42px;
      padding: 0 14px;
      font-size: 11px;
   }

   .service-hero {
      padding-top: 108px;
      padding-bottom: 86px;
      overflow: hidden;
   }

   .service-hero .container {
      width: 100% !important;
      max-width: 100vw !important;
      padding-left: 16px !important;
      padding-right: 16px !important;
      overflow: hidden;
   }

   .city-hero {
      padding-top: 118px;
      padding-bottom: 74px;
   }

   .city-hero .service-hero__copy {
      padding-top: 0;
   }

   .city-hero .service-badge-row {
      gap: 8px;
   }

   .city-hero .service-badge-row span {
      min-height: 34px;
      font-size: 10px;
      letter-spacing: 0.05em;
   }

   .service-hero__grid,
   .service-hero__copy,
   .service-stage,
   .service-actions,
   .service-trust {
      width: min(100%, 340px) !important;
      max-width: min(100%, 340px) !important;
      min-width: 0 !important;
   }

   .service-hero__grid {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 28px;
   }

   .service-kicker,
   .service-badge-row {
      max-width: calc(100vw - 48px);
      white-space: normal;
      overflow-wrap: anywhere;
   }

   .service-badge-row span {
      max-width: 100%;
      white-space: normal;
      line-height: 1.25;
      padding-top: 7px;
      padding-bottom: 7px;
   }

   .service-hero h1 {
      max-width: 100%;
      font-size: clamp(1.62rem, 7.6vw, 2.48rem);
      line-height: 1.08;
      letter-spacing: 0;
      overflow-wrap: normal;
      word-break: normal;
   }

   .service-page--unipole .service-hero h1 {
      max-width: 100%;
      font-size: clamp(1.62rem, 7.6vw, 2.48rem);
      line-height: 1.08;
   }

   .service-hero h1 span,
   .service-hero h1 span > span {
      overflow: visible;
      display: inline !important;
      white-space: normal !important;
      transform: none !important;
      opacity: 1 !important;
      visibility: visible !important;
   }

   .service-hero__copy p,
   .service-actions,
   .service-trust,
   .service-stage,
   .service-stage__photo,
   .service-stage__shot,
   .service-stage__chip,
   .service-stage__label {
      transform: none !important;
      opacity: 1 !important;
      visibility: visible !important;
   }

   .service-hero__copy p {
      width: 100%;
      max-width: min(100%, 320px) !important;
      font-size: 15px;
      line-height: 1.7;
      white-space: normal !important;
      overflow-wrap: normal;
   }

   .service-actions {
      display: grid;
      grid-template-columns: 1fr;
      gap: 12px;
      max-width: min(100%, 340px) !important;
   }

   .service-trust {
      align-items: flex-start;
      border-radius: 20px;
      line-height: 1.35;
      white-space: normal;
   }

   .service-grid,
   .location-list,
   .showcase-grid,
   .campaign-rail,
   .city-zone-grid,
   .city-char-dham__grid,
   .city-contact__group,
   .city-image-stack {
      grid-template-columns: 1fr;
   }

   .service-actions .service-btn {
      width: 100%;
      max-width: 100%;
      text-align: center;
   }

   .service-stage {
      min-height: 500px;
   }

   .service-stage__photo {
      width: 82%;
   }

   .service-stage__shot {
      width: 58%;
      bottom: 76px;
   }

   .service-stage__chip {
      left: 24px;
      right: 24px;
      width: auto;
      max-width: calc(100% - 48px);
   }

   .service-stage__label {
      right: auto;
      left: 22px;
      top: 18px;
      max-width: calc(100% - 44px);
      font-size: 10px;
   }

   .service-section {
      padding: 76px 0;
   }

   .signature-band__panel,
   .faq-intro {
      padding: 26px;
   }

   .service-cta__inner {
      display: block;
   }

   .service-cta__meta {
      margin-top: 28px;
   }

   .footer-two .social a {
      width: auto;
      min-width: 42px;
      height: 42px;
      padding: 0 13px;
   }

   .city-hero__media {
      border-radius: 22px;
      min-height: 360px;
      margin-top: 4px;
   }

   .city-hero-card--primary {
      inset: 30px 20px 132px;
      border-radius: 20px;
   }

   .city-hero-card--secondary {
      right: 18px;
      bottom: 28px;
      width: 58%;
      border-radius: 18px;
   }

   .city-hero-card figcaption {
      left: 10px;
      right: 10px;
      bottom: 10px;
      max-width: calc(100% - 20px);
      font-size: 10px;
      padding: 8px 10px;
   }

   .city-zone-card {
      min-height: auto;
      padding: 22px;
      border-radius: 18px;
   }

   .city-section__head,
   .city-split,
   .city-cta__inner,
   .city-contact__wrap {
      width: 100%;
      max-width: 100%;
      min-width: 0;
   }

   .city-section__head h2,
   .city-split h2,
   .city-cta h2 {
      font-size: clamp(1.75rem, 8vw, 2.65rem);
      line-height: 1.08;
      letter-spacing: 0;
      overflow-wrap: normal;
   }

   .city-section__head p,
   .city-split p,
   .city-cta p,
   .city-checklist li {
      font-size: 15px;
      line-height: 1.68;
   }

   .city-zone-card h3,
   .city-char-dham__content h3 {
      font-size: 1.35rem;
   }

   .city-split {
      gap: 28px;
   }

   .city-image-stack {
      min-height: auto;
   }

   .city-image-stack figure {
      min-height: 260px;
      border-radius: 20px;
   }

   .city-image-stack figure:nth-child(2) {
      margin-top: 0;
   }

   .city-contact__map,
   .city-contact__map iframe {
      min-height: 390px;
   }

   .city-contact__address {
      left: 14px;
      right: 14px;
      bottom: 14px;
      padding: 14px;
      border-radius: 16px;
   }

   .city-contact__form {
      padding: 22px;
   }

   .city-contact__form-head h3 {
      font-size: clamp(1.55rem, 8vw, 2.2rem);
   }

   .city-contact__form .service-btn {
      width: 100%;
   }

   .city-cta {
      padding: 72px 0;
   }

   .city-cta__inner {
      display: grid;
      padding: 24px;
      border-radius: 20px;
   }

   .city-cta .service-btn {
      width: 100%;
   }
}
