.contacts-page{
  background:var(--bg);
}

/* HERO */

.contacts-page #hero.contacts-hero-page{
  position:relative!important;
  min-height:100svh!important;
  background:
    linear-gradient(
      90deg,
      rgba(0,5,14,.76) 0%,
      rgba(0,5,14,.54) 46%,
      rgba(0,5,14,.20) 100%
    ),
    url("../assets/video/contacts-poster.jpg") center center / cover no-repeat,
    #00050E!important;
  display:flex!important;
  align-items:center!important;
  padding:6rem var(--page-pad) clamp(4.75rem,8vh,7rem)!important;
  overflow:hidden!important;
  clip-path:none!important;
  animation:none!important;
  margin-left:0!important;
  width:auto!important;
  margin-bottom:-1px!important;
  color:#fff!important;
}

.contacts-page #hero.contacts-hero-page .contacts-hero-video{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  z-index:0!important;
  opacity:1!important;
  display:block!important;
  pointer-events:none!important;
}

.contacts-page #hero.contacts-hero-page .hero-video-overlay{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:
    linear-gradient(
      90deg,
      rgba(0,5,14,.78) 0%,
      rgba(0,5,14,.58) 46%,
      rgba(0,5,14,.24) 100%
    ),
    linear-gradient(
      180deg,
      rgba(0,5,14,.10) 0%,
      rgba(0,5,14,.04) 42%,
      rgba(0,5,14,.62) 100%
    )!important;
  pointer-events:none!important;
}

.contacts-page #hero.contacts-hero-page::before{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  background-image:radial-gradient(rgba(255,255,255,.055) 1px,transparent 1px)!important;
  background-size:28px 28px!important;
  pointer-events:none!important;
  mix-blend-mode:screen!important;
  opacity:.42!important;
}

.contacts-page #hero.contacts-hero-page::after{
  content:''!important;
  position:absolute!important;
  right:-14vw!important;
  bottom:-24vw!important;
  z-index:2!important;
  width:58vw!important;
  height:58vw!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.04)!important;
  filter:blur(2px)!important;
  pointer-events:none!important;
}

.contacts-page .contacts-hero-body{
  position:relative!important;
  z-index:3!important;
  width:100%!important;
  max-width:1540px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0, .95fr) minmax(430px, 560px)!important;
  gap:clamp(3rem,5vw,6.5rem)!important;
  align-items:center!important;
}

.contacts-hero-main{
  max-width:880px!important;
  padding-left:clamp(.25rem,1.5vw,2.25rem)!important;
  color:#fff!important;
}

.contacts-hero-label{
  color:rgba(255,255,255,.72)!important;
  margin-bottom:1.25rem!important;
  opacity:1!important;
  animation:none!important;
  transform:none!important;
}

.contacts-hero-title{
  max-width:920px!important;
  margin:0!important;
  font-family:var(--fd)!important;
  font-size:clamp(3.2rem,6.2vw,6.8rem)!important;
  font-weight:700!important;
  line-height:.9!important;
  letter-spacing:-.055em!important;
  color:#fff!important;
  text-shadow:0 20px 60px rgba(0,5,14,.42)!important;
  opacity:1!important;
  animation:none!important;
  transform:none!important;
}

.contacts-hero-copy{
  max-width:720px!important;
  margin-top:1.45rem!important;
  font-size:clamp(1rem,1.35vw,1.18rem)!important;
  line-height:1.72!important;
  color:rgba(255,255,255,.74)!important;
  opacity:1!important;
  animation:none!important;
  transform:none!important;
}

/* HERO FORM */

.contacts-form-card{
  width:100%!important;
  max-width:560px!important;
  justify-self:end!important;
  background:rgba(255,255,255,.96)!important;
  color:var(--text)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:
    0 24px 64px rgba(0,5,14,.38),
    inset 0 0 0 1px rgba(6,41,108,.06)!important;
  padding:1.65rem 1.75rem 1.75rem!important;
}

.contacts-form-head{
  margin-bottom:1.25rem!important;
}

