/* ============================================================
   RELIANCE POWER - sections part 4 (real-company content)
   ============================================================ */

/* =========================================================
   PRELOADER
   ========================================================= */
.preloader {
  position: fixed; inset: 0; z-index: 9999;
  background: var(--ink);
  display: flex; align-items: center; justify-content: center;
  transition: opacity 0.6s var(--ease), visibility 0.6s var(--ease);
}
.preloader.done {
  opacity: 0; visibility: hidden; pointer-events: none;
}
.preloader__inner {
  display: flex; flex-direction: column; align-items: center; gap: 28px;
}
.preloader__logo {
  height: 52px; width: auto;
  animation: preloaderPulse 1.4s var(--ease) infinite alternate;
}
@keyframes preloaderPulse {
  from { opacity: 0.5; transform: scale(0.96); }
  to   { opacity: 1;   transform: scale(1); }
}
.preloader__bar {
  width: 160px; height: 2px; border-radius: 100px;
  background: rgba(255,255,255,0.12); overflow: hidden;
}
.preloader__fill {
  height: 100%; width: 0%; border-radius: 100px;
  background: linear-gradient(90deg, var(--amber), var(--amber-2));
  animation: preloaderLoad 1.6s var(--ease) forwards;
}
@keyframes preloaderLoad {
  0%   { width: 0%; }
  60%  { width: 75%; }
  100% { width: 100%; }
}

/* =========================================================
   BACK TO TOP
   ========================================================= */
.btt {
  position: fixed; bottom: 28px; left: 28px; z-index: 90;
  width: 46px; height: 46px; border-radius: 50%;
  background: var(--ink); color: var(--cream);
  display: grid; place-items: center;
  box-shadow: 0 6px 24px rgba(20,19,15,0.22);
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translateY(10px);
  transition: opacity 0.3s var(--ease), transform 0.3s var(--ease),
              visibility 0.3s var(--ease), background 0.25s var(--ease);
  cursor: pointer;
}
.btt.show {
  opacity: 1; visibility: visible; pointer-events: auto;
  transform: translateY(0);
}
.btt:hover { background: var(--amber); color: var(--ink); }

/* =========================================================
   COOKIE NOTICE
   ========================================================= */
