.contact-page{--contact-blue:#345b6e;--contact-red:#ff526b;background:#f4f1ed}
body.contact-page>main>section.section{padding:60px 0}
.contact-page .button{border-radius:999px}
.contact-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.contact-page .contact-intro{position:relative;min-height:500px;display:flex;align-items:center;isolation:isolate;overflow:hidden;background:#345b6e!important}
.contact-page .contact-intro .buy-hero-scenes{position:absolute;inset:0;width:auto;z-index:-2;overflow:hidden}

.contact-page .contact-hero-copy{max-width:590px}
.contact-page .contact-intro h1{font-size:clamp(42px,4.5vw,66px)}
.contact-page .contact-intro .lead{max-width:480px;font-size:21px;margin-bottom:0}
.contact-page .hero-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity 1.6s ease}
.contact-page .hero-scene.is-visible{opacity:1}.contact-page .hero-scene.is-resetting{transition:none}
.contact-page .contact-start{background:#f4f1ed;scroll-margin-top:100px}
.contact-page .contact-section-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:70px;align-items:end;margin-bottom:28px}
.contact-page .contact-kicker{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#647c88;margin-bottom:18px}
.contact-page .contact-section-heading>.contact-kicker{grid-column:1/-1}
.contact-page .contact-section-heading h2{margin:0;font-size:clamp(34px,4vw,52px);line-height:1.12}
.contact-page .contact-section-heading p{margin:0 0 4px;max-width:410px;font-size:18px;color:#5b707a}
.contact-page fieldset{border:0;padding:0;margin:0;min-width:0}
.contact-page .contact-conversation{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:70px;align-items:start}
.contact-page .contact-person{position:sticky;top:120px;background:#e6e9e7;border-radius:18px;overflow:hidden}
.contact-page .contact-person>img{width:100%;aspect-ratio:5/4;object-fit:cover;display:block}
.contact-page .contact-person-copy{padding:28px}
.contact-page .contact-person h3{margin:0 0 14px;font-size:27px}
.contact-page .contact-person p{color:#59707a;font-size:15px;margin-bottom:25px}
.contact-page .contact-person a{display:block;margin-top:10px;word-break:break-word}.contact-page .contact-direct{font-size:22px;font-weight:600}
.contact-page .contact-form-panel{background:#fff;padding:40px;border-radius:18px;scroll-margin-top:120px}
.contact-page .contact-form-panel h2{font-size:37px;line-height:1.15;margin:0 0 18px}
.contact-page .contact-form-panel>p{color:#5b707a;font-size:15px}
.contact-page .contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}
.contact-page .contact-fields label{display:flex;flex-direction:column;gap:9px;font-size:14px;font-weight:600}
.contact-page .contact-fields small{font-weight:400;color:#6c7e87}.contact-page .contact-field-wide{grid-column:1/-1}
.contact-page .contact-fields input,.contact-page .contact-fields textarea,.contact-page .contact-fields select{width:100%;min-width:0;padding:13px 14px;min-height:49px;border:1px solid #c9d4d9;border-radius:8px;background:#fbfcfc;color:#345b6e;font:400 16px/1.5 Raleway,Arial,sans-serif;resize:vertical}
.contact-page .contact-fields input:focus,.contact-page .contact-fields textarea:focus,.contact-page .contact-fields select:focus{outline:2px solid #345b6e;outline-offset:2px}
.contact-page .contact-method{margin-top:28px}.contact-page .contact-method legend{font-size:14px;font-weight:600;margin-bottom:12px}
.contact-page .contact-method label{display:inline-flex;align-items:center;gap:8px;padding:12px 15px;margin:0 5px 8px 0;border:1px solid #c9d4d9;border-radius:8px;font-size:14px;cursor:pointer}
.contact-page .contact-method label:has(input:checked){background:#eaf0f3;border-color:#345b6e}
.contact-page .contact-method input[type=radio]{flex:0 0 18px;width:18px;height:18px;min-height:18px;padding:0;margin:0;appearance:auto}
.contact-page .contact-callback .contact-fields{grid-template-columns:1fr}
.contact-page input[type=radio],.contact-page input[type=checkbox]{accent-color:#345b6e}
.contact-page .contact-callback{padding:0 20px 16px;background:#edf2f4;border-radius:10px;margin-top:12px;overflow:hidden}
.contact-page .contact-time-hint{font-size:12px;color:#607783;margin:12px 0 0}
.contact-page [hidden]{display:none!important}
.contact-page .contact-privacy{display:flex;align-items:flex-start;gap:12px;font-size:12px;line-height:1.6;margin:27px 0 24px;color:#5c727d}
.contact-page .contact-privacy input{width:18px;height:18px;margin-top:2px;flex-shrink:0}.contact-page .contact-privacy a{text-decoration:underline}
.contact-page .contact-submit .button{background:#ff526b;color:#fff;border:0;cursor:pointer;width:100%;font:700 15px Raleway,Arial,sans-serif;min-height:52px;border-radius:28px}.contact-page .contact-submit .button:disabled{opacity:.6;cursor:wait}
.contact-page .contact-submit p{font-size:11px;color:#647c88;margin-bottom:0}.contact-page .contact-status{padding:15px;border:1px solid #b9cdd6;border-radius:9px;line-height:1.6}.contact-page .contact-status.is-error{border-color:#d39e9e;color:#8b3434;background:#fff4f3}.contact-page .contact-status.is-success{background:#edf5ef;color:#345b48}
.contact-page .contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-page .contact-locations{background:#fff}.contact-page .contact-offices{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.contact-page .contact-office{display:grid;grid-template-columns:45% 55%;border-radius:16px;overflow:hidden;background:#f4f1ed}
.contact-page .contact-office>img{width:100%;height:100%;min-height:335px;object-fit:cover}.contact-page .contact-office>div{padding:35px 28px}.contact-page .contact-office h3{font-size:29px;line-height:1.2;margin:0 0 22px}.contact-page .contact-office a{font-size:14px;font-weight:700}
.contact-page .contact-finish{background:#345b6e!important;color:#fff;text-align:center}.contact-page .contact-finish h2{color:#fff;margin:auto;font-size:clamp(36px,4vw,54px)}.contact-page .contact-finish .lead{max-width:650px;margin:18px auto;color:#e4edf1}.contact-page .contact-finish .page-actions{justify-content:center}.contact-page .contact-finish .button{cursor:pointer;background:#fff;color:#345b6e}
@media(max-width:1000px){.contact-page .contact-conversation{gap:30px}.contact-page .contact-form-panel{padding:28px}.contact-page .contact-offices{gap:18px}.contact-page .contact-office{grid-template-columns:1fr}.contact-page .contact-office>img{height:240px;min-height:0}}
@media(max-width:850px){.contact-page .contact-intro{min-height:470px;align-items:start;padding-top:145px}.contact-page .contact-intro .buy-hero-scenes{inset:0}.contact-page .contact-hero-copy{max-width:560px}.contact-page .contact-conversation{grid-template-columns:1fr}.contact-page .contact-person{position:static;display:grid;grid-template-columns:38% 62%;order:2}.contact-page .contact-person>img{height:100%;aspect-ratio:auto}.contact-page .contact-section-heading{grid-template-columns:1fr;gap:18px}.contact-page .contact-section-heading p{max-width:none}.contact-page .contact-form-panel{order:1}.contact-page .contact-fields{gap:16px}}
@media(max-width:540px){body.contact-page>main>section.section{padding:40px 0}.contact-page .contact-intro{min-height:440px;padding-top:130px}.contact-page .contact-intro h1{font-size:43px}.contact-page .contact-intro .lead{font-size:18px;max-width:320px}.contact-page .contact-form-panel{padding:27px 20px}.contact-page .contact-form-panel h2{font-size:31px}.contact-page .contact-fields{grid-template-columns:1fr}.contact-page .contact-fields label{grid-column:1/-1}.contact-page .contact-method label{display:flex;margin-right:0}.contact-page .contact-person{display:block}.contact-page .contact-person>img{height:230px;width:100%;object-position:center 35%}.contact-page .contact-person-copy{padding:25px}.contact-page .contact-offices{grid-template-columns:1fr}.contact-page .contact-office{grid-template-columns:40% 60%}.contact-page .contact-office>img{height:100%}.contact-page .contact-office>div{padding:26px 20px}.contact-page .contact-office h3{font-size:25px}.contact-page .contact-office .contact-kicker{font-size:10px}.contact-page .contact-callback{padding:0 14px 16px}}
@media(prefers-reduced-motion:reduce){.contact-page .buy-intro .hero-scene{transition:none}}
.contact-page .contact-topic-select{display:grid;gap:10px;margin-bottom:32px;padding-bottom:30px;border-bottom:1px solid #d9e2e6}
.contact-page .contact-topic-select label{font-size:14px;font-weight:600}
.contact-page .contact-topic-select select{width:100%;min-width:0;min-height:52px;padding:13px 14px;border:1px solid #c9d4d9;border-radius:8px;background:#fbfcfc;color:#345b6e;font:400 16px/1.5 Raleway,Arial,sans-serif;cursor:pointer}
.contact-page .contact-topic-select select:focus{outline:2px solid #345b6e;outline-offset:2px}

.contact-page .contact-office>img.contact-office-mischa{object-position:55% center}
.contact-page .contact-office>img.contact-office-duesseldorf{object-position:37% center}

body.contact-page>main>section.contact-finish h2{font-size:clamp(30px,3.5vw,48px);line-height:1.12}
body.contact-page>main>section.contact-finish .lead{font-size:18px;line-height:1.6;margin:16px auto 22px}
body.contact-page>main>section.contact-finish .button{border:0}

/* Preserve headroom in the full-width desktop hero. */
@media(min-width:851px){.contact-page .contact-intro .hero-scene{object-position:center top}}
