/* Compact contact invitation and accessible, self-hosted form. */
html{scrollbar-gutter:stable;scroll-padding-top:96px}
html.has-contact-dialog,html.has-contact-dialog body{overflow:hidden;overscroll-behavior:none}
.contact{background:#171a24;color:#fff;padding:68px 0 64px;border-radius:0}
.contact-layout{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}
.contact-eyebrow{color:#a5a3b5;font-size:11px;margin-bottom:23px}
.contact-intro h2{font-size:clamp(38px,4.7vw,64px);font-weight:400;line-height:1.08;letter-spacing:-.055em}
.contact-intro h2>span{color:#b9b1c9}
.contact-action{min-width:270px;padding-bottom:4px}
.contact-action>p{font-size:15px;line-height:1.7;color:#bcbac8;margin-bottom:24px}
.contact-open{display:flex;align-items:center;justify-content:space-between;gap:42px;min-height:58px;padding:7px 8px 7px 23px;border:1px solid #d5cbe4;border-radius:50px;background:#e2daed;color:#2e2439;font-size:15px;cursor:pointer;transition:background .2s,transform .2s}
.contact-open>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#302739;color:white;font:24px/1 Arial,sans-serif}
.contact-open:hover{background:#fff;transform:translateY(-2px)}
.contact-dialog{position:fixed;inset:var(--dialog-top,0px) 0 var(--dialog-bottom,0px);width:min(420px,calc(100% - 24px));max-width:none;max-height:calc(100vh - 24px);max-height:calc(var(--dialog-viewport,100dvh) - 24px);margin:auto;padding:0;border:1px solid #e8e3ec;border-radius:22px;background:#fff;color:#2c2834;box-shadow:0 32px 120px #09051544;overflow:hidden}
.contact-dialog:not([open]){display:none}.contact-dialog[open]{display:flex;flex-direction:column}
.contact-dialog::backdrop{background:#10132299;backdrop-filter:blur(7px)}
.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 20px 12px;flex-shrink:0;background:#fff;z-index:1}
.dialog-heading h2{font-size:25px;line-height:1.2;font-weight:400;letter-spacing:-.04em;outline:none}
.dialog-close{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;margin-right:-6px;border:0;border-radius:50%;background:transparent;color:#786d80;cursor:pointer}
.dialog-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.dialog-close:hover{background:#f3eef7;color:#302739}
.dialog-body{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:0 20px 20px;scroll-padding:8px;scrollbar-width:thin;scrollbar-color:#c9c0d2 transparent}
.form-fields{display:grid;grid-template-columns:1fr;gap:10px}
.form-field{min-width:0}.input-shell{position:relative}
.contact-dialog input[type=text],.contact-dialog textarea{display:block;width:100%;border:1px solid #ddd8e5;border-radius:12px;background:#faf9fc;color:#282230;font:400 16px/1.4 Onest,Arial,sans-serif;outline:none;min-width:0;transition:border-color .18s,box-shadow .18s,background .18s}
.contact-dialog input[type=text]{height:56px;padding:21px 14px 7px;scroll-margin:8px}
.input-shell label{position:absolute;top:17px;left:15px;right:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#746b7d;font-size:15px;line-height:20px;pointer-events:none;transform-origin:left top;transition:top .16s,font-size .16s,color .16s}
.input-shell input:focus+label,.input-shell input:not(:placeholder-shown)+label,.input-shell input[aria-invalid=true]+label{top:6px;font-size:12px;line-height:14px;color:#74627f}
.contact-dialog input::placeholder,.contact-dialog textarea::placeholder{color:#93899b;opacity:1}
.contact-dialog input[type=text]:hover,.contact-dialog textarea:hover{border-color:#b8b0c5}
.contact-dialog input[type=text]:focus,.contact-dialog textarea:focus{border-color:#8d729f;box-shadow:0 0 0 3px #947cab1c;background:#fff}
.contact-dialog input[aria-invalid=true],.contact-dialog textarea[aria-invalid=true]{border-color:#b43c51;background:#fffafb}
.input-shell input[aria-invalid=true]+label{color:#a5223b}
.field-error,.form-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.comment-field{position:relative;margin-top:10px}
.contact-dialog textarea{height:76px;min-height:76px;max-height:76px;resize:none;padding:12px 14px;overflow-y:auto}
.consent-field{margin-top:7px}
.consent-label{display:flex;align-items:center;gap:10px;min-height:40px;cursor:pointer;color:#776f7e;font-size:12px;line-height:1.45}
.consent-label input{appearance:auto;accent-color:#705186;width:22px;height:22px;min-width:22px;margin:0;cursor:pointer}
.consent-label a{color:#65526f;text-decoration:underline;text-decoration-color:#c1b3ca;text-underline-offset:3px}.consent-label a:hover{color:#302739;text-decoration-color:currentColor}
.consent-field.has-error .consent-label,.consent-field.has-error a{color:#a5223b}.consent-field.has-error input{outline:2px solid #b43c51;outline-offset:2px}
.contact-submit{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:50px;border:1px solid #302739;border-radius:12px;background:#302739;color:#fff;font-size:15px;margin:12px auto 0;padding:12px 16px;cursor:pointer}
.submit-arrow{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.contact-submit:hover{background:#4a365b;border-color:#4a365b;box-shadow:0 6px 22px #58406524}.contact-submit:disabled{cursor:progress;opacity:.65}
.contact-dialog button:focus-visible,.consent-label input:focus-visible{outline:2px solid #9276a9;outline-offset:3px}
.form-status{font-size:12px;line-height:1.5;color:#9a233c;margin-top:10px}.form-status:empty{display:none}.form-status:focus{outline:0}
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.form-success{padding:16px 0 8px;text-align:center;outline:none}.form-success[hidden]{display:none}.success-symbol{height:54px;width:54px;display:grid;place-items:center;background:#eee8f4;color:#6a4b80;font-size:25px;border-radius:50%;margin:0 auto 18px}.form-success h3{font-size:25px;line-height:1.2;letter-spacing:-.04em;margin-bottom:12px}.form-success>p{font-size:14px;line-height:1.6;color:#72677d;max-width:320px;margin:auto}.success-back{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:13px;border:1px solid #d5cbdc;background:white;border-radius:12px;padding:10px 18px;margin-top:22px;cursor:pointer;color:#55405f}
@media(max-width:370px){.dialog-heading{padding:12px 16px 10px}.dialog-heading h2{font-size:22px}.dialog-body{padding:0 16px 16px}}
@media(max-height:500px){.dialog-heading{padding-top:8px;padding-bottom:6px}.dialog-body{padding-bottom:12px}.contact-dialog input[type=text]{height:50px;padding-top:19px;padding-bottom:5px}.input-shell label{top:15px}.input-shell input:focus+label,.input-shell input:not(:placeholder-shown)+label,.input-shell input[aria-invalid=true]+label{top:4px}.form-fields{gap:8px}.comment-field{margin-top:8px}.consent-field{margin-top:4px}.contact-submit{margin-top:8px;min-height:46px}.contact-dialog textarea{height:72px;min-height:72px;max-height:72px}}
@media(forced-colors:active){.contact-dialog input,.contact-dialog textarea,.contact-submit,.dialog-close{border:1px solid CanvasText}}

.service-contact{display:flex;justify-content:space-between;gap:24px;width:max-content;max-width:100%;margin:0 0 38px 83px;padding:12px 0;border-bottom:1px solid #9691a4;font-size:14px;color:#e6ddf7}.service-contact>span{font-size:22px;line-height:1}.service-contact:hover{color:white;border-color:white}
.contact-footer{padding-top:0;background:#171a24}.footer-documents{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px 28px;font-size:11px;line-height:1.8}.footer-documents>a{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#555561}.footer-documents>span{flex-basis:100%;color:#aeb6c4}.footer-legal{padding-top:21px}
@keyframes dialog-appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1200px){.service-contact{margin-left:62px}}
@media(max-width:950px){.contact{padding:54px 0}.contact-action{min-width:240px}.service-contact{margin-left:53px}}
@media(max-width:720px){html{scroll-padding-top:80px}.contact{padding:48px 0}.contact-layout{display:block}.contact-eyebrow{font-size:10px;margin-bottom:21px}.contact-intro h2{font-size:clamp(36px,8.7vw,52px)}.contact-action{margin-top:26px}.contact-action>p{font-size:14px;margin-bottom:20px}.contact-open{width:100%;max-width:360px}.service-contact{margin-left:33px;margin-bottom:28px}.footer-documents{grid-row:4;display:flex;flex-direction:column;gap:11px;font-size:11px}.footer-legal{grid-row:5}}
@media(prefers-reduced-motion:reduce){.contact-dialog *,.contact-open{transition:none!important}.contact-open:hover{transform:none}}

.footer-documents .footer-email{font-size:14px;color:#e2daed;letter-spacing:0;overflow-wrap:anywhere}

.success-email{display:block;width:fit-content;margin:12px auto 0;padding:8px 4px;color:#55405f;font-size:16px;text-decoration:underline;text-underline-offset:4px}.success-email[hidden]{display:none}
.hero-scroll{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}

#analytics-settings{border:0;padding:0;background:transparent;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer;text-align:left}.analytics-choice{position:fixed;z-index:40;bottom:18px;left:18px;width:min(430px,calc(100% - 36px));padding:20px;border:1px solid #ded5e8;border-radius:16px;background:#fff;color:#46374f;box-shadow:0 12px 50px #17132233}.analytics-choice[hidden]{display:none}.analytics-choice p{font-size:13px;line-height:1.6}.analytics-choice a{text-decoration:underline;text-underline-offset:3px}.analytics-choice>div{display:flex;gap:10px;margin-top:16px}.analytics-choice button{padding:10px 12px;min-height:44px;border:1px solid #d8cfe1;background:white;border-radius:9px;color:#493455;font-size:12px;cursor:pointer}.analytics-choice #analytics-accept{background:#493455;border-color:#493455;color:white}.analytics-choice button:focus-visible{outline:2px solid #947caf;outline-offset:3px}@media(max-width:400px){.analytics-choice{padding:16px}.analytics-choice>div{gap:7px}.analytics-choice button{padding:9px;font-size:11px}}
