.contact-primary { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:12px 21px; border:1px solid var(--ink); border-radius:999px; background:var(--ink); color:var(--paper); font:500 15px/1.35 var(--font-sans); text-decoration:none; cursor:pointer; }
.contact-primary:visited { color:var(--paper); }
.contact-primary:hover { background:var(--ink-body); }
.contact-primary:disabled { opacity:.5; cursor:default; }
.contact-section { max-width:var(--container); margin:auto; padding:72px 28px; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.contact-section h2 { font:400 42px/1.1 var(--font-serif); margin:14px 0; color:var(--ink); }
.contact-section h2 em { color:var(--amber-deep); }
.contact-section p { max-width:520px; color:var(--ink-body); }
.contact-section__actions { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.contact-section__actions>a { padding:8px 0; color:var(--amber-deep); }
.contact-overline { text-transform:uppercase; letter-spacing:.1em; font:12px var(--font-mono); }
.contact-dialog { box-sizing:border-box; width:calc(100% - 48px); max-width:1000px; max-height:calc(100dvh - 48px); margin:auto; padding:0; border:1px solid var(--hairline); border-radius:16px; background:var(--paper); color:var(--ink); overflow:auto; overscroll-behavior:contain; }
.contact-dialog::backdrop { background:color-mix(in srgb, var(--graphite) 65%, transparent); }
.contact-dialog, .contact-dialog * { box-sizing:border-box; }
.contact-dialog button, .contact-dialog input, .contact-dialog textarea { font-family:var(--font-sans); }
.contact-dialog__bar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px 24px; position:sticky; top:0; background:var(--paper); z-index:2; border-bottom:1px solid var(--hairline); }
.contact-back, .contact-close, .contact-text { border:0; background:transparent; color:var(--amber-deep); min-height:44px; font:500 14px var(--font-sans); padding:8px 4px; cursor:pointer; }
.contact-close { font-size:26px; width:44px; color:var(--ink); }
.contact-dialog__grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:40px; padding:30px; }
.contact-dialog__grid, .contact-intro, .contact-form { min-width:0; max-width:100%; }
.contact-intro h2, .contact-phone h2 { font:400 52px/1.02 var(--font-serif); letter-spacing:-.03em; margin:4px 0 20px; }
.contact-intro h2 em { color:var(--amber-deep); }
.contact-intro>p, .contact-next p { color:var(--ink-body); font-size:16px; line-height:1.6; }
.contact-next { margin-top:40px; }
.contact-next h3 { font:500 12px var(--font-mono); text-transform:uppercase; letter-spacing:.08em; }
.contact-direct { display:flex; flex-direction:column; align-items:flex-start; gap:4px; margin-top:28px; }
.contact-direct>span { font:500 12px var(--font-mono); color:var(--ink-muted); }
.contact-direct a { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:var(--amber-deep); text-decoration:none; overflow-wrap:anywhere; }
.contact-direct a:hover, .contact-text:hover { text-decoration:underline; text-underline-offset:4px; }
.contact-panel { min-width:0; padding:24px; border:1px solid var(--hairline); border-radius:12px; background:var(--paper-soft); }
.contact-field, .contact-form fieldset { min-width:0; margin:0 0 20px; padding:0; border:0; }
.contact-field label, .contact-form legend { display:block; font:500 14px/1.4 var(--font-sans); margin-bottom:8px; }
.contact-field small { font-size:12px; font-weight:400; color:var(--ink-muted); }
.contact-field input, .contact-field textarea { width:100%; border:1px solid var(--hairline); border-radius:7px; min-height:48px; padding:12px; background:var(--paper); color:var(--ink); font-size:16px; line-height:1.45; }
.contact-field textarea { resize:vertical; min-height:120px; }
.contact-field input::placeholder, .contact-field textarea::placeholder { color:var(--ink-muted); opacity:1; }
.contact-field [aria-invalid=true] { border-color:var(--danger, var(--amber-deep)); outline:1px solid var(--danger, var(--amber-deep)); }
.contact-channels { display:flex; flex-wrap:wrap; gap:7px; }
.contact-choice { position:relative; display:inline-flex; cursor:pointer; }
.contact-choice input { position:absolute; width:1px; height:1px; opacity:0; }
.contact-choice span { display:inline-flex; align-items:center; min-height:44px; padding:8px 13px; border:1px solid var(--hairline); border-radius:999px; font:400 13px var(--font-sans); background:var(--paper); }
.contact-choice input:checked+span { border-color:var(--amber-deep); background:var(--amber-wash); color:var(--ink); }
.contact-choice input:focus-visible+span { outline:2px solid var(--amber-deep); outline-offset:3px; }
.contact-choice input:disabled+span { opacity:.6; }
.contact-submit { width:100%; }
.contact-error { display:block; color:var(--danger, var(--amber-deep)); font-size:13px; line-height:1.5; }
.contact-error:empty { display:none; }
.contact-field .contact-error { margin-top:6px; }
.contact-hint, .contact-privacy { color:var(--ink-muted); font-size:12px; line-height:1.55; margin:8px 0 0; }
.contact-privacy { margin-top:14px; }
.contact-success { padding:24px 0; }
.contact-success>svg { color:var(--amber-deep); }
.contact-success h3 { font:400 32px var(--font-serif); }
.contact-success p { color:var(--ink-body); line-height:1.6; }
.contact-chosen { overflow-wrap:anywhere; font-size:14px; }
.contact-verification { margin:0 0 16px; min-width:0; }
.contact-phone { max-width:580px; margin:auto; padding:32px; }
.contact-phone h2 { font-size:42px; }
.contact-phone__number { font:400 32px var(--font-serif); overflow-wrap:anywhere; }
.contact-phone__actions { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
@media(max-width:700px) {
  .contact-dialog { inset:0; width:100dvw; min-width:0; max-width:100dvw; height:100dvh; max-height:100dvh; border:0; border-radius:0; margin:0; }
  .contact-dialog__bar { padding:calc(6px + env(safe-area-inset-top)) 16px 6px; }
  .contact-dialog__grid { display:flex; flex-direction:column; gap:22px; padding:24px 20px calc(28px + env(safe-area-inset-bottom)); }
  .contact-intro h2 { font-size:38px; margin:0 0 12px; }
  .contact-intro h2 br { display:none; }
  .contact-intro h2 em::before { content:' '; }
  .contact-intro>p { margin:0; font-size:15px; }
  .contact-next { display:none; }
  .contact-intro .contact-direct { flex-direction:row; flex-wrap:wrap; gap:4px 16px; margin-top:10px; }
  .contact-intro .contact-direct>span { display:none; }
  .contact-panel { padding:20px 16px; }
  .contact-section { flex-direction:column; align-items:flex-start; padding:52px 20px; }
  .contact-section h2 { font-size:34px; }
  .contact-phone { padding:28px 20px; }
  .contact-phone h2 { font-size:36px; }
}