.contacts-form-title{
  margin:0!important;
  font-family:var(--fd)!important;
  font-size:clamp(1.9rem,2.4vw,2.65rem)!important;
  line-height:.95!important;
  letter-spacing:-.045em!important;
  color:var(--navy)!important;
}

.contacts-form-intro{
  margin:.75rem 0 0!important;
  max-width:430px!important;
  font-size:.86rem!important;
  line-height:1.55!important;
  color:#515762!important;
}

.contacts-form{
  width:100%!important;
}

.contacts-form-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:.85rem .9rem!important;
}

.contacts-field{
  display:flex!important;
  flex-direction:column!important;
  gap:.38rem!important;
  font-family:var(--fb)!important;
  font-size:.62rem!important;
  font-weight:800!important;
  line-height:1.1!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:#101722!important;
}

.contacts-field input,
.contacts-field select,
.contacts-field textarea{
  width:100%!important;
  min-height:42px!important;
  border:1px solid rgba(6,41,108,.14)!important;
  background:#f7f8fa!important;
  color:#101722!important;
  font-family:var(--fb)!important;
  font-size:.86rem!important;
  font-weight:400!important;
  line-height:1.4!important;
  letter-spacing:0!important;
  text-transform:none!important;
  padding:.72rem .78rem!important;
  outline:none!important;
  transition:
    border-color .2s ease,
    background .2s ease,
    box-shadow .2s ease!important;
}

.contacts-field select{
  appearance:none!important;
  background-image:
    linear-gradient(45deg, transparent 50%, #101722 50%),
    linear-gradient(135deg, #101722 50%, transparent 50%)!important;
  background-position:
    calc(100% - 16px) 50%,
    calc(100% - 11px) 50%!important;
  background-size:5px 5px,5px 5px!important;
  background-repeat:no-repeat!important;
  padding-right:2.1rem!important;
}

.contacts-field textarea{
  min-height:112px!important;
  resize:vertical!important;
}

.contacts-field input:focus,
.contacts-field select:focus,
.contacts-field textarea:focus{
  border-color:var(--navy)!important;
  background:#fff!important;
  box-shadow:0 0 0 2px rgba(6,41,108,.08)!important;
}

.contacts-field-full{
  margin-top:.9rem!important;
}

.contacts-form-actions{
  margin-top:1.15rem!important;
  display:flex!important;
  justify-content:flex-end!important;
}

.contacts-submit{
  min-width:150px!important;
  min-height:48px!important;
  border:0!important;
  background:var(--navy)!important;
  color:#fff!important;
  font-family:var(--fb)!important;
  font-size:.68rem!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  cursor:pointer!important;
  transition:
    background .24s ease,
    transform .24s ease,
    box-shadow .24s ease!important;
}

.contacts-submit:hover,
.contacts-submit:focus-visible{
  background:var(--gold)!important;
  transform:translateY(-1px)!important;
  box-shadow:0 16px 34px rgba(0,5,14,.18)!important;
  outline:none!important;
}

/* MAP SECTION */

.contact-map-section{
  position:relative!important;
  background:#f4f5f7!important;
  padding:clamp(5rem,8vw,7.5rem) var(--page-pad)!important;
}

.contact-map-inner{
  width:100%!important;
  max-width:var(--content-max)!important;
  margin:0 auto!important;
}

/* CONTACT INFO ABOVE MAP */

.contact-map-info-grid{
  width:100%!important;
  margin:0 auto clamp(2.4rem,4vw,3.5rem)!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(6,41,108,.12)!important;
  box-shadow:
    0 18px 42px rgba(0,5,14,.08),
    inset 0 0 0 1px rgba(255,255,255,.72)!important;
}

.contact-map-info-item{
  min-height:148px!important;
  padding:1.65rem 1.75rem!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
}

.contact-map-info-item + .contact-map-info-item{
  border-left:1px solid rgba(6,41,108,.10)!important;
}

/* CONTACT INFO TYPOGRAPHY */

.contacts-hero-panel-title{
  position:relative!important;
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 .72rem!important;
  padding:0!important;
  font-family:var(--fb)!important;
  font-size:.58rem!important;
  font-weight:800!important;
  line-height:1.1!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  color:var(--navy)!important;
  text-shadow:none!important;
}

.contacts-hero-panel-title::before{
  display:none!important;
}

.contacts-address-list p{
  margin:0!important;
  color:#252A34!important;
  font-size:.88rem!important;
  line-height:1.62!important;
}

.contacts-phone-list{
  display:flex!important;
  flex-direction:column!important;
  gap:.42rem!important;
}

.contacts-phone-list p{
  margin:0!important;
  color:#252A34!important;
  font-size:.88rem!important;
  line-height:1.62!important;
}

.contacts-phone-list a,
.contacts-social-list a{
  position:relative!important;
  width:max-content!important;
  max-width:100%!important;
  color:#252A34!important;
  font-size:.88rem!important;
  line-height:1.62!important;
  text-decoration:none!important;
  transition:color .2s ease!important;
}

.contacts-phone-list a::after,
.contacts-social-list a::after{
  content:''!important;
  position:absolute!important;
  left:0!important;
  bottom:-.18rem!important;
  width:100%!important;
  height:1px!important;
  background:var(--gold)!important;
  transform:scaleX(0)!important;
  transform-origin:right!important;
  transition:transform .32s var(--ease)!important;
}

.contacts-phone-list a:hover,
.contacts-phone-list a:focus-visible,
.contacts-social-list a:hover,
.contacts-social-list a:focus-visible{
  color:var(--navy)!important;
  outline:none!important;
}

.contacts-phone-list a:hover::after,
.contacts-phone-list a:focus-visible::after,
.contacts-social-list a:hover::after,
.contacts-social-list a:focus-visible::after{
  transform:scaleX(1)!important;
  transform-origin:left!important;
}

.contacts-social-list{
  display:flex!important;
  flex-direction:column!important;
  gap:.32rem!important;
}

/* MAP FRAME */

.contact-map-frame{
  position:relative!important;
  width:100%!important;
  height:clamp(430px,50vw,610px)!important;
  overflow:hidden!important;
  background:#dfe3e8!important;
  box-shadow:0 24px 54px rgba(0,5,14,.13)!important;
}

.contact-map-frame::before{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.03) 0%,
      rgba(0,5,14,.10) 100%
    )!important;
  pointer-events:none!important;
}

