@font-face{font-family:Bricolage;src:url('/assets/fonts/bricolage-latin.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:Hanken;src:url('/assets/fonts/hanken-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{color-scheme:light;--ink:#282030;--muted:#635b68;--paper:#fff;--accent:#f4d575;--line:#dcd7df;--pad:clamp(20px,4.5vw,4.5rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{overflow-wrap:anywhere;margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.55 Hanken,Arial,sans-serif}h1,h2,p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #7543a7;outline-offset:5px}a:hover{text-decoration:underline;text-underline-offset:.25em}[hidden]{display:none!important}.wrap{max-width:88rem;margin-inline:auto;padding-inline:var(--pad)}[id]{scroll-margin-top:1.5rem}.legacy-anchor{position:absolute;pointer-events:none}.skip{position:fixed;top:1rem;left:1rem;z-index:5;transform:translateY(-200%);padding:.7rem 1rem;background:#fff;color:var(--ink)}.skip:focus{transform:none}
.landing-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:1.2rem}.landing-brand{display:flex;align-items:baseline;gap:1rem;font:650 clamp(1.35rem,2vw,1.8rem)/1.2 Bricolage,Arial,sans-serif;letter-spacing:-.045em}.landing-brand span{font:500 .875rem/1.2 Hanken,Arial,sans-serif;letter-spacing:0;color:var(--muted)}.language-link{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;border:1px solid var(--line);font-size:.875rem;font-weight:600;border-radius:50%}
.landing-hero{position:relative;isolation:isolate;color:#fff;background:#241d2b;padding-block:clamp(3.5rem,6.3vw,6.5rem) 5rem}.hero-stage,.hero-poster,.hero-video,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-stage{z-index:-1;overflow:hidden}.hero-poster{background:url('/assets/media/hero-poster.jpg') 65% 43%/cover no-repeat}.hero-video{object-fit:cover;object-position:65% 43%;opacity:0;filter:saturate(.75);transition:opacity .3s ease}.hero-video.is-playing{opacity:1}.hero-shade{background:linear-gradient(90deg,rgba(25,17,33,.88),rgba(25,17,33,.64) 56%,rgba(25,17,33,.25)),linear-gradient(0deg,rgba(25,17,33,.35),transparent 30%)}.hero-content{position:relative}.hero-content h1{font:650 clamp(3rem,6.15vw,5.6rem)/1.04 Bricolage,Arial,sans-serif;letter-spacing:-.045em;max-width:18ch;text-wrap:balance}.hero-intro{margin-top:1.65rem;font-size:clamp(1.1rem,1.7vw,1.25rem);line-height:1.55;max-width:48ch;text-wrap:pretty}.hero-action{display:flex;align-items:center;gap:1.5rem;margin-top:2rem;flex-wrap:wrap}.primary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-height:54px;padding:.85rem 1.2rem;background:var(--accent);color:var(--ink);font-size:1rem;font-weight:700;border-radius:2px;transition:background .15s}.primary-link:hover{background:#ffe7a3;text-decoration:none}.primary-link span{font-size:1.4rem;line-height:1}.action-note{font-size:.875rem;max-width:min(100%,24ch);line-height:1.45}.hero-controls{position:absolute;bottom:1rem;left:0;right:0;display:flex;justify-content:flex-end}.film-toggle{display:inline-flex;align-items:center;gap:.7rem;min-height:44px;border:1px solid #ffffff66;border-radius:2px;padding:.5rem .8rem;background:#211a29d9;color:#fff;font-size:.875rem;cursor:pointer}.film-toggle:hover{background:#211a29}.film-toggle-icon{min-width:1em;text-align:center}.landing-hero :focus-visible{outline-color:var(--accent)}
.pillars{position:relative;display:grid;grid-template-columns:1.05fr 1fr 1fr;padding-block:3.5rem;gap:clamp(2rem,4vw,4rem)}.pillar{min-width:0;display:flex;flex-direction:column;align-items:flex-start;border-left:1px solid var(--line);padding-left:clamp(1.5rem,3vw,3rem)}.pillar:first-of-type{border:0;padding-left:0}.pillar h2{font:600 clamp(1.55rem,2.3vw,2.05rem)/1.15 Bricolage,Arial,sans-serif;letter-spacing:-.035em;text-wrap:balance;max-width:22ch}.pillar-lernbus h2{font-size:2.25rem;line-height:1.1}.pillar-description{margin-top:.85rem;font-size:1rem;line-height:1.55;max-width:36ch}.pillar-status{font-size:.875rem;color:var(--muted);margin-top:.9rem}.text-link{display:inline-flex;align-items:center;gap:2rem;min-height:44px;margin-top:.5rem;font-size:1rem;font-weight:650;text-decoration:underline;text-underline-offset:.25em}.development-label{font-size:.875rem;font-weight:500;color:var(--muted);margin-bottom:1rem}.pillar-name{font-size:1rem;color:var(--muted);margin-top:1rem}.landing-footer{position:relative;display:flex;justify-content:space-between;gap:2rem;padding-block:1.75rem 2rem;border-top:1px solid var(--line)}.landing-footer>p{font-size:.875rem;color:var(--muted);max-width:58ch;line-height:1.55}.landing-footer nav{display:flex;align-items:flex-start;flex-wrap:wrap;column-gap:1.5rem;row-gap:.2rem}.landing-footer nav a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;max-width:100%;white-space:normal}
@media(max-width:900px){.pillars{grid-template-columns:1fr;gap:1.75rem;padding-block:2.5rem}.pillar{border-left:0;border-top:1px solid var(--line);padding:1.75rem 0 0}.pillar:first-of-type{padding-top:0}.hero-content h1{font-size:clamp(3rem,7vw,4.5rem)}.landing-footer{flex-direction:column;gap:.65rem}.landing-footer>p{max-width:65ch}}
@media(max-width:640px){.landing-header{padding-block:.85rem}.landing-brand{flex-wrap:wrap;gap:.2rem .7rem;max-width:calc(100% - 44px - 1rem);overflow-wrap:anywhere}.landing-brand span{font-size:.875rem}.landing-hero{padding-block:3rem 5.25rem}.hero-content h1{font-size:clamp(2.6rem,8.5vw,3.4rem);line-height:1.06;letter-spacing:-.04em}.hero-intro{font-size:1.1rem;margin-top:1.3rem;max-width:37ch}.hero-action{gap:.85rem;margin-top:1.6rem;align-items:flex-start;flex-direction:column}.action-note{max-width:100%}.hero-shade{background:linear-gradient(90deg,rgba(25,17,33,.86),rgba(25,17,33,.62))}.hero-controls{bottom:.75rem}.film-toggle{font-size:.875rem}.pillars{grid-template-columns:1fr;gap:1.75rem;padding-block:2.25rem}.pillar{border-left:0;border-top:1px solid var(--line);padding:1.75rem 0 0}.pillar:first-of-type{padding-top:0}.pillar h2{font-size:1.7rem;max-width:28ch;text-wrap:initial}.pillar-lernbus h2{font-size:2.25rem}.development-label{margin-bottom:.6rem}.pillar-name{margin-top:.6rem}.landing-footer{padding-block:1.25rem 1.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* The imprint shares the landing page's header, type and footer. */
.legal-intro{padding-block:clamp(2.5rem,5vw,5rem) 3rem;max-width:65rem}
.legal-back{display:inline-flex;align-items:center;gap:.75rem;min-height:44px;font-size:.875rem;color:var(--muted);margin-bottom:1.5rem}
.legal-intro h1{font:650 clamp(2.5rem,5.5vw,4.8rem)/1.08 Bricolage,Arial,sans-serif;letter-spacing:-.045em;max-width:19ch;overflow-wrap:anywhere;text-wrap:balance}
.legal-lead{margin-top:1.5rem;max-width:48ch;font-size:clamp(1.1rem,1.6vw,1.25rem);line-height:1.55;color:var(--muted)}
.legal-sections{max-width:75rem;padding-bottom:3rem}
.legal-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);column-gap:clamp(2rem,5vw,5rem);border-top:1px solid var(--line);padding-block:2rem}
.legal-section h2{font:600 clamp(1.4rem,2.2vw,1.85rem)/1.2 Bricolage,Arial,sans-serif;letter-spacing:-.025em;max-width:24ch;overflow-wrap:anywhere}
.legal-copy{min-width:0;max-width:68ch;font-size:1.0625rem;line-height:1.7;overflow-wrap:anywhere}
.legal-copy p+p{margin-top:1rem}
.legal-copy a{text-decoration:underline;text-underline-offset:.2em}
@media(max-width:800px){.legal-intro{padding-block:2rem 2.25rem}.legal-section{grid-template-columns:1fr;row-gap:1rem;padding-block:1.75rem}.legal-section h2{max-width:30ch}.legal-sections{padding-bottom:1.5rem}}
@media print{.society-legal-page .landing-header,.society-legal-page .landing-footer,.legal-back,.skip{display:none}.landing-legal{max-width:none;padding:0}.legal-intro{padding-block:0 1.5rem}.legal-intro h1{font-size:24pt}.legal-section{display:block;padding-block:1rem}.legal-section h2{font-size:14pt;break-after:avoid;margin-bottom:.6rem}.legal-copy{font-size:11pt;max-width:none}.legal-copy p{orphans:3;widows:3}}

/* Let enlarged text wrap inside actions and offer columns. */
.hero-action>*{min-width:0}
.primary-link{max-width:100%}
.pillar>*{max-width:100%}
.pillar-description{max-width:min(100%,36ch)}
.pillar h2{max-width:min(100%,22ch)}
@media(max-width:640px){.pillar h2{max-width:min(100%,28ch)}}
