.contact-page { color: #101010; font-family: "Montserrat", sans-serif; }
.contact-page * { box-sizing: border-box; }
.contact-hero { height: 834px; margin-top: -123px; position: relative; overflow: hidden; }
.contact-hero-image, .contact-hero-wash { position: absolute; inset: 0; width: 100%; height: 100%; }
.contact-hero-image { object-fit: cover; object-position: center 58%; }
.contact-hero-wash { background: linear-gradient(180deg, rgba(255,255,255,.33) 0%, rgba(255,255,255,.57) 64%, #fff 100%), rgba(255,255,255,.24); }
.contact-hero-content { position: relative; z-index: 1; padding-top: 370px; }
.contact-hero h1 { width: 720px; margin: 0; color: #173993; font-family: "Montserrat", sans-serif; font-size: 60px; font-weight: 400; line-height: 1.2; letter-spacing: -2px; }

.contact-main { height: 1120px; padding-top: 113px; background: #fff; }
.contact-layout { display: grid; grid-template-columns: 380px 954px; column-gap: 110px; align-items: start; }
.locations-column h2 { margin: 0 0 91px; font-family: "Montserrat", sans-serif; font-size: 40px; font-weight: 400; line-height: 1.2; letter-spacing: -1.5px; }
.location-grid { display: grid; grid-template-columns: 124px 124px; column-gap: 120px; row-gap: 43px; }
.location-card { min-width: 0; font-size: 12px; }
.location-flag { display: block; width: 124px; height: 73px; margin: 0 0 12px; border-radius: 10px; object-fit: cover; }
.location-card h3 { margin: 0 0 5px; font-size: 16px; font-weight: 500; line-height: 1.2; white-space: nowrap; }
.location-card p { margin: 0; line-height: 1.55; }
.location-card a { color: #111; font-size: 12px; line-height: 1.55; text-decoration: none; white-space: nowrap; }

.consultation-form { padding-top: 0; transform: translateY(-19px); }
.need-fieldset { margin: 0 0 91px; padding: 0; border: 0; }
.need-fieldset legend { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.need-options { display: grid; grid-template-columns: repeat(4, 1fr); gap: 41px; }
.need-option { height: 73px; padding: 0 14px; border: 0; border-radius: 10px; background: #fff; box-shadow: 0 18px 34px rgba(0,0,0,.10), inset 0 3px 1px #fff; display: grid; place-items: center; cursor: pointer; transition: transform .2s, background .2s, color .2s; }
.need-option:hover { transform: translateY(-2px); }
.need-option input { position: absolute; opacity: 0; pointer-events: none; }
.need-option span { text-align: center; font-size: 12px; font-weight: 400; line-height: 1.25; }
.need-option strong { font-size: inherit; font-weight: 400; }
.need-option.is-selected { color: #fff; background: linear-gradient(127deg, #112c7d 0%, #1f50e3 121.65%); box-shadow: 0 18px 34px rgba(17,44,125,.23); }
.need-option:focus-within { outline: 3px solid rgba(31,80,227,.25); outline-offset: 3px; }

.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; row-gap: 31px; }
.form-grid label { min-width: 0; display: block; }
.form-grid label > span:first-child { display: block; margin: 0 0 12px; font-size: 16px; font-weight: 500; line-height: 19px; opacity: .8; }
.form-grid .full-width { grid-column: 1 / -1; }
.form-grid input, .form-grid select, .form-grid textarea, .phone-control { width: 100%; border: 0; border-radius: 10px; background: #fff; color: #111; font-family: inherit; font-size: 14px; box-shadow: 0 .7px .7px rgba(0,0,0,.08), 0 1.8px 1.8px rgba(0,0,0,.08), 0 3.6px 3.6px rgba(0,0,0,.07), 0 6.9px 6.9px rgba(0,0,0,.07), 0 13.6px 13.6px rgba(0,0,0,.05), 0 30px 30px rgba(0,0,0,.02), inset 0 3px 1px #fff; outline: 0; }
.form-grid input, .form-grid select { height: 58px; padding: 0 18px; }
.form-grid input::placeholder, .form-grid textarea::placeholder { color: rgba(0,0,0,.42); }
.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus { box-shadow: 0 0 0 2px rgba(31,80,227,.32), 0 18px 34px rgba(0,0,0,.09); }
.phone-field { margin-top: -2px; }
.phone-control { height: 58px; display: flex !important; align-items: center; }
.phone-control img { width: 32px; height: 24px; margin-left: 17px; border-radius: 0; object-fit: cover; }
.phone-control input { min-width: 0; box-shadow: none; }
.message-field { margin-top: 0; }
.form-grid textarea { height: 154px; padding: 24px 18px; resize: none; }
.consultation-submit { width: 250px; height: 51px; margin-top: 45px; padding: 0 20px; border: 0; border-radius: 10px; font-size: 16px; white-space: nowrap; cursor: pointer; }
.form-note { min-height: 0; margin: 10px 0 0; color: #173993; font-size: 12px; }

.global-map { height: 689px; position: relative; overflow: hidden; background: #d2d2d2; }
.global-map > .global-map-image { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center bottom; }
.figma-pin { position: absolute; display: block; }
.pin-na-west { left: 15.99%; top: 184px; width: 29px; height: 37px; }
.pin-na-east { left: 19.74%; top: 104px; width: 29px; height: 37px; }
.pin-europe { left: 46.56%; top: 88px; width: 26px; height: 35px; }
.pin-india-one { left: 70.47%; top: 272px; width: 21px; height: 27px; }
.pin-india-two { left: 70.05%; top: 365px; width: 19px; height: 25px; }
.pin-au { left: 90.47%; top: 644px; width: 27px; height: 36px; }

.partner-section { height: 905px; padding-top: 143px; background: #fff; }
.partner-layout { display: grid; grid-template-columns: 665px 699px; column-gap: 80px; align-items: start; }
.partner-copy h2 { margin: 0 0 45px; font-family: "Montserrat", sans-serif; font-size: 40px; font-weight: 300; line-height: 1.2; letter-spacing: -1.5px; }
.partner-copy h2 strong { font-weight: 500; }
.partner-copy ul { width: 590px; margin: 0; padding: 0; list-style: none; }
.partner-copy li { position: relative; min-height: 72px; margin: 0 0 44px; padding-left: 50px; font-size: 16px; line-height: 1.35; }
.partner-copy li::before { content: "→"; position: absolute; left: 0; top: -4px; width: 29px; height: 29px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: #1644bf; font-size: 15px; }
.partner-social { margin-top: -4px; }
.partner-social p { margin: 0 0 26px; font-size: 40px; font-weight: 400; line-height: 1; letter-spacing: -1.4px; }
.partner-social div { display: flex; align-items: center; gap: 36px; }
.partner-social a { padding: 0; display: grid; place-items: center; border-radius: 0; color: #050505; background: transparent; text-decoration: none; }
.partner-social span { font-size: 25px; line-height: 1; }

.proof-stats { display: grid; grid-template-columns: repeat(2, 334px); grid-auto-rows: 314px; gap: 85px 31px; }
.proof-stats article { position: relative; overflow: hidden; padding: 35px 25px 28px; border-radius: 20px; background: #fff; box-shadow: 0 .7px .7px rgba(0,0,0,.08), 0 1.8px 1.8px rgba(0,0,0,.08), 0 3.6px 3.6px rgba(0,0,0,.07), 0 6.9px 6.9px rgba(0,0,0,.07), 0 13.6px 13.6px rgba(0,0,0,.05), 0 30px 30px rgba(0,0,0,.02), inset 0 3px 1px #fff; display: flex; flex-direction: column; }
.proof-stats article::before { content: ""; position: absolute; z-index: 0; inset: 0 0 auto 0; height: 150px; opacity: .38; background-image: linear-gradient(rgba(31,80,227,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(31,80,227,.12) 1px, transparent 1px); background-size: 32px 32px; mask-image: linear-gradient(90deg, transparent 4%, #000 50%, transparent 100%); }
.proof-stats img { position: relative; z-index: 1; width: 56px; height: 56px; margin-bottom: auto; padding: 13px; border-radius: 10px; background: linear-gradient(127deg, #112c7d, #1f50e3); box-shadow: 0 10px 18px rgba(17,44,125,.2); }
.proof-stats strong { position: relative; z-index: 1; font-size: 60px; font-weight: 500; line-height: 1.05; letter-spacing: -2px; }
.proof-stats span { position: relative; z-index: 1; margin-top: 5px; font-size: 16px; }

.contact-page .certifications { display: block; width: 100%; max-width: none; height: 447px; margin: 0; padding: 85px 0 0; background: #fff; }
.contact-page .certifications h2 { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; }
.certification-row { display: flex; align-items: center; justify-content: space-between; width: 1210px; margin: 0 auto; }
.certification-row img { width: 126px; height: 126px; object-fit: contain; filter: grayscale(1); }

@media (max-width: 1199px) {
  .contact-hero { height: 680px; }
  .contact-hero-content { padding-top: 310px; }
  .contact-main { height: auto; padding: 90px 0 110px; }
  .contact-layout { grid-template-columns: 330px minmax(0, 1fr); gap: 55px; }
  .location-grid { column-gap: 70px; }
  .need-options { gap: 14px; }
  .consultation-form { transform: none; }
  .need-fieldset { margin-bottom: 72px; }
  .partner-section { height: auto; padding: 100px 0; }
  .partner-layout { grid-template-columns: 1fr 1fr; gap: 55px; }
  .partner-copy ul { width: auto; }
  .proof-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 280px; gap: 28px; }
  .certifications { height: auto; padding: 75px 0 100px; }
  .certification-row { width: 100%; }
}
@media (max-width: 900px) {
  .contact-layout { grid-template-columns: 1fr; }
  .location-grid { grid-template-columns: repeat(3, 124px); justify-content: space-between; column-gap: 20px; margin-bottom: 75px; }
  .partner-layout { grid-template-columns: 1fr; }
  .proof-stats { max-width: 700px; }
}
@media (max-width: 767px) {
  .contact-hero { height: 590px; margin-top: -78px; }
  .contact-hero-image { object-position: 63% center; }
  .contact-hero-content { padding-top: 290px; }
  .contact-hero h1 { width: auto; font-size: 44px; line-height: 1.16; letter-spacing: -1.5px; }
  .contact-main { padding: 72px 0 90px; }
  .locations-column h2, .partner-copy h2 { font-size: 34px; }
  .location-grid { grid-template-columns: repeat(2, 124px); justify-content: start; column-gap: 58px; }
  .need-options { grid-template-columns: repeat(2, 1fr); }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .full-width { grid-column: auto; }
  .global-map { height: 350px; }
  .global-map > .global-map-image { width: auto; min-width: 970px; transform: translateX(-25%); }
  .partner-section { padding: 76px 0; }
  .partner-copy li { min-height: 0; margin-bottom: 30px; }
  .partner-social p { font-size: 32px; }
  .proof-stats { grid-auto-rows: 230px; gap: 18px; }
  .proof-stats strong { font-size: 42px; }
  .proof-stats span { font-size: 13px; }
  .certification-row { flex-wrap: wrap; justify-content: center; gap: 30px 50px; }
  .certification-row img { width: 92px; height: 92px; }
}
@media (max-width: 430px) {
  .location-grid { column-gap: 35px; }
  .need-options { gap: 10px; }
  .proof-stats { grid-template-columns: 1fr; grid-auto-rows: 250px; }
}