.contact-map-frame iframe{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  border:0!important;
  filter:
    grayscale(.92)
    contrast(1.04)
    brightness(.86)
    saturate(.55)!important;
  transform:scale(1.015)!important;
  transform-origin:center!important;
}

/* MAP MARKER WITH PIN SHAPE */

.contact-map-marker{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  z-index:4!important;
  width:58px!important;
  height:58px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50% 50% 50% 0!important;
  background:var(--navy)!important;
  color:#fff!important;
  text-decoration:none!important;
  box-shadow:
    0 18px 34px rgba(0,5,14,.34),
    0 0 0 6px rgba(255,255,255,.92)!important;
  transform:translate(-50%,-65%) rotate(-45deg)!important;
  transition:
    transform .24s ease,
    background .24s ease,
    box-shadow .24s ease!important;
}

.contact-map-marker:hover,
.contact-map-marker:focus-visible{
  background:var(--gold)!important;
  transform:translate(-50%,-72%) rotate(-45deg)!important;
  outline:none!important;
  box-shadow:
    0 22px 40px rgba(0,5,14,.38),
    0 0 0 6px rgba(255,255,255,.96)!important;
}

.contact-map-marker-img{
  width:28px!important;
  height:auto!important;
  display:block!important;
  transform:rotate(45deg)!important;
  position:relative!important;
  z-index:2!important;
}

/* RESPONSIVE */

@media(max-width:1180px){
  .contacts-page .contacts-hero-body{
    grid-template-columns:1fr!important;
    gap:3rem!important;
    align-items:end!important;
  }

  .contacts-hero-main{
    padding-left:0!important;
  }

  .contacts-form-card{
    max-width:760px!important;
    justify-self:start!important;
  }
}

