/* Poolbau editorial refinement: existing Archivo, navy and cyan identity. */
.pb-intro .pb-inner{max-width:1170px}
.pb-intro-layout{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.pp-subpage .pb-intro h2{font-size:clamp(30px,3.2vw,44px);letter-spacing:-.03em;margin-bottom:24px}
.pb-intro-copy p{font-size:16px;line-height:1.8;color:#33415c}
.pb-intro-project{margin:0;min-width:0}
.pb-intro-project img{display:block;width:100%;aspect-ratio:1.12;object-fit:cover;object-position:55% center;border-radius:16px}
.pb-intro-project figcaption{font-size:13px;line-height:1.6;color:#42586b;margin-top:14px}
.pb-intro .pb-byline{margin-top:40px}
.pp-subpage .pb-sheet{padding-top:80px;padding-bottom:96px}
.pp-subpage .pb-sheet .text>p{max-width:70ch;font-size:17px;line-height:1.8}
.pp-subpage .pb-sheet h2{letter-spacing:-.03em}
#vergleich,#selberbauen,#kosten,#team,#faq{scroll-margin-top:160px!important}
.pp-subpage .pb-anker{top:80px;z-index:90;padding-top:8px;padding-bottom:8px;scrollbar-width:thin;mask-image:none;-webkit-mask-image:none}
.pp-subpage .pb-anker a{min-height:44px;border-radius:6px;font-size:14px}
.pp-subpage .pb-anker a.ist-aktiv{background:#0a1f45;color:white}
.pp-subpage .bv-chips{gap:10px;margin:30px 0 24px}
.pp-subpage .bv-chip{border-radius:8px;font-size:14px;padding:12px 17px}
.pp-subpage .bv-karten{gap:20px}
.pp-subpage .bv-karte{padding:28px;min-height:185px;border:1px solid #cfdee7;border-radius:12px;box-shadow:none;background:#fff}
.pp-subpage .bv-karte h3{font-size:23px;letter-spacing:-.02em;margin:0 0 16px;line-height:1.25}
.pp-subpage .bv-linie{display:none}
.pp-subpage .bv-wert{font-size:16px;line-height:1.7;color:#33415c}
.pp-subpage .bv-wert.bv-an{animation:none}
.pp-subpage .bv-widget details summary{padding:18px 0;min-height:48px}
.pb-budget{margin:32px 0;padding:36px;background:#0a1f45;color:#fff;border-radius:16px}
.pp-subpage .pb-budget h3{font-size:30px;color:#fff;margin:0 0 12px;letter-spacing:-.02em}
.pb-budget>p{color:#d2e4ef;font-size:16px;line-height:1.7;margin:0}
.pb-budget-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:30px 0}
.pb-budget-grid div{border-top:1px solid #7ab6ce70;padding-top:20px}
.pb-budget-grid dt{font-size:18px;font-weight:600;color:#fff;margin-bottom:8px}
.pb-budget-grid dd{color:#d2e4ef;font-size:15px;line-height:1.6;margin:0}
.pb-budget .pb-budget-note{font-size:14px;max-width:72ch}
.pb-table-scroll{border:1px solid #d8e3ea;border-radius:12px;scrollbar-color:#0e7490 #e6eff4;scrollbar-width:thin}
.pb-table-scroll table{font-variant-numeric:tabular-nums}
.pb-table-scroll th,.pb-table-scroll td{line-height:1.6}
.pb-table-hint{display:none;font-size:13px;color:#42586b;margin:20px 0 0}
.pp-subpage .analysis-cta-box{padding:40px;background:#e8f4f8;border:1px solid #c8e3ec;border-radius:16px;box-shadow:none}
.pp-subpage .analysis-cta-box h3{font-size:32px;letter-spacing:-.025em;margin-bottom:14px}
.pp-subpage .analysis-cta-box p{max-width:68ch;font-size:17px;line-height:1.7;margin-bottom:24px}
.pp-subpage .team-tafel{padding:36px;gap:24px 36px}
.pp-subpage .tt-marker::after{animation:none;display:none}
.pp-subpage .tt-bio p{font-size:16px;line-height:1.75;color:#d2e4ef}
.pp-subpage .pb-faq{margin-top:80px!important}
.pp-subpage .pb-faq summary{font-size:19px;line-height:1.5;padding:22px 32px 22px 0;min-height:54px}
.pp-subpage .pb-faq details[open]{padding-bottom:20px}
.pp-subpage .pb-faq details p{max-width:72ch;font-size:16px;line-height:1.8}
.pb-sheet :is(a,button,summary,[tabindex]):focus-visible{outline:3px solid #0e7490;outline-offset:4px}
.pb-sheet a{text-underline-offset:4px}
.pb-sheet ::selection{background:#b7ecf7;color:#091b30}
@media(max-width:900px){.pb-intro-layout{grid-template-columns:1fr;gap:28px}.pb-intro-project img{aspect-ratio:16/9}.pb-budget-grid{gap:16px}.pp-subpage .team-tafel{grid-template-columns:1fr}.tt-foto{max-width:480px;margin:auto}}
@media(max-width:600px){.pp-subpage .pb-sheet{padding:56px 20px 72px}.pp-subpage .pb-sheet h2{font-size:32px}.pp-subpage .pb-sheet .text>p{font-size:16px;line-height:1.75}.pp-subpage .pb-anker{top:80px;padding-left:12px;padding-right:12px;gap:4px}.pp-subpage .pb-anker a{font-size:13px;padding:12px}.pp-subpage .bv-chips{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pp-subpage .bv-chip{font-size:13px;padding:11px;justify-content:flex-start}.pp-subpage .bv-karte{padding:22px;min-height:0}.pp-subpage .bv-karte h3{font-size:21px}.pb-budget{padding:24px}.pb-budget-grid{grid-template-columns:1fr;gap:20px}.pp-subpage .pb-budget h3{font-size:26px}.pb-table-hint{display:block}.pp-subpage .analysis-cta-box{padding:26px}.pp-subpage .analysis-cta-box h3{font-size:27px}.pp-subpage .analysis-cta-box .pp-btn{font-size:14px;padding:14px;gap:10px}.pp-subpage .team-tafel{padding:22px}.pp-subpage .pb-faq summary{font-size:17px}}
@media(prefers-reduced-motion:reduce){.pb-sheet *{animation:none!important;transition:none!important}}

.pb-region{margin-top:80px;padding-top:48px;border-top:1px solid #ccdce5}.pb-region>p{max-width:72ch;font-size:17px;line-height:1.8;color:#33415c}.pb-region-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 40px;margin:30px 0}.pb-region-grid dt{font-size:18px;font-weight:600;color:#0a1f45;margin-bottom:8px}.pb-region-grid dd{font-size:16px;line-height:1.7;color:#33415c;margin:0}.pb-region a{color:#0e7490;text-decoration:underline}.pb-updated{font-size:13px;color:#42586b;margin:30px 0 0}@media(max-width:600px){.pb-region-grid{grid-template-columns:1fr;gap:22px}.pb-region>p{font-size:16px}}