.cookie-bar {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 500;
  background: rgba(20,19,15,0.96);
  backdrop-filter: blur(16px) saturate(1.2);
  -webkit-backdrop-filter: blur(16px) saturate(1.2);
  border-top: 1px solid rgba(255,255,255,0.08);
  padding: 16px clamp(18px, 4vw, 48px);
  display: flex; align-items: center; justify-content: space-between;
  gap: 20px; flex-wrap: wrap;
  transform: translateY(0);
  transition: transform 0.4s var(--ease), opacity 0.4s var(--ease);
}
.cookie-bar.hidden { transform: translateY(110%); opacity: 0; pointer-events: none; }
.cookie-bar p {
  color: rgba(255,255,255,0.7); font-size: 13.5px;
  flex: 1 1 280px; margin: 0;
}
.cookie-bar p a { color: var(--amber); text-decoration: underline; }
.cookie-bar__btns { display: flex; gap: 10px; flex: none; }
.cookie-accept {
  background: var(--amber); color: var(--ink);
  font-family: var(--display); font-weight: 600; font-size: 13.5px;
  padding: 10px 22px; border-radius: 100px; cursor: pointer;
  transition: background 0.2s var(--ease);
}
.cookie-accept:hover { background: var(--amber-2); color: #fff; }
.cookie-decline {
  color: rgba(255,255,255,0.5); font-size: 13px;
  padding: 10px 14px; cursor: pointer;
  transition: color 0.2s var(--ease);
}
.cookie-decline:hover { color: #fff; }

/* ---------- ABOUT vision/mission pair ---------- */
.vm {
  display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
  margin-top: clamp(34px, 4vw, 56px);
}
.vm__card {
  background: var(--paper); border: 1px solid var(--line-2); border-radius: 22px;
  padding: clamp(26px, 3vw, 40px);
  position: relative; overflow: hidden;
}
.vm__card::before {
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px;
  background: var(--amber);
}
.vm__k {
  font-family: var(--display); font-weight: 600; font-size: 13px;
  letter-spacing: 0.08em; text-transform: uppercase; color: var(--amber-2);
  display: flex; align-items: center; gap: 12px;
}
.vm__k .yr { color: var(--muted); }
.vm__card p {
  font-family: var(--display); font-weight: 500; letter-spacing: -0.015em;
  font-size: clamp(19px, 2vw, 25px); line-height: 1.32; margin-top: 18px;
}

/* ---------- SERVICE pillars with sub-lists ---------- */
.pillars { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.pillar {
  background: var(--cream); border: 1px solid var(--line-2); border-radius: 24px;
  padding: clamp(28px, 3vw, 42px); position: relative; overflow: hidden;
  transition: transform .5s var(--ease), box-shadow .5s var(--ease);
}
.pillar::after {
  content: ''; position: absolute; left: 0; right: 0; top: 0; height: 3px;
  background: var(--amber); transform: scaleX(0); transform-origin: left;
  transition: transform .55s var(--ease);
}
.pillar:hover { transform: translateY(-6px); box-shadow: 0 30px 64px rgba(20,19,15,0.12); }
.pillar:hover::after { transform: scaleX(1); }
.pillar__head { display: flex; align-items: flex-start; gap: 18px; }
.pillar__icon {
  flex: none; width: 60px; height: 60px; border-radius: 16px;
  background: var(--ink); color: var(--amber); display: grid; place-items: center;
  transition: transform .5s var(--ease);
}
.pillar:hover .pillar__icon { transform: rotate(-6deg); }
.pillar__no { font-family: var(--display); font-weight: 700; font-size: 14px; color: var(--amber-2); letter-spacing: 0.04em; }
.pillar__title { font-family: var(--display); font-weight: 700; font-size: clamp(23px, 2.6vw, 31px); letter-spacing: -0.025em; line-height: 1.02; margin-top: 6px; }
.pillar__lede { color: var(--muted); font-size: 15.5px; line-height: 1.56; margin-top: 18px; }
.pillar__list { list-style: none; margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line-2); display: grid; gap: 16px; }
.pillar__list li { display: flex; gap: 14px; align-items: flex-start; }
.pillar__list .ic {
  flex: none; width: 30px; height: 30px; border-radius: 9px; background: var(--cream-2);
  color: var(--ink); display: grid; place-items: center; margin-top: 1px;
}
.pillar__list b { font-family: var(--display); font-weight: 600; font-size: 15.5px; letter-spacing: -0.01em; display: block; }
.pillar__list span { color: var(--muted); font-size: 14px; line-height: 1.5; display: block; margin-top: 3px; }

/* ---------- INFO CARDS (market impact) ---------- */
.infocards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: clamp(34px,4vw,52px); }
.infocard {
  background: var(--paper); border: 1px solid var(--line-2); border-radius: 22px;
  padding: 32px 30px; transition: transform .5s var(--ease), box-shadow .5s var(--ease);
}
.infocard:hover { transform: translateY(-6px); box-shadow: 0 26px 56px rgba(20,19,15,0.1); }
.infocard__icon {
  width: 54px; height: 54px; border-radius: 15px; background: var(--amber); color: var(--ink);
  display: grid; place-items: center; margin-bottom: 22px;
}
.infocard h3 { font-family: var(--display); font-weight: 700; font-size: clamp(20px, 2.2vw, 25px); letter-spacing: -0.02em; line-height: 1.04; }
.infocard p { color: var(--muted); font-size: 15px; line-height: 1.56; margin-top: 13px; }
.infocard .tag { display: inline-block; margin-top: 16px; font-family: var(--display); font-weight: 600; font-size: 12px; letter-spacing: 0.04em; color: var(--amber-2); }

/* ---------- PARTNERSHIPS ---------- */
.partners { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(26px, 4vw, 60px); align-items: center; }
.partners__lead h2 { font-family: var(--display); font-weight: 700; letter-spacing: -0.03em; font-size: clamp(28px, 3.4vw, 44px); line-height: 1.02; max-width: 15ch; }
.partners__lead p { color: var(--muted); font-size: 16px; line-height: 1.56; margin-top: 18px; max-width: 44ch; }
.partners__feat {
  margin-top: 26px; background: var(--ink); color: var(--cream); border-radius: 20px;
  padding: 26px 28px; display: flex; align-items: center; gap: 20px;
}
.partners__feat .badge {
  flex: none; width: 58px; height: 58px; border-radius: 14px; background: var(--amber); color: var(--ink);
  display: grid; place-items: center; font-family: var(--display); font-weight: 800; font-size: 22px;
}
.partners__feat .n { font-family: var(--display); font-weight: 700; font-size: 19px; letter-spacing: -0.01em; }
.partners__feat .r { color: rgba(255,255,255,0.62); font-size: 14px; margin-top: 3px; }
.partners__grid { display: grid; gap: 14px; }
.prow {
  display: flex; align-items: center; gap: 18px; padding: 22px 24px;
  background: var(--paper); border: 1px solid var(--line-2); border-radius: 16px;
  transition: transform .4s var(--ease), border-color .3s;
}
.prow:hover { transform: translateX(6px); border-color: var(--amber); }
.prow__ic { flex: none; width: 44px; height: 44px; border-radius: 12px; background: var(--cream-2); color: var(--ink); display: grid; place-items: center; }
.prow b { font-family: var(--display); font-weight: 600; font-size: 16px; letter-spacing: -0.01em; }
.prow span { display: block; color: var(--muted); font-size: 13.5px; margin-top: 2px; }

/* ============================================================
   TRUST / ACCREDITATION STRIP (About section)
   ============================================================ */
.trust-strip {
  margin-top: clamp(40px, 5vw, 64px);
  padding-top: clamp(28px, 4vw, 44px);
  border-top: 1px solid var(--line-2);
  display: flex; align-items: center; gap: clamp(24px, 4vw, 56px);
  flex-wrap: wrap;
}
.trust-strip__label {
  font-family: var(--display); font-weight: 600;
  font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--muted); white-space: nowrap; flex-shrink: 0;
}
.trust-strip__logos {
  display: flex; align-items: center; gap: 20px; flex-wrap: wrap;
}
.trust-logo-card {
  display: flex; align-items: center; gap: 14px;
  background: var(--paper); border: 1px solid var(--line-2);
  border-radius: 14px; padding: 14px 20px;
  transition: box-shadow .3s var(--ease), transform .3s var(--ease);
}
.trust-logo-card:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(20,19,15,0.08); }
.trust-logo-card img {
  height: 36px; width: auto; object-fit: contain; display: block;
}
.trust-logo-card span {
  font-family: var(--display); font-weight: 600; font-size: 13px;
  color: var(--ink-2); white-space: nowrap;
}

