/* Shared EliteCare design language: navy, warm white, bronze, modular surfaces. */
:root { --ec-ink:#0a1128; --ec-muted:#515c6e; --ec-bronze:#946325; --ec-paper:#faf9f6; --ec-line:#e5e3dc; --font-heading:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; --font-head:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
body { background:var(--ec-paper); }
.gx-logo-text { font-family:Georgia,'Times New Roman',serif; }
#gx-head { background:#faf9f6; }
.ec-page-intro { padding:24px clamp(18px,3.2vw,48px) 28px!important; background:var(--ec-paper)!important; color:var(--ec-ink); }
.ec-page-intro__grid { max-width:1344px; margin:0 auto; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:16px; }
.ec-intro-copy { min-width:0; padding:38px clamp(26px,3.3vw,48px) 40px; border-radius:20px; background:linear-gradient(140deg,#142035,#0a1128 78%); color:#fff; }
.ec-page-intro :is(.breadcrumb,.gx-crumbs) { position:static!important; display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:6px; padding:0; margin:0 0 25px; background:none; color:#c2c9d5; font:400 .7rem/1.6 Inter,sans-serif; letter-spacing:0; text-align:left; }
.ec-page-intro :is(.breadcrumb,.gx-crumbs) a { color:#e1b477; text-decoration:none; }
.ec-page-intro :is(.breadcrumb,.gx-crumbs) a:hover { text-decoration:underline; }
.ec-page-intro :is(.breadcrumb,.gx-crumbs) [aria-current] { color:#c2c9d5; }
.ec-page-intro .ec-intro-kicker { color:#dca65d; margin:0 0 16px; font:600 .65rem/1.65 Inter,sans-serif; letter-spacing:1.6px; text-transform:uppercase; }
#main-content .ec-page-intro h1 { font:650 clamp(1.9rem,3.2vw,3rem)/1.13 Inter,sans-serif; letter-spacing:-.04em; margin:0 0 22px; text-align:left; color:#fff; text-wrap:balance; overflow-wrap:break-word; }
.ec-page-intro h1 em { color:inherit; font-style:normal; }
.ec-intro-copy > p:not(.ec-intro-kicker) { max-width:620px; margin:0; font:400 .95rem/1.75 Inter,sans-serif; color:#dce0e8; text-align:left; }
.ec-intro-actions { display:flex; align-items:center; gap:14px 22px; flex-wrap:wrap; margin-top:28px; }
.ec-intro-primary,.ec-intro-secondary { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:46px; text-decoration:none; font:600 .82rem/1.5 Inter,sans-serif; }
.ec-intro-primary { background:#fff; color:var(--ec-ink); border:1px solid #fff; border-radius:10px; padding:13px 18px; }
.ec-intro-primary span { color:var(--ec-bronze); }
.ec-intro-secondary { color:#e2e6ed; border-bottom:1px solid #566073; padding:9px 0; }
.ec-intro-primary:hover { background:#f0ece5; }
.ec-intro-secondary:hover { color:#fff; border-color:#dca65d; }
.ec-intro-visual { margin:0; min-width:0; min-height:280px; overflow:hidden; border-radius:20px; background:#ece8e1; position:relative; }
.ec-intro-visual img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; }
.ec-intro-aside { border-radius:20px; background:#efede6; padding:36px clamp(24px,3vw,42px); display:flex; flex-direction:column; justify-content:center; min-width:0; }
.ec-intro-aside .ec-intro-kicker { color:var(--ec-bronze); }
#main-content .ec-intro-aside h2 { margin:0 0 22px; color:var(--ec-ink); font:600 clamp(1.3rem,2vw,1.7rem)/1.25 Inter,sans-serif; letter-spacing:-.035em; }
.ec-intro-aside > a { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:13px 0; border-top:1px solid #d9d4cb; color:var(--ec-ink); text-decoration:none; font:500 .86rem/1.5 Inter,sans-serif; min-height:46px; }
.ec-intro-aside > a span { color:var(--ec-bronze); }
.ec-intro-aside > a:hover { color:var(--ec-bronze); }
.ec-intro-aside ul,.ec-intro-aside ol { padding-left:20px; margin:0; color:var(--ec-muted); font:400 .85rem/1.7 Inter,sans-serif; }
.ec-intro-aside li { padding-left:5px; margin-bottom:14px; }
.ec-intro-aside li::marker { color:var(--ec-bronze); font-weight:600; }
.ec-intro-aside li strong,.ec-intro-aside li span { display:block; }
.ec-intro-aside li strong { color:var(--ec-ink); font-weight:600; margin-bottom:2px; }
.ec-page-intro--plain .ec-page-intro__grid { grid-template-columns:1fr; max-width:1180px; }
.ec-page-intro--plain .ec-intro-copy { padding:32px 40px; }
.ec-page-intro--plain .ec-intro-copy h1 { font-size:clamp(1.7rem,3vw,2.5rem)!important; }
/* Consistent components, including legacy content templates. */
#main-content :is(.section,.section.tight,.seo-content,.prices-section,.hk-teaser,.hk-vertrauen) { background:var(--ec-paper); }
#main-content :is(.section,.section.tight) { padding-top:56px; padding-bottom:56px; }
#main-content :is(.card,.step,.seo-card,.hk-karte,.sp-block,.process-step) { border-color:var(--ec-line); border-radius:17px; box-shadow:none; }
#main-content :is(.card,.step,.seo-card,.hk-karte):hover { transform:none; border-color:#b78a53; box-shadow:0 8px 24px rgb(10 17 40 / 5%); }
#main-content :is(.card .ic,.step::before,.process-number) { box-shadow:none; font-family:Inter,sans-serif; }
.animate-card { opacity:1; transform:none; transition:box-shadow .2s,border-color .2s; }
.gx-cta { background:#d5a15c; color:#0a1128; border-radius:10px; box-shadow:none; }
:is(.btn,.gx-btn,.hk-knopf,.calc-cta-btn,.career-submit-btn) { min-height:48px; border-radius:10px; background:#0a1128; color:#fff; box-shadow:none; font-family:Inter,sans-serif; font-weight:600; letter-spacing:.2px; text-transform:none; }
:is(.btn,.gx-btn,.hk-knopf,.calc-cta-btn,.career-submit-btn):hover { transform:none; box-shadow:none; background:#24314b; }
.btn.ghost { background:transparent; color:#775020; border:1px solid #b99262; }
.btn.ghost:hover { color:#0a1128; background:#f0e8dc; }
.gx-cta-band { background:#0a1128; }
.gx-cta-title { font:600 clamp(1.7rem,3vw,2.4rem)/1.2 Inter,sans-serif; letter-spacing:-.035em; }
.gx-cta-band .gx-btn-gold { background:#fff; color:#0a1128; }
.gx-cta-band .gx-btn-line { background:transparent; color:#fff; border-color:#728096; }
.gx-foot { background:#0a1128; border-top:1px solid #303950; }
.gx-foot :is(.gx-foot-title,.gx-foot-note,.gx-foot-bottom) { letter-spacing:.4px; }
#gx-head .gx-nav .gx-link { font-family:Inter,sans-serif; }
.seo-article { max-width:940px; }
.seo-article > p,.seo-article > ul,.seo-article > ol { max-width:78ch; }
.seo-toc { background:#fff; border:1px solid #ded9d1; border-radius:14px; padding:24px; }
.seo-toc summary { cursor:pointer; min-height:30px; font-weight:600; color:#0a1128; }
.seo-toc summary::marker { color:#946325; }
.seo-toc ul { margin-top:14px; }
.seo-toc a { display:inline-block; padding:4px 0; }
.seo-card[hidden] { display:none!important; }
.seo-card h2 { margin-top:0; }
.seo-crosslinks,.cta-band { background:#efede6!important; border-color:#e5e3dc; }
.seo-crosslinks p { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 18px; }
#main-content :is(.seo-faq-item,.faq-item) { border:1px solid #e0ddd6; border-radius:12px; padding:0 20px; margin-bottom:10px; background:#fff; }
#main-content .seo-faq-item summary { padding:18px 0; cursor:pointer; line-height:1.6; }
#main-content .seo-faq-item[open] { border-color:#b8905e; }
#main-content .seo-faq-item p { padding-bottom:18px; }
#main-content [id],.ec-page-intro [id] { scroll-margin-top:92px; }
:is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #946325; outline-offset:4px; }
/* Search remains local; every service is an ordinary crawlable link. */
.ec-service-index .seo-article { max-width:1180px; }
.ec-service-index .seo-cards { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ec-finder { margin:28px 0 24px; padding:24px; border:1px solid #ded9d1; border-radius:16px; background:#fff; }
.ec-finder label { display:block; margin-bottom:12px; color:#0a1128; font:600 1.05rem/1.4 Inter,sans-serif; }
.ec-search-row { display:flex; align-items:center; gap:12px; }
.ec-search-row input { width:100%; min-width:0; min-height:50px; border:1px solid #b9bec7; border-radius:9px; background:#faf9f6; padding:13px 15px; color:#0a1128; font:400 1rem/1.4 Inter,sans-serif; }
.ec-search-row button { flex:none; min-height:46px; background:#0a1128; color:#fff; border:0; border-radius:9px; padding:12px 16px; cursor:pointer; font:500 .82rem Inter,sans-serif; }
.ec-finder #ec-service-count { margin:12px 0 0; font-size:.78rem; color:#515c6e; }
.ec-finder #ec-service-empty { margin-top:16px; padding-top:16px; border-top:1px solid #e5e3dc; }
/* Clear request language and readable fields without iPhone zoom. */
#b2b-inquiry .ec-request-intro { grid-column:1/-1; }
#main-content #b2b-inquiry .ec-request-intro h2 { margin:0 0 8px; color:#0a1128; font-size:1.4rem; }
#b2b-inquiry .ec-request-intro p { margin:0 0 8px; color:#515c6e; font-size:.82rem; line-height:1.6; }
.premium-form-card { border:1px solid #e5e3dc; box-shadow:0 12px 32px rgb(10 17 40 / 5%); background:#fff; }
#b2b-inquiry :is(input:not([type=checkbox]),select,textarea),#application-form :is(input:not([type=checkbox]),select,textarea) { font-size:16px!important; }
#b2b-inquiry :is(.form-floating input,.form-floating select,.form-floating textarea) { border-color:#d5d4d0; background:#faf9f6; border-radius:9px; color:#0a1128; }
#b2b-inquiry .ec-notes { padding-bottom:24px; }
#b2b-inquiry .ec-notes textarea { min-height:110px; }
#ec-notes-help { display:block; position:static; margin-top:7px; color:#616b79; font:400 .73rem/1.5 Inter,sans-serif; }
#b2b-inquiry .full-width { grid-column:1/-1; }
#b2b-inquiry #submitBtn { font-size:.95rem!important; padding:16px!important; }
.ec-portal-titel em,#ec-portal-titel em { font-style:normal; }
@media(max-width:1000px) { .ec-service-index .seo-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } .ec-page-intro__grid { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); } .ec-intro-copy { padding:28px 26px; } .ec-intro-aside { padding:28px 24px; } }
@media(max-width:760px) {
 .ec-page-intro { padding:16px 16px 22px!important; }
 .ec-page-intro__grid { grid-template-columns:1fr; gap:12px; }
 .ec-intro-copy { padding:26px 24px 28px; border-radius:17px; }
 #main-content .ec-page-intro h1 { font-size:clamp(1.7rem,6.5vw,2.5rem); margin-bottom:18px; }
 .ec-page-intro :is(.breadcrumb,.gx-crumbs) { font-size:.66rem; margin-bottom:20px; }
 .ec-intro-copy > p:not(.ec-intro-kicker) { font-size:.9rem; }
 .ec-intro-actions { margin-top:23px; gap:10px 18px; }
 .ec-intro-primary { flex:1 1 auto; }
 .ec-intro-secondary { justify-content:flex-start; }
 .ec-intro-visual { min-height:180px; max-height:220px; aspect-ratio:2; border-radius:17px; }
 .ec-intro-aside { padding:25px; border-radius:17px; }
 #main-content .ec-intro-aside h2 { font-size:1.35rem; margin-bottom:15px; }
 .ec-intro-aside li { margin-bottom:9px; }
 .ec-page-intro--plain .ec-intro-copy { padding:26px 24px; }
 #main-content :is(.section,.section.tight) { padding-top:36px; padding-bottom:36px; }
 #gx-head .gx-nav .gx-link { font-size:1.16rem; font-weight:500; }
 .seo-toc { padding:20px; }
 .ec-search-row { flex-wrap:wrap; }
 .ec-search-row button { width:100%; }
 .ec-finder { padding:20px; }
 .ec-service-index .seo-cards { grid-template-columns:1fr; }
 #main-content :is(.seo-faq-item,.faq-item) { padding:0 16px; }
 .gx-cta-band .gx-cta-title { font-size:1.75rem; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }

.ec-form-details { border:1px solid #ded9d1; border-radius:10px; background:#faf9f6; }
.ec-form-details summary { cursor:pointer; padding:15px 16px; color:#0a1128; font:600 .82rem/1.6 Inter,sans-serif; }
.ec-form-details summary::marker { color:#946325; }
.ec-form-details__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:5px 16px 18px; }
@media(max-width:760px) { .ec-form-details__grid { grid-template-columns:1fr; } .ec-form-details__grid > * { grid-column:1/-1; } }

/* Readable secondary text on warm white and navy. */
#counter-section .kw-fuss,.ec-services__footer p { color:#616b79; }
.gx-foot :is(.gx-foot-note,.gx-foot-bottom) { color:#b8bfcb; }

/* Clear calculator context without changing the established visual language. */
.ec-calc-scope{font-size:.86rem;line-height:1.6;margin-top:16px;color:#56616c}
.ec-calc-scope a,.ec-calc-hinweis a{color:#755a35;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.ec-calc-hinweis p{margin:8px 0;line-height:1.6}
.ec-calc-hinweis a{display:inline-block;padding:8px 0}

/* Customer orientation: one prominent next action, with a calmer alternative. */
.ec-hero__secondary { display:inline-flex; align-items:center; gap:12px; min-height:44px; margin-top:10px; padding:7px 0; color:#e4c49b; font:500 .82rem/1.5 Inter,sans-serif; text-decoration:underline; text-underline-offset:5px; }
.ec-hero__secondary:hover { color:#fff; }
.ec-home-v3 .ec-hero__signature { margin-top:18px; }
.ec-home-v3 .hk-teaser-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.ec-home-v3 .hk-teaser-grid .hk-karte:last-child { grid-column:auto; }
.ec-home-v3 .hk-kopf { text-align:left; max-width:1180px; margin-left:auto; margin-right:auto; }
.ec-home-v3 .hk-kicker { justify-content:flex-start; }
.ec-home-v3 :is(.hk-teaser,.hk-vertrauen) { padding-top:54px; padding-bottom:54px; }
.ec-home-v3 .hk-teaser-grid,.ec-home-v3 .hk-vt-grid { max-width:1180px; }
.ec-home-v3 .hk-karte { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
.ec-home-v3 .hk-karte .hk-bild { height:auto; min-height:240px; aspect-ratio:auto; }
.ec-home-v3 .hk-karte .hk-bild img { height:100%; width:100%; object-fit:cover; }
.ec-home-v3 .hk-text { padding:25px; }
.ec-home-v3 .hk-text small { letter-spacing:1.2px; }
.ec-home-v3 .hk-text h3 { font-size:1.25rem; line-height:1.3; }
.ec-review-title,.ec-review-copy h3 { margin:16px 0; font:600 clamp(1.25rem,2vw,1.75rem)/1.3 Inter,sans-serif; letter-spacing:-.03em; color:#0a1128; }
.ec-review-copy { padding:8px 0 22px; }
.ec-review-copy p { color:#515c6e; font-size:.9rem; line-height:1.7; }
.ec-start { display:grid; grid-template-columns:1fr 1.25fr; gap:clamp(30px,5vw,80px); max-width:1180px; margin:0 auto; padding:46px 0 64px; }
.ec-start__kicker { display:block; color:#946325; font:600 .65rem/1.7 Inter,sans-serif; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:15px; }
#main-content .ec-start h2 { font-size:clamp(1.75rem,3vw,2.5rem); line-height:1.16; color:#0a1128; margin:0 0 18px; }
.ec-start__intro > p { font-size:.95rem; color:#515c6e; line-height:1.7; max-width:36ch; }
.ec-start__steps { list-style:none; padding:0; margin:0; }
.ec-start__steps li { display:flex; gap:22px; padding:20px 0; border-top:1px solid #dcd8d1; }
.ec-start__steps li:last-child { padding-bottom:0; }
.ec-start__number { display:block; flex:none; color:#946325; font:500 .85rem/1.5 Inter,sans-serif; padding-top:3px; }
#main-content .ec-start__steps h3 { font-size:1.05rem; line-height:1.5; margin:0 0 6px; }
.ec-start__steps p { margin:0; font-size:.88rem; line-height:1.6; color:#515c6e; }
.ec-submit-reassurance { margin:0 0 16px; font:400 .84rem/1.7 Inter,sans-serif; color:#515c6e; text-align:left; }
.ec-foot-group > summary { list-style:none; }
.ec-foot-group > summary::-webkit-details-marker { display:none; }
.ec-foot-group > summary::marker { content:''; }
.gx-foot-legal .ec-chat-open { font:inherit; color:inherit; cursor:pointer; background:none; border:0; padding:0; }
.ec-chat-shortcuts { display:flex; gap:6px; flex-wrap:wrap; padding:12px 16px; background:#f1eee7; border-bottom:1px solid #dcd8d1; }
.ec-chat-shortcuts a { padding:10px 11px; color:#0a1128; background:#fff; border:1px solid #dcd8d1; border-radius:8px; font:500 .75rem/1.4 Inter,sans-serif; text-decoration:none; }
.concierge-status { display:none; }
.concierge-title { font-size:.85rem; letter-spacing:0; }
#conciergeWindow:not(.active) { visibility:hidden; }
#conciergeWindow.active { visibility:visible; }
#conciergeInput { font-size:16px; }
.concierge-trigger { background:#0a1128; box-shadow:0 5px 18px rgb(10 17 40 / 12%); }
html.ec-chat-open .aktionsleiste,html.ec-form-engaged :is(.whatsapp-float,.concierge-trigger),html.needs-cookie-consent :is(.whatsapp-float,.concierge-trigger) { display:none!important; }
.ec-contactbar { display:none; }
@media(min-width:761px) { .ec-foot-group > summary { cursor:default; } }
@media(max-width:1240px) { .ec-start { margin:0 6%; } }
@media(max-width:1000px) {
 .ec-home-v3 .hk-karte { grid-template-columns:1fr; }
 .ec-home-v3 .hk-karte .hk-bild { height:190px; min-height:0; }
}
@media(max-width:760px) {
 .ec-hero__secondary { display:flex; justify-content:center; font-size:.78rem; margin-top:8px; }
 .ec-home-v3 :is(.hk-teaser,.hk-vertrauen) { padding-top:36px; padding-bottom:36px; }
 .ec-home-v3 .hk-teaser-grid { grid-template-columns:1fr; gap:14px; }
 .ec-home-v3 .hk-karte { grid-template-columns:100px minmax(0,1fr); }
 .ec-home-v3 .hk-karte .hk-bild { height:auto; min-height:0; }
 .ec-home-v3 .hk-text { padding:21px 18px; }
 .ec-home-v3 .hk-text h3 { font-size:1.1rem; }
 .ec-home-v3 .hk-text p { font-size:.84rem; line-height:1.65; }
 .ec-home-v3 .hk-text small { font-size:.56rem; letter-spacing:.6px; }
 .ec-start { grid-template-columns:1fr; gap:24px; margin:0 6%; padding:32px 0 42px; }
 .ec-start__intro > p { max-width:none; }
 .ec-start__steps li { gap:18px; padding:17px 0; }
 .ec-start__steps h3 { font-size:1rem; }
 .contact-grid > .premium-form-container { order:-1; }
 .contact-grid { gap:28px; }
 .gx-foot-grid { gap:0; }
 .gx-foot-brand { margin-bottom:28px; }
 .ec-foot-group { border-top:1px solid #354055; padding:0; }
 .ec-foot-group > summary.gx-foot-title { display:flex; align-items:center; justify-content:space-between; min-height:58px; margin:0; padding:15px 0; cursor:pointer; font:500 .92rem/1.5 Inter,sans-serif; letter-spacing:0; text-transform:none; color:#f6f3ed; }
 .ec-foot-group > summary::after { content:'+'; color:#e4c49b; font-size:1.3rem; font-weight:400; }
 .ec-foot-group[open] > summary::after { content:'−'; }
 .ec-foot-group > ul { padding-bottom:18px; }
 .ec-foot-group li a { display:inline-block; padding:5px 0; min-height:34px; }
 .gx-foot-bottom { margin-top:24px; }
 .gx-foot-legal { gap:14px 22px; }
 body[data-ec-contactbar] { padding-bottom:calc(82px + env(safe-area-inset-bottom)); }
 nav.ec-contactbar { display:grid; grid-template-columns:.8fr 1fr 1.5fr; position:fixed!important; inset:auto 0 0!important; width:auto!important; height:auto!important; transform:none!important; transition:none!important; z-index:9998; padding:9px 12px calc(9px + env(safe-area-inset-bottom))!important; gap:7px; background:#faf9f6!important; border-top:1px solid #ddd8ce!important; box-shadow:0 -4px 20px rgb(10 17 40 / 6%); backdrop-filter:none; -webkit-backdrop-filter:none; }
 .ec-contactbar .al-item { min-width:0; min-height:48px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:5px 4px; color:#344154; font:500 .68rem/1.3 Inter,sans-serif; letter-spacing:0; text-transform:none; text-decoration:none; border:0; border-radius:8px; background:transparent; }
 .ec-contactbar .al-item svg { height:18px; width:18px; stroke:currentColor; fill:none; stroke-width:1.6; }
 .ec-contactbar .al-primaer { background:#0a1128; color:#fff; flex-direction:row; gap:8px; font-size:.76rem; font-weight:600; }
 .ec-contactbar .al-primaer::before { display:none; }
 html.needs-cookie-consent .ec-contactbar,html.ec-primary-visible .ec-contactbar,html.ec-form-engaged .ec-contactbar { display:none!important; }
}
@media(max-width:359px) {
 .ec-home-v3 .hk-karte { grid-template-columns:80px minmax(0,1fr); }
 .ec-home-v3 .hk-text { padding:18px 14px; }
 nav.ec-contactbar { gap:3px; padding-left:8px!important; padding-right:8px!important; }
 .ec-contactbar .al-primaer { font-size:.69rem; }
}
.ec-home-v3 .hk-kicker i { display:none; }
#conciergeWindow { transition-property:opacity,transform!important; }

#conciergeWindow :is(.concierge-close,.concierge-send){min-width:44px;min-height:44px;flex:none}
#conciergeInput { background:#fff; color:#0a1128; border:1px solid #c8c8c3; }
#conciergeInput::placeholder { color:#5b6472; opacity:1; }
#conciergeBody { min-height:0; }
#conciergeBody .chat-bubble { font:400 .9rem/1.7 Inter,sans-serif; letter-spacing:0; }
@media(max-width:768px) { .concierge-input-area { padding-bottom:calc(18px + env(safe-area-inset-bottom)); } }

@media(min-width:901px){.sp-kontakt .contact-grid{grid-template-areas:"info form"}.sp-kontakt .premium-form-container{grid-area:form}.sp-kontakt .contact-info-panel{grid-area:info}}

/* Service pages: concise orientation and optional depth, in the hero's visual language. */
.ec-service-overview { max-width:1180px; margin:4px auto 0; padding:18px 0 28px; }
.ec-service-overview__label { margin:0 0 15px; color:#946325; font:600 .65rem/1.6 Inter,sans-serif; letter-spacing:1.5px; text-transform:uppercase; }
.ec-service-overview dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; padding:0; margin:0; }
.ec-service-overview dl > div { padding:4px 27px; border-left:1px solid #dcd8d1; }
.ec-service-overview dl > div:first-child { padding-left:0; border-left:0; }
.ec-service-overview dt { color:#0a1128; font:600 .91rem/1.55 Inter,sans-serif; margin-bottom:6px; }
.ec-service-overview dd { margin:0; color:#515c6e; font:400 .86rem/1.65 Inter,sans-serif; }
.ec-reading-layout { display:grid; grid-template-columns:240px minmax(0,1fr); align-items:start; gap:34px; max-width:1180px; margin:0 auto; }
.ec-reading-sidebar { min-width:0; position:sticky; top:96px; }
.ec-reading-sidebar .seo-toc { position:static!important; width:auto; padding:20px; margin:0; border-radius:15px; box-shadow:none; }
.ec-reading-sidebar .seo-toc ul { padding-left:0; list-style:none; }
.ec-reading-sidebar .seo-toc li { margin:0; padding:0; }
.ec-reading-sidebar .seo-toc a { display:block; padding:9px 0; color:#515c6e; font:400 .8rem/1.55 Inter,sans-serif; text-decoration:none; border-bottom:1px solid #e7e3dc; }
.ec-reading-sidebar .seo-toc a:hover { color:#755321; text-decoration:underline; text-underline-offset:3px; }
.ec-service-article { max-width:none; width:auto; margin:0; min-width:0; }
.ec-reading-tools { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px 20px; margin:0 0 18px; }
.ec-reading-tools p { margin:0; color:#515c6e; font:400 .8rem/1.6 Inter,sans-serif; }
.ec-expand-details { background:transparent; color:#755321; border:1px solid #b8a488; border-radius:8px; min-height:44px; padding:10px 14px; font:500 .77rem/1.5 Inter,sans-serif; cursor:pointer; }
.ec-expand-details[hidden] { display:none; }
.ec-service-detail { border:1px solid #dedbd4; border-radius:14px; background:#fff; margin:0 0 12px; overflow:clip; }
.ec-service-detail > summary,.ec-faq-item > summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 24px; cursor:pointer; list-style:none; color:#0a1128; }
:is(.ec-service-detail,.ec-faq-item) > summary::-webkit-details-marker { display:none; }
:is(.ec-service-detail,.ec-faq-item) > summary::marker { content:''; }
:is(.ec-service-detail,.ec-faq-item) > summary::after { content:'+'; flex:none; display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:#f2ece2; color:#755321; font:400 1.25rem/1 Inter,sans-serif; }
:is(.ec-service-detail,.ec-faq-item)[open] > summary::after { content:'−'; }
.ec-service-detail[open] { border-color:#bba27e; }
#main-content .ec-service-detail > summary h2 { font:600 1.1rem/1.45 Inter,sans-serif; letter-spacing:-.025em; margin:0; color:#0a1128; text-align:left; }
.ec-detail-body { border-top:1px solid #eee9e1; padding:6px 24px 24px; }
.ec-detail-body p,.ec-detail-body li { font:400 .93rem/1.8 Inter,sans-serif; color:#515c6e; }
#main-content .ec-detail-body h3 { font-size:1.04rem; line-height:1.5; margin:22px 0 10px; }
.ec-detail-body .seo-table-scroll { max-width:100%; margin-top:20px; }
.ec-detail-body table { margin:0; }
.ec-service-article .ec-service-faq { padding:30px 0 15px; }
#main-content .ec-service-faq > h2 { margin:0 0 24px; font-size:1.55rem; line-height:1.3; text-align:left; }
.ec-faq-list { display:grid; gap:10px; max-width:940px; margin:0 auto; }
.ec-faq-item { border:1px solid #dedbd4; background:#fff; border-radius:12px; }
.ec-faq-item[open] { border-color:#bba27e; }
#main-content .ec-faq-item h3 { font:600 .96rem/1.55 Inter,sans-serif; margin:0; letter-spacing:-.015em; text-align:left; color:#0a1128; }
.ec-faq-answer { padding:0 24px 20px; }
.ec-faq-answer p { font:400 .9rem/1.8 Inter,sans-serif; color:#515c6e; margin:0; }
.ec-faq-answer p + p { margin-top:14px; }
.ec-service-contact { border-radius:14px; background:#efede6; padding:25px; margin-top:24px; }
#main-content .ec-service-contact h2 { font-size:1.4rem; line-height:1.35; margin:0 0 15px; }
.ec-service-contact p { font-size:.9rem; line-height:1.8; color:#515c6e; }
[data-ec-service-page] .lead { text-align:left; }
[data-ec-service-page] .lead h2 { max-width:760px; margin-left:0; }
[data-ec-service-page] .lead .rule { margin-left:0; width:42px; background:#b89666; height:2px; }
[data-ec-service-page] .card { border:1px solid #e1ddd5; border-radius:15px; box-shadow:none; }
[data-ec-service-page] .card .ic { width:40px; height:40px; display:grid; place-items:center; background:#f1ece3; color:#946325; border-radius:10px; font-size:0; }
[data-ec-service-page] .ic svg { display:block; width:23px; height:23px; }
[data-ec-service-page] .card h3 { font-size:1.12rem; line-height:1.4; }
[data-ec-service-page] .card :is(p,li) { font-size:.92rem; line-height:1.75; }
/* A photo overlay must sit above both the header and the mobile contact bar. */
#lightbox { z-index:100100; }
body.lb-lock :is(#gx-head,.ec-contactbar,#cookie-banner,.seo-cookie) { visibility:hidden!important; }
.ref-fact a { color:#755321; font-size:.85rem; line-height:1.6; text-underline-offset:3px; }
@media(max-width:1240px) { .ec-service-overview { margin-left:6%; margin-right:6%; } }
@media(max-width:1000px) { .ec-reading-layout { grid-template-columns:200px minmax(0,1fr); gap:22px; } }
@media(max-width:760px) {
 .ec-service-overview { margin:0 5%; padding:5px 0 24px; }
 .ec-service-overview dl { grid-template-columns:1fr; gap:13px; }
 .ec-service-overview dl > div { border-left:0; border-top:1px solid #e0dad0; padding:13px 0 0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.45fr); gap:14px; }
 .ec-service-overview dl > div:first-child { border-top:0; padding-top:0; }
 .ec-service-overview dt { margin:0; font-size:.8rem; }
 .ec-service-overview dd { font-size:.8rem; }
 .ec-reading-layout { grid-template-columns:1fr; gap:20px; }
 .ec-reading-sidebar { position:static; }
 .ec-reading-sidebar .seo-toc { padding:17px 20px; }
 .ec-reading-tools { align-items:flex-start; gap:12px; }
 .ec-reading-tools p { max-width:29ch; }
 .ec-service-detail > summary,.ec-faq-item > summary { padding:18px 17px; gap:12px; }
 #main-content .ec-service-detail > summary h2 { font-size:1.03rem; }
 .ec-detail-body { padding:3px 17px 20px; }
 .ec-faq-answer { padding:0 17px 20px; }
 .ec-service-contact { padding:23px 19px; }
 [data-ec-service-page] .card { padding:24px 22px; }
 .ec-service-faq .lead { margin-bottom:24px; }
}
@media print { .ec-reading-sidebar,.ec-expand-details { display:none; } .ec-reading-layout { display:block; } }
.ec-reading-sidebar .seo-toc ul { columns:1; column-count:1; display:block; }
#lightbox .lb-btn { z-index:3; min-width:48px; min-height:48px; background:#faf9f6; color:#0a1128; border-color:#faf9f6; box-shadow:0 3px 16px rgb(0 0 0 / 15%); }
#lightbox .lb-btn svg { stroke:currentColor; }
@media(max-width:768px) {
 #lightbox { padding:calc(72px + env(safe-area-inset-top)) 4% calc(112px + env(safe-area-inset-bottom)); }
 #lightbox .lb-prev,#lightbox .lb-next { top:auto; bottom:calc(20px + env(safe-area-inset-bottom)); transform:none; }
 #lightbox .lb-prev { left:calc(50% - 100px); }
 #lightbox .lb-next { right:calc(50% - 100px); }
 #lightbox .lb-count { bottom:calc(35px + env(safe-area-inset-bottom)); }
 #lightbox .lb-close { top:calc(16px + env(safe-area-inset-top)); right:16px; }
 #lightbox .lb-img { max-height:calc(100dvh - 320px); }
 #lightbox .lb-cap p { font-size:.83rem; line-height:1.6; }
}
.ec-service-detail > summary:focus-visible { outline-offset:-4px; }
/* Fixed-height imagery must not widen a narrow phone's layout viewport. */
@media(max-width:760px) {
 .ec-intro-visual { width:100%; height:clamp(150px,48vw,220px); min-height:0; max-height:none; aspect-ratio:auto; }
}
/* Keep protocol cards readable on narrow phones and table scrolling explicit. */
.hygiene-system-section .hygiene-card-label { color:#c0c6d1!important; }
@media(max-width:400px) {
 .hygiene-system-section .hygiene-grid { grid-template-columns:minmax(0,1fr)!important; gap:12px!important; }
 .hygiene-system-section .hygiene-card { min-width:0; padding:22px!important; }
}
[data-ec-service-page] .seo-table-scroll { max-width:100%; }
[data-ec-service-page] .seo-table-scroll:focus-visible { outline:2px solid #946325; outline-offset:3px; }

/* Customer commitments: an editorial panel in the modular hero's palette. */
#counter-section.ec-assurance { padding:58px 6% 68px; border:0; background:#f8f7f3; }
.ec-assurance__frame { max-width:1180px; margin:0 auto; display:grid; grid-template-columns:minmax(0,.94fr) minmax(0,1.2fr); grid-template-areas:"intro items" "terms terms"; border:1px solid #e2dfd6; border-radius:23px; overflow:hidden; background:#fff; }
.ec-assurance__intro { grid-area:intro; min-width:0; display:flex; flex-direction:column; align-items:flex-start; padding:44px 40px 34px; background:#0a1128; color:#fff; }
.ec-assurance__eyebrow { margin:0 0 25px; color:#d7b98f; font:600 .66rem/1.5 Inter,sans-serif; letter-spacing:1.8px; }
#counter-section.ec-assurance h2 { width:100%; margin:0; color:inherit; font:600 clamp(1.95rem,3.05vw,2.85rem)/1.15 Inter,sans-serif; letter-spacing:-.045em; text-align:left; }
.ec-assurance__lead { max-width:34ch; margin:24px 0 28px; font:400 .94rem/1.8 Inter,sans-serif; color:#c4ccd9; }
.ec-assurance__link { display:inline-flex; align-items:center; justify-content:space-between; gap:26px; min-height:48px; padding:12px 17px; background:#fff; border:1px solid #fff; border-radius:8px; font:600 .8rem/1.5 Inter,sans-serif; white-space:nowrap; text-decoration:none; color:#0a1128; transition:background .18s ease; }
.ec-assurance__link:hover { background:#eee9df; }
.ec-assurance svg { display:block; flex:none; width:21px; height:21px; }
.ec-assurance__signature { display:flex; align-items:center; gap:16px; margin-top:auto; padding-top:46px; }
.ec-assurance__signature > span { width:32px; height:2px; background:#c3a575; flex:none; }
.ec-assurance__signature p { margin:0; font:400 .73rem/1.75 Inter,sans-serif; color:#bec7d7; }
.ec-assurance__items { grid-area:items; min-width:0; padding:10px 34px; }
.ec-assurance__item { display:grid; grid-template-columns:38px minmax(0,1fr); gap:18px; padding:25px 0; border-bottom:1px solid #e9e5dd; }
.ec-assurance__item:last-child { border-bottom:0; }
.ec-assurance__icon { width:38px; height:38px; align-self:start; display:flex; align-items:center; justify-content:center; background:#f3efe7; color:#8a622d; border-radius:11px; }
.ec-assurance__icon svg { stroke:#8a622d; }
#counter-section.ec-assurance h3 { font:600 1.02rem/1.5 Inter,sans-serif; letter-spacing:-.02em; color:#0a1128; margin:0 0 7px; }
.ec-assurance__item p { font:400 .9rem/1.75 Inter,sans-serif; color:#536073; margin:0; }
.ec-assurance__terms { grid-area:terms; display:flex; align-items:center; justify-content:space-between; gap:24px; background:#eeeae1; padding:22px 32px; }
.ec-assurance__terms p { margin:0; font:400 .77rem/1.75 Inter,sans-serif; color:#536073; }
.ec-assurance__terms strong { display:block; font-weight:600; color:#263249; }
.ec-assurance__terms a { display:inline-flex; align-items:center; gap:12px; min-height:44px; padding:7px 0; font:600 .76rem/1.5 Inter,sans-serif; white-space:nowrap; text-decoration:underline; text-underline-offset:4px; color:#745223; }
.ec-assurance__terms a svg { width:17px; height:17px; }
.ec-assurance a:focus-visible { outline:3px solid #bc9253; outline-offset:5px; }
@media(max-width:1000px) and (min-width:761px) {
 .ec-assurance__intro { padding:32px 26px; }
 .ec-assurance__items { padding:8px 24px; }
 .ec-assurance__item { grid-template-columns:30px minmax(0,1fr); gap:13px; padding:21px 0; }
 .ec-assurance__icon { width:30px; height:34px; background:transparent; }
 #counter-section.ec-assurance h3 { font-size:.96rem; }
}
@media(max-width:760px) {
 #counter-section.ec-assurance { padding:34px 5% 42px; }
 .ec-assurance__frame { grid-template-columns:minmax(0,1fr); grid-template-areas:"intro" "items" "terms"; border-radius:19px; }
 .ec-assurance__intro { padding:30px 27px 29px; }
 .ec-assurance__eyebrow { margin-bottom:16px; }
 #counter-section.ec-assurance h2 { font-size:clamp(1.8rem,6.3vw,2.55rem); line-height:1.18; }
 .ec-assurance__lead { margin:19px 0 22px; font-size:.86rem; line-height:1.75; max-width:46ch; }
 .ec-assurance__signature { display:none; }
 .ec-assurance__items { padding:4px 25px; }
 .ec-assurance__item { padding:23px 0; gap:14px; grid-template-columns:32px minmax(0,1fr); }
 .ec-assurance__icon { width:32px; height:34px; border-radius:9px; }
 .ec-assurance__icon svg { width:20px; height:20px; }
 #counter-section.ec-assurance h3 { font-size:.96rem; }
 .ec-assurance__item p { font-size:.88rem; line-height:1.75; }
 .ec-assurance__terms { padding:21px 25px; gap:8px; align-items:flex-start; flex-direction:column; }
 .ec-assurance__terms p { font-size:.76rem; }
}
@media(max-width:359px) {
 .ec-assurance__intro { padding-left:21px; padding-right:21px; }
 .ec-assurance__items { padding-left:19px; padding-right:19px; }
 .ec-assurance__item { column-gap:11px; grid-template-columns:25px minmax(0,1fr); }
 .ec-assurance__icon { width:25px; background:transparent; }
 .ec-assurance__terms { padding-left:21px; padding-right:21px; }
}
@media(prefers-reduced-motion:reduce) { .ec-assurance__link { transition:none; } }

/* Give the following work examples a clear, compact transition. */
.ec-home-v3 #counter-section.ec-assurance + .hk-teaser { padding-top:40px; }
@media(max-width:760px) { .ec-home-v3 #counter-section.ec-assurance + .hk-teaser { padding-top:22px; } }

/* Smartphone refinement · 04.10.2026: comfortable controls and uninterrupted tasks. */
.ec-field-error { margin:8px 0 0; color:#8d3027; font:500 .875rem/1.55 Inter,sans-serif; text-transform:none; letter-spacing:0; }
.ec-field-error[hidden],.ec-share-fallback[hidden],#ec-remove-attachment[hidden] { display:none!important; }
[aria-invalid=true] { border-color:#a5483d!important; }
.ec-area-entry { flex-wrap:wrap; font-size:.875rem; }
.ec-area-entry > label { flex:1; text-transform:none; letter-spacing:0; line-height:1.5; }
.ec-area-entry > small,.ec-area-entry > .ec-field-error { flex-basis:100%; font-size:.8rem; white-space:normal; }
.ec-area-entry > small { color:#515c6e; }
#price-result-container.is-unavailable #price-target { display:none; }
#price-result-container.is-unavailable .calc-cta-btn { opacity:.6; cursor:not-allowed; }
.calc-teilen:disabled { opacity:.55; cursor:not-allowed; }
#price-result-container .ec-field-error { padding:16px; background:#fff4f2; border:1px solid #deb9b4; border-radius:10px; }
.ec-share-fallback { margin:18px 0 0; padding:16px; text-align:left; border:1px solid #c8c2b8; border-radius:10px; background:#faf9f6; color:#0a1128; }
.ec-share-fallback label { display:block; margin:0 0 8px; font-size:.9rem; }
.ec-share-fallback input { box-sizing:border-box; min-width:0; width:100%; min-height:48px; border:1px solid #7d8490; border-radius:6px; padding:10px; font:400 16px/1.4 Inter,sans-serif; background:#fff; color:#0a1128; }
.ec-share-fallback p { font-size:.85rem; margin:8px 0 0; }
.ec-text-button { min-height:44px; padding:8px 12px; border:1px solid #bdb8ae; border-radius:8px; background:#fff; color:#0a1128; font:500 .875rem/1.4 Inter,sans-serif; cursor:pointer; }
.eh-datei:focus-within { outline:3px solid #946325; outline-offset:4px; }
.eh-datei-name { overflow-wrap:anywhere; }
.ec-form-status a { display:inline-flex; align-items:center; min-height:44px; margin:5px 12px 0 0; color:inherit; text-decoration:underline; text-underline-offset:3px; }
.checkbox-row { flex-wrap:wrap; }
.checkbox-row > .ec-field-error { flex-basis:100%; }
.custom-toast { box-sizing:border-box; max-width:calc(100% - 32px); white-space:normal; overflow-wrap:break-word; }
#toast-message { min-width:0; }
#cookie-banner,.seo-cookie { max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px - env(safe-area-inset-top)); overflow-y:auto; overscroll-behavior:contain; }
html.ec-input-active :is(.ec-contactbar,.whatsapp-float,.concierge-trigger) { display:none!important; }
html.gx-menu-open :is(#cookie-banner,.seo-cookie) { visibility:hidden; }
@media(max-width:1180px) {
 #gx-head .gx-bar { padding-left:max(14px,env(safe-area-inset-left)); padding-right:max(14px,env(safe-area-inset-right)); }
 #gx-head .gx-nav { padding-left:max(22px,env(safe-area-inset-left)); padding-right:max(22px,env(safe-area-inset-right)); overscroll-behavior:contain; }
}
@media(max-width:760px) {
 .ec-foot-group li a { min-height:44px; padding:10px 0; }
 .seo-toc summary { min-height:44px; display:list-item; padding:9px 0; }
 .seo-toc a,.ec-reading-sidebar .seo-toc a { min-height:44px; padding:11px 0; font-size:.9rem; }
 .ec-intro-copy > p:not(.ec-intro-kicker),.ec-intro-aside ul,.ec-intro-aside ol,.ec-assurance__lead,.ec-assurance__item p { font-size:.9375rem; line-height:1.7; }
 .ec-assurance__terms p { font-size:.85rem; }
 .ec-contactbar .al-item { font-size:.75rem; }
 .ec-contactbar .al-primaer { font-size:.8rem; }
 nav.ec-contactbar { padding-left:max(10px,env(safe-area-inset-left))!important; padding-right:max(10px,env(safe-area-inset-right))!important; }
 #b2b-inquiry .ec-input-field,#application-form .ec-input-field { display:flex; flex-direction:column; gap:8px; min-width:0; }
 #b2b-inquiry .ec-input-field > label,#application-form .ec-input-field > label { position:static!important; order:-1; transform:none!important; padding:0!important; margin:0; font:500 .875rem/1.5 Inter,sans-serif!important; color:#344154!important; letter-spacing:0!important; text-transform:none!important; pointer-events:auto; }
 #b2b-inquiry .ec-input-field > :is(input,select,textarea),#application-form .ec-input-field > :is(input,select,textarea) { box-sizing:border-box; min-height:54px; height:auto; padding:14px!important; margin:0; width:100%; min-width:0; line-height:1.5; }
 #b2b-inquiry .ec-input-field > select,#application-form .ec-input-field > select { padding-right:34px!important; }
 #b2b-inquiry .ec-notes { padding-bottom:0; }
 #b2b-inquiry .ec-request-intro p,.ec-submit-reassurance,.ec-form-details > summary,#ec-notes-help { font-size:.9rem; line-height:1.65; }
 .checkbox-copy { flex:1; min-width:0; }
 .checkbox-copy label,.privacy-link { font-size:.875rem; line-height:1.6; }
 .privacy-link { display:inline-block; min-height:44px; padding:8px 0; }
 .billing-tab { min-height:52px; font:600 .875rem/1.4 Inter,sans-serif!important; letter-spacing:0!important; text-transform:none!important; border:0; padding:10px 9px; }
 .calc-matrix-pane { display:flex; flex-direction:column; }
 .calc-matrix-pane .result-box { order:-1; }
 .calc-group > label,.range-header > label { font-size:.9rem; line-height:1.5; text-transform:none; letter-spacing:0; }
 .calc-cta-btn { font-size:.95rem; line-height:1.5; padding:15px 14px; white-space:normal; }
 .calc-secondary-link,.calc-teilen { min-height:48px; font-size:.875rem; line-height:1.5; }
 .custom-toast { bottom:calc(92px + env(safe-area-inset-bottom)); font-size:.875rem; line-height:1.5; }
 html.ec-input-active .custom-toast { top:calc(76px + env(safe-area-inset-top)); bottom:auto; }
}
@media(max-height:500px) and (orientation:landscape) {
 #lightbox { padding:18px max(76px,env(safe-area-inset-right)) 42px max(76px,env(safe-area-inset-left)); overflow-y:auto; }
 #lightbox .lb-figure { margin:0 auto; max-width:100%; }
 #lightbox .lb-img { max-height:calc(100vh - 160px); max-height:calc(100dvh - 160px); }
 #lightbox .lb-cap { padding:10px 0 0; }
 #lightbox .lb-cap .gal-cat { display:none; }
 #lightbox .lb-cap h3 { font-size:1rem; margin:0 0 4px; }
 #lightbox .lb-cap p { font-size:.8rem; line-height:1.4; margin:0; }
 #lightbox .lb-prev,#lightbox .lb-next { top:calc(50% - 24px); bottom:auto; transform:none; }
 #lightbox .lb-prev { left:max(12px,env(safe-area-inset-left)); }
 #lightbox .lb-next { right:max(12px,env(safe-area-inset-right)); }
 #lightbox .lb-close { top:8px; right:max(12px,env(safe-area-inset-right)); }
 #lightbox .lb-count { bottom:10px; }
}
.billing-tab { appearance:none; border:0; background:transparent; font-family:Inter,sans-serif; }
@media(max-width:760px) {
 .tab-container { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-radius:14px; margin-bottom:26px; }
 .billing-tab { width:100%; min-width:0; white-space:normal; border-radius:10px; }
 .calc-matrix-pane .ai-advisor-box { margin:24px 0 0; }
}
.form-floating [aria-invalid=true],.career-form-group [aria-invalid=true],#space-number[aria-invalid=true] { border-color:#a5483d!important; }
#application-form input:focus-visible { outline:3px solid #946325; outline-offset:3px; }
@media(max-width:760px) {
 #application-form .career-form-group label { font-size:.875rem; line-height:1.5; letter-spacing:0; text-transform:none; }
 #application-form .career-form-group input { min-height:54px; }
 .checkbox-copy > label { display:block; min-height:44px; }
}
#lightbox .lb-prev,#lightbox .lb-next { margin-top:0; }
/* The calculator uses the same quiet surfaces as the hero and request form. */
.calculator-section { background:#faf9f6!important; background-image:none!important; }
.calc-container { box-shadow:none; border-color:#e5e3dc; }
.calc-matrix-pane { background:#efede6!important; }
.calc-matrix-pane::before { display:none; }
.range-header { gap:12px; }
.range-value { white-space:nowrap; flex-shrink:0; }
.calc-matrix-pane .ai-advisor-box { box-shadow:none; }
.concierge-send:disabled { opacity:.45; cursor:wait; }
@media(max-width:760px) {
 .calculator-section .tab-container { border-radius:14px!important; }
 .calculator-section .billing-tab { border-radius:10px!important; }
 .calculator-section .calc-cta-btn { font-size:.9375rem!important; letter-spacing:0!important; }
 .calculator-section .calc-teilen { text-transform:none; letter-spacing:0; border-radius:10px; }
 .calc-matrix-pane .ai-advisor-box { margin:24px 0 0!important; box-shadow:none!important; }
}
#b2b-inquiry #submitBtn,#application-form .career-submit-btn { letter-spacing:0!important; text-transform:none; }

/* Further mobile edge cases: large text, long content and recoverable image errors. */
.ec-assurance__link { max-width:100%; white-space:normal; gap:14px; }
.ec-thanks .contact a { min-height:44px; }
.ec-thanks .contact a span { min-width:0; overflow-wrap:anywhere; }
.ec-thanks .tl-lbl { min-width:0; }
#lightbox .lb-error { max-width:480px; padding:22px; background:#faf9f6; color:#0a1128; border-radius:14px; font:400 .95rem/1.6 Inter,sans-serif; text-align:center; }
#lightbox .lb-error p { margin:0 0 14px; }
#lightbox :is(.lb-error,.lb-img)[hidden] { display:none!important; }
.chat-bubble { overflow-wrap:anywhere; }
@media(max-width:1180px) {
 #gx-head .gx-nav a { overflow-wrap:anywhere; }
}
@media(max-width:760px) {
 .ec-hero__title span { white-space:normal; overflow-wrap:break-word; }
 .ec-hero__cta,.ec-intro-primary,.ec-intro-secondary,.ec-assurance__terms a { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
 .ec-hero__service { min-width:0; overflow-wrap:anywhere; }
 .ec-hero__portal h2,.ec-hero__portal p,.ec-hero__portal-link { overflow-wrap:anywhere; }
 .ec-hero__portal-link { flex-wrap:wrap; }
 .ec-hero__services ul { grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr)); }
 .seg-freq { flex-wrap:wrap; }
 .seg-freq .seg-btn { flex:1 1 4.4rem; min-width:0; white-space:normal; }
 #freq-seg .seg-btn { flex-basis:2.8rem; }
 #exp-seg .seg-btn { flex-basis:5.6rem; }
 .cookie-buttons,.seo-cookie-actions { flex-wrap:wrap; }
 #cookie-banner .cookie-btn,.seo-cookie-actions button { flex:1 1 8rem; min-height:48px; height:auto; white-space:normal; font-size:.8125rem!important; line-height:1.5; letter-spacing:0!important; }
 .ec-thanks .visual { height:120px; min-height:120px; }
 .ec-thanks .v-inner { padding:28px 24px; }
 .ec-thanks .v-cap { display:none; }
 .ec-thanks .panel { padding:32px 22px 40px; }
 .ec-thanks .badge { margin-bottom:20px; }
 .ec-thanks h1 { font-size:clamp(1.75rem,7vw,2.5rem); line-height:1.2; }
 .ec-thanks .lead { font-size:1rem; line-height:1.7; margin-bottom:30px; }
 .ec-thanks .btn { max-width:100%; white-space:normal; letter-spacing:0; }
}
.ec-hero__title span { white-space:normal; overflow-wrap:break-word; }
@media(min-width:701px) {
 .ec-hero__grid { height:auto; min-height:clamp(550px,44vw,646px); grid-template-rows:minmax(auto,1.2fr) minmax(auto,1fr); }
}
@media(max-width:760px) {
 .ec-contactbar .al-item span { min-width:0; max-width:100%; white-space:normal; overflow-wrap:anywhere; text-align:center; }
 body[data-ec-contactbar] { padding-bottom:var(--ec-contactbar-height,calc(82px + env(safe-area-inset-bottom))); }
 .custom-toast { bottom:calc(var(--ec-contactbar-height,calc(82px + env(safe-area-inset-bottom))) + 10px); }
 html.ec-input-active .custom-toast { bottom:auto; }
}
@media(max-width:700px) {
 .ec-hero__title { font-size:clamp(1.8rem,10vw,3.65rem); }
}
