/* Desktop layout follows the current Figma frame 84:1773 (1718 × 4969). */
@font-face{font-family:'Kode Mono';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/kode-mono-bold.ttf') format('truetype')}
:root{--font:'futura-pt',Futura,'Century Gothic','Avenir Next',sans-serif}
.institutions h2,.about p,.footer-title{letter-spacing:0!important}
.logo-band{display:grid}.institution-track .institution-card:nth-child(4){display:none}
.legal{max-width:1000px;font-size:18px;line-height:1.6}.legal .legal-intro{font-size:20px;max-width:760px}.legal .draft-notice{padding:24px;border:1px solid #d6cabe;border-radius:16px;background:#e6dfd6;margin:28px 0 40px;font-size:16px}.legal .legal-fields{display:grid;grid-template-columns:minmax(150px,1fr) 2fr;gap:0 24px;margin:20px 0 32px}.legal dt,.legal dd{padding:12px 0;border-bottom:1px solid var(--grey);margin:0;overflow-wrap:anywhere}.legal dt{font-weight:600}.legal dd{color:#514942}.legal h2{margin-top:48px;font-weight:500;line-height:1.2}.legal ul{padding-left:24px}.legal li{margin:8px 0}.legal .legal-meta{font-size:14px;text-transform:uppercase;letter-spacing:.05em}.legal .legal-sources{font-size:15px;line-height:1.5}.legal a{overflow-wrap:anywhere}
@media(min-width:761px){
  :root{--desktop-unit:calc(100vw / 1718);--content-width:calc(100% - 9.66vw)}
  .header{top:48px;height:65px;padding:12px 32px 12px 16px}
  .desktop-nav{align-items:center;gap:clamp(28px,3.958vw,68px);font-size:14px;text-transform:uppercase;font-weight:700}
  .institutions{padding:calc(96 * var(--desktop-unit)) 0 0;overflow:hidden}
  .institutions h2{font-size:54px;font-weight:500;line-height:58px;letter-spacing:-.035em}
  .carousel-window{margin-top:calc(60 * var(--desktop-unit));height:auto;min-height:0;padding:calc(20 * var(--desktop-unit)) 0 calc(130 * var(--desktop-unit));overflow:visible}
  /* One stretched grid row gives all cards the height required by the longest content. */
  .institution-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:calc(58 * var(--desktop-unit));position:relative;width:calc(100% - 64 * var(--desktop-unit));height:auto;max-width:none;margin:0 auto}
  .institution-card{position:relative;top:auto;left:auto;width:100%;min-height:max(420px,calc(494 * var(--desktop-unit)));padding:calc(16 * var(--desktop-unit));gap:calc(12 * var(--desktop-unit));flex:none;transform-origin:center}
  /* Mirrored centers lie on one circle; each card follows its tangent at 5 or 15 degrees. */
  .institution-track .institution-card:nth-child(1){transform:translate(calc(6.502 * var(--desktop-unit)),calc(74.323 * var(--desktop-unit))) rotate(-15deg)}
  .institution-track .institution-card:nth-child(2){transform:rotate(-5deg)}
  .institution-track .institution-card:nth-child(3){transform:rotate(5deg)}
  .institution-track .institution-card:nth-child(4){display:flex;transform:translate(calc(-6.502 * var(--desktop-unit)),calc(74.323 * var(--desktop-unit))) rotate(15deg)}
  .institution-image{height:calc(313 * var(--desktop-unit));min-height:0;flex-shrink:0}.institution-image .dot{right:calc(24 * var(--desktop-unit));top:calc(24 * var(--desktop-unit))}
  .institution-card h3{font-size:max(18px,calc(20 * var(--desktop-unit)));line-height:1.15;min-height:0;font-weight:600}
  .institution-card p{font-size:max(16px,calc(18 * var(--desktop-unit)));line-height:1.15;font-weight:400}
  .institution-card a{min-height:calc(29 * var(--desktop-unit));align-items:center;font-size:max(16px,calc(16 * var(--desktop-unit)));line-height:1;gap:8px}
  .institution-card .sprengel-image{background:transparent}.institution-card .sprengel-image>img{width:calc(160 * var(--desktop-unit));height:auto}
  .carousel-controls{display:none}
  .about{max-width:1035px;width:calc(100% - 100px);margin:calc(117 * var(--desktop-unit)) auto calc(265 * var(--desktop-unit));padding:0 26px}
  .about h2{font-size:14px;line-height:18px;margin-bottom:28px}.about p{font-size:clamp(36px,3.143vw,54px);line-height:1.0741;font-weight:500;letter-spacing:-.025em}
  .courses{margin:0 auto;padding:0}
  .course-tools{justify-content:center;position:relative;margin-bottom:56px;gap:24px}.filters{justify-content:center;flex-wrap:wrap}.filters button{min-height:50px;font-size:18px;padding:12px 24px}.page-home .search{display:none}
  .page-home .course-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .course-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.course-card{padding:24px;border-radius:32px;min-height:426px}.course-card h3{font-size:30px;line-height:34px;font-weight:500;padding-right:32px;overflow-wrap:normal;hyphens:none;word-break:normal;text-wrap:balance}.course-meta{font-size:16px;line-height:1.2}.course-meta p{align-items:center}.course-card>.dot{width:28px;height:28px}.availability{font-size:13px}
  .footer{width:var(--content-width);max-width:var(--content-max-width);margin:calc(119 * var(--desktop-unit)) auto 0;display:grid;grid-template-columns:minmax(0,1fr);padding-bottom:48px}
  .footer-main{display:contents}.logo-band{grid-column:1;grid-row:1;width:100%;border:0;padding:3px 0}
  .footer-title{grid-column:1;grid-row:2;font-size:clamp(54px,4.54vw,78px);line-height:1;font-weight:500;margin:48px 0 33px;white-space:nowrap}
  .institution-list{display:none}
  .footer-links{grid-column:1;grid-row:3;margin:0;padding-top:28px;font-size:18px;line-height:14px}
  .page-about .about,.page-courses .about{margin-top:190px;margin-bottom:100px}.page-courses .about p{font-size:36px;line-height:1.15}.page-institutions .institutions{padding-top:190px}
  .page-legal .footer,.page-booking .footer{margin-top:100px}
}
@media(min-width:761px) and (max-width:1100px){
  .header{top:32px}.desktop-nav{gap:20px;font-size:13px}.brand{gap:12px}.brand span{font-size:14px}.institution-track{width:calc(100% - 96px);height:auto;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:800px}.institution-card{position:relative;inset:auto!important;width:100%;min-height:440px;padding:16px;gap:12px;transform:none!important;flex-basis:auto}.institution-image{height:230px}.carousel-window{height:auto;min-height:0;padding:24px 0 40px}.institution-track .institution-card:nth-child(2n+1){transform:rotate(-4deg)!important}.institution-track .institution-card:nth-child(2n){transform:rotate(4deg)!important}.about{margin-top:100px;margin-bottom:120px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-tools{flex-wrap:wrap}.search input{width:260px}.institution-list a{font-size:14px;gap:10px}.institution-list .dot{width:24px;height:24px}.footer-title{font-size:54px}
}
@media(max-width:760px){.legal .legal-fields{grid-template-columns:1fr;gap:0}.legal dt{padding-bottom:0;border:0}.legal dd{padding-top:4px}.legal .draft-notice{padding:20px}.legal{font-size:17px}.legal .legal-intro{font-size:18px}.legal h1{overflow-wrap:normal;hyphens:manual}}

/* The longer wordmark keeps the Figma line break at every screen size. */
.brand{min-width:0}.brand>img{flex:0 0 43px}.brand>span{white-space:nowrap}
@media(max-width:760px){.footer-title{font-size:clamp(34px,12.35vw,50px);line-height:1.04}.footer-title span{display:block}.footer-links{font-size:14px}}
@media(max-width:374px){.header .brand,.menu-brand{gap:12px}.brand>span{font-size:14px}.header{padding-right:24px}}
