:root{--content-width:calc(100% - 32px);--content-max-width:1559px;--cream:#f2efea;--ink:#202020;--blue:#6879f6;--grey:#eadfd4;--yellow:#f9d94e;--orange:#ef8132;--green:#48a541;--font:Futura,"Century Gothic","Avenir Next",sans-serif;color:var(--ink);background:var(--cream);font-family:var(--font);font-synthesis:none;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--blue);outline-offset:5px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}button{border:0}img{display:block}section{scroll-margin-top:140px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;left:16px;top:-100px;z-index:100;background:white;padding:16px}.skip:focus{top:10px}
.header{position:fixed;z-index:20;top:40px;left:50%;transform:translateX(-50%);width:var(--content-width);max-width:var(--content-max-width);height:76px;background:var(--cream);border-radius:16px;box-shadow:0 0 20px #0003;display:flex;align-items:center;justify-content:space-between;padding:12px 24px}.brand{display:flex;align-items:center;gap:19px}.brand span{font-family:"Kode Mono",monospace;font-size:16px;font-weight:700;line-height:1;text-transform:uppercase}.desktop-nav{display:flex;gap:34px;font-size:16px}.desktop-nav a{border-bottom:2px solid transparent;padding:6px 0}.desktop-nav a:hover,.desktop-nav a[aria-current=location]{border-color:var(--blue)}.menu-toggle{display:none;background:none;padding:0}.menu{position:fixed;inset:0;border:0;padding:0 32px;background:var(--cream);width:100%;height:100%;max-height:none;max-width:none;z-index:19}.menu::backdrop{background:var(--cream)}.menu nav{display:flex;flex-direction:column;gap:36px;margin-top:260px;font-size:30px}.menu-legal{display:flex;gap:50px;margin-top:100px}.menu-open{overflow:hidden}
.institutions{padding:140px 0 0;overflow:hidden}.institutions h2{text-align:center;font-size:64px;line-height:.95;font-weight:500;letter-spacing:-.04em}.carousel-window{margin-top:72px;overflow:hidden;padding:24px 0 44px}.institution-track{display:flex;gap:28px;align-items:center;justify-content:center;max-width:1200px;margin:auto}.institution-card{flex:0 0 280px;background:#fff;border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:12px;transition:transform .35s,opacity .35s;min-height:430px}.institution-card:nth-child(1){transform:rotate(-9deg)}.institution-card:nth-child(3){transform:rotate(9deg)}.institution-card:nth-child(4){display:none}.institution-image{position:relative;border-radius:8px;height:220px;overflow:hidden;background:#f3f3f3}.institution-image>img{width:100%;height:100%;object-fit:cover}.institution-card[data-institution=bkh] .institution-image>img{width:124.49%;max-width:none;position:relative;left:-6.84%}.institution-image .dot{position:absolute;right:8px;top:8px;width:28px;height:28px}.institution-card h3{font-size:22px;font-weight:500;line-height:1.15}.institution-card p{font-size:16px;line-height:1.15;color:#4e4e4e}.institution-card a{font-size:16px;margin-top:auto;display:flex;align-items:center;gap:8px}.institution-card a img{width:12px;height:12px}.carousel-controls{display:flex;gap:9px;justify-content:center;margin-top:0}.carousel-controls button{border:2px solid var(--grey);border-radius:50%;width:60px;height:60px;display:grid;place-items:center;background:none}
.about{max-width:940px;margin:110px auto 100px;padding:0 26px;text-align:center}.about h2{font-size:14px;text-transform:uppercase;font-weight:700;margin-bottom:24px}.about p{font-size:42px;line-height:1.15;font-weight:500;letter-spacing:-.025em}.courses{width:var(--content-width);max-width:var(--content-max-width);margin:0 auto;padding:0 0 70px}.course-tools{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.filters{display:flex;gap:4px;overflow:auto;scrollbar-width:none}.filters button{flex-shrink:0;background:#e6dfd6;border-radius:36px;min-height:43px;padding:11px 24px;white-space:nowrap;font-size:16px}.filters button.active{background:#dfd3c6;box-shadow:inset 0 0 0 1px #b8a48e}.search input{min-height:43px;border:1px solid #d6cabe;border-radius:36px;background:transparent;width:240px;padding:8px 18px;font-size:16px}.course-status{font-size:14px;margin:0 8px 18px;color:#67605a}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.course-card{position:relative;background:#fff;border-radius:32px;padding:24px;display:flex;flex-direction:column;min-height:426px}.course-card h3{font-size:30px;line-height:34px;font-weight:500;padding-right:36px;margin-bottom:24px;overflow-wrap:anywhere}.course-card>.dot{position:absolute;right:24px;top:24px;width:28px;height:28px}.course-meta{display:flex;flex-direction:column;gap:8px;font-size:16px;line-height:1.2;margin-bottom:24px}.course-meta p{display:flex;gap:8px;align-items:flex-start}.course-meta img{width:20px;height:20px;flex-shrink:0}.price{font-size:30px;line-height:34px;margin-top:auto;margin-bottom:24px}.card-actions{display:flex;flex-direction:column;gap:8px}.pill{border:2px solid var(--grey);border-radius:36px;padding:10px 24px;min-height:43px;display:flex;align-items:center;justify-content:center;gap:16px;font-size:16px;line-height:19px;background:transparent;text-align:center}.primary{background:var(--blue);border-color:var(--blue);color:white}.pill img{width:16px;height:16px}.availability{font-size:13px;color:#5a5a5a;margin:8px 0 0;text-align:center}.load-more{margin:32px auto 0;min-width:240px}.empty,.error-panel{border:1px solid var(--grey);border-radius:24px;padding:32px;text-align:center;grid-column:1/-1}.error-panel{display:flex;flex-direction:column;align-items:center;gap:16px}.dot{display:inline-block;border-radius:50%;width:24px;height:24px;flex-shrink:0}.blue{background:var(--blue)}.yellow{background:var(--yellow)}.orange{background:var(--orange)}.green{background:var(--green)}
.footer{max-width:1200px;margin:20px auto 0;padding:0 0 30px}.follow{text-align:center;margin:75px auto 100px}.follow h2{font-size:30px;line-height:1;font-weight:500}.follow p{font-size:16px;line-height:1.3;margin-top:28px}.follow a{text-decoration:underline;text-underline-offset:4px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:64px;padding:20px 0}.institution-logos{width:370px;height:93px;max-width:100%;object-fit:contain}.institution-list{width:400px}.institution-list h3{font-size:14px;text-transform:uppercase;font-weight:600;margin-bottom:20px}.institution-list a{display:flex;gap:12px;align-items:center;font-size:14px;text-transform:uppercase;margin:12px 0}.footer-title{font-size:clamp(64px,9vw,128px);font-weight:500;letter-spacing:-.045em;line-height:1;margin:80px 0 32px}.footer-links{display:flex;justify-content:space-between;border-top:1px solid var(--ink);padding-top:18px;text-transform:uppercase;font-size:14px}.page-institutions .hero,.page-about .hero,.page-courses .hero{display:none}.page-institutions .institutions{padding-top:200px}.page-about .institutions,.page-courses .institutions{display:none}.page-about .about{margin-top:190px}.page-courses .about{margin-top:190px}.page-courses .about p{font-size:30px;max-width:700px;margin:auto}.page-booking .hero,.page-booking .institutions,.page-booking .about,.page-booking .courses,.page-legal .hero,.page-legal .institutions,.page-legal .about,.page-legal .courses{display:none}.booking,.legal{max-width:1100px;margin:180px auto 70px;padding:0 24px;min-height:400px}.booking h1,.legal h1{font-size:52px;font-weight:500;margin:24px 0}.booking>p{margin-bottom:32px}.back-link{font-size:16px;text-decoration:underline;text-underline-offset:4px}.legal{max-width:800px;line-height:1.6}.legal h2{font-size:26px;margin:32px 0 12px}.legal p{margin:16px 0}.legal a{text-decoration:underline}.course-dialog{border:0;border-radius:28px;padding:40px;width:min(680px,calc(100% - 32px));max-height:85dvh;overflow:auto;background:var(--cream);color:var(--ink)}.course-dialog::backdrop{background:#20202088;backdrop-filter:blur(3px)}.close-dialog{position:sticky;top:0;float:right;width:36px;height:36px;border-radius:50%;background:white;font-size:28px;line-height:1;z-index:2}.course-dialog h2{font-size:32px;line-height:1.12;margin:12px 35px 24px 0;font-weight:500}.course-dialog .detail-copy{white-space:pre-line;font-size:18px;line-height:1.5;margin-bottom:32px}.detail-label{font-size:14px;text-transform:uppercase;margin:24px 0 8px;font-weight:700}.detail-dates{font-size:16px;line-height:1.5;margin-bottom:24px}.course-dialog .price{margin-top:24px}
@media(max-width:1264px){.courses,.footer{margin-left:32px;margin-right:32px}.institution-track{gap:20px}.institution-card{flex-basis:260px}}
@media(max-width:760px){.header{top:56px;height:65px;padding:12px 32px 12px 16px}.brand span{font-size:16px}.desktop-nav{display:none}.menu-toggle{display:block}.menu-toggle img{width:30px;height:41px}.institutions{padding:59px 0 0;margin-top:0}.institutions h2{font-size:54px;line-height:48px;letter-spacing:-.04em}.carousel-window{margin-top:48px;padding:0 0 24px;height:420px}.institution-track{position:relative;width:100%;height:389px;display:block}.institution-card{position:absolute;left:calc(50% - 118px);top:0;width:236px;height:389px;min-height:0;padding:16px;gap:12px}.institution-card:nth-child(1){left:calc(50% - 118px - 315px);top:12px;transform:rotate(-10deg)}.institution-card:nth-child(2){transform:none}.institution-card:nth-child(3){left:calc(50% - 118px + 315px);top:12px;transform:rotate(10deg)}.institution-image{height:187px;flex-shrink:0}.institution-card h3{font-size:18px;line-height:20px}.institution-card p{font-size:15px;line-height:16px}.carousel-controls{margin-top:3px}.about{margin:77px auto 78px;padding:0 26px}.about h2{font-size:14px;margin-bottom:28px}.about p{font-size:30px;line-height:34px;letter-spacing:-.025em}.courses{margin:0 auto;padding-bottom:0}.course-tools{display:block;margin-bottom:24px}.filters{margin:0 -16px;padding:0 22px;gap:4px}.search{display:block;margin:18px 0 0}.search input{width:100%}.course-grid{grid-template-columns:1fr;gap:8px}.course-card{min-height:426px}.course-card h3{max-width:calc(100% - 20px)}.course-meta{font-size:16px}.course-status{margin-left:8px}.footer{margin:0 16px;padding-bottom:30px}.follow{margin:78px 0 60px}.follow h2{font-size:30px;line-height:30px}.follow p{font-size:15px}.footer-main{display:block;padding:0}.institution-logos{width:370px;height:auto;max-width:100%;margin:auto}.institution-list{width:auto;margin-top:34px}.institution-list a{font-size:14px;line-height:18px;margin:12px 0}.institution-list h3{margin-bottom:20px}.footer-title{font-size:54px;line-height:56px;margin:58px 0 28px}.footer-links{font-size:12px;gap:12px;padding-top:8px}.page-institutions .institutions{padding-top:182px}.page-about .about,.page-courses .about{margin-top:185px}.page-courses .about p{font-size:30px}.booking,.legal{margin-top:165px;padding:0 16px}.booking h1,.legal h1{font-size:40px}.course-dialog{padding:24px}.course-dialog h2{font-size:30px}}
.menu-close{position:absolute;right:38px;top:69px;background:none;font-size:36px;line-height:40px;width:40px;height:40px}.sprengel-image{display:grid;place-items:center}.sprengel-image>img{width:95px;height:92px}.menu-close:focus-visible{outline:3px solid var(--blue)}

.menu-brand{position:absolute;top:69px;left:32px;max-width:calc(100% - 110px)}

@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}

/* Shared refinements apply to desktop and mobile. */
.logo-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(4px,1.164vw,20px);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:2px 0}
.institution-logo{display:block;min-width:0}.institution-logo img{display:block;width:100%;height:auto;aspect-ratio:375 / 380}
.filters button,.filters button.active{border:0;box-shadow:none}
.filters button:focus-visible{outline-offset:4px}
.institution-card a{align-items:center;line-height:1}.institution-card a img{display:block;flex:0 0 12px;width:12px;height:12px}
.course-meta img{display:block;flex:0 0 20px;width:20px;height:20px}
.course-card h3,.institution-card h3,.course-dialog h2{hyphens:none;word-break:normal;overflow-wrap:normal;text-wrap:balance}
.institution-card h3{font-weight:600}
@media(max-width:760px){.footer{padding-top:72px}.institution-card p{font-size:17px;line-height:19px}.institution-card{height:auto;min-height:410px}.carousel-window{height:445px}}

/* Filtered results are replaced in place; keep browser scroll anchoring outside them. */
.course-grid{overflow-anchor:none}

.dot.neutral{background:var(--grey)}
.course-card{min-width:0}
.course-card>h3{min-height:var(--course-title-height,0px);flex-shrink:0}
