/*
Theme Name: GreenMetal
Theme URI: https://greenmetal.local/
Author: GreenMetal
Description: A polished editorial theme for the GreenMetal project.
Version: 1.0.0
Text Domain: greenmetal
*/

:root {
	--gm-ink: #063d4a;
	--gm-ink-deep: #032e39;
	--gm-teal: #0d6570;
	--gm-blue: #2d8db7;
	--gm-lime: #a4d72d;
	--gm-lime-dark: #6b9f1e;
	--gm-copper: #ef9e38;
	--gm-paper: #f4f8f6;
	--gm-white: #ffffff;
	--gm-surface-soft: #fbfdfc;
	--gm-muted: #607579;
	--gm-border: #dbe8e4;
	--gm-shadow: 0 22px 50px rgba(3, 46, 57, .10);
	--gm-radius-lg: 30px;
	--gm-radius-md: 18px;
	--gm-radius-sm: 12px;
	--gm-max: 1240px;
	--gm-header-height: 82px;
	--gm-font: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--gm-title-font: var(--gm-font);
	--gm-interior-hero-height: 350px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--gm-paper);
	color: var(--gm-ink);
	font-family: var(--gm-font);
	font-size: 16px;
	line-height: 1.55;
}

h1, h2, h3, h4, h5, h6 { font-family: var(--gm-title-font); font-weight: 700; }

a { color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
	outline: 3px solid var(--gm-lime);
	outline-offset: 4px;
}

img { display: block; max-width: 100%; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { z-index: 100; width: auto; height: auto; padding: 12px 16px; margin: 10px; overflow: visible; clip: auto; white-space: normal; background: var(--gm-lime); color: var(--gm-ink); }
.gm-shell { width: 90%; max-width: none; margin-inline: auto; }
.gm-section { padding: 112px 0; }
.gm-kicker {
	margin: 0 0 14px;
	color: var(--gm-lime-dark);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .18em;
	line-height: 1.2;
	text-transform: uppercase;
}
.gm-heading {
	margin: 0;
	font-family: var(--gm-title-font);
	font-size: clamp(2.3rem, 5vw, 4.7rem);
	font-weight: 700;
	letter-spacing: -.07em;
	line-height: .96;
}
.gm-heading--small { font-size: clamp(2rem, 3.4vw, 3.35rem); }
.gm-lede { max-width: 570px; color: var(--gm-muted); font-size: 1.08rem; font-weight: 500; }
.gm-arrow { font-size: 1.15em; line-height: 0; }
.gm-legal-page { min-height: 0; padding: 84px 0 112px; background: var(--gm-paper); }
.gm-legal-page .gm-shell { width: 90%; max-width: 980px; }
.gm-legal-page .gm-heading { max-width: 900px; }
.gm-legal-content { max-width: 900px; margin-top: 44px; color: var(--gm-muted); font-size: .98rem; font-weight: 400; }
.gm-legal-content h2 { margin: 42px 0 13px; color: var(--gm-ink); font-size: clamp(1.35rem, 2.2vw, 2rem); letter-spacing: -.045em; line-height: 1.1; }
.gm-legal-content h2:first-child { margin-top: 0; }
.gm-legal-content p { margin: 0 0 18px; color: var(--gm-muted); }
.gm-legal-content ul { margin: 0 0 22px; padding-left: 1.25rem; color: var(--gm-muted); }
.gm-legal-content li { margin: 7px 0; padding-left: 5px; }
.gm-legal-content a { color: var(--gm-teal); text-decoration: underline; text-underline-offset: 2px; }
.gm-legal-content a:hover { color: var(--gm-lime-dark); }
.gm-legal-content strong { color: var(--gm-ink); font-weight: 700; }
.gm-interior-hero[style*="--gm-page-hero-image"] { position: relative; overflow: hidden; background: linear-gradient(90deg, rgba(3,46,57,.96) 0%, rgba(3,46,57,.78) 52%, rgba(3,46,57,.34) 100%), var(--gm-page-hero-image) center / cover no-repeat; color: var(--gm-white); }
.gm-interior-hero[style*="--gm-page-hero-image"] .gm-shell { position: relative; z-index: 1; }
.gm-interior-hero[style*="--gm-page-hero-image"] .gm-kicker { color: var(--gm-lime); }
.gm-interior-hero[style*="--gm-page-hero-image"] .gm-heading, .gm-interior-hero[style*="--gm-page-hero-image"] .gm-lede { color: var(--gm-white); }
.gm-error-page { min-height: calc(100svh - var(--gm-header-height)); display: grid; align-items: center; padding: 112px 0; background: var(--gm-paper); }
.gm-error-page__content { max-width: 760px; }
.gm-error-page__content .gm-heading { max-width: 700px; }
.gm-error-page__content .gm-lede { margin: 24px 0 0; }
.gm-error-page__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }

.gm-header {
	position: sticky;
	top: 0;
	z-index: 20;
	background: rgba(255, 255, 255, .93);
	border-bottom: 1px solid rgba(219, 232, 228, .9);
	backdrop-filter: blur(16px);
}
.gm-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 82px;
	gap: 24px;
}
.gm-brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; letter-spacing: -.045em; }
.gm-brand__mark { position: relative; display: inline-block; width: 32px; height: 32px; }
.gm-brand__mark::before, .gm-brand__mark::after, .gm-brand__orbit {
	position: absolute;
	content: "";
	border-radius: 999px;
}
.gm-brand__mark::before { width: 16px; height: 16px; top: 8px; left: 1px; background: var(--gm-blue); }
.gm-brand__mark::after { width: 16px; height: 16px; top: 1px; right: 1px; background: var(--gm-lime); }
.gm-brand__orbit { width: 16px; height: 16px; right: 2px; bottom: 1px; background: var(--gm-teal); }
.gm-brand__word { font-size: 1.18rem; }
.gm-brand__word span { font-weight: 400; }
.gm-brand__logo { width: auto; max-width: 180px; max-height: 42px; object-fit: contain; }
.gm-nav { display: flex; align-items: center; gap: clamp(12px, 2.2vw, 30px); font-size: .84rem; font-weight: 500; }
.gm-nav a { color: #375c61; transition: color .2s ease; }
.gm-nav a:hover { color: var(--gm-teal); }
.gm-nav a.is-current { color: var(--gm-teal); text-decoration: underline; text-decoration-color: var(--gm-lime); text-decoration-thickness: 2px; text-underline-offset: 8px; }
.gm-nav__contact { display: inline-flex; align-items: center; gap: 8px; padding: 11px 14px; border: 1px solid var(--gm-border); border-radius: 999px; background: #eef5f1; font-size: .78rem; transition: transform .22s ease, color .22s ease, background-color .22s ease, border-color .22s ease; }
.gm-header__actions .gm-nav__contact:hover, .gm-nav .gm-nav__contact:hover { border-color: var(--gm-ink); background: var(--gm-ink); color: var(--gm-white); transform: translateY(-2px); }
.gm-nav__button { display: inline-flex; align-items: center; gap: 10px; padding: 13px 18px; border: 1px solid transparent; border-radius: 999px; background: var(--gm-lime); color: var(--gm-ink); transition: transform .22s ease, color .22s ease, background-color .22s ease, border-color .22s ease; }
.gm-header__actions .gm-nav__button:hover, .gm-nav .gm-nav__button:hover { border-color: var(--gm-lime); background: var(--gm-white); color: var(--gm-lime); transform: translateY(-2px); }
.gm-header__actions { display: none; align-items: center; gap: 10px; }
.gm-header__actions .gm-nav__contact, .gm-header__actions .gm-nav__button, .gm-nav > .gm-nav__contact, .gm-nav > .gm-nav__button { box-sizing: border-box; flex: 0 0 170px; width: 170px; min-width: 170px; max-width: 170px; height: 42px; justify-content: center; padding: 0 10px; font-size: .78rem; white-space: nowrap; }
.gm-menu-toggle { display: none; border: 0; background: transparent; color: var(--gm-ink); font-size: 1.6rem; }

@media (max-width: 1250px) {
	.gm-menu-toggle { display: block; }
	.gm-header__actions { display: flex; }
	.gm-nav { position: absolute; top: 82px; left: 5%; right: 5%; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 12px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: var(--gm-white); box-shadow: var(--gm-shadow); }
	.gm-nav.is-open { display: flex; }
	.gm-nav a { padding: 10px 12px; }
	.gm-nav .gm-nav__contact, .gm-nav .gm-nav__button { display: none; }
	.gm-nav__button { justify-content: center; }
	.gm-technology-hero__content { padding: 28px 0; }
	.gm-technology-hero__content .gm-actions { position: static; margin-top: 44px; }
	.gm-project-hero__content .gm-heading, .gm-agenda-page__intro .gm-heading, .gm-news-page__hero .gm-heading, .gm-news-page__intro .gm-heading, .gm-repository-page__intro .gm-heading, .gm-studies-page__hero .gm-heading, .gm-interior-hero .gm-heading, .gm-technology-hero__content .gm-heading { font-size: 2.6rem; }
}

.gm-hero { padding: 0; }
.gm-hero > .gm-shell { width: 100%; max-width: none; }
.gm-hero__panel {
	position: relative;
	min-height: calc(100svh - var(--gm-header-height));
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	border-radius: 0;
	background: var(--gm-ink-deep) var(--gm-home-hero-image, url('assets/images/hero-bokeh.png')) center / cover no-repeat;
	box-shadow: var(--gm-shadow);
}
body.admin-bar .gm-hero__panel { min-height: calc(100svh - var(--gm-header-height) - 32px); }
.gm-hero__panel::before {
	position: absolute; inset: 0; content: "";
	background: linear-gradient(90deg, rgba(3, 46, 57, .96) 0%, rgba(3, 46, 57, .66) 33%, rgba(3, 46, 57, .05) 78%);
}
.gm-hero__panel::after {
	position: absolute; inset: 0; content: "";
	background: linear-gradient(0deg, rgba(3, 46, 57, .66), transparent 44%);
}
.gm-hero__content { position: relative; z-index: 1; max-width: 660px; padding: clamp(32px, 7vw, 86px); color: var(--gm-white); }
.gm-hero__content .gm-kicker { color: var(--gm-lime); }
.gm-hero__content .gm-heading { font-size: clamp(3.4rem, 8vw, 7.4rem); }
.gm-hero__copy { max-width: 520px; margin: 26px 0 30px; color: rgba(255,255,255,.86); font-size: 1.12rem; }
.gm-hero__copy, .gm-hero__support, .gm-news__subhead, .gm-agenda__subhead, .gm-objectives__intro, .gm-project-consortium__intro { font-weight: 500; }
.gm-hero__support { margin: 0 0 28px; color: rgba(255,255,255,.72); font-size: .92rem; }
.gm-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.gm-button { display: inline-flex; align-items: center; justify-content: center; gap: 11px; min-height: 48px; padding: 0 20px; border: 1px solid transparent; border-radius: 999px; font-family: var(--gm-font); font-weight: 700; font-size: .9rem; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.gm-button:hover { transform: translateY(-2px); }
.gm-button--lime { background: var(--gm-lime); color: var(--gm-ink); }
.gm-button--dark { background: var(--gm-ink); color: var(--gm-white); }
.gm-button--dark:hover { background: var(--gm-teal); }
.gm-button--outline { border-color: rgba(255,255,255,.42); color: var(--gm-white); }
.gm-button--outline:hover { background: rgba(255,255,255,.12); }
.gm-hero__badge { position: absolute; right: 34px; bottom: 34px; z-index: 2; width: 138px; height: 138px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.44); border-radius: 50%; color: rgba(255,255,255,.86); font-size: .66rem; font-weight: 700; letter-spacing: .12em; line-height: 1.25; text-align: center; text-transform: uppercase; transform: rotate(9deg); }
.gm-hero__badge::before { position: absolute; inset: 14px; border: 1px dashed rgba(255,255,255,.45); border-radius: 50%; content: ""; }

.gm-agenda { padding-top: 74px; }
.gm-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.gm-link { display: inline-flex; align-items: center; gap: 8px; color: var(--gm-teal); font-size: .9rem; font-weight: 500; }
.gm-agenda__grid { display: grid; gap: 12px; }
.gm-event { min-height: 84px; padding: 14px 20px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-white); box-shadow: 0 6px 16px rgba(3,46,57,.03); }
.gm-event__desktop { display: grid; grid-template-columns: 92px minmax(0, 1fr) minmax(150px, .42fr) 42px; align-items: center; gap: 18px; }
.gm-event__mobile { display: none; }
.gm-event__body { min-width: 0; }
.gm-event__date { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 60px; color: var(--gm-copper); font-size: .72rem; font-weight: 700; text-align: center; }
.gm-event__date strong { display: block; color: var(--gm-teal); font-size: 1.7rem; letter-spacing: -.06em; line-height: 1; white-space: nowrap; }
.gm-event__date span { display: block; margin-top: 5px; color: var(--gm-muted); font-size: .78rem; letter-spacing: 0; line-height: 1.1; text-transform: none; }
.gm-event__title { margin: 0; font-size: 1rem; font-weight: 700; }
.gm-event__title a:hover { color: var(--gm-teal); }
.gm-event__subtitle { margin: 4px 0 0; color: var(--gm-muted); font-size: .76rem; font-weight: 500; }
.gm-event__type { display: inline-flex; width: fit-content; margin-bottom: 4px; padding: 4px 8px; border-radius: 999px; background: #e8f5bb; color: #4d741b; font-size: .64rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.gm-event__place { color: var(--gm-muted); font-size: .86rem; }
.gm-event__place span { display: block; }
.gm-event__place span + span { margin-top: 2px; }
.gm-event__action { display: flex; align-items: center; justify-content: center; }
.gm-event__edit { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--gm-border); border-radius: 50%; color: var(--gm-teal); }
.gm-empty-state { margin: 0; padding: 24px; border: 1px dashed var(--gm-border); border-radius: var(--gm-radius-sm); color: var(--gm-muted); background: rgba(255,255,255,.6); }

.gm-project { background: var(--gm-white); }
.gm-project__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(50px, 8vw, 120px); align-items: center; }
.gm-project__statement { margin: 28px 0; font-size: clamp(1.4rem, 2.5vw, 2.2rem); font-weight: 700; letter-spacing: -.04em; line-height: 1.14; }
.gm-project__body { color: var(--gm-muted); }
.gm-project__visual { position: relative; min-height: 440px; overflow: hidden; border-radius: var(--gm-radius-lg); background: linear-gradient(135deg, var(--gm-ink), var(--gm-teal)); }
.gm-project__visual::before { position: absolute; inset: 28px; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; content: ""; }
.gm-project__visual::after { position: absolute; width: 380px; height: 380px; right: -100px; bottom: -150px; border: 1px solid rgba(164,215,45,.55); border-radius: 50%; content: ""; }
.gm-project__orbit { position: absolute; inset: 0; display: grid; place-items: center; color: var(--gm-white); font-weight: 700; letter-spacing: -.05em; }
.gm-project__orbit strong { display: block; font-size: clamp(4rem, 10vw, 8rem); line-height: .8; }
.gm-project__orbit span { display: block; max-width: 180px; margin-top: 26px; color: rgba(255,255,255,.72); font-size: .88rem; line-height: 1.45; text-align: center; }
.gm-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 38px; }
.gm-stat { padding-top: 16px; border-top: 2px solid var(--gm-lime); }
.gm-stat strong { display: block; font-size: 2.1rem; letter-spacing: -.07em; line-height: 1; }
.gm-stat span { color: var(--gm-muted); font-size: .82rem; }

