.contact-page { background: #fff; color: #11233e; }
.contact-hero { position: relative; min-height: 560px; overflow: hidden; background: linear-gradient(90deg, rgba(4, 22, 48, 0.97) 0%, rgba(4, 22, 48, 0.8) 42%, rgba(4, 22, 48, 0.22) 76%, rgba(4, 22, 48, 0.34) 100%), url("https://z.commonsupport.com/php/nauka/assets/images/slides/slide-v1-4.jpg") center / cover; }
.contact-hero::after { content: ""; position: absolute; right: 7%; bottom: -170px; width: 500px; aspect-ratio: 1; border: 1px solid rgba(242, 177, 29, 0.25); border-radius: 50%; box-shadow: 0 0 0 58px rgba(255, 255, 255, 0.035), 0 0 0 116px rgba(255, 255, 255, 0.025); }
.contact-hero__content { position: relative; z-index: 1; min-height: 560px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 180px 0 60px; text-align: center; }
.contact-hero__eyebrow, .section-kicker { margin: 0 0 18px; color: var(--logo-gold); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; }
.contact-hero h1, .contact-details h2, .contact-hours h2, .contact-closing h2 { margin: 0; font-family: "Outfit", sans-serif; font-weight: 700; letter-spacing: -0.055em; }
.contact-hero h1 { max-width: none; color: #fff; font-size: clamp(2.8rem, 3.4vw, 4.4rem); line-height: 0.92; text-transform: uppercase; white-space: nowrap; }
.contact-hero h1 em { color: var(--logo-gold); font-style: normal; }
.contact-hero__content > p:not(.contact-hero__eyebrow) { max-width: none; margin: 28px 0 30px; color: rgba(255, 255, 255, 0.8); font-size: 1rem; line-height: 1.7; white-space: nowrap; }
.contact-hero__cta, .contact-closing a { display: inline-flex; align-items: center; gap: 16px; min-height: 58px; padding: 0 26px; border-radius: 999px; background: var(--logo-gold); color: #071b38; font-weight: 700; transition: transform 180ms ease, background 180ms ease; }
.contact-hero__cta:hover, .contact-closing a:hover { background: #ffd05b; transform: translateY(-2px); }

.contact-details { padding: 125px 0; }
.contact-details__grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); align-items: center; gap: clamp(50px, 8vw, 120px); }
.contact-details h2 { max-width: 530px; font-size: clamp(2.7rem, 4.3vw, 4.5rem); line-height: 1.02; }
.contact-details__copy > p:not(.section-kicker) { max-width: 520px; margin: 27px 0 34px; color: #5a687b; font-size: 1rem; line-height: 1.75; }
.contact-methods { display: grid; gap: 0; border-top: 1px solid #dfe4e8; }
.contact-method { display: flex; align-items: center; gap: 16px; padding: 19px 0; border-bottom: 1px solid #dfe4e8; color: #17314f; }
a.contact-method { transition: color 180ms ease; }.contact-method:hover { color: #a87510; }
.contact-method > span { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid var(--logo-gold); border-radius: 50%; color: #9d721a; font-size: 0.82rem; }
.contact-method div { display: grid; gap: 4px; }.contact-method small { color: #7b8795; font-size: 0.73rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }.contact-method strong { font-size: 1rem; }.contact-method em { color: #8b96a2; font-size: 0.75rem; font-style: normal; }
.contact-map { position: relative; min-height: 520px; overflow: hidden; background: #dfe8e9; }
.contact-map iframe { width: 100%; height: 520px; border: 0; filter: grayscale(1) contrast(1.05) saturate(0.5); }
.contact-map__label { position: absolute; right: 28px; bottom: 28px; display: flex; align-items: center; gap: 13px; padding: 17px 20px; border-left: 4px solid var(--logo-gold); background: #092244; color: #fff; box-shadow: 0 16px 40px rgba(7, 22, 45, 0.25); }.contact-map__label > span { color: var(--logo-gold); font-size: 0.72rem; }.contact-map__label div { display: grid; gap: 4px; }.contact-map__label small { color: rgba(255, 255, 255, 0.62); font-size: 0.7rem; letter-spacing: 0.09em; text-transform: uppercase; }.contact-map__label strong { font-size: 0.88rem; }

.contact-hours { padding: 100px 0; background: #e9edf0; }.contact-hours__grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr); gap: clamp(48px, 9vw, 140px); }.contact-hours h2 { font-size: clamp(2.7rem, 4.3vw, 4.5rem); line-height: 1.02; }.contact-hours__items { display: grid; gap: 0; border-top: 1px solid #bcc6cf; }.contact-hours__items div { display: flex; justify-content: space-between; gap: 20px; padding: 19px 0; border-bottom: 1px solid #bcc6cf; }.contact-hours__items span { color: #5a687b; font-size: 0.94rem; }.contact-hours__items strong { color: #16304e; font-size: 0.94rem; }
.contact-closing { padding: 128px 0; text-align: center; background: #071b38; color: #fff; }.contact-closing .section-kicker { margin-bottom: 22px; }.contact-closing h2 { font-size: clamp(3rem, 5.4vw, 5.8rem); line-height: 1.02; }.contact-closing > .container > p:not(.section-kicker) { max-width: 620px; margin: 25px auto 34px; color: rgba(255, 255, 255, 0.74); line-height: 1.75; }