/* ============================================================
   ERB LOGO in Partnerships row
   ============================================================ */
.prow--erb { align-items: center; }
.prow__erb-logo {
  flex: none; width: 56px; height: 56px;
  border-radius: 12px; background: var(--paper);
  border: 1px solid var(--line-2);
  display: grid; place-items: center;
  padding: 6px; overflow: hidden;
}
.prow__erb-logo img {
  width: 100%; height: 100%; object-fit: contain; display: block;
}

/* ---------- ZESCO LOGO ---------- */
.zesco-logo-wrap {
  flex: none;
  width: 80px; height: 80px;
  border-radius: 50%;
  background: #fff;
  display: grid; place-items: center;
  padding: 6px;
  box-shadow: 0 2px 16px rgba(20,19,15,0.15);
  overflow: hidden;
  border: 2px solid rgba(20,19,15,0.08);
}
.zesco-logo {
  width: 100%; height: 100%;
  object-fit: contain;
  display: block;
  border-radius: 50%;
}

/* ---------- CONTACT ---------- */
.contact { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(26px, 4vw, 56px); align-items: center; }
.contact__l h2 { font-family: var(--display); font-weight: 800; letter-spacing: -0.035em; font-size: clamp(34px, 5vw, 68px); line-height: 0.96; color: var(--ink); max-width: 14ch; }
.contact__l p { color: rgba(20,19,15,0.7); font-size: 17px; line-height: 1.5; margin-top: 20px; max-width: 40ch; }
.contact__l .btn { margin-top: 30px; }
.contact__details { display: grid; gap: 14px; }
.cdetail {
  display: flex; align-items: center; gap: 18px; padding: 22px 24px;
  background: rgba(20,19,15,0.06); border: 1px solid rgba(20,19,15,0.1); border-radius: 16px;
  transition: transform .4s var(--ease), background .3s;
}
.cdetail:hover { transform: translateY(-3px); background: rgba(20,19,15,0.1); }
.cdetail__ic { flex: none; width: 48px; height: 48px; border-radius: 13px; background: var(--ink); color: var(--amber); display: grid; place-items: center; }
.cdetail .k { font-family: var(--display); font-weight: 600; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(20,19,15,0.55); }
.cdetail .v { font-family: var(--display); font-weight: 600; font-size: 17px; letter-spacing: -0.01em; margin-top: 3px; color: var(--ink); }

