:root{--font-body: system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", "Helvetica Neue", Arial, sans-serif;--font-display: Georgia, "Iowan Old Style", "Palatino Linotype", "Times New Roman", serif;--braun-50: #fdf4eb;--braun-100: #f7eade;--braun-200: #eedac8;--braun-300: #e1c5ab;--braun-400: #d3ac8a;--braun-500: #c28b5e;--braun-600: #ae744b;--braun-700: #9a5e39;--braun-800: #764625;--braun-900: #5a3316;--sand-50: #fcf5e9;--sand-100: #f5ecdb;--sand-200: #eadcc5;--sand-300: #ddc7a8;--sand-400: #caa275;--sand-500: #b99468;--sand-600: #9f7c52;--sand-700: #85653d;--sand-800: #6a4e28;--sand-900: #523914;--rose-50: #fff3f0;--rose-100: #fce8e4;--rose-200: #f6d5d0;--rose-300: #efbdb7;--rose-400: #e59f9b;--rose-500: #de8686;--rose-600: #b96968;--rose-700: #9c5352;--rose-800: #7f3d3b;--rose-900: #642927;--salbei-50: #f2f8eb;--salbei-100: #e7f1db;--salbei-200: #d4e5c2;--salbei-300: #b3d296;--salbei-400: #a2c085;--salbei-500: #8ba66e;--salbei-600: #748d58;--salbei-700: #5e7542;--salbei-800: #475c2c;--salbei-900: #334617;--leinen-50: #fdfaf4;--leinen-100: #f5f2eb;--leinen-200: #eae6df;--leinen-300: #d6d2ca;--leinen-400: #b6b0a8;--leinen-500: #989188;--leinen-600: #7b736a;--leinen-700: #5d534a;--leinen-800: #453b32;--leinen-900: #2f241b;--papier: #fffdf9;--bg: var(--leinen-50);--cream: var(--leinen-50);--surface: var(--papier);--cream-2: var(--sand-100);--rose-soft: var(--rose-100);--sand-soft: var(--sand-200);--band: var(--salbei-100);--band-line: var(--salbei-300);--salbei-soft: var(--salbei-50);--salbei-line: var(--salbei-200);--ink: var(--leinen-900);--ink-soft: var(--leinen-700);--muted: var(--leinen-600);--line: var(--braun-200);--line-soft: var(--braun-100);--brown: var(--braun-700);--brown-dark: var(--braun-800);--brown-deep: var(--braun-900);--brown-tint: var(--braun-100);--sand: var(--sand-400);--sand-text: var(--sand-700);--rose: var(--rose-500);--rose-text: var(--rose-700);--green-strong: var(--salbei-500);--olive: var(--salbei-800);--radius-sm: 8px;--radius-lg: 12px;--space-section: clamp(40px, 5vw, 72px);--space-section-sm: clamp(24px, 3vw, 40px);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;overflow-y:scroll;scrollbar-gutter:stable}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:17.5px;line-height:1.6;overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.bg-noise{position:fixed;inset:0;z-index:-9;pointer-events:none;opacity:.02;background-image:radial-gradient(circle,#3a2a18 .5px,transparent .5px);background-size:3px 3px}.container{width:min(1080px,90%);margin:0 auto}.container--narrow{width:min(760px,92%)}main{display:block;flex:1 0 auto}h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.14;letter-spacing:-.01em;color:var(--brown-deep);margin:0 0 .55em;text-wrap:balance}h1{font-size:clamp(2.4rem,5.6vw,4rem);line-height:1.04}h2{font-size:clamp(1.7rem,3.2vw,2.4rem)}h3{font-size:clamp(1.18rem,1.9vw,1.4rem);color:var(--brown-dark)}p{margin:0 0 1rem;color:var(--ink-soft);max-width:68ch;text-wrap:pretty}li{text-wrap:pretty}.lead{font-size:clamp(1.05rem,1.5vw,1.2rem);line-height:1.6;color:var(--ink-soft)}a{color:var(--brown-dark);text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:.22em;text-decoration-color:color-mix(in srgb,currentColor 55%,transparent);transition:color .16s ease,text-decoration-color .16s ease}a:hover{color:var(--brown-deep);text-decoration-color:currentColor}strong{font-weight:400;color:var(--ink)}:focus-visible{outline:2.5px solid var(--brown-dark);outline-offset:3px;border-radius:6px}.eyebrow,.section-eyebrow{display:block;margin:0 0 14px;font-size:.74rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--sand-text)}[hidden]{display:none!important}.section{padding:var(--space-section) 0;position:relative}.section--sm{padding:var(--space-section-sm) 0}.section--sand{background:var(--cream-2)}.section--rose{background:var(--rose-soft)}.section--band{padding:clamp(28px,4vw,52px) 0 clamp(40px,5vw,68px)}.section-head{max-width:60ch;margin:0 0 clamp(18px,2.5vw,30px)}.section-head p{color:var(--ink-soft)}.section-head--center{margin-inline:auto;text-align:center}.section-head--center p{margin-inline:auto}.claim{display:flex;flex-wrap:wrap;align-items:baseline;margin:0 0 .6rem;font-family:var(--font-display);font-style:italic;font-size:clamp(1.15rem,1.8vw,1.35rem);letter-spacing:.02em;color:var(--rose-text)}.claim .w1,.claim .w2,.claim .w3{color:inherit}.claim .dot:before{content:"·";margin:0 .5em}.cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.5rem 1.35rem;min-height:42px;border-radius:999px;background:var(--brown-dark);color:#fbf6ee;border:1px solid var(--brown-dark);font:inherit;font-size:.94rem;font-weight:400;letter-spacing:.02em;text-decoration:none;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}.cta:hover,.button:hover{background:var(--brown-deep);border-color:var(--brown-deep);color:#fbf6ee}.cta .arrow{transition:transform .2s ease}.cta:hover .arrow{transform:translate(3px)}.button--ghost{background:transparent;color:var(--brown-dark);border-color:color-mix(in srgb,var(--brown) 45%,transparent)}.button--ghost:hover{background:transparent;border-color:var(--brown-dark);color:var(--brown-deep)}@media(pointer:coarse){.cta,.button{min-height:46px}}.textlink{display:inline;color:var(--brown-dark)}.textlink:hover{color:var(--brown-deep)}.cta-row{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center;margin-top:1.7rem}@media(max-width:480px){.cta-row:has(>:nth-child(2))>.cta,.cta-row:has(>:nth-child(2))>.button{flex:1 1 100%}}.chips{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.15rem;font-size:.95rem;color:var(--ink-soft)}.chip{display:inline-flex;align-items:center;font-weight:400}.chip:before{content:"";flex:none;width:5px;height:5px;margin-right:.55rem;border-radius:999px;background:var(--sand)}.chips .chip:nth-child(4n+1):before{background:var(--brown)}.chips .chip:nth-child(4n+2):before{background:var(--rose)}.chips .chip:nth-child(4n+3):before{background:var(--green-strong)}.grid{display:grid;gap:clamp(16px,2.4vw,24px)}.grid--2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:680px){.grid--3{grid-template-columns:1fr}}.card-stack{display:grid;grid-template-rows:auto 1fr;gap:clamp(16px,2.4vw,24px)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(20px,2.6vw,26px);position:relative;transition:border-color .2s ease}.card>:last-child{margin-bottom:0}.card h3{margin-top:0;margin-bottom:.5rem}.card p{margin-bottom:.45rem;color:var(--ink-soft);max-width:none}.card .karte-fussnote{margin-top:.9rem;font-size:.88rem;color:var(--muted)}.preisschiene{list-style:none;margin:0;padding:0;display:grid;gap:14px}.preisstufe{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;align-items:baseline;padding-left:24px;line-height:1.5;color:var(--ink-soft)}.preisstufe:before{content:"";position:absolute;left:0;top:calc(.75em - 4.5px);width:9px;height:9px;box-sizing:border-box;border:1px solid var(--sand);border-radius:50%;background:var(--surface)}.preisstufe:not(:last-child):after{content:"";position:absolute;left:4px;top:calc(.75em + 7.5px);bottom:calc(-.75em - 6.5px);width:1px;background:var(--line)}.preisstufe__preis{font-variant-numeric:tabular-nums;white-space:nowrap}.preisstufe__frist{grid-column:1 / -1;font-size:.86rem;color:var(--sand-text)}.preisstufe__stand:not(:empty):before{content:" · "}.preisstufe.ist-jetzt{color:var(--brown-deep)}.preisstufe.ist-jetzt:before{background:var(--rose);border-color:var(--rose);box-shadow:0 0 0 3px color-mix(in srgb,var(--rose) 20%,transparent)}.preisstufe.ist-jetzt .preisstufe__stand{color:var(--rose-text)}.preisstufe.ist-vorbei{color:var(--sand-text)}.preisstufe.ist-vorbei:before{border-color:var(--line)}.preisstufe.ist-vorbei .preisstufe__preis{text-decoration:line-through;text-decoration-thickness:1px}.info-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;background:var(--salbei-soft);border:1px solid var(--salbei-line);border-radius:var(--radius-lg)}.info-panel>div{padding:clamp(18px,2.4vw,24px) clamp(20px,2.8vw,28px)}.info-panel>div+div{border-left:1px solid var(--salbei-line)}.info-panel .termin-vorbei{margin:.6rem 0 0;font-size:.92rem;color:var(--rose-text)}.info-panel h3{margin:0 0 .4rem}.info-panel p{margin:0;color:var(--ink-soft);max-width:none}@media(max-width:560px){.info-panel{grid-template-columns:1fr}.info-panel>div+div{border-left:0;border-top:1px solid var(--salbei-line)}}.site-header{position:sticky;top:0;z-index:40;border-bottom:1px solid transparent;transition:border-color .35s ease,margin-bottom .35s ease;view-transition-name:kopfzeile}.site-header:before{content:"";position:absolute;inset:0;z-index:-1;background:color-mix(in srgb,var(--cream) 85%,transparent);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);transition:background .35s ease}.site-header.is-scrolled{border-bottom-color:var(--line);margin-bottom:calc(.8rem + 12px)}.site-header.is-scrolled:before{background:color-mix(in srgb,var(--cream) 94%,transparent)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.4rem;padding:.85rem 0;transition:padding .35s ease}.site-header.is-scrolled .header-inner{padding:.45rem 0}.brand{display:inline-flex;align-items:center;gap:.72rem;text-decoration:none;color:var(--ink);font-weight:400}.brand:hover{color:var(--ink)}.brand img{width:58px;height:58px;object-fit:contain;transition:width .35s ease,height .35s ease}.site-header.is-scrolled .brand img{width:46px;height:46px}.brand span{font-size:clamp(.98rem,3.1vw,1.16rem);letter-spacing:.01em;white-space:nowrap}.nav-toggle{display:none;align-items:center;justify-content:center;width:46px;height:46px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);cursor:pointer;color:var(--ink)}.nav-toggle__bar,.nav-toggle__bar:before,.nav-toggle__bar:after{content:"";display:block;width:20px;height:2px;border-radius:2px;background:currentColor;transition:transform .22s ease,opacity .2s ease}.nav-toggle__bar{position:relative}.nav-toggle__bar:before{position:absolute;top:-6px}.nav-toggle__bar:after{position:absolute;top:6px}body.nav-open .nav-toggle__bar{background:transparent}body.nav-open .nav-toggle__bar:before{top:0;transform:rotate(45deg)}body.nav-open .nav-toggle__bar:after{top:0;transform:rotate(-45deg)}.nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:1.6rem}.nav a{position:relative;display:inline-flex;padding:.4rem 0;text-decoration:none;color:var(--ink-soft);font-size:.96rem;font-weight:400;white-space:nowrap;transition:color .16s ease}.nav a:hover{color:var(--brown-deep)}.nav a[aria-current=page]{color:var(--brown-dark)}.nav a[aria-current=page]:after{content:"";position:absolute;left:50%;bottom:-2px;width:5px;height:5px;border-radius:999px;background:var(--rose);transform:translate(-50%)}.nav-scrim{position:fixed;inset:0;background:#3a2a1852;opacity:0;pointer-events:none;transition:opacity .22s ease;z-index:30}.hero{padding:clamp(28px,4vw,56px) 0 clamp(14px,2vw,28px)}.hero+.section{padding-top:clamp(12px,2.5vw,28px)}.hero+.section:is(.section--rose,.section--sand){padding-top:var(--space-section)}.hero__inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(22px,4vw,52px);align-items:center}.hero__lead{max-width:50ch}.hero .chips{margin-top:1.25rem}.hero__media{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:clamp(10px,1.4vw,14px);align-items:end}.hero__media .snap img{width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover}@media(max-width:820px){.hero__inner{grid-template-columns:1fr}.hero__media{max-width:560px}}.snap{margin:0;transition:background-color .5s ease}.snap img{display:block;max-width:100%;border-radius:var(--radius-lg);filter:sepia(.06) saturate(.95);transition:opacity .6s ease}.snap.laedt:not(:has(figcaption)){background-color:var(--brown-tint);border-radius:var(--radius-lg)}.snap img.laedt{opacity:0;transition:none}.snap figcaption{margin-top:8px;font-family:var(--font-display);font-style:italic;font-size:.9rem;color:var(--muted)}.einblick{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(22px,4vw,48px);align-items:start}.einblick .snap img{width:100%;height:auto}@media(max-width:820px){.einblick{grid-template-columns:1fr}.einblick .snap{width:100%;max-width:420px}}.snap-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.4vw,14px)}.snap-row .snap img{width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover}@media(max-width:720px){.snap-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.contact-band{text-align:center;border-radius:var(--radius-lg);padding:clamp(22px,3.5vw,34px) clamp(22px,4vw,40px);background:var(--sand-soft)}.contact-band:has(>.mail-hinweis:last-of-type){padding-bottom:clamp(6px,1.5vw,12px)}.section--band .contact-band{max-width:760px;margin-inline:auto}.contact-band .section-eyebrow{margin-bottom:8px;color:var(--brown-dark)}.contact-band h2{margin-bottom:.35em}.contact-band p,.contact-band .mail-hinweis__satz,.contact-band .mail-hinweis__rueckmeldung{color:var(--ink-soft);opacity:1;margin-left:auto;margin-right:auto;text-wrap:balance}.contact-band p{margin-bottom:.5rem}.contact-band .cta-row{justify-content:center;margin-top:1.1rem}.contact-band .cta-row+p{margin-top:1.1rem;font-size:.95rem}.site-footer{background:var(--band);border-top:1px solid var(--band-line);padding:clamp(36px,5vw,56px) 0 clamp(30px,4vw,44px)}.footer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 32px;font-size:.92rem}.footer-grid p{margin:0;color:var(--ink-soft);max-width:none}.footer-grid p+p{margin-top:8px}.footer-emblem{display:block;width:44px;height:44px;object-fit:contain;margin-bottom:10px}.site-footer .footer-name{font-family:var(--font-display);font-size:1.1rem;color:var(--brown-deep)}.site-footer .footer-sub{margin-top:2px;font-size:.88rem;color:var(--ink-soft)}.site-footer .footer-label{margin-bottom:10px;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--olive)}.footer-links{list-style:none;margin:0;padding:0;display:grid;gap:5px}.site-footer a{color:var(--brown-dark)}.maps-link,.kalender-link{display:inline-block;margin-top:4px;font-size:.86em}.nw{white-space:nowrap}@media(max-width:860px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:460px){.footer-grid{grid-template-columns:1fr}}.sprungmarken{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin-top:1.1rem;font-size:.94rem}.kapitel__eintrag{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:clamp(16px,4vw,56px);padding:clamp(28px,4vw,44px) 0;border-top:1px solid var(--line);scroll-margin-top:80px}.kapitel__eintrag:last-child{padding-bottom:0}.kapitel__kopf{align-self:start;position:sticky;top:88px}.kapitel__kopf h3{margin:0 0 .35rem;font-size:clamp(1.3rem,2.2vw,1.6rem);color:var(--brown-deep)}.kapitel__unter{margin:0;font-size:.92rem;color:var(--muted)}.kapitel__text>:first-child{margin-top:0}.kapitel__text>:last-child{margin-bottom:0}.kapitel__text p,.kapitel__text ul{max-width:66ch}@media(max-width:820px){.kapitel__eintrag{grid-template-columns:1fr;gap:14px}.kapitel__kopf{position:static}}.goal-list{margin:.4rem 0 0;padding-left:1.2rem}.goal-list li{color:var(--ink-soft)}.goal-list li+li{margin-top:.4rem}.goal-list li::marker{color:var(--sand-text)}.kursplan{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,18px)}.kursplan__tag{padding:14px 16px 10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm)}.kursplan__name{margin:0 0 .3rem;font-family:var(--font-display);font-size:1.12rem;color:var(--brown-deep)}.kursplan__einheiten{list-style:none;margin:0;padding:0}.kursplan__einheiten li{display:grid;gap:1px;padding:.5rem 0;border-top:1px solid var(--line-soft)}.kursplan__zeit{font-size:.84rem;letter-spacing:.02em;font-variant-numeric:tabular-nums;color:var(--sand-text)}.kursplan__titel{color:var(--ink)}.kursplan__einheiten li.ist-pause .kursplan__titel{color:var(--muted);font-style:italic}@media(max-width:640px){.kursplan{grid-template-columns:1fr}}.teacher{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:1.4rem;align-items:start}.teacher .snap{align-self:start}.teacher .snap img{width:100%;height:auto}@media(max-width:640px){.teacher{grid-template-columns:1fr}.teacher .snap{max-width:280px}}.prose h2{margin-top:1.9rem;font-size:clamp(1.2rem,1.8vw,1.45rem)}.prose h2:first-child{margin-top:0}.prose p{max-width:74ch}@media(max-width:760px){.nav-toggle{display:inline-flex}.nav{position:fixed;top:0;right:0;height:100dvh;width:min(320px,86vw);padding:84px 26px 28px;background:var(--cream);border-left:1px solid var(--line);transform:translate(100%);transition:transform .28s ease;z-index:35}body.nav-open .nav{transform:translate(0)}body.nav-open .nav-scrim{opacity:1;pointer-events:auto}html:has(body.nav-open){overflow:hidden}.nav ul{flex-direction:column;align-items:stretch;gap:.2rem}.nav a{padding:.7rem 0 .7rem 18px;font-size:1.02rem}.nav a[aria-current=page]:after{left:2px;top:50%;bottom:auto;transform:translateY(-50%)}}.anmeldeleiste{display:none}@media(max-width:760px){.anmeldeleiste{position:fixed;left:0;right:0;bottom:0;z-index:36;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 5% calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--cream) 94%,transparent);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);border-top:1px solid var(--line);transform:translateY(110%);visibility:hidden;transition:transform .4s cubic-bezier(.22,.61,.36,1),visibility 0s linear .4s}.anmeldeleiste.ist-sichtbar{transform:none;visibility:visible;transition:transform .4s cubic-bezier(.22,.61,.36,1),visibility 0s}body.nav-open .anmeldeleiste{transform:translateY(110%);visibility:hidden}}.anmeldeleiste__text{min-width:0;line-height:1.3}.anmeldeleiste p{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.anmeldeleiste__titel{font-family:var(--font-display);font-size:1rem;color:var(--brown-deep)}.anmeldeleiste__zeile{font-size:.82rem;color:var(--ink-soft)}.anmeldeleiste .cta{flex:none;padding-inline:1.25rem}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.35s;animation-timing-function:ease}@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}*{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
