:root{
  --ma-dark:#0b1220;
  --ma-band:#16233b;
  --ma-blue:#1d46c4;
  --ma-blue-soft:#9dc0ff;
  --ma-light:#f4f6fb;
  --ma-ink:#12203a;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --sans:'Roboto',system-ui,sans-serif;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{background:var(--ma-dark);font-family:var(--sans);color:var(--ma-ink);}
a{color:#2f6faf;text-decoration:none;}
a:hover{color:var(--ma-blue);}
::selection{background:var(--ma-blue);color:#fff;}
img.logo-white{filter:brightness(0) invert(1);}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:92vh;overflow:hidden;background:var(--ma-dark);}
.hero__carousel,.hero__carousel .carousel-inner,.hero__carousel .carousel-item{position:absolute;inset:0;height:100%;}
.hero__carousel img{width:100%;height:100%;object-fit:cover;}
.hero__carousel .carousel-item{transition:opacity 1.1s ease;}
.hero__overlay{position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(90deg,rgba(11,18,32,.78) 0%,rgba(11,18,32,.45) 45%,rgba(11,18,32,.25) 100%),
             linear-gradient(180deg,rgba(11,18,32,.45) 0%,rgba(11,18,32,0) 30%,rgba(11,18,32,.65) 100%);}
.hero__content{position:relative;z-index:4;min-height:92vh;display:flex;flex-direction:column;padding:34px clamp(20px,4vw,64px);}
.hero__topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.hero__logo{height:clamp(38px,4vw,58px);width:auto;display:block;}
.hero__burger{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.22);cursor:pointer;
  padding:14px 15px;display:flex;flex-direction:column;gap:6px;border-radius:2px;backdrop-filter:blur(4px);}
.hero__burger span{display:block;width:30px;height:2.5px;background:#fff;}
.hero__slogan{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:960px;}
.hero__eyebrow{font-family:var(--mono);color:var(--ma-blue-soft);font-size:.8rem;letter-spacing:.28em;text-transform:uppercase;margin-bottom:22px;}
.hero__title{font-family:var(--mono);color:#fff;font-weight:500;font-size:clamp(1.9rem,4.4vw,4rem);line-height:1.12;margin:0;letter-spacing:.01em;text-wrap:balance;}
.hero__partners{border-top:1px solid rgba(255,255,255,.16);padding-top:22px;display:flex;align-items:center;gap:clamp(24px,4vw,56px);flex-wrap:wrap;}
.hero__partners-label{font-family:var(--mono);color:rgba(255,255,255,.5);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;}
.hero__partners img{opacity:.95;width:auto;}
.hero__partners .p-dlr{height:clamp(34px,3.8vw,52px);}
.hero__partners .p-bauhaus{height:clamp(28px,3vw,44px);}
.hero__partners .p-tum{height:clamp(24px,2.6vw,36px);}
.hero__partners .p-unibw{height:clamp(26px,2.8vw,42px);}
.hero__dots{display:flex;gap:10px;margin-top:24px;}
.hero__dots button{width:12px;height:12px;border-radius:999px;border:none;cursor:pointer;padding:0;background:rgba(255,255,255,.4);transition:width .3s ease,background .3s ease;}
.hero__dots button.active{width:34px;background:var(--ma-blue);}

/* ---------- MENU ---------- */
.menu{background:rgba(9,15,28,.98);backdrop-filter:blur(6px);width:min(560px,100%);border:none;}
.menu__header{padding:34px clamp(20px,4vw,48px);border:none;}
.menu__logo{height:clamp(38px,4vw,54px);width:auto;}
.menu__close{background:none;border:1px solid rgba(255,255,255,.25);color:#fff;cursor:pointer;width:52px;height:52px;font-size:1.7rem;line-height:1;border-radius:2px;font-family:var(--mono);}
.menu__body{display:flex;flex-direction:column;padding:0 clamp(20px,4vw,48px) 34px;}
.menu__nav{flex:1;display:flex;flex-direction:column;justify-content:center;gap:6px;}
.menu__nav a{font-family:var(--mono);color:#fff;font-size:clamp(1.6rem,4vw,2.6rem);font-weight:500;padding:8px 0;letter-spacing:.01em;}
.menu__nav a:hover{color:var(--ma-blue-soft);}
.menu__footer{font-family:var(--mono);color:rgba(255,255,255,.45);font-size:.75rem;letter-spacing:.14em;}

/* ---------- INTRO ---------- */
.intro{background:var(--ma-band);padding:clamp(48px,7vw,92px) 0;}
.intro__name{font-family:var(--mono);color:#fff;font-weight:500;font-size:clamp(1.2rem,2vw,1.6rem);letter-spacing:.22em;margin:0;text-transform:uppercase;}
.intro__rule{width:56px;height:3px;background:var(--ma-blue);margin:22px 0;}
.intro__claim{font-family:var(--mono);color:var(--ma-blue-soft);font-size:clamp(.95rem,1.4vw,1.15rem);line-height:1.5;margin:0;}
.intro__desc{font-family:var(--sans);color:#e6edfa;font-weight:300;font-size:clamp(1.05rem,1.7vw,1.5rem);line-height:1.65;margin:0;text-wrap:pretty;}

/* ---------- TILES ---------- */
.tiles{background:var(--ma-light);padding:clamp(52px,7vw,96px) 0;}
.tile{position:relative;aspect-ratio:1.7/1;perspective:1400px;cursor:pointer;}
.tile__inner{position:relative;width:100%;height:100%;transition:transform .6s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d;}
.tile:hover .tile__inner{transform:rotateY(180deg);}
.tile__face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;
  padding:clamp(20px,2.4vw,34px);backface-visibility:hidden;-webkit-backface-visibility:hidden;}
.tile__front h3{font-family:var(--mono);color:#fff;font-weight:500;font-size:clamp(1.1rem,1.8vw,1.7rem);line-height:1.25;margin:0;text-wrap:balance;}
.tile__front .plus{position:absolute;bottom:22px;right:24px;font-family:var(--mono);color:rgba(255,255,255,.55);font-size:1.1rem;}
.tile__back{background:#0e1a30;transform:rotateY(180deg);}
.tile__back h3{font-family:var(--mono);color:#fff;font-weight:500;font-size:clamp(.95rem,1.4vw,1.2rem);margin:0 0 14px;line-height:1.25;}
.tile__back p{font-family:var(--sans);color:#dbe6fb;font-weight:300;font-size:clamp(.9rem,1.15vw,1.02rem);line-height:1.55;margin:0;}
.tile__back .more{font-family:var(--mono);color:#7aa7ff;font-size:.78rem;letter-spacing:.14em;margin-top:20px;}

/* ---------- NEWS ---------- */
.news{background:var(--ma-light);padding:clamp(52px,7vw,96px) 0;border-top:1px solid #e2e8f4;}
.news__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:clamp(28px,4vw,48px);}
.news__eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-family:var(--mono);color:#2f6faf;font-size:.75rem;letter-spacing:.24em;text-transform:uppercase;}
.news__rule{display:block;width:40px;height:3px;background:var(--ma-blue);}
.news__title{font-family:var(--mono);color:var(--ma-ink);font-weight:600;font-size:clamp(1.8rem,3.2vw,2.8rem);margin:0;letter-spacing:.01em;}
.news__all{font-family:var(--mono);color:var(--ma-blue);font-size:.9rem;letter-spacing:.08em;border-bottom:2px solid var(--ma-blue);padding-bottom:4px;}
.news__card{background:#fff;border:1px solid #e2e8f4;display:flex;flex-direction:column;height:100%;transition:transform .25s ease,box-shadow .25s ease;}
.news__card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(18,32,58,.14);}
.news__img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;}
.news__body{padding:26px 26px 30px;display:flex;flex-direction:column;flex:1;}
.news__date{font-family:var(--mono);color:#2f6faf;font-size:.78rem;letter-spacing:.12em;}
.news__card h3{font-family:var(--mono);color:var(--ma-ink);font-weight:500;font-size:clamp(1.05rem,1.5vw,1.28rem);line-height:1.3;margin:14px 0 12px;text-wrap:balance;}
.news__card p{font-family:var(--sans);color:#4a5a75;font-weight:300;font-size:.98rem;line-height:1.6;margin:0 0 22px;flex:1;}
.news__more{font-family:var(--mono);color:var(--ma-blue);font-size:.82rem;letter-spacing:.1em;}

/* ---------- FOOTER ---------- */
.footer{background:var(--ma-dark);padding:clamp(52px,6vw,80px) 0 40px;}
.footer__top{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;
  padding-bottom:clamp(36px,4vw,52px);margin-bottom:clamp(36px,4vw,52px);border-bottom:1px solid rgba(255,255,255,.1);}
.footer__logo{height:52px;width:auto;}
.footer__funding{height:56px;width:auto;max-width:100%;opacity:.85;}
.footer__about{font-family:var(--sans);color:#8ea2c4;font-weight:300;font-size:.95rem;line-height:1.6;margin:0 0 24px;max-width:50ch;}
.footer__partners{display:flex;align-items:center;gap:30px;flex-wrap:wrap;}
.footer__partners img{opacity:.8;width:auto;}
.footer__partners .fp-dlr{height:56px;}
.footer__partners .fp-bauhaus{height:42px;}
.footer__partners .fp-tum{height:36px;}
.footer__partners .fp-unibw{height:40px;}
.footer__h{font-family:var(--mono);color:#fff;font-weight:500;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;margin:0 0 20px;}
.footer__cols a{display:block;font-family:var(--sans);color:#8ea2c4;font-weight:300;font-size:.95rem;margin-bottom:12px;}
.footer__cols a:hover{color:#fff;}
.footer__contact{font-family:var(--sans);color:#8ea2c4;font-weight:300;font-size:.95rem;line-height:1.7;margin:0 0 16px;}
.footer__bottom{margin-top:clamp(40px,5vw,64px);padding-top:26px;border-top:1px solid rgba(255,255,255,.1);
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.footer__bottom span,.footer__legal a{font-family:var(--mono);color:rgba(255,255,255,.4);font-size:.75rem;letter-spacing:.08em;}
.footer__legal{display:flex;gap:28px;flex-wrap:wrap;}

@media (max-width:575px){
  .footer__cols a{margin-bottom:10px;}
}