@media(max-width:900px){
  .contact-map-info-grid{
    grid-template-columns:1fr!important;
  }

  .contact-map-info-item{
    min-height:auto!important;
  }

  .contact-map-info-item + .contact-map-info-item{
    border-left:0!important;
    border-top:1px solid rgba(6,41,108,.10)!important;
  }
}

@media(max-width:860px){
  .contacts-form-grid{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:760px){
  .contact-map-frame{
    height:420px!important;
  }
}

@media(max-width:640px){
  .contacts-page #hero.contacts-hero-page{
    min-height:auto!important;
    padding:5rem 1.25rem 4.25rem!important;
    margin-left:0!important;
    width:100%!important;
    align-items:flex-start!important;
  }

  .contacts-page .contacts-hero-body{
    gap:2.4rem!important;
  }

  .contacts-hero-title{
    font-size:clamp(3rem,13vw,4.85rem)!important;
    letter-spacing:-.05em!important;
  }

  .contacts-hero-copy{
    max-width:100%!important;
    font-size:1rem!important;
    line-height:1.65!important;
  }

  .contacts-form-card{
    padding:1.35rem 1.2rem 1.45rem!important;
  }

  .contacts-form-title{
    font-size:2rem!important;
  }

  .contacts-form-actions{
    justify-content:stretch!important;
  }

  .contacts-submit{
    width:100%!important;
  }

  .contact-map-section{
    padding:4.5rem 1.25rem!important;
  }

  .contact-map-info-grid{
    box-shadow:0 16px 34px rgba(0,5,14,.08)!important;
  }

  .contact-map-info-item{
    padding:1.35rem 1.2rem!important;
  }
}

/* =========================================================
   CONTACTS FORM SUCCESS STATE - FINAL
   Mirrors the email modal confirmation logic.
   ========================================================= */

.contacts-form-card{
  position:relative!important;
}

.contacts-success{
  display:none!important;
  min-height:360px!important;
  align-items:center!important;
  justify-content:flex-start!important;
  outline:none!important;
}

.contacts-success-inner{
  max-width:460px!important;
}

.contacts-success p{
  margin:0!important;
  font-family:var(--fd)!important;
  font-size:clamp(2.05rem,3.25vw,3.45rem)!important;
  font-weight:700!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
  color:var(--text)!important;
}

.contacts-form-card.contacts-sent .contacts-form-head,
.contacts-form-card.contacts-sent .contacts-form{
  display:none!important;
}

.contacts-form-card.contacts-sent .contacts-success{
  display:flex!important;
  animation:contactsSuccessReveal .62s var(--ease) both!important;
}

.contacts-submit{
  position:relative!important;
  overflow:hidden!important;
}

.contacts-submit.is-sending{
  pointer-events:none!important;
  background:var(--navy-dark)!important;
  opacity:.9!important;
}

.contacts-submit.is-sending span{
  opacity:.82!important;
}

.contacts-consent.consent-error{
  animation:contactsConsentError .42s var(--ease) both!important;
}

.contacts-consent.consent-error input[type="checkbox"]{
  box-shadow:0 0 0 3px rgba(6,41,108,.13)!important;
}

@keyframes contactsSuccessReveal{
  0%{
    opacity:0;
    transform:translateY(16px);
    filter:blur(2px);
  }

  100%{
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
  }
}

@keyframes contactsConsentError{
  0%{transform:translateX(0);}
  24%{transform:translateX(-5px);}
  48%{transform:translateX(5px);}
  72%{transform:translateX(-3px);}
  100%{transform:translateX(0);}
}

@media(max-width:640px){
  .contacts-success{
    min-height:300px!important;
  }

  .contacts-success p{
    font-size:clamp(2rem,9.5vw,3rem)!important;
  }
}

/* =========================================================
   CONTACTS SUCCESS MESSAGE CENTERING + NO-OUTLOOK UX - FINAL
   Keep this block at the very end of contacts.css.
   ========================================================= */

.contacts-form-card.contacts-sent{
  min-height:416px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:clamp(2.4rem,4vw,3.4rem)!important;
}

.contacts-form-card.contacts-sent .contacts-success{
  width:100%!important;
  min-height:320px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}