@media (max-width: 940px) {
  .vm, .pillars, .partners, .contact { grid-template-columns: 1fr; }
  .infocards { grid-template-columns: 1fr; max-width: 480px; }
}

/* ============================================================
   VIDEO MODAL
   ============================================================ */
.vmodal {
  position: fixed; inset: 0; z-index: 800;
  display: flex; align-items: center; justify-content: center;
  padding: 24px;
}
.vmodal[hidden] { display: none; }
.vmodal__backdrop {
  position: absolute; inset: 0;
  background: rgba(8,8,6,0.88);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  cursor: pointer;
  animation: fadeIn .3s ease both;
}
.vmodal__box {
  position: relative; z-index: 1;
  width: 100%; max-width: 900px;
  border-radius: 20px; overflow: hidden;
  box-shadow: 0 40px 100px rgba(0,0,0,0.6);
  animation: modalUp .35s var(--ease) both;
  background: var(--ink);
}
@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes modalUp { from { opacity:0; transform:translateY(24px) scale(0.97); } to { opacity:1; transform:none; } }

.vmodal__close {
  position: absolute; top: 14px; right: 14px; z-index: 2;
  width: 40px; height: 40px; border-radius: 50%;
  background: rgba(0,0,0,0.5); color: #fff;
  display: grid; place-items: center;
  transition: background .2s, transform .2s;
}
.vmodal__close:hover { background: rgba(0,0,0,0.8); transform: scale(1.08); }

.vmodal__frame {
  position: relative; padding-top: 56.25%; /* 16:9 */
  width: 100%; background: #000;
}
.vmodal__frame iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
}

/* ============================================================
   WORLD MAP - reveal animation
   ============================================================ */
.darkpanel .world-map-img { opacity: 0; }
.darkpanel.in .world-map-img {
  opacity: 0.13;
  transition: opacity 2s var(--ease) 0.4s;
}

/* ============================================================
   SCROLL PROGRESS BAR
   ============================================================ */
.scroll-progress {
  position: fixed; top: 0; left: 0; z-index: 999;
  height: 3px; width: 0%;
  background: linear-gradient(90deg, var(--amber-2), var(--amber));
  transition: width 0.1s linear;
  pointer-events: none;
}

/* ============================================================
   WHATSAPP FAB
   ============================================================ */
.wa-fab {
  position: fixed; bottom: 28px; right: 28px; z-index: 500;
  display: inline-flex; align-items: center; gap: 10px;
  background: #25D366; color: #fff;
  padding: 13px 20px 13px 16px; border-radius: 100px;
  box-shadow: 0 8px 28px rgba(37,211,102,0.38);
  font-family: var(--display); font-weight: 600; font-size: 14.5px;
  transition: transform .35s var(--ease), box-shadow .35s var(--ease);
  text-decoration: none;
  animation: waPop 0.6s var(--ease) 1.5s both;
}
.wa-fab:hover { transform: translateY(-4px) scale(1.04); box-shadow: 0 14px 38px rgba(37,211,102,0.5); }
.wa-fab__label { white-space: nowrap; }
@keyframes waPop { from { opacity:0; transform:translateY(20px) scale(0.8); } to { opacity:1; transform:none; } }

@media (max-width: 540px) {
  .wa-fab__label { display: none; }
  .wa-fab { padding: 15px; border-radius: 50%; }
}

/* ============================================================
   TESTIMONIALS GRID
   ============================================================ */
