.page { background: var(--color-white); } .bannerWrap { max-width: 1920px; margin: 0 auto; padding: 28px var(--page-pad) 0; } .banner { position: relative; isolation: isolate; overflow: hidden; background: #f6f6f6; border-radius: 5px; min-height: 136px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 28px 20px; } .banner::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: 0.7; background-image: var(--page-title-pattern); } .bannerTitle, .bannerSub { position: relative; z-index: 1; } .bannerTitle { font-size: clamp(24px, 2.2vw, 35px); font-weight: 400; letter-spacing: 14px; text-transform: uppercase; } .bannerSub { margin-top: 8px; font-size: 12px; font-weight: 300; letter-spacing: 4.02px; text-transform: uppercase; color: var(--color-soft); } .container { max-width: 1552px; margin: 0 auto; padding: 0 var(--page-pad); } .panel { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(240px, 0.85fr); gap: 64px; padding: 56px 0 40px; position: relative; } .panel::after { content: ""; position: absolute; top: 56px; bottom: 40px; left: 58%; width: 2px; background: var(--color-card); } .heading { font-size: clamp(36px, 3.4vw, 55px); font-weight: 700; margin-bottom: 28px; } .sendLabel { font-size: clamp(22px, 2vw, 35px); font-weight: 400; letter-spacing: 7px; text-transform: uppercase; margin-bottom: 10px; } .sendHint { font-size: 12px; font-weight: 300; letter-spacing: 2.4px; text-transform: uppercase; color: #4b4b4b; line-height: 1.5; margin-bottom: 28px; max-width: 520px; } .form { display: grid; gap: 18px; max-width: 761px; } .row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; } .field { position: relative; display: block; } .field span { position: absolute; top: -8px; left: 16px; z-index: 1; background: var(--color-white); padding: 0 6px; font-size: 12px; font-weight: 300; color: #aaa; transition: color 0.25s ease; } .field input, .field select, .field textarea { width: 100%; border: 1px solid #eee; border-radius: 5px; background: var(--color-white); padding: 14px 18px; font: inherit; font-size: 16px; font-weight: 300; color: var(--color-black); outline: 0; transition: border-color 0.25s ease; } .field:focus-within span { color: var(--color-black); } .field input:focus, .field select:focus, .field textarea:focus { border-color: var(--color-black); } .field select { appearance: none; background-image: url("/images/icons/chevron.svg"); background-repeat: no-repeat; background-position: right 18px center; background-size: 8px 14px; padding-right: 36px; } .plain span { display: none; } .field textarea { min-height: 231px; resize: vertical; } .formActions { display: flex; justify-content: flex-end; margin-top: 8px; } .formActions .outline-btn, .formActions button { height: 29px; min-width: 207px; font-size: 12px; letter-spacing: 2.4px; } .aside { display: flex; flex-direction: column; gap: 36px; padding-top: 8px; } .asideBlock h3 { font-size: clamp(24px, 2vw, 35px); font-weight: 600; margin-bottom: 12px; } .asideBlock p, .asideBlock a { font-size: clamp(16px, 1.4vw, 25px); font-weight: 300; color: #4b4b4b; line-height: 1.35; } .asideBlock p { font-size: 18px; } .phones { display: flex; flex-direction: column; gap: 2px; } .socials { display: flex; gap: 12px; align-items: center; } .socials img { width: 26px; height: 26px; object-fit: contain; } .mapWrap { padding: 12px 0 56px; } .mapWrap img { width: 100%; height: clamp(220px, 32vw, 360px); object-fit: cover; border-radius: 4px; } .faq { display: grid; grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1.3fr); gap: 48px; padding: 12px 0 96px; } .faqKicker { font-size: 20px; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 12px; } .faqTitle { font-size: clamp(34px, 3.4vw, 55px); font-weight: 700; line-height: 1.1; } .faqList { display: flex; flex-direction: column; gap: 8px; } .faqItem { padding: 12px 0 18px; } .faqTrigger { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; text-align: left; font-size: clamp(20px, 1.8vw, 30px); font-weight: 500; } .faqOpen { transform: rotate(-90deg); } .faqClosed { transform: rotate(90deg); } .faqAnswer { margin-top: 14px; font-size: 18px; line-height: 1.35; color: #939393; max-width: 703px; } @media (max-width: 1100px) { .panel::after { display: none; } .panel, .faq { grid-template-columns: 1fr; } } @media (max-width: 720px) { .row { grid-template-columns: 1fr; } .bannerTitle { letter-spacing: 6px; } }