.gm-technology { background: var(--gm-ink); color: var(--gm-white); }
.gm-technology .gm-kicker { color: var(--gm-lime); }
.gm-technology .gm-lede { color: rgba(255,255,255,.68); }
.gm-tech-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.gm-tech-card { min-height: 270px; display: flex; flex-direction: column; justify-content: space-between; padding: 26px; border: 1px solid rgba(255,255,255,.18); border-radius: var(--gm-radius-md); background: linear-gradient(155deg, rgba(255,255,255,.08), rgba(255,255,255,.02)); }
.gm-tech-card__number { color: var(--gm-lime); font-size: .8rem; font-weight: 700; letter-spacing: .15em; }
.gm-tech-card h3 { margin: 46px 0 10px; font-size: 1.35rem; letter-spacing: -.04em; }
.gm-tech-card p { margin: 0; color: rgba(255,255,255,.65); font-size: .92rem; }
.gm-tech-card__link { display: flex; justify-content: space-between; margin-top: 26px; color: var(--gm-lime); font-weight: 700; }

.gm-technology-hero { position: relative; height: var(--gm-interior-hero-height); min-height: var(--gm-interior-hero-height); display: flex; align-items: center; overflow: hidden; background: var(--gm-ink-deep) var(--gm-technology-hero-image) center / cover no-repeat; color: var(--gm-white); }
.gm-technology-hero::before { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(3,46,57,.97) 0%, rgba(3,46,57,.84) 46%, rgba(3,46,57,.28) 100%); }
.gm-technology-hero .gm-shell { position: relative; z-index: 1; }
.gm-technology-hero__content { max-width: none; padding: 36px 0; }
.gm-technology-hero__content .gm-kicker { color: var(--gm-lime); }
.gm-technology-hero__content .gm-heading { max-width: 980px; color: var(--gm-white); font-size: 3rem; }
.gm-technology-hero__content > p:not(.gm-kicker) { max-width: 650px; margin: 20px 0 0; color: rgba(255,255,255,.84); font-size: 1rem; font-weight: 500; }
.gm-technology-hero__content .gm-actions { position: absolute; right: 0; bottom: 18px; margin-top: 0; }
.gm-technology-participation { background: var(--gm-surface-soft); }
.gm-technology-participation__intro { max-width: 650px; }
.gm-technology-participation__intro > p:last-child { margin: 24px 0 0; color: var(--gm-muted); font-size: 1rem; }
.gm-technology-participation__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 40px; }
.gm-technology-participation__card { min-height: 228px; display: flex; flex-direction: column; justify-content: space-between; padding: 24px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: var(--gm-white); color: var(--gm-ink); transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, opacity .55s ease; transition-delay: var(--gm-card-delay, 0ms); }
.gm-technology-participation__card--dark { border-color: var(--gm-ink); background: var(--gm-ink); color: var(--gm-white); }
.gm-technology-participation__card--copper { border-top: 3px solid var(--gm-copper); }
.gm-technology-participation__number { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; background: var(--gm-lime); color: var(--gm-ink); font-weight: 700; transition: transform .28s ease; }
.gm-technology-participation__card h3 { margin: 32px 0 8px; font-size: 1.15rem; letter-spacing: -.04em; }
.gm-technology-participation__card p { margin: 0; color: var(--gm-muted); font-size: .88rem; line-height: 1.45; }
.gm-technology-participation__card--dark p { color: rgba(255,255,255,.72); }
.gm-technology-participation__card:hover { transform: translateY(-6px); box-shadow: 0 18px 32px rgba(3,46,57,.12); }
.gm-technology-participation__card:hover .gm-technology-participation__number { transform: scale(1.06); }
.gm-technology-contact { background: #edf5f2; }
.gm-technology-contact__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(48px, 9vw, 130px); align-items: center; }
.gm-technology-contact__copy { max-width: 600px; }
.gm-technology-contact__copy > p:not(.gm-kicker) { margin: 24px 0 12px; color: var(--gm-muted); font-size: 1rem; }
.gm-technology-contact__copy .gm-link { color: var(--gm-teal); }
.gm-technology-contact__card { padding: 32px; border-radius: var(--gm-radius-lg); background: var(--gm-ink); color: var(--gm-white); box-shadow: var(--gm-shadow); }
.gm-technology-contact__card .gm-kicker { color: var(--gm-lime); }
.gm-technology-contact__card h2 { max-width: none; margin: 0 0 22px; font-size: clamp(1.45rem, 2.25vw, 2.15rem); letter-spacing: -.06em; line-height: 1; white-space: nowrap; }
.gm-technology-contact__details { display: grid; gap: 3px; margin-bottom: 24px; color: rgba(255,255,255,.86); font-size: .92rem; }
.gm-technology-contact__details a:hover { color: var(--gm-lime); }
.gm-technology-contact__card .gm-button--outline { border-color: rgba(255,255,255,.42); color: var(--gm-white); }
.gm-technology-contact__card .gm-button--outline:hover { border-color: var(--gm-white); background: rgba(255,255,255,.1); }

@media (max-width: 1250px) {
	.gm-technology-hero__content { padding: 28px 0; }
	.gm-technology-hero__content .gm-actions { position: static; margin-top: 44px; }
}

.gm-studies__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; align-items: start; }
.gm-study-list { display: grid; gap: 0; }
.gm-study { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 0; border-top: 1px solid var(--gm-border); }
.gm-study:last-child { border-bottom: 1px solid var(--gm-border); }
.gm-study__title { margin: 0; font-size: 1.05rem; }
.gm-study__meta { color: var(--gm-muted); font-size: .8rem; }
.gm-study__arrow { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--gm-lime); color: var(--gm-ink); font-size: 1.2rem; }

.gm-news { background: #e9f1ee; }
.gm-news-grid { display: grid; grid-template-columns: 1.15fr .85fr .85fr; gap: 16px; }
.gm-news-card { min-height: 330px; display: flex; flex-direction: column; justify-content: flex-end; padding: 26px; overflow: hidden; border-radius: var(--gm-radius-md); background: var(--gm-white); }
.gm-news-card--featured { min-height: 390px; background: linear-gradient(150deg, rgba(3,46,57,.05), rgba(45,141,183,.22)); }
.gm-news-card__tag { margin-bottom: auto; color: var(--gm-teal); font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.gm-news-card h3 { max-width: 360px; margin: 20px 0 10px; font-size: 1.6rem; line-height: 1.05; letter-spacing: -.05em; }
.gm-news-card p { margin: 0; color: var(--gm-muted); font-size: .9rem; }

.gm-interest { padding: 84px 0; background: var(--gm-lime); }
.gm-interest__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: end; }
.gm-interest .gm-lede { color: #41601d; }
.gm-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.gm-form label { display: grid; gap: 6px; color: var(--gm-ink); font-size: .8rem; font-weight: 500; }
.gm-form label:first-child, .gm-form label:last-of-type { grid-column: 1 / -1; }
.gm-form input, .gm-form textarea { width: 100%; border: 1px solid rgba(3,46,57,.2); border-radius: 9px; background: rgba(255,255,255,.68); color: var(--gm-ink); font: inherit; padding: 13px 14px; }
.gm-form textarea { min-height: 90px; resize: vertical; }
.gm-form .gm-button { width: fit-content; border-color: var(--gm-ink); background: var(--gm-ink); color: var(--gm-white); cursor: pointer; }

.gm-footer { padding: 76px 0 28px; background: var(--gm-ink-deep); color: var(--gm-white); }
.gm-footer__top { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 34px; padding-bottom: 52px; }
.gm-footer .gm-brand { color: var(--gm-white); }
.gm-footer__intro { max-width: 300px; color: rgba(255,255,255,.64); font-size: .86rem; }
.gm-footer__socials { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 22px; }
.gm-footer__social-link { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; color: var(--gm-white); transition: color .2s ease, border-color .2s ease, transform .2s ease; }
.gm-footer__social-link:hover { border-color: var(--gm-lime); color: var(--gm-lime); transform: translateY(-2px); }
.gm-footer__social-link svg { width: 17px; height: 17px; fill: currentColor; }
.gm-contact-phone-note { display: block; margin-top: 3px; color: rgba(255,255,255,.55); font-size: .72rem; line-height: 1.35; }
.gm-contacts-interest__details .gm-contact-phone-note, .gm-technology-contact__details .gm-contact-phone-note { color: var(--gm-muted); }
.gm-footer h3 { margin: 0 0 16px; color: var(--gm-lime); font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; }
.gm-footer ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; color: rgba(255,255,255,.72); font-size: .9rem; }
.gm-footer a:hover { color: var(--gm-lime); }
.gm-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.55); font-size: .78rem; }
.gm-footer__marks { display: flex; align-items: center; gap: 22px; color: rgba(255,255,255,.74); font-weight: 700; }
.gm-footer__mark { display: inline-flex; align-items: center; }
.gm-footer__mark-link { display: inline-flex; align-items: center; transition: opacity .2s ease, transform .2s ease; }
.gm-footer__mark-link:hover { opacity: .82; transform: translateY(-1px); }
.gm-footer__mark-image { display: block; width: auto; max-width: 380px; max-height: 56px; object-fit: contain; }

