/*
Theme Name: Jorge Pina Erasmus+
Theme URI: https://associacaojorgepina.com/
Author: Associação Jorge Pina
Description: Multi-project Erasmus+ theme for Associação Jorge Pina.
Version: 1.2.9
Text Domain: jpe
*/

:root {
  --ink: #10264c;
  --ink-2: #173963;
  --blue: #2878d0;
  --sky: #dff4fb;
  --yellow: #ffd22e;
  --orange: #f28b37;
  --paper: #fffdf7;
  --white: #ffffff;
  --muted: #627087;
  --line: rgba(16, 38, 76, .14);
  --radius: 26px;
  --shadow: 0 20px 60px rgba(16, 38, 76, .12);
  --wrap: min(1180px, calc(100vw - 40px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.6; }
.entry-content .wp-block-group__inner-container,
.wp-block-post-content .wp-block-group__inner-container,
.site-header .wp-block-group__inner-container,
.project-bar .wp-block-group__inner-container,
.site-footer .wp-block-group__inner-container { display: contents; }
.wp-site-blocks { overflow: clip; }
a { color: inherit; }
img { max-width: 100%; display: block; }
.wrap { width: var(--wrap); margin-inline: auto; }
.eyebrow { margin: 0 0 12px; color: var(--blue); font-size: .76rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
h1, h2, h3 { margin: 0; line-height: 1.06; letter-spacing: -.035em; }
h1 { font-size: clamp(3.2rem, 7vw, 7rem); }
h2 { font-size: clamp(2.1rem, 4vw, 4.2rem); }
h3 { font-size: 1.3rem; }
p { margin: 0; }
.lead { max-width: 720px; font-size: clamp(1.08rem, 1.7vw, 1.35rem); color: var(--muted); }

.project-bar { background: var(--ink); color: var(--white); font-size: .86rem; }
.project-bar__inner { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.project-bar a { text-decoration: none; font-weight: 750; }
.project-bar__back { display: inline-flex; align-items: center; gap: 9px; }
.project-bar__back img { width: 34px; height: 23px; border: 1px solid rgba(255,255,255,.3); border-radius: 3px; object-fit: cover; }
.site-header { position: sticky; top: 0; z-index: 20; background: rgba(255,253,247,.92); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.site-header__inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: flex; align-items: center; gap: 18px; text-decoration: none; }
.brand__mark { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; background: var(--yellow); color: var(--ink); font-weight: 950; }
.brand__logo { width: 78px !important; height: 78px; flex: 0 0 78px; object-fit: contain; }
.brand__logo img { width: 78px !important; height: 78px; object-fit: contain; }
.brand__text { display: grid; align-content: center; justify-items: start; text-align: left; line-height: 1.05; }
.brand__text > * { width: 100%; margin-left: 0 !important; margin-right: 0 !important; text-align: left; }
.brand__text small { color: var(--muted); font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.brand__text strong { font-size: 1.05rem; }
.brand__text p { color: var(--muted); font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.brand__text h3 { font-size: 1.05rem; letter-spacing: 0; }
.brand__text a { text-decoration: none; }
.project-bar .wp-block-image, .site-header .wp-block-image, .site-footer .wp-block-image { margin: 0; }
.site-nav .wp-block-navigation__container { gap: 22px; }
.site-nav .wp-block-navigation-item__content { font-size: .9rem; font-weight: 760; text-decoration: none; }
.site-nav { display: flex; align-items: center; gap: 22px; }
.site-nav a { font-size: .9rem; font-weight: 760; text-decoration: none; }
.lang { padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; }

.hero { position: relative; overflow: hidden; padding: 90px 0 100px; background: var(--sky); }
.hero::before, .hero::after { content: ""; position: absolute; border-radius: 50%; }
.hero::before { width: 420px; height: 420px; top: -240px; right: -80px; background: var(--yellow); }
.hero::after { width: 270px; height: 270px; bottom: -150px; left: 45%; background: var(--orange); }
.hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 60px; }
.hero__copy { display: grid; gap: 25px; }
.hero__aside { display: grid; gap: 14px; padding: 30px; border-radius: var(--radius); background: var(--ink); color: var(--white); transform: rotate(2deg); box-shadow: var(--shadow); }
.hero__aside strong { color: var(--yellow); font-size: 3rem; line-height: 1; }
.hero__visual { position: relative; overflow: hidden; border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow); }
.hero__visual > img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.hero__visual > img[src*="sane-action-community"] { object-position: center; }
.hero__stat { position: absolute; left: 18px; bottom: 18px; display: flex; align-items: center; gap: 10px; padding: 13px 18px; border-radius: 18px; background: var(--ink); color: var(--white); }
.hero__stat strong { color: var(--yellow); font-size: 2rem; line-height: 1; }
.hero__stat span { font-weight: 800; }

.section { padding: 96px 0; }
.section--ink { background: var(--ink); color: var(--white); }
.section--sky { background: var(--sky); }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 44px; }
.grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.grid--2 { grid-template-columns: repeat(2, 1fr); }
.card { min-height: 220px; display: flex; flex-direction: column; gap: 16px; padding: 28px; border: 0; border-radius: 5px; background: var(--white); box-shadow: 0 8px 30px rgba(16,38,76,.06); }
.card p { color: var(--muted); }
.card__number { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: var(--yellow); font-weight: 900; }
.card__meta { color: var(--blue); font-size: .78rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.card__link { margin-top: auto; font-weight: 850; text-decoration: none; }
.section--ink .card { border-color: rgba(255,255,255,.18); background: var(--ink-2); }
.section--ink .card p { color: rgba(255,255,255,.72); }

.project-chooser { min-height: 100vh; background: var(--ink); color: var(--white); }
.chooser-hero { padding: 70px 0 42px; }
.chooser-hero__top { display: flex; justify-content: space-between; gap: 30px; margin-bottom: 90px; }
.chooser-title { max-width: 850px; }
.chooser-title span { color: var(--yellow); }
.project-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding-bottom: 70px; }
.project-card { position: relative; min-height: 420px; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: 38px; border: 0; border-radius: 5px; color: var(--ink); text-decoration: none; }
.project-card::after { content: "↗"; position: absolute; right: 30px; bottom: 26px; font-size: 2.4rem; font-weight: 900; }
.project-card--sane { background: var(--yellow); }
.project-card--play { background: var(--sky); }
.project-card__tag { align-self: flex-start; padding: 7px 12px; border: 1px solid currentColor; border-radius: 999px; font-size: .72rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.project-card h2 { max-width: 600px; }
.project-card p { max-width: 500px; font-size: 1.05rem; }
.project-card__logo { position: absolute; right: 32px; top: 32px; width: 110px; height: 110px; object-fit: contain; mix-blend-mode: multiply; }
.project-card__play-logo { position: absolute; right: 28px; top: 34px; width: 190px; height: 76px; object-fit: contain; }

.logo-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.logo-tile { min-height: 160px; display: flex; flex-direction: column; justify-content: space-between; gap: 16px; padding: 20px; border: 0; border-radius: 5px; background: var(--white); }
.logo-tile img { width: 100%; height: 82px; object-fit: contain; }
.logo-tile span { color: var(--muted); font-size: .72rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.story-split, .training-intro { display: grid; grid-template-columns: 1.1fr .9fr; gap: 28px; align-items: start; }
.story-split > img, .training-intro > img,
.story-split > .wp-block-image, .training-intro > .wp-block-image { width: 100%; margin: 0; border-radius: var(--radius); box-shadow: var(--shadow); }
.story-split > img, .story-split > .wp-block-image img { height: 100%; min-height: 540px; object-fit: cover; object-position: center; }
.training-intro > img, .training-intro > .wp-block-image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.story-split > .wp-block-image, .training-intro > .wp-block-image { overflow: hidden; }
.training-gallery { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; margin: 38px 0 56px; }
.training-gallery figure { position: relative; overflow: hidden; min-height: 360px; margin: 0; border-radius: 5px; background: var(--ink); }
.training-gallery .wp-block-cover { min-height: 360px; overflow: hidden; margin: 0; border-radius: 5px; }
.training-gallery .wp-block-cover__inner-container { align-self: end; display: grid; gap: 4px; }
.training-gallery .wp-block-cover h3, .training-gallery .wp-block-cover p { color: var(--white); }
.training-gallery .wp-block-cover h3 { font-size: 1.05rem; }
.training-gallery .wp-block-cover p { max-width: 42ch; font-size: .85rem; line-height: 1.45; }
.training-gallery img { width: 100%; height: 100%; object-fit: cover; }
.training-gallery figcaption { position: absolute; inset: auto 0 0; display: grid; gap: 4px; padding: 22px; background: linear-gradient(transparent, rgba(16,38,76,.92)); color: var(--white); }
.training-gallery figcaption strong { font-size: 1.05rem; }
.training-gallery figcaption span { max-width: 42ch; font-size: .85rem; line-height: 1.45; }
.training-outcomes { margin: 36px 0 18px; }
.training-outcomes .card { min-height: 230px; background: var(--sky); }
.training-modules-head { margin-top: 72px; }
.training-modules-head p:not(.eyebrow) { max-width: 720px; color: var(--muted); }
.feature-row p { margin: 8px 0 0; color: var(--muted); }
.training-cta { width: 100vw; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 48px; margin-top: 64px; margin-left: calc(50% - 50vw); padding: 72px max(28px, calc((100vw - 1180px) / 2)); background: var(--sky); }
.training-cta__content { display: grid; gap: 10px; }
.training-cta h2 { max-width: 820px; font-size: clamp(2.4rem, 5vw, 4.8rem); line-height: .98; }
.training-cta__content > p:last-child { max-width: 760px; margin: 6px 0 0; color: var(--muted); }
.story-split .grid { grid-template-columns: 1fr; }
.about-block { display: grid; gap: 4px; margin-top: 64px; }
.timeline-grid { grid-template-columns: repeat(3, 1fr); }
.timeline-card { min-height: 250px; background: var(--sky); }
.training-intro { align-items: center; margin-bottom: 42px; }
.training-intro > div { display: grid; gap: 18px; }
.partner-card img { width: 100%; height: 155px; margin-bottom: 12px; padding: 8px 0; object-fit: contain; }
.partner-card h3 { margin-bottom: 8px; font-size: clamp(1.85rem, 2.5vw, 2.45rem); font-weight: 900; }
.partner-card .partner-role { color: var(--blue); font-size: 1rem; font-weight: 500; line-height: 1.45; }
.bandeira-portugal,
.bandeira-belgica,
.bandeira-romenia,
.bandeira-austria,
.bandeira-espanha { display: inline-flex; align-items: center; gap: 9px; }
.bandeira-portugal::before,
.bandeira-belgica::before,
.bandeira-romenia::before,
.bandeira-austria::before,
.bandeira-espanha::before { content: ""; width: 27px; height: 18px; flex: 0 0 auto; border-radius: 1px; box-shadow: 0 0 0 1px rgba(16,38,76,.12); }
.bandeira-portugal::before { background: linear-gradient(90deg, #046a38 0 40%, #da291c 40%); }
.bandeira-belgica::before { background: linear-gradient(90deg, #111 0 33.333%, #ffd90c 33.333% 66.666%, #ef3340 66.666%); }
.bandeira-romenia::before { background: linear-gradient(90deg, #002b7f 0 33.333%, #fcd116 33.333% 66.666%, #ce1126 66.666%); }
.bandeira-austria::before { background: linear-gradient(#ed2939 0 33.333%, #fff 33.333% 66.666%, #ed2939 66.666%); }
.bandeira-espanha::before { background: linear-gradient(#aa151b 0 25%, #f1bf00 25% 75%, #aa151b 75%); }
.partner-socials { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 15px; border-top: 1px solid var(--line); }
.partner-socials a { position: relative; width: 36px; height: 36px; display: block; overflow: hidden; border-radius: 5px; background: var(--sky); color: var(--ink); font-size: 0; line-height: 0; text-decoration: none; }
.partner-socials a::before { content: ""; position: absolute; top: 50%; left: 50%; width: 18px; height: 18px; display: block; background: currentColor; transform: translate(-50%, -50%); mask-position: center; mask-repeat: no-repeat; mask-size: contain; -webkit-mask-position: center; -webkit-mask-repeat: no-repeat; -webkit-mask-size: contain; }
.partner-socials a[href*="facebook.com"]::before { transform: translate(calc(-50% + 1px), -50%); }
.partner-socials a[href*="facebook.com"]::before { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 8.5V6.8c0-.8.5-1 1-1h2.8V2.1L14.7 2C11.3 2 10.5 4.1 10.5 6.5v2H8v4h2.5V22H14v-9.5h3.2l.5-4H14Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 8.5V6.8c0-.8.5-1 1-1h2.8V2.1L14.7 2C11.3 2 10.5 4.1 10.5 6.5v2H8v4h2.5V22H14v-9.5h3.2l.5-4H14Z'/%3E%3C/svg%3E"); }
.partner-socials a[href*="instagram.com"]::before { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5Zm0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H7Zm10.5 1.5a1 1 0 1 1 0 2 1 1 0 0 1 0-2ZM12 7a5 5 0 1 1 0 10 5 5 0 0 1 0-10Zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5Zm0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H7Zm10.5 1.5a1 1 0 1 1 0 2 1 1 0 0 1 0-2ZM12 7a5 5 0 1 1 0 10 5 5 0 0 1 0-10Zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z'/%3E%3C/svg%3E"); }
.partner-socials a[href*="linkedin.com"]::before { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.5 3A2.5 2.5 0 1 1 4.5 8a2.5 2.5 0 0 1 0-5ZM2.3 9.5h4.4V22H2.3V9.5Zm7.1 0h4.2v1.7h.1c.6-1.1 2-2.2 4.1-2.2 4.4 0 5.2 2.9 5.2 6.7V22h-4.4v-5.6c0-1.4 0-3.2-2-3.2s-2.3 1.5-2.3 3.1V22H9.4V9.5Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.5 3A2.5 2.5 0 1 1 4.5 8a2.5 2.5 0 0 1 0-5ZM2.3 9.5h4.4V22H2.3V9.5Zm7.1 0h4.2v1.7h.1c.6-1.1 2-2.2 4.1-2.2 4.4 0 5.2 2.9 5.2 6.7V22h-4.4v-5.6c0-1.4 0-3.2-2-3.2s-2.3 1.5-2.3 3.1V22H9.4V9.5Z'/%3E%3C/svg%3E"); }
.partner-socials a:hover { background: var(--yellow); }
.activity-card { padding: 0 0 28px; overflow: hidden; }
.activity-card > *:not(.activity-media):not(.activity-block-gallery):not(.activity-block-image) { margin-inline: 28px; }
.activity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.activity-grid .activity-card { overflow: hidden; }
.activity-media { overflow: hidden; margin: 0 0 4px; width: 100%; aspect-ratio: 16 / 10; background: var(--sky); }
.activity-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.activity-media--gallery { display: grid; grid-template-columns: 2fr 1fr; gap: 4px; }
.activity-media--gallery > div { display: grid; grid-template-rows: 1fr 1fr; gap: 4px; min-width: 0; }
.activity-media__more { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(16,38,76,.66); color: var(--white); font-size: clamp(1.6rem, 3vw, 2.5rem); font-weight: 900; }
.activity-block-image { width: 100%; margin: 0 0 4px; aspect-ratio: 16 / 10; overflow: hidden; }
.activity-block-image img { width: 100%; height: 100%; object-fit: cover; }
.activity-block-gallery { position: relative; width: 100%; margin: 0 0 4px !important; display: grid !important; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; gap: 4px !important; aspect-ratio: 16 / 10; overflow: hidden; }
.activity-block-gallery > figure { position: relative; width: 100% !important; min-width: 0; min-height: 0; margin: 0 !important; }
.activity-block-gallery > figure:first-child { grid-row: 1 / 3; }
.activity-block-gallery > figure:nth-child(2) { grid-column: 2; grid-row: 1; }
.activity-block-gallery > figure:nth-child(3) { grid-column: 2; grid-row: 2; }
.activity-block-gallery > figure:nth-child(n+4) { display: none !important; }
.activity-block-gallery > figure:nth-child(3)::after { content: "+4"; position: absolute; inset: 0; display: grid; place-items: center; background: rgba(16,38,76,.66); color: var(--white); font-size: clamp(1.6rem, 3vw, 2.5rem); font-weight: 900; pointer-events: none; }
.activity-block-gallery img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.activity-lightbox { width: min(1100px, calc(100vw - 32px)); max-width: none; padding: 0; border: 0; border-radius: 5px; background: transparent; color: var(--white); }
.activity-lightbox::backdrop { background: rgba(5,14,32,.92); backdrop-filter: blur(6px); }
.activity-lightbox__frame { position: relative; display: grid; place-items: center; min-height: min(82vh, 820px); padding: 56px 72px 74px; border-radius: 5px; background: #07152f; }
.activity-lightbox__frame > img { max-width: 100%; max-height: 68vh; object-fit: contain; }
.activity-lightbox__close, .activity-lightbox__nav { position: absolute; z-index: 2; display: grid; place-items: center; border: 0; border-radius: 50%; background: rgba(255,255,255,.12); color: var(--white); cursor: pointer; }
.activity-lightbox__close { top: 14px; right: 14px; width: 42px; height: 42px; font-size: 1.8rem; }
.activity-lightbox__nav { top: 50%; width: 48px; height: 48px; font-size: 2.4rem; transform: translateY(-50%); }
.activity-lightbox__nav--prev { left: 14px; }
.activity-lightbox__nav--next { right: 14px; }
.activity-lightbox__caption { position: absolute; right: 72px; bottom: 24px; left: 72px; display: flex; justify-content: space-between; gap: 20px; }
.activity-lightbox__caption span { color: rgba(255,255,255,.72); }
.ambassador-photo { position: relative; overflow: hidden; margin: -28px -28px 2px; border-radius: 5px 5px 0 0; }
.ambassador-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: center 25%; }
.ambassador-photo span { position: absolute; right: 10px; bottom: 10px; padding: 5px 8px; border-radius: 4px; background: rgba(16,38,76,.88); color: var(--white); font-size: .62rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.country-jump { position: sticky; top: 82px; z-index: 10; display: flex; gap: 8px; overflow-x: auto; padding: 12px; border-radius: 5px; background: rgba(255,253,247,.94); box-shadow: 0 8px 24px rgba(16,38,76,.08); backdrop-filter: blur(12px); }
.country-jump a { display: inline-flex; align-items: center; gap: 8px; padding: 9px 13px; border-radius: 5px; background: var(--sky); font-size: .82rem; font-weight: 850; text-decoration: none; white-space: nowrap; }
.country-flag { width: 27px; height: 18px; display: inline-block; flex: 0 0 auto; border-radius: 1px; box-shadow: 0 0 0 1px rgba(16,38,76,.12); vertical-align: middle; }
.flag--pt { background: linear-gradient(90deg, #046a38 0 40%, #da291c 40%); }
.flag--be { background: linear-gradient(90deg, #111 0 33.333%, #ffd90c 33.333% 66.666%, #ef3340 66.666%); }
.flag--ro { background: linear-gradient(90deg, #002b7f 0 33.333%, #fcd116 33.333% 66.666%, #ce1126 66.666%); }
.flag--at { background: linear-gradient(#ed2939 0 33.333%, #fff 33.333% 66.666%, #ed2939 66.666%); }
.flag--es { background: linear-gradient(#aa151b 0 25%, #f1bf00 25% 75%, #aa151b 75%); }
.country-groups { display: grid; gap: 80px; margin-top: 36px; }
.country-group { scroll-margin-top: 170px; }
.country-group__header { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.country-group__header h2 { display: flex; align-items: center; gap: 14px; }
.ambassador-roster { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.roster-profile { overflow: hidden; border-radius: 5px; background: var(--white); box-shadow: 0 8px 24px rgba(16,38,76,.07); }
.roster-profile__photo { position: relative; }
.roster-profile__photo img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; object-position: center 20%; }
.roster-profile__photo span { position: absolute; right: 7px; bottom: 7px; padding: 4px 6px; border-radius: 3px; background: rgba(16,38,76,.85); color: var(--white); font-size: .54rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.no-profile-picture { width: 100%; aspect-ratio: 1 / 1; background: var(--white); }
.no-profile-picture img { width: 100%; height: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.roster-profile__content { display: grid; gap: 10px; padding: 20px; }
.roster-profile h3 { font-size: 1.35rem; line-height: 1.15; }
.profile-details { display: grid; gap: 0; margin: 4px 0 0; }
.profile-details > div { display: grid; gap: 3px; padding: 11px 0; border-top: 1px solid var(--line); }
.profile-detail { display: grid; gap: 3px; padding: 11px 0; border-top: 1px solid var(--line); }
.profile-details dt { color: var(--blue); font-size: .66rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.profile-detail__label { color: var(--blue) !important; font-size: .66rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.profile-details dd { margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.5; }
.profile-detail p:not(.profile-detail__label) { margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.5; }
.profile-socials { min-height: 37px; display: flex; align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: 8px; padding-top: 12px; border-top: 1px solid var(--line); }
.social-icon { position: relative; width: 34px; height: 34px; display: block; flex: 0 0 auto; border-radius: 5px; background: var(--sky); color: var(--ink); }
.social-icon > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.social-icon::before { content: ""; position: absolute; top: 50%; left: 50%; width: 17px; height: 17px; background: currentColor; transform: translate(-50%, -50%); mask-position: center; mask-repeat: no-repeat; mask-size: contain; -webkit-mask-position: center; -webkit-mask-repeat: no-repeat; -webkit-mask-size: contain; }
.social-icon--facebook::before { transform: translate(calc(-50% + 1px), -50%); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 8.5V6.8c0-.8.5-1 1-1h2.8V2.1L14.7 2C11.3 2 10.5 4.1 10.5 6.5v2H8v4h2.5V22H14v-9.5h3.2l.5-4H14Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 8.5V6.8c0-.8.5-1 1-1h2.8V2.1L14.7 2C11.3 2 10.5 4.1 10.5 6.5v2H8v4h2.5V22H14v-9.5h3.2l.5-4H14Z'/%3E%3C/svg%3E"); }
.social-icon--instagram::before { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5Zm0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H7Zm10.5 1.5a1 1 0 1 1 0 2 1 1 0 0 1 0-2ZM12 7a5 5 0 1 1 0 10 5 5 0 0 1 0-10Zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5Zm0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H7Zm10.5 1.5a1 1 0 1 1 0 2 1 1 0 0 1 0-2ZM12 7a5 5 0 1 1 0 10 5 5 0 0 1 0-10Zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z'/%3E%3C/svg%3E"); }
.social-icon--linkedin::before { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.5 3A2.5 2.5 0 1 1 4.5 8a2.5 2.5 0 0 1 0-5ZM2.3 9.5h4.4V22H2.3V9.5Zm7.1 0h4.2v1.7h.1c.6-1.1 2-2.2 4.1-2.2 4.4 0 5.2 2.9 5.2 6.7V22h-4.4v-5.6c0-1.4 0-3.2-2-3.2s-2.3 1.5-2.3 3.1V22H9.4V9.5Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.5 3A2.5 2.5 0 1 1 4.5 8a2.5 2.5 0 0 1 0-5ZM2.3 9.5h4.4V22H2.3V9.5Zm7.1 0h4.2v1.7h.1c.6-1.1 2-2.2 4.1-2.2 4.4 0 5.2 2.9 5.2 6.7V22h-4.4v-5.6c0-1.4 0-3.2-2-3.2s-2.3 1.5-2.3 3.1V22H9.4V9.5Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.5 3A2.5 2.5 0 1 1 4.5 8a2.5 2.5 0 0 1 0-5ZM2.3 9.5h4.4V22H2.3V9.5Zm7.1 0h4.2v1.7h.1c.6-1.1 2-2.2 4.1-2.2 4.4 0 5.2 2.9 5.2 6.7V22h-4.4v-5.6c0-1.4 0-3.2-2-3.2s-2.3 1.5-2.3 3.1V22H9.4V9.5Z'/%3E%3C/svg%3E"); }
.profile-socials a:hover { background: var(--yellow); }
.profile-socials.wp-block-social-links, .partner-socials.wp-block-social-links { list-style: none; padding-left: 0; }
.profile-socials .wp-social-link, .partner-socials .wp-social-link { width: 34px; height: 34px; margin: 0; border-radius: 5px; }
.profile-socials .wp-social-link a, .partner-socials .wp-social-link a { width: 100%; height: 100%; padding: 8px; }
.profile-socials .wp-social-link:hover, .partner-socials .wp-social-link:hover { transform: none; background: var(--yellow) !important; }
.social-icon.is-mockup { opacity: .48; }
.roster-card { min-height: 0; margin-top: 4px; background: var(--sky); }
.roster-card h2 { max-width: 760px; font-size: clamp(2rem, 3.5vw, 3.6rem); }
.roster-card > p { max-width: 980px; font-size: 1.06rem; line-height: 1.9; }
.source-note { padding-top: 12px; border-top: 1px solid var(--line); font-size: .88rem !important; }
.funding-lockup { display: flex; align-items: center; gap: 22px; margin: 35px 0 26px; }
.funding-lockup img { width: min(360px, 58vw); padding: 10px; border-radius: 10px; background: var(--white); }
.funding-lockup div { display: grid; }
.funding-lockup span { color: rgba(255,255,255,.64); font-size: .82rem; }

.page-hero { padding: 74px 0 66px; background: var(--sky); }
.page-hero__content { width: var(--wrap); margin-inline: auto; text-align: left; }
.page-hero__content > * { margin-left: 0 !important; margin-right: auto !important; text-align: left; }
.page-hero .lead { margin-top: 22px; }
.fundo-circulos-sane {
  background-image:
    radial-gradient(circle 280px at -2% 16%, rgba(255, 210, 46, .30) 0 58%, rgba(255, 210, 46, .17) 68%, transparent 82%),
    radial-gradient(circle 320px at 102% 47%, rgba(242, 139, 55, .26) 0 58%, rgba(242, 139, 55, .14) 68%, transparent 82%),
    radial-gradient(circle 270px at 13% 84%, rgba(255, 210, 46, .22) 0 58%, rgba(255, 210, 46, .12) 68%, transparent 82%);
  background-repeat: no-repeat;
}
.content-stack { display: grid; gap: 26px; }
.feature-list { display: grid; gap: 0; border-top: 1px solid var(--line); }
.feature-row { display: grid; grid-template-columns: 70px 1fr; gap: 22px; padding: 26px 0; border-bottom: 1px solid var(--line); }
.feature-row strong { color: var(--blue); font-size: 1.35rem; }
.placeholder { display: grid; place-items: center; min-height: 180px; border: 0; border-radius: 5px; background: var(--white); color: var(--muted); text-align: center; padding: 30px; }
.socials { display: flex; flex-wrap: wrap; gap: 12px; }

.site-footer { padding: 60px 0 28px; background: #091a35; color: var(--white); }
.footer-grid { display: grid; grid-template-columns: 1.4fr .8fr .8fr; gap: 50px; margin-bottom: 46px; }
.footer-grid p, .footer-grid a { color: rgba(255,255,255,.7); }
.footer-grid a { display: block; margin: 7px 0; text-decoration: none; }
.footer-bottom { padding-top: 22px; border-top: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.55); font-size: .82rem; }

@media (max-width: 900px) {
  .site-header__inner { flex-wrap: wrap; padding-block: 12px; }
  .site-nav { width: auto; display: flex; align-items: center; gap: 18px; overflow: visible; padding: 0; }
  .site-nav a { white-space: nowrap; }
  .site-nav:has(.wp-block-navigation__responsive-container.is-menu-open) { flex: 1 0 100%; width: 100%; }
  .site-header__inner:has(.wp-block-navigation__responsive-container.is-menu-open) { row-gap: 0; }
  .site-nav:has(.wp-block-navigation__responsive-container.is-menu-open) > .wp-block-navigation__responsive-container-open { display: none; }
  .site-nav .wp-block-navigation__responsive-container.is-menu-open { position: static; width: 100%; min-height: 0; padding: 22px 0 14px; overflow: visible; background: transparent !important; }
  .site-nav .wp-block-navigation__responsive-container-content { padding-top: 0 !important; }
  .site-nav .wp-block-navigation__responsive-dialog { margin: 0; }
  .site-nav .wp-block-navigation__responsive-container-close { top: -73px; right: 0; }
  .hero__grid, .project-grid, .grid, .grid--2, .footer-grid, .story-split, .training-intro { grid-template-columns: 1fr; }
  .logo-row { grid-template-columns: repeat(2, 1fr); }
  .hero__aside { transform: none; }
  .section-head { align-items: start; flex-direction: column; }
  .project-card { min-height: 330px; }
  .ambassador-roster { grid-template-columns: repeat(2, 1fr); }
  .training-cta { grid-template-columns: 1fr; align-items: start; }
}

@media (max-width: 560px) {
  :root { --wrap: min(100% - 28px, 1180px); }
  .project-bar__inner { min-height: 48px; }
  .project-bar__inner span { display: none; }
  .site-header__inner { min-height: 102px; }
  .hero, .section { padding: 68px 0; }
  .chooser-hero__top { margin-bottom: 56px; }
  .project-card { padding: 26px; border-radius: 5px; }
  .feature-row { grid-template-columns: 48px 1fr; }
  .logo-row { grid-template-columns: 1fr 1fr; }
  .project-card__logo { width: 76px; height: 76px; right: 20px; top: 22px; }
  .project-card__play-logo { width: 130px; right: 18px; top: 26px; }
  .funding-lockup { align-items: flex-start; flex-direction: column; }
  .ambassador-roster { grid-template-columns: 1fr; }
  .training-gallery { grid-template-columns: 1fr; }
  .training-gallery figure { min-height: 300px; }
  .training-cta { gap: 28px; padding: 38px 26px; }
  .activity-grid { grid-template-columns: 1fr; }
  .activity-lightbox__frame { min-height: 72vh; padding: 60px 44px 82px; }
  .activity-lightbox__caption { right: 44px; bottom: 24px; left: 44px; flex-direction: column; gap: 4px; }
  .country-group__header { align-items: start; flex-direction: column; }
  .country-jump { top: 0px; }
}