.contacts-success-inner{
  width:100%!important;
  max-width:500px!important;
  margin:0 auto!important;
}

.contacts-success p{
  max-width:500px!important;
  margin:0 auto!important;
  text-align:center!important;
  font-size:clamp(2.05rem,3.05vw,3.25rem)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
}

@media(max-width:640px){
  .contacts-form-card.contacts-sent{
    min-height:360px!important;
    padding:2rem 1.35rem!important;
  }

  .contacts-form-card.contacts-sent .contacts-success{
    min-height:280px!important;
  }

  .contacts-success p{
    font-size:clamp(2rem,9vw,2.85rem)!important;
  }
}

/* =========================================================
   CONTACTS COUNTRY SELECT - FINAL
   Uses a real dropdown populated by js/contacts.js.
   ========================================================= */

.contacts-field select[data-country-select]{
  cursor:pointer!important;
}

.contacts-field select[data-country-select] option{
  color:#101722!important;
  background:#fff!important;
}

/* =========================================================
   CONTACTS REASON SELECT PLACEHOLDER - FINAL
   ========================================================= */

.contacts-field select:required:invalid{
  color:#5f6672!important;
}

.contacts-field select option{
  color:#101722!important;
}

/* =========================================================
   REASON SELECT JS POPULATION - FINAL
   Native option language is handled by js/contacts.js, not data-i18n.
   ========================================================= */

.contacts-field select[data-reason-select]{
  cursor:pointer!important;
}

.contacts-field select[data-reason-select] option{
  color:#101722!important;
  background:#fff!important;
}

/* =========================================================
   CONTACTS SOFT ALIGNMENT WITH NEW ABOUT - FINAL OVERRIDE
   Keeps original video + split layout. Minimal visual tuning.
   ========================================================= */

.contacts-page #hero.contacts-hero-page{
  background:
    linear-gradient(
      90deg,
      rgba(0,5,14,.80) 0%,
      rgba(0,5,14,.58) 46%,
      rgba(0,5,14,.28) 100%
    ),
    url("../assets/video/contacts-poster.jpg") center center / cover no-repeat,
    #00050E!important;
}

.contacts-page #hero.contacts-hero-page .contacts-hero-video{
  opacity:.94!important;
  filter:saturate(.78) contrast(1.05) brightness(.78)!important;
}

.contacts-page #hero.contacts-hero-page .hero-video-overlay{
  background:
    linear-gradient(
      90deg,
      rgba(0,5,14,.82) 0%,
      rgba(6,27,53,.62) 46%,
      rgba(0,5,14,.28) 100%
    ),
    linear-gradient(
      180deg,
      rgba(0,5,14,.08) 0%,
      rgba(0,5,14,.02) 42%,
      rgba(0,5,14,.62) 100%
    )!important;
}

.contacts-page #hero.contacts-hero-page::before{
  opacity:.28!important;
}

.contacts-page #hero.contacts-hero-page::after{
  background:rgba(255,255,255,.025)!important;
  opacity:.65!important;
}

.contacts-hero-label{
  color:#c99d55!important;
  letter-spacing:.22em!important;
}

.contacts-hero-title{
  font-weight:500!important;
  letter-spacing:-.058em!important;
  text-shadow:0 18px 52px rgba(0,5,14,.46)!important;
}

.contacts-hero-copy{
  color:rgba(255,255,255,.80)!important;
  max-width:680px!important;
}

.contacts-form-card{
  background:rgba(255,255,255,.955)!important;
  border:1px solid rgba(255,255,255,.58)!important;
  box-shadow:
    0 28px 72px rgba(0,5,14,.42),
    inset 0 0 0 1px rgba(6,41,108,.045)!important;
}

.contacts-form-title{
  font-weight:500!important;
  color:#07192f!important;
}

.contacts-form-intro{
  color:rgba(7,25,47,.64)!important;
}

.contacts-field{
  color:#07192f!important;
}

.contacts-field input,
.contacts-field select,
.contacts-field textarea{
  border-color:rgba(7,25,47,.14)!important;
  background:#f7f8fa!important;
  color:#07192f!important;
}

