@font-face{font-family:DM Sans;src:url('assets/dm-sans-regular.ttf');font-weight:400;font-display:swap}@font-face{font-family:DM Sans;src:url('assets/dm-sans-semibold.ttf');font-weight:600 800;font-display:swap}@font-face{font-family:DM Serif;src:url('assets/dm-serif-display.ttf');font-display:swap}
:root{--paper:#f8f3eb;--cream:#f0e8da;--sand:#e8d5bc;--ink:#28231f;--muted:#695f56;--line:#d6c8b8;--orange:#c7612e;--rust:#9b4b2c;--deep:#39302b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 'DM Sans',Arial,sans-serif}button,a{font:inherit}a{color:inherit}button{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,.feature h3,.offering-list h3,.partner h3,.contact-info h3{font-family:'DM Serif',Georgia,serif;font-weight:400;line-height:1.05;letter-spacing:-.025em}h2{font-size:clamp(2rem,3.3vw,3rem)}p{line-height:1.7}.shell{width:min(100% - 88px,1380px);margin-inline:auto}.section{padding-block:clamp(56px,6vw,88px)}.skip-link{position:absolute;z-index:100;top:-60px;left:16px;background:#fff;padding:8px 12px}.skip-link:focus{top:12px}:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
.site-header{border-bottom:1px solid var(--line)}.header-inner{min-height:91px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:4px;text-decoration:none}.brand img{width:54px;height:54px;object-fit:cover;transform:scale(1.32)}.brand span{display:flex;align-items:baseline;gap:8px;margin-left:5px;line-height:1}.brand strong{font-size:22px;letter-spacing:.25em;font-weight:500}.brand small{font-size:11px;font-weight:600;letter-spacing:.28em;color:var(--orange)}nav{display:flex;align-items:center;gap:clamp(15px,2.3vw,36px)}nav a{font-size:13px;text-decoration:none;white-space:nowrap}nav a:hover,.under-link:hover,.offering-list a:hover{color:var(--orange)}.nav-contact{border:1px solid var(--ink);padding:9px 15px}.menu-toggle{display:none;border:0;background:none}
.hero{min-height:0;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5vw;padding-block:48px}.hero-copy{position:relative;z-index:1}.overline,.section-kicker,.feature-number,.row-type,.small-status,.mat-stage>span,.partner span,.hero-rail{font-size:11px;font-weight:700;letter-spacing:.18em}.overline{color:var(--rust);margin-bottom:32px}.hero h1{font-size:clamp(3rem,4.8vw,4.75rem);line-height:.95;max-width:850px;margin-bottom:35px;white-space:normal}.hero h1 span{color:var(--rust)}.hero-lead{max-width:510px;font-size:1.1rem;line-height:1.6;color:#493f38;margin-bottom:39px}.hero-actions,.men-actions,.product-actions{display:flex;align-items:center;flex-wrap:wrap;gap:26px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:51px;padding:12px 21px;background:var(--rust);color:#fff;text-decoration:none;font-size:13px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:var(--deep);transform:translateY(-2px)}.button-dark{background:var(--ink)}.button-dark:hover{background:var(--orange)}.under-link{text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:13px;font-weight:600}.hero-logo{position:relative;min-height:0;display:flex;align-items:center;justify-content:center;background:transparent;overflow:hidden}.hero-logo img{position:relative;width:100%;max-width:480px;height:auto}.hero-logo span{display:none;position:absolute;right:28px;bottom:20px;font-size:10px;letter-spacing:.27em;font-weight:700}.hero-logo em{font-style:normal;color:var(--rust)}.hero-rail{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-block:18px 30px;color:var(--muted)}
.section-kicker{display:flex;gap:35px;color:var(--rust);margin-bottom:28px}.section-kicker span:first-child{color:var(--muted)}.idea-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.idea h2{margin-bottom:0}.idea-grid>div{max-width:610px;padding-top:5px}.idea-grid p{color:var(--muted);margin-bottom:20px}.idea-grid .statement,.statement{font-size:1.25rem;line-height:1.4;color:var(--ink);font-weight:400}
.offers{background:transparent;border-top:1px solid var(--line)}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:58px}.section-intro h2{max-width:780px;margin:0}.section-intro p{max-width:325px;margin:0;color:var(--muted)}.feature{display:grid;grid-template-columns:72% 28%;min-height:0;background:transparent;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.feature-copy{padding:32px 40px 32px 0;display:flex;flex-direction:column;align-items:flex-start}.feature-number{color:var(--rust);margin-bottom:auto}.feature h3{font-size:clamp(2.2rem,3.5vw,3rem);margin:20px 0 15px}.feature-subtitle{font-size:1.15rem;line-height:1.4;max-width:450px}.feature-copy>p:not(.feature-subtitle){max-width:565px;color:#4a403a}.feature-meta{display:flex;flex-wrap:wrap;gap:10px 20px;margin:12px 0 28px;font-size:12px;font-weight:600}.feature-meta span{border-top:1px solid #bb9d86;padding-top:10px}.feature small{display:block;margin-top:14px;color:#61564f;max-width:440px}.feature-art{position:relative;background:transparent;display:flex;align-items:center;justify-content:center;overflow:hidden}.feature-art img{height:auto;width:140px;max-width:70%;object-fit:contain;opacity:.65}.feature-art span{display:none;position:absolute;right:27px;bottom:24px;text-align:right;color:#fff;font-size:10px;letter-spacing:.16em;line-height:1.7}.offering-list{margin-top:35px}.offering-list article{border-top:1px solid var(--line);display:grid;grid-template-columns:34px minmax(0,1fr);gap:24px;padding:30px 0}.offering-list article:last-child{border-bottom:1px solid var(--line)}.row-index{color:var(--orange);font-size:13px;padding-top:2px}.offering-list .offer-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) 175px;align-items:start;gap:32px}.offer-content>*{min-width:0}.row-type{color:var(--rust);margin:0 0 10px;font-size:10px;letter-spacing:.12em}.offering-list h3{font-size:clamp(1.5rem,2.3vw,2rem);margin:0;line-height:1.15;text-wrap:balance}.offering-list .offer-summary p{font-size:14px;color:var(--muted);margin:0 0 10px;max-width:44ch}.offering-list .offer-summary .offer-date{color:var(--ink);font-weight:600}.offering-list .offer-summary .offer-price{font-size:13px;margin-bottom:0}.offering-list a{font-size:13px;font-weight:600;text-decoration:none;white-space:normal;padding-top:2px}

.men{background:transparent;border-top:1px solid var(--line)}.men-grid{display:grid;grid-template-columns:47% 1fr;gap:clamp(45px,7vw,115px);align-items:center}.men-art{min-height:0;background:transparent;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.men-art>span{position:absolute;top:24px;left:28px;font-size:11px;font-weight:700;letter-spacing:.21em;line-height:1.5;z-index:1}.men-art img{width:85%;max-width:370px;height:auto;mix-blend-mode:multiply;opacity:.9}.men-copy .section-kicker{margin-bottom:28px}.men h2{margin-bottom:32px}.men p{color:var(--muted);max-width:560px}.men p.statement{color:var(--ink)}.men-actions{margin:38px 0 30px}.small-status{display:inline-block;color:var(--rust);border-top:1px solid var(--rust);padding-top:10px}
.products-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.product-copy{max-width:600px}.product-copy h2{margin-bottom:36px}.product-copy p{color:var(--muted)}.product-copy p.statement{color:var(--ink)}.product-actions{margin-top:43px}.mat-stage{background:transparent;min-height:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:20px}.mat-stage button{width:min(100%,225px);border:0;background:none;padding:0;box-shadow:16px 24px 38px rgba(53,36,22,.18);transition:transform .25s}.mat-stage button:hover{transform:translateY(-5px)}.mat-stage img{height:auto;width:100%;object-fit:contain}.mat-stage>span{margin-top:auto;padding-top:24px;color:#6b5547;text-align:center}
.people{background:transparent;border-top:1px solid var(--line)}.people-grid{display:grid;grid-template-columns:35% 1fr;gap:9vw;align-items:center}.portrait{background:transparent;padding:0;max-width:320px}.portrait img{width:100%;height:auto;object-fit:contain}.people-grid h2{margin-bottom:32px}.people-grid p{max-width:640px;color:var(--muted)}.people-grid .under-link{display:inline-block;margin-top:15px}.partner{border-top:1px solid var(--line);margin-top:60px;padding-top:40px;display:flex;justify-content:space-between;align-items:end;gap:40px}.partner h3{font-size:clamp(1.6rem,2.7vw,2.3rem);margin:16px 0}.partner p{color:var(--muted);margin:0}.partner>a{white-space:nowrap;margin-bottom:5px}
.contact{display:grid;grid-template-columns:1.3fr .7fr;gap:12vw}.contact h2{margin-bottom:30px}.contact p{color:var(--muted);max-width:520px}.contact .button{margin-top:18px}.contact-info{border-top:1px solid var(--ink);padding-top:25px;align-self:end}.contact-info h3{font-size:1.8rem;margin-bottom:25px}.contact-info>a:first-of-type{font-size:1.22rem;text-decoration:none;border-bottom:1px solid var(--ink)}.contact-info p{margin-top:18px}.contact-info .under-link{display:inline-block;margin-top:20px}footer{background:var(--deep);color:#eee5dc}.footer-inner{min-height:116px;display:flex;align-items:center;justify-content:space-between;gap:35px}.footer-brand{text-decoration:none;font-size:21px;letter-spacing:.22em}.footer-brand span{color:#e39561;font-size:11px}.footer-inner>span{font-size:12px;color:#c7bbb0}.footer-inner>div{display:flex;gap:22px;align-items:center}.footer-inner button,.footer-inner>div a{border:0;background:none;color:inherit;text-decoration:none;font-size:12px;padding:0}.footer-inner button:hover,.footer-inner>div a:hover{color:#e39561}
dialog{border:0;padding:40px;max-width:min(560px,calc(100% - 30px));background:var(--paper);color:var(--ink);box-shadow:0 20px 70px #0005}dialog::backdrop{background:#211b18b8}dialog h2{font-size:2.6rem;padding-right:30px}dialog p{color:var(--muted)}.dialog-close{position:absolute;top:12px;right:16px;background:none;border:0;font-size:2rem;line-height:1}.mat-dialog{max-width:min(540px,calc(100% - 30px));max-height:90vh;overflow:auto}.mat-dialog img{width:min(100%,300px);margin:auto}
@media(max-width:1100px){.shell{width:min(100% - 52px,1380px)}.hero{min-height:0}.hero h1{font-size:clamp(3rem,4.8vw,4.75rem)}.hero-logo{min-height:0}.offering-list .offer-content{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:12px 28px}.offering-list a{grid-column:2;justify-self:start}.feature{grid-template-columns:72% 28%}.men-art{min-height:0}.mat-stage{min-height:0}.mat-stage img{height:auto}}
@media(max-width:760px){.shell{width:min(100% - 38px,1380px)}.header-inner{min-height:75px}.brand img{width:44px;height:44px}.brand strong{font-size:18px}.brand small{font-size:9px}.menu-toggle{display:block;font-size:13px}nav{display:none;position:absolute;z-index:20;top:75px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:25px 20px 30px;flex-direction:column;align-items:stretch;gap:20px}nav.is-open{display:flex}nav a{font-size:16px}.nav-contact{align-self:flex-start}.hero{display:flex;flex-direction:column;align-items:stretch;gap:40px;padding-block:65px 40px}.hero h1{font-size:clamp(2.8rem,9vw,3.8rem);white-space:normal}.hero-lead{font-size:1.15rem}.hero-logo{min-height:0;aspect-ratio:auto;max-width:360px;align-self:center}.hero-logo img{width:100%;height:auto}.hero-rail{font-size:9px;line-height:1.4;gap:10px}.section{padding-block:52px}.section-kicker{margin-bottom:37px}.idea-grid,.products-grid,.men-grid,.people-grid,.contact{grid-template-columns:1fr;gap:40px}.idea-grid .statement{margin-top:0}.section-intro{display:block}.section-intro h2{margin-bottom:22px}.section-intro p{max-width:580px}.feature{grid-template-columns:1fr}.feature-copy{min-height:0;padding:28px 0}.feature h3{font-size:clamp(2.1rem,7vw,2.8rem)}.feature-art{display:none}.feature-art img{height:auto}.offering-list article{grid-template-columns:24px minmax(0,1fr);gap:14px}.offering-list .offer-content{display:flex;flex-direction:column;gap:16px}.offering-list h3{margin:0}.offering-list .row-type{margin-bottom:7px}.offering-list .offer-summary p:last-child{margin-bottom:0}.men-art{min-height:0;aspect-ratio:auto;max-width:310px;justify-self:center}.men-art img{width:95%}.men-copy .section-kicker{margin-bottom:35px}.mat-stage{min-height:0;padding:34px 22px 20px}.mat-stage img{height:auto}.people-grid .portrait{width:min(100%,430px)}.partner{margin-top:75px;align-items:start;flex-direction:column;gap:22px}.contact{gap:75px}.contact-info{align-self:auto}.footer-inner{align-items:start;flex-direction:column;padding-block:32px;gap:17px}.footer-inner>div{flex-wrap:wrap}}
@media(max-width:420px){.hero h1{font-size:2.8rem}.hero-rail span{max-width:100px}.hero-actions{align-items:flex-start;flex-direction:column}.feature-copy{padding:28px 0}.feature-meta{display:block}.feature-meta span{display:block}.brand span{gap:4px}.brand strong{letter-spacing:.15em}.men-actions{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Prevent intrinsic content widths and forced line breaks from breaking small layouts. */
.hero-copy,.idea-grid>*,.men-copy,.product-copy,.people-grid>*,.contact>*,.detail-body{min-width:0}.button{max-width:100%;text-align:left}.button>span{flex-shrink:0}.contact-info>a{overflow-wrap:anywhere}.offer-date{line-height:1.5}h1,h2{text-wrap:balance}h1,h2,h3,summary{overflow-wrap:break-word;hyphens:auto}
@media(max-width:760px){.desktop-break{display:none}.hero h1 .desktop-break{display:initial}.contact-info>a:first-of-type{font-size:1.08rem}}

/* Aufklappbarer Ausblick: Preise und Programme folgen je Termin. */
.future-section { padding-top: 28px; padding-bottom: 44px; }
.future-dates { border-top: 1px solid var(--line, #ddd6cf); border-bottom: 1px solid var(--line, #ddd6cf); }
.future-dates > summary { padding: 22px 0; cursor: pointer; font-size: 1.08rem; font-weight: 600; line-height: 1.5; }
.future-dates > summary:focus-visible { outline: 2px solid #a85f32; outline-offset: 4px; }
.future-content { max-width: 800px; padding: 0 0 28px; }
.future-content p { line-height: 1.65; }
.future-list { margin: 24px 0; }
.future-list > div { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 16px; padding: 15px 0; border-bottom: 1px solid var(--line, #ddd6cf); }
.future-list dt { font-weight: 700; }
.future-list dd { margin: 0; line-height: 1.7; }
.future-list dd > span { display: block; margin-top: 4px; font-size: .85rem; color: var(--muted, #666); }
.future-link { display: inline-block; margin-top: 8px; font-weight: 600; text-underline-offset: 4px; }
@media (max-width: 420px) { .future-list > div { grid-template-columns: 52px minmax(0, 1fr); gap: 10px; } }

/* Weitere Termine stehen direkt bei den aktuellen Angeboten. */
.future-dates { margin: 24px 0 30px; padding: 0 22px; border: 1px solid #d4b49c; border-left: 4px solid #c97842; border-radius: 4px; background: #fbf7f3; color: #2d2d2d; }
.future-dates > summary { padding: 20px 0; font-size: 1.2rem; font-weight: 700; }
.future-period { display: block; margin-top: 5px; font-size: .88rem; font-weight: 400; color: #665547; }
.future-jump { font-weight: 700; color: #87502e; text-underline-offset: 4px; }
.future-content { padding-bottom: 24px; }
@media (max-width: 420px) { .future-dates { padding: 0 16px; } }

.future-event + .future-event { margin-top: 12px; }
.future-event > span { display: block; font-size: .85rem; font-weight: 400; color: var(--muted, #666); }

/* Dates first, followed by equally weighted offer descriptions. */
.upcoming{border-top:1px solid var(--line)}
.upcoming .section-intro{margin-bottom:36px}
.event-group+.event-group{margin-top:36px}
.event-year{margin:0 0 10px;color:var(--rust);font-size:1rem;font-weight:700;letter-spacing:.06em}
.event-list{border-top:1px solid var(--line)}
.event-row{display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,1.65fr) auto;align-items:center;gap:20px 36px;border-bottom:1px solid var(--line);padding:23px 0}
.event-date{min-width:0;font-size:1.12rem;font-weight:700;line-height:1.5}
.event-copy{min-width:0}
.event-copy h3{font-family:'DM Serif',Georgia,serif;font-size:1.55rem;font-weight:400;line-height:1.2;margin:0 0 5px;letter-spacing:-.015em}
.event-copy p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.event-copy .event-status{display:inline-block;margin-top:9px;padding:4px 9px;background:#f4e3de;color:#8c352b;font-size:12px;font-weight:700}
.event-action{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;min-width:120px;padding:10px 14px;border:1px solid var(--line);font-size:13px;font-weight:600;text-decoration:none}
.event-action:hover{border-color:var(--rust);background:var(--cream);color:var(--rust)}
.upcoming .future-dates{margin-top:32px;margin-bottom:0}
.offers .offering-list{margin-top:0}
.offering-list .recognition-home{margin:14px 0 0!important;padding-left:12px}
.offering-list .recognition-heading{font-size:12px!important;margin-bottom:6px!important}
.offering-list .recognition-states{gap:4px 12px}
.offering-list .recognition-states li{font-size:14px;line-height:1.5}
#termine,#angebote,#bildungsurlaub{scroll-margin-top:24px}
@media(max-width:1000px){.event-row{grid-template-columns:minmax(175px,1fr) minmax(0,1.4fr) auto;gap:20px}.event-copy h3{font-size:1.4rem}}
@media(max-width:760px){.upcoming .section-intro{margin-bottom:28px}.event-row{grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;padding:21px 0}.event-date{grid-column:1/-1;font-size:1.1rem}.event-copy h3{font-size:1.35rem}.event-copy p{font-size:13px}.event-action{min-width:104px;gap:14px;padding:10px 12px}.event-copy .event-status{font-size:11px;padding:4px 7px}.event-group+.event-group{margin-top:30px}}
@media(max-width:380px){.event-row{gap:10px 12px}.event-action{min-width:92px;padding-inline:10px}.event-copy h3{font-size:1.2rem}}

/* Low availability is distinct from a sold-out event. */
.availability-note{display:inline-block;margin:10px 0;padding:4px 9px;border:1px solid #d9bf8b;background:#fff8e8;color:#78541f;font-size:13px;font-weight:700;line-height:1.5;max-width:100%}
.event-copy .availability-note,.offering-list .offer-summary .availability-note{display:inline-block;margin:9px 0 0;padding:4px 9px;color:#78541f;font-size:13px;font-weight:700;line-height:1.5}
