.contact-page { position: relative; min-height: 100vh; overflow-x: hidden; background: linear-gradient(135deg, #e8f0f1 0%, #f7faf8 46%, #dcebef 100%); }
.contact-page::before { content: ''; position: fixed; z-index: -1; inset: -18%; pointer-events: none; background: radial-gradient(ellipse 38% 32% at 10% 12%, rgba(255,255,255,.88), transparent 70%), radial-gradient(ellipse 42% 36% at 91% 24%, rgba(139,201,216,.52), transparent 72%), radial-gradient(ellipse 48% 40% at 46% 94%, rgba(255,255,255,.76), transparent 70%), radial-gradient(ellipse 34% 30% at 58% 42%, rgba(207,231,233,.48), transparent 72%); filter: blur(48px); }
.contact-page .site-header { background: rgba(238,247,247,.34); }
.contact-page .site-header.scrolled { background: rgba(238,247,247,.72); }
.contact-main { padding-top: 80px; }
.contact-hero { padding-top: 64px; padding-bottom: 70px; }
.contact-kicker { color: var(--color-navy); font: 600 .72rem/1 var(--latin); letter-spacing: .12em; }
.contact-hero h1 { margin-top: 30px; color: var(--color-ink); font-size: clamp(3.2rem, 6vw, 6.4rem); font-weight: 500; line-height: 1.12; letter-spacing: -.07em; }
.contact-lead { margin-top: 34px; color: var(--color-muted); font-size: .96rem; line-height: 1.7; }
.contact-body { display: block; width: min(760px, calc(100% - 64px)); padding-top: 54px; padding-bottom: 125px; border-top: 1px solid rgba(47,66,67,.18); }
.inquiry-form { padding: 0; border: 0; background: transparent; box-shadow: none; }
.contact-form-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; padding-bottom: 0; border-bottom: 0; }
.contact-form-heading h2 { font-size: 1.55rem; font-weight: 500; letter-spacing: -.04em; }
.contact-form-heading p { color: var(--color-muted); font-size: .74rem; }
.form-preview-note { margin-bottom: 28px; color: var(--color-muted); font-size: .76rem; line-height: 1.45; }
.inquiry-form label { display: block; margin-top: 20px; color: var(--color-ink); font-size: .78rem; font-weight: 500; }
.inquiry-form label:first-of-type { margin-top: 0; }
.inquiry-form label > span { margin-left: 8px; color: var(--color-navy); font-size: .64rem; }
.inquiry-form input[type='text'], .inquiry-form input[type='email'], .inquiry-form select, .inquiry-form textarea { display: block; width: 100%; margin-top: 8px; padding: 13px 14px; border: 1px solid rgba(47,66,67,.22); border-radius: 4px; background: rgba(255,255,255,.42); color: var(--color-ink); font: 400 .82rem/1.4 var(--sans); }
.inquiry-form textarea { resize: vertical; }
.inquiry-form input::placeholder, .inquiry-form textarea::placeholder { color: rgba(113,129,132,.72); }
.form-agreement { display: flex !important; align-items: center; gap: 8px; margin-top: 24px !important; color: var(--color-muted) !important; font-size: .72rem !important; font-weight: 400 !important; }
.form-agreement input { accent-color: var(--color-navy); }
.inquiry-form button { display: block; width: 100%; margin-top: 28px; padding: 15px 20px; border: 0; border-radius: 5px; background: var(--color-black); color: #fff; font: 500 .86rem/1.4 var(--sans); }
.inquiry-form button:disabled { cursor: not-allowed; opacity: .62; }

@media (max-width: 900px) {
  .contact-main { padding-top: 64px; }
  .contact-hero { padding-top: 44px; padding-bottom: 46px; }
  .contact-hero h1 { margin-top: 22px; font-size: clamp(2.8rem, 12vw, 4.2rem); }
  .contact-lead { margin-top: 24px; font-size: .84rem; }
  .contact-body { width: calc(100% - 40px); padding-top: 36px; padding-bottom: 80px; }
  .inquiry-form { padding: 24px 20px 25px; }
  .contact-form-heading { display: block; padding-bottom: 18px; }
  .contact-form-heading h2 { font-size: 1.35rem; }
  .contact-form-heading p { margin-top: 8px; font-size: .72rem; }
}
