:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#183829;background:#f6f3eb}*{box-sizing:border-box}body{margin:0;line-height:1.6}a{color:#17563c}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:white;padding:.7rem}.language-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem max(1rem,calc((100vw - 72rem)/2));background:#e8e3d8}.language-header img{width:165px;max-width:42vw;height:auto}.language-header>a:last-child{text-align:right}.language-main{max-width:72rem;margin:auto;padding:clamp(2rem,5vw,4rem) 1.2rem 5rem}.eyebrow{font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700}h1{font-size:clamp(2.2rem,5vw,4.5rem);line-height:1.1;max-width:18ch;margin:.4rem 0 1.5rem}h2{font-size:1.45rem;line-height:1.25}.lead{font-size:clamp(1.13rem,2vw,1.4rem);max-width:52rem}.language-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.9rem;margin:2.5rem 0}.language-grid a{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:1.25rem;background:#fff;border:1px solid #c7d3c7;border-radius:.6rem;text-decoration:none;font-weight:700}.language-grid a:hover,.language-grid a:focus-visible{border-color:#176143;box-shadow:0 0 0 2px #176143}.language-grid small{font-weight:400}.note{max-width:55rem;padding:1rem 1.2rem;border-left:3px solid #176143;background:#e8eee7}.language-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:2.5rem 0}.language-content section{padding:1.4rem;background:#fff;border:1px solid #e2e2d8;border-radius:.5rem}.language-content section h2{margin-top:0}.action{display:inline-block;background:#183829;color:#fff;text-decoration:none;padding:.8rem 1.2rem;border-radius:.3rem;margin-top:.6rem}.text-languages{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;border-top:1px solid #bdc9ba;padding-top:1.5rem}.text-languages a[aria-current=page]{font-weight:700;text-decoration-thickness:3px}footer{background:#183829;color:#fff;padding:2rem max(1rem,calc((100vw - 72rem)/2));display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}footer a{color:#fff}footer nav{display:flex;gap:1.2rem}@media(max-width:700px){.language-content{grid-template-columns:1fr}.language-header img{width:120px}.language-grid{grid-template-columns:1fr 1fr}}@media(max-width:450px){.language-grid{grid-template-columns:1fr}}

/* National flags belong to the language selector, not the German homepage header. */
.flag-language-tile{position:relative;isolation:isolate;overflow:hidden;min-height:7.5rem;align-items:end!important;box-shadow:0 .4rem 1.2rem #18382916}.flag-background{position:absolute;inset:-2rem -1rem auto auto;z-index:-1;font-size:clamp(5.5rem,13vw,8rem);line-height:1;opacity:.3;filter:saturate(1.15);transform:rotate(-13deg)}.flag-language-name{position:relative;z-index:1;font-size:1.2rem;overflow-wrap:anywhere}.flag-language-tile small{position:relative;z-index:1;white-space:nowrap}@media(max-width:450px){.language-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.flag-language-tile{min-height:7rem;padding:.85rem;flex-direction:column;align-items:flex-start!important;justify-content:flex-end}.flag-background{font-size:5.7rem;right:-.6rem;top:-.8rem}.flag-language-name{font-size:1rem}}@media(max-width:330px){.language-grid{grid-template-columns:1fr}}

.registration-panel{margin:2.5rem 0;padding:clamp(1.2rem,4vw,2rem);background:#fff;border:2px solid #b8cabc;border-radius:.75rem;box-shadow:0 .6rem 2rem #18382912}.registration-panel h2{margin:.1rem 0 .5rem}.registration-panel>p{max-width:55rem}.registration-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.25rem 0}.form-field{display:flex;flex-direction:column;gap:.3rem;min-width:0}.form-field.full{grid-column:1/-1}.form-field label{font-weight:700}.form-field :is(input,select,textarea),.registration-panel select{font:inherit;min-height:2.8rem;width:100%;padding:.55rem .7rem;border:1px solid #8a9c8c;border-radius:.35rem;background:#fff;color:#183829}.form-field :is(input,select,textarea):focus-visible,.registration-panel select:focus-visible{outline:3px solid #246749;outline-offset:2px}.course-summary{margin:.35rem 0 0;font-weight:700}.language-confirm{padding:.8rem 1rem;background:#e8eee7;border-radius:.4rem}.consent{display:flex;align-items:flex-start;gap:.6rem;margin:.8rem 0}.consent input{width:1.2rem;height:1.2rem;flex:none}.legal-note{font-size:.9rem;margin:.7rem 0;color:#334a3a}.submit-registration{font:inherit;font-weight:700;min-height:3.2rem;padding:.75rem 1.3rem;margin-top:1rem;border:0;border-radius:.35rem;background:#183829;color:white;cursor:pointer}.submit-registration:disabled{opacity:.55;cursor:not-allowed}.form-status{min-height:1.5em;font-weight:700}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}@media(max-width:600px){.registration-fields{grid-template-columns:1fr}.registration-panel{margin-inline:-.3rem}.submit-registration{width:100%}}

/* Current language is visible without relying on motion or colour alone. */
.rotation-status{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;width:max-content;max-width:100%;margin:1rem 0 0;padding:.4rem .75rem;border:1px solid #b8cabc;border-radius:999px;background:#fff;font-size:.9rem}.rotation-status-dot{width:.65rem;height:.65rem;border-radius:50%;background:#176143;flex:none}.rotation-status strong{color:#124b32}.rotation-status-time{color:#52685b}.flag-language-tile[data-active="true"]{border:3px solid #176143!important;padding:calc(1.25rem - 2px)!important;box-shadow:0 0 0 4px #d5e7d6,0 .6rem 1.3rem #18382930!important;background:#f2faed!important}.flag-language-tile[data-active="true"]::after{content:"●";position:absolute;inset:.4rem .55rem auto auto;font-size:1rem;color:#176143}.flag-language-tile[data-active="true"] .flag-background{opacity:.48}.flag-language-tile[data-active="true"]{animation:language-pulse 2.4s ease-in-out infinite}@keyframes language-pulse{50%{box-shadow:0 0 0 7px #d5e7d6,0 .6rem 1.3rem #18382930}}@media(max-width:450px){.flag-language-tile[data-active="true"]{padding:calc(.85rem - 2px)!important}.rotation-status{font-size:.78rem}.rotation-status-time{font-size:.72rem}}@media(prefers-reduced-motion:reduce){.flag-language-tile[data-active="true"]{animation:none}}
