/*
Theme Name: MetacMed
Theme URI: https://www.metacmed.eu
Author: MetacMed network
Description: Block theme for the MetacMed MSCA Doctoral Network website. Dark editorial design, self-hosted fonts, patterns for the home page, events and team. Works together with the MetacMed Content plugin.
Version: 1.0.1
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: metacmed
*/

:root {
  --mm-bg: #050B1A; --mm-bg2: #0A1530; --mm-surface: #0E1C3D; --mm-ink: #EEF3FC; --mm-ink2: #A9B8D3; --mm-line: #1F2F52;
  --mm-amber: #F5B83D; --mm-amber-ink: #1A1200; --mm-blue: #5E8BFF; --mm-deep: #0F2A66;
  --mm-red: #F0603A; --mm-green: #A9C233; --mm-orange: #F7A21B; --mm-sky: #4C9AC8;
  --mm-display: var(--wp--preset--font-family--display, Fraunces, Georgia, serif);
  --mm-mono: var(--wp--preset--font-family--mono, 'IBM Plex Mono', ui-monospace, monospace);
  --mm-pad: 1.25rem;
}
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; background: var(--mm-bg); color: var(--mm-ink); font-family: var(--wp--preset--font-family--text, 'IBM Plex Sans', system-ui, sans-serif); }
h1, h2, h3, h4, h5, h6 { color: var(--mm-ink); font-family: var(--wp--preset--font-family--display, Fraunces, Georgia, serif); }
.wp-site-blocks > * { margin-block: 0; }
.wp-site-blocks .wp-block-group > *, .wp-site-blocks .wp-block-query > *, .wp-site-blocks .wp-block-post-template > li { margin-block-start: 0; margin-block-end: 0; }
.wp-site-blocks figure { margin: 0; }
a { text-underline-offset: .18em; }
:focus-visible { outline: 3px solid var(--mm-amber); outline-offset: 3px; }
h1 em, h2 em, h3 em { font-style: italic; color: var(--mm-amber); font-weight: 400; }
.mm-eyebrow, .mm-crumbs, .mm-where, .mm-where-t { font-family: var(--mm-mono); }
.mm-eyebrow { font-size: .9rem; letter-spacing: .12em; text-transform: uppercase; color: var(--mm-amber); }
.mm-eyebrow-warm { color: #FFD36B; }
.wp-site-blocks p.mm-eyebrow { color: var(--mm-amber); }
.wp-site-blocks p.mm-eyebrow-warm { color: #FFD36B; }
.mm-footer-in > *, .mm-phero > * { margin-left: 0 !important; margin-right: auto !important; }
main > .wp-block-group.alignfull, .mm-footer-in { padding-inline: var(--mm-pad); }
.mm-s { padding-block: clamp(4.5rem, 10vw, 9rem); }
.mm-sec-head { display: grid; gap: 1.2rem; max-width: 60rem; margin: 0 0 clamp(2.5rem, 5vw, 4.5rem) !important; }
.mm-sec-head p { font-size: 1.35rem; color: var(--mm-ink2); max-width: 44rem; line-height: 1.55; }
.mm-lede { font-size: clamp(1.25rem, 2vw, 1.55rem); line-height: 1.55; color: #D2DCEF; max-width: 42rem; }
.mm-more { margin-top: 2.2rem !important; font-weight: 600; font-size: 1.15rem; }
.mm-more a { border-bottom: 2px solid var(--mm-amber); text-decoration: none; padding-bottom: .15rem; margin-right: 1.5rem; }
.mm-status { display: inline-block; justify-self: start; padding: .55rem 1.2rem; border: 1px solid var(--mm-line); border-radius: 999px; background: var(--mm-bg2); font-size: 1.05rem !important; font-weight: 500; color: var(--mm-ink) !important; }
.mm-status::before { content: ""; display: inline-block; width: .6rem; height: .6rem; margin-right: .7rem; border-radius: 50%; background: var(--mm-red); }

/* buttons */
.wp-block-button__link { transition: transform .2s, background .2s; background: var(--mm-amber); color: var(--mm-amber-ink); }
.wp-block-button__link:hover { transform: translateY(-2px); background: #FFC85A; color: var(--mm-amber-ink); }
.is-style-outline > .wp-block-button__link.wp-block-button__link { background: transparent; color: var(--mm-ink); border: 2px solid rgba(255,255,255,.7); }
.is-style-outline > .wp-block-button__link:hover { background: rgba(255,255,255,.1); color: var(--mm-ink); }

/* ------------------------------------------------ header */
.mm-hdr { position: fixed; inset: 0 0 auto 0; z-index: 50; }
body.admin-bar .mm-hdr { top: 32px; }
@media (max-width: 782px) { body.admin-bar .mm-hdr { top: 46px; } }
.mm-header { position: relative; border-bottom: 1px solid rgba(255,255,255,.07); padding-inline: var(--mm-pad); }
/* the blur lives on a pseudo-element: a filter on the header itself would trap the full-screen mobile menu inside it */
.mm-header::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(rgba(5,11,26,.88), rgba(5,11,26,.6)); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.mm-header-in { max-width: 1400px; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: .6rem 2.5rem; flex-wrap: nowrap; padding-block: .8rem; }
.mm-logo { background: #fff; border-radius: 12px; padding: .35rem .8rem; flex: none; }
.mm-logo img { display: block; height: 3rem; width: auto; max-width: none; }
.mm-nav { font-size: 1.05rem; font-weight: 500; gap: .3rem 2.2rem; }
.mm-nav .wp-block-navigation-item__content.wp-block-navigation-item__content { color: var(--mm-ink2); padding-block: .3rem; border-bottom: 2px solid transparent; text-decoration: none; }
.mm-nav .wp-block-navigation-item__content.wp-block-navigation-item__content:hover, .mm-nav .current-menu-item > .wp-block-navigation-item__content.wp-block-navigation-item__content { color: var(--mm-ink); border-color: var(--mm-amber); }
.mm-nav .mm-cta > .wp-block-navigation-item__content.wp-block-navigation-item__content { color: var(--mm-amber-ink); background: var(--mm-amber); padding: .45rem 1.1rem; border-radius: 999px; font-weight: 600; border: 0; }
.mm-nav .mm-cta > .wp-block-navigation-item__content.wp-block-navigation-item__content:hover { color: var(--mm-amber-ink); filter: brightness(1.08); }
.mm-nav .wp-block-navigation__submenu-container { background: var(--mm-bg2) !important; border: 1px solid var(--mm-line) !important; border-radius: 16px; padding: .6rem; min-width: 22rem; box-shadow: 0 20px 50px rgba(0,0,0,.55); }
.mm-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content.wp-block-navigation-item__content { color: var(--mm-ink); padding: .65rem 1rem; border-radius: 10px; border: 0; }
.mm-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--mm-surface); color: var(--mm-amber); }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--mm-bg) !important; color: var(--mm-ink) !important; padding: 2rem 1.5rem; }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { color: var(--mm-ink); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container, .wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list { align-items: flex-start; gap: .4rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none; padding: .2rem 0 .6rem 1rem; min-width: 0; align-items: flex-start; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1.15rem; color: var(--mm-ink2); padding: .4rem 0; }
.wp-block-navigation__responsive-container.is-menu-open .mm-cta > .wp-block-navigation-item__content { font-size: 1.2rem; margin-top: .6rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content.wp-block-navigation-item__content { font-size: 1.5rem; color: var(--mm-ink); }

/* ------------------------------------------------ hero */
.mm-hero { position: relative; min-height: min(100svh, 62rem); display: grid; align-content: end; padding: 11rem var(--mm-pad) 5.5rem; overflow: hidden; isolation: isolate; }
.mm-hero::before { content: ""; position: absolute; inset: -4%; z-index: -2; background: url("assets/img/hero.jpg") 60% center / cover; animation: mm-drift 40s ease-in-out infinite alternate; }
.mm-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(95deg, rgba(5,11,26,.96) 6%, rgba(5,11,26,.78) 42%, rgba(5,11,26,.18) 82%), linear-gradient(0deg, var(--mm-bg) 0, rgba(5,11,26,0) 28%); }
@keyframes mm-drift { from { transform: scale(1.02) translate3d(0, 0, 0); } to { transform: scale(1.12) translate3d(-2%, -1.5%, 0); } }
.mm-hero-in { width: 100%; max-width: 1400px; margin-inline: auto !important; }
.mm-chips { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 2.2rem !important; }
.mm-chip { font-family: var(--mm-mono); font-size: .88rem; letter-spacing: .08em; text-transform: uppercase; padding: .45rem .95rem; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; background: rgba(5,11,26,.45); backdrop-filter: blur(6px); margin: 0; }
.mm-chip strong { color: var(--mm-amber); font-weight: 500; }
.mm-hero-title { max-width: 14ch; font-weight: 500; }
.mm-hero .mm-lede { margin-top: 2.2rem !important; }
.mm-actions { margin-top: 2.8rem !important; gap: 1rem; }
.mm-eu-badge { position: absolute; right: var(--mm-pad); bottom: 2.2rem; z-index: 2; background: #fff; border-radius: 12px; padding: .6rem 1rem; box-shadow: 0 10px 30px rgba(0,0,0,.4); }
.mm-eu-badge img { display: block; height: 3.4rem; width: auto; border-radius: 0; }

/* ------------------------------------------------ facts */
.mm-facts-wrap { border-block: 1px solid var(--mm-line); }
.mm-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mm-fact { padding: clamp(2rem, 4vw, 3.4rem) clamp(1rem, 2vw, 2rem); border-left: 1px solid var(--mm-line); }
.mm-fact:first-child { border-left: 0; padding-left: 0; }
.mm-num { font-family: var(--mm-display); font-weight: 400; font-size: clamp(3.6rem, 8vw, 7.4rem); line-height: .95; letter-spacing: -.04em; color: var(--mm-amber); font-variant-numeric: tabular-nums; margin: 0; }
.mm-fact:last-child .mm-num { font-size: clamp(2.6rem, 5.4vw, 5.4rem); white-space: nowrap; padding-top: .35em; }
.mm-lab { margin: 1rem 0 0; font-size: 1.15rem; color: var(--mm-ink2); line-height: 1.4; max-width: 15rem; }

/* ------------------------------------------------ wave band */
.mm-band { background: var(--mm-bg2); border-block: 1px solid var(--mm-line); }
.mm-band-in { padding-block: clamp(3rem, 6vw, 5rem); display: grid; grid-template-columns: minmax(0, 24rem) minmax(0, 1fr); gap: 2rem clamp(2rem, 5vw, 5rem); align-items: center; }
.mm-band-text { display: grid; gap: 1.2rem; }
.mm-band-text h2 { font-size: clamp(2rem, 3.6vw, 3rem); }
.mm-band-text p:last-child { color: var(--mm-ink2); font-size: 1.1rem; line-height: 1.55; }
.mm-wave-fig { margin: 0; }
.mm-wave { display: block; width: 100%; height: auto; aspect-ratio: 4 / 1; border-radius: 14px; border: 1px solid var(--mm-line); background: #08122A; }
.mm-wave-fig figcaption { margin-top: .8rem; font-family: var(--mm-mono); font-size: .8rem; line-height: 1.5; color: var(--mm-ink2); }

/* ------------------------------------------------ about */
.mm-about, .mm-events, .mm-team, .mm-results, .mm-consortium, .mm-videos { padding-block: clamp(4.5rem, 10vw, 9rem) 0; }
.mm-funding { padding-block: clamp(4.5rem, 10vw, 9rem); }
.mm-about-top { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 2rem clamp(2.5rem, 6vw, 7rem); align-items: start; margin-bottom: clamp(3.5rem, 7vw, 6rem) !important; }
.mm-about-l { display: grid; gap: 1.4rem; }
.mm-big { font-size: clamp(2.2rem, 4.6vw, 4rem); line-height: 1.08; font-weight: 400; }
.mm-about-r { display: grid; gap: 1.4rem; font-size: 1.25rem; color: var(--mm-ink2); line-height: 1.65; }
.mm-apps { border-top: 1px solid var(--mm-line); }
.mm-app { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) 16rem; gap: 1rem clamp(1.5rem, 4vw, 4rem); align-items: center; padding-block: clamp(1.6rem, 3vw, 2.4rem); border-bottom: 1px solid var(--mm-line); position: relative; }
.mm-app::before { content: ""; position: absolute; left: 0; top: -1px; height: 2px; width: 0; background: var(--c, var(--mm-amber)); transition: width .4s; }
.mm-app:hover::before { width: 100%; }
.mm-app h3 { font-size: clamp(1.7rem, 3vw, 2.5rem); display: flex; align-items: center; gap: 1rem; }
.mm-app h3::before { content: ""; width: 1.1rem; height: 1.1rem; border-radius: 4px; background: var(--c); flex: none; }
.mm-dot-red { --c: var(--mm-red); } .mm-dot-blue { --c: var(--mm-blue); } .mm-dot-green { --c: var(--mm-green); } .mm-dot-orange { --c: var(--mm-orange); } .mm-dot-sky { --c: var(--mm-sky); }
.mm-app-desc { font-size: 1.15rem; color: var(--mm-ink2); line-height: 1.55; }
.mm-faces { display: flex; justify-self: end; }
.mm-faces figure { margin: 0 0 0 -.9rem !important; }
.mm-faces figure:first-child { margin-left: 0 !important; }
.mm-faces img { width: 4.4rem; height: 4.4rem; border-radius: 50%; object-fit: cover; object-position: top; border: 3px solid var(--mm-bg); background: var(--mm-surface); display: block; }

/* ------------------------------------------------ cards (events, team) */
ul.mm-cards { list-style: none; padding: 0; margin: 0; display: grid; gap: clamp(1.4rem, 2.4vw, 2.6rem); }
.mm-ev-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mm-team-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mm-cards .wp-block-post-featured-image { overflow: hidden; border-radius: 20px; background: var(--mm-surface); }
.mm-cards .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
.mm-cards li:hover .wp-block-post-featured-image img { transform: scale(1.05); }
.mm-ev-body, .mm-card { display: grid; gap: .7rem; align-content: start; }
.mm-ev { display: grid; gap: 1.4rem; }
.mm-ev-body h3, .mm-card h3 { font-size: clamp(1.7rem, 2.8vw, 2.4rem); line-height: 1.12; }
.mm-card h3 { font-size: clamp(1.5rem, 2.1vw, 1.95rem); }
.mm-ev-body h3 a, .mm-card h3 a, .mm-ev-row h2 a, .mm-news h2 a { text-decoration: none; }
.mm-ev-body .wp-block-post-excerpt__excerpt, .mm-card .wp-block-post-excerpt__excerpt { margin: 0; color: var(--mm-ink2); font-size: 1.12rem; line-height: 1.55; }
.mm-card { gap: 0; }
.mm-card .wp-block-post-featured-image { border-radius: 18px; margin-bottom: 1.2rem; }
.mm-card .wp-block-post-excerpt { margin-top: .6rem; }
.mm-card .wp-block-post-excerpt__excerpt { font-size: 1.05rem; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.mm-where { display: flex; flex-wrap: wrap; gap: .15rem .6rem; font-size: .88rem; letter-spacing: .04em; color: var(--mm-amber); margin-bottom: .5rem !important; }
.mm-where a { text-decoration: none; color: inherit; }
.mm-where .mm-dc { font-weight: 500; }
.mm-where .mm-dc::after { content: "\00b7"; margin-left: .6rem; color: var(--mm-ink2); }
.mm-evnext { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem 3rem; align-items: end; padding: clamp(2.2rem, 5vw, 4.2rem); border-radius: 24px; background: radial-gradient(120% 140% at 100% 0, #1F46B8 0, var(--mm-deep) 45%, #0A1A44 100%); border: 1px solid #234089; margin-bottom: clamp(1.6rem, 3vw, 3rem) !important; }
.mm-evnext-t { display: grid; gap: 1rem; }
.mm-evnext h3 { font-size: clamp(2.2rem, 5vw, 4.2rem); line-height: 1.03; }
.mm-evnext p:last-child { font-size: 1.3rem; color: #CBD8F3; max-width: 38rem; }

/* ------------------------------------------------ consortium */
.mm-inst-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(.8rem, 1.4vw, 1.1rem); }
.mm-inst { background: var(--mm-bg2); border: 1px solid var(--mm-line); border-radius: 16px; padding: 1rem; display: grid; grid-template-columns: 10.5rem minmax(0, 1fr); gap: 1.2rem; align-items: center; transition: border-color .25s, transform .25s; }
.mm-inst:hover { border-color: var(--mm-amber); transform: translateY(-2px); }
.mm-plate { background: #fff; border-radius: 10px; display: grid; place-items: center; height: 6rem; padding: .6rem .9rem; }
.mm-plate img { max-width: 100%; max-height: 4.6rem; width: auto; height: auto; object-fit: contain; border-radius: 0; }
.mm-inst h3 { font-family: var(--wp--preset--font-family--text); font-weight: 600; font-size: 1.3rem; line-height: 1.2; letter-spacing: -.005em; }
.mm-where-t { font-size: .88rem; color: var(--mm-ink2); margin: .25rem 0 0 !important; }
.mm-pills { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .7rem !important; }
.mm-pill { font-family: var(--mm-mono); font-size: .8rem; letter-spacing: .04em; padding: .15rem .6rem; border-radius: 999px; border: 1px solid var(--mm-line); color: var(--mm-ink2); margin: 0; }
.mm-pill-hot { background: var(--mm-amber); border-color: var(--mm-amber); color: var(--mm-amber-ink); font-weight: 500; }
.mm-pill-line { border-color: var(--mm-ink2); }
.mm-partners { margin-top: clamp(2.5rem, 5vw, 4rem) !important; }
.mm-logo-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: 1rem; margin-top: 1.2rem !important; }
.mm-lp { background: #fff; border-radius: 12px; height: 6.2rem; display: grid; place-items: center; padding: .7rem 1.1rem; }
.mm-lp img { max-width: 100%; max-height: 4.4rem; width: auto; height: auto; object-fit: contain; border-radius: 0; }

/* ------------------------------------------------ videos */
.mm-vids { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.2rem, 2.4vw, 2.2rem); }
.mm-vid { position: relative; border-radius: 18px; overflow: hidden; aspect-ratio: 16 / 9; background: var(--mm-surface); }
.mm-vid figure, .mm-vid a { display: block; height: 100%; }
.mm-vid img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0; transition: transform .6s, filter .3s; filter: brightness(.82); }
.mm-vid:hover img { transform: scale(1.05); filter: brightness(1); }
.mm-vid::after { content: ""; position: absolute; left: 50%; top: 50%; width: 4.6rem; height: 4.6rem; transform: translate(-50%, -50%); border-radius: 50%; background: var(--mm-amber) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6.5v11l9-5.5z' fill='%231A1200'/%3E%3C/svg%3E") center / 2.4rem no-repeat; box-shadow: 0 8px 30px rgba(0,0,0,.45); pointer-events: none; }

/* ------------------------------------------------ funding */
.mm-fund { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 2.5rem clamp(2rem, 5vw, 5rem); align-items: center; padding-block: clamp(3rem, 6vw, 5rem); border-block: 1px solid var(--mm-line); }
.mm-fund-t { display: grid; gap: 1.2rem; }
.mm-fund-title { font-size: clamp(2rem, 3.8vw, 3.2rem); }
.mm-fund-t p { font-size: 1.2rem; color: var(--mm-ink2); max-width: 36rem; line-height: 1.6; }
.mm-fund-t p.mm-ga { font-family: var(--mm-mono); font-size: 1.05rem; color: var(--mm-amber); }
.mm-fund-t p.mm-ga strong { font-weight: 500; }
.mm-plates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.mm-fplate { background: #fff; border-radius: 16px; display: grid; place-items: center; padding: 1.2rem 1.6rem; min-height: 8.5rem; transition: transform .25s, box-shadow .25s; margin: 0 !important; }
.mm-fplate:hover { transform: translateY(-4px); box-shadow: 0 14px 34px rgba(0,0,0,.4); }
.mm-fplate img { display: block; max-width: 100%; max-height: 6rem; width: auto; height: auto; object-fit: contain; border-radius: 0; }
.mm-fplate-eu, .mm-fplate-seri { grid-column: 1 / -1; }
.mm-fplate-eu { min-height: 10rem; }
.mm-fplate-eu img { max-height: 7rem; }
.mm-fplate-seri img { max-height: 5.5rem; }

/* ------------------------------------------------ footer */
.mm-footer-in { padding-block: clamp(3rem, 6vw, 5rem) 2.5rem; overflow: hidden; border-top: 1px solid var(--mm-line); }
.mm-disclaimer { font-size: .95rem; line-height: 1.6; color: var(--mm-ink2); max-width: 62rem; margin-bottom: 2rem !important; }
.mm-disclaimer strong { color: var(--mm-ink); }
.mm-bigmark { font-family: var(--mm-display); font-weight: 300; font-size: clamp(4rem, 17vw, 17rem) !important; line-height: .85; letter-spacing: -.05em; color: transparent; -webkit-text-stroke: 1.5px var(--mm-line); user-select: none; margin-bottom: 2.5rem !important; }
.mm-footer-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1.5rem 3rem; font-size: 1.05rem; color: var(--mm-ink2); }
.mm-footer-row p { margin: 0; }
.mm-social { display: flex; flex-wrap: wrap; gap: .4rem 2rem; font-weight: 600; font-size: 1.15rem; }
.mm-social a { text-decoration: none; border-bottom: 2px solid transparent; }
.mm-social a:hover { border-color: var(--mm-amber); }

/* ------------------------------------------------ subpages */
.mm-phero { position: relative; padding: 10rem var(--mm-pad) clamp(3rem, 6vw, 5rem); border-bottom: 1px solid var(--mm-line); background: radial-gradient(90% 120% at 100% 0, rgba(31,70,184,.45), rgba(5,11,26,0) 60%), linear-gradient(var(--mm-bg2), var(--mm-bg)); overflow: hidden; isolation: isolate; }
body.admin-bar .mm-phero { padding-top: 11rem; }
.mm-phero h1 { font-size: clamp(2.8rem, 6.4vw, 5.6rem); line-height: 1.02; max-width: 20ch; margin-top: 1.2rem !important; font-weight: 500; }
.mm-phero .mm-lede { margin-top: 1.6rem !important; }
.mm-phero-img .wp-block-post-featured-image { position: absolute !important; inset: 0; z-index: -2; margin: 0 !important; height: 100%; }
.mm-phero-img .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.mm-phero-img::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(5,11,26,.95) 10%, rgba(5,11,26,.55)), linear-gradient(0deg, var(--mm-bg), rgba(5,11,26,0) 40%); }
.mm-crumbs { font-size: .88rem; letter-spacing: .06em; color: var(--mm-ink2); }
.mm-crumbs a { color: var(--mm-ink2); text-decoration: none; border-bottom: 1px solid var(--mm-line); }
.mm-crumbs a:hover { color: var(--mm-amber); border-color: var(--mm-amber); }
.mm-meta-line { font-family: var(--mm-mono); color: var(--mm-ink2); margin-top: 1.2rem !important; }
.mm-prose { padding-block: clamp(3rem, 6vw, 5rem); }
.mm-prose .wp-block-post-content > * + * { margin-top: 1.5rem; }
.mm-prose p, .mm-prose li { font-size: 1.2rem; line-height: 1.7; color: var(--mm-ink2); }
.mm-prose a { border-bottom: 2px solid var(--mm-amber); text-decoration: none; color: var(--mm-ink); }
.mm-prose h2, .mm-prose h3 { margin-top: 2.4rem; }
.mm-prose h2 { font-size: clamp(1.9rem, 3.4vw, 2.8rem); } .mm-prose h3 { font-size: clamp(1.4rem, 2.4vw, 1.9rem); }
.mm-prose strong { color: var(--mm-ink); font-weight: 600; }
.mm-event .mm-lead p, .mm-event > .wp-block-post-content > p { font-size: 1.4rem; color: var(--mm-ink2); }
.mm-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1.4rem 3rem; margin-bottom: 2.6rem !important; max-width: 60rem; }
.mm-meta > div { border-top: 1px solid var(--mm-line); padding-top: .9rem; }
.mm-meta .mm-k { font-family: var(--mm-mono); font-size: .8rem !important; letter-spacing: .1em; text-transform: uppercase; color: var(--mm-amber) !important; margin: 0; }
.mm-meta .mm-v { font-size: 1.2rem !important; line-height: 1.4; color: var(--mm-ink) !important; margin: .3rem 0 0; }
.mm-download a { display: inline-block; padding: .9rem 1.6rem; border: 1px solid var(--mm-line); border-radius: 16px; background: var(--mm-bg2); font-weight: 600; text-decoration: none; }
.mm-download a:hover { border-color: var(--mm-amber); }
.mm-gallery { columns: 3 22rem; column-gap: 1.2rem; margin-top: 2.4rem !important; }
.mm-gallery figure { break-inside: avoid; margin: 0 0 1.2rem !important; overflow: hidden; border-radius: 14px; background: var(--mm-surface); }
.mm-gallery img { display: block; width: 100%; height: auto; transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.mm-gallery figure:hover img { transform: scale(1.04); }
.mm-pager-wrap { padding-block: 0 clamp(3rem, 6vw, 5rem); }
.mm-pager { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.mm-pager > div { border: 1px solid var(--mm-line); border-radius: 16px; background: var(--mm-bg2); padding: 1.4rem 1.6rem; font-family: var(--mm-display); font-size: 1.5rem; line-height: 1.2; }
.mm-pager a { text-decoration: none; display: grid; gap: .4rem; }
.mm-pager .post-navigation-link-next { text-align: right; }
.mm-pager .post-navigation-link__label { font-family: var(--mm-mono); font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; color: var(--mm-amber); }
.mm-pager .wp-block-post-navigation-link { border: 1px solid var(--mm-line); border-radius: 16px; background: var(--mm-bg2); padding: 1.4rem 1.6rem; font-family: var(--mm-display); font-size: 1.5rem; line-height: 1.2; }
.mm-pager .wp-block-post-navigation-link:hover { border-color: var(--mm-amber); }
.mm-pager .post-navigation-link__label { display: block; margin-bottom: .4rem; }
.mm-pager > div:empty { display: none; }

.mm-ev-list { list-style: none; padding: 0; margin: 0; display: grid; gap: clamp(2rem, 4vw, 3rem); }
.mm-ev-row { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
.mm-ev-row .wp-block-post-featured-image { overflow: hidden; border-radius: 20px; background: var(--mm-surface); }
.mm-ev-row .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
.mm-ev-row:hover img { transform: scale(1.04); }
.mm-ev-row h2 { font-size: clamp(2rem, 3.6vw, 3.2rem); }
.mm-ev-row .wp-block-post-excerpt { margin-top: 1rem; }
.mm-ev-row .wp-block-post-excerpt__excerpt { font-size: 1.2rem; color: var(--mm-ink2); line-height: 1.55; margin: 0; }
.mm-ev-row .wp-block-post-excerpt__more-link { display: inline-block; margin-top: 1.2rem; font-weight: 600; border-bottom: 2px solid var(--mm-amber); text-decoration: none; }
.mm-ev-list > li:nth-child(even) .wp-block-post-featured-image { order: 2; }
.mm-news-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 2.2rem; max-width: 62rem; }
.mm-news { display: grid; grid-template-columns: minmax(0, 20rem) minmax(0, 1fr); gap: 1.6rem 2.4rem; align-items: center; padding-bottom: 2.2rem; border-bottom: 1px solid var(--mm-line); }
.mm-news .wp-block-post-featured-image { overflow: hidden; border-radius: 16px; background: var(--mm-surface); }
.mm-news .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mm-news-body { display: grid; gap: .8rem; }
.mm-news h2 { font-size: clamp(1.7rem, 2.8vw, 2.4rem); line-height: 1.12; }
.mm-news .wp-block-post-date { font-family: var(--mm-mono); font-size: .88rem; color: var(--mm-amber); text-transform: uppercase; letter-spacing: .1em; }
.mm-news .wp-block-post-excerpt__excerpt { color: var(--mm-ink2); font-size: 1.12rem; line-height: 1.55; margin: 0; }
.wp-block-query-pagination { margin-top: 3rem; gap: 1rem; font-family: var(--mm-mono); }
.mm-member { display: grid; grid-template-columns: minmax(0, 24rem) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: start; }
.mm-member-ph { overflow: hidden; border-radius: 20px; background: var(--mm-surface); }
.mm-member-ph img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }
.mm-proj, .mm-proj p { font-family: var(--mm-display); font-size: clamp(1.4rem, 2.2vw, 1.9rem) !important; line-height: 1.3; color: var(--mm-ink) !important; margin: 0 0 1.6rem; }
.mm-member-text .wp-block-post-content > * + * { margin-top: 1.1rem; }
.mm-member-text p, .mm-member-text li { font-size: 1.15rem; color: var(--mm-ink2); line-height: 1.65; }
.mm-member-text h3 { font-size: 1.5rem; margin-top: 2rem; }

/* results (rendered by the plugin script) */
.rctl { display: grid; gap: 1.1rem; margin-bottom: 2.6rem; }
.rrow { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem 1.5rem; }
.seg { display: inline-flex; padding: .3rem; border: 1px solid var(--mm-line); border-radius: 999px; background: var(--mm-bg2); }
.seg button { font: inherit; font-weight: 600; font-size: 1rem; color: var(--mm-ink2); background: none; border: 0; padding: .6rem 1.4rem; border-radius: 999px; cursor: pointer; }
.seg button[aria-pressed="true"] { background: var(--mm-amber); color: var(--mm-amber-ink); }
.rcount { font-family: var(--mm-mono); font-size: .95rem; color: var(--mm-ink2); }
.chips2 { display: flex; flex-wrap: wrap; gap: .5rem; }
.ch { font: inherit; font-size: .98rem; font-weight: 500; display: inline-flex; align-items: center; gap: .55rem; padding: .35rem .95rem .35rem .4rem; border: 1px solid var(--mm-line); border-radius: 999px; background: none; color: var(--mm-ink2); cursor: pointer; transition: border-color .2s, color .2s; }
.ch:not(.av) { padding-left: .95rem; }
.ch:hover { border-color: var(--mm-ink2); color: var(--mm-ink); }
.ch[aria-pressed="true"] { background: var(--mm-ink); border-color: var(--mm-ink); color: var(--mm-bg); }
.ch img { width: 2rem; height: 2rem; border-radius: 50%; object-fit: cover; object-position: top; }
.ch i { font-style: normal; font-family: var(--mm-mono); font-size: .8rem; opacity: .7; }
.ch em { width: .7rem; height: .7rem; border-radius: 50%; background: var(--t, var(--mm-ink2)); }
.rgroup { margin-bottom: clamp(3rem, 6vw, 5rem); }
.rgroup > header { display: flex; align-items: baseline; gap: 1.2rem; padding-bottom: 1.1rem; margin-bottom: 1.8rem; border-bottom: 1px solid var(--mm-line); }
.rgroup > header h2 { font-size: clamp(2.6rem, 5vw, 4.4rem); line-height: 1; }
.rgroup > header span { font-family: var(--mm-mono); font-size: .95rem; color: var(--mm-ink2); }
.rgroup > header.who { align-items: center; }
.rgroup > header.who img { width: 5rem; height: 5rem; border-radius: 50%; object-fit: cover; object-position: top; }
.rgroup > header.who h2 { font-size: clamp(1.9rem, 3.4vw, 2.8rem); }
.rgroup > header.who span { display: block; margin-top: .4rem; }
.rgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.2rem, 2.2vw, 2rem); }
.rc { display: flex; flex-direction: column; min-width: 0; background: var(--mm-bg2); border: 1px solid var(--mm-line); border-radius: 20px; overflow: hidden; transition: border-color .25s, transform .25s; --t: var(--mm-ink2); }
.rc:hover { border-color: var(--mm-amber); transform: translateY(-3px); }
.rc-prev { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #fff; }
.rc-prev img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.rc:hover .rc-prev img { transform: scale(1.04); }
.rc-prev.cover { display: grid; place-items: center; background: radial-gradient(circle at 50% 50%, rgba(94,139,255,.35) 0 .25rem, transparent .3rem) 0 0 / 2.2rem 2.2rem, linear-gradient(135deg, #12285A, #0A1530); }
.cover-t { font-family: var(--mm-display); font-size: 2.6rem; font-weight: 500; text-align: center; padding: 1rem; background: rgba(5,11,26,.6); border-radius: 12px; }
.rc-type { position: absolute; left: .9rem; top: .9rem; font-family: var(--mm-mono); font-size: .8rem; letter-spacing: .05em; text-transform: uppercase; padding: .25rem .7rem; border-radius: 999px; background: rgba(5,11,26,.88); color: var(--mm-ink); border: 1px solid var(--t); }
.rc-body { display: flex; flex-direction: column; gap: .7rem; padding: 1.3rem 1.4rem 1.5rem; flex: 1; }
.rc-body .eyebrow { font-family: var(--mm-mono); color: var(--mm-ink2); font-size: .85rem; letter-spacing: .1em; text-transform: uppercase; }
.rc h3 { font-size: 1.4rem; line-height: 1.22; font-weight: 500; }
.rc h3 a { text-decoration: none; }
.rc h3 a:hover { color: var(--mm-amber); }
.rc-faces { display: flex; align-items: center; }
.rc-faces img { width: 2.6rem; height: 2.6rem; border-radius: 50%; object-fit: cover; object-position: top; border: 2px solid var(--mm-bg2); margin-left: -.55rem; }
.rc-faces img:first-child { margin-left: 0; }
.rc-faces span { margin-left: .5rem; font-family: var(--mm-mono); font-size: .85rem; color: var(--mm-ink2); }
.rc-auth { font-size: .98rem; line-height: 1.5; color: var(--mm-ink2); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin: 0; }
.rc-auth b { color: var(--mm-ink); font-weight: 600; }
.rc-act { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: auto; padding-top: .6rem; }
.rc-act a { font-family: var(--mm-mono); font-size: .85rem; font-weight: 500; text-decoration: none; padding: .35rem .9rem; border: 1px solid var(--mm-line); border-radius: 999px; border-bottom-width: 1px; color: var(--mm-ink); }
.rc-act a:hover { background: var(--mm-amber); border-color: var(--mm-amber); color: var(--mm-amber-ink); }
.rc[data-type="journal-article"], .ch[data-type="journal-article"] { --t: var(--mm-green); }
.rc[data-type="preprint"], .ch[data-type="preprint"] { --t: var(--mm-orange); }
.rc[data-type="conference-paper"], .ch[data-type="conference-paper"] { --t: #6C97FF; }
.rc[data-type="dataset"], .ch[data-type="dataset"] { --t: var(--mm-red); }
.rc[data-type="poster"], .rc[data-type="presentation"], .ch[data-type="poster"], .ch[data-type="presentation"] { --t: #B28CFF; }
.rc[data-type="deliverable"], .ch[data-type="deliverable"] { --t: var(--mm-sky); }
.rempty { padding: 3rem 0; font-size: 1.3rem; color: var(--mm-ink2); }
.rstats { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: 1.5rem 3rem; margin-bottom: 2.6rem; max-width: 56rem; }
.rstats div { border-top: 1px solid var(--mm-line); padding-top: .9rem; }
.rstats b { display: block; font-family: var(--mm-display); font-weight: 400; font-size: clamp(2.6rem, 5vw, 4rem); line-height: 1; color: var(--mm-amber); }
.rstats span { display: block; margin-top: .4rem; color: var(--mm-ink2); font-size: 1.02rem; }
.rzen { margin: 0 0 2rem; }
.rzen a { display: inline-block; padding: 1rem 1.9rem; border-radius: 999px; background: var(--mm-amber); color: var(--mm-amber-ink); font-weight: 600; text-decoration: none; border: 0; }

/* recruitment table */
.mm-rec { display: grid; gap: 0; border: 1px solid var(--mm-line); border-radius: 18px; overflow: hidden; margin-top: 2rem !important; }
.mm-rec-row { display: grid; grid-template-columns: 5rem minmax(0, 2fr) minmax(0, 1fr) 7rem; gap: 1rem; padding: 1.1rem 1.3rem; border-bottom: 1px solid var(--mm-line); align-items: start; }
.mm-rec-row:last-child { border-bottom: 0; }
.mm-rec-row p { margin: 0 !important; font-size: 1.05rem !important; line-height: 1.45 !important; color: var(--mm-ink) !important; }
.mm-rec-row p:first-child { font-family: var(--mm-mono); color: var(--mm-amber) !important; }
.mm-rec-row p:last-child { font-family: var(--mm-mono); font-size: .8rem !important; text-transform: uppercase; letter-spacing: .06em; color: var(--mm-ink2) !important; }

/* ------------------------------------------------ responsive */
@media (max-width: 1240px) { .mm-nav { gap: .3rem 1.3rem; font-size: 1rem; } .mm-header-in { gap: .6rem 1.2rem; } }
@media (max-width: 1180px) { .mm-team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .rgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 980px) {
  .mm-band-in, .mm-about-top, .mm-fund, .mm-evnext, .mm-member { grid-template-columns: minmax(0, 1fr); }
  .mm-app { grid-template-columns: minmax(0, 1fr); } .mm-faces { justify-self: start; }
  .mm-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mm-fact:nth-child(3) { border-left: 0; padding-left: 0; } .mm-fact:nth-child(n+3) { border-top: 1px solid var(--mm-line); }
  .mm-vids, .mm-ev-row, .mm-news { grid-template-columns: minmax(0, 1fr); }
  .mm-team-grid, .mm-inst-grid, .mm-ev-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mm-inst-grid { grid-template-columns: minmax(0, 1fr); }
  .mm-ev-list > li:nth-child(even) .wp-block-post-featured-image { order: 0; }
  .mm-hero { padding-top: 9rem; }
  .mm-eu-badge { position: static; display: inline-block; margin-top: 2.2rem; }
  .mm-rec-row { grid-template-columns: 4rem minmax(0, 1fr); } .mm-rec-row p:nth-child(3), .mm-rec-row p:nth-child(4) { grid-column: 2; }
}
@media (max-width: 700px) { .rgrid, .mm-ev-grid { grid-template-columns: minmax(0, 1fr); } .mm-pager { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 520px) { .mm-team-grid { grid-template-columns: minmax(0, 1fr); } .mm-inst { grid-template-columns: minmax(0, 1fr); } .mm-plate { max-width: 14rem; } .mm-plates { grid-template-columns: minmax(0, 1fr); } .mm-logo img { height: 2.4rem; } }
@media (prefers-reduced-motion: reduce) { .mm-hero::before { animation: none; } * { transition: none !important; } html { scroll-behavior: auto; } }
