/* Editorial photographs and the shared contact component. */
.fw-content .fw-visual-intro { display:grid; grid-template-columns:1.08fr 1fr; align-items:center; gap:44px; max-width:none; border:0; padding:0 0 42px; }
.fw-content .fw-visual-intro h1 { font-size:clamp(32px,3.25vw,46px); line-height:1.14; margin:16px 0 22px; overflow-wrap:break-word; hyphens:auto; }
.fw-intro-copy { min-width:0; }
.fw-intro-copy > p:not(.fw-kicker) { font-size:18px; line-height:1.7; }
.fw-photo { margin:0; min-width:0; }
.fw-photo img { display:block; width:100%; max-width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; background:#e9eef1; }
.fw-photo figcaption { color:#667782; font-size:12px; line-height:1.5; padding-top:10px; }
.fw-intro-secondary { display:block; margin-top:16px; font-size:14px; }
.fw-overview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; padding:30px; margin:0 0 52px; background:#f2f5f5; border-block:1px solid #dce4e7; }
.fw-content .fw-overview h2 { font-size:18px; letter-spacing:0; margin:0 0 10px; line-height:1.35; }
.fw-overview p { font-size:15px; line-height:1.65; margin:0; }
.fw-content .fw-illustrated { display:grid; grid-template-columns:1.15fr 1fr; gap:44px; align-items:center; margin-block:56px; }
.fw-illustrated-copy { min-width:0; }
.fw-illustrated-copy > :last-child { margin-bottom:0; }
.fw-contact-section,.fw-contact-section *,.fw-contact-form#anfrage,.fw-contact-form#anfrage * { box-sizing:border-box; }
.fw-contact-section { padding:40px; margin-top:64px; color:#e2ebef; background:#15394f; font:16px/1.65 Roboto,Arial,sans-serif; scroll-margin-top:24px; }
.fw-contact-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr); gap:38px; align-items:start; }
.fw-contact-copy { min-width:0; padding-top:6px; }
.fw-contact-section .fw-kicker { font-size:12px; font-weight:700; letter-spacing:.1em; color:#c8dce7; margin:0 0 18px; }
.fw-contact-section h2,.fw-content .fw-contact-section h2 { color:white; font-size:32px; line-height:1.2; letter-spacing:-.025em; margin:0 0 24px; }
.fw-contact-section p { margin:0 0 20px; }
.fw-contact-section .fw-contact-topic { color:white; font-size:15px; padding-top:12px; border-top:1px solid #446073; }
.fw-contact-section .fw-contact-phone { color:white; display:inline-block; font-size:25px; font-weight:700; text-decoration:none; line-height:1.4; }
.fw-contact-section .fw-contact-hours { color:#cbdce5; font-size:14px; margin:6px 0 26px; }
.fw-contact-steps { padding:0; list-style:none; counter-reset:request; margin:30px 0 0; }
.fw-contact-steps li { position:relative; counter-increment:request; padding-left:40px; margin:0 0 24px; }
.fw-contact-steps li:before { content:counter(request,decimal-leading-zero); position:absolute; left:0; top:0; color:#aac4d4; font-size:14px; font-weight:700; }
.fw-contact-steps strong,.fw-contact-steps span { display:block; }
.fw-contact-steps strong { color:white; font-size:16px; }
.fw-contact-steps span { color:#cfdee6; margin-top:4px; font-size:14px; line-height:1.6; }
.fw-contact-form#anfrage { padding:28px; margin:0; background:#fff; color:#253f50; border:1px solid #d8e2e8; min-width:0; width:100%; text-align:left; font:15px/1.5 Roboto,Arial,sans-serif; scroll-margin-top:20px; }
.fw-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 16px; }
.fw-form-field { min-width:0; }
.fw-form-wide { grid-column:1/-1; }
.fw-contact-form#anfrage label { display:block; font-weight:600; font-size:14px; line-height:1.5; margin:0 0 7px; color:#183d55; letter-spacing:0; text-transform:none; }
.fw-contact-form#anfrage input:not([type=file]),.fw-contact-form#anfrage select,.fw-contact-form#anfrage textarea { display:block; width:100%; min-width:0; max-width:100%; margin:0; border:1px solid #b6c6d0; border-radius:0; box-shadow:none; background:#f8fafb; color:#263e4c; padding:11px 12px; font:15px/1.4 Roboto,Arial,sans-serif; min-height:46px; }
.fw-contact-form#anfrage select { padding-right:22px; text-overflow:ellipsis; }
.fw-contact-form#anfrage textarea { min-height:115px; resize:vertical; }
.fw-contact-form#anfrage input::placeholder,.fw-contact-form#anfrage textarea::placeholder { color:#697d89; opacity:1; }
.fw-contact-form#anfrage input:focus-visible,.fw-contact-form#anfrage select:focus-visible,.fw-contact-form#anfrage textarea:focus-visible,.fw-contact-form#anfrage summary:focus-visible,.fw-contact-form#anfrage button:focus-visible { outline:2px solid #235779; outline-offset:2px; }
.fw-contact-form#anfrage input[type=file] { display:block; max-width:100%; width:100%; font:13px/1.5 Roboto,Arial,sans-serif; color:#314a5a; background:transparent; border:0; padding:0; }
.fw-contact-form#anfrage input::file-selector-button { border:1px solid #b6c6d0; background:#f0f5f7; color:#15394f; font:inherit; padding:8px 10px; margin:0 10px 6px 0; cursor:pointer; }
.fw-contact-form#anfrage .fw-form-required { color:#617783; font-size:12px; margin:0 0 20px; }
.fw-contact-form#anfrage .fw-form-help { color:#526a79; font-size:12px; line-height:1.65; margin:8px 0 0; }
.fw-contact-form#anfrage .privacy-note { color:#526a79; font-size:12px; line-height:1.65; margin:20px 0; }
.fw-contact-form#anfrage .privacy-note a { color:#1b5c86; text-decoration:underline; }
.fw-contact-form#anfrage .fw-form-submit { display:block; width:100%; padding:14px 18px; margin:0; background:#1d5073; border:1px solid #1d5073; border-radius:0; color:white; font:700 16px/1.4 Roboto,Arial,sans-serif; letter-spacing:0; text-transform:none; cursor:pointer; }
.fw-contact-form#anfrage .fw-form-submit:hover { background:#12364e; border-color:#12364e; }
.fw-contact-form#anfrage .fw-form-submit:disabled { cursor:wait; opacity:.7; }
.fw-form-details { border-block:1px solid #d8e2e8; padding:13px 0; }
.fw-form-details summary { cursor:pointer; color:#244d65; font-size:14px; font-weight:600; line-height:1.5; }
.fw-form-details[open] > .fw-form-grid { margin-top:18px; }
.fw-contact-form#anfrage .form-status { margin:16px 0 0; }
.fw-contact-standalone { margin-top:48px; padding:60px 24px; }
.fw-contact-standalone .fw-contact-layout { max-width:1140px; margin:0 auto; }
.fw-error-page { margin:0; font-family:Arial,sans-serif; color:#263e4c; }
.fw-error-intro { max-width:1140px; margin:0 auto; padding:60px 24px 20px; }
.fw-error-intro a { color:#1b5c86; }
@media(max-width:1024px) {
 .fw-content .fw-visual-intro { gap:28px; }
 .fw-contact-section { padding:28px; }
 .fw-contact-layout { grid-template-columns:minmax(0,.7fr) minmax(0,1.25fr); gap:24px; }
 .fw-contact-section h2,.fw-content .fw-contact-section h2 { font-size:28px; }
 .fw-contact-form#anfrage { padding:22px; }
}
@media(max-width:767px) {
 .fw-content .fw-visual-intro { grid-template-columns:1fr; gap:26px; padding-bottom:28px; }
 .fw-visual-intro .fw-intro-copy { display:contents; }
 .fw-visual-intro .fw-kicker { order:0; margin:0; }
 .fw-content .fw-visual-intro h1 { order:1; margin:0; }
 .fw-visual-intro > .fw-photo { order:2; }
 .fw-intro-copy > p:not(.fw-kicker) { order:3; margin:0; }
 .fw-intro-copy > .fw-button { order:4; justify-self:start; }
 .fw-intro-copy > .fw-intro-secondary { order:5; margin:0; }
 .fw-content .fw-visual-intro h1 { font-size:34px; }
 .fw-intro-copy > p:not(.fw-kicker) { font-size:17px; }
 .fw-photo img { aspect-ratio:4/3; }
 .fw-overview { grid-template-columns:1fr; padding:22px; gap:20px; margin-bottom:36px; }
 .fw-overview > div+div { border-top:1px solid #d4dfe4; padding-top:18px; }
 .fw-content .fw-illustrated { grid-template-columns:1fr; gap:24px; margin-block:38px; }
 .fw-contact-layout { grid-template-columns:1fr; gap:26px; }
 .fw-contact-section { margin-top:42px; padding:24px 18px; }
 .fw-contact-form#anfrage { padding:20px 16px; }
 .fw-form-grid { grid-template-columns:1fr; gap:16px; }
 .fw-contact-copy { padding:0; }
 .fw-contact-steps { margin-top:24px; }
 .fw-contact-steps li { margin-bottom:18px; }
 .fw-contact-section h2,.fw-content .fw-contact-section h2 { font-size:29px; }
 .fw-contact-standalone { padding:34px 18px; }
}
