/* Test2 typography and the Dubai / Abu Dhabi visual expansion. */
body.ipcs-landing {
  font-family: "Inter", "Segoe UI", system-ui, sans-serif;
  font-weight: 400;
  letter-spacing: -.005em;
}

.hero h1,
.section-heading h2,
.city-guide__heading h2,
.city-story__content h3,
.about-copy h2,
.discovery-copy h2,
.closing-content h2,
.process-grid h3,
.developer-card > strong,
.faq summary,
.button,
.outline-button {
  font-family: "Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif;
}

.hero h1 {
  font-weight: 700;
  letter-spacing: -.055em;
  line-height: .98;
}

.section-heading h2,
.city-guide__heading h2,
.city-story__content h3,
.about-copy h2,
.discovery-copy h2,
.closing-content h2 {
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: 1.04;
}

.eyebrow { font-family: "Inter", "Segoe UI", system-ui, sans-serif; font-weight: 600; letter-spacing: .16em; }

.contact-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.contact-actions--center { justify-content: center; }
.contact-actions .outline-button { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.button-ghost { border: 1px solid rgba(255,255,255,.38); background: rgba(255,255,255,.08); color: #fff; backdrop-filter: blur(9px); }
body.ipcs-landing a:focus-visible,
body.ipcs-landing button:focus-visible,
body.ipcs-landing input:focus-visible,
body.ipcs-landing select:focus-visible,
body.ipcs-landing textarea:focus-visible { outline: 3px solid #8B5CF6; outline-offset: 3px; }
.location-chips button,.city-tab,.outline-button,.modal-close{min-height:44px}
.hero-actions .text-link{min-height:44px;display:inline-flex;align-items:center}
.wordmark{min-height:44px}
.site-footer a,.site-footer button{min-height:44px;display:inline-flex;align-items:center;padding-inline:7px}
.wordmark-strip:hover .wordmark-track,.wordmark-strip:focus-within .wordmark-track{animation-play-state:paused}
.inline-compliance{max-width:1330px;margin:-38px auto 34px;padding:14px 17px;border:1px solid rgba(74,34,117,.14);border-radius:12px;background:rgba(246,242,252,.72);display:flex;gap:14px;align-items:flex-start}.inline-compliance strong{flex:none;color:#4A2275;font-family:"Plus Jakarta Sans","Segoe UI",system-ui,sans-serif;font-size:11px}.inline-compliance p{margin:0;color:#6d6672;font-size:11px;line-height:1.55}

.city-guide { background: #fff; overflow: hidden; padding-bottom:56px; }
.city-guide + .about { padding-top:72px; }
.city-guide__heading { max-width: 1040px; margin: 0 auto 72px; text-align: center; }
.city-guide__heading .eyebrow { justify-content: center; }
.city-guide__heading h2 { margin: 0 auto 22px; font-size: clamp(44px,5.2vw,78px); }
.city-guide__heading > p:last-child { max-width: 720px; margin: 0 auto; color: #6d6672; font-size: 16px; line-height: 1.75; }

.city-story { max-width: 1330px; min-height: 650px; margin: 0 auto 34px; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); border-radius: 26px; overflow: hidden; box-shadow: 0 28px 70px -44px rgba(36,16,56,.5); }
.city-story:last-child { margin-bottom: 0; }
.city-story__visual { position: relative; min-height: 650px; margin: 0; overflow: hidden; background: #23162d; }
.city-story__visual::after { content:""; position:absolute; inset:42% 0 0; background:linear-gradient(transparent,rgba(18,8,24,.8)); }
.city-story__visual img { width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.3,1); }
.city-story:hover .city-story__visual img { transform:scale(1.025); }
.city-story__visual figcaption { position:absolute; z-index:2; left:36px; right:36px; bottom:32px; color:#fff; display:grid; grid-template-columns:auto 1fr; column-gap:14px; align-items:end; }
.city-story__visual figcaption span { grid-row:1/3; align-self:center; width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.35); border-radius:50%; font-size:10px; }
.city-story__visual figcaption strong { font-family:"Plus Jakarta Sans","Segoe UI",system-ui,sans-serif; font-size:30px; line-height:1; }
.city-story__visual figcaption small { margin-top:7px; color:rgba(255,255,255,.72); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }

.city-story__content { display:flex; flex-direction:column; justify-content:center; padding:clamp(46px,5vw,78px); background:#f6f2fc; }
.city-story--abu-dhabi .city-story__content { background:linear-gradient(150deg,#2E1149,#241038); color:#fff; }
.city-story__index { margin:0 0 18px; color:#8057d6; font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.city-story--abu-dhabi .city-story__index { color:#c7a9ef; }
.city-story__content h3 { margin:0 0 24px; font-size:clamp(34px,3.4vw,52px); }
.city-story__content > p:not(.city-story__index) { margin:0 0 16px; color:#625a68; font-size:14px; line-height:1.75; }
.city-story--abu-dhabi .city-story__content > p:not(.city-story__index) { color:rgba(255,255,255,.7); }
.city-story__themes { margin:18px 0 24px; border-top:1px solid rgba(36,16,56,.13); border-bottom:1px solid rgba(36,16,56,.13); }
.city-story--abu-dhabi .city-story__themes { border-color:rgba(255,255,255,.15); }
.city-story__themes > div { display:grid; grid-template-columns:145px 1fr; gap:12px; padding:12px 0; border-bottom:1px solid rgba(36,16,56,.08); }
.city-story__themes > div:last-child { border-bottom:0; }
.city-story--abu-dhabi .city-story__themes > div { border-color:rgba(255,255,255,.1); }
.city-story__themes strong { font-size:12px; }
.city-story__themes span { color:#77707b; font-size:11px; }
.city-story--abu-dhabi .city-story__themes span { color:rgba(255,255,255,.58); }
.city-story__places { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:26px; }
.city-story__places button { min-height:42px; padding:10px 14px; border:1px solid rgba(36,16,56,.14); border-radius:999px; background:transparent; font-size:11px; display:inline-flex; align-items:center; gap:16px; }
.city-story__places button:hover { background:#fff; border-color:rgba(74,34,117,.35); }
.city-story--abu-dhabi .city-story__places button { color:#fff; border-color:rgba(255,255,255,.2); }
.city-story--abu-dhabi .city-story__places button:hover { background:rgba(255,255,255,.1); }
.city-story__content > .button { align-self:flex-start; }

@media (max-width: 760px) {
  .hero h1 { font-size: clamp(42px, 12.8vw, 58px); }
  .contact-actions { align-items: stretch; flex-direction: column; }
  .contact-actions .button,
  .contact-actions .outline-button { width: 100%; }
  .footer-legal p{font-size:11px;line-height:1.55}
  .inline-compliance{margin:-20px auto 26px;display:block}.inline-compliance strong{display:block;margin-bottom:5px}
}

@media (max-width: 950px) {
  .city-guide__heading { margin-bottom:46px; }
  .city-story { grid-template-columns:1fr; min-height:0; border-radius:20px; }
  .city-story__visual { min-height:460px; }
  .city-story--abu-dhabi .city-story__visual { order:-1; }
  .city-story__content { padding:44px 30px 48px; }
}

@media (max-width: 560px) {
  .city-guide__heading h2 { font-size:40px; }
  .city-guide__heading > p:last-child { font-size:14px; }
  .city-story__visual { min-height:340px; }
  .city-story__visual figcaption { left:20px; right:20px; bottom:20px; }
  .city-story__visual figcaption strong { font-size:24px; }
  .city-story__content { padding:34px 22px 38px; }
  .city-story__content h3 { font-size:34px; }
  .city-story__themes > div { grid-template-columns:1fr; gap:3px; }
  .city-story__places button { min-height:44px; }
  .city-story__content > .button { width:100%; }
}
