/* Shared contact experience. Inherits the approved Prism typography and palette. */
.contact-hub{background:#eee5f4;border-top:1px solid #cfb9df;position:relative}
.contact-hub-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
.contact-hub-copy{padding-top:15px;min-width:0}
.contact-hub-copy>p{margin-top:25px;color:var(--muted);font-size:1.125rem;line-height:1.75}
.contact-hub-copy>h2{font-size:clamp(36px,3.5vw,57px);max-width:600px}
.contact-call{display:grid;grid-template-columns:1fr auto;gap:8px 18px;border-block:1px solid #baa0cc;margin-top:35px;padding:25px 0}
.contact-call>span{font-size:.875rem;grid-column:1;color:var(--muted)}
.contact-call>strong{font:500 clamp(27px,2.5vw,42px)/1.2 Outfit,sans-serif;letter-spacing:-.025em}
.contact-call>svg{grid-column:2;grid-row:1/3;align-self:center;width:28px;height:28px}
.contact-call:hover strong{color:var(--purple)}
.contact-email{display:flex;align-items:center;gap:16px;padding:22px 0;font-size:1rem;overflow-wrap:anywhere}
.contact-email svg{width:18px;height:18px;margin-left:auto}
.contact-expect{margin:15px 0 32px}
.contact-expect h3{font-size:1.35rem;margin-bottom:18px}
.contact-expect ol{list-style:none;counter-reset:next;display:grid;gap:16px;padding:0;margin:0}
.contact-expect li{counter-increment:next;display:grid;grid-template-columns:28px 1fr;gap:14px;font-size:.95rem;color:var(--muted);line-height:1.65}
.contact-expect li::before{content:counter(next,decimal-leading-zero);font-size:.75rem;color:var(--purple);border-bottom:1px solid #b29cc0;align-self:start;padding-top:4px}
.contact-save{display:flex;align-items:center;gap:15px;background:var(--white);border:1px solid #bea4d0;border-left:4px solid var(--gold);padding:20px;text-decoration:none;transition:background .2s,transform .2s;margin-top:30px}
.contact-save>svg:first-child{width:26px;height:26px;color:var(--purple)}
.contact-save>svg:last-child{margin-left:auto;width:18px;height:18px}
.contact-save strong{font-size:1rem;display:block;font-weight:600;line-height:1.5}
.contact-save small{display:block;font-size:.875rem;line-height:1.5;margin-top:5px;color:var(--muted)}
.contact-save:hover{background:var(--cream);transform:translateY(-2px)}
.contact-deadline{font-size:.875rem!important;line-height:1.7!important}
.contact-hub-form{border-top:4px solid var(--gold);box-shadow:0 15px 40px #39145107;padding:36px;min-width:0}
.contact-hub-form>h2{font-size:clamp(30px,2.5vw,42px);line-height:1.15;margin-bottom:16px}
.contact-form-intro{font-size:.95rem;color:var(--muted)}
.contact-privacy{font-size:.875rem;color:var(--muted);margin:15px 0 27px;line-height:1.65}
.contact-hub-form .field label{font-size:.9rem}
.contact-hub-form .field input,.contact-hub-form .field select,.contact-hub-form .field textarea{font-size:1rem}
.contact-hub-form .form-status{font-size:.95rem;line-height:1.65}
.contact-hub-form .form-notice{font-size:.85rem;line-height:1.7}
.contact-hub-form .consent{font-size:.85rem;line-height:1.7}
.contact-hub-form [type=submit]{width:100%;font-size:1rem}
.contact-success{padding:10px 0}
.contact-success-mark{width:58px;height:58px;display:grid;place-items:center;color:var(--purple);background:var(--lavender);border:1px solid #bba1cf;font-size:30px;margin-bottom:25px;border-radius:50%}
.contact-success h3{font-size:clamp(28px,2.5vw,39px);margin-bottom:22px}
.contact-success>p{font-size:1rem;color:var(--muted);line-height:1.75}
.contact-success>.small{font-size:.875rem}
.contact-reference{background:var(--cream);border-left:3px solid var(--gold);padding:18px;margin:25px 0;font-size:.85rem!important}
.contact-reference code{font:500 .85rem/1.6 'DM Sans',sans-serif;color:var(--ink);display:block;margin-top:7px;overflow-wrap:anywhere}
.contact-success .actions{align-items:flex-start}
.contact-success .text-link{margin-top:5px}
.contact-success>[data-new-inquiry]{margin-top:25px}
.header-vcard{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;white-space:nowrap;padding:8px 0}
.header-vcard svg{width:21px;height:21px}
.header-vcard span{display:none}
.header-vcard:hover{color:var(--violet)}
.footer-top .footer-brand>a.footer-vcard{display:flex!important;align-items:center;gap:10px;font-size:.95rem!important;margin-top:20px!important;color:var(--purple);width:fit-content}
.nav-vcard{display:flex!important;align-items:center;gap:12px;padding-top:15px;border-top:1px solid var(--line)}
@media(min-width:1900px){.header-vcard span{display:inline}}
@media(max-width:1200px){.contact-hub-layout{gap:40px}.contact-hub-form{padding:30px}.contact-hub-form .form-grid{grid-template-columns:1fr}.contact-hub-form .field.full{grid-column:1/-1}}
@media(max-width:900px){.contact-hub-layout{grid-template-columns:1fr;gap:35px}.contact-hub-copy{padding:0}.contact-hub-copy>h2{max-width:650px}.contact-hub-form .form-grid{grid-template-columns:1fr 1fr}.contact-call{max-width:650px}.contact-expect{margin-top:20px}.contact-hub-copy .contact-save{max-width:600px}.contact-call>strong{font-size:36px}.contact-hub-form{padding:35px}}
@media(max-width:650px){.contact-hub-form{padding:27px 22px}.contact-hub-copy>h2{font-size:38px}.contact-hub-copy>p{font-size:1.125rem}.contact-call>strong{font-size:32px}.contact-email{font-size:1rem;gap:10px}.contact-save{padding:18px;gap:12px}.contact-save strong{font-size:1rem}.contact-save small{font-size:.875rem}.contact-hub-form .form-grid{grid-template-columns:1fr}.contact-hub-form .field label{font-size:1rem}.contact-hub-form .field input,.contact-hub-form .field select,.contact-hub-form .field textarea{font-size:1rem}.contact-hub-form .consent,.contact-hub-form .form-notice{font-size:.875rem}.header-actions{gap:13px!important}.header-vcard{padding:7px 0}.header-vcard span{display:none}.contact-success .actions{flex-direction:column;gap:18px}}
@media(max-width:420px){.site-header .header-vcard{display:none}.header-actions{gap:14px!important}.contact-hub-copy>h2{font-size:34px}.contact-call>strong{font-size:29px}.contact-call>svg{width:23px}.contact-save>svg:last-child{display:none}}
@media print{.contact-hub{background:white;break-before:page}.contact-hub-layout{display:block}.contact-hub-form,.contact-save,.header-vcard{display:none}.contact-hub-copy>h2{font-size:24pt}.contact-hub-copy>p{font-size:11pt}.contact-call>strong{font-size:18pt}.contact-expect{display:none}}
