/* contact.html — page-specific additions (tokens from site.css only) */

/* hero: text and plate hang from the same top line */
.page--contact .page-hero__inner { align-items: start; }
.page--contact .page-hero__text { padding-top: clamp(0.5rem, 2vw, 2rem); }
.page--contact .page-hero h1 { max-width: 12ch; }
.page--contact .page-hero__text h2 { margin-top: var(--s-7); }
.page--contact .page-hero__side { padding-top: clamp(0.5rem, 2vw, 2.5rem); }
@media (min-width: 901px) {
  .page--contact .page-hero__text { grid-column: 1 / span 6; }
  .page--contact .page-hero__side { grid-column: 8 / span 5; }
}

/* booking column: a bare hairline column hanging from the same top line as the text */
.book { position: relative; padding: 1.5rem 0 0; border-top: 1px solid var(--rule); }
.book h3 { font-size: var(--fs-h3); }
.book .actions { margin-top: var(--s-6); }
.book__meta { display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; margin-top: var(--s-7); padding-top: var(--s-4); border-top: 1px solid var(--rule); font-size: var(--fs-micro); letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-muted); }

/* ways to connect: a stacked ledger of email, socials, place */
.connect { display: grid; }
.connect__row { display: grid; gap: var(--s-3); padding-block: var(--s-6); border-top: 1px solid var(--rule); }
.connect__row:last-child { border-bottom: 1px solid var(--rule); }
.connect__row > .label { color: var(--ink-muted); }
.mail-link {
  display: inline-block; font-family: var(--font-heading); font-size: clamp(1.375rem, 1rem + 1.4vw, 2.125rem); line-height: 1.2; letter-spacing: -0.015em;
  color: var(--ink); text-decoration: underline; text-decoration-color: var(--sand); text-decoration-thickness: 1px; text-underline-offset: 0.18em;
  overflow-wrap: anywhere; transition: text-decoration-color var(--dur-fast);
}
.mail-link:hover { text-decoration-color: currentColor; }
.connect__place { font-family: var(--font-heading); font-size: var(--fs-h4); line-height: 1.28; color: var(--ink); }

/* live scheduler embed */
.scheduler { position: relative; border-top: 1px solid var(--rule); padding-top: 1.25rem; }
.scheduler iframe { display: block; }

/* console heading is the deck sentence; give it room */
.book h3 { max-width: 20ch; }

/* footer: plain list items match link size (site-wide fix belongs in site.css: .footer li { font-size: 0.9375rem; }) */
.page--contact .footer li { font-size: 0.9375rem; }
