/* About GREA */
.about-intro { padding-bottom: clamp(56px, 6vw, 88px); }
.about-intro__text p:first-child { font-family: var(--font-display); font-size: clamp(1.6rem, 1.25rem + 1.3vw, 2.35rem); line-height: 1.32; color: var(--ink); font-weight: 500; }

/* Vision and mission */
.vm__grid { display: grid; grid-template-columns: 1fr 1fr; }
.vm__panel { position: relative; padding: clamp(64px, 8vw, 128px) clamp(28px, 6vw, 96px); display: flex; }
.vm__panel--vision { background: var(--navy-800); justify-content: flex-end; }
.vm__panel--mission { background: var(--ivory-200); }
.vm__inner { max-width: 540px; }
.vm__label { font-size: var(--fs-label); letter-spacing: .2em; text-transform: uppercase; font-weight: 500; color: var(--accent-text); display: flex; align-items: center; gap: 14px; margin-bottom: 28px; }
.vm__label::after { content: ""; width: 48px; height: 1px; background: currentColor; }
.vm__statement { font-size: clamp(1.6rem, 1.2rem + 1.5vw, 2.4rem); line-height: 1.25; font-weight: 500; }
.vm__panel--vision .vm__statement { color: var(--ivory); }
@media (max-width: 860px) { .vm__grid { grid-template-columns: 1fr; } .vm__panel--vision { justify-content: flex-start; } }

/* Objectives */
.objectives__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: clamp(36px, 6vw, 96px); align-items: start; }
.objectives__head { position: sticky; top: calc(var(--header-h) + 32px); }
.objectives__head .lead { margin-top: 20px; max-width: 30ch; }
.objectives__list { display: grid; grid-template-columns: 1fr 1fr; column-gap: 40px; counter-reset: obj; }
.objectives__list li { display: grid; grid-template-columns: 54px 1fr; gap: 12px; padding: 24px 0; border-top: 1px solid var(--line); }
.objectives__num { font-family: var(--font-display); font-style: italic; font-size: 1.7rem; line-height: 1.1; color: var(--gold-text); }
.objectives__list p { color: var(--ink); line-height: 1.55; font-size: 1.0625rem; }
@media (max-width: 1000px) { .objectives__grid { grid-template-columns: 1fr; } .objectives__head { position: static; } }
@media (max-width: 640px) { .objectives__list { grid-template-columns: 1fr; } }

/* Core values: expanding panels on wide screens */
.values__list { display: flex; gap: 12px; min-height: 380px; }
.value {
	position: relative; flex: 1 1 0; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; padding: 32px 28px;
	background: var(--paper); border: 1px solid var(--line); overflow: hidden; outline: none; cursor: default;
	transition: flex-grow .7s var(--ease-out), background-color .5s var(--ease-out), border-color .5s ease;
}
.value::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform .6s var(--ease-out); }
.value__glyph { display: block; width: clamp(56px, 4vw, 72px); color: var(--gold-text); opacity: .8; transition: opacity .5s ease, color .5s ease, transform .7s var(--ease-out); }
.value__glyph .icon, .value__glyph .emblem { width: 100%; height: auto; }
.value__glyph .icon { stroke-width: 1; }
.value__title { font-size: 1.85rem; font-weight: 600; transition: color .5s ease; }
.value__text { margin-top: 10px; line-height: 1.6; max-width: 28ch; transition: opacity .5s ease, color .5s ease; }
@media (min-width: 1000px) {
	.value__text { opacity: 0; }
	.value:hover, .value:focus-visible { flex-grow: 2.2; background: var(--navy-800); border-color: var(--navy-800); }
	.value:hover::before, .value:focus-visible::before { transform: scaleX(1); }
	.value:hover .value__title, .value:focus-visible .value__title { color: var(--ivory); }
	.value:hover .value__text, .value:focus-visible .value__text { opacity: 1; color: rgba(247, 244, 237, .78); }
	.value:hover .value__glyph, .value:focus-visible .value__glyph { opacity: 1; }
	.values__list:not(:hover):not(:focus-within) .value:first-child { flex-grow: 2.2; background: var(--navy-800); border-color: var(--navy-800); }
	.values__list:not(:hover):not(:focus-within) .value:first-child .value__title { color: var(--ivory); }
	.values__list:not(:hover):not(:focus-within) .value:first-child .value__text { opacity: 1; color: rgba(247, 244, 237, .78); }
	.values__list:not(:hover):not(:focus-within) .value:first-child .value__glyph { opacity: 1; }
}
@media (max-width: 999px) {
	.values__list { flex-direction: column; min-height: 0; }
	.value { flex-direction: row; align-items: center; gap: 22px; padding: 24px; }
	.value__glyph { width: 48px; flex: none; }
}

/* Programme */
.programme__grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(40px, 7vw, 112px); align-items: center; }
.programme__visual { aspect-ratio: 5 / 4; margin-left: 16px; }
.programme__text .lead { margin-top: 22px; }
.programme__links { margin-top: 36px; border-top: 1px solid var(--line); }
.programme__links a { display: flex; justify-content: space-between; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--line); text-decoration: none; color: var(--ink); font-family: var(--font-display); font-size: 1.4rem; }
.programme__links .icon { width: 20px; color: var(--gold-text); transition: transform .35s var(--ease-out); }
.programme__links a:hover { color: var(--gold-text); }
.programme__links a:hover .icon { transform: translateX(6px); }
@media (max-width: 900px) { .programme__grid { grid-template-columns: 1fr; } }