.testi-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
  margin-top: clamp(34px, 4vw, 54px);
}
.tcard {
  background: var(--paper); border: 1px solid var(--line-2);
  border-radius: 22px; padding: 30px 28px;
  display: flex; flex-direction: column; gap: 24px;
  transition: transform .4s var(--ease), box-shadow .4s var(--ease);
}
.tcard:hover { transform: translateY(-6px); box-shadow: 0 26px 60px rgba(20,19,15,0.10); }
.tcard--feat { background: var(--ink); color: var(--cream); border-color: var(--ink); }
.tcard__quote { display: flex; gap: 14px; align-items: flex-start; }
.tcard__mark {
  flex: none; width: 38px; height: 38px; border-radius: 11px;
  background: var(--amber); color: var(--ink); display: grid; place-items: center;
  font-family: var(--display); font-weight: 800; font-size: 22px;
}
.tcard--feat .tcard__mark { background: rgba(255,255,255,0.15); color: var(--amber); }
.tcard p { font-size: 15.5px; line-height: 1.55; }
.tcard--feat p { color: rgba(245,240,232,0.85); }
.tcard__by { display: flex; align-items: center; gap: 11px; margin-top: auto; }
.tcard__av { width: 38px; height: 38px; border-radius: 50%; flex: none; }
.tcard__av--1 { background: linear-gradient(135deg, #c9a84c, #9b8060); }
.tcard__av--2 { background: linear-gradient(135deg, #2fa86c, #1c6a44); }
.tcard__av--3 { background: linear-gradient(135deg, #4c7bc9, #2a4580); }
.tcard__by .n { font-family: var(--display); font-weight: 600; font-size: 14px; }
.tcard--feat .tcard__by .n { color: var(--cream); }
.tcard__by .r { font-size: 12px; color: var(--muted); margin-top: 2px; }
.tcard--feat .tcard__by .r { color: rgba(255,255,255,0.55); }

@media (max-width: 940px) {
  .testi-grid { grid-template-columns: 1fr; max-width: 520px; }
}
@media (min-width: 641px) and (max-width: 940px) {
  .testi-grid { grid-template-columns: 1fr 1fr; max-width: none; }
}

/* ============================================================
   CONTACT FORM
   ============================================================ */
.contact--full { grid-template-columns: 1fr 1.1fr; align-items: start; }

.cform {
  background: rgba(20,19,15,0.06); border: 1px solid rgba(20,19,15,0.1);
  border-radius: 22px; padding: clamp(24px, 3vw, 36px);
}
.cform__title {
  font-family: var(--display); font-weight: 700; font-size: clamp(20px, 2.2vw, 26px);
  letter-spacing: -0.02em; color: var(--ink); margin-bottom: 22px;
}
.cform__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.cform__group { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.cform__group label {
  font-family: var(--display); font-weight: 600; font-size: 12px;
  letter-spacing: 0.06em; text-transform: uppercase; color: rgba(20,19,15,0.55);
}
.cform__group input,
.cform__group select,
.cform__group textarea {
  width: 100%;
  background: rgba(251,249,244,0.85); border: 1px solid rgba(20,19,15,0.14);
  border-radius: 12px; padding: 13px 16px;
  font-family: var(--body); font-size: 15px; color: var(--ink);
  outline: none; transition: border-color .25s var(--ease), box-shadow .25s var(--ease);
  resize: none; appearance: none;
}
.cform__group input::placeholder, .cform__group textarea::placeholder { color: var(--muted-2); }
.cform__group input:focus,
.cform__group select:focus,
.cform__group textarea:focus {
  border-color: var(--amber); box-shadow: 0 0 0 3px rgba(47,168,108,0.14);
}
.cform__btn { margin-top: 6px; width: 100%; justify-content: space-between; }
.cform__confirm {
  margin-top: 12px; font-family: var(--display); font-weight: 600;
  font-size: 14px; min-height: 20px;
  transition: opacity .3s;
}
.cform__confirm--ok  { color: var(--amber-2); }
.cform__confirm--err { color: #e05252; }
.cform__confirm {
}

@media (max-width: 940px) {
  .contact--full { grid-template-columns: 1fr; }
  .cform__row { grid-template-columns: 1fr; }
}
@media (max-width: 540px) {
  .cform__row { grid-template-columns: 1fr; }
}

/* ============================================================
   NAV ACTIVE LINK
   ============================================================ */
.nav__links a.active {
  background: rgba(47,168,108,0.12);
  color: var(--amber-2);
}

/* ============================================================
   PARTNER MARQUEE STRIP
   ============================================================ */
.marquee-wrap {
  margin-top: 56px;
  padding-top: 32px;
  border-top: 1px solid var(--line-2);
}
.marquee-label {
  font-family: var(--display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 18px;
}
.marquee {
  overflow: hidden;
  position: relative;
  mask-image: linear-gradient(90deg, transparent, black 8%, black 92%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, black 8%, black 92%, transparent);
}
.marquee::before,
.marquee::after {
  content: none;
}
.marquee__track {
  display: flex;
  gap: 0;
  width: max-content;
  animation: marqueeScroll 28s linear infinite;
}
.marquee__track:hover { animation-play-state: paused; }
.marquee__item {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 10px 28px;
  font-family: var(--display);
  font-weight: 600;
  font-size: 14px;
  color: var(--ink-2);
  white-space: nowrap;
  border-right: 1px solid var(--line-2);
  transition: color 0.2s;
}
.marquee__item svg {
  color: var(--amber);
  flex: none;
}
.marquee__item:hover { color: var(--amber-2); }
@keyframes marqueeScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ============================================================
   MAP SECTION
   ============================================================ */
.map-section {
  background: var(--ink);
  padding: clamp(40px, 6vw, 72px) var(--gutter);
}
.map-section__inner {
  max-width: 1240px;
  margin: 0 auto;
}
.map-section__card {
  display: grid;
  grid-template-columns: 340px 1fr;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.07);
  min-height: 360px;
}
.map-section__info {
  background: linear-gradient(160deg, #1A2E24 0%, var(--ink) 100%);
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  overflow: hidden;
}
.map-section__info::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 60% at 0% 100%, rgba(47,168,108,0.14), transparent 60%);
  pointer-events: none;
}
.map-section__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(47,168,108,0.12);
  border: 1px solid rgba(47,168,108,0.22);
  border-radius: 100px;
  padding: 6px 16px;
  font-family: var(--display);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--amber);
  width: fit-content;
  margin-bottom: 20px;
  position: relative;
  z-index: 1;
}
.map-section__badge svg { color: var(--amber); }
.map-section__info h3 {
  font-family: var(--display);
  font-weight: 800;
  font-size: 22px;
  letter-spacing: -0.02em;
  color: #fff;
  margin-bottom: 8px;
  position: relative;
  z-index: 1;
}
.map-section__info > p {
  font-size: 14.5px;
  line-height: 1.6;
  color: rgba(255,255,255,0.45);
  margin-bottom: 24px;
  position: relative;
  z-index: 1;
}
.map-section__contacts {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 28px;
  position: relative;
  z-index: 1;
}
.map-section__contact {
  display: flex;
  align-items: center;
  gap: 9px;
  font-family: var(--display);
  font-size: 13.5px;
  font-weight: 500;
  color: rgba(255,255,255,0.55);
  text-decoration: none;
  transition: color 0.2s;
}
.map-section__contact svg { color: var(--amber); flex: none; }
.map-section__contact:hover { color: #fff; }
.map-section__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--amber);
  color: var(--ink);
  font-family: var(--display);
  font-weight: 700;
  font-size: 13.5px;
  padding: 12px 22px;
  border-radius: 100px;
  text-decoration: none;
  width: fit-content;
  margin-top: auto;
  position: relative;
  z-index: 1;
  transition: background 0.2s, transform 0.2s;
}
.map-section__btn:hover { background: var(--amber-2); transform: translateY(-2px); }
.map-section__map {
  position: relative;
  min-height: 360px;
  background: #1a1a1a;
}
.map-section__map iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  filter: grayscale(30%) contrast(1.1);
}

@media (max-width: 900px) {
  .map-section__card { grid-template-columns: 1fr; }
  .map-section__map { min-height: 300px; }
  .map-section__info { padding: 28px 24px; }
}
@media (max-width: 640px) {
  .map-section { padding: 0; }
  .map-section__card { border-radius: 0; border-left: none; border-right: none; }
  .map-section__map { min-height: 240px; }
}
