/* Dedicated contact page. Uses the site's shared palette and lead-form controls. */
.contact-page__intro { padding-block: 24px 52px; }
.contact-page__intro .breadcrumb { padding-top: 0; margin-bottom: 38px; }
.contact-page__eyebrow { display: block; color: var(--forest); font-family: var(--font-jetbrains-mono), monospace; font-size: .73rem; letter-spacing: .06em; }
.contact-page__intro h1 { max-width: 20ch; margin-top: 20px; font-size: clamp(2.9rem, 5.5vw, 5.2rem); line-height: 1.06; }
.contact-page__intro > p { max-width: 61ch; margin-top: 24px; font-size: 1.06rem; line-height: 1.8; }
.contact-page__main { display: grid; grid-template-columns: .85fr 1.15fr; align-items: start; gap: clamp(36px, 7vw, 104px); padding-block: 16px 88px; }
.contact-page__copy { padding-top: 24px; }
.contact-page__copy h2 { margin-top: 18px; font-size: clamp(2rem, 3vw, 3rem); line-height: 1.1; }
.contact-page__copy > p { margin-top: 22px; max-width: 48ch; line-height: 1.85; }
.contact-page__channels { display: grid; margin-top: 30px; border-top: 1px solid var(--hair); }
.contact-page__channels > a { display: grid; grid-template-columns: 1fr auto; gap: 7px 14px; padding-block: 22px; border-bottom: 1px solid var(--hair); color: var(--forest); }
.contact-page__channels > a > span:first-child { font-family: var(--font-jetbrains-mono), monospace; font-size: .7rem; letter-spacing: .04em; color: var(--muted); }
.contact-page__channels strong { grid-column: 1; font-family: var(--font-space-grotesk), sans-serif; font-size: clamp(1.05rem, 1.55vw, 1.45rem); overflow-wrap: anywhere; }
.contact-page__channels > a > span:last-child { grid-column: 2; grid-row: 1 / 3; align-self: center; font-size: 1.35rem; }
.contact-page__channels > a:hover strong { text-decoration: underline; text-underline-offset: 5px; }
.contact-page__notice { margin-block: 28px; padding: 22px; background: var(--paper-2); border-radius: 8px; }
.contact-page__notice h3 { font-size: 1rem; line-height: 1.35; }
.contact-page__notice p { margin-top: 10px; font-size: .87rem; line-height: 1.8; }
.contact-page__main .form-panel { scroll-margin-top: 100px; box-shadow: 0 14px 40px rgba(26, 57, 46, .06); }
.contact-page__main .form-panel__heading h2 { margin-top: 16px; font-size: clamp(1.6rem, 2.5vw, 2.15rem); line-height: 1.15; }
.contact-page__main .form-panel__heading p { font-size: .87rem; }
.contact-next { background: var(--paper-2); border-block: 1px solid var(--hair); padding-block: 64px; }
.contact-page__section-heading h2 { margin-top: 18px; font-size: clamp(2rem, 3.6vw, 3.5rem); }
.contact-next ol { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 40px; margin-top: 36px; }
.contact-next li { border-top: 1px solid var(--hair); padding-top: 20px; }
.contact-next li > span { font-family: var(--font-jetbrains-mono), monospace; font-size: .75rem; color: var(--forest); }
.contact-next h3 { margin-top: 16px; font-size: 1.3rem; line-height: 1.2; }
.contact-next p { margin-top: 14px; font-size: .94rem; line-height: 1.8; }
.contact-questions { display: grid; grid-template-columns: .7fr 1.3fr; gap: 8%; padding-block: 72px 88px; }
.contact-questions h2 { margin-top: 18px; font-size: clamp(2rem, 3.6vw, 3.4rem); }
.contact-questions details { border-bottom: 1px solid var(--hair); padding-block: 22px; }
.contact-questions details:first-child { border-top: 1px solid var(--hair); }
.contact-questions summary { cursor: pointer; color: var(--ink); font-family: var(--font-space-grotesk), sans-serif; font-size: 1.1rem; font-weight: 600; line-height: 1.45; }
.contact-questions details p { margin-top: 16px; font-size: .94rem; line-height: 1.85; }
.contact-questions details a { color: var(--forest); text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 900px) {
  .contact-page__main { grid-template-columns: 1fr; gap: 30px; }
  .contact-page__copy { padding-top: 0; }
  .contact-page__channels { grid-template-columns: 1fr 1fr; gap: 24px; }
  .contact-page__notice { max-width: 70ch; }
  .contact-questions { grid-template-columns: 1fr; gap: 30px; }
  .contact-next ol { gap: 24px; }
}
@media (max-width: 580px) {
  .contact-page__intro { padding-block: 22px 34px; }
  .contact-page__intro .breadcrumb { margin-bottom: 28px; }
  .contact-page__intro h1 { font-size: clamp(2.6rem, 11vw, 3.2rem); }
  .contact-page__intro > p { font-size: 1rem; }
  .contact-page__main { padding-block: 6px 48px; }
  .contact-page__channels { grid-template-columns: 1fr; gap: 0; }
  .contact-page__notice { padding: 20px; }
  .contact-next { padding-block: 46px; }
  .contact-next ol { grid-template-columns: 1fr; gap: 26px; }
  .contact-questions { padding-block: 46px 56px; }
}