/* Homepage composition aligned with the supplied GreenMetal reference. */
.gm-hero__content .gm-heading { font-size: clamp(3.4rem, 6vw, 6.5rem); }
.gm-agenda__subhead { margin: 16px 0 2px; font-size: 1rem; letter-spacing: -.02em; }
.gm-agenda .gm-lede { margin-top: 0; font-size: .96rem; }
.gm-interest-banner-wrap { padding: 56px 0; background: var(--gm-white); }
.gm-interest-banner { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 34px 42px; border-radius: 24px; background: var(--gm-ink); color: var(--gm-white); }
.gm-interest-banner .gm-kicker { color: var(--gm-lime); }
.gm-interest-banner h2 { margin: 0 0 8px; font-size: clamp(1.8rem, 3vw, 2.6rem); letter-spacing: -.06em; line-height: 1; }
.gm-interest-banner p:not(.gm-kicker) { max-width: 540px; margin: 0; color: rgba(255,255,255,.72); font-size: .9rem; }
.gm-button--light { background: var(--gm-white); color: var(--gm-ink); white-space: nowrap; }
.gm-news--light { background: #edf5f2; }
.gm-news__subhead { margin: 12px 0 0; color: var(--gm-muted); font-size: .96rem; }
.gm-news-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.gm-news-card { min-height: 0; display: flex; flex-direction: column; padding: 0; border: 1px solid var(--gm-border); border-radius: 14px; background: var(--gm-white); box-shadow: none; }
.gm-news-card__image { height: 170px; background-image: url('assets/images/hero-bokeh.png'); background-size: cover; }
.gm-news-card__image--one { background-image: url('assets/images/news-factory.png'); background-position: center; }
.gm-news-card__image--two { background-image: url('assets/images/news-technician.png'); background-position: center; }
.gm-news-card__image--three { background-image: url('assets/images/news-event.png'); background-position: center; }
.gm-news-card__body { display: flex; min-height: 190px; flex: 1; flex-direction: column; align-items: flex-start; padding: 20px; }
.gm-news-card__tag { display: inline-flex; width: fit-content; margin: 0; padding: 4px 8px; border-radius: 999px; background: #e8f5bb; color: #4d741b; font-size: .64rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.gm-news-card h3 { display: -webkit-box; overflow: hidden; margin: 14px 0 7px; font-size: 1rem; line-height: 1.15; letter-spacing: -.02em; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.gm-news-card h3 a:hover { color: var(--gm-teal); }
.gm-news-card p { display: -webkit-box; overflow: hidden; margin: 0; font-size: .82rem; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.gm-news-card .gm-link { align-self: flex-start; margin-top: auto; font-size: .78rem; }
.gm-about { background: var(--gm-surface-soft); }
.gm-about__grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(54px, 9vw, 130px); align-items: start; }
.gm-about__intro { min-width: 0; align-self: center; }
.gm-about__copy { width: 70%; max-width: none; margin: 22px 0 24px; color: var(--gm-muted); font-size: .98rem; }
.gm-about .gm-button { color: var(--gm-ink); }
.gm-objectives__heading h3 { margin: 0 0 18px; font-size: 1.2rem; letter-spacing: -.04em; }
.gm-objectives__intro { margin: -8px 0 18px; color: var(--gm-muted); font-size: .88rem; }
.gm-objectives__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.gm-objectives__grid article { min-height: 116px; padding: 15px 16px; border: 1px solid var(--gm-border); border-top: 3px solid var(--gm-blue); border-radius: 12px; background: var(--gm-white); }
.gm-objectives__grid article:nth-child(2) { border-top-color: var(--gm-lime); }
.gm-objectives__grid article:nth-child(3) { border-top-color: var(--gm-copper); }
.gm-objectives__grid article:nth-child(4) { border-top-color: #d9534f; }
.gm-objectives__grid article:nth-child(5) { border-top-color: var(--gm-teal); }
.gm-objectives__grid article > span { color: var(--gm-muted); font-size: .72rem; font-weight: 700; letter-spacing: .1em; }
.gm-objectives__grid h4 { margin: 13px 0 4px; font-size: .98rem; }
.gm-objectives__grid p { margin: 0; color: var(--gm-muted); font-size: .74rem; line-height: 1.35; }

.gm-agenda-page__intro { padding-bottom: 46px; background: var(--gm-white); }
.gm-agenda-page__intro .gm-lede { margin-bottom: 0; }
.gm-agenda-page__events { padding-top: 72px; background: #edf5f2; }
.gm-event-detail { min-height: 620px; background: var(--gm-surface-soft); }
.gm-event-detail__cover { min-height: 260px; margin-bottom: 0; background-position: center; background-size: cover; }
.gm-event-detail__header { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-top: 42px; }
.gm-event-detail__header .gm-event__type { margin-top: 22px; }
.gm-event-detail__date { display: flex; align-items: baseline; gap: 12px; padding: 18px 22px; border-left: 3px solid var(--gm-lime); color: var(--gm-muted); white-space: nowrap; }
.gm-event-detail__date strong { color: var(--gm-teal); font-size: 3.8rem; letter-spacing: -.08em; line-height: .9; }
.gm-event-detail__date--range strong { font-size: 3.2rem; }
.gm-event-detail__date span { font-size: .9rem; font-weight: 700; text-transform: uppercase; }
.gm-event-detail__meta { display: flex; flex-wrap: nowrap; align-items: center; gap: 10px 28px; margin: 34px 0; padding: 18px 0; border-top: 1px solid var(--gm-border); border-bottom: 1px solid var(--gm-border); color: var(--gm-muted); font-weight: 500; }
.gm-event-detail__meta > span { min-width: 0; }
.gm-event-detail__meta > span:last-child { white-space: nowrap; }
.gm-event-detail__registration { flex: 0 0 auto; margin: 0 0 0 auto; }
.gm-newsletter-signup { max-width: 720px; margin: -12px 0 34px; padding: 26px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-white); }
.gm-newsletter-signup--event { width: 100%; max-width: none; margin: 34px 0 0; padding: 34px 46px; border-radius: var(--gm-radius-md); box-shadow: 0 12px 30px rgba(3,46,57,.045); }
.gm-newsletter-signup--event .gm-newsletter-form { display: grid; grid-template-columns: 1fr; gap: 16px; }
.gm-newsletter-signup--event .gm-newsletter-form .gm-greenmetal-form__field { grid-column: auto !important; }
.gm-newsletter-signup--event .gm-newsletter-form input[type="email"] { min-height: 50px; }
.gm-newsletter-signup--event .gm-newsletter-form__submit { width: fit-content; }
.gm-newsletter-signup--homepage { max-width: none; margin: 0; padding: 0; border: 0; border-radius: 0; background: #edf5f2; }
.gm-newsletter-signup--homepage .gm-newsletter-signup__inner { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: 48px; padding-top: 72px; padding-bottom: 72px; }
.gm-newsletter-signup--homepage .gm-newsletter-signup__intro h2 { max-width: 680px; font-size: clamp(2.1rem, 3.6vw, 3.5rem); letter-spacing: -.07em; line-height: .98; }
.gm-newsletter-signup--homepage .gm-newsletter-signup__intro > p { max-width: 620px; font-size: 1.05rem; line-height: 1.55; }
.gm-newsletter-signup--homepage .gm-newsletter-form { display: grid; grid-template-columns: 1fr; gap: 16px; padding: 30px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: var(--gm-white); box-shadow: var(--gm-shadow); }
.gm-newsletter-signup--homepage .gm-newsletter-form .gm-greenmetal-form__field { grid-column: auto !important; }
.gm-newsletter-signup--homepage .gm-newsletter-form input[type="email"] { min-height: 50px; }
.gm-newsletter-signup--homepage .gm-newsletter-form__submit { width: 100%; justify-content: center; }
.gm-newsletter-signup h2 { margin: 0 0 10px; color: var(--gm-ink); font-size: 1.55rem; letter-spacing: -.04em; }
.gm-newsletter-signup > p { margin: 0 0 20px; color: var(--gm-muted); }
.gm-event-feedback__newsletter-link { margin-top: -8px !important; font-size: .9rem; }
.gm-event-feedback__newsletter-link a { color: var(--gm-teal); font-weight: 700; }
.gm-event-feedback__newsletter-link a:hover { color: var(--gm-lime-dark); }
.gm-newsletter-form { display: grid; gap: 14px; }
.gm-newsletter-form .gm-greenmetal-form__field { margin: 0; }
.gm-newsletter-form__submit { width: fit-content; border: 0; background: var(--gm-ink); color: var(--gm-white); cursor: pointer; }
.gm-newsletter-form__submit:hover { background: var(--gm-teal); }
.gm-newsletter-form__honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.gm-event-feedback { width: 100%; max-width: none; margin: 0 0 34px; padding: 38px 46px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: var(--gm-white); box-shadow: 0 12px 30px rgba(3,46,57,.045); }
.gm-event-feedback h2 { margin: 0 0 10px; color: var(--gm-ink); font-size: clamp(1.65rem, 2.4vw, 2rem); letter-spacing: -.055em; }
.gm-event-feedback > p { margin: 0 0 20px; color: var(--gm-muted); }
.gm-event-feedback-form { display: grid; grid-template-columns: 1fr; gap: 18px; }
.gm-event-feedback-form__choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 22px 0 0; border: 0; border-top: 1px solid var(--gm-border); }
.gm-event-feedback-form__choices legend { grid-column: 1 / -1; width: 100%; margin-bottom: -2px; color: var(--gm-ink); font-weight: 700; }
.gm-event-feedback-form__choices label { display: inline-flex !important; grid-column: auto !important; align-items: center; justify-content: center; gap: 10px; min-height: 56px; padding: 13px 16px; border: 1px solid var(--gm-border); border-radius: 12px; background: #f8fbfa; color: var(--gm-muted); font-weight: 600; cursor: pointer; transition: border-color .2s ease, background .2s ease, color .2s ease, transform .2s ease; }
.gm-event-feedback-form__choices label:has(input:checked) { border-color: var(--gm-teal); background: #eaf5f2; color: var(--gm-ink); }
.gm-event-feedback-form__choices label:hover { border-color: var(--gm-teal); transform: translateY(-1px); }
.gm-event-feedback-form__choices input { appearance: none; width: 19px !important; height: 19px; flex: 0 0 19px; margin: 0; padding: 0 !important; border: 1px solid rgba(3,46,57,.42); border-radius: 50%; background: var(--gm-white); box-shadow: none; cursor: pointer; }
.gm-event-feedback-form__choices input:checked { border: 5px solid var(--gm-teal); }
.gm-event-feedback-form__optional-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding-top: 22px; border-top: 1px solid var(--gm-border); }
.gm-event-feedback-form__optional-grid .gm-greenmetal-form__field { grid-column: auto !important; }
.gm-event-feedback-form > .gm-greenmetal-form__field:not(.gm-greenmetal-form__field--checkbox) { margin: 0; }
.gm-event-feedback-form > .gm-greenmetal-form__field:not(.gm-greenmetal-form__field--checkbox) textarea { min-height: 116px; background: #f8fbfa; }
.gm-event-feedback-form > .gm-greenmetal-form__field--checkbox { margin-top: 2px; }
.gm-event-feedback-form__honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.gm-event-feedback-form__submit { width: fit-content; border: 0; background: var(--gm-ink); color: var(--gm-white); cursor: pointer; }
.gm-event-feedback-form__submit:hover { background: var(--gm-teal); }
.gm-event-detail__content { max-width: 720px; color: var(--gm-muted); font-size: 1.05rem; }
.gm-event-detail__content h2, .gm-event-detail__content h3 { color: var(--gm-ink); }
.gm-news-page__intro { padding-bottom: 46px; background: var(--gm-surface-soft); }
.gm-news-page__intro .gm-lede { margin-bottom: 0; }
.gm-news-page__items { padding-top: 72px; }
.gm-news-page__hero { position: relative; min-height: var(--gm-interior-hero-height); display: flex; align-items: center; overflow: hidden; background: var(--gm-ink-deep) var(--gm-news-hero-image, url('assets/images/hero-workshop.png')) center / cover no-repeat; color: var(--gm-white); }
.gm-news-page__hero::before { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(3,46,57,.98) 0%, rgba(3,46,57,.88) 46%, rgba(3,46,57,.56) 100%); }
.gm-news-page__hero::after { position: absolute; width: 460px; height: 460px; right: -120px; top: -250px; border: 1px solid rgba(164,215,45,.34); border-radius: 50%; content: ""; }
.gm-news-page__hero .gm-shell { position: relative; z-index: 1; }
.gm-news-page__hero .gm-kicker { color: var(--gm-lime); }
.gm-news-page__hero .gm-heading { color: var(--gm-white); }
.gm-news-page__hero .gm-lede { max-width: 650px; margin-bottom: 0; color: rgba(255,255,255,.84); }
.gm-news-page__featured-section { padding: 38px 0 96px; background: var(--gm-surface-soft); }
.gm-news-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 26px; }
.gm-news-filter { padding: 10px 16px; border: 1px solid var(--gm-border); border-radius: 999px; background: var(--gm-white); color: var(--gm-muted); font: inherit; font-size: .78rem; font-weight: 500; cursor: pointer; }
.gm-news-filter:hover, .gm-news-filter.is-active { border-color: var(--gm-ink); background: var(--gm-ink); color: var(--gm-white); }
.gm-news-featured { display: grid; grid-template-columns: 1.15fr .85fr; height: 360px; min-height: 360px; overflow: hidden; border: 1px solid var(--gm-border); border-radius: 24px; background: var(--gm-white); color: var(--gm-teal); }
.gm-news-featured[hidden], .gm-news-archive-card[hidden] { display: none; }
.gm-news-featured__image { min-width: 0; height: 100%; background-position: center; background-size: cover; }
.gm-news-featured__body { display: flex; min-width: 0; min-height: 0; flex-direction: column; align-items: flex-start; justify-content: space-evenly; overflow: hidden; padding: 28px clamp(26px, 3.5vw, 48px); }
.gm-news-featured__body h2 { max-width: 460px; margin: 0; font-size: clamp(1.65rem, 2.7vw, 2.35rem); letter-spacing: -.07em; line-height: .98; }
.gm-news-featured__body h2 a:hover { color: var(--gm-blue); }
.gm-news-featured__body p { max-width: 470px; margin: 0; color: var(--gm-muted); font-size: .9rem; line-height: 1.4; }
.gm-news-featured__body .gm-button { flex-shrink: 0; min-height: 44px; }
.gm-news-featured__body .gm-button--lime { background: var(--gm-ink); color: var(--gm-white); }
.gm-news-featured__body .gm-button--lime:hover { background: var(--gm-teal); }
.gm-news-empty { display: grid; height: 360px; min-height: 360px; place-items: center; padding: 32px; border: 1px solid var(--gm-border); border-radius: 24px; background: var(--gm-white); color: var(--gm-teal); text-align: center; }
.gm-news-empty > div { width: 100%; text-align: center; }
.gm-news-empty[hidden] { display: none; }
.gm-news-empty .gm-kicker { margin-bottom: 14px; color: var(--gm-blue); }
.gm-news-empty h2 { margin: 0 0 12px; font-size: clamp(1.8rem, 3vw, 2.6rem); letter-spacing: -.06em; line-height: 1; }
.gm-news-empty p:last-child { max-width: 480px; margin: 0 auto; color: var(--gm-muted); text-align: center; }
.gm-news-tag { display: inline-flex; width: fit-content; padding: 5px 10px; border-radius: 999px; font-size: .64rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.gm-news-tag--events { background: #e8f5bb; color: #4d741b; }
.gm-news-tag--results { background: #dcecff; color: #155b9c; }
.gm-news-tag--publications { background: #ffebc8; color: #9a5b12; }
.gm-news-page__archive { background: #edf5f2; }
.gm-news-page__archive-intro { max-width: 650px; margin: 18px 0 36px; color: var(--gm-muted); font-size: 1rem; font-weight: 500; }
.gm-news-archive-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.gm-news-archive-card { display: grid; grid-template-columns: .86fr 1.14fr; min-height: 218px; overflow: hidden; border: 1px solid var(--gm-border); border-radius: 14px; background: var(--gm-white); }
.gm-news-archive-card__image { min-height: 218px; background-position: center; background-size: cover; }
.gm-news-archive-card__body { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; padding: 20px 16px; }
.gm-news-archive-card__body h3 { margin: 14px 0 8px; font-size: 1rem; line-height: 1.1; letter-spacing: -.03em; }
.gm-news-archive-card__body h3 a:hover { color: var(--gm-teal); }
.gm-news-archive-card__body p { display: -webkit-box; overflow: hidden; margin: 0 0 16px; color: var(--gm-muted); font-size: .78rem; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.gm-news-archive-card__body .gm-link { margin-top: auto; color: #1b5da0; font-size: .76rem; }
.gm-news-page [data-news-item][hidden] { display: none; }
.gm-news-article__section { min-height: 620px; background: var(--gm-surface-soft); }
.gm-news-article__back { display: inline-flex; margin-top: 4px; }
.gm-news-article__header { max-width: 920px; margin: 54px auto 42px; text-align: center; }
.gm-news-article__header .gm-kicker { color: var(--gm-lime); }
.gm-news-article__header .gm-heading { max-width: 1500px; margin-inline: auto; color: var(--gm-ink); font-size: clamp(2.4rem, 4.8vw, 4.6rem); line-height: .94; }
.gm-news-article__subtitle { max-width: 680px; margin: 24px auto 0; color: var(--gm-muted); font-size: 1.08rem; font-weight: 500; }
.gm-news-article__date { margin: 18px 0 0; color: var(--gm-muted); font-size: .9rem; }
.gm-news-article__image { width: 100%; height: clamp(300px, 42vw, 560px); margin-bottom: 52px; border-radius: var(--gm-radius-md); background-position: center; background-size: cover; }
.gm-news-article__content { max-width: 1000px; margin-inline: auto; color: var(--gm-muted); font-size: 1.05rem; line-height: 1.65; }
.gm-news-article__content h2, .gm-news-article__content h3 { color: var(--gm-ink); }
.gm-news-article__content p { margin: 0 0 22px; }
.gm-news-article__content p:last-child { margin-bottom: 0; }
.gm-news-article__related { margin-top: 100px; padding-top: 72px; border-top: 1px solid var(--gm-border); }
.gm-news-article__related .gm-section-head { align-items: flex-end; margin-bottom: 30px; }
.gm-news-article__related .gm-heading { margin-top: 12px; }
.gm-news-article__related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.gm-news-article__related-card { display: grid; grid-template-rows: 170px 1fr; overflow: hidden; border: 1px solid var(--gm-border); border-radius: 16px; background: var(--gm-white); }
.gm-news-article__related-image { display: block; background-position: center; background-size: cover; }
.gm-news-article__related-body { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; padding: 20px; }
.gm-news-article__related-body h3 { margin: 14px 0 8px; font-size: 1.05rem; line-height: 1.1; letter-spacing: -.04em; }
.gm-news-article__related-body p { display: -webkit-box; overflow: hidden; margin: 0 0 18px; color: var(--gm-muted); font-size: .82rem; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.gm-news-article__related-body .gm-link { margin-top: auto; color: #1b5da0; font-size: .78rem; }

/* Public project page. The content for this page is managed in GreenMetal > O projeto. */
.gm-project-page { background: var(--gm-surface-soft); }
.gm-project-hero, .gm-agenda-page__intro, .gm-technology-hero, .gm-news-page__intro, .gm-repository-page__intro, .gm-studies-page__hero, .gm-interior-hero { height: var(--gm-interior-hero-height); min-height: var(--gm-interior-hero-height); }
.gm-project-hero { position: relative; display: flex; align-items: center; overflow: hidden; background: var(--gm-ink-deep) var(--gm-project-hero-image) center / cover no-repeat; color: var(--gm-white); }
.gm-project-hero::before { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(3,46,57,.98) 0%, rgba(3,46,57,.82) 42%, rgba(3,46,57,.28) 100%); }
.gm-project-hero__content { position: relative; z-index: 1; max-width: 650px; padding: 42px 0; }
.gm-project-hero__content .gm-kicker { color: var(--gm-lime); }
.gm-project-hero__content .gm-heading { max-width: 610px; font-size: 3rem; }
.gm-project-hero__content > p:last-child { max-width: 580px; margin: 24px 0 0; color: rgba(255,255,255,.83); font-size: 1.02rem; font-weight: 500; }
.gm-agenda-page__intro, .gm-news-page__intro, .gm-repository-page__intro, .gm-studies-page__hero, .gm-interior-hero { display: flex; align-items: center; padding-top: 0; padding-bottom: 0; }
.gm-agenda-page__intro .gm-heading, .gm-news-page__hero .gm-heading, .gm-news-page__intro .gm-heading, .gm-repository-page__intro .gm-heading, .gm-studies-page__hero .gm-heading, .gm-interior-hero .gm-heading { font-size: 3rem; }
.gm-project-context { background: var(--gm-surface-soft); }
.gm-project-context__grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(50px, 10vw, 150px); align-items: center; }
.gm-project-copy { max-width: 650px; }
.gm-project-copy > p:not(.gm-kicker) { margin: 18px 0 0; color: var(--gm-muted); font-size: .98rem; }
.gm-project-pill { display: inline-flex; margin-top: 30px; padding: 11px 16px; border-left: 3px solid var(--gm-lime); border-radius: 7px; background: #edf5f2; color: var(--gm-ink); font-weight: 500; font-size: .86rem; }
.gm-project-facts { padding: 26px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: var(--gm-white); box-shadow: 0 8px 22px rgba(3,46,57,.04); }
.gm-project-facts h3 { margin: 0 0 18px; font-size: 1.05rem; letter-spacing: -.03em; }
.gm-project-facts__file { min-height: 128px; display: flex; align-items: center; justify-content: center; gap: 16px; padding: 22px; border: 1px dashed #b8c9c5; border-radius: 12px; color: var(--gm-muted); font-size: .85rem; text-align: center; }
.gm-project-facts__file--preview { display: block; min-height: 0; padding: 0; overflow: hidden; border-style: solid; background: var(--gm-white); color: var(--gm-ink); text-align: left; transition: border-color .2s ease, box-shadow .2s ease; }
.gm-project-facts__file--preview:hover { box-shadow: 0 8px 20px rgba(3,46,57,.08); color: var(--gm-ink); }
.gm-project-facts__preview-image, .gm-project-facts__preview-frame { display: block; width: 100%; height: 280px; border: 0; background: var(--gm-white); object-fit: contain; object-position: top center; pointer-events: none; }
.gm-project-facts__preview-frame { overflow: hidden; }
.gm-project-facts__caption { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 16px; background: var(--gm-surface-soft); color: var(--gm-ink); font-size: .85rem; font-weight: 700; text-decoration: none; }
.gm-project-facts__caption:hover { color: var(--gm-teal); }
.gm-project-facts__file:hover { border-color: var(--gm-teal); color: var(--gm-teal); }
.gm-project-objectives, .gm-project-results { background: #edf5f2; }
.gm-project-objectives__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 34px; }
.gm-project-objective { position: relative; min-height: 174px; display: flex; flex-direction: column; justify-content: space-between; padding: 18px; overflow: hidden; border-radius: 12px; color: var(--gm-white); }
.gm-project-objective::after { position: absolute; width: 115px; height: 115px; right: -34px; bottom: -58px; border: 1px solid rgba(255,255,255,.34); border-radius: 50%; content: ""; }
.gm-project-objective--teal { background: var(--gm-ink); }
.gm-project-objective--blue { background: #2d69ae; }
.gm-project-objective--copper { background: #c8943f; }
.gm-project-objective--lime { background: #7ebd39; color: var(--gm-ink); }
.gm-project-objective__number { position: relative; z-index: 1; font-size: .7rem; font-weight: 700; letter-spacing: .12em; }
.gm-project-objective h3 { position: relative; z-index: 1; margin: 32px 0 4px; font-size: 1.08rem; letter-spacing: -.04em; }
.gm-project-objective p { position: relative; z-index: 1; max-width: 210px; margin: 0; color: rgba(255,255,255,.78); font-size: .72rem; line-height: 1.35; }
.gm-project-objective--lime p { color: rgba(3,46,57,.72); }
.gm-project-activities { background: var(--gm-surface-soft); }
.gm-project-wide-copy { max-width: 750px; margin: 24px 0 0; color: var(--gm-muted); font-size: .98rem; }
.gm-project-results__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 34px; }
.gm-project-result { min-height: 122px; display: flex; flex-direction: column; justify-content: space-between; padding: 18px; border-radius: 11px; background: var(--gm-ink); color: var(--gm-white); }
.gm-project-result:nth-child(7) { grid-column: 2; }
.gm-project-result strong { font-size: 1.8rem; letter-spacing: -.07em; line-height: 1; }
.gm-project-result p { max-width: 270px; margin: 17px 0 0; color: rgba(255,255,255,.76); font-size: .68rem; line-height: 1.35; }
.gm-project-consortium { background: var(--gm-surface-soft); }
.gm-project-consortium .gm-section-head { align-items: flex-end; }
.gm-project-consortium__intro { max-width: 560px; margin: 16px 0 0; color: var(--gm-muted); font-size: .98rem; }
.gm-project-consortium__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.gm-project-partner { min-height: 286px; padding: 18px; border: 1px solid var(--gm-border); border-radius: 12px; background: var(--gm-white); }
.gm-project-partner__logo { height: 54px; display: flex; align-items: center; justify-content: flex-start; margin-bottom: 16px; }
.gm-project-partner__logo img { max-width: 130px; max-height: 48px; object-fit: contain; object-position: left center; }
.gm-project-partner__logo span { display: grid; place-items: center; width: 48px; height: 38px; border-radius: 8px; background: #edf5f2; color: var(--gm-teal); font-size: .78rem; font-weight: 700; }
.gm-project-partner h3 { margin: 0 0 8px; font-size: 1rem; letter-spacing: -.03em; }
.gm-project-partner p { min-height: 86px; margin: 0 0 10px; color: var(--gm-muted); font-size: .75rem; line-height: 1.4; }
.gm-project-partner > a { color: var(--gm-teal); font-size: .72rem; font-weight: 500; }
.gm-project-partner__socials { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.gm-project-partner__socials a { color: var(--gm-blue); font-size: .68rem; }

/* Studies and publications archive. */
.gm-studies-page__hero { position: relative; overflow: hidden; background: var(--gm-ink-deep) var(--gm-studies-hero-image, url('assets/images/hero-workshop.png')) center / cover no-repeat; color: var(--gm-white); }
.gm-studies-page__hero::before { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(3,46,57,.98) 0%, rgba(3,46,57,.82) 46%, rgba(3,46,57,.3) 100%); }
.gm-studies-page__hero .gm-shell { position: relative; z-index: 1; }
.gm-studies-page__hero .gm-kicker { color: var(--gm-lime); }
.gm-studies-page__hero .gm-heading { max-width: 850px; color: var(--gm-white); }
.gm-studies-page__hero .gm-lede { margin: 24px 0 0; color: rgba(255,255,255,.84); }
.gm-studies-page__archive { min-height: 620px; background: #edf5f2; }
.gm-studies-page__intro { max-width: 650px; margin: 22px 0 0; color: var(--gm-muted); font-size: 1rem; }
.gm-studies-filters { display: grid; grid-template-columns: 1.35fr 1fr 1fr 1fr .8fr; gap: 8px; align-items: stretch; margin-top: 40px; padding: 12px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: var(--gm-white); }
.gm-studies-filters label { min-width: 0; }
.gm-studies-filters select { width: 100%; height: 48px; padding: 0 14px; border: 1px solid transparent; border-radius: 9px; background: #edf5f2; color: var(--gm-ink); font-family: inherit; font-size: .78rem; }
.gm-studies-filters select:focus { border-color: var(--gm-teal); outline: 0; }
.gm-studies-filters .gm-button { width: 100%; min-height: 48px; border: 0; cursor: pointer; }
.gm-filter-icon { width: 16px; height: 16px; flex: 0 0 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.gm-studies-list { display: grid; gap: 12px; margin-top: 16px; }
.gm-study-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center; padding: 24px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: var(--gm-white); }
.gm-study-tag { display: inline-flex; padding: 5px 10px; border-radius: 999px; background: #e8f5bb; color: #4d741b; font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.gm-study-card h3 { margin: 12px 0 6px; font-size: 1.2rem; letter-spacing: -.04em; }
.gm-study-card p { max-width: 720px; margin: 0; color: var(--gm-muted); font-size: .9rem; font-weight: 400; }
.gm-study-card__meta { display: flex; align-items: center; justify-content: flex-end; gap: 12px; color: var(--gm-muted); font-size: .78rem; text-align: right; }
.gm-study-card__meta > span { padding-left: 12px; border-left: 1px solid var(--gm-border); }
.gm-study-card__meta .gm-link { white-space: nowrap; }
.gm-study-card__title-link { transition: color .2s ease; }
.gm-study-card__title-link:hover { color: var(--gm-teal); }
.gm-study-article__section { min-height: 620px; padding: 0 0 112px; background: var(--gm-surface-soft); }
.gm-study-article__hero { padding: 46px 0 68px; background: var(--gm-surface-soft); color: var(--gm-ink); }
.gm-study-article__hero[style*="--gm-study-featured-image"] { position: relative; overflow: hidden; background: linear-gradient(90deg, rgba(3,46,57,.9), rgba(3,46,57,.34)), var(--gm-study-featured-image) center / cover no-repeat; color: var(--gm-white); }
.gm-study-article__hero[style*="--gm-study-featured-image"] .gm-shell { position: relative; z-index: 1; }
.gm-study-article__hero[style*="--gm-study-featured-image"] .gm-link, .gm-study-article__hero[style*="--gm-study-featured-image"] .gm-heading, .gm-study-article__hero[style*="--gm-study-featured-image"] .gm-study-article__meta { color: var(--gm-white); }
.gm-study-article__hero .gm-shell { position: relative; z-index: 1; }
.gm-study-article__back { display: inline-flex; margin-top: 0; color: var(--gm-teal); }
.gm-study-article__back:hover { color: var(--gm-lime-dark); }
.gm-study-article__header { width: 92%; max-width: none; margin: 54px auto 0; text-align: center; }
.gm-study-article__header .gm-kicker { color: var(--gm-lime-dark); }
.gm-study-article__header .gm-heading { max-width: none; margin-inline: auto; color: var(--gm-ink); font-size: clamp(2.4rem, 4.8vw, 4.6rem); line-height: .94; }
.gm-study-article__meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 0; margin-top: 24px; color: var(--gm-muted); font-size: .78rem; }
.gm-study-article__meta span { padding: 0 14px; border-left: 1px solid var(--gm-border); }
.gm-study-article__meta span:first-child { border-left: 0; }
.gm-study-article__layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); gap: 32px; width: 92%; max-width: none; margin: 48px auto 0; }
.gm-study-article__content { padding: 34px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: var(--gm-white); color: var(--gm-muted); font-size: 1.05rem; font-weight: 400; line-height: 1.65; }
.gm-study-article__content p { margin: 0 0 22px; }
.gm-study-article__content p:last-child { margin-bottom: 0; }
.gm-study-article__summary { color: var(--gm-ink); font-size: 1.18rem; font-weight: 400; line-height: 1.5; }
.gm-study-article__document { position: sticky; top: max(calc(var(--gm-header-height) + 24px), calc(50vh - 155px)); align-self: start; padding: 30px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: var(--gm-white); color: var(--gm-ink); box-shadow: 0 8px 22px rgba(3,46,57,.06); }
.gm-study-article__document .gm-kicker { color: var(--gm-teal); }
.gm-study-article__document h2 { margin: 0 0 12px; color: var(--gm-ink); font-size: clamp(1.8rem, 3vw, 2.5rem); letter-spacing: -.06em; line-height: 1; }
.gm-study-article__document p { margin: 0 0 24px; color: var(--gm-muted); font-size: .9rem; }
.gm-study-article__document .gm-button { width: 100%; justify-content: center; }
.gm-study-access__form { display: grid; gap: 12px; margin-top: 20px; }
.gm-study-access__field { display: grid; gap: 6px; color: var(--gm-ink); font-size: .78rem; font-weight: 500; }
.gm-study-access__field > span { display: block; }
.gm-study-access__field em { color: var(--gm-lime); font-style: normal; }
.gm-study-access__field input, .gm-study-access__field select { width: 100%; border: 1px solid rgba(3,46,57,.2); border-radius: 9px; background: #f8fbfa; color: var(--gm-ink); font: inherit; padding: 11px 12px; }
.gm-study-access__field--nif[hidden] { display: none !important; }
.gm-study-access__honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.gm-study-access__privacy { margin: 2px 0 0 !important; color: var(--gm-muted) !important; font-size: .72rem !important; line-height: 1.4; }
.gm-study-access__privacy a { color: var(--gm-teal); text-decoration: underline; }
.gm-study-evaluation__privacy { margin: 0 0 18px; color: var(--gm-muted); font-size: .78rem; line-height: 1.45; }
.gm-study-evaluation__privacy a { color: var(--gm-teal); text-decoration: underline; }
.gm-study-access__notice { margin: 0 0 16px !important; padding: 11px 12px; border-radius: 9px; font-size: .78rem !important; line-height: 1.4; }
.gm-study-access__notice--success { background: #e8f5bb; color: #41601d !important; }
.gm-study-access__notice--error { background: #fff0ed; color: #9a3a2d !important; }
.gm-study-access__submit { margin-top: 4px; }
.gm-study-resources { display: grid; gap: 12px; margin-top: 20px; }
.gm-study-resource { display: grid; gap: 10px; padding: 16px; border: 1px solid var(--gm-border); border-radius: 12px; background: #edf5f2; }
.gm-study-resource__type { margin: 0 0 5px !important; color: var(--gm-teal) !important; font-size: .66rem !important; font-weight: 700; letter-spacing: .12em; line-height: 1.2; text-transform: uppercase; }
.gm-study-resource h3 { margin: 0; color: var(--gm-ink); font-size: 1rem; letter-spacing: -.03em; line-height: 1.15; }
.gm-study-resource img, .gm-study-resource video { display: block; width: 100%; max-height: 240px; border-radius: 8px; object-fit: cover; }
.gm-study-resource__preview { display: block; }
.gm-study-resource .gm-button { margin-top: 2px; }
.gm-study-evaluation { padding: 0 0 48px; background: var(--gm-surface-soft); }
.gm-study-evaluation-page { min-height: 620px; padding-top: 44px; background: var(--gm-surface-soft); }
.gm-study-evaluation-page__back { display: inline-flex; color: var(--gm-teal); }
.gm-study-evaluation-page .gm-study-evaluation { padding-top: 34px; }
.gm-study-evaluation__panel { width: 92%; max-width: 920px; margin: 0 auto; padding: 36px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: var(--gm-white); color: var(--gm-ink); }
.gm-study-evaluation__panel h2 { margin: 0 0 12px; color: var(--gm-ink); font-size: clamp(1.8rem, 3vw, 2.8rem); line-height: 1; }
.gm-study-evaluation__panel > p { margin: 0 0 24px; color: var(--gm-muted); }
.gm-study-evaluation__form { display: grid; gap: 20px; }
.gm-study-evaluation__form fieldset { margin: 0; padding: 0; border: 0; }
.gm-study-evaluation__form legend, .gm-study-evaluation__comment > span { display: block; margin-bottom: 8px; color: var(--gm-ink); font-size: .9rem; font-weight: 600; }
.gm-study-evaluation__options { display: flex; flex-wrap: wrap; gap: 8px; }
.gm-study-evaluation__options label { cursor: pointer; }
.gm-study-evaluation__options input { position: absolute; opacity: 0; }
.gm-study-evaluation__options span { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 20px; border: 1px solid var(--gm-border); border-radius: 9px; background: #f8fbfa; color: var(--gm-ink); font-weight: 700; }
.gm-study-evaluation__options input:checked + span, .gm-study-evaluation__options input:focus-visible + span { border-color: var(--gm-teal); background: var(--gm-teal); color: var(--gm-white); }
.gm-study-evaluation__feedback label { display: grid; gap: 6px; color: var(--gm-ink); font-size: .9rem; }
.gm-study-evaluation__feedback label > span { display: block; font-weight: 600; }
.gm-study-evaluation__feedback small { color: var(--gm-muted); font-weight: 400; }
.gm-study-evaluation__feedback textarea { width: 100%; border: 1px solid rgba(3,46,57,.2); border-radius: 9px; background: #f8fbfa; color: var(--gm-ink); font: inherit; padding: 11px 12px; }
.gm-study-evaluation__feedback[hidden] { display: none !important; }
.gm-study-evaluation__form .gm-button { justify-content: center; }
.gm-study-evaluation__notice { margin: 0 0 16px !important; padding: 11px 12px; border-radius: 9px; background: #fff0ed; color: #9a3a2d !important; font-size: .82rem !important; }
@media (max-width: 700px) { .gm-study-evaluation__panel { width: 100%; padding: 26px 22px; } }
.gm-studies-empty { min-height: 160px; display: grid; place-items: center; margin-top: 16px; padding: 36px; border: 1px dashed #b8c9c5; border-radius: var(--gm-radius-md); color: var(--gm-muted); text-align: center; }
.gm-studies-empty p { margin: 0 0 18px; }
.gm-studies-empty strong { color: var(--gm-ink); font-size: .95rem; }

/* Agenda calendar and event repository. */
.gm-event__type--green { background: #e8f5bb; color: #4d741b; }
.gm-event__type--orange { background: #ffebc8; color: #9a5b12; }
.gm-event__type--blue { background: #dcecff; color: #155b9c; }
.gm-agenda-page__intro { position: relative; overflow: hidden; background: radial-gradient(circle at 86% 20%, rgba(164,215,45,.72), transparent 30%), linear-gradient(115deg, #033c49 0%, #056875 55%, #118b78 100%); color: var(--gm-white); }
.gm-agenda-page__intro[style*="--gm-agenda-hero-image"] { background: linear-gradient(90deg, rgba(3,60,73,.94) 0%, rgba(3,60,73,.74) 52%, rgba(3,60,73,.38) 100%), var(--gm-agenda-hero-image) center/cover no-repeat; }
.gm-repository-page__intro[style*="--gm-repository-hero-image"] { position: relative; overflow: hidden; background: linear-gradient(90deg, rgba(3,60,73,.94) 0%, rgba(3,60,73,.74) 52%, rgba(3,60,73,.38) 100%), var(--gm-repository-hero-image) center/cover no-repeat; color: var(--gm-white); }
.gm-repository-page__intro[style*="--gm-repository-hero-image"] .gm-shell { position: relative; z-index: 1; }
.gm-repository-page__intro[style*="--gm-repository-hero-image"] .gm-kicker { color: var(--gm-lime); }
.gm-repository-page__intro[style*="--gm-repository-hero-image"] .gm-heading, .gm-repository-page__intro[style*="--gm-repository-hero-image"] .gm-lede { color: var(--gm-white); }
.gm-agenda-page__intro::after { position: absolute; width: 440px; height: 440px; right: -90px; top: -235px; border: 1px solid rgba(164,215,45,.35); border-radius: 50%; content: ""; }
.gm-agenda-page__intro .gm-shell { position: relative; z-index: 1; }
.gm-agenda-page__intro .gm-kicker { color: var(--gm-lime); }
.gm-agenda-page__intro .gm-heading { color: var(--gm-white); }
.gm-agenda-page__intro .gm-lede { max-width: 760px; color: rgba(255,255,255,.82); }
.gm-agenda-page__events { background: #edf5f2; }
.gm-agenda-page__section-head { align-items: flex-end; }
.gm-agenda-page__section-head .gm-lede { max-width: 650px; margin: 16px 0 0; font-size: 1rem; }
.gm-agenda-filters { display: flex; flex-wrap: wrap; gap: 10px; margin: 8px 0 26px; }
.gm-agenda-filter { padding: 10px 16px; border: 1px solid var(--gm-border); border-radius: 999px; background: var(--gm-white); color: var(--gm-muted); font: inherit; font-size: .78rem; font-weight: 500; cursor: pointer; }
.gm-agenda-filter:hover, .gm-agenda-filter.is-active { border-color: var(--gm-ink); background: var(--gm-ink); color: var(--gm-white); }
.gm-agenda-layout { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr); gap: 20px; align-items: start; }
.gm-calendar { padding: 26px; border: 1px solid var(--gm-border); border-radius: 22px; background: var(--gm-white); box-shadow: 0 8px 22px rgba(3,46,57,.04); }
.gm-calendar__head { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.gm-calendar__head h3 { margin: 0; color: var(--gm-ink); font-size: 1.45rem; letter-spacing: -.05em; }
.gm-calendar__head button { width: 36px; height: 36px; margin-left: 8px; border: 1px solid var(--gm-border); border-radius: 50%; background: #f5f9f7; color: var(--gm-teal); font: inherit; font-size: 1.1rem; cursor: pointer; }
.gm-calendar__head button:hover { border-color: var(--gm-teal); background: var(--gm-teal); color: var(--gm-white); }
.gm-calendar__hint { margin: 4px 0 24px; color: var(--gm-muted); font-size: .78rem; }
.gm-calendar__weekdays, .gm-calendar__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 7px; }
.gm-calendar__weekdays { margin-bottom: 9px; color: var(--gm-muted); font-size: .63rem; font-weight: 700; text-align: center; }
.gm-calendar-day { position: relative; min-height: 42px; display: grid; place-items: center; border: 1px solid transparent; border-radius: 9px; background: transparent; color: var(--gm-ink); font: inherit; font-size: .82rem; cursor: pointer; }
.gm-calendar-day:hover:not(:disabled) { border-color: transparent; }
.gm-calendar-day--outside { color: #bdc9c6; cursor: default; }
.gm-calendar-day--green, .gm-calendar-day--orange, .gm-calendar-day--blue { color: var(--gm-white); font-weight: 700; }
.gm-calendar-day--green { background: #4c971b; }
.gm-calendar-day--orange { background: #d99025; }
.gm-calendar-day--blue { background: #2d73bd; }
.gm-calendar-day--multiple { color: var(--gm-white); font-weight: 700; }
.gm-calendar-day--multiple-two { position: relative; overflow: hidden; isolation: isolate; background: var(--gm-calendar-multi-primary); }
.gm-calendar-day--multiple-two::before { position: absolute; inset: 0; z-index: 0; content: ""; background: var(--gm-calendar-multi-secondary); clip-path: polygon(64% 0, 100% 0, 100% 100%, 36% 100%); }
.gm-calendar-day--multiple-three { position: relative; overflow: hidden; isolation: isolate; background: var(--gm-calendar-multi-primary); }
.gm-calendar-day--multiple-three::before, .gm-calendar-day--multiple-three::after { position: absolute; inset: 0; z-index: 0; content: ""; pointer-events: none; }
.gm-calendar-day--multiple-three::before { background: var(--gm-calendar-multi-secondary); clip-path: polygon(50% 0, 100% 0, 50% 100%, 0 100%); }
.gm-calendar-day--multiple-three::after { background: var(--gm-calendar-multi-tertiary); clip-path: polygon(100% 0, 100% 100%, 50% 100%); }
.gm-calendar-day--multiple-more { background: var(--gm-calendar-multi-background); }
.gm-calendar-day--past { opacity: .58; filter: saturate(.65); }
.gm-calendar-day--multiple span { position: relative; z-index: 1; }
.gm-calendar-day--multiple i { z-index: 1; }
.gm-calendar-day.is-selected { box-shadow: 0 0 0 3px var(--gm-lime); }
.gm-calendar-day i { position: absolute; right: 6px; bottom: 5px; width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.gm-calendar__legend { display: flex; flex-wrap: wrap; gap: 12px 18px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--gm-border); color: var(--gm-muted); font-size: .7rem; }
.gm-calendar__legend span { display: inline-flex; align-items: center; gap: 6px; }
.gm-calendar__legend-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; }
.gm-calendar__legend-dot--green { background: #4c971b; }
.gm-calendar__legend-dot--orange { background: #d99025; }
.gm-calendar__legend-dot--blue { background: #2d73bd; }
.gm-calendar__note { margin: 14px 0 0; color: var(--gm-muted); font-size: .7rem; }
.gm-agenda-events-panel { min-width: 0; }
.gm-agenda-events-panel > h3 { margin: 0 0 18px; font-size: clamp(1.7rem, 3vw, 2.45rem); letter-spacing: -.06em; line-height: 1; }
.gm-agenda-events-list { display: grid; gap: 12px; }
.gm-agenda-event { display: grid; grid-template-columns: 70px minmax(0, 1fr) 36px; align-items: center; gap: 14px; min-height: 106px; padding: 16px; border: 1px solid var(--gm-border); border-radius: 15px; background: var(--gm-white); box-shadow: 0 6px 16px rgba(3,46,57,.03); }
.gm-agenda-event:hover { border-color: var(--gm-teal); transform: translateY(-1px); }
.gm-agenda-event--past { opacity: .72; background: #f8fbfa; }
.gm-agenda-event--past:hover { opacity: 1; }
.gm-event-status { display: inline-flex; width: fit-content; margin: 0 0 6px; padding: 4px 8px; border-radius: 999px; background: #edf1f0; color: var(--gm-muted); font-size: .61rem; font-weight: 700; letter-spacing: .06em; line-height: 1.1; text-transform: uppercase; }
.gm-agenda-event__date { display: flex; flex-direction: column; justify-content: center; min-height: 67px; padding: 7px; border-radius: 11px; color: var(--gm-white); text-align: center; }
.gm-agenda-event__date--green { background: #4c971b; }
.gm-agenda-event__date--orange { background: #d99025; }
.gm-agenda-event__date--blue { background: #2d73bd; }
.gm-agenda-event__date strong { font-size: 1.25rem; letter-spacing: -.05em; line-height: 1; }
.gm-agenda-event__date small { margin-top: 5px; font-size: .58rem; font-weight: 700; text-transform: uppercase; }
.gm-agenda-event__body { min-width: 0; }
.gm-agenda-event__labels { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-bottom: 7px; }
.gm-agenda-event__labels .gm-event__type, .gm-agenda-event__labels .gm-event-status { margin: 0; }
.gm-agenda-event__body > strong { display: block; overflow: hidden; color: var(--gm-ink); font-size: .94rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.gm-agenda-event__body > em { display: block; overflow: hidden; margin-top: 3px; color: var(--gm-muted); font-size: .72rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.gm-agenda-event__body > small { display: block; overflow: hidden; margin-top: 5px; color: var(--gm-muted); font-size: .72rem; text-overflow: ellipsis; white-space: normal; }
.gm-agenda-event__body > small span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gm-agenda-event__arrow { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid var(--gm-border); border-radius: 50%; color: var(--gm-teal); }
.gm-agenda-page__interest { padding-top: 84px; }
.gm-event-dialog[hidden] { display: none; }
.gm-event-dialog { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 24px; background: rgba(3,46,57,.62); }
.gm-event-dialog__box { position: relative; width: min(520px, 100%); padding: 34px; border-radius: 20px; background: var(--gm-white); box-shadow: 0 24px 70px rgba(3,46,57,.25); }
.gm-event-dialog__box h2 { margin: 0 0 12px; font-size: clamp(1.8rem, 4vw, 2.5rem); letter-spacing: -.06em; line-height: 1; }
.gm-event-dialog__box > p:not(.gm-kicker) { margin: 0 0 24px; color: var(--gm-muted); }
.gm-event-dialog__close { position: absolute; top: 14px; right: 14px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: #edf5f2; color: var(--gm-ink); font-size: 1.4rem; cursor: pointer; }
.gm-event-dialog__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.gm-button--outline-dark { border-color: var(--gm-border); color: var(--gm-ink); }
.gm-button--outline-dark:hover { background: #edf5f2; }
.gm-repository-page__intro { background: radial-gradient(circle at 86% 20%, rgba(164,215,45,.72), transparent 30%), linear-gradient(115deg, #033c49 0%, #056875 55%, #118b78 100%); color: var(--gm-white); }
.gm-repository-page__intro .gm-kicker { color: var(--gm-lime); }
.gm-repository-page__intro .gm-heading { color: var(--gm-white); }
.gm-repository-page__intro .gm-lede { color: rgba(255,255,255,.82); }
.gm-repository-page__items { background: #edf5f2; }
.gm-repository-list { display: grid; gap: 12px; }
.gm-repository-event { display: grid; grid-template-columns: minmax(150px, .35fr) minmax(0, 1fr) auto; align-items: center; gap: 24px; padding: 20px; border: 1px solid var(--gm-border); border-radius: 15px; background: var(--gm-white); }
.gm-repository-event__date { display: grid; gap: 4px; color: var(--gm-ink); font-size: .88rem; font-weight: 700; }
.gm-repository-event__date--green { border-left: 4px solid #4c971b; padding-left: 12px; }
.gm-repository-event__date--orange { border-left: 4px solid #d99025; padding-left: 12px; }
.gm-repository-event__date--blue { border-left: 4px solid #2d73bd; padding-left: 12px; }
.gm-repository-event__date span { color: var(--gm-muted); font-size: .72rem; font-weight: 400; }
.gm-repository-event__body h3 { margin: 8px 0 4px; font-size: 1.1rem; }
.gm-repository-event__subtitle { margin: 0 0 4px !important; color: var(--gm-ink) !important; font-size: .86rem !important; font-weight: 500; }
.gm-event-detail__subtitle { margin: 12px 0 0; color: var(--gm-muted); font-size: 1.05rem; font-weight: 500; }
.gm-repository-event__body p { margin: 0; color: var(--gm-muted); font-size: .8rem; }
.gm-repository-event__details span { display: block; }
.gm-repository-event__link { color: var(--gm-teal); font-size: .82rem; font-weight: 500; white-space: nowrap; }
.gm-repository-event--past { background: #f8fbfa; opacity: .8; }
.gm-repository-event--past:hover { opacity: 1; }

/* Public contacts page. */
.gm-contacts-page { background: var(--gm-surface-soft); }
.gm-contacts-hero { position: relative; overflow: hidden; background: var(--gm-contacts-hero-image, radial-gradient(circle at 90% 38%, rgba(164,215,45,.86), transparent 34%), linear-gradient(115deg, #033c49 0%, #056875 56%, #118b78 100%)); background-position: center; background-size: cover; color: var(--gm-white); }
.gm-contacts-hero::after { position: absolute; width: 440px; height: 440px; right: -90px; top: -235px; border: 1px solid rgba(255,255,255,.26); border-radius: 50%; content: ""; }
.gm-contacts-hero .gm-shell { position: relative; z-index: 1; }
.gm-contacts-hero .gm-kicker { color: var(--gm-lime); }
.gm-contacts-hero .gm-heading { color: var(--gm-white); }
.gm-contacts-hero .gm-lede { max-width: 680px; margin: 22px 0 0; color: rgba(255,255,255,.86); }
.gm-contacts-interest { background: var(--gm-surface-soft); }
.gm-contacts-interest__panel { display: grid; grid-template-columns: .88fr 1.12fr; gap: 48px; align-items: center; padding: 42px; border-radius: 24px; background: #edf5f2; }
.gm-contacts-interest__copy h2 { margin: 0; color: var(--gm-ink); font-size: clamp(2rem, 3.4vw, 3.3rem); letter-spacing: -.07em; line-height: .98; }
.gm-contacts-interest__copy > p:not(.gm-kicker) { max-width: 520px; margin: 18px 0 0; color: var(--gm-muted); font-size: .98rem; }
.gm-contacts-interest__details { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 20px; color: var(--gm-teal); font-size: .88rem; font-weight: 700; }
.gm-contacts-interest__details a:hover { color: var(--gm-blue); }
.gm-contacts-interest__form-panel { min-width: 0; padding: 28px; border: 1px solid var(--gm-border); border-radius: 16px; background: var(--gm-white); color: var(--gm-ink); }
.gm-contacts-interest__form-label { display: block; margin-bottom: 18px; color: var(--gm-ink); font-size: .9rem; font-weight: 700; }
.gm-greenmetal-form { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.gm-greenmetal-form__honeypot { position: absolute !important; left: -10000px !important; top: auto !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; padding: 0 !important; margin: 0 !important; }
.gm-greenmetal-form__field { min-width: 0; display: grid !important; gap: 6px; color: var(--gm-ink) !important; font-size: .78rem !important; font-weight: 500 !important; }
.gm-greenmetal-form__field > span { display: block; }
.gm-greenmetal-form__field em { color: var(--gm-blue); font-style: normal; }
.gm-greenmetal-form__field--full, .gm-greenmetal-form__description, .gm-greenmetal-form__privacy, .gm-greenmetal-form__submit { grid-column: 1 / -1; }
.gm-greenmetal-form__field input, .gm-greenmetal-form__field select, .gm-greenmetal-form__field textarea { width: 100%; border: 1px solid rgba(3,46,57,.2); border-radius: 9px; background: #f8fbfa; color: var(--gm-ink); font: inherit; padding: 11px 12px; }
.gm-greenmetal-form__field--error > input, .gm-greenmetal-form__field--error > select, .gm-greenmetal-form__field--error > textarea { border-color: #b42318; box-shadow: 0 0 0 2px rgba(180,35,24,.08); }
.gm-greenmetal-form__error { display: block; color: #b42318; font-size: .72rem; font-weight: 600; }
.gm-greenmetal-form__field textarea { min-height: 90px; resize: vertical; }
.gm-greenmetal-form__field--checkbox { display: flex !important; grid-template-columns: auto 1fr; align-items: flex-start; gap: 8px; }
.gm-greenmetal-form__field--checkbox input { width: auto; margin-top: 3px; padding: 0; }
.gm-greenmetal-form__description, .gm-greenmetal-form__privacy { margin: 0; color: var(--gm-muted); font-size: .8rem; line-height: 1.45; }
.gm-greenmetal-form__privacy a { color: var(--gm-blue); text-decoration: underline; }
.gm-greenmetal-form__notice { margin: 0 0 16px; padding: 12px 14px; border-radius: 9px; font-size: .82rem; line-height: 1.4; }
.gm-greenmetal-form__notice--success { background: #e8f5bb; color: #41601d; }
.gm-greenmetal-form__notice--error { background: #fff0ed; color: #9a3a2d; }
.gm-greenmetal-form__fallback { margin: 0; color: var(--gm-muted); font-size: .86rem; }
.gm-contacts-partners { background: #edf5f2; }
.gm-contacts-partners__intro { max-width: 650px; margin: 18px 0 36px; color: var(--gm-muted); font-size: 1rem; }
.gm-contacts-partners__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.gm-contacts-partner { min-height: 300px; display: flex; flex-direction: column; padding: 20px; border: 1px solid var(--gm-border); border-radius: 14px; background: var(--gm-white); }
.gm-contacts-partner__logo { height: 54px; display: flex; align-items: center; justify-content: flex-start; margin-bottom: 16px; }
.gm-contacts-partner__logo img { max-width: 140px; max-height: 48px; object-fit: contain; object-position: left center; }
.gm-contacts-partner__logo > span { display: grid; place-items: center; width: 48px; height: 38px; border-radius: 8px; background: #e8f5bb; color: #4d741b; font-size: .78rem; font-weight: 700; }
.gm-contacts-partner h3 { margin: 0 0 10px; color: var(--gm-ink); font-size: 1rem; letter-spacing: -.04em; line-height: 1.12; }
.gm-contacts-partner p { margin: 0; color: var(--gm-muted); font-size: .82rem; line-height: 1.45; }
.gm-contacts-partner__website { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 18px; color: var(--gm-blue); font-size: .78rem; font-weight: 700; }
.gm-contacts-partner__website:hover { color: var(--gm-teal); }

@media (max-width: 980px) {
	.gm-interest-banner { align-items: flex-start; flex-direction: column; }
	.gm-about__grid { grid-template-columns: 1fr; gap: 42px; }
	.gm-about__copy { width: 100%; }
	.gm-contacts-interest__panel { grid-template-columns: 1fr; gap: 28px; }
	.gm-contacts-partners__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
	.gm-interest-banner { padding: 28px 24px; border-radius: 18px; }
	.gm-interest-banner .gm-button--light { width: 100%; }
	.gm-news-grid { grid-template-columns: 1fr; }
	.gm-news-card__image { height: 190px; }
	.gm-news-featured { grid-template-columns: 1fr; }
	.gm-news-featured { height: 540px; min-height: 540px; }
	.gm-news-featured__image { height: 230px; }
	.gm-news-featured__body { padding: 28px 26px; }
	.gm-news-empty { height: 540px; min-height: 540px; }
	.gm-news-archive-grid { grid-template-columns: 1fr; }
	.gm-news-archive-card { grid-template-columns: .9fr 1.1fr; }
	.gm-objectives__grid { grid-template-columns: 1fr; }
	.gm-contacts-interest__panel { padding: 28px 24px; border-radius: 18px; }
	.gm-contacts-interest__form-panel { padding: 24px 20px; }
	.gm-contacts-partners__grid { grid-template-columns: 1fr; }
}

@media (max-width: 980px) {
	.gm-nav { gap: 14px; font-size: .76rem; }
	.gm-nav__button { padding-inline: 13px; }
	.gm-project__grid, .gm-studies__grid, .gm-interest__grid { grid-template-columns: 1fr; gap: 42px; }
	.gm-tech-grid { grid-template-columns: repeat(2, 1fr); }
	.gm-news-grid { grid-template-columns: 1fr 1fr; }
	.gm-news-card--featured { grid-column: 1 / -1; }
	.gm-news-archive-grid { grid-template-columns: 1fr 1fr; }
	.gm-footer__top { grid-template-columns: 1.3fr 1fr 1fr; }
	.gm-footer__top > :first-child { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
	.gm-shell { width: 90%; }
	.gm-section { padding: 76px 0; }
	.gm-header__inner { min-height: 70px; }
	.gm-header__actions { display: flex; }
	.gm-header__actions > .gm-nav__contact, .gm-header__actions > .gm-nav__button { display: none; }
	.gm-menu-toggle { display: block; }
	.gm-nav { position: absolute; top: 70px; left: 15px; right: 15px; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 12px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: var(--gm-white); box-shadow: var(--gm-shadow); }
	.gm-nav.is-open { display: flex; }
	.gm-nav a { padding: 10px 12px; }
	.gm-nav .gm-nav__contact, .gm-nav .gm-nav__button { display: inline-flex; }
	.gm-nav > .gm-nav__contact, .gm-nav > .gm-nav__button { flex: 0 0 auto; width: 100%; min-width: 0; max-width: none; }
	.gm-nav__button { justify-content: center; }
	.gm-hero { padding-top: 0; }
	.gm-hero__panel { min-height: calc(100svh - var(--gm-header-height)); border-radius: 0; background-position: 62% center; }
	body.admin-bar .gm-hero__panel { min-height: calc(100svh - var(--gm-header-height) - 46px); }
	.gm-hero__panel::before { background: linear-gradient(90deg, rgba(3,46,57,.95), rgba(3,46,57,.36)); }
	.gm-news-page__hero { min-height: 390px; }
	.gm-hero__content { padding: 32px 26px; }
	.gm-hero__badge { right: 22px; top: 22px; bottom: auto; width: 102px; height: 102px; font-size: .56rem; }
	.gm-section-head { align-items: flex-start; flex-direction: column; }
	.gm-event-detail__header { align-items: flex-start; flex-direction: column; }
	.gm-event-detail__meta { flex-direction: column; align-items: center; justify-content: center; flex-wrap: wrap; text-align: center; }
	.gm-event-detail__meta > span:last-child { white-space: normal; }
	.gm-event-detail__registration { margin: 8px 0 0; }
	.gm-newsletter-signup, .gm-event-feedback { padding: 22px; }
	.gm-newsletter-signup--event { padding: 22px; }
	.gm-newsletter-signup--homepage { padding: 0; }
	.gm-newsletter-signup--homepage .gm-newsletter-signup__inner { grid-template-columns: 1fr; gap: 28px; padding-top: 58px; padding-bottom: 58px; }
	.gm-event-feedback-form__optional-grid { grid-template-columns: 1fr; }
	.gm-event-feedback-form__choices { grid-template-columns: 1fr; }
	.gm-event { padding: 14px; }
	.gm-event__desktop { display: none; }
	.gm-event__mobile { display: grid; grid-template-columns: 115px minmax(0, 1fr); align-items: stretch; gap: 12px; }
	.gm-event__mobile-meta { display: flex; min-height: 100%; flex-direction: column; align-items: center; justify-content: space-between; }
	.gm-event__mobile-meta > .gm-event__type { margin: 0; text-align: center; }
	.gm-event__mobile-meta > .gm-event__date { min-height: 0; }
	.gm-event__mobile-meta > .gm-event__action { align-self: center; }
	.gm-event__mobile-body { align-self: center; }
	.gm-event__date strong { font-size: 1.35rem; }
	.gm-event__date span { font-size: .7rem; }
	.gm-event__place { margin-top: 12px; }
	.gm-stats { gap: 10px; }
	.gm-stat strong { font-size: 1.55rem; }
	.gm-tech-grid, .gm-news-grid, .gm-form { grid-template-columns: 1fr; }
	.gm-news-card--featured { grid-column: auto; }
	.gm-news-archive-grid { grid-template-columns: 1fr; }
	.gm-form label:first-child, .gm-form label:last-of-type { grid-column: auto; }
	.gm-footer__top { grid-template-columns: 1fr 1fr; }
	.gm-footer__top > :first-child { grid-column: 1 / -1; }
	.gm-footer__bottom { align-items: flex-start; flex-direction: column; }
	.gm-footer__marks { flex-wrap: wrap; gap: 12px 18px; }
	.gm-footer__mark-image { max-width: 100%; max-height: 44px; }
}

@media (max-width: 980px) {
	.gm-project-context__grid { grid-template-columns: 1fr; gap: 42px; }
	.gm-project-objectives__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gm-project-consortium__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gm-technology-participation__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gm-technology-contact__grid { grid-template-columns: 1fr; gap: 42px; }
	.gm-technology-hero__content { padding: 28px 0; }
	.gm-technology-hero__content .gm-actions { position: static; margin-top: 44px; }
}

@media (max-width: 700px) {
	.gm-project-hero, .gm-agenda-page__intro, .gm-technology-hero, .gm-news-page__intro, .gm-repository-page__intro, .gm-studies-page__hero, .gm-interior-hero { height: 390px; min-height: 390px; }
	.gm-project-hero__content { padding: 48px 0; }
	.gm-project-objectives__grid, .gm-project-results__grid, .gm-project-consortium__grid { grid-template-columns: 1fr; }
	.gm-project-result:nth-child(7) { grid-column: auto; }
	.gm-project-consortium .gm-section-head { align-items: flex-start; }
	.gm-technology-hero { height: auto; min-height: 520px; padding: 48px 0; }
	.gm-technology-hero__content { padding: 0; }
	.gm-technology-hero__content .gm-heading { max-width: 100%; font-size: clamp(2.25rem, 10vw, 3.7rem); }
	.gm-technology-hero__content > p:not(.gm-kicker) { max-width: 100%; font-size: .96rem; }
	.gm-technology-hero__content .gm-actions { position: static; align-items: stretch; flex-direction: column; margin-top: 44px; }
	.gm-technology-hero__content .gm-button { width: 100%; }
	.gm-technology-participation__grid { grid-template-columns: 1fr; }
	.gm-technology-contact__card { padding: 26px 22px; border-radius: 20px; }
	.gm-technology-contact__card h2 { white-space: normal; }
	.gm-technology-contact__card .gm-actions { align-items: stretch; flex-direction: column; }
	.gm-technology-contact__card .gm-button { justify-content: center; }
	.gm-studies-page__hero .gm-heading { max-width: 100%; font-size: clamp(2.7rem, 11vw, 4.5rem); }
	.gm-project-hero__content .gm-heading, .gm-agenda-page__intro .gm-heading, .gm-news-page__hero .gm-heading, .gm-news-page__intro .gm-heading, .gm-repository-page__intro .gm-heading, .gm-studies-page__hero .gm-heading, .gm-interior-hero .gm-heading, .gm-technology-hero__content .gm-heading { font-size: clamp(2rem, 8vw, 2.35rem); }
	.gm-studies-filters { grid-template-columns: 1fr 1fr; }
	.gm-studies-filters .gm-button { grid-column: 1 / -1; }
	.gm-study-card { grid-template-columns: 1fr; }
	.gm-study-card__meta { justify-content: flex-start; flex-wrap: wrap; text-align: left; }
}

@media (prefers-reduced-motion: no-preference) {
	.gm-motion-ready .gm-technology-participation__card { opacity: 0; transform: translateY(24px); }
	.gm-motion-ready .gm-technology-participation__card.is-visible { opacity: 1; transform: translateY(0); }
	.gm-motion-ready .gm-technology-participation__card.is-visible:hover { transform: translateY(-6px); }
	.gm-home-motion-ready .gm-about__intro, .gm-home-motion-ready .gm-objectives__heading, .gm-home-motion-ready .gm-objectives__grid article { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
	.gm-home-motion-ready .gm-about__intro.is-visible, .gm-home-motion-ready .gm-objectives__heading.is-visible, .gm-home-motion-ready .gm-objectives__grid article.is-visible { opacity: 1; transform: translateY(0); }
	.gm-home-motion-ready .gm-objectives__grid article { transition-delay: var(--gm-about-delay, 0ms); }
}

@media (prefers-reduced-motion: reduce) {
	.gm-technology-participation__card, .gm-technology-participation__number { transition: none; }
	.gm-about__intro, .gm-objectives__heading, .gm-objectives__grid article { transition: none; }
}

@media (max-width: 980px) {
	.gm-agenda-layout { grid-template-columns: 1fr; }
	.gm-study-article__header, .gm-study-article__layout { width: 100%; }
	.gm-study-article__layout { grid-template-columns: 1fr; }
	.gm-study-article__document { position: static; transform: none; }
	.gm-repository-event { grid-template-columns: minmax(150px, .35fr) minmax(0, 1fr); }
	.gm-repository-event__link { grid-column: 2; }
	.gm-news-article__related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gm-studies-filters { grid-template-columns: 1fr 1fr; }
	.gm-studies-filters .gm-button { grid-column: 1 / -1; }
	.gm-study-card { grid-template-columns: 1fr; }
	.gm-study-card__meta { justify-content: flex-start; flex-wrap: wrap; text-align: left; }
}

@media (max-width: 700px) {
	.gm-agenda-page__section-head { align-items: flex-start; }
	.gm-study-article__section { padding: 0 0 76px; }
	.gm-study-article__header { margin: 42px auto 30px; }
	.gm-study-article__content, .gm-study-article__document { padding: 26px 22px; }
	.gm-study-article__meta span { padding-inline: 9px; }
	.gm-agenda-page__section-head .gm-button { width: 100%; }
	.gm-calendar { padding: 18px 12px; }
	.gm-calendar__weekdays, .gm-calendar__grid { gap: 3px; }
	.gm-calendar-day { min-height: 36px; font-size: .72rem; }
	.gm-calendar-day i { right: 3px; bottom: 3px; }
	.gm-calendar__legend { gap: 8px 12px; }
	.gm-agenda-event { grid-template-columns: 62px minmax(0, 1fr) 28px; gap: 9px; padding: 12px; }
	.gm-agenda-event { align-items: center; }
	.gm-agenda-event__date { align-self: center; align-items: center; }
	.gm-agenda-event__arrow { align-self: center; justify-self: center; }
	.gm-agenda-event__body > strong { font-size: .82rem; }
	.gm-agenda-event__body > small { font-size: .65rem; }
	.gm-repository-event { grid-template-columns: 1fr; gap: 14px; }
	.gm-repository-event__link { grid-column: auto; }
	.gm-event-dialog__box { padding: 28px 22px; }
	.gm-event-dialog__actions .gm-button { width: 100%; }
	.gm-news-article__header { margin: 42px auto 30px; }
	.gm-news-article__header .gm-heading { font-size: clamp(2.35rem, 12vw, 4.4rem); }
	.gm-news-article__subtitle { font-size: 1rem; }
	.gm-news-article__image { height: 300px; margin-bottom: 36px; border-radius: 18px; }
	.gm-news-article__content { font-size: 1rem; }
	.gm-news-article__related { margin-top: 72px; padding-top: 54px; }
	.gm-news-article__related .gm-section-head { align-items: flex-start; flex-direction: column; gap: 18px; }
	.gm-news-article__related-grid { grid-template-columns: 1fr; }
}
