/* Contact and footer proportions follow the supplied 1086 × 275 reference. */
.contact {
  min-height: 0;
  height: 14.55vw;
  border-top: 1px solid #c3d9e644;
  border-bottom: 1px solid #c3d9e666;
}
.contact-grid {
  width: 85.3%;
  max-width: none;
  grid-template-columns: 34.4% 28% 37.6%;
  padding: 0;
  gap: 0;
  text-align: left;
}
.contact-background { background-size: cover; background-position: center 27%; }
.contact:after { background: linear-gradient(90deg,#001e42a8 0%,#001e4250 48%,transparent 72%); }
.contact h2 { font-size: 3.16vw; line-height: .99; letter-spacing: -.025em; }
.contact-grid>div>p { font-size: 1.72vw; margin-top: .55vw; }
.contact-action { border-left: 2px solid #dcb144; padding: .55vw 0 .1vw 3vw; }
.contact-action .button { width: 20.7vw; min-width: 0; min-height: 4.35vw; padding: .6vw 1.7vw; font-size: 1.95vw; gap: 1vw; }
.contact-action .button svg { width: 1.65vw; height: 1.65vw; }
.contact-action>p { font-size: 1.05vw!important; letter-spacing: .1vw; line-height: 1.15; margin-top: .85vw!important; width: 20.7vw; }
.contact-action i { margin-inline: .55vw; height: .85vw; }
.contact-script {
  display: block;
  visibility: visible;
  justify-self: end;
  align-self: start;
  width: 12.6vw;
  margin: -.55vw -2.5vw 0 0;
  font-size: 2.15vw;
  line-height: .91;
  text-align: center;
  color: #032653;
  transform: rotate(-13deg);
}
.contact-script:after { content: ''; display: block; width: 75%; height: .55vw; margin: .35vw 0 0 22%; border-top: 2px solid currentColor; border-radius: 50%; transform: rotate(-5deg); }
footer { background: radial-gradient(ellipse at 35% 0,#06365c,#001d39 85%); }
.footer-main {
  width: 86.8%;
  max-width: none;
  height: 6.7vw;
  padding: 0;
  display: grid;
  grid-template-columns: 22% 45% 18.5% 14.5%;
  gap: 0;
}
.footer-main .brand { width: 18.5vw; height: 5vw; margin-left: -.65vw; }
.footer-main nav { flex-wrap: nowrap; justify-content: space-between; gap: 0; padding-right: 2vw; }
.footer-main nav a { font-size: 1.02vw; padding: 0; line-height: 1; }
.footer-main nav a:not(:last-child) { padding-right: 1.55vw; }
.footer-socials { display: flex; align-items: center; justify-content: center; padding-right: 1.4vw; gap: .9vw; color: #f8c54d; }
.social-icon { display: grid; place-items: center; width: 2.6vw; height: 2.6vw; border: 1.5px solid currentColor; border-radius: 50%; }
.social-icon svg { width: 1.7vw; height: 1.7vw; stroke-width: 1.7; }
a.social-icon { transition: color .2s, background-color .2s, box-shadow .2s; }
a.social-icon:hover, a.social-icon:focus-visible { color: #032441; background-color: #f8c54d; box-shadow: 0 0 14px #f8c54d35; }
.footer-values { display: block; border-left: 2px solid #e1b33e; padding: 0 3.3vw 0 3.7vw; font-size: .96vw; letter-spacing: .075vw; line-height: 1.15; }
.footer-values span { width: 2.65vw; right: -1.4vw; }
.footer-bottom { min-height: 4.05vw; padding: 1vw; font-size: .83vw; gap: 1.1vw; letter-spacing: .035vw; background: #00172e80; }
.footer-bottom i { height: .9vw; }
.footer-bottom { flex-wrap: wrap; column-gap: 28px; row-gap: 6px; font-size: clamp(12px,.83vw,16px); text-transform: none; text-align: center; }
.footer-credit a { color: #f8c54d; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; transition: color .2s; }
.footer-credit a:hover { color: #fff0c4; }

@media(max-width:700px) {
  .contact { height: auto; min-height: 350px; }
  .contact-grid { width: 89%; grid-template-columns: 1fr; padding: 32px 0; gap: 24px; text-align: left; }
  .contact-background { background-position: 73% center; }
  .contact:after { background: linear-gradient(90deg,#001e42ed,#001e4266); }
  .contact h2 { font-size: clamp(29px,7vw,42px); }
  .contact-grid>div>p { font-size: 19px; margin-top: 9px; max-width: 240px; }
  .contact-action { padding: 0; border: 0; justify-self: start; }
  .contact-action .button { width: 240px; min-height: 49px; padding: 10px 24px; font-size: 22px; gap: 15px; }
  .contact-action .button svg { width: 20px; height: 20px; }
  .contact-action>p { width: 240px; font-size: 11px!important; letter-spacing: 1px; margin-top: 12px!important; }
  .contact-action i { height: 10px; margin-inline: 5px; }
  .contact-script { display: none; }
  .footer-main { width: 89%; height: auto; grid-template-columns: 1fr; justify-items: center; padding: 22px 0; gap: 22px; }
  .footer-main .brand { width: 225px; height: 65px; margin: 0; }
  .footer-main nav { flex-wrap: wrap; justify-content: center; gap: 12px; padding: 0; }
  .footer-main nav a { font-size: 13px; }
  .footer-main nav a:not(:last-child) { padding-right: 12px; }
  .footer-socials { gap: 12px; padding-right: 0; }
  .social-icon { width: 32px; height: 32px; }
  .social-icon svg { width: 21px; height: 21px; }
  .footer-values { display: none; }
  .footer-bottom { min-height: 50px; padding: 16px 5%; font-size: 12px; gap: 8px; letter-spacing: .4px; flex-direction: column; line-height: 1.5; }
  .footer-bottom i { height: 9px; }
}
