:root{--heading:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif}
.hero h1,.section h2,.service-feature h3,.owner-statement,.owner-signature{font-family:var(--heading);font-weight:650;letter-spacing:-.02em;line-height:1.1}
.hero h1{font-size:clamp(3.5rem,6.5vw,6.15rem);max-width:780px;line-height:.98;text-wrap:balance}
.section h2{font-size:clamp(2.7rem,4.4vw,4.1rem);text-wrap:balance}.service-feature h3{font-size:2.5rem}.benefit-grid h3{font-family:var(--heading);font-size:2rem;line-height:1.15}
.section h2::after{content:'';display:block;width:74px;height:4px;background:linear-gradient(95deg,#60ae38,#1494bb);border-radius:100% 30%;margin-top:20px;transform:rotate(-3deg)}.centered-heading h2::after{margin-inline:auto}
.heading-reveal{animation:none;clip-path:none}
.hero-slides{position:absolute;inset:0;overflow:hidden}.hero-slides .hero-image{opacity:0;transition:opacity 1.4s ease;transform:scale(1.045);object-position:68% center}.hero-slides .hero-image.is-active{opacity:1;animation:cc-hero-drift 8s ease-out both}@keyframes cc-hero-drift{from{transform:scale(1.08)}to{transform:scale(1.015)}}
.hero-shade{background:linear-gradient(90deg,rgba(4,28,46,.91) 0%,rgba(4,28,46,.78) 38%,rgba(4,28,46,.14) 77%)}
.hero-controls{position:absolute;right:32px;bottom:55px;z-index:5;display:flex;align-items:center;gap:8px;color:#fff;background:#082c4580;backdrop-filter:blur(8px);padding:6px;border-radius:30px}.hero-controls button{border:0;color:inherit;background:transparent;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:20px}.hero-controls button:hover{background:#ffffff25}.hero-controls span{font-size:12px;letter-spacing:.1em;min-width:58px;text-align:center}.hero-controls button[aria-pressed=true]{background:#ffffff30}
.service-feature{overflow:hidden;transition:transform .25s,box-shadow .25s}.service-feature img{transition:transform .7s ease;object-position:center}.service-feature:hover{transform:translateY(-5px);box-shadow:0 20px 45px #07283b18}.service-feature:hover img{transform:scale(1.045)}.service-feature-body{position:relative;background:#fff;border-bottom:3px solid transparent;transition:border-color .3s}.service-feature:hover .service-feature-body{border-color:#60ae38}
.before-after-visual{background:#08273e;border-radius:22px;overflow:hidden}.service-film{width:100%;display:block;aspect-ratio:16/9;object-fit:contain}.film-toggle{display:block;margin-top:20px;border:1px solid #b9cfdc;background:#fff;padding:10px 16px;border-radius:12px;color:#164b70;font:inherit;font-size:14px;cursor:pointer}
.visit-checklist{max-width:820px;margin:0 auto 32px;text-align:center;color:#537085;font-size:17px;line-height:1.7}
.coverage-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.coverage-grid p{color:#506b7e;line-height:1.8}.coverage-visual{margin:0;padding:32px;background:linear-gradient(145deg,#edf5f8,#f9fbfc);border:1px solid #d9e7ed;border-radius:32px;text-align:center}.coverage-visual object{width:100%;height:440px;display:block}.coverage-visual figcaption{font-size:15px;font-weight:650;color:#143f5b;margin-top:16px}.coverage-visual small{font-size:12px;color:#6e8493}.coverage-visual a{text-decoration:underline}.coverage-legend{display:grid;gap:10px;margin:25px 0;font-size:14px;color:#34596e}.coverage-legend span{display:flex;align-items:center;gap:10px}.coverage-legend i{width:14px;height:14px;border-radius:4px;display:inline-block;flex-shrink:0}.legend-hessen{background:#1787a3}.legend-future{background:#d8e4ea}.coverage-detail{border-top:1px solid #cfdee6;padding-top:17px}.coverage-detail summary{cursor:pointer;font-weight:650;color:#075fa8}.coverage-detail p{font-size:15px}
.story-grid{grid-template-columns:.85fr 1.15fr;gap:65px;align-items:start}.story-grid h2{font-size:clamp(2.8rem,4vw,4rem)}.story-grid p{font-size:16px;line-height:1.8}.owner-work{margin:0;position:sticky;top:120px}.owner-work img{display:block;width:100%;max-height:650px;object-fit:cover;object-position:top;border-radius:24px}.owner-work figcaption{padding:16px 0;font-size:14px;color:#395f74}.story-grid .owner-statement{font-size:2.2rem;color:#075fa8;line-height:1.25;margin-block:25px}.owner-signoff{background:#eef5f7;padding-bottom:0!important;overflow:hidden}.owner-signoff-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}.owner-signoff-grid>div{padding-bottom:64px}.owner-signoff img{width:100%;max-height:600px;object-fit:cover;object-position:top;border-radius:90px 28px 0 0;align-self:end}.owner-signoff p{line-height:1.7;max-width:560px;color:#47687e}.owner-signoff .owner-signature{font-size:3.1rem;line-height:1.1;color:#075fa8;margin:28px 0 8px}.owner-signoff .owner-role{font-size:14px;margin:0 0 28px}
.faq-section{background:#f5f8fa}.faq-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px}.faq-list details{border-bottom:1px solid #d4e1e9;padding:20px 0}.faq-list details:first-child{padding-top:0}.faq-list summary{cursor:pointer;font-size:18px;font-weight:650;line-height:1.5;color:#163f59}.faq-list p{font-size:16px;line-height:1.75;color:#547080;margin-bottom:0}
.assistant-launch{border-radius:22px;padding:7px 19px 7px 7px}.assistant-launch>img{width:74px;height:74px;object-fit:cover;border-radius:17px;animation:cc-greet 1s ease-out 1}.assistant-launch:hover>img{transform:rotate(-4deg);transition:transform .3s}.assistant-launch small{color:#46712d}.assistant-context{background:#eff6f8;padding:12px;border-radius:12px;display:grid;gap:8px}.assistant-context p{font-size:14px;line-height:1.5;margin:0;color:#385c73}.assistant-context label{display:grid;gap:5px;font-size:14px;color:#1b435b}.assistant-panel{bottom:125px}.assistant-head strong{font-size:15px}.assistant-head span{font-size:12px}.assistant-body input,.assistant-body textarea,.assistant-body select{font-size:16px}.assistant-body #assistant-submit{font-size:15px}.cc-preview-result dl{margin-bottom:0}.cc-preview-result dt{font-weight:650;margin-top:9px}.cc-preview-result dd{margin:2px 0 0}.cc-preview-result button{margin-top:14px;padding:8px 15px;border:1px solid #bad0dd;border-radius:8px;background:#fff;color:#174a69;font:inherit;cursor:pointer}
@keyframes cc-greet{0%,100%{transform:rotate(0)}35%{transform:rotate(-6deg)}65%{transform:rotate(4deg)}}
@media(max-width:1050px){.coverage-grid,.faq-layout{gap:35px}.story-grid{gap:35px}.hero h1{max-width:690px}.coverage-visual{padding:18px}.owner-signoff-grid{gap:35px}}
@media(max-width:820px){.coverage-grid,.story-grid,.faq-layout{grid-template-columns:1fr}.coverage-visual{max-width:580px;width:100%;margin-inline:auto}.coverage-visual object{height:390px}.owner-work{position:static;max-width:400px;margin-inline:auto}.hero-shade{background:linear-gradient(0deg,#061e34f5 0%,#08283ed9 40%,#08283e18 100%)}.hero-controls{top:18px;bottom:auto;right:16px}.owner-signoff-grid{grid-template-columns:1fr 1fr}.owner-signoff h2{font-size:2.8rem}.story-grid p{font-size:16px}.hero-slides .hero-image{object-position:65% top}}
@media(max-width:560px){.hero h1{font-size:3.55rem;line-height:.98}.hero-content{padding-top:260px}.hero{min-height:800px}.section h2{font-size:2.85rem}.service-feature h3{font-size:2.5rem}.hero-image-note{font-size:11px}.hero-controls{padding:3px}.hero-controls button{width:34px;height:34px}.coverage-visual object{height:350px}.owner-signoff-grid{grid-template-columns:1fr}.owner-signoff-grid>div{padding-bottom:0}.owner-signoff img{max-width:380px;margin:auto}.owner-signoff .owner-signature{font-size:2.8rem}.assistant-launch{bottom:104px;right:12px;padding:4px;border-radius:19px}.assistant-launch>img{width:66px;height:66px;border-radius:15px}.assistant-launch span{display:none}.assistant-panel{bottom:182px;max-height:calc(100dvh - 198px)}.faq-list summary{font-size:17px}.story-grid .owner-statement{font-size:2rem}.coverage-grid{gap:25px}.hero-proof{max-width:100%}}
@media(prefers-reduced-motion:reduce){.hero-slides .hero-image,.heading-reveal,.assistant-launch>img{animation:none!important}.hero-slides .hero-image{transform:none}.service-feature,.service-feature img{transition:none}}
.detail-page .hero{min-height:520px;padding-block:85px}.detail-page .hero-inner{position:relative;z-index:2}.detail-page .hero h1{font-size:clamp(3.4rem,6vw,5.8rem)}.detail-page .hero .hero-copy{font-family:inherit;font-size:17px}.detail-page .hero-actions{flex-wrap:wrap}.detail-page .header{display:none}.detail-page .hero-panel{max-width:380px}.detail-page .intro h2,.detail-page .eco-section h2{font-family:var(--heading);font-size:clamp(2.6rem,4vw,3.8rem);line-height:1.12}.detail-page main>h1{font-family:var(--heading);font-size:3rem}.detail-page .owner-signoff h2{font-size:clamp(2.7rem,4.4vw,4.1rem)}
@media(max-width:820px){.detail-page .hero{min-height:480px;padding-block:55px}.detail-page .hero-inner{display:block}.detail-page .hero-panel{margin-top:28px}.detail-page .hero .hero-copy{font-size:16px}}
.detail-page .hero{background-image:var(--hero);background-size:cover;background-position:center}.story-grid h1{font-family:var(--heading);font-size:clamp(2.8rem,4vw,4rem);font-weight:650;line-height:1.1;letter-spacing:-.02em;margin-top:0}

/* Professional upright type throughout; responsive sizing for the broader letterforms. */
.hero h1,.detail-page .hero h1{font-size:clamp(2.45rem,4.8vw,4.1rem);line-height:1.1;font-weight:750}
.section h2,.story-grid h1,.story-grid h2,.owner-signoff h2,.detail-page .owner-signoff h2,.detail-page .intro h2,.detail-page .eco-section h2{font-size:clamp(1.95rem,3.3vw,2.8rem);line-height:1.18;font-weight:750}
.service-feature h3{font-size:1.85rem;line-height:1.2}.benefit-grid h3{font-size:1.35rem;line-height:1.3}
.story-grid .owner-statement{font-size:1.5rem;line-height:1.4}.owner-signoff .owner-signature{font-size:2rem;line-height:1.25}
@media(max-width:560px){.hero h1,.detail-page .hero h1{font-size:2.25rem;line-height:1.12}.section h2,.story-grid h1,.owner-signoff h2,.detail-page .owner-signoff h2{font-size:1.95rem}.owner-signoff .owner-signature{font-size:1.8rem}}
.assistant-panel{width:min(420px,calc(100% - 24px));max-height:calc(100dvh - 145px)}
.assistant-flow-progress{font-size:13px;color:#5d7282;letter-spacing:.03em}.assistant-flow-question{padding:15px 16px;border-radius:3px 16px 16px;background:#edf5fa;color:#133d59;font-size:18px;font-weight:700;line-height:1.45;margin:8px 0 16px;outline:none}
.assistant-flow-answer{margin:0 0 10px auto;max-width:90%;padding:10px 13px;background:#edf6e7;border-radius:14px 3px 14px 14px;font-size:14px;color:#345a2b;overflow-wrap:anywhere}
.assistant-flow-fields{display:grid;gap:12px}.assistant-flow-fields label{display:grid;gap:5px;font-size:14px;color:#294b60}.assistant-flow-choices{display:grid;gap:9px}.assistant-flow-choice{text-align:left;background:#fff;color:#154c70;border:1px solid #b8cedc;border-radius:11px;padding:13px;font-weight:650;cursor:pointer}.assistant-flow-choice:hover,.assistant-flow-choice:focus-visible{background:#eef7fd;border-color:#0871ba}.assistant-flow-choice[aria-pressed=true]{background:#e9f4e3;border-color:#68a947}
.assistant-flow-actions{display:flex;gap:10px;margin-top:16px}.assistant-flow-actions button{border-radius:10px;padding:11px 15px;cursor:pointer;font-size:15px;font-weight:650}.assistant-flow-next{background:#086bad;border:1px solid #086bad;color:white;flex:1}.assistant-flow-back{background:white;border:1px solid #c5d7e3;color:#31586e}.assistant-flow-summary{display:grid;gap:0;margin:0}.assistant-flow-summary dt{font-size:13px;font-weight:700;color:#537086;margin-top:13px}.assistant-flow-summary dd{font-size:15px;margin:3px 0;white-space:pre-line;overflow-wrap:anywhere}.assistant-flow-note{font-size:13px;line-height:1.5;color:#526e81;display:block}.assistant-flow-error{color:#a32d22;font-size:14px}.assistant-flow-review{background:#f0f7ec;padding:12px;border-radius:10px;font-size:14px;line-height:1.5}
@media(max-width:560px){.assistant-panel{bottom:82px;right:10px;max-height:calc(100dvh - 100px);width:calc(100% - 20px)}.assistant-flow-question{font-size:17px}.assistant-head{padding:10px}.assistant-body{padding:14px}}
.enquiry-status{grid-column:1/-1;padding:14px 16px;border-radius:12px;background:#edf4fb;color:#15324f;font-size:15px;line-height:1.55;overflow-wrap:anywhere}
.enquiry-status[data-state="error"]{background:#fff1ed;color:#8a3023;border:1px solid #edc7bd}
.enquiry-status[data-state="success"]{background:#eaf5ec;color:#245533;border:1px solid #bddac4}
.map-privacy-note{font-size:14px;line-height:1.55}
