/* Kontaktabschluss und kompakte Navigation. */
.site-footer{padding:26px 0 25px;background:#f1f6f9}
.footer-contact{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center;padding:48px;border-radius:24px;background:#284e66;color:#fff;margin:0 0 38px}
.footer-contact .eyebrow{color:#cae5f5}
.footer-contact h2{font-size:clamp(30px,3.4vw,47px);font-weight:500;line-height:1.15;margin:18px 0}
.footer-contact-copy>p{font-size:16px;line-height:1.75;max-width:430px;color:#e0ebf2}
.footer-advisor{display:flex;align-items:center;gap:17px;margin-bottom:20px}
.footer-advisor figure{margin:0;flex:0 0 124px;text-align:center}
.footer-advisor img{display:block;width:124px;height:124px;border:2px solid #c7e1ef;border-radius:50%;object-fit:cover}
.footer-advisor p{min-width:0;font-size:14px;line-height:1.5;color:#dbeaf3}
.footer-advisor strong{display:block;font-size:20px;font-weight:500;color:white}
.footer-phone,.footer-email{display:flex;align-items:center;gap:13px;width:fit-content;max-width:100%;padding:9px 0;line-height:1.3}
.footer-phone{font-size:clamp(24px,2.4vw,34px);font-weight:600;letter-spacing:-.035em}
.footer-email{font-size:clamp(15px,1.6vw,20px);overflow-wrap:anywhere}
.footer-contact svg{width:25px;height:25px;flex:none}
.footer-contact a:hover{text-decoration:underline;text-underline-offset:5px}
.footer-contact-details>p{color:#cde1ed;font-size:12px;margin-top:9px}
.site-footer .footer-top{padding-bottom:24px;align-items:center}
.site-footer .footer-top>p{font-size:14px;color:#526572;text-align:right}
.site-footer .footer-links{padding:26px 0 30px;border-top:1px solid #ccdce6;gap:32px;grid-template-columns:1fr 1fr 1fr}
.site-footer .footer-links h2{font-size:16px;letter-spacing:-.02em;line-height:1.6;margin-bottom:13px;font-weight:600}
.site-footer .footer-links a,.site-footer .footer-links button{font-size:14px;line-height:1.5;margin:0;min-height:44px;padding:9px 0;color:#3c5667;overflow-wrap:anywhere}
.site-footer .footer-links a:hover,.site-footer .footer-links button:hover{text-decoration:underline;text-underline-offset:4px}
.site-footer .footer-bottom{margin-top:0;padding-top:18px;align-items:center;flex-wrap:wrap;gap:14px;font-size:12px}
.site-footer :focus-visible{outline-color:#6cb9e5!important}
.footer-contact :focus-visible{outline-color:#fff!important}
.service-overview{padding-top:15px;padding-bottom:55px}
.service-overview-header{display:flex;gap:30px;align-items:end;justify-content:space-between;margin-bottom:28px}
.service-overview h2{font-size:clamp(30px,3.5vw,43px);line-height:1.15;margin-top:16px}
.service-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.service-overview-grid>a{display:block;background:#fff;border:1px solid #d4e4ee;border-radius:14px;padding:26px;transition:border-color .2s}
.service-overview-grid>a:hover{border-color:#66a6cb}
.service-overview-grid svg{width:32px;height:32px;color:#377497}
.service-overview-grid h3{font-size:23px;line-height:1.2;letter-spacing:-.03em;margin:18px 0 12px}
.service-overview-grid p{font-size:15px;line-height:1.7;color:#536773}
.service-overview-grid span{display:inline-block;margin-top:18px;font-size:13px;color:#285f7e;border-bottom:1px solid #9dbecf}
.service-help{padding-top:50px;padding-bottom:55px}
.service-help-panel{border:1px solid #c7deeb;background:#edf5f9;border-radius:18px;padding:36px;display:grid;grid-template-columns:1fr 1fr;gap:40px}
.service-help h2{font-size:clamp(29px,3.5vw,42px);line-height:1.16;margin:18px 0}
.service-help p{font-size:16px;color:#506671;line-height:1.75;margin-top:14px}
.service-help ol{padding-left:23px;margin:0}
.service-help li{padding:0 0 17px 8px;color:#506671;font-size:15px;line-height:1.65}
.service-help li strong{display:block;color:#2e4f64;font-weight:600}
.service-help .btn{margin-top:22px;background:#2d607d;border-color:#2d607d}
.service-help .service-help-note{font-size:13px;border-top:1px solid #ccdfe9;padding-top:16px}
.service-help a:not(.btn){text-decoration:underline;text-underline-offset:3px}
/* Reine Information: keine Einwilligung in nicht eingesetzte Dienste. */
.privacy-notice{position:fixed;z-index:70;right:22px;bottom:22px;width:min(410px,calc(100% - 32px));padding:24px;border:1px solid #b9d7e9;border-radius:18px;background:#fff;box-shadow:0 12px 55px #173c5a26;color:#303e47}
.privacy-notice h2{font-size:21px;letter-spacing:-.035em;line-height:1.2;margin:0 0 10px}
.privacy-notice p{font-size:13px;line-height:1.65;color:#506371}
.privacy-notice-actions{display:flex;gap:12px;align-items:center;margin-top:16px}
.privacy-primary,.privacy-secondary{min-height:44px;padding:10px 17px;border-radius:7px;font-size:14px;font-weight:600;line-height:1.4}
.privacy-primary{background:#d8edf9;border:1px solid #a4cce3;color:#224c65}
.privacy-secondary{background:#fff;border:1px solid #c3d3dd;color:#3c5667}
.privacy-primary:hover{background:#c5e5f6}.privacy-secondary:hover{background:#f0f6fa}
body:has(dialog[open]) .privacy-notice{display:none}
.privacy-dialog{padding:0;border:1px solid #c4dbe8;border-radius:20px;width:min(600px,calc(100% - 28px));max-height:calc(100dvh - 28px);overflow:auto;color:#303e47;box-shadow:0 24px 100px #153b5c30}
.privacy-dialog::backdrop{background:#18314066}
.privacy-dialog-inner{padding:32px}
.privacy-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.privacy-dialog-top .logo{width:113px;height:49px}
.privacy-dialog-top .logo img{width:186px;left:-36px;top:-31px}
.privacy-close{border:1px solid #cbdbe6;border-radius:7px;background:white;min-width:44px;min-height:44px;display:grid;place-items:center;color:#3c5667}
.privacy-close svg{width:20px;height:20px}
.privacy-dialog h2{font-size:30px;line-height:1.15;letter-spacing:-.04em;margin-bottom:18px}
.privacy-dialog p{font-size:14px;line-height:1.7;color:#526571;margin:12px 0}
.privacy-categories{margin:25px 0;border-top:1px solid #d9e5ec}
.privacy-category{padding:16px 0;border-bottom:1px solid #d9e5ec}
.privacy-category>div{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:15px}
.privacy-category strong{font-weight:600}
.privacy-category span{font-size:11px;white-space:nowrap;border-radius:20px;background:#edf5f9;padding:5px 9px;color:#375f76}
.privacy-category p{font-size:13px;margin:8px 0 0}
.privacy-dialog-links{display:flex;flex-wrap:wrap;gap:18px;margin-top:20px;font-size:13px;color:#315e79}
.privacy-dialog-links a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){
 .site-footer{padding-top:24px}
 .footer-contact{grid-template-columns:minmax(0,1fr);gap:26px;padding:28px 23px;border-radius:19px;margin-bottom:28px}
 .footer-contact h2{font-size:33px;max-width:420px}
 .footer-contact-copy>p{font-size:15px}
 .footer-contact-details{min-width:0;border-top:1px solid #ffffff30;padding-top:24px}
 .footer-advisor{gap:14px;margin-bottom:15px}
 .footer-advisor figure{flex-basis:100px}.footer-advisor img{width:100px;height:100px}
 .footer-advisor strong{font-size:19px}
 .footer-phone{font-size:clamp(20px,5.9vw,29px);gap:10px;letter-spacing:-.04em}
 .footer-email{font-size:clamp(13px,3.7vw,18px);gap:10px}
 .footer-contact svg{width:22px;height:22px}
 .site-footer .footer-top>p{font-size:12px;max-width:130px;line-height:1.65}
 .site-footer .footer-top>.logo{width:120px;height:52px}
 .site-footer .footer-top>.logo img{width:198px;left:-38px;top:-33px}
 .site-footer .footer-top{gap:16px}
 .site-footer .footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px;padding-top:24px}
 .site-footer .footer-links h2{font-size:14px;margin-bottom:10px;min-height:25px}
 .site-footer .footer-links h2 .brand-inline{font-size:13px}
 .site-footer .footer-links a,.site-footer .footer-links button{font-size:13px;line-height:1.55;min-height:44px;padding:8px 0}
 .site-footer .footer-legal{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;border-top:1px solid #cddde7;padding-top:23px}
 .site-footer .footer-legal h2{grid-column:1/-1}
 .site-footer .footer-bottom{flex-direction:row;justify-content:space-between;font-size:11px;align-items:center}
 .service-overview{padding-bottom:32px}
 .service-overview-header{align-items:flex-start;flex-direction:column;gap:12px}
 .service-overview-grid{grid-template-columns:1fr;gap:12px}
 .service-overview-grid>a{padding:22px;display:grid;grid-template-columns:31px 1fr;column-gap:15px}
 .service-overview-grid svg{grid-row:1/4;width:28px;height:28px}
 .service-overview-grid h3{margin:0 0 8px;font-size:22px}.service-overview-grid p{font-size:14px}.service-overview-grid span{justify-self:start;margin-top:12px}
 .service-help{padding-top:30px;padding-bottom:35px}
 .service-help-panel{grid-template-columns:1fr;gap:24px;padding:25px}
 .service-help h2{font-size:31px}
 .privacy-notice{right:16px;bottom:16px;padding:20px}
 .privacy-dialog-inner{padding:23px}.privacy-dialog h2{font-size:27px}
}
@media(max-width:360px){.footer-contact{padding:25px 18px}.footer-contact h2{font-size:29px}.footer-advisor strong{font-size:16px}.footer-phone{font-size:20px}.footer-email{font-size:13px}.site-footer .footer-links{column-gap:12px}}
