.contact-page { min-height: 100vh; background: var(--green-dark); }
.contact-page .topbar { background: var(--paper); }
.contact-intro { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(40px, 8vw, 120px); align-items: start; padding: clamp(70px, 9vw, 130px) 7vw; color: #fff; }
.contact-intro > div { position: sticky; top: 50px; padding-top: 28px; }
.contact-intro .eyebrow { color: var(--electric, #d9ff78); }
.contact-intro h1 { max-width: 720px; font-size: clamp(52px, 7vw, 96px); }
.contact-lead { max-width: 620px; margin: 30px 0; color: #ffffffc7; font-size: 18px; }
.contact-points { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 34px; }
.contact-points span { padding: 8px 13px; border: 1px solid #ffffff38; border-radius: 999px; color: #fff; font-size: 12px; }
.contact-page .direct-contacts a { color: #fff; border-color: #ffffff5c; }
.contact-page .direct-contacts small { color: #ffffff9e; }
.contact-page form { display: grid; gap: 18px; padding: clamp(26px, 4vw, 52px); border-radius: 32px; background: var(--paper); color: var(--ink); box-shadow: 0 30px 80px #00000036; }
.form-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 8px; }
.form-heading span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--electric, #d9ff78); font-weight: 800; }
.form-heading p { margin: 0; font-family: var(--serif); font-size: 30px; }
.contact-page form label:not(.privacy-check) { display: grid; gap: 7px; }
.contact-page form label > span { font-size: 13px; font-weight: 700; }
.contact-page input, .contact-page select, .contact-page textarea { width: 100%; padding: 14px 15px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--ink); }
.contact-page textarea { resize: vertical; }
.contact-page .form-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.privacy-check { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; color: var(--muted); }
.privacy-check input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--green); }
.privacy-check span, .form-note { font-size: 12px; font-weight: 400; }
.form-note { margin: -4px 0 0; color: var(--muted); }
.contact-page footer { background: var(--paper); }
@media (max-width: 950px) { .contact-intro { grid-template-columns: 1fr; padding-inline: 5vw; } .contact-intro > div { position: static; } }
@media (max-width: 600px) { .contact-intro { padding: 55px 16px; } .contact-intro h1 { font-size: clamp(46px, 14vw, 62px); } .contact-page .form-row { grid-template-columns: 1fr; } .contact-page form { padding: 24px 18px; border-radius: 24px; } }
