.contact-page {
  color: #0e1726;
  background: #f6f3ed;
}

.contact-page main { overflow: clip; }
.contact-page .site-header { --header-h: 100px; }
.contact-page .nav-contact.is-active { color: #e0a52e; }
.contact-page .nav-contact.is-active::after { transform: scaleX(1); }
.contact-page section[id],
.contact-page .team-contact-card[id] { scroll-margin-top: 104px; }

.contact-shell {
  width: min(1420px, calc(100% - clamp(40px, 8vw, 128px)));
  margin-inline: auto;
}

.contact-kicker {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 17px;
  color: #d5a13c;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .2em;
}

.contact-kicker > span { width: 44px; height: 1px; background: currentColor; }
.contact-kicker-dark { color: #a97921; }

.contact-hero {
  position: relative;
  min-height: min(900px, 100svh);
  display: grid;
  align-items: center;
  overflow: hidden;
  color: #f7f3eb;
  background:
    radial-gradient(circle at 74% 42%, rgba(39, 76, 104, .33), transparent 37%),
    #061727;
}

.contact-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .13;
  background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 90px 90px;
  mask-image: linear-gradient(90deg, transparent, #000 55%, transparent);
}

.contact-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, #c99535 18%, #c99535 82%, transparent);
}

.contact-hero-watermark {
  position: absolute;
  left: -1vw;
  bottom: -1.6vw;
  color: rgba(255,255,255,.025);
  font-family: "Newsreader", Georgia, serif;
  font-size: clamp(150px, 22vw, 400px);
  line-height: .7;
  white-space: nowrap;
}

.contact-hero-orbit {
  position: absolute;
  width: min(51vw, 850px);
  aspect-ratio: 1;
  right: -17vw;
  top: -22vw;
  border: 1px solid rgba(213,161,60,.2);
  border-radius: 50%;
}

.contact-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(480px, .72fr);
  gap: clamp(70px, 9vw, 155px);
  align-items: center;
  padding-top: 108px;
}

.contact-hero-copy h1 {
  max-width: 810px;
  margin: 34px 0 27px;
  font-family: "Newsreader", Georgia, serif;
  font-size: clamp(68px, 6.6vw, 112px);
  font-weight: 400;
  line-height: .88;
  letter-spacing: -.055em;
}