.contacts-field input:focus,
.contacts-field select:focus,
.contacts-field textarea:focus{
  border-color:#07192f!important;
  background:#fff!important;
  box-shadow:0 0 0 2px rgba(7,25,47,.08)!important;
}

.contacts-submit{
  background:#07192f!important;
}

.contacts-submit:hover,
.contacts-submit:focus-visible{
  background:#c99d55!important;
  color:#07192f!important;
}

.contact-map-section{
  background:#f4f1ec!important;
}

.contact-map-info-grid{
  background:rgba(255,255,255,.84)!important;
  border:1px solid rgba(7,25,47,.10)!important;
}

.contacts-hero-panel-title{
  color:#07192f!important;
}

.contacts-phone-list a:hover,
.contacts-phone-list a:focus-visible,
.contacts-social-list a:hover,
.contacts-social-list a:focus-visible{
  color:#07192f!important;
}

/* =========================================================
   CONTACTS HERO - SCROLL TO EXPLORE
   Same interaction used in About.
   ========================================================= */

.contacts-scroll-explore{
  position:absolute!important;
  left:50%!important;
  bottom:34px!important;
  z-index:5!important;
  transform:translateX(-50%)!important;
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:10px!important;
  color:rgba(255,255,255,.74)!important;
  text-decoration:none!important;
  font-family:var(--fb, "Georama", sans-serif)!important;
  font-size:.68rem!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  transition:
    color .22s ease,
    transform .22s ease,
    opacity .22s ease!important;
}

.contacts-scroll-explore::before{
  content:""!important;
  width:1px!important;
  height:34px!important;
  margin-bottom:2px!important;
  background:linear-gradient(
    to bottom,
    rgba(201,157,85,0),
    rgba(201,157,85,.85)
  )!important;
  opacity:.72!important;
}

.contacts-scroll-explore svg{
  width:26px!important;
  height:26px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  animation:contactsScrollArrow 1.65s ease-in-out infinite!important;
}

.contacts-scroll-explore:hover,
.contacts-scroll-explore:focus-visible{
  color:#c99d55!important;
  transform:translateX(-50%) translateY(3px)!important;
  outline:none!important;
}

@keyframes contactsScrollArrow{
  0%,100%{
    transform:translateY(0);
    opacity:.72;
  }

  50%{
    transform:translateY(7px);
    opacity:1;
  }
}

@media(max-width:1180px){
  .contacts-scroll-explore{
    position:relative!important;
    left:auto!important;
    bottom:auto!important;
    justify-self:center!important;
    grid-column:1 / -1!important;
    transform:none!important;
    margin-top:-1rem!important;
  }

  .contacts-scroll-explore:hover,
  .contacts-scroll-explore:focus-visible{
    transform:translateY(3px)!important;
  }
}

@media(max-width:760px){
  .contacts-scroll-explore{
    font-size:.62rem!important;
    letter-spacing:.16em!important;
    margin-top:-.75rem!important;
  }

  .contacts-scroll-explore::before{
    height:26px!important;
  }

  .contacts-scroll-explore svg{
    width:23px!important;
    height:23px!important;
  }
}

@media(max-width:640px){
  .contacts-scroll-explore{
    margin-top:-.4rem!important;
  }
}

/* =========================================================
   CONTACTS PRIVACY CHECKBOX LINK FIX - FINAL
   Must stay at the very end of contacts.css.
   ========================================================= */

.contacts-consent{
  display:grid!important;
  grid-template-columns:16px 1fr!important;
  gap:.62rem!important;
  align-items:start!important;
  margin-top:.9rem!important;
  color:#343a44!important;
  font-family:var(--fb)!important;
  font-size:.76rem!important;
  line-height:1.45!important;
  cursor:default!important;
}

.contacts-consent > input{
  width:16px!important;
  height:16px!important;
  margin:.1rem 0 0!important;
  accent-color:var(--navy)!important;
}

.contacts-consent > label{
  margin:0!important;
  cursor:default!important;
  color:#343a44!important;
  font-family:var(--fb)!important;
  font-size:.76rem!important;
  line-height:1.45!important;
}

