/* A direct conversation, with the two paths visible together. */
html:has(body[data-page="contact"]) { min-width:0; }
body[data-page="contact"] .theme-controls { max-width:100%;flex-wrap:wrap; }
body[data-page="contact"] .footer-meta { max-width:100%; }
body[data-page="contact"] .footer-main { grid-template-columns:1.5fr repeat(3,minmax(0,1fr)); }
body[data-page="contact"] .footer-main > * { min-width:0; }
body[data-page="contact"] .footer-links a { overflow-wrap:anywhere; }
body[data-page="contact"] .header-inner { container-type:inline-size;container-name:contact-header; }
@container contact-header (max-width:55rem) {
  body[data-page="contact"] .site-nav { display:none; }
  body[data-page="contact"] .menu-toggle { display:inline-flex; }
}
.contact-main { --contact-accent:#22654b;--contact-action-ink:#fff;--contact-field:#fafaf6; }
:root[data-theme="dark"] .contact-main { --contact-accent:#7decc9;--contact-action-ink:#13291e;--contact-field:#141512; }
.contact-section { padding:clamp(3.5rem,6vw,6rem) 0 clamp(4.5rem,7vw,7rem); }
.contact-layout { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:clamp(3rem,7vw,7.5rem);align-items:start;grid-template-rows:auto 1fr;row-gap:3.5rem; }
.contact-copy { max-width:32rem;grid-column:1;grid-row:1; }
.contact-secondary { grid-column:1;grid-row:2;min-width:0; }
.contact-eyebrow { margin:0 0 1.5rem;font-family:var(--font-mono);font-size:.875rem;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted); }
.contact-copy h1 { margin:0;font-size:clamp(3rem,4.6vw,4.5rem);line-height:1.02;letter-spacing:-.055em;font-weight:550;color:var(--ink-strong);overflow-wrap:anywhere; }
.contact-intro { margin:1.75rem 0 0;max-width:29rem;font-size:1.1875rem;line-height:1.55;color:var(--ink-muted); }
.contact-promises { padding:0;margin:2.5rem 0 0;list-style:none;display:grid;gap:1rem; }
.contact-promises li { position:relative;padding-left:1.75rem;font-size:1rem;line-height:1.6;color:var(--ink); }
.contact-promises li::before { content:"";position:absolute;left:.1rem;top:.55rem;width:.6rem;height:.35rem;border-left:1.5px solid var(--contact-accent);border-bottom:1.5px solid var(--contact-accent);transform:rotate(-45deg); }
.contact-explore { margin-top:0;display:flex;flex-wrap:wrap;column-gap:1.5rem;row-gap:.25rem; }
.contact-explore .contact-eyebrow { width:100%;margin-bottom:.75rem; }
.contact-explore a,.contact-direct a { color:var(--ink-strong);text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:.3em;text-decoration-thickness:1px;transition:color 140ms, text-decoration-color 140ms; }
.contact-explore a { min-height:2.75rem;display:inline-flex;align-items:center;font-size:.9375rem; }
.contact-explore a:hover,.contact-direct a:hover { color:var(--contact-accent);text-decoration-color:currentColor; }
.contact-direct { margin:2.5rem 0 0;font-size:.9375rem;line-height:1.7;color:var(--ink-muted); }
.contact-direct a { display:inline-flex;align-items:center;min-height:2.75rem;max-width:100%;overflow-wrap:anywhere; }
.contact-desk { min-width:0;grid-column:2;grid-row:1 / span 2; }
.contact-booking { display:flex;align-items:center;gap:1rem;min-height:5rem;padding:1rem 1.25rem;border:1px solid var(--rule-soft);border-radius:.375rem;background:var(--contact-field);color:var(--ink-strong);text-decoration:none;transition:border-color 160ms,background-color 160ms,box-shadow 160ms; }
.contact-booking:hover { border-color:var(--contact-accent);background:var(--surface);box-shadow:0 0 0 1px color-mix(in srgb,var(--contact-accent) 18%,transparent); }
.contact-booking-mark { display:grid;place-items:center;width:2.5rem;height:2.5rem;flex:0 0 auto; }
.contact-booking-mark .brand-mark { width:2.5rem!important;height:2.5rem!important;color:var(--contact-accent)!important; }
.contact-booking-mark .brand-mark :is(.mark-node,.mark-route,.mark-boundary,.mark-release) { color:inherit; }
.contact-booking-copy { display:grid;gap:.25rem;min-width:0; }
.contact-booking-copy strong { font-size:1rem;font-weight:550;line-height:1.3; }
.contact-booking-copy>span { font-size:.875rem;line-height:1.4;color:var(--ink-muted); }
.contact-duration { margin-left:auto;flex:0 0 auto;font-family:var(--font-mono);font-size:.875rem;line-height:1.5;color:var(--ink-muted); }
.contact-divider { display:flex;align-items:center;gap:1rem;margin:1.75rem 0;color:var(--ink-muted);font-family:var(--font-mono);font-size:.8125rem;line-height:1.5; }
.contact-divider::before,.contact-divider::after { content:"";height:1px;flex:1;background:var(--rule-soft); }
.contact-form { margin:0; }
.contact-form .form-trap { position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden; }
.contact-field { margin-bottom:1.25rem; }
.contact-field label { display:flex;align-items:baseline;gap:.5rem;margin-bottom:.5rem;font-size:.875rem;font-weight:500;line-height:1.5;color:var(--ink); }
.contact-field label>span { font-weight:400;color:var(--ink-muted); }
.contact-field :is(input,textarea) { width:100%;min-height:3rem;padding:.75rem .875rem;border:1px solid var(--rule-soft);border-radius:.375rem;background:var(--contact-field);color:var(--ink-strong);font-family:var(--font-sans);font-size:1rem;line-height:1.5;transition:border-color 140ms,box-shadow 140ms,background-color 140ms; }
.contact-field textarea { display:block;min-height:7.5rem;resize:vertical; }
.contact-field :is(input,textarea):hover { border-color:var(--rule-strong); }
.contact-field :is(input,textarea):focus-visible { border-color:var(--contact-accent);outline:2px solid var(--contact-accent);outline-offset:3px;background:var(--surface);box-shadow:none; }
.contact-field :is(input,textarea):user-invalid { border-color:var(--refuse-border); }
.contact-field textarea::placeholder { color:var(--ink-muted);opacity:1; }
.contact-field-note { margin:.65rem 0 0;font-size:.875rem;line-height:1.6;color:var(--ink-muted); }
.contact-submit { width:100%;min-height:3.125rem;border-radius:.375rem!important;border-color:var(--contact-accent);background:var(--contact-accent);color:var(--contact-action-ink);font-size:1rem;font-weight:550; }
.contact-submit:hover { background:color-mix(in srgb,var(--contact-accent) 90%,var(--ink-strong));border-color:var(--contact-accent);color:var(--contact-action-ink); }
.contact-submit:disabled { cursor:wait;opacity:.8; }
.contact-form[aria-busy="true"] .contact-submit::before { content:"";width:.875rem;height:.875rem;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%; }
.contact-privacy { margin:1rem 0 0;color:var(--ink-muted);font-size:.875rem;line-height:1.6; }
.contact-privacy a { color:inherit;text-underline-offset:.25em; }
.contact-form .form-status { margin-top:1rem;font-size:.9375rem;line-height:1.6; }
.contact-form .form-status:empty { margin:0; }
.contact-form .form-status[data-error] { color:var(--refuse-ink); }
.contact-receipt { padding:2.5rem 2rem;border:1px solid var(--rule-soft);border-radius:.375rem;background:var(--contact-field); }
.contact-receipt[hidden] { display:none; }
.contact-receipt-mark { display:grid;place-items:center;width:3rem;height:3rem;margin-bottom:1.75rem;border:1px solid var(--contact-accent);border-radius:50%;color:var(--contact-accent); }
.contact-receipt-mark svg { width:1.5rem;height:1.5rem; }
.contact-receipt .contact-eyebrow { margin-bottom:1rem; }
.contact-receipt h2 { margin:0 0 1rem;font-size:clamp(1.875rem,3vw,2.5rem);line-height:1.15;letter-spacing:-.04em;font-weight:550; }
.contact-receipt>p:not(.contact-eyebrow) { color:var(--ink-muted);font-size:1rem;line-height:1.6; }
.contact-receipt .contact-field-note { font-size:.875rem!important; }
.contact-reference { padding-top:1.5rem;border-top:1px solid var(--rule-soft);font-family:var(--font-mono);font-size:.8125rem!important;overflow-wrap:anywhere; }
.contact-receipt-booking { display:inline-flex;align-items:center;min-height:2.75rem;color:var(--contact-accent);font-size:.9375rem;text-underline-offset:.3em; }
@keyframes contact-arrive { from { transform:translateY(6px); } to { transform:translateY(0); } }
@keyframes contact-send { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:no-preference) {
  .contact-copy,.contact-desk { animation:contact-arrive 360ms ease-out 1 both; }
  .contact-receipt:not([hidden]) { animation:contact-arrive 280ms ease-out 1 both; }
  .contact-form[aria-busy="true"] .contact-submit::before { animation:contact-send 850ms linear infinite; }
}
@media(max-width:979px) { .contact-layout { gap:3rem; } .contact-copy h1 { font-size:3.25rem; } .contact-desktop-break { display:none; } }
@media(max-width:760px) {
  body[data-page="contact"] .footer-main { grid-template-columns:1fr; }
  body[data-page="contact"] .header-inner { gap:.75rem; }
  body[data-page="contact"] .menu-toggle { width:44px;height:44px;min-width:44px;min-height:44px; }
  .contact-section { padding-top:2.75rem;padding-bottom:4.5rem; }
  .contact-layout { grid-template-columns:1fr;grid-template-rows:none;gap:2.75rem; }
  .contact-copy { max-width:35rem; }
  .contact-introduction { max-width:35rem; }
  .contact-desk { grid-column:1;grid-row:2; }
  .contact-secondary { grid-column:1;grid-row:3; }
  .contact-copy h1 { font-size:clamp(2.875rem,9vw,4rem); }
  .contact-eyebrow { margin-bottom:1.25rem; }
  .contact-intro { margin-top:1.25rem; }
  .contact-promises { margin-top:1.5rem;gap:.65rem; }
  .contact-explore { margin-top:0; }
  .contact-direct { margin-top:.75rem; }
  .contact-booking { padding:1rem;gap:.75rem;flex-wrap:wrap; }
}
@media(max-width:360px) { .contact-booking-copy>span { font-size:.8125rem; } .contact-duration { font-size:.8125rem; } .contact-receipt { padding:1.75rem 1.25rem; } }
@media(prefers-reduced-motion:reduce) { .contact-main * { animation:none!important;transition:none!important; } }
@media(forced-colors:active) {
  .contact-main { --contact-accent:LinkText;--contact-action-ink:Canvas;--contact-field:Canvas; }
  .contact-booking,.contact-field :is(input,textarea),.contact-receipt { border-color:CanvasText; }
  .contact-submit { color:ButtonText;background:ButtonFace;border-color:ButtonText; }
  .contact-divider::before,.contact-divider::after { background:CanvasText; }
}
