/* The large original globe stays prominent; the photo adds our real location. */
.globe-scene .tower-moment { position: absolute; z-index: 3; left: -5px; bottom: 10px; width: 205px; margin: 0; padding: 7px; background: #fff; border: 1px solid #ede5f1; border-radius: 12px; box-shadow: 0 15px 40px #4d345a16; transform: rotate(-4deg); transition: transform .6s ease; }
.globe-scene .tower-moment:hover { transform: rotate(0); }
.tower-moment > img { display: block; width: 100%; height: 200px; object-fit: cover; object-position: center 32%; border-radius: 7px; }
.tower-moment figcaption { display: flex; align-items: center; gap: 10px; padding: 12px 7px 6px; }
.tower-moment figcaption strong { display: block; color: var(--ink); font-size: 12px; font-weight: 600; }
.tower-moment figcaption small { display: block; color: var(--muted); font-size: 9px; }
.location-dot { display: block; width: 7px; height: 7px; border: 2px solid var(--purple); border-radius: 50%; box-shadow: 0 0 0 4px #87449712; flex-shrink: 0; }
.globe-scene .float-pill { bottom: 83px; }
.globe-scene .visual-disclaimer { bottom: 21px; }

/* Photos give the partnership story a human rhythm. */
.partnership-grid { gap: 32px; }
.partnership-item { padding-top: 0; border: 0; }
.partnership-photo { overflow: hidden; aspect-ratio: 40 / 23; border-radius: 9px; margin-bottom: 26px; background: #e8e2eb; }
.partnership-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.partnership-item:hover .partnership-photo img { transform: scale(1.045); }
.partnership-item > .icon { margin-bottom: 15px; }

/* An invitation grounded in the actual location. */
.contact-section { background: #713c83; }
.contact-location { position: absolute; right: 0; top: 0; bottom: 0; width: 47%; margin: 0; overflow: hidden; }
.contact-location > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 60% center; }
.contact-location::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, #201a2bb3, transparent 65%); pointer-events: none; }
.contact-location figcaption { position: absolute; z-index: 1; left: 38px; right: 30px; bottom: 35px; color: white; }
.contact-location figcaption > span { display: block; font-size: 8px; letter-spacing: 1.6px; margin-bottom: 9px; }
.contact-location figcaption > strong { display: block; font-family: var(--heading); font-size: 26px; font-weight: 500; letter-spacing: -.7px; }
.contact-location figcaption > small { display: block; font-size: 12px; margin-top: 8px; }
.contact-content { width: min(1280px, calc(100% - 112px)); padding-block: 80px; padding-right: 51%; text-align: left; align-items: flex-start; }
.contact-content > .eyebrow { font-size: 7px; line-height: 1.8; letter-spacing: 1.1px; }
.contact-content h2 { font-size: clamp(32px, 3.2vw, 45px); }
.contact-content > p { max-width: 360px; }
.contact-rings { overflow: hidden; right: 49%; }

/* Contact page: original wording and destinations, with the real building alongside. */
.page-contacts #contact-header2 { padding-block: 35px; }
.page-contacts #contact-header2 > .container { display: grid; grid-template-columns: 1fr 1.1fr; gap: 50px; align-items: center; }
.page-contacts #contact-header2 > .container::before, .page-contacts #contact-header2 > .container::after { display: none; }
.page-contacts #contact-header2 h1 { font-size: clamp(32px, 4.2vw, 60px); }
.contact-building-photo { height: 310px; border-radius: 12px 60px 12px 12px; overflow: hidden; background: #eed8c4; }
.contact-building-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }

@media (max-width: 1199px) {
  .globe-scene .tower-moment { width: 185px; bottom: 8px; }
  .tower-moment > img { height: 175px; }
  .contact-content { width: calc(100% - 80px); }
  .contact-location figcaption { left: 26px; }
}
@media (max-width: 980px) {
  .globe-scene .tower-moment { width: 165px; bottom: -5px; }
  .tower-moment > img { height: 155px; }
  .globe-scene .float-pill { bottom: 62px; right: -6px; font-size: 7px; }
  .partnership-grid { gap: 22px; }
  .contact-content { width: calc(100% - 56px); padding-block: 65px; }
  .contact-content h2 { font-size: 31px; }
  .contact-location figcaption > strong { font-size: 22px; }
}
@media (max-width: 800px) {
  .hero .globe-scene { height: 465px; margin-top: 18px; }
  .globe-scene .tower-moment { width: 190px; bottom: 0; left: 2px; }
  .tower-moment > img { height: 180px; }
  .globe-scene .float-pill { bottom: 65px; right: 0; }
  .globe-scene .visual-disclaimer { bottom: 14px; font-size: 6px; }
  .partnership-grid { gap: 38px; }
  .partnership-photo { max-width: 520px; margin-bottom: 22px; }
  .contact-content { width: calc(100% - 40px); padding: 55px 0; text-align: center; align-items: center; }
  .contact-content > .eyebrow { font-size: 6.5px; }
  .contact-content h2 { font-size: 37px; }
  .contact-location { position: relative; width: 100%; height: 350px; order: 2; }
  .contact-section { display: flex; flex-direction: column; }
  .contact-location > img { object-position: center 40%; }
  .contact-location figcaption { left: 25px; bottom: 26px; }
  .contact-location figcaption > strong { font-size: 27px; }
  .contact-rings { right: 0; }
  .page-contacts #contact-header2 { padding-block: 32px 25px; }
  .page-contacts #contact-header2 > .container { grid-template-columns: 1fr; gap: 25px; }
  .page-contacts #contact-header2 h1 { font-size: 36px; }
  .contact-building-photo { height: 290px; border-top-right-radius: 40px; }
}
@media (max-width: 480px) {
  .hero .globe-scene { height: 440px; }
  .globe-scene .tower-moment { width: 164px; }
  .tower-moment > img { height: 155px; }
  .tower-moment figcaption { padding: 9px 5px 4px; gap: 8px; }
  .tower-moment figcaption strong { font-size: 10px; }
  .tower-moment figcaption small { font-size: 8px; }
  .globe-scene .float-pill { bottom: 63px; padding: 8px; font-size: 6px; gap: 6px; }
  .globe-scene .float-pill .icon { display: none; }
}
@media (max-width: 380px) {
  .hero .globe-scene { height: 410px; }
  .globe-scene .tower-moment { width: 145px; left: 0; }
  .tower-moment > img { height: 138px; }
  .globe-scene .float-pill { font-size: 5.5px; gap: 4px; }
  .contact-content h2 { font-size: 32px; }
  .contact-content > .eyebrow { font-size: 5.8px; }
  .contact-location { height: 300px; }
  .contact-location figcaption > strong { font-size: 24px; }
  .page-contacts #contact-header2 h1 { font-size: 31px; }
  .contact-building-photo { height: 250px; }
}
@media (prefers-reduced-motion: reduce) {
  .globe-scene .tower-moment, .partnership-photo img { transition: none; }
}
@media print {
  .tower-moment, .contact-location, .contact-building-photo, .partnership-photo { display: none; }
  .page-contacts #contact-header2 > .container { display: block; }
  .contact-content { padding: 20px 0; }
}
