/* Revision v10: route story in normal flow, future directions section and larger transparent 3D icons. */
#geography .premium-atlas-layout {
  grid-template-areas: "title lead" "title cta" "map map" "story story";
}
#geography .premium-atlas-story {
  position: relative;
  inset: auto;
  grid-area: story;
  justify-self: start;
  width: min(720px, 100%);
  min-height: 156px;
  margin: 26px 0 42px;
  border-color: rgba(211,236,255,.42);
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(219,239,255,.18), rgba(164,206,240,.08)),
    rgba(255,255,255,.035);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 22px 64px rgba(3,18,33,.2);
  backdrop-filter: blur(20px) saturate(122%);
  -webkit-backdrop-filter: blur(20px) saturate(122%);
}
#geography .premium-atlas-story-scene { padding: 27px 30px; }
#geography .premium-atlas-story-scene h3 { font-size: 18px; }
#geography .premium-atlas-story-scene p { max-width: 68ch; font-size: 14px; }

.future-directions {
  padding: 92px 0 98px;
  color: #21364c;
  background:
    radial-gradient(circle at 88% 12%, rgba(143,200,243,.24), transparent 35%),
    #edf6fc;
}
.future-directions-inner {
  display: grid;
  grid-template-columns: minmax(320px,.78fr) minmax(0,1.22fr);
  gap: clamp(48px,6vw,104px);
  align-items: end;
}
.future-directions-copy { max-width: 560px; }
.future-directions-eyebrow {
  margin: 0 0 22px;
  color: #2d77b6;
  font: 600 12px/1.2 Golos,sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.future-directions h2 {
  margin: 0;
  color: #21364c;
  font: 600 clamp(38px,4vw,62px)/1.04 var(--display);
  letter-spacing: -.045em;
}
.future-directions-copy > p:not(.future-directions-eyebrow) {
  max-width: 52ch;
  margin: 26px 0 0;
  color: #506b83;
  font: 400 16px/1.58 Golos,sans-serif;
}
.future-directions-cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 58px;
  margin-top: 31px;
  padding: 14px 22px;
  border: 1px solid #6f9fc8;
  border-radius: 999px;
  color: #21364c;
  background: rgba(255,255,255,.46);
  font: 500 14px/1.2 Golos,sans-serif;
  text-decoration: none;
  transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}
.future-directions-cta svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.future-directions-cta:hover { border-color: #276fc3; color: #fff; background: #276fc3; }
.future-directions-cta:focus-visible { outline: 3px solid #247bd5; outline-offset: 4px; }
.future-directions-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 13px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.future-directions-grid li {
  display: grid;
  justify-items: start;
  align-content: space-between;
  gap: 20px;
  min-width: 0;
  min-height: 140px;
  padding: 18px;
  border: 1px solid rgba(60,126,178,.2);
  border-radius: 20px;
  background: rgba(255,255,255,.68);
  box-shadow: 0 14px 36px rgba(41,79,110,.06);
}
.future-directions-grid img {
  display: block;
  width: 64px;
  height: auto;
  aspect-ratio: 3/2;
  border: 1px solid rgba(33,54,76,.12);
  border-radius: 7px;
  object-fit: cover;
  box-shadow: 0 7px 18px rgba(33,54,76,.11);
}
.future-directions-grid span { color: #21364c; font: 600 15px/1.25 Golos,sans-serif; }

#contact .premium-contact-card-icon {
  width: 76px;
  height: 76px;
  margin-bottom: 12px;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}
#contact .premium-contact-card-icon img { width: 100%; height: 100%; object-fit: contain; }
#contact .premium-contact-bubble {
  transform: translate3d(var(--bubble-parallax-x,0px),var(--bubble-parallax-y,0px),0);
  will-change: transform;
}

@media (max-width: 1179px) and (min-width: 701px) {
  #geography .premium-atlas-stage canvas { height: 100%; }
  #geography .premium-atlas-story { width: min(620px,100%); margin: 24px 0 38px; }
  .future-directions-inner { grid-template-columns: minmax(270px,.78fr) minmax(0,1.22fr); gap: 40px; }
  .future-directions-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .future-directions-grid li { min-height: 112px; }
}

@media (max-width: 760px) {
  #contact .premium-contact-card-icon { width: 68px; height: 68px; }
  #contact .premium-contact-chips li { grid-template-columns: 68px 1fr; align-items: center; }
}

@media (max-width: 700px) {
  #geography .premium-atlas-stage canvas { height: 100%; }
  #geography .premium-atlas-story {
    order: 2;
    width: 100%;
    min-height: 154px;
    margin: 18px 0 32px;
    border-radius: 20px;
  }
  #geography .premium-atlas-story-scene { padding: 21px 20px; }
  #geography .premium-atlas-story-scene h3 { font-size: 15px; }
  #geography .premium-atlas-story-scene p { font-size: 12px; line-height: 1.5; }
  #geography .premium-atlas-cta { order: 3; }
  .future-directions { padding: 68px 0 74px; }
  .future-directions-inner { display: block; }
  .future-directions-copy { max-width: none; }
  .future-directions-eyebrow { margin-bottom: 17px; }
  .future-directions h2 { font-size: clamp(34px,10vw,44px); }
  .future-directions-copy > p:not(.future-directions-eyebrow) { margin-top: 20px; font-size: 14px; }
  .future-directions-cta { width: 100%; margin-top: 25px; }
  .future-directions-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 38px; }
  .future-directions-grid li { min-height: 108px; padding: 14px; border-radius: 16px; }
  .future-directions-grid img { width: 54px; }
  .future-directions-grid span { font-size: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  .future-directions-cta { transition: none; }
  #contact .premium-contact-bubble { transform: none !important; will-change: auto; }
}
