/* Rabattsystem24 · shared site styles. No theme or CMS runtime is required. */
:root{--pink:#ff0066;--pink-dark:#bf004c;--ink:#1c1021;--text:#27202c;--muted:#665c6d;--line:#e6dfe9;--soft:#faf7fb;--header:92px;--radius:8px;color-scheme:light;scroll-behavior:smooth;font-synthesis:none;font-family:Poppins,"Segoe UI",Arial,sans-serif;font-size:16px}
*{box-sizing:border-box}html{scroll-padding-top:calc(var(--header) + 24px)}body{margin:0;color:var(--text);background:#fff;line-height:1.75}body.menu-open{overflow:hidden}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3{font-family:Raleway,"Segoe UI",Arial,sans-serif;line-height:1.2;margin:0 0 24px;letter-spacing:-.03em}h1{font-weight:800}h2{font-size:clamp(32px,4vw,54px);font-weight:800}h3{font-size:26px;font-weight:700;letter-spacing:-.02em}p{margin:0 0 22px}p:last-child{margin-bottom:0}figure,blockquote{margin:0}button{border:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--pink);outline-offset:5px}main:focus{outline:none}[hidden]{display:none!important}.shell{max-width:1240px;width:calc(100% - 64px);margin-inline:auto}.section{padding:104px 0}.center{text-align:center}.section-heading{max-width:640px}.section-heading.center{margin:0 auto 54px}.section-heading p:not(.eyebrow){color:var(--muted)}.eyebrow{font-size:14px;color:var(--pink-dark);font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin:0 0 16px}.text-link{display:inline-flex;align-items:center;gap:18px;font-weight:700;text-decoration:none;color:var(--pink-dark)}.text-link span{transition:transform .2s}.text-link:hover span{transform:translateX(5px)}.muted{color:var(--muted)}.r24-button,.r24-hero__button{display:inline-flex;align-items:center;justify-content:center;background:var(--pink);color:white;text-decoration:none;font-size:16px;font-weight:700;line-height:1.5;padding:19px 35px;border-radius:4px;min-height:56px;border:1px solid transparent;transition:background .18s,transform .18s}.r24-button:hover,.r24-hero__button:hover{background:var(--pink-dark);transform:translateY(-1px)}.r24-button:disabled{cursor:not-allowed;opacity:.65;transform:none}.skip-link{position:fixed;left:12px;top:-120px;background:#fff;color:var(--ink);padding:14px;z-index:500}.skip-link:focus{top:10px}
/* One header with a text-only wordmark, shared by every page. */
.r24-header{position:fixed;inset:0 0 auto;z-index:200;min-height:var(--header);transition:background .2s,box-shadow .2s;color:#fff}.r24-header__inner{max-width:1360px;margin:auto;width:calc(100% - 64px);min-height:var(--header);display:flex;align-items:center;justify-content:space-between;gap:24px}.r24-brand{display:inline-flex;align-items:center;flex:0 1 auto;min-width:0;min-height:48px;color:inherit;text-decoration:none;white-space:nowrap}.r24-brand__text{display:block;font-family:Raleway,"Segoe UI",Arial,sans-serif;font-size:28px;font-weight:800;letter-spacing:-.035em;line-height:1.15}.r24-navigation{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:600;line-height:1.5}.r24-navigation a{position:relative;text-decoration:none;padding:16px 0;white-space:nowrap}.r24-navigation a::after{content:"";position:absolute;height:2px;background:var(--pink);inset:auto 0 6px;transform:scaleX(0);transition:transform .2s}.r24-navigation a:hover::after,.r24-navigation a[aria-current]::after{transform:scaleX(1)}.r24-header--internal,.r24-header.is-scrolled,.menu-open .r24-header{background:#fff;box-shadow:0 2px 20px #1c102112;color:var(--ink)}.r24-menu-toggle{display:none;background:transparent;color:inherit;width:48px;height:48px;flex:0 0 48px;padding:12px}.r24-menu-toggle span{display:block;height:2px;background:currentColor;margin:6px 0;transition:transform .2s,opacity .2s}.r24-menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(8px) rotate(45deg)}.r24-menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.r24-menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
/* The approved magenta / dark-purple hero and existing brand assets are retained. */
.r24-hero{position:relative;min-height:850px;min-height:min(980px,100svh);padding:calc(var(--header) + 85px) 24px 100px;background:var(--ink);color:#fff;isolation:isolate;display:grid;place-items:center;text-align:center}.r24-hero__image,.r24-hero__overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.r24-hero__overlay{background:linear-gradient(180deg,#1c1021ad,#1c1021d9);z-index:-1}.r24-hero__content{max-width:1050px}.r24-hero__brand{font-family:Raleway,"Segoe UI",Arial,sans-serif;color:#ff3c89;font-size:clamp(32px,5vw,68px);font-weight:500;letter-spacing:-.025em;margin-bottom:26px}.r24-hero h1{font-size:clamp(52px,7.2vw,104px);line-height:1.12;letter-spacing:-.035em;margin-bottom:30px}.r24-hero__lead{max-width:720px;margin:0 auto 38px;font-size:clamp(17px,1.6vw,22px);line-height:1.7}.intro-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.photo-frame{position:relative;overflow:hidden;background:#f3eef5;border-radius:5px}.photo-frame img{width:100%;height:100%;object-fit:cover}.intro-photo{aspect-ratio:1.35}.intro-photo figcaption{position:absolute;bottom:0;width:100%;font-size:12px;padding:24px 18px 14px;background:linear-gradient(transparent,#1c1021d9);color:#fff}.photo-frame.is-unavailable::after{content:"Bild vorübergehend nicht verfügbar";position:absolute;inset:auto 0 0;padding:10px 12px;background:#1c1021eb;color:#fff;font-size:12px;line-height:1.5;text-align:center}.photo-frame.is-unavailable figcaption{display:none}
.programs-section{background:var(--soft)}.program-tabs{max-width:1080px;margin:auto}.tab-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;border-bottom:1px solid var(--line)}.program-tab{display:flex;flex-direction:column;padding:18px 0 30px;text-decoration:none;border-bottom:3px solid transparent;font-size:17px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.tab-number{font-size:54px;line-height:1.2;font-weight:500;font-family:Raleway,"Segoe UI",Arial,sans-serif;color:#ada2b2;margin-bottom:14px;letter-spacing:-.03em}.program-tab[aria-selected=true]{border-bottom-color:var(--pink)}.program-tab[aria-selected=true] .tab-number,.program-tab:hover .tab-number{color:var(--pink)}.tab-panels{padding:36px 0 0;min-height:225px}.program-panel{max-width:840px;line-height:1.9}.program-panel p{font-size:18px;color:var(--muted)}.program-panel+.program-panel{margin-top:32px}.js .program-panel+.program-panel{margin-top:0}.review-note{padding:18px 22px;font-size:13px;line-height:1.7;background:#fff5df;border-left:3px solid #ba850a;color:#574314;margin:28px 0}.coming-section{background:var(--ink);color:#fff}.coming-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:70px;align-items:start}.coming-section .eyebrow{color:#ff579a}.coming-section p:not(.eyebrow){font-size:18px}.coming-section .muted{color:#cfc3d4;font-size:14px}.coming-section h2{margin:0}.lifestyle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.lifestyle-grid .photo-frame{aspect-ratio:1;width:100%;height:auto}.lifestyle-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gallery-note{text-align:center;font-size:12px;color:var(--muted);margin:22px auto 0;max-width:800px}
/* Subpages share spacing, typography, buttons and navigation. */
.page-hero{background:var(--soft);padding:calc(var(--header) + 90px) 0 80px;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(42px,5.2vw,72px);max-width:1020px}.page-hero p:not(.eyebrow){color:var(--muted);font-size:19px;max-width:760px}.page-hero .shell{position:relative}.page-hero h1:last-child{margin-bottom:0}.page-hero+.programs-section{background:#fff}
/* Legal content uses the same .shell width and gutters as its hero. */
.legal-layout h2{font-size:28px;margin-top:42px}.legal-layout>h2:first-child{margin-top:0}.legal-layout h3{font-size:21px}.legal-layout p,.legal-layout li{overflow-wrap:anywhere}.legal-layout address{font-style:normal}.legal-layout ul{padding-left:24px}.legal-layout .review-note{margin:0 0 32px}.empty-imprint{min-height:180px}.source-note{max-width:900px;margin:35px auto;padding:0 24px}.error-actions{margin-top:30px}
/* A single, scoped form component; native checkbox is never given text-input sizing. */
.registration-section{background:#f8f5f9;border-top:1px solid var(--line)}.registration-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.registration-grid .section-heading h2{font-size:clamp(34px,3.3vw,48px)}.form-note{font-size:14px;margin-top:30px;border-left:3px solid var(--pink);padding-left:20px}.application-form{position:relative;min-width:0}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.field{min-width:0}.field--full{grid-column:1/-1}.application-form>.field{margin-bottom:20px}.field label{display:block;font-size:14px;font-weight:600;color:var(--ink);line-height:1.5;margin-bottom:8px}.optional{font-size:12px;font-weight:400;color:var(--muted)}.field input,.field select{display:block;appearance:auto;width:100%;min-width:0;height:52px;padding:12px 14px;background:#fff;color:#1c1021;border:1px solid #958d9d;border-radius:5px;font-size:16px;font-weight:400;line-height:1.5;box-shadow:none;opacity:1;visibility:visible}.field input:focus,.field select:focus{border-color:var(--pink)}.field input[aria-invalid=true],.field select[aria-invalid=true]{border:2px solid #b92530}.field-error{margin:8px 0 0;color:#a51926;font-size:13px;line-height:1.55}.consent-row{display:flex;align-items:flex-start;gap:12px;margin:25px 0}.consent-row input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;accent-color:var(--pink-dark);display:block;position:static;transform:none;opacity:1;visibility:visible;flex:0 0 20px;width:20px;height:20px;min-width:20px;min-height:20px;margin:3px 0 0;padding:0;border-radius:3px;cursor:pointer}.consent-row label{font-size:13px;line-height:1.8;color:#4e4455;cursor:pointer}.consent-row a{color:var(--pink-dark)}.form-submit{min-width:220px}.form-help{font-size:12px;line-height:1.7;color:var(--muted);margin:16px 0 0}.form-message{padding:20px;margin-bottom:25px;border-radius:5px;border:1px solid #c0afca;background:#f4eefa;line-height:1.65;font-size:14px}.form-message--error{border-color:#e4a1a8;background:#fff0f1;color:#7a1520}.form-message--success{border-color:#93b79d;background:#edf8f0;color:#245631}.form-message p{margin-bottom:10px}.form-message p:last-child{margin:0}.form-message ul{padding-left:22px;margin-bottom:0}.honeypot{position:absolute!important;left:-10000px!important;top:0!important;width:1px!important;height:1px!important;overflow:hidden!important;white-space:nowrap!important}
/* Footer and utility controls. */
.r24-footer{background:var(--ink);color:#ded5e3;padding:40px 0 24px}.r24-footer__inner,.r24-footer__bottom{max-width:1240px;width:calc(100% - 64px);margin:auto}.r24-footer__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;padding-bottom:24px}.r24-footer__nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px;font-size:13px;min-width:0}.r24-footer__nav a{display:inline-flex;align-items:center;min-height:44px}.r24-footer a{text-decoration:none}.r24-footer a:hover{text-decoration:underline;color:#fff}.r24-footer__contact{display:flex;flex-direction:column;font-size:14px;min-width:0;overflow-wrap:anywhere}.r24-footer__contact>a{display:flex;align-items:center;min-height:44px}.r24-footer__contact>span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;color:#ab9eb3}.r24-footer__bottom{display:flex;align-items:baseline;gap:24px;justify-content:space-between;border-top:1px solid #ffffff21;padding-top:24px;font-size:11px}.r24-scroll-top{position:fixed;bottom:24px;right:24px;width:48px;height:48px;display:grid;place-items:center;padding:0;border:0;margin:0;appearance:none;-webkit-appearance:none;background:var(--pink);color:#fff;border-radius:5px;line-height:1;z-index:100;box-shadow:0 4px 16px #1c102130}.r24-scroll-top__icon{display:block;width:24px;height:24px;margin:0;pointer-events:none}.r24-scroll-top:hover{background:var(--pink-dark)}.standalone{min-height:100svh;display:grid;place-items:center;background:var(--ink);color:#fff;padding:40px 24px}.standalone-card{max-width:620px;width:100%;padding:50px;background:#281630;border:1px solid #ffffff25;border-radius:10px}.standalone-card .standalone-logo{width:280px;margin-bottom:28px}.standalone-card h1{font-size:38px}.standalone-card p{color:#ddd1e3}.standalone-card a:not(.r24-button){color:#ff79af}.standalone-card .eyebrow{color:#ff79af}
@media(min-width:1600px){.r24-hero{min-height:980px}}
@media(max-width:1100px){.r24-brand__text{font-size:26px}.r24-navigation{gap:21px;font-size:13px}.intro-grid,.registration-grid{gap:48px}.program-tab{font-size:15px}.section{padding:80px 0}.r24-footer__inner{gap:24px}}
@media(max-width:900px){:root{--header:76px}.r24-brand__text{font-size:25px}.r24-header__inner{width:calc(100% - 40px)}.js .r24-menu-toggle{display:block}.js .r24-navigation{display:none;position:fixed;inset:calc(var(--header)) 0 auto;background:white;color:var(--ink);padding:22px 24px 32px;max-height:calc(100dvh - var(--header));overflow-y:auto;border-top:1px solid var(--line);box-shadow:0 14px 20px #1c102112;flex-direction:column;align-items:stretch;gap:6px;font-size:16px}.js .r24-navigation.is-open{display:flex}.r24-navigation a{padding:12px 6px}.r24-navigation a::after{left:6px;right:auto;width:40px;bottom:5px}html:not(.js) .r24-header{position:relative;background:#fff;color:var(--ink);top:0}html:not(.js) .r24-header__inner{flex-direction:column;gap:0;padding-bottom:10px}html:not(.js) .r24-navigation{flex-wrap:wrap;justify-content:center;gap:8px 20px;font-size:13px}html:not(.js) .r24-hero,html:not(.js) .page-hero{padding-top:60px}html:not(.js) .program-tab{border:0}.intro-grid{gap:36px}.registration-grid{grid-template-columns:1fr;gap:36px}.registration-grid .section-heading{max-width:700px}.field-grid{gap:22px}.r24-footer__inner{grid-template-columns:minmax(0,1fr) auto}.r24-hero{min-height:760px}.coming-grid{gap:30px}.page-hero{padding-top:calc(var(--header) + 65px)}}
@media(max-width:600px){.shell{width:calc(100% - 40px)}.section{padding:60px 0}.section-heading.center{margin-bottom:32px}.eyebrow{font-size:12px;margin-bottom:12px}h2{font-size:34px}h3{font-size:23px}.r24-brand__text{font-size:clamp(20px,5.8vw,24px)}.r24-hero{min-height:740px;padding:calc(var(--header) + 62px) 20px 70px}.r24-hero h1{font-size:55px;line-height:1.12}.r24-hero__brand{font-size:32px;margin-bottom:24px}.r24-hero__lead{font-size:17px;margin-bottom:30px}.r24-hero__button{padding:16px 24px;font-size:14px}.intro-grid,.coming-grid{grid-template-columns:1fr;gap:30px}.intro-photo{aspect-ratio:1.2}.tab-list{gap:12px}.program-tab{font-size:12px;line-height:1.65;padding:10px 0 20px;overflow-wrap:anywhere;hyphens:auto}.tab-number{font-size:38px;margin-bottom:10px}.program-panel p{font-size:16px}.tab-panels{padding-top:28px;min-height:290px}.coming-section p:not(.eyebrow){font-size:16px}.lifestyle-grid{grid-template-columns:1fr;gap:20px}.gallery-note{font-size:11px}.page-hero{padding-bottom:50px;padding-top:calc(var(--header) + 48px)}.page-hero h1{font-size:42px;overflow-wrap:anywhere}.page-hero p:not(.eyebrow){font-size:17px}.field-grid{grid-template-columns:1fr;gap:20px}.form-submit{width:100%;padding:17px 20px;font-size:14px}.registration-grid .section-heading h2{font-size:34px}.r24-footer{padding-top:32px}.r24-footer__inner,.r24-footer__bottom{width:calc(100% - 40px)}.r24-footer__inner{grid-template-columns:minmax(0,1fr);gap:20px}.r24-footer__bottom{flex-direction:column;gap:14px}.r24-scroll-top{width:44px;height:44px;bottom:16px;right:16px}.standalone-card{padding:28px}.standalone-card h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.r24-header,.r24-footer,.r24-scroll-top,.preview-bar,.registration-section,.review-note{display:none!important}.page-hero,.section,.r24-hero{padding:24px!important;background:#fff!important;color:#000!important;min-height:0}.r24-hero__image,.r24-hero__overlay{display:none}.program-panel[hidden]{display:block!important}.shell{width:100%}body{font-size:12pt}}

.legal-layout h2,.legal-layout h3{overflow-wrap:anywhere;hyphens:auto}

/* Shared access session: unobtrusive exit in the footer. */
.footer-session{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}

/* Single-page anchor navigation and the shared legal page. */
.anchor-alias{display:block;height:0;position:relative}
[data-anchor-focus]:focus{outline:none}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.r24-footer__nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px}
.legal-contents{display:flex;flex-wrap:wrap;gap:12px 28px;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:36px;font-weight:600;color:var(--pink-dark)}
.privacy-copy>h2:first-child{margin-top:0}
.privacy-copy h3{margin:32px 0 16px}
.photo-licenses{border-top:1px solid var(--line);margin-top:48px;padding-top:36px}
.photo-licenses>h2:first-child{margin-top:0}
.legal-layout .photo-license-list{padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:28px 0}
.photo-license-list>li{min-width:0;border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:var(--soft)}
.photo-license-list h3{font-size:21px;margin-bottom:16px}
.photo-license-list p{font-size:14px;margin-bottom:18px}
.photo-license-list dl{margin:0;font-size:14px;line-height:1.65}
.photo-license-list dl>div{margin-top:12px}
.photo-license-list dt{font-weight:600}
.photo-license-list dd{margin:0;color:var(--muted);overflow-wrap:anywhere}
.privacy-return{border-top:1px solid var(--line);padding-top:24px;margin-top:40px}
@media(max-width:600px){.legal-layout .photo-license-list{grid-template-columns:1fr;gap:16px}.photo-license-list>li{padding:20px}.legal-contents{gap:12px 22px}.photo-licenses{margin-top:36px;padding-top:28px}}

/* Gesetzliche Anbieterangaben und Datenschutz: lesbare Adressblöcke. */
.legal-address{font-style:normal;line-height:1.8;overflow-wrap:anywhere;margin:1rem 0 1.5rem}
.legal-address strong{font-weight:700}
.privacy-copy code{font-size:.95em;overflow-wrap:anywhere}
