/* Generated by src/site/scope-themes.js from src/site/themes/contact.css. Edit the source, not this file. */
.t-contact {
    --red: #9b0041; --coral: #e8394a; --pink: #f0a4c0; --blush: #fcecf2;
    --ink: #0d0d12; --ink-2: rgba(13, 13, 18, 0.78); --muted: rgba(13, 13, 18, 0.56); --line: rgba(13, 13, 18, 0.14);
    --head: 'Right Grotesk Compact', 'Arial Narrow', Arial, sans-serif;
    --body: 'ABC Monument Grotesk', Inter, -apple-system, 'Segoe UI', sans-serif;
    --max: none; --gutter: clamp(48px, 5vw, 104px); --header-height: 76px;
    --ease: cubic-bezier(0.22, 1, 0.36, 1);
  }
  *:is(.t-contact,.t-contact *) { box-sizing: border-box; }
  .t-contact { margin: 0; background: #fff; color: var(--ink); font-family: var(--body); font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; overflow-x: clip; }
  img:is(.t-contact,.t-contact *) { display: block; max-width: 100%; }
  a:is(.t-contact,.t-contact *) { color: inherit; text-decoration: none; }
  h1:is(.t-contact,.t-contact *), h2:is(.t-contact,.t-contact *), h3:is(.t-contact,.t-contact *), p:is(.t-contact,.t-contact *), dl:is(.t-contact,.t-contact *), dd:is(.t-contact,.t-contact *) { margin: 0; }
  button:is(.t-contact,.t-contact *) { font: inherit; cursor: pointer; }
  :focus-visible:is(.t-contact,.t-contact *) { outline: 2px solid var(--coral); outline-offset: 3px; }
  .container:is(.t-contact,.t-contact *) { max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter); }
  .kicker:is(.t-contact,.t-contact *) { display: inline-flex; align-items: center; gap: 12px; font-size: 14px; color: var(--pink); }
  .kicker:is(.t-contact,.t-contact *)::before { content: ''; width: 32px; height: 2px; background: var(--pink); }
  .h3:is(.t-contact,.t-contact *) { font-family: var(--head); font-weight: 700; color: var(--red); font-size: clamp(26px, 2.6vw, 36px); line-height: 1.02; }

  /* Scroll reveal */
  .rv:is(.t-contact,.t-contact *) { opacity: 0; transform: translateY(32px); transition: opacity 0.9s ease, transform 0.9s var(--ease); }
  .rv.in:is(.t-contact,.t-contact *) { opacity: 1; transform: none; }
  .rv-d1:is(.t-contact,.t-contact *) { transition-delay: 0.12s; }

  /* ---------- Band ---------- */
  .band:is(.t-contact,.t-contact *) { background: var(--red); color: #fff; padding: calc(var(--header-height) + clamp(56px, 7vw, 96px)) 0 clamp(48px, 6vw, 80px); }
  .band h1:is(.t-contact,.t-contact *) { font-family: var(--head); font-weight: 700; font-size: clamp(56px, 8vw, 128px); line-height: 0.9; margin-top: 18px; }
  .band p:is(.t-contact,.t-contact *) { font-size: clamp(17px, 1.4vw, 21px); line-height: 1.5; color: rgba(255,255,255,0.85); max-width: 52ch; margin-top: 20px; }

  /* ---------- Office + form ---------- */
  .grid:is(.t-contact,.t-contact *) { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(32px, 5vw, 96px); padding-top: clamp(48px, 6vw, 88px); padding-bottom: clamp(64px, 8vw, 112px); align-items: start; }
  .side:is(.t-contact,.t-contact *) { position: sticky; top: calc(var(--header-height) + 24px); display: grid; gap: 28px; }
  .office:is(.t-contact,.t-contact *) { display: grid; gap: 18px; }
  .office dt:is(.t-contact,.t-contact *) { font-family: var(--head); font-weight: 700; font-size: 15px; letter-spacing: 0.02em; color: var(--coral); }
  .office dd:is(.t-contact,.t-contact *) { margin-top: 4px; font-size: 15.5px; line-height: 1.5; color: var(--ink-2); }
  .office dd a:hover:is(.t-contact,.t-contact *) { color: var(--red); }
  .map:is(.t-contact,.t-contact *) { aspect-ratio: 4 / 3; background: #e9e7e6; }
  .map iframe:is(.t-contact,.t-contact *) { width: 100%; height: 100%; border: 0; display: block; filter: saturate(0.85); }
  .btn:is(.t-contact,.t-contact *) { display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-size: 14px; padding: 13px 24px; border: 1px solid var(--coral); background: var(--coral); color: #fff; transition: background 0.3s ease, color 0.3s ease; }
  .btn:hover:is(.t-contact,.t-contact *) { background: transparent; color: var(--coral); }
  .btn .arr:is(.t-contact,.t-contact *) { display: inline-block; transition: transform 0.4s var(--ease); } .btn:hover .arr:is(.t-contact,.t-contact *) { transform: translateX(4px); }
  .btn--ghost:is(.t-contact,.t-contact *) { background: transparent; color: var(--red); border-color: var(--red); } .btn--ghost:hover:is(.t-contact,.t-contact *) { background: var(--red); color: #fff; }
  .btn[disabled]:is(.t-contact,.t-contact *) { opacity: 0.6; cursor: default; }
  .notice:is(.t-contact,.t-contact *) { background: var(--blush); padding: 18px 20px; font-size: 14px; line-height: 1.55; color: var(--ink-2); border-left: 3px solid var(--coral); }
  .notice b:is(.t-contact,.t-contact *) { display: block; font-family: var(--head); font-weight: 700; font-size: 17px; color: var(--red); margin-bottom: 4px; }
  .notice a:is(.t-contact,.t-contact *) { color: var(--red); text-decoration: underline; }

  .formhead:is(.t-contact,.t-contact *) { margin-bottom: 28px; }
  .formhead p:is(.t-contact,.t-contact *) { color: var(--muted); font-size: 15px; margin-top: 8px; }
  .f:is(.t-contact,.t-contact *) { display: grid; gap: 18px; }
  .f__row:is(.t-contact,.t-contact *) { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
  .f label:is(.t-contact,.t-contact *) { display: block; font-size: 14px; color: var(--ink); margin-bottom: 6px; }
  .f label i:is(.t-contact,.t-contact *) { font-style: normal; color: var(--coral); }
  .f .hint:is(.t-contact,.t-contact *) { font-size: 12.5px; color: var(--muted); margin-top: 6px; }
  .f input:is(.t-contact,.t-contact *), .f select:is(.t-contact,.t-contact *), .f textarea:is(.t-contact,.t-contact *) { width: 100%; font: inherit; font-size: 15px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 0; background: #fff; color: var(--ink); transition: border-color 0.2s ease, box-shadow 0.2s ease; }
  .f input:focus:is(.t-contact,.t-contact *), .f select:focus:is(.t-contact,.t-contact *), .f textarea:focus:is(.t-contact,.t-contact *) { outline: none; border-color: var(--red); box-shadow: 0 0 0 3px rgba(155, 0, 65, 0.12); }
  .f textarea:is(.t-contact,.t-contact *) { min-height: 150px; resize: vertical; }
  .f .msg:is(.t-contact,.t-contact *) { display: none; font-size: 12.5px; color: var(--coral); margin-top: 6px; }
  .f .err input:is(.t-contact,.t-contact *), .f .err textarea:is(.t-contact,.t-contact *) { border-color: var(--coral); }
  .f .err .msg:is(.t-contact,.t-contact *) { display: block; }
  .f .privacy:is(.t-contact,.t-contact *) { font-size: 12.5px; color: var(--muted); line-height: 1.5; }
  .f .privacy a:is(.t-contact,.t-contact *) { color: var(--red); text-decoration: underline; }
  .f .actions:is(.t-contact,.t-contact *) { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
  .f .actions .reply:is(.t-contact,.t-contact *) { font-size: 13px; color: var(--muted); }
  .botcheck:is(.t-contact,.t-contact *) { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
  .status:is(.t-contact,.t-contact *) { display: none; background: var(--blush); border-left: 3px solid var(--coral); padding: 22px 24px; }
  .status.is-error:is(.t-contact,.t-contact *) { display: block; }
  .status b:is(.t-contact,.t-contact *) { display: block; font-family: var(--head); font-weight: 700; font-size: 24px; color: var(--red); margin-bottom: 6px; }
  .status p:is(.t-contact,.t-contact *) { font-size: 15px; color: var(--ink-2); }
  .done:is(.t-contact,.t-contact *) { display: none; background: var(--blush); border-left: 3px solid var(--coral); padding: 28px; }
  .done b:is(.t-contact,.t-contact *) { display: block; font-family: var(--head); font-weight: 700; font-size: clamp(26px, 2.6vw, 36px); line-height: 1.02; color: var(--red); margin-bottom: 10px; }
  .done p:is(.t-contact,.t-contact *) { font-size: 15.5px; color: var(--ink-2); }
  .form-sent .f:is(.t-contact,.t-contact *) { display: none; } .form-sent .done:is(.t-contact,.t-contact *) { display: block; }
  @media (max-width: 900px) { .grid:is(.t-contact,.t-contact *) { grid-template-columns: 1fr; } .side:is(.t-contact,.t-contact *) { position: static; } }
  @media (max-width: 640px) { .f__row:is(.t-contact,.t-contact *) { grid-template-columns: 1fr; } }
  @media (prefers-reduced-motion: reduce) { .rv:is(.t-contact,.t-contact *) { opacity: 1; transform: none; transition: none; } }
  /* Page margins match the homepage */
  @media (max-width: 1023px) { .t-contact { --gutter: 32px; } }
