

:root{--pink:#b20a75;--ink:#292b32;--muted:#4b5261;--gray:#dce2eb;--line:#c8d0dd;--max:1220px}
body{background:#fff;color:var(--ink)}
.sa-hero{position:relative;min-height:390px;background:#a9b8d2;overflow:hidden}
.sa-hero picture,.sa-hero picture img{display:block;width:100%;height:auto}
.sa-hero picture img{aspect-ratio:2.56/1;object-fit:contain;object-position:center}
.sa-hero .sa-hero-copy{position:absolute;z-index:1;top:50%;transform:translateY(-50%);left:max(4%,calc((100vw - 1220px)/2));max-width:min(41vw,565px);color:#29303c}
.sa-hero h1{font-size:clamp(42px,5vw,72px);margin-bottom:15px;line-height:1.08}
.sa-hero .hero-lead{font-size:clamp(17px,1.35vw,20px);line-height:1.52;max-width:510px;margin-bottom:0}
.sa-hero .eyebrow{margin-bottom:12px}
.sa-section{padding:75px 0}.sa-section.soft{background:var(--gray)}
.sa-eyebrow,.sa-section .eyebrow{font-size:16px!important;letter-spacing:.24em!important;text-transform:uppercase!important;color:#4e515a!important;font-weight:600!important;margin-bottom:12px!important}
.sa-section h2{font-size:clamp(34px,3.5vw,50px);margin-bottom:16px}
.sa-intro{text-align:center;max-width:780px;margin:0 auto 34px}.sa-intro p{color:var(--muted);margin:0}
.sa-carousel{position:relative;padding:0 35px}
.sa-carousel-window{overflow:hidden}
.sa-carousel-track{display:flex;gap:14px;transition:transform .35s ease;will-change:transform}
.sa-slide{flex:0 0 calc((100% - 56px)/5);min-width:0;margin:0}
.sa-slide img{display:block;width:100%;height:auto;object-fit:contain;object-position:center}
.sa-slide figcaption{text-align:center;font-size:13px;letter-spacing:.09em;text-transform:uppercase;color:#4b5261;padding:11px 3px 0;font-weight:600}
.sa-arrow{position:absolute;top:43%;transform:translateY(-50%);border:0;border-radius:50%;background:#f2dce6;color:#414755;width:52px;height:52px;font-size:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1;box-shadow:0 2px 9px #0001}
.sa-arrow:hover,.sa-arrow:focus-visible{background:#e9bfd3;outline:2px solid var(--pink);outline-offset:2px}
.sa-arrow.prev{left:0}.sa-arrow.next{right:0}
.sa-carousel-status{text-align:center;margin:18px 0 0;font-size:14px;color:var(--muted)}
.sa-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:30px}
.sa-detail{background:white;padding:0 0 18px}.sa-detail img{width:100%;height:235px;object-fit:contain;background:#cbd4e1}.sa-detail h3{font-size:22px;margin:18px 18px 8px}.sa-detail p{font-size:16px;line-height:1.5;margin:0 18px;color:var(--muted)}
.sa-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:55px;align-items:center}
.sa-split img{display:block;width:100%;max-height:530px;object-fit:contain;background:#dce2eb}
.sa-split p{max-width:530px}.sa-heart{width:46px;height:46px;vertical-align:middle;margin-left:8px}
.sa-contact{background:#fff;text-align:center}.sa-contact p{max-width:680px;margin:0 auto 15px;color:var(--muted)}
.sa-contact .button{margin-top:20px}
@media(max-width:1100px){.sa-hero{min-height:0}.sa-hero .sa-hero-copy{max-width:43vw;left:3.5%}.sa-hero h1{font-size:clamp(36px,4.7vw,57px)}.sa-hero .hero-lead{font-size:16px}.sa-slide{flex-basis:calc((100% - 28px)/3)}.sa-slide img{height:auto}}
@media(max-width:700px){.sa-hero{display:flex;flex-direction:column}.sa-hero picture img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}.sa-hero .sa-hero-copy{position:static;transform:none;max-width:none;padding:28px 22px 34px;background:#a9b8d2}.sa-hero h1{font-size:41px}.sa-hero .hero-lead{font-size:17px}.sa-section{padding:55px 0}.sa-carousel{padding:0 22px}.sa-slide{flex-basis:calc((100% - 14px)/2)}.sa-slide img{height:auto}.sa-arrow{width:40px;height:40px;font-size:25px}.sa-detail-grid{grid-template-columns:1fr;gap:16px}.sa-detail img{height:270px}.sa-split{grid-template-columns:1fr;gap:24px}}
@media(max-width:440px){.sa-slide{flex-basis:100%}.sa-slide img{height:auto}.sa-hero h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){.sa-carousel-track{transition:none}}


/* V18: gleiche Desktop-Bannerhöhe wie die freigegebene Startseite. */
.sa-hero{min-height:0!important;background:#afbdd6!important}
.sa-hero picture{display:block;width:82%;margin-left:auto}
.sa-hero picture img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.sa-hero .sa-hero-copy{left:max(3%,calc((100vw - 1350px)/2));max-width:min(32vw,470px)}
.sa-hero h1{font-size:clamp(27px,3.05vw,52px);line-height:1.12;margin-bottom:18px}
.sa-hero .hero-lead{font-size:clamp(15px,1.15vw,18px);line-height:1.45}
.sa-slide figcaption{display:none!important}
@media(max-width:850px){
 .sa-hero{display:flex;flex-direction:column}
 .sa-hero picture{width:100%;margin-left:0}
 .sa-hero .sa-hero-copy{position:static;transform:none;max-width:none;padding:26px max(18px,5vw) 35px;background:#dce2eb}
 .sa-hero h1{font-size:clamp(31px,5vw,43px)}
 .sa-hero .hero-lead{font-size:17px}
}

/* V20: Referenzen Weiß, Ablauf Grau, Kontakt Weiß. */
.sa-section[aria-labelledby="referenzen"]{background:#fff!important}
.steps-v12.section{background:#dce2eb!important;padding:70px 0}
.sa-contact.sa-section.soft{background:#fff!important}
/* Einheitliche Ablaufgrafiken auf beiden Layouts, unveränderte freigegebene Bilder. */
.process-icon{background:transparent!important;width:110px;height:110px;overflow:visible}
.process-icon img{width:100%;height:100%;display:block;object-fit:contain}
@media(max-width:600px){.process-icon{width:92px;height:92px}}


/* V21: Wiederherstellung des freigegebenen Ablauf-Layouts nach Verschiebung auf die Unterseite. */
.steps-v12 .center-head{text-align:center;max-width:900px;margin:0 auto 40px}
.steps-v12 .kicker{font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.4;letter-spacing:.24em;text-transform:uppercase;color:#4e515a;font-weight:600;margin-bottom:12px}
.steps-v12 .center-head h2{font-size:clamp(28px,3vw,43px);font-weight:400;letter-spacing:.14em;line-height:1.3;margin-bottom:18px}
.steps-v12 .pink-line{width:45px;height:2px;background:#b20a75;margin:0 auto 18px}
.steps-v12 .steps-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;position:relative}
.steps-v12 .process-step{text-align:center;position:relative;padding:0 8px;min-width:0}
.steps-v12 .process-icon{box-sizing:border-box;width:110px;height:110px;background:#fff!important;border:3px solid var(--pink);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;overflow:visible;box-shadow:none}
.steps-v12 .process-icon img{width:100%;height:100%;object-fit:contain;display:block;filter:url(#process-symbol-ink);transform-origin:center}
.steps-v12 .process-step:not(:last-child)::after{content:"";position:absolute;top:53px;left:calc(50% + 66px);width:calc(100% - 90px);height:2px;background:repeating-linear-gradient(90deg,#d67ba7 0 4px,transparent 4px 10px);pointer-events:none}
.steps-v12 .process-step:not(:last-child)::before{content:"";position:absolute;top:49px;right:-13px;width:7px;height:7px;border-top:2px solid #b20a75;border-right:2px solid #b20a75;transform:rotate(45deg);pointer-events:none}
.steps-v12 .process-number{font-size:24px;line-height:1.3;color:#51515b;margin-bottom:6px}
.steps-v12 .process-step h3{font-size:16px;letter-spacing:.03em;font-weight:700;line-height:1.4;margin-bottom:8px}
.steps-v12 .process-step p{font-size:16px;line-height:1.5;color:#555c68;margin:0}
.steps-v12 .center-action{text-align:center;margin-top:28px}
.steps-v12 .button-soft{background:#b20a75;color:white;font-size:14px;letter-spacing:.1em;text-transform:uppercase;padding:14px 28px}
.steps-v12 .button-soft:hover{background:#8c085c;color:white}
@media(max-width:1100px){.steps-v12 .process-step:not(:last-child)::before,.steps-v12 .process-step:not(:last-child)::after{display:none}}
@media(max-width:850px){.steps-v12 .steps-timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}}
@media(max-width:520px){.steps-v12 .steps-timeline{grid-template-columns:1fr;gap:28px}.steps-v12 .process-step{max-width:340px;margin:auto}.steps-v12 .center-head h2{letter-spacing:.06em}.steps-v12 .process-icon{width:92px;height:92px}}


/* V22: Preisrechner – Sportakrobatik */
.price-section{background:#fff;padding:78px 0 88px}.price-head{text-align:center;max-width:760px;margin:0 auto 38px}.price-head .kicker{font-size:15px;letter-spacing:.22em;text-transform:uppercase;color:#565b67;font-weight:600}.price-head h2{font-size:clamp(30px,3.2vw,44px);letter-spacing:.025em;margin:10px 0 14px}.price-underline{width:48px;height:3px;background:#b20a75;margin:0 auto 20px}.price-head p{color:#515866;font-size:17px}.price-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.85fr);gap:32px;align-items:start}.price-config{border:1px solid #dce0e8;border-radius:5px;padding:32px;background:#fff}.price-field{border:0;border-bottom:1px solid #e2e4ea;margin:0 0 26px;padding:0 0 26px;min-width:0}.price-field:last-of-type{border-bottom:0;margin-bottom:0;padding-bottom:0}.price-field legend{font-size:20px;font-weight:700;color:#303440;padding:0;margin-bottom:13px}.price-option{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border:1px solid transparent;border-radius:4px;cursor:pointer;margin:3px -12px}.price-option:hover{background:#f8f3f7}.price-option:has(input:checked){border-color:#d9a8c5;background:#fbf4f8}.price-option input{accent-color:#b20a75;margin:5px 0 0;width:18px;height:18px;flex:none}.price-option-content{display:block;flex:1}.price-option-title{display:flex;gap:10px;justify-content:space-between;align-items:baseline;font-size:16px;line-height:1.45}.price-option-title strong{font-weight:600}.price-option-cost{white-space:nowrap;color:#8f0b61;font-weight:700}.price-option-desc{display:block;color:#58606b;font-size:14px;line-height:1.55;margin-top:4px;max-width:540px}.price-result{background:#e7eaf2;padding:28px;border-radius:4px;position:sticky;top:18px}.price-result h3{font-size:24px;margin:0 0 8px}.price-total-label{font-size:15px;color:#535a66;margin-top:24px}.price-total{font-size:clamp(36px,4vw,50px);font-weight:600;line-height:1.2;color:#b20a75;margin:4px 0 14px}.price-breakdown{padding:0;margin:18px 0 0;list-style:none;border-top:1px solid #cfd4de}.price-breakdown li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #d6dae3;font-size:14px;line-height:1.45}.price-breakdown li span:last-child{white-space:nowrap;font-weight:600}.price-disclaimer{font-size:13px;line-height:1.5;color:#505866;margin:16px 0}.price-result .button{width:100%;text-align:center;margin-top:8px;font-size:15px}.price-hint{font-size:13px;color:#5b606b;margin-top:12px}.price-result button{width:100%}.price-copy-status{font-size:13px;color:#7e155b;min-height:20px;margin-top:6px}
@media(max-width:850px){.price-layout{grid-template-columns:1fr}.price-result{position:static}.price-config{padding:22px}}@media(max-width:520px){.price-section{padding:55px 0}.price-config{padding:16px}.price-option-title{font-size:15px}.price-option{padding:9px 6px;margin:3px -6px}.price-result{padding:22px}}

.sa-contact.soft{background:#dce2eb!important}
/* V25: Maßblatt-Download */.measure-section{background:#dce2eb;padding:84px 0}.measure-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(230px,.75fr);align-items:center;gap:clamp(28px,5vw,75px)}.measure-content h2{margin:10px 0 23px}.measure-content p{max-width:570px;line-height:1.75}.measure-download{display:inline-flex;margin-top:16px;text-decoration:none}.measure-meta{font-size:13px;color:#666e7a;margin-top:12px}.measure-preview{display:block;max-width:315px;justify-self:center;border:1px solid #e9e3e7;border-radius:5px;background:#fff;box-shadow:0 12px 34px rgba(50,45,60,.12);padding:8px;transition:transform .2s}.measure-preview:hover{transform:translateY(-3px)}.measure-preview img{display:block;width:100%;height:auto}@media(max-width:720px){.measure-section{padding:55px 0}.measure-grid{grid-template-columns:1fr}.measure-preview{max-width:230px}}

/* Original-WebP-Symbole: Rosa wird nur bei der Darstellung ausgeblendet.
   Motivbezogene Ausrichtung gleicht die eingebauten Bildraender aus. */
.steps-v12 .process-icon-filter{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.steps-v12 .process-step:nth-child(1) .process-icon img{transform:translate(-2.69%,-4.62%)}
.steps-v12 .process-step:nth-child(2) .process-icon img{transform:translate(-4.60%,-2.3%) scale(1.14)}
.steps-v12 .process-step:nth-child(3) .process-icon img{transform:translate(-7.54%,-2.24%) scale(1.06)}
.steps-v12 .process-step:nth-child(4) .process-icon img{transform:translate(-12.27%,-4.23%) scale(1.10)}
