/* Direct contact information and a native, consistently inset topic selector. */
.contact-layout .contact-aside,.contact-layout .service-form { border-top:1px solid var(--line);padding-top:26px; }
.contact-layout :is(.contact-aside,.service-form)>h2 { font-size:24px;line-height:1.3;font-weight:650;margin:0 0 28px; }
.contact-detail + .contact-detail { margin-top:30px; }
.contact-detail h3 { font-size:16px;line-height:1.5;font-weight:550;letter-spacing:0;margin:0 0 8px;color:#626262; }
.contact-detail a:not(.contact-map-links a),.contact-detail address { font-size:18px;line-height:1.7;font-style:normal; }
.contact-detail>a { display:inline-flex;align-items:center;min-height:44px; }
.contact-detail p { font-size:16px;line-height:1.7;color:#626262;margin:4px 0 0; }
.contact-detail a:hover { color:#087461; }
.contact-email-row { display:flex;align-items:center;flex-wrap:wrap;gap:4px 16px; }
.contact-email-row>a { display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere; }
#copy-contact-email {
 display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:116px;
 border:1px solid #d0d0d0;border-radius:0;background:transparent;padding:8px 10px;
 color:#444;font:500 14px/1.5 Inter,Arial,sans-serif;cursor:pointer;
 transition:border-color 180ms ease,color 180ms ease,background-color 180ms ease;
}
#copy-contact-email svg { width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6; }
#copy-contact-email .copied-icon { display:none; }
#copy-contact-email[data-copied=true] .copy-icon { display:none; }
#copy-contact-email[data-copied=true] .copied-icon { display:block; }
#copy-contact-email[data-copied=true] { border-color:var(--accent);color:#087461; }
#copy-contact-email:hover { border-color:var(--accent);background:#f3f3f3;color:#181818; }
#copy-contact-email:focus-visible { outline:2px solid var(--accent);outline-offset:3px; }
.contact-text-link { gap:12px; }
.contact-text-link .arrow-box { display:grid;place-items:center;width:30px;height:30px; }
.contact-text-link .arrow-box svg { width:20px;height:20px; }
.contact-visit { border-top:1px solid var(--line);padding-top:28px; }
.contact-map-links { display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:14px; }
.contact-map-links a { display:inline-flex;align-items:center;min-height:44px;font-size:16px;text-decoration:underline;text-decoration-color:#bbb;text-underline-offset:5px; }
.contact-select { position:relative; }
.service-form .contact-select select {
 appearance:none;-webkit-appearance:none;background-image:none;
 padding:14px 52px 14px 16px;min-height:56px;cursor:pointer;
}
.contact-select>svg { position:absolute;right:18px;top:50%;transform:translateY(-50%);width:18px;height:18px;pointer-events:none;color:#444; }
.contact-select:focus-within>svg { color:#087461; }
.service-form .form-preview { font-size:14px;line-height:1.7;margin:0 0 24px; }
@media(max-width:1023px) and (min-width:768px) {
 .contact-layout { grid-template-columns:.9fr 1.1fr;gap:40px; }
}
@media(max-width:767px) {
 .contact-layout .contact-aside { order:0; }
 .contact-layout .service-form { order:1; }
 .contact-layout { gap:48px; }
 .contact-layout :is(.contact-aside,.service-form)>h2 { font-size:24px; }
}
@media(prefers-reduced-motion:reduce) { #copy-contact-email { transition:none; } }

/* Contact is a dark destination; the newsletter supplies one full-width accent. */
body.contact-dark { background:#111314;color:#f5f5f5;--line:#3c3f40; }
.contact-dark .contact-main { color-scheme:dark; }
.contact-dark .contact-intro .eyebrow { color:var(--accent); }
.contact-dark .contact-intro>p:not(.eyebrow),
.contact-dark .contact-detail :is(h3,p),
.contact-dark .service-form :is(.field-hint,label span,.form-bottom>span),
.contact-dark #request-summary dt,
.contact-dark #request-review>p { color:#bec1c2; }
.contact-dark .service-form :is(input,select,textarea) {
 background:#1b1e1f;color:#f5f5f5;border-color:#747879;caret-color:var(--accent);
}
.contact-dark .service-form :is(input,select,textarea):focus { outline-color:var(--accent);border-color:var(--accent); }
.contact-dark .service-form :is(input,textarea)::placeholder { color:#b9bdbf;opacity:1; }
.contact-dark .service-form .form-preview { background:#202425;color:#bec1c2; }
.contact-dark .contact-select>svg { color:#bec1c2; }
.contact-dark .contact-select:focus-within>svg { color:var(--accent); }
.contact-dark .contact-detail a:hover { color:var(--accent); }
.contact-dark .contact-map-links a { text-decoration-color:#747879; }
.contact-dark #copy-contact-email { color:#e3e5e5;border-color:#747879; }
.contact-dark #copy-contact-email:hover { background:#24292a;border-color:var(--accent);color:var(--accent); }
.contact-dark #copy-contact-email[data-copied=true] { border-color:var(--accent);color:var(--accent); }
.contact-dark #request-review { border-color:#747879; }
.contact-dark #request-summary>div { border-color:var(--line); }
.contact-dark #edit-request { color:var(--accent); }
.contact-dark .contact-main :is(a,button):focus-visible { outline-color:var(--accent); }
.contact-dark :is(.review-bar,.design-notes) { background:#111314;color:#bec1c2;border-color:#3c3f40; }
.contact-dark .design-notes :is(h2,p) { color:#bec1c2; }
.contact-dark .skip-service { color:#111314; }

.contact-dark .vmax-footer .vmax-footer-inner { width:100%;max-width:none; }
.contact-dark .vmax-footer :is(.footer-directory,.footer-legal) {
 width:calc(100% - var(--page-gutter)*2);max-width:var(--content-max);margin-inline:auto;
}
.contact-dark .vmax-footer .footer-newsletter {
 padding-inline:var(--page-inset);background:var(--accent);color:#111314;border:0;
}
.contact-dark .footer-newsletter :is(h2,p,label,summary,.optional) { color:#112c26; }
.contact-dark .footer-newsletter h2 { color:#111314; }
.contact-dark .footer-newsletter input { color:#111314;border-color:#246b5e;background:transparent;caret-color:#111314;color-scheme:light; }
.contact-dark .footer-newsletter input::placeholder { color:#265c50; }
.contact-dark .footer-newsletter input:focus { border-color:#111314; }
.contact-dark .footer-newsletter :is(a,button,input,summary):focus-visible { outline-color:#111314; }
.contact-dark .footer-newsletter a:hover { color:#111314;text-decoration-thickness:2px; }
.contact-dark .footer-newsletter .newsletter-feedback { border-color:#111314; }
.contact-dark .footer-newsletter .newsletter-entry>.primary {
 background-color:#111314!important;background-image:linear-gradient(#fff,#fff)!important;
 color:#fff!important;box-shadow:inset 0 0 0 1px #111314!important;
}
.contact-dark .footer-newsletter .newsletter-entry>.primary:is(:hover,:focus-visible,:active) { color:#111314!important; }
.contact-dark .footer-newsletter :is(button,summary):is(:hover,:focus-visible) :is(.arrow-box,.disclosure-plus) { color:#111314!important;border-color:transparent!important; }