.contact-hero-copy h1 em,
.contact-intro h2 em,
.technical-heading h2 em,
.contact-page-form-copy h2 em { color: #d5a13c; font-style: normal; }

.contact-hero-lead {
  max-width: 610px;
  margin: 0;
  color: rgba(239,243,247,.69);
  font-size: clamp(15px, 1.05vw, 18px);
  line-height: 1.75;
}

.contact-primary-button {
  width: min(330px, 100%);
  min-height: 64px;
  margin-top: 39px;
  padding: 0 25px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #061727;
  background: #d5a13c;
  text-decoration: none;
  font-size: 13px;
  transition: background .4s ease, transform .4s cubic-bezier(.22,1,.36,1);
}

.contact-primary-button:hover { background: #e5b857; transform: translateY(-3px); }
.contact-primary-button b { font-size: 20px; font-weight: 400; }

.contact-route-panel {
  position: relative;
  padding: clamp(20px, 2vw, 30px);
  border: 1px solid rgba(213,161,60,.34);
  background: rgba(3,18,32,.46);
  backdrop-filter: blur(13px);
  box-shadow: 0 34px 80px rgba(0,0,0,.18);
}

.contact-route-panel::before,
.contact-route-panel::after {
  content: "";
  position: absolute;
  width: 44px;
  height: 44px;
  pointer-events: none;
}
.contact-route-panel::before { top: -1px; left: -1px; border-top: 2px solid #d5a13c; border-left: 2px solid #d5a13c; }
.contact-route-panel::after { right: -1px; bottom: -1px; border-right: 2px solid #d5a13c; border-bottom: 2px solid #d5a13c; }

.contact-route-panel-head {
  padding: 1px 7px 20px;
  display: flex;
  justify-content: space-between;
  color: rgba(255,255,255,.55);
  font-size: 10px;
  letter-spacing: .15em;
}

.contact-route-panel a {
  min-height: 94px;
  display: grid;
  grid-template-columns: 55px 1fr 30px;
  align-items: center;
  gap: 17px;
  color: #f8f5ef;
  border-top: 1px solid rgba(255,255,255,.12);
  text-decoration: none;
  transition: padding .45s cubic-bezier(.22,1,.36,1), background .35s ease;
}

.contact-route-panel a:hover { padding-inline: 14px; background: rgba(213,161,60,.055); }
.contact-route-panel a i { color: #d5a13c; font-family: "Newsreader", Georgia, serif; font-size: 28px; font-style: normal; }
.contact-route-panel a span { display: grid; gap: 5px; }
.contact-route-panel a b { font-family: "Newsreader", Georgia, serif; font-size: 25px; font-weight: 400; }
.contact-route-panel a small { color: rgba(255,255,255,.45); font-size: 11px; }
.contact-route-panel a strong { color: #d5a13c; font-size: 22px; font-weight: 400; transition: transform .35s ease; }
.contact-route-panel a:hover strong { transform: translateX(5px); }

.contact-scroll {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: 26px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(255,255,255,.48);
  font-size: 9px;
  letter-spacing: .18em;
  text-decoration: none;
  transform: translateX(-50%);
}
.contact-scroll i { color: #d5a13c; font-size: 17px; font-style: normal; animation: contactArrow 2.4s ease-in-out infinite; }

.contact-hero-step { opacity: 0; transform: translateY(22px); animation: contactHeroIn .9s cubic-bezier(.22,1,.36,1) forwards; }
.contact-hero-step:nth-child(1) { animation-delay: .16s; }
.contact-hero-copy .contact-hero-step:nth-child(2) { animation-delay: .27s; }
.contact-hero-copy .contact-hero-step:nth-child(3) { animation-delay: .39s; }
.contact-hero-copy .contact-hero-step:nth-child(4) { animation-delay: .5s; }
.contact-route-panel.contact-hero-step { animation-delay: .45s; }

.contact-intro {
  position: relative;
  padding: clamp(100px, 9vw, 160px) 0 clamp(70px, 7vw, 120px);
  background: #f6f3ed;
}

.contact-intro-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(390px, .65fr); gap: clamp(70px, 9vw, 150px); align-items: end; }
.contact-intro h2 {
  max-width: 880px;
  margin: 27px 0 0;
  font-family: "Newsreader", Georgia, serif;
  font-size: clamp(54px, 5vw, 88px);
  font-weight: 400;
  line-height: .96;
  letter-spacing: -.045em;
}
.contact-intro-copy > p { margin: 0; color: rgba(14,23,38,.68); font-size: 16px; line-height: 1.8; }
.contact-intro-stats { margin-top: 36px; padding-top: 28px; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(14,23,38,.18); }
.contact-intro-stats span { display: flex; align-items: center; gap: 14px; }
.contact-intro-stats span + span { padding-left: 22px; border-left: 1px solid rgba(14,23,38,.14); }
.contact-intro-stats strong { color: #c28f31; font-family: "Newsreader", Georgia, serif; font-size: 47px; font-weight: 400; line-height: 1; }
.contact-intro-stats small { color: rgba(14,23,38,.58); font-size: 9px; line-height: 1.45; letter-spacing: .12em; }

.team-directory { padding: 0 0 clamp(95px, 8vw, 145px); background: #f6f3ed; }
.team-directory-grid {
  width: min(1280px, calc(100% - clamp(40px, 10vw, 160px)));
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.team-contact-card {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  color: #f9f6ef;
  background: #071827;
  border: 1px solid rgba(14, 35, 53, .08);
  box-shadow: 0 18px 44px rgba(5, 20, 33, .075);
}
.team-contact-card-wide,
.team-contact-card-compact { grid-column: auto; grid-template-columns: 1fr; grid-template-rows: auto 1fr; }
.team-contact-card-owner {
  grid-column: 1 / -1;
  width: calc((100% - 44px) / 3);
  justify-self: center;
  border-color: rgba(213, 161, 60, .72);
  background: #0a1e30;
  box-shadow:
    0 22px 52px rgba(5, 20, 33, .16),
    0 0 0 5px rgba(213, 161, 60, .055);
}
.team-contact-card-owner::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  border: 1px solid rgba(231, 184, 88, .24);
  pointer-events: none;
}
.team-contact-card-owner .team-contact-number {
  color: #e0ad48;
}
.team-contact-card-owner .team-contact-role {
  color: #efbd5a;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .15em;
}
.team-contact-card-reverse .team-contact-photo { order: 1; }
.team-contact-card-reverse .team-contact-copy { order: 2; }
.team-contact-photo {
  position: relative;
  width: 100%;
  aspect-ratio: 1.48 / 1;
  min-height: 0;
  overflow: hidden;
  background: #122537;
}
.team-contact-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 65%, rgba(3,17,30,.24)); pointer-events: none; }
.team-contact-photo img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center top; filter: saturate(.83) contrast(1.03); transition: transform 1.2s cubic-bezier(.22,1,.36,1), filter .8s ease; }
.team-contact-card-owner .team-contact-photo { aspect-ratio: 1.33 / 1; }
.team-contact-card-owner .team-contact-photo img { object-position: center center; }
.team-contact-card:hover .team-contact-photo img { transform: scale(1.045); filter: saturate(1) contrast(1.02); }
.team-contact-copy {
  position: relative;
  min-width: 0;
  min-height: 218px;
  padding: 27px 28px 25px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.team-contact-copy::before {
  content: "";
  position: absolute;
  top: 0;
  left: 28px;
  width: 38px;
  height: 2px;
  background: #d5a13c;
  transition: width .6s cubic-bezier(.22,1,.36,1);
}
.team-contact-card-wide .team-contact-copy::before { top: 0; }
.team-contact-card:hover .team-contact-copy::before { width: 76px; }
.team-contact-number {
  position: absolute;
  top: 23px;
  right: 27px;
  color: rgba(255,255,255,.38);
  font-family: "Newsreader", Georgia, serif;
  font-size: 24px;
}
.team-contact-card-wide .team-contact-number { top: 23px; }
.team-contact-role {
  max-width: calc(100% - 56px);
  min-height: 28px;
  margin: 0 0 8px;
  color: #e1ad47;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .13em;
}
.team-contact-copy h3 {
  margin: 0;
  font-family: "Newsreader", Georgia, serif;
  font-size: clamp(31px, 2.15vw, 39px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.025em;
}
.team-contact-copy h3 br { display: none; }
.team-contact-links { margin-top: auto; padding-top: 23px; display: grid; gap: 10px; }
.team-contact-links a {
  min-width: 0;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: rgba(255,255,255,.82);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: color .35s ease;
}
.team-contact-links a:hover { color: #fff; }
.team-contact-links a span { flex: 0 0 auto; color: #d5a13c; }

.technical-contact {
  position: relative;
  overflow: hidden;
  padding: clamp(110px, 10vw, 180px) 0;
  color: #f7f3eb;
  background: #061727;
}
.technical-contact::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: linear-gradient(90deg, transparent, #c99535 20%, #c99535 80%, transparent); }
.technical-watermark { position: absolute; right: -1vw; bottom: -2vw; color: rgba(255,255,255,.025); font-family: "Newsreader", Georgia, serif; font-size: clamp(130px, 17vw, 300px); line-height: .75; }
.technical-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,.72fr) minmax(450px,1fr); gap: clamp(75px, 10vw, 170px); }
.technical-heading h2 { max-width: 620px; margin: 29px 0 25px; font-family: "Newsreader", Georgia, serif; font-size: clamp(55px, 5vw, 83px); font-weight: 400; line-height: .94; letter-spacing: -.045em; }
.technical-heading > p:last-child { max-width: 530px; margin: 0; color: rgba(255,255,255,.62); font-size: 15px; line-height: 1.8; }
.technical-person { display: grid; grid-template-columns: minmax(230px, .75fr) minmax(250px, 1fr); border: 1px solid rgba(213,161,60,.34); }
.technical-photo { min-height: 350px; overflow: hidden; }
.technical-photo img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center top; transition: transform 1.1s cubic-bezier(.22,1,.36,1); }
.technical-person:hover img { transform: scale(1.04); }
.technical-person > div:last-child { padding: clamp(30px, 4vw, 60px); display: flex; flex-direction: column; justify-content: center; }
.technical-person span { color: #d5a13c; font-size: 9px; letter-spacing: .16em; }
.technical-person h3 { margin: 18px 0 34px; font-family: "Newsreader", Georgia, serif; font-size: 45px; font-weight: 400; line-height: 1; }
.technical-person a { display: flex; justify-content: space-between; gap: 12px; color: rgba(255,255,255,.7); font-size: 11px; text-decoration: none; overflow-wrap: anywhere; }
.technical-person a b { color: #d5a13c; font-size: 20px; font-weight: 400; }
.technical-details { grid-column: 1 / -1; margin-top: 12px; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15); }
.technical-details article { min-height: 210px; padding: 40px clamp(20px, 4vw, 60px); display: grid; grid-template-columns: 75px 1fr; gap: 25px; align-items: start; }
.technical-details article + article { border-left: 1px solid rgba(255,255,255,.15); }
.technical-details article > span { color: #d5a13c; font-family: "Newsreader", Georgia, serif; font-size: 41px; }
.technical-details p { margin: 3px 0 16px; color: rgba(255,255,255,.53); font-size: 9px; letter-spacing: .16em; }
.technical-details h3 { margin: 0 0 12px; font-family: "Newsreader", Georgia, serif; font-size: 32px; font-weight: 400; line-height: 1.12; }
.technical-details a { color: inherit; text-decoration: none; }
.technical-details div > a, .technical-details small { color: #d5a13c; font-size: 11px; }

.contact-page-form-section { position: relative; overflow: hidden; padding: clamp(110px, 10vw, 180px) 0; background: #f6f3ed; }
.contact-form-watermark { position: absolute; left: -1vw; bottom: -1vw; color: rgba(14,23,38,.028); font-family: "Newsreader", Georgia, serif; font-size: clamp(130px, 17vw, 300px); line-height: .7; white-space: nowrap; }
.contact-page-form-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,.85fr) minmax(500px, .8fr); gap: clamp(80px, 11vw, 190px); align-items: start; }
.contact-page-form-copy h2 { margin: 28px 0 27px; font-family: "Newsreader", Georgia, serif; font-size: clamp(58px, 5.4vw, 92px); font-weight: 400; line-height: .93; letter-spacing: -.045em; }
.contact-page-form-copy > p { max-width: 590px; margin: 0; color: rgba(14,23,38,.67); font-size: 15px; line-height: 1.8; }
.contact-form-direct { margin-top: 42px; display: grid; gap: 14px; }
.contact-form-direct a { padding-bottom: 15px; display: grid; grid-template-columns: 75px 1fr; align-items: center; color: #0e1726; border-bottom: 1px solid rgba(14,23,38,.16); text-decoration: none; }
.contact-form-direct small { color: #a97921; font-size: 9px; letter-spacing: .15em; }
.contact-form-direct span { font-family: "Newsreader", Georgia, serif; font-size: clamp(21px, 2vw, 30px); }

.contact-page-form { display: grid; gap: 24px; padding: clamp(35px, 4.2vw, 65px); border: 1px solid rgba(14,23,38,.15); background: rgba(255,255,255,.48); }
.contact-page-form label { display: grid; gap: 7px; }
.contact-page-form label > span { color: rgba(14,23,38,.78); font-size: 11px; font-weight: 600; letter-spacing: .16em; }
.contact-page-form input,
.contact-page-form textarea,
.contact-page-form select { width: 100%; color: #0e1726; border: 0; border-bottom: 1px solid rgba(14,23,38,.28); border-radius: 0; outline: 0; background-color: transparent; font: inherit; transition: border-color .35s ease, box-shadow .35s ease; }
.contact-page-form input { height: 38px; }
.contact-page-form textarea { min-height: 85px; padding-top: 10px; resize: vertical; }
.contact-page-form select {
  height: 42px;
  padding: 0 38px 0 0;
  appearance: none;
  cursor: pointer;
  background-image:
    linear-gradient(45deg, transparent 50%, #b4822b 50%),
    linear-gradient(135deg, #b4822b 50%, transparent 50%);
  background-position:
    calc(100% - 13px) 18px,
    calc(100% - 8px) 18px;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}
.contact-page-form select:invalid { color: rgba(14,23,38,.5); }
.contact-page-form select option { color: #0e1726; background: #f7f4ee; }
.contact-page-form input:focus,
.contact-page-form textarea:focus,
.contact-page-form select:focus { border-color: #c99535; box-shadow: 0 1px 0 #c99535; }
.contact-page-form button { min-height: 62px; margin-top: 8px; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; color: #fff; border: 1px solid #061727; background: #061727; cursor: pointer; font: 600 10px/1 "Manrope", Arial, sans-serif; letter-spacing: .16em; transition: color .4s ease, background .4s ease, transform .4s cubic-bezier(.22,1,.36,1); }
.contact-page-form button b { color: #d5a13c; font-size: 22px; font-weight: 400; transition: transform .35s ease; }
.contact-page-form button:hover { color: #061727; background: #d5a13c; transform: translateY(-2px); }
.contact-page-form button:hover b { color: #061727; transform: translateX(5px); }

[data-reveal] { opacity: 0; filter: blur(5px); transition: opacity .95s cubic-bezier(.22,1,.36,1), transform .95s cubic-bezier(.22,1,.36,1), filter .95s ease; }
[data-reveal="left"] { transform: translateX(-48px); }
[data-reveal="right"] { transform: translateX(48px); }
[data-reveal="up"] { transform: translateY(48px); }
[data-reveal].is-visible { opacity: 1; filter: blur(0); transform: translate(0); }
.team-contact-card:nth-child(2) { transition-delay: .08s; }
.team-contact-card:nth-child(3) { transition-delay: .14s; }
.team-contact-card:nth-child(4) { transition-delay: .06s; }
.team-contact-card:nth-child(5) { transition-delay: .12s; }
.team-contact-card:nth-child(6) { transition-delay: .18s; }
.team-contact-card:nth-child(7) { transition-delay: .24s; }

@keyframes contactHeroIn { to { opacity: 1; transform: translateY(0); } }
@keyframes contactArrow { 0%,100% { transform: translateY(-2px); } 50% { transform: translateY(5px); } }

@media (max-width: 1100px) {
  .contact-hero-grid { grid-template-columns: minmax(0,1fr) minmax(400px,.75fr); gap: 45px; }
  .contact-hero-copy h1 { font-size: clamp(60px, 6.9vw, 78px); }
  .team-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .team-contact-card,
  .team-contact-card-wide,
  .team-contact-card-compact { grid-column: auto; }
  .team-contact-card-owner { grid-column: 1 / -1; width: calc(50% - 11px); justify-self: center; }
  .technical-grid { grid-template-columns: 1fr; }
  .technical-person { max-width: 850px; }
  .contact-page-form-grid { grid-template-columns: minmax(0,.75fr) minmax(450px,1fr); gap: 60px; }
}

@media (max-width: 820px) {
  .contact-page .site-header { --header-h: 82px; }
  .contact-shell { width: min(100% - 36px, 680px); }
  .contact-hero { min-height: auto; padding: 135px 0 88px; }
  .contact-hero-grid, .contact-intro-grid, .contact-page-form-grid { grid-template-columns: 1fr; }
  .contact-hero-grid { gap: 60px; padding-top: 0; }
  .contact-hero-copy h1 { font-size: clamp(56px, 14vw, 82px); }
  .contact-route-panel { width: 100%; }
  .contact-scroll { display: none; }
  .contact-intro-grid { gap: 48px; }
  .team-directory-grid {
    width: min(calc(100% - 36px), 760px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
  .team-contact-card, .team-contact-card-wide, .team-contact-card-compact { grid-column: auto; }
  .team-contact-card-owner { grid-column: 1 / -1; width: calc(50% - 8px); }
  .technical-person { grid-template-columns: minmax(190px,.8fr) 1fr; }
  .technical-details { grid-template-columns: 1fr; }
  .technical-details article + article { border-top: 1px solid rgba(255,255,255,.15); border-left: 0; }
  .contact-page-form-grid { gap: 60px; }
}

@media (max-width: 560px) {
  .contact-shell { width: calc(100% - 30px); }
  .contact-hero { padding-top: 120px; }
  .contact-hero-copy h1 { margin-top: 27px; font-size: clamp(50px, 16vw, 67px); }
  .contact-hero-lead { font-size: 14px; }
  .contact-route-panel { padding: 14px; }
  .contact-route-panel-head { display: none; }
  .contact-route-panel a { min-height: 82px; grid-template-columns: 38px 1fr 20px; gap: 12px; }
  .contact-route-panel a i { font-size: 22px; }
  .contact-route-panel a b { font-size: 21px; }
  .contact-route-panel a small { font-size: 9px; }
  .contact-intro { padding-top: 85px; }
  .contact-intro h2, .technical-heading h2, .contact-page-form-copy h2 { font-size: clamp(47px, 14vw, 63px); }
  .contact-intro-stats { gap: 14px; }
  .contact-intro-stats span { align-items: flex-start; flex-direction: column; gap: 6px; }
  .team-directory-grid { width: calc(100% - 30px); grid-template-columns: 1fr; gap: 16px; }
  .team-contact-card-owner { grid-column: auto; width: 100%; }
  .team-contact-card, .team-contact-card-wide { min-height: 0; grid-template-columns: 1fr; grid-template-rows: auto 1fr; }
  .team-contact-card-reverse .team-contact-photo { order: 1; }
  .team-contact-card-reverse .team-contact-copy { order: 2; }
  .team-contact-copy { min-height: 215px; padding: 25px 22px 22px; }
  .team-contact-copy::before { left: 22px; }
  .team-contact-card-wide .team-contact-copy::before { top: 0; }
  .team-contact-card-wide .team-contact-number { top: 25px; }
  .technical-person { grid-template-columns: 1fr; }
  .technical-photo { min-height: 330px; }
  .technical-details article { grid-template-columns: 48px 1fr; padding-inline: 15px; }
  .technical-details article > span { font-size: 31px; }
  .technical-details h3 { font-size: 27px; }
  .contact-page-form { padding: 28px 20px; }
  .contact-page-form label > span { font-size: 11px; }
  .contact-form-direct a { grid-template-columns: 1fr; gap: 7px; }
}

@media (prefers-reduced-motion: reduce) {
  .contact-hero-step, [data-reveal] { opacity: 1; filter: none; transform: none; animation: none; transition: none; }
  .contact-scroll i { animation: none; }
}
