/* Akademie v0.4 · KARL foundation b97a6b8 · 11 November 2026. */
:root{--ink:var(--karl-color-ink);--paper:var(--karl-color-paper);--blue:var(--karl-color-blue);--accent:var(--karl-color-accent);--muted:var(--karl-color-muted);--line:var(--karl-color-line);--gutter:clamp(20px,5.5vw,96px);--surface:#e9edf2;--brand:var(--blue);--text:var(--ink);--font-display:var(--karl-font-sans)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--karl-font-sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:600;line-height:1.08;letter-spacing:-.045em;overflow-wrap:break-word}h2{font-size:clamp(34px,4vw,58px)}h3{font-size:28px}p+p{margin-top:18px}p{line-height:1.75}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}header a:focus-visible,header button:focus-visible,.hero a:focus-visible,.employer-hero a:focus-visible,footer a:focus-visible,.funding-section a:focus-visible,.audience.dark a:focus-visible{outline-color:var(--accent)}[hidden]{display:none!important}main:focus{outline:none}::selection{background:var(--accent);color:var(--ink)}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:white;color:var(--ink);padding:16px}.skip:focus{top:12px}.preview{display:flex;justify-content:space-between;gap:16px;background:#e5e9ee;color:#43515f;padding:7px var(--gutter);font:11px/1.5 var(--karl-font-mono)}
header{display:flex;align-items:center;gap:32px;min-height:106px;padding:14px var(--gutter);background:var(--ink);color:var(--paper);border-bottom:1px solid #35404b;position:relative;z-index:10}.brand{display:block;flex:none;background:white;padding:6px 10px;width:114px}.brand img{width:94px;height:66px;object-fit:contain}nav{display:flex;align-items:center;gap:28px;margin-left:auto;font-size:14px}nav a{padding:12px 0;border-bottom:1px solid transparent}nav a:hover,nav a[aria-current=page]{color:var(--accent);border-color:var(--accent)}.header-cta{display:flex;align-items:center;justify-content:center;gap:24px;min-height:48px;padding:12px 20px;background:var(--accent);color:var(--ink);font-size:14px;font-weight:600}.header-cta:hover{background:#c5d2ff}.menu,.mobile-contact{display:none}
.eyebrow,.tag{display:block;font:12px/1.6 var(--karl-font-mono);letter-spacing:.055em;text-transform:uppercase}.blue,.tag{color:var(--blue)}.hero{display:grid;grid-template-columns:1.15fr 1fr;background:var(--ink);color:var(--paper);min-height:550px}.hero-copy{padding:54px 32px 44px var(--gutter);align-self:center}.hero .eyebrow{color:#bdc7d3;max-width:400px}.hero h1{font-size:clamp(40px,4.9vw,80px);letter-spacing:-.055em;line-height:1.04;margin:30px 0 26px}.hero h1>span{color:var(--accent)}.hero p{color:#c1cad7;max-width:510px;font-size:17px}.actions{display:flex;gap:12px 18px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid var(--blue);background:var(--blue);color:white;padding:13px 20px;min-height:48px;max-width:100%;font-size:14px;font-weight:600;line-height:1.5}.btn>span:last-child{font-size:20px;font-weight:400;flex:none}.btn:hover{background:var(--karl-color-blue-hover);border-color:var(--karl-color-blue-hover)}.btn.light{background:var(--accent);color:var(--ink);border-color:var(--accent)}.btn.light:hover{background:#c5d2ff;border-color:#c5d2ff}.btn.line{background:transparent;color:var(--paper);border-color:#778698}.btn.line:hover{border-color:var(--accent);color:var(--accent)}.hero-catalog{display:inline-flex;gap:24px;align-items:center;margin-top:23px;min-height:44px;font-size:14px;color:#c1cad7}.hero-catalog:hover{color:var(--accent)}.hero-visual{min-width:0;position:relative}.editorial-image{position:relative;display:flex;flex-direction:column;background:var(--surface);height:100%;min-width:0}.editorial-image img{object-fit:cover;width:100%;height:auto;aspect-ratio:1.5}.editorial-image figcaption{font-size:11px;line-height:1.5;padding:10px 14px;color:#4c5865;background:#e9edf2}.hero-photo{height:100%}.hero-photo img{height:100%;min-height:450px;flex:1;aspect-ratio:auto;object-position:52% center}.hero-photo figcaption{background:#1b2635;color:#c1cad7;padding-inline:20px}.band{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px var(--gutter);border-bottom:1px solid var(--line);font:12px/1.6 var(--karl-font-mono)}.band strong{font:600 28px var(--karl-font-sans);color:var(--blue);margin-right:12px}.band>a{min-height:44px;display:flex;gap:20px;align-items:center;color:var(--blue)}
.section{padding:72px var(--gutter);max-width:1600px;margin:auto}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:36px}.section-heading h2{margin-top:20px}.section-heading>p{max-width:400px;color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:24px;min-height:44px;border-bottom:1px solid currentColor;font-size:14px;font-weight:600;line-height:1.5}.text-link:hover{color:var(--blue)}.text-link>span{font-size:22px;flex:none}.audiences{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.audience{padding:32px;background:white;display:flex;align-items:flex-start;flex-direction:column;border-top:3px solid var(--blue)}.audience h3{font-size:clamp(28px,3vw,42px);margin:32px 0 20px}.audience p{max-width:540px;margin-bottom:22px;color:var(--muted)}.audience .text-link{margin-top:auto;color:var(--blue)}.audience.dark{background:var(--ink);color:var(--paper);border-color:var(--accent)}.audience.dark .eyebrow,.audience.dark .text-link{color:var(--accent)}.audience.dark p{color:#c1cad7}.course-section,.process-section,.personal-section{background:#e9eceb}.topic-links{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #a9b0b7}.topic-links a{display:grid;grid-template-columns:28px 1fr 24px;align-items:center;gap:20px;padding:26px 24px 26px 0;border-bottom:1px solid #a9b0b7}.topic-links a:nth-child(even){padding-left:28px;border-left:1px solid #a9b0b7}.topic-links strong{font-size:clamp(23px,2.4vw,34px);font-weight:500;line-height:1.2;letter-spacing:-.035em}.topic-links a>span{font:12px var(--karl-font-mono);color:var(--blue)}.topic-links a>span:last-child{font-size:24px}.topic-links a:hover strong{color:var(--blue)}.course-preview-heading{margin-top:48px;gap:24px}.course-preview-heading h3{font-size:24px}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.course-card{display:flex;flex-direction:column;min-width:0;background:white;border-top:3px solid var(--blue)}.course-card .body{padding:26px;display:flex;flex-direction:column;flex:1;min-width:0}.course-card h3{font-size:27px;line-height:1.16;margin:22px 0 18px;overflow-wrap:anywhere}.course-card h3 a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:5px}.card-teaser{font-size:15px;color:var(--muted);margin-bottom:24px}.entry-requirement{background:#edf1f7;border-left:2px solid var(--blue);padding:14px;font-size:14px;line-height:1.6;margin:0 0 20px}.entry-requirement>span{display:block;font:11px/1.6 var(--karl-font-mono);color:var(--blue);margin-bottom:8px}.entry-requirement small{display:block;color:#505e6e;font-size:12px;margin-top:8px}.official-name{margin-top:auto;font-size:13px;color:var(--muted)}summary{cursor:pointer;line-height:1.5;min-height:44px;padding:10px 0}summary:hover{color:var(--blue)}.official-name p{padding:0 0 16px;font-size:13px}.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);margin-top:12px;padding-top:12px;font-size:12px}.card-bottom a{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:var(--blue);font-size:14px;font-weight:600}.card-bottom a span{font-size:22px}.card-image img{height:210px}.note{font-size:13px;line-height:1.75;color:var(--muted);margin-top:24px}.lead{font-size:21px;color:var(--ink)!important}.roots-section,.learning-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:72px}.roots-section h2,.learning-copy h2{margin:20px 0 24px}.roots-section p,.learning-copy>p{color:var(--muted)}.roots-section .text-link,.learning-copy .text-link{margin-top:24px;color:var(--blue)}.roots-image{height:auto;align-self:stretch}.roots-image img{flex:1;min-height:300px;aspect-ratio:auto}.cta{display:flex;justify-content:space-between;align-items:center;gap:40px;background:#e3e9f4;padding:54px var(--gutter)}.cta h2{margin:18px 0 20px;font-size:clamp(34px,3.7vw,54px)}.cta p{max-width:620px;color:#43536b}.cta .btn{flex:none}.cta .btn.light{background:var(--blue);border-color:var(--blue);color:white}.cta .btn:hover{background:var(--karl-color-blue-hover)}
.page-hero{background:var(--ink);color:var(--paper);padding:30px var(--gutter) 54px}.breadcrumbs{font-size:13px;line-height:1.6;margin-bottom:32px;color:#c1cad7}.breadcrumbs a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}.page-hero .eyebrow{color:var(--accent)}.page-hero h1{font-size:clamp(38px,5.2vw,76px);max-width:1100px;margin:22px 0}.page-hero>p{max-width:740px;color:#c1cad7;font-size:18px}.employer-hero{display:grid;grid-template-columns:1.2fr 1fr;background:var(--ink);color:var(--paper)}.employer-hero-copy{padding:28px 40px 54px var(--gutter)}.employer-hero .eyebrow{color:var(--accent)}.employer-hero h1{font-size:clamp(38px,4.7vw,68px);margin:26px 0}.employer-hero h1>span{color:var(--accent)}.employer-hero-copy>p{max-width:560px;color:#c1cad7}.employer-hero-photo img{flex:1;height:100%;aspect-ratio:auto;object-position:45% center}.employer-hero-photo figcaption{background:#1b2635;color:#c1cad7}.benefit-cards,.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:38px 0}.benefit-cards article,.step{border-top:1px solid #a0acb9;padding-top:24px}.benefit-number,.step>span,.list-number{font:12px var(--karl-font-mono);color:var(--blue)}.benefit-cards h3,.step h3{font-size:28px;margin:24px 0 18px}.benefit-cards p,.step p{font-size:15px;color:var(--muted)}.funding-section{background:var(--ink);color:var(--paper)}.funding-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px}.funding-layout h2{margin:20px 0 24px}.funding-layout p{color:#c1cad7}.funding-layout .btn{margin-top:26px}.funding-facts article{display:flex;gap:24px;padding:24px 0;border-bottom:1px solid #425065}.funding-facts article>span{font:12px var(--karl-font-mono);color:var(--accent)}.funding-facts h3{font-size:27px;margin-bottom:16px}.funding-facts p{font-size:15px}.funding-note{font-size:13px!important;margin:24px 0}.source-link{font-size:13px;display:inline-block;min-height:44px;text-decoration:underline}.benefit-list article{display:flex;gap:24px;padding:24px 0;border-top:1px solid var(--line)}.benefit-list{margin-top:32px}.benefit-list h3{font-size:25px;margin-bottom:12px}.benefit-list p{font-size:15px;color:var(--muted)}.learning-photo .editorial-image{height:auto}.learning-photo img{min-height:360px;object-fit:cover}.notice{padding:20px 24px;border-left:3px solid var(--blue);background:#e6ecf6;color:#43536b!important;font-size:14px!important;line-height:1.8}.learning-copy .notice{margin-top:24px}
.tone-switch{display:flex;flex-wrap:wrap;gap:4px;width:fit-content;background:#e2e7ee;padding:4px;margin-bottom:32px;font-size:14px}.tone-switch a{display:flex;align-items:center;min-height:44px;padding:10px 18px;border:1px solid transparent}.tone-switch a[aria-current=true]{background:white;border-color:#a8b5c6;color:var(--blue);font-weight:600}.catalog-toolbar{background:white;padding:24px;margin-bottom:24px;border:1px solid var(--line)}.search-row{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-bottom:20px}.search-row label{font-size:14px}.search-row input{flex:1;min-width:180px;border:1px solid #7b8794;background:white;padding:12px;min-height:48px;border-radius:0}.search-row span{font:12px var(--karl-font-mono);color:var(--muted)}.filters{display:flex;flex-wrap:wrap;gap:8px}.filter{background:white;border:1px solid #7b8794;min-height:44px;padding:10px 18px;font-size:14px}.filter[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:white}.filter:hover{border-color:var(--blue)}.empty{grid-column:1/-1;background:white;padding:32px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:64px}.detail-section>.tone-switch{margin-bottom:40px}.official-detail{background:white;padding:24px;margin-top:24px}.official-detail p{font-size:20px;margin-top:16px}.detail-answers{margin:28px 0}.detail-answers article{display:flex;gap:24px;padding:28px 0;border-bottom:1px solid var(--line)}.detail-answers article>span{font:12px var(--karl-font-mono);color:var(--blue);padding-top:5px}.detail-answers article>div{min-width:0}.detail-answers h2{font-size:28px;margin-bottom:16px}.detail-answers p{font-size:16px;color:var(--muted)}.detail-answers .text-link{color:var(--blue);margin-top:16px}.facts{background:white;padding:30px;height:fit-content;min-width:0;border-top:3px solid var(--blue)}.facts dl{margin:0}.facts dl>div{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);font-size:14px}.facts dt{color:var(--muted)}.facts dd{margin:0;text-align:right;font-weight:600;overflow-wrap:anywhere}.facts .btn{width:100%;margin-top:24px}.detail-section .facts{position:sticky;top:24px}.career-benefits{padding:24px;background:white;margin-top:20px}.career-benefits ul{padding-left:20px;line-height:1.8}.career-benefits li+li{margin-top:12px}.career-benefits .note{font-size:13px}.legal-status{padding-top:0}.people-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:32px 0 40px}.person-slot{display:grid;grid-template-columns:.8fr 1.2fr;background:white;min-width:0}.portrait-placeholder{background:#dfe5ee;display:flex;flex-direction:column;justify-content:space-between;gap:24px;min-height:300px;padding:24px}.placeholder-label{font:11px/1.7 var(--karl-font-mono)}.placeholder-number{font-size:72px;line-height:1;color:var(--blue)}.portrait-placeholder>span:last-child{font-size:13px}.person-copy{padding:28px;align-self:center}.person-copy h3{font-size:27px;margin:20px 0}.person-copy p{font-size:14px;color:var(--muted)}.room-slot{display:grid;grid-template-columns:1fr 1fr;background:white}.room-placeholder{padding:32px;min-height:320px;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;justify-content:space-between;gap:24px}.room-placeholder>span:nth-child(2){font-size:42px;line-height:1.1;letter-spacing:-.04em}.room-placeholder>small{font-size:13px;color:var(--accent)}.room-copy{padding:36px;align-self:center}.room-copy h3{margin:20px 0}.room-copy p{font-size:15px;color:var(--muted)}.room-copy .text-link{margin-top:20px;color:var(--blue)}
.form{display:grid;gap:24px;margin-top:28px;min-width:0}.form label{display:block;font-size:14px;line-height:1.6}.form input,.form select,.form textarea{display:block;width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid #7b8794;background:white;color:var(--ink);font:16px/1.5 var(--karl-font-sans);border-radius:0;margin-top:8px}.form textarea{min-height:150px;resize:vertical}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.form fieldset{padding:24px;border:1px solid #a6b0bc;min-width:0;margin:0;background:#edf0f4}.form legend{padding:0 8px;font-size:15px;font-weight:600}.form fieldset .form-row+.form-row{margin-top:20px}.form .form-help{font-size:14px;color:var(--muted)}.form .checkbox{display:flex;align-items:flex-start;gap:12px;min-height:44px}.form .checkbox input{width:20px;height:20px;min-height:20px;margin-top:3px;flex:none;accent-color:var(--blue)}.form .btn{justify-self:start}.form .btn>[data-copy]{font-size:14px;font-weight:600}.form-result{background:#e6ecf6;border:1px solid var(--blue);padding:24px;white-space:pre-line;overflow-wrap:anywhere;line-height:1.8;font-size:14px}.contact-facts h2{font-size:36px;margin:24px 0}.contact-facts>p{font-size:15px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-top:18px;color:var(--muted)}.contact-facts strong{display:block;color:var(--ink)}.contact-facts .note{font-size:13px}.contact-facts .text-link{color:var(--blue);margin-top:18px}.readiness-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:32px 0}.readiness-grid article{padding:28px;background:white}.readiness-grid h2{font-size:29px;margin-top:18px}.readiness-grid ul{padding-left:20px;color:var(--muted);font-size:15px;line-height:1.8}.readiness-grid li+li{margin-top:14px}.legal{max-width:1000px;min-height:320px}.legal p{color:var(--muted)}.legal .text-link{margin-top:24px}
footer{background:var(--ink);color:var(--paper);padding:54px var(--gutter) 28px}.footer-top{display:flex;justify-content:space-between;gap:40px;padding-bottom:40px}.footer-brand{display:block;font-size:32px;font-weight:600;line-height:1.2;letter-spacing:-.03em}.footer-brand span{display:block;font:12px var(--karl-font-mono);letter-spacing:.2em;color:var(--accent);margin-top:12px}.footer-top p{font-size:14px;color:#b7c0cd;margin-top:24px}.footer-top .eyebrow{color:#b7c0cd}.footer-cta{display:block;font-size:30px;line-height:1.25;letter-spacing:-.035em;margin-top:20px}.footer-cta:hover{color:var(--accent)}.footer-bottom{border-top:1px solid #425065;padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;font-size:12px;color:#b7c0cd}.footer-bottom>div{display:flex;flex-wrap:wrap;gap:12px 24px}.footer-bottom a{display:inline-flex;align-items:center;min-height:44px}.footer-bottom>span{align-self:center}
@media(max-width:1100px){header{gap:20px}nav{gap:20px;font-size:13px}.header-cta{padding-inline:14px;gap:12px}.hero h1{font-size:4.9vw}.hero-copy{padding-right:24px}.hero .actions{flex-direction:column;align-items:flex-start}.hero .btn{min-width:230px}.band{flex-wrap:wrap}.band>span:nth-child(2){font-size:11px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-grid>.course-card:last-child:nth-child(3){grid-column:1/-1}.roots-section,.learning-section{gap:40px}.person-slot{grid-template-columns:1fr}.portrait-placeholder{min-height:220px}.detail-grid{gap:36px}.funding-layout{gap:48px}.employer-hero h1{font-size:4.8vw}}
@media(max-width:900px){header{min-height:94px;gap:18px}.brand{width:98px;padding:5px 8px}.brand img{width:82px;height:58px}.menu{display:flex;align-items:center;gap:12px;margin-left:auto;background:none;border:1px solid #7c8ca2;color:var(--paper);min-height:44px;padding:10px 14px;font-size:14px}.menu span{font-size:20px;line-height:1}nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:16px var(--gutter) 24px;background:#1b2635;border-bottom:1px solid #7c8ca2;max-height:calc(100dvh - 135px);overflow-y:auto}nav.open{display:flex;align-items:stretch;flex-direction:column;gap:0}nav a{padding:14px 0;min-height:48px;font-size:16px}nav .mobile-contact{display:block}.hero{grid-template-columns:1fr 1fr;min-height:490px}.hero h1{font-size:4.85vw}.hero-copy{padding-block:36px}.hero p{font-size:16px}.hero .eyebrow{font-size:11px}.hero-photo img{min-height:460px}.section-heading{gap:32px}.section-heading>p{max-width:320px}.employer-hero{grid-template-columns:1fr}.employer-hero h1{font-size:56px;max-width:750px}.employer-hero-copy{padding-right:var(--gutter)}.employer-hero-photo img{max-height:400px;aspect-ratio:2;object-position:center 40%}.benefit-cards,.steps{gap:24px}.benefit-cards h3,.step h3{font-size:25px}.facts{padding:24px}.form-row{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.detail-section .facts{position:static}.contact-facts{max-width:700px}.form{max-width:800px}}
@media(max-width:780px){.section{padding-block:52px}.preview{font-size:10px}.hero{grid-template-columns:1fr}.hero-copy{padding:40px var(--gutter) 32px}.hero h1{font-size:clamp(36px,6.8vw,56px);margin-block:24px}.hero p{max-width:560px}.hero .actions{flex-direction:row;align-items:stretch}.hero .btn{min-width:0}.hero-catalog{margin-top:16px}.hero-photo img{min-height:0;height:330px;flex:none;object-position:50% 40%}.hero-photo figcaption{padding-inline:var(--gutter)}.band{gap:8px 24px;padding-block:16px}.band>span:nth-child(2){width:100%;order:3}.section-heading{display:block;margin-bottom:28px}.section-heading>p{max-width:600px;margin-top:24px}.section-heading>.text-link{margin-top:22px}.audience{padding:28px}.audience h3{font-size:32px}.roots-section,.learning-section,.funding-layout{grid-template-columns:1fr;gap:32px}.learning-photo img{min-height:0;max-height:400px;aspect-ratio:1.5}.roots-image img{min-height:0;aspect-ratio:1.6}.course-preview-heading{display:flex;align-items:flex-start;flex-direction:column;gap:10px;margin-top:32px}.course-preview-heading>.text-link{margin-top:0}.cta{display:block;padding-block:40px}.cta .btn{margin-top:24px}.page-hero{padding-top:22px;padding-bottom:40px}.page-hero h1{font-size:clamp(37px,6.5vw,53px)}.page-hero>p{font-size:16px}.breadcrumbs{margin-bottom:24px}.employer-hero h1{font-size:clamp(38px,6.7vw,52px)}.benefit-cards,.steps{grid-template-columns:1fr;gap:24px;margin:28px 0}.benefit-cards h3,.step h3{font-size:28px;margin-top:18px}.funding-layout h2 br:last-child{display:none}.search-row input{flex-basis:100%;order:3;width:100%}.search-row span{margin-left:auto}.search-row{gap:12px}.catalog-toolbar{padding:20px}.room-slot{grid-template-columns:1fr}.room-placeholder{min-height:280px}.room-copy{padding:28px}.readiness-grid{grid-template-columns:1fr}.footer-top{display:block}.footer-top>div+div{margin-top:36px}.footer-bottom{flex-direction:column;gap:4px}.footer-bottom>span{align-self:start}.footer-top{padding-bottom:32px}}
@media(max-width:600px){.preview>span:last-child{max-width:155px;text-align:right}.preview{align-items:center}header{gap:12px;min-height:90px;padding-block:12px}.header-cta{font-size:12px;padding-inline:12px;gap:8px}.header-cta span{display:none}.menu{font-size:13px;padding-inline:12px;gap:8px}.audiences,.course-grid,.people-grid{grid-template-columns:1fr}.course-grid>.course-card:last-child:nth-child(3){grid-column:auto}.audience{padding:26px}.audience h3{margin-top:24px}.hero h1{font-size:clamp(32px,6.9vw,42px)}.hero .actions{flex-direction:column;align-items:stretch}.hero .btn{width:100%}.hero-photo img{height:270px}.hero .eyebrow{max-width:280px}.hero-catalog{font-size:13px}.band{font-size:11px}.band>a{font-size:11px;gap:12px}.band>span:nth-child(2){font-size:10px}.band strong{font-size:24px;margin-right:8px}.section h2{font-size:36px}.section-heading h2 br{display:none}.audience h3{font-size:32px}.topic-links{grid-template-columns:1fr}.topic-links a:nth-child(even){padding-left:0;border-left:0}.topic-links a{padding-block:22px;gap:16px}.topic-links strong{font-size:28px}.course-card .body{padding:24px}.course-card h3{font-size:27px}.lead{font-size:20px}.section{padding-block:44px}.cta h2{font-size:36px}.page-hero h1{font-size:39px}.page-hero h1 br{display:none}.page-hero h1 br:after{content:' '}.tone-switch a{padding-inline:14px;font-size:13px}.filter{padding-inline:14px;font-size:13px}.search-row label{font-size:13px}.search-row span{font-size:11px}.detail-answers article{gap:14px}.detail-answers h2{font-size:26px}.official-detail{padding:22px}.official-detail p{font-size:18px}.facts dl>div{font-size:13px}.room-placeholder>span:nth-child(2){font-size:36px}.form fieldset{padding:18px}.form-result{padding:20px}.readiness-grid article{padding:24px}.readiness-grid h2{font-size:28px}.footer-cta{font-size:28px}}
@media(max-width:380px){.header-cta{display:none}.brand{width:100px}.brand img{width:84px}.preview{font-size:9px;gap:10px}.hero h1{font-size:6.8vw}.hero-photo img{height:240px}.band>a{width:100%}.band>span:nth-child(2){order:0}.page-hero h1{font-size:35px}.section h2,.cta h2{font-size:32px}.eyebrow{font-size:11px}.course-card .body{padding:22px}.course-card h3{font-size:25px}.search-row{flex-direction:column;align-items:flex-start}.search-row span{margin:0}.search-row input{flex-basis:auto;min-width:0}.filter{padding-inline:12px}.tone-switch a{padding-inline:12px}.facts{padding:22px}.facts dl>div{gap:14px}.footer-brand{font-size:29px}}
/* Grid children may shrink; long German words must never enlarge a track. */
.topic-links,.room-slot,.readiness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topic-links>a{grid-template-columns:28px minmax(0,1fr) 24px}.topic-links strong,.room-slot>*,.readiness-grid>*{min-width:0;overflow-wrap:anywhere}.room-placeholder>span:nth-child(2){overflow-wrap:anywhere}
@media(max-width:780px){.room-slot,.readiness-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.topic-links{grid-template-columns:minmax(0,1fr)}}
@media(max-width:380px){.hero h1{font-size:28px;letter-spacing:-.055em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* v0.4.1: horizontal web lockup derived from original artwork. */
header .brand{width:260px;background:transparent;padding:0;max-width:calc(100% - 100px)}
header .brand img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:1100px){
 header .brand{width:236px}
 header .menu{display:flex;align-items:center;gap:12px;margin-left:auto;background:none;border:1px solid #7c8ca2;color:var(--paper);min-height:44px;padding:10px 14px;font-size:14px}
 header .menu span{font-size:20px;line-height:1}
 header nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:16px var(--gutter) 24px;background:#1b2635;border-bottom:1px solid #7c8ca2;max-height:calc(100dvh - 135px);overflow-y:auto}
 header nav.open{display:flex;align-items:stretch;flex-direction:column;gap:0}
 header nav a{padding:14px 0;min-height:48px;font-size:16px}
 header nav .mobile-contact{display:block}
}
@media(max-width:600px){header .brand{width:220px}header .header-cta{display:none}header .menu{padding:10px 12px;gap:8px;font-size:13px;flex:none}}
@media(max-width:380px){header .brand{width:184px}}

/* One confirmed contact replaces the two unconfirmed profile slots. */
.people-grid:has(>.person-slot:only-child){grid-template-columns:minmax(0,1fr);max-width:900px}

/* Approved original portrait; crop only through layout, original image unchanged. */
.person-portrait{margin:0;background:var(--ink);min-width:0}
.person-portrait img{width:100%;height:420px;object-fit:cover;object-position:50% 25%}
@media(max-width:600px){.person-portrait img{height:360px}}

/* Approved original classroom photographs. */
.room-photo{margin:0;min-width:0;display:flex;flex-direction:column;background:white}
.room-photo img{width:100%;height:360px;object-fit:cover;object-position:center}
.room-photo figcaption{font-size:12px;line-height:1.6;color:var(--muted);padding:10px 16px}
.room-more{margin-top:20px;border-bottom:1px solid #a6b0bc}
.room-more summary{font-size:15px;color:var(--blue);padding-block:16px;min-height:48px}
.room-more[open]{padding-bottom:20px}
.room-photo-wide img{height:auto;max-height:560px;object-fit:cover}
@media(max-width:600px){.room-photo img{height:260px}.room-photo-wide img{height:auto}}

.practical-access{margin-top:20px;border-top:1px solid var(--line)}
.practical-access summary{font-size:14px;color:var(--blue);min-height:48px;padding-block:14px}
.practical-access p{font-size:14px;padding-bottom:16px}

.contact-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.contact-option{display:flex;flex-direction:column;align-items:flex-start;padding:28px;background:white;border-top:3px solid var(--blue);min-width:0}.contact-option h2{font-size:32px;margin:16px 0}.contact-option p{margin:16px 0;color:var(--muted)}.contact-option .btn{margin-top:auto;white-space:normal;text-align:left}.contact-number{font-size:clamp(22px,4vw,30px);color:var(--ink);overflow-wrap:anywhere}.contact-facts a{overflow-wrap:anywhere}@media(max-width:600px){.contact-options{grid-template-columns:1fr}.contact-option{padding:24px}.contact-option h2{font-size:28px}.contact-option .btn{width:100%}}


.certificate-downloads{margin:40px 0;padding:40px;background:var(--ink);color:var(--paper);scroll-margin-top:24px}.certificate-heading{max-width:660px}.certificate-heading h2{margin:18px 0;font-size:42px}.certificate-heading>p{color:var(--paper);opacity:.85;margin:0 0 28px}.certificate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.certificate-card{position:relative;display:flex;flex-direction:column;align-items:stretch;background:white;color:var(--ink);padding:30px;min-width:0;border-top:3px solid var(--blue)}.certificate-card>.eyebrow{padding-right:50px;font-size:10px;min-height:28px;line-height:1.5}.certificate-card h3{font-size:32px;margin:24px 0 14px}.certificate-card>p{font-size:15px;color:var(--muted);margin:0 0 22px}.certificate-file{position:absolute;right:26px;top:24px;width:34px;text-align:center;font-size:9px;letter-spacing:.1em;color:var(--blue)}.certificate-file svg{display:block;width:30px;height:36px;margin:0 auto 3px}.certificate-card dl{margin:0 0 24px;padding-top:18px;border-top:1px solid var(--line)}.certificate-card dl>div+div{margin-top:14px}.certificate-card dt{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.certificate-card dd{margin:5px 0 0;font-size:14px}.certificate-action{margin-top:auto}.certificate-meta{display:block;margin-bottom:12px;font-size:12px;color:var(--muted)}.certificate-action .btn{width:100%;font-size:13px;gap:14px;text-align:left}.certificate-note{font-size:13px;line-height:1.7;opacity:.85;margin:24px 0 0}.certificate-validity{margin-top:24px;border-top:1px solid #596271;padding-top:18px;font-size:14px}.certificate-validity summary{cursor:pointer}.certificate-validity p{font-size:13px;line-height:1.7;opacity:.85}@media(max-width:780px){.certificate-downloads{padding:28px}.certificate-grid{grid-template-columns:1fr}.certificate-heading h2{font-size:36px}.certificate-card{padding:26px}}@media(max-width:400px){.certificate-downloads{padding:20px}.certificate-card{padding:20px}.certificate-heading h2{font-size:30px}.certificate-card h3{font-size:27px}.certificate-file{right:18px}.certificate-action .btn{font-size:12px}}


/* Readable legal documents, with an index that remains inside the legal page. */
.legal-document{padding-top:24px}.legal-review-note{border-left:4px solid var(--blue);background:#eaf0ff;padding:20px 24px;margin-bottom:24px;max-width:78ch}.legal-review-note p{font-size:14px;margin-top:8px}.legal-date{font-size:13px;color:var(--muted);margin-bottom:28px}.legal-layout{display:grid;grid-template-columns:minmax(190px,260px) minmax(0,760px);gap:clamp(30px,5vw,80px);align-items:start}.legal-toc{position:sticky;top:24px}.legal-toc nav{display:block;position:static;background:none;padding:0;border:0;max-height:none}.legal-toc ol{padding-left:20px;margin:18px 0 0}.legal-toc li{font-size:14px;line-height:1.55;margin:10px 0;padding-left:4px}.legal-toc nav a{display:inline;padding:0;min-height:0;color:var(--blue);text-decoration:underline;text-underline-offset:3px}.legal-body{min-width:0}.legal-section{scroll-margin-top:32px;padding-bottom:32px;margin-bottom:32px;border-bottom:1px solid var(--line)}.legal-section h2{font-size:27px;line-height:1.25;letter-spacing:-.02em;margin-bottom:20px}.legal-section p{font-size:16px;line-height:1.8;max-width:74ch}.legal-section p+p{margin-top:16px}.legal-links{list-style:none;padding:0;margin:20px 0 0}.legal-links li{margin:12px 0;overflow-wrap:anywhere}.legal-links a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.legal-document .text-link{white-space:normal}@media(max-width:850px){.legal-layout{grid-template-columns:1fr;gap:28px}.legal-toc{position:static;border-bottom:1px solid var(--line);padding-bottom:24px}.legal-toc ol{columns:2;column-gap:30px}.legal-toc li{break-inside:avoid}.legal-toc nav{display:block!important}.legal-section h2{font-size:25px}}@media(max-width:500px){.legal-toc ol{columns:1}.legal-review-note{padding:18px}.legal-section p{font-size:15px}.legal-section h2{font-size:23px}}

/* Keep the static content navigable if JavaScript is unavailable. */
html:not(.js) header .menu{display:none}
@media(max-width:1280px){html:not(.js) header{flex-wrap:wrap}html:not(.js) header nav{display:flex;position:static;order:3;width:100%;margin:0;padding:12px 0;border:0;max-height:none;background:transparent;flex-wrap:wrap;gap:12px 24px}html:not(.js) header nav a{padding:8px 0;min-height:44px}html:not(.js) header nav .mobile-contact{display:block}}
