.contact-page { background: #f5f7fb; }
.contact-hero { position: relative; min-height: calc(100vh - 82px); padding: 92px 0 88px; overflow: hidden; isolation: isolate; background: linear-gradient(135deg,#fbfcff 0%,#f4f7fc 52%,#f7f5fb 100%); }
.contact-hero::before { content: ""; position: absolute; z-index: -2; inset: 0; opacity: .58; background-image: linear-gradient(rgba(17,32,70,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(17,32,70,.045) 1px,transparent 1px); background-size: 62px 62px; mask-image: linear-gradient(90deg,#000,transparent 54%); }
.contact-hero__glow { position: absolute; z-index: -1; border-radius: 50%; filter: blur(2px); pointer-events: none; }
.contact-hero__glow--one { width: 480px; height: 480px; top: -280px; left: -170px; background: radial-gradient(circle,rgba(240,82,63,.12),transparent 68%); }
.contact-hero__glow--two { width: 580px; height: 580px; right: -240px; bottom: -330px; background: radial-gradient(circle,rgba(124,58,237,.1),transparent 68%); }
.contact-hero__layout { display: grid; grid-template-columns: .84fr 1.16fr; gap: clamp(62px,7vw,110px); align-items: center; }
.contact-hero__copy { padding-block: 20px; }
.contact-hero h1 { max-width: 650px; margin: 20px 0 24px; font: 600 clamp(52px,6vw,82px)/.99 "Manrope"; letter-spacing: -5px; }
.contact-hero h1 em { color: var(--blue); font-style: normal; }
.contact-hero__lead { max-width: 580px; margin-bottom: 34px; color: #59637c; font-size: 17px; line-height: 1.72; }
.contact-details { display: grid; gap: 11px; max-width: 560px; }
.contact-detail { display: grid; grid-template-columns: 43px 1fr auto; align-items: center; gap: 14px; padding: 14px 16px; border: 1px solid #e1e5ef; border-radius: 15px; background: rgba(255,255,255,.82); box-shadow: 0 10px 30px rgba(15,31,70,.045); transition: transform .3s var(--ease-out),border-color .25s ease,box-shadow .3s ease; }
.contact-detail:hover { transform: translateY(-3px); border-color: rgba(240,82,63,.3); box-shadow: 0 16px 36px rgba(15,31,70,.09); }
.contact-detail__icon { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 12px; color: #fff; background: linear-gradient(145deg,#19284b,#07122e); font: 700 16px "Manrope"; }
.contact-detail > span:nth-child(2) { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.contact-detail small,.contact-location small { color: #8790a7; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.contact-detail strong { overflow-wrap: anywhere; color: #15203e; font: 650 14px "Manrope"; }
.contact-detail > i { color: var(--blue); font-style: normal; }
.contact-location { display: flex; align-items: center; gap: 11px; margin-top: 21px; color: #45506a; }
.contact-location > i { width: 8px; height: 8px; border-radius: 50%; background: #25b982; box-shadow: 0 0 0 5px rgba(37,185,130,.11); }
.contact-location > span { display: flex; flex-direction: column; gap: 3px; }
.contact-location strong { font-size: 12px; font-weight: 600; }

.contact-page__form-shell { position: relative; padding: 33px; border: 1px solid rgba(255,255,255,.28); border-radius: 30px; color: #fff; background: radial-gradient(circle at 94% 3%,rgba(131,91,255,.22),transparent 34%),radial-gradient(circle at 4% 96%,rgba(240,82,63,.1),transparent 31%),linear-gradient(145deg,rgba(5,15,43,.94) 0%,rgba(10,25,57,.87) 58%,rgba(25,23,68,.89) 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.2),0 42px 100px rgba(7,18,46,.28),0 10px 30px rgba(7,18,46,.12); -webkit-backdrop-filter: blur(32px) saturate(145%); backdrop-filter: blur(32px) saturate(145%); overflow: hidden; isolation: isolate; transition: transform .5s var(--ease-out),border-color .4s ease,box-shadow .5s ease; }
.contact-page__form-shell:hover { border-color: rgba(255,255,255,.38); box-shadow: inset 0 1px 0 rgba(255,255,255,.24),0 48px 115px rgba(7,18,46,.33),0 12px 34px rgba(7,18,46,.14); transform: translateY(-3px); }
.contact-page__form-shell::before { content: ""; position: absolute; z-index: -1; width: 390px; height: 390px; left: -230px; bottom: -250px; border-radius: 50%; background: rgba(255,116,88,.13); filter: blur(7px); box-shadow: 0 0 100px rgba(255,116,88,.12); pointer-events: none; }
.contact-page__form-shell::after { content: ""; position: absolute; z-index: -1; width: 280px; height: 280px; top: -190px; right: -100px; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; box-shadow: 0 0 0 52px rgba(255,255,255,.04),0 0 0 104px rgba(255,255,255,.022); pointer-events: none; }
.contact-page__form-intro { position: relative; z-index: 2; margin: 0 3px 25px; }
.contact-page__form-intro > span { color: #ff9d8c; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.contact-page__form-intro h2 { margin: 9px 0 5px; font: 600 clamp(27px,3vw,37px)/1.12 "Manrope"; letter-spacing: -1.5px; }
.contact-page__form-intro p { margin: 0; color: #9aa7c2; font-size: 13px; }
.contact-page__form-shell .contact-form { max-width: none; padding: 23px; border: 1px solid rgba(255,255,255,.2); border-radius: 22px; background: linear-gradient(145deg,rgba(255,255,255,.115),rgba(255,255,255,.052)); box-shadow: inset 0 1px rgba(255,255,255,.15),0 24px 55px rgba(0,0,0,.18); -webkit-backdrop-filter: blur(24px) saturate(135%); backdrop-filter: blur(24px) saturate(135%); }
.contact-page__form-shell:hover .contact-form { border-color: rgba(255,255,255,.29); box-shadow: inset 0 1px rgba(255,255,255,.19),0 30px 64px rgba(0,0,0,.22); transform: translateY(-2px); }
.contact-page__form-shell .contact-form__top { padding-top: 0; border-top: 0; }
.contact-page__form-shell .contact-form label > span { font-size: 10px; }
.contact-page__form-shell .contact-form input,.contact-page__form-shell .contact-form select { height: 50px; }
.contact-page__form-shell .contact-form textarea { min-height: 120px; }
.contact-page__form-shell .contact-form__footer { align-items: flex-start; flex-direction: column; }
.contact-page__form-shell .contact-form__footer .button { min-height: 50px; color: #111c3c; background: #fff; border-color: #fff; box-shadow: 0 14px 32px rgba(0,0,0,.18); }
.contact-page__form-shell .contact-form__status { min-height: 14px; font-size: 11px; }

.contact-next { padding: 105px 0 120px; background: #fff; }
.contact-next__heading { display: grid; grid-template-columns: 1fr 1fr; gap: 42px 90px; align-items: end; margin-bottom: 52px; }
.contact-next__heading .section-label { grid-column: 1/-1; margin-bottom: -20px; }
.contact-next__heading h2 { margin: 0; font: 600 clamp(38px,4.5vw,57px)/1.08 "Manrope"; letter-spacing: -3px; }
.contact-next__heading > p { margin: 0 0 5px; color: #69738c; font-size: 16px; line-height: 1.65; }
.contact-next__steps { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid #dfe3ed; border-bottom: 1px solid #dfe3ed; }
.contact-next__steps article { display: grid; grid-template-columns: auto 1fr; gap: 19px; min-height: 205px; padding: 33px 30px 33px 0; }
.contact-next__steps article + article { padding-left: 30px; border-left: 1px solid #dfe3ed; }
.contact-next__steps article > span { color: var(--blue); font: 700 11px "Manrope"; }
.contact-next__steps h3 { margin-bottom: 11px; font: 650 18px "Manrope"; }
.contact-next__steps p { margin: 0; color: #68728a; font-size: 13px; line-height: 1.65; }

@media (max-width: 1040px) {
  .contact-hero { padding-top: 70px; }
  .contact-hero__layout { grid-template-columns: 1fr; gap: 52px; }
  .contact-hero__copy { max-width: 720px; }
  .contact-hero h1 { max-width: 720px; }
  .contact-details { grid-template-columns: 1fr 1fr; max-width: none; }
}
@media (max-width: 760px) {
  .contact-hero { padding: 54px 0 66px; }
  .contact-hero h1 { letter-spacing: -3px; }
  .contact-details { grid-template-columns: 1fr; }
  .contact-page__form-shell { padding: 25px 20px; border-radius: 23px; }
  .contact-page__form-shell .contact-form { padding: 19px 16px; border-radius: 18px; }
  .contact-page__form-shell .contact-form__grid { grid-template-columns: 1fr; }
  .contact-page__form-shell .contact-form__message { grid-column: auto; }
  .contact-form__top { align-items: flex-start; flex-direction: column; }
  .contact-next { padding: 80px 0; }
  .contact-next__heading { grid-template-columns: 1fr; gap: 20px; }
  .contact-next__heading .section-label { grid-column: auto; margin-bottom: 0; }
  .contact-next__steps { grid-template-columns: 1fr; }
  .contact-next__steps article { min-height: 0; padding: 27px 0; }
  .contact-next__steps article + article { padding-left: 0; border-top: 1px solid #dfe3ed; border-left: 0; }
}
