/* Contact + For Referrers (STAN-07, STAN-14). Shared tokens live in /assets/site.css. */
.contact-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s4);align-items:end;padding-bottom:72px}
.contact-hero h1{margin:0}
.contact-hero-aside{display:flex;flex-direction:column;gap:6px;font-size:1.0625rem;line-height:1.6;color:var(--ink-2)}
.contact-hero-email{font-family:var(--font-display);font-size:1.625rem;color:var(--ink);text-decoration:none;overflow-wrap:anywhere}
.locations{display:grid;gap:var(--s3);padding-bottom:7rem}
.location{background:var(--mist);display:flex;flex-direction:column;gap:1rem;padding:0 0 2.25rem;overflow:hidden}
.location:nth-child(2){background:var(--blush)}
.location-telehealth{background:var(--sand)}
.location>:not(picture){margin-inline:0;padding-inline:2.25rem}
.location picture{height:220px;background:var(--mist);margin-bottom:1.25rem}
.location img{width:100%;height:100%;object-fit:cover}
.location h2{font-family:var(--font-body);font-weight:400;font-size:.8125rem;line-height:normal;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-footer);margin:0}
.location-address{font-family:var(--font-display);font-size:1.625rem;line-height:1.25;margin:0}
.location dl{margin:0;display:grid;grid-template-columns:minmax(0,1fr);gap:4px;font-size:.9375rem;color:var(--ink-footer)}
.location dt{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-footer)}
.location dd{margin:0 0 .75rem;overflow-wrap:anywhere}
.location dd:last-of-type{margin-bottom:0}
.location dd a{text-decoration:none}
.location-note{color:var(--ink-2);font-size:.9375rem;margin:0}
@media (min-width:56em){
  .locations{grid-template-columns:repeat(3,1fr)}
  .contact-hero{grid-template-columns:1.1fr .9fr;gap:80px}
}
.request{padding-block:7rem}
.request-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s4);align-items:start}
.request-intro{display:flex;flex-direction:column;gap:var(--s3)}
.request-intro>*{margin:0}
.request-intro h2{font-size:clamp(2rem,5vw,3rem);line-height:1.08}
.request-intro p:not(.eyebrow){color:var(--ink-2);font-size:1.0625rem;line-height:1.7;max-width:var(--measure)}
.request-intro .emergency-note{background:var(--blush);color:var(--ink);font-size:.9375rem;line-height:1.6;padding:1.25rem var(--s3)}
.request-panel{background:var(--white);padding:var(--s3) var(--s2);min-width:0}
@media (min-width:56em){
  .request-grid{grid-template-columns:.8fr 1.2fr;gap:6rem}
  .request-panel{padding:3rem}
}
.contact-form{display:flex;flex-direction:column;gap:1.75rem}
.contact-form[hidden]{display:none}
.contact-form.blocked>:not(.form-alert){display:none}
.field{display:flex;flex-direction:column;gap:var(--s1)}
.field>label{font-size:.875rem;color:var(--ink-footer)}
.contact-form input:not([type=radio],[type=checkbox]){font-size:1.0625rem;padding:14px 16px;border-color:var(--input-border);border-radius:0}
.field-row{display:grid;gap:var(--s3)}
@media (min-width:40em){.field-row{grid-template-columns:1fr 1fr}}
.contact-form input[aria-invalid="true"]{border-color:var(--ink);border-width:2px}
.field-error{margin:0;font-size:.9375rem;font-weight:500;color:var(--ink)}
.field-error::before{content:"! ";font-weight:700}
.choices{border:0;margin:0;padding:0;min-width:0}
.choices legend{font-size:.875rem;color:var(--ink-footer);padding:0;margin-bottom:10px}
.pills{display:flex;flex-wrap:wrap;gap:var(--s1)}
.pill{position:relative;display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--input-border);border-radius:999px;padding:10px 18px;cursor:pointer;font-size:.9375rem;min-height:44px;background:var(--mist);color:var(--ink);text-decoration:none}
.pill input{position:absolute;opacity:0;width:1px;height:1px;margin:0;padding:0;border:0}
.pill:has(input:checked){background:var(--sand);border-color:var(--sand)}
.pill:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.turnstile-slot{min-height:65px}
.referral-note{font-size:.8125rem;line-height:1.5;color:var(--ink-3);margin:0}
.collection-notice{font-size:.875rem;line-height:1.5;color:var(--ink-3);margin:0}
.check{display:flex;gap:.6rem;align-items:flex-start;font-size:.9375rem;cursor:pointer}
.check input{width:1.25rem;height:1.25rem;flex:none;margin:.15rem 0 0;padding:0;accent-color:var(--ink)}
.error-summary,.form-alert,.form-status{border-left:4px solid var(--ink);padding:var(--s2) var(--s3)}
.error-summary{background:var(--blush)}
.error-summary h3{font-family:var(--font-body);font-size:1rem;font-weight:600;letter-spacing:0;margin:0 0 var(--s1)}
.error-summary ul{margin:0;padding-left:1.1rem}
.error-summary a{font-weight:500}
.form-alert{background:var(--blush)}
.form-alert p:last-child{margin:0}
.form-status{background:var(--cream);font-size:var(--t-lead)}
.form-fallback ul{padding-left:1.1rem;margin:0}
.form-actions .button{padding:1rem 1.75rem;font-size:1rem}
.contact-form .button:disabled{opacity:.7;cursor:progress}
