/* Shared footer and million-dollar planning figures — revision 10. */
.utility .wrap { justify-content: flex-end; }
.footer-contact { display:flex; align-items:center; justify-content:space-between; gap:32px; padding-bottom:42px; margin-bottom:48px; border-bottom:1px solid #38505d; }
.footer-contact .eyebrow { color:#a8c9ff; }
.footer-contact p { margin-top:10px; color:#c4d2da; font-size:17px; }
.footer-contact>a { display:inline-flex; align-items:center; justify-content:space-between; gap:70px; color:white; font-size:clamp(30px,3.5vw,48px); font-weight:500; letter-spacing:-.035em; line-height:1.25; padding:12px 0; border-bottom:2px solid #91b9ef; }
.footer-contact>a span { color:#a8c9ff; font-weight:400; transition:transform .18s ease; }
.footer-contact>a:hover span { transform:translate(3px,-3px); }
.footer-contact>a:focus-visible { outline:2px solid #a8c9ff; outline-offset:8px; }
.footer-locations { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; border-top:1px solid #38505d; padding:36px 0 40px; }
.footer-locations .eyebrow { color:#a8c9ff; font-size:10px; letter-spacing:.09em; }
.footer-locations address { font-style:normal; color:#c4d2da; font-size:13px; line-height:1.8; margin:14px 0; }
.footer-locations address strong { color:white; font-size:15px; font-weight:500; }
.footer-locations a { font-size:11px; color:#b7cde6; display:inline-block; padding:5px 0; }
.footer-locations a:hover { color:white; text-decoration:underline; text-underline-offset:4px; }
.capacity-bars strong { font-variant-numeric:tabular-nums; font-size:17px; }
.case-full-visual figcaption { justify-content:flex-end; }
.net-row strong { font-size:clamp(25px,3vw,39px); }
@media(max-width:760px) {
  .footer-contact { align-items:flex-start; flex-direction:column; gap:19px; margin-bottom:35px; padding-bottom:30px; }
  .footer-contact>a { width:100%; max-width:430px; font-size:36px; }
  .footer-locations { grid-template-columns:1fr; gap:25px; padding:30px 0; }
  .footer-locations>div+div { border-top:1px solid #263f4d; padding-top:23px; }
  .net-row { flex-wrap:wrap; }
  .net-row strong { font-size:30px; margin-left:auto; }
  .presets { gap:6px; flex-wrap:wrap; }
  .presets button { min-width:58px; padding:7px 8px; }
}
@media(prefers-reduced-motion:reduce) { .footer-contact>a span { transition:none; } }