.contacts-consent > label a,
.contacts-consent .privacy-link,
.contacts-consent .contacts-privacy-link{
  pointer-events:auto!important;
  cursor:pointer!important;
  color:#07192f!important;
  font-weight:800!important;
  text-decoration:none!important;
  background:none!important;
  background-image:none!important;
  border-bottom:0!important;
  transition:color .18s ease!important;
}

.contacts-consent > label a:hover,
.contacts-consent > label a:focus-visible,
.contacts-consent .privacy-link:hover,
.contacts-consent .privacy-link:focus-visible,
.contacts-consent .contacts-privacy-link:hover,
.contacts-consent .contacts-privacy-link:focus-visible{
  color:#07192f!important;
  text-decoration:none!important;
  background:none!important;
  background-image:none!important;
  border-bottom:0!important;
  outline:none!important;
}

/* =========================================================
   CONTACTS FINAL MOBILE / PERFORMANCE / SCROLL FIX
   Keep this block at the very end.
   ========================================================= */

.contacts-page,
.contacts-page main,
.contacts-page #hero.contacts-hero-page{
  overflow-x:hidden!important;
}

.contacts-page #hero.contacts-hero-page{
  background:
    linear-gradient(
      90deg,
      rgba(0,5,14,.80) 0%,
      rgba(0,5,14,.58) 46%,
      rgba(0,5,14,.28) 100%
    ),
    url("../assets/video/contacts-poster-720.jpg") center center / cover no-repeat,
    #00050E!important;
}

.contacts-page #hero.contacts-hero-page .contacts-hero-video{
  object-fit:cover!important;
  object-position:center center!important;
}

.contacts-scroll-explore{
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  bottom:34px!important;
  transform:translateX(-50%)!important;
  justify-self:auto!important;
  grid-column:auto!important;
  margin:0!important;
  flex-shrink:0!important;
}

.contacts-scroll-explore:hover,
.contacts-scroll-explore:focus-visible{
  transform:translateX(-50%) translateY(3px)!important;
}

@media(max-width:1180px){
  .contacts-scroll-explore{
    position:absolute!important;
    left:50%!important;
    bottom:28px!important;
    transform:translateX(-50%)!important;
    margin:0!important;
  }

  .contacts-scroll-explore:hover,
  .contacts-scroll-explore:focus-visible{
    transform:translateX(-50%) translateY(3px)!important;
  }
}

@media(max-width:860px){
  .contacts-page .contacts-hero-body{
    grid-template-columns:1fr!important;
    gap:2.35rem!important;
  }

  .contacts-form-card{
    max-width:100%!important;
    justify-self:stretch!important;
  }
}

@media(max-width:640px){
  .contacts-page #hero.contacts-hero-page{
    min-height:100svh!important;
    padding:5rem 1.25rem 5.75rem!important;
    background:
      linear-gradient(
        180deg,
        rgba(0,5,14,.80) 0%,
        rgba(0,5,14,.62) 48%,
        rgba(0,5,14,.82) 100%
      ),
      url("../assets/video/contacts-poster-mobile.jpg") center center / cover no-repeat,
      #00050E!important;
  }

  .contacts-page #hero.contacts-hero-page .contacts-hero-video{
    object-position:center center!important;
    filter:saturate(.72) contrast(1.04) brightness(.74)!important;
  }

  .contacts-hero-main,
  .contacts-form-card{
    width:100%!important;
    min-width:0!important;
  }

  .contacts-hero-title{
    font-size:clamp(2.75rem, 12.5vw, 4.25rem)!important;
    line-height:.94!important;
  }

  .contacts-form-card{
    padding:1.25rem 1.05rem 1.35rem!important;
  }

  .contacts-field input,
  .contacts-field select,
  .contacts-field textarea{
    font-size:16px!important;
  }

  .contacts-scroll-explore{
    bottom:22px!important;
    font-size:.62rem!important;
    letter-spacing:.16em!important;
  }

  .contacts-scroll-explore::before{
    height:24px!important;
  }

  .contacts-scroll-explore svg{
    width:22px!important;
    height:22px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .contacts-scroll-explore svg{
    animation:none!important;
  }
}
