/* Tipografia: títulos Baloo, corpo Nunito */
:root{
    --bg:#f6f6f7;
    --text:#222325;
    --muted:#5f6368;
    --brand:#2bb3f6; /* azul "in" */
    --green:#c8f05c;
    --orange:#ffb07b;
    --purple:#b699ff;
    --card:#ffffff;
    --shadow:0 12px 30px rgba(0,0,0,.08);
    --radius:18px;
    --container:1320px;
    --bg-overlay:.7; /* intensidade do overlay sobre as imagens de fundo (mais transparente) */
    --bg-filter:contrast(1.06) saturate(1.06) brightness(1.02) blur(2px); /* realce + desfoque suave */
}

*{box-sizing:border-box}
html,body{height:100%}
body{
    margin:0;
    font-family:"Nunito", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
    line-height:1.6;
}

.container{
    width:100%;
    max-width:var(--container);
    margin:0 auto;
    padding:0 20px;
}

/* Header */
.site-header{
    position:sticky; top:0; z-index:1000;
    background:rgba(246,246,247,.9);
    backdrop-filter:saturate(1.2) blur(8px);
    border-bottom:1px solid rgba(0,0,0,.06);
}
.header-inner{display:flex; align-items:center; justify-content:space-between; height:64px}
.brand{display:flex; align-items:center; gap:6px; text-decoration:none; color:var(--text); font-family:"Baloo 2", cursive; font-weight:800; letter-spacing:.5px}
.brand-logo{height:52px; width:auto; display:block; filter:drop-shadow(0 2px 8px rgba(0,0,0,.35))}
.brand-word{font-size:20px}
.brand-in{background:var(--brand); color:#fff; padding:2px 6px; border-radius:8px; font-size:16px; font-weight:800}

.main-nav{display:flex; gap:20px}
.main-nav a{color:var(--text); text-decoration:none; font-weight:700; padding:6px 8px; border-radius:8px}
.main-nav a:hover{color:#000}
.main-nav a[data-active]{background:#141414; color:#fff}

.nav-toggle{display:none; background:none; border:0; font-size:26px; line-height:1; cursor:pointer}

/* Language switch */
.lang-switch{display:flex; align-items:center; gap:8px}
.lang-switch a{display:inline-flex; align-items:center; justify-content:center; width:32px; height:24px; font-size:18px; text-decoration:none; border-radius:6px; border:1px solid rgba(0,0,0,.08); background:var(--card); overflow:hidden}
.lang-switch a img{display:block; width:100%; height:100%; object-fit:cover}
.lang-switch a[data-active]{outline:2px solid #141414}

/* Social icons in header */
.social-top{display:flex; align-items:center; gap:8px; margin-left:10px}
.social-top a{display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; color:#fff; text-decoration:none; font-weight:800; font-size:14px}
.social-top a.fb{background:#1877f2}
.social-top a.ig{background:#d6249f}
.social-top a.li{background:#0a66c2}
.social-top a.yt{background:#ff0000}

/* Sections */
.section{padding:72px 0}
.two-col{display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:flex-start}
.two-col.center-v{align-items:center}
h1,h2{font-family:"Baloo 2", cursive; line-height:1.1; margin:0 0 16px}
h1{font-size:clamp(36px,5vw,56px); font-weight:800}
h1.display{font-size:clamp(105px,13vw,184px); font-weight:800}
h2{font-size:clamp(34px,4vw,50px)}
.lead{font-size:clamp(18px,2.2vw,22px); color:var(--muted); margin:12px 0 24px}
/* Parágrafos base uniformes */
p{font-size:clamp(16px,1.8vw,18px)}

.shadow-card{background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden}
.shadow-card img{display:block; width:100%; height:auto}

/* WP2 competency framework: smaller PDF preview */
.wp2-cf .pdf-card{width:50%; margin:0 auto}
@media (max-width: 720px){
    .wp2-cf .pdf-card{width:80%}
}

/* Flip cards (About) */
.flip-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px}
.flip-card{perspective:1000px; outline:0}
.flip-inner{position:relative; transform-style:preserve-3d; transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.flip-card:hover .flip-inner,.flip-card:focus .flip-inner{transform:none}
.flip-card.is-flipped .flip-inner{transform:none}
.flip-card:focus-within .shadow-card{outline:2px solid #141414; outline-offset:-2px}
.flip-card .shadow-card{transition:box-shadow .25s ease}
.flip-card:hover .shadow-card{box-shadow:0 18px 40px rgba(0,0,0,.12)}
.flip-front,.flip-back{position:relative; backface-visibility:hidden}
/* Frente: imagem ocupa 75% da altura do cartão */
.flip-front{display:flex; flex-direction:column; position:relative}
.flip-front::before{content:""; position:absolute; left:0; right:0; top:0; height:60%; background:linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,0)); pointer-events:none; border-top-left-radius:var(--radius); border-top-right-radius:var(--radius)}
.flip-front img{width:100%; height:220px; object-fit:cover}
.flip-caption{padding:12px 16px; text-align:left; display:flex; align-items:center; justify-content:flex-start; min-height:64px}
.flip-caption h2{margin:0}
.flip-back{display:none}
/* Corpo de conteúdo dentro da frente do cartão */
.flip-body{padding:0 16px 16px}

/* About: tornar a checklist em cards apelativos */
.flip-front .checklist,
.flip-back .checklist{
    list-style:none;
    padding-left:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-top:10px;
}
.flip-front .checklist li,
.flip-back .checklist li{
    display:flex;
    align-items:flex-start;
    gap:10px;
    background:var(--card);
    border:1px solid rgba(0,0,0,.06);
    border-left:0;
    border-radius:14px;
    padding:12px 14px;
    box-shadow:var(--shadow);
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.flip-front .checklist li:hover,
.flip-back .checklist li:hover{
    transform:translateY(-2px);
    box-shadow:0 16px 38px rgba(0,0,0,.12);
}
/* Remover efeito de elevação no hover apenas no segundo cartão */
.flip-grid > .flip-card:nth-child(2) .flip-front .checklist li:hover,
.flip-grid > .flip-card:nth-child(2) .flip-back .checklist li:hover{
    transform:none;
    box-shadow:var(--shadow);
}
/* Remover badges/ícones nos itens do verso */
.flip-back .checklist li::before{content:none; display:none}

@media (max-width: 720px){
    .flip-back .checklist{
        grid-template-columns:1fr;
    }
}
@media (max-width: 980px){
    .flip-grid{grid-template-columns:1fr}
}

.checklist{padding-left:18px}
.checklist li{margin:.25rem 0}
.numbered{padding-left:18px}

/* HERO */
.hero{position:relative}
.hero-inner{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center}
.display{display:flex; flex-direction:column; gap:.25em}
.display .word{display:inline-flex; align-items:center; gap:.2em}
.shape{width:1em; height:1em; display:inline-block}
.shape svg{width:100%; height:100%}
.hex svg polygon{fill:var(--green)}
.burst svg path{fill:var(--purple)}
.burst-orange svg path{fill:var(--orange)}
.burst-purple svg path{fill:var(--purple)}

.hero-visuals{display:grid; grid-template-columns:1fr 1fr; gap:20px}
.hero-img{width:100%; border-radius:var(--radius); box-shadow:var(--shadow)}

/* WP blocks accent */
.wp2{background:linear-gradient(180deg, rgba(200,240,92,.25), rgba(200,240,92,0));}
.wp3{background:linear-gradient(180deg, rgba(182,153,255,.18), rgba(182,153,255,0));}
.outreach{background:linear-gradient(180deg, rgba(255,176,123,.18), rgba(255,176,123,0));}

/* Fórum */
.cta-row{display:flex; gap:12px; flex-wrap:wrap}
.btn{display:inline-block; padding:12px 18px; border-radius:12px; text-decoration:none; font-weight:800}
.btn.primary{background:#141414; color:#fff}
.btn.primary:hover{opacity:.9}
.btn.ghost{border:2px solid #141414; color:#141414}
.note{color:var(--muted); margin-top:10px}

/* WP2 levels: horizontal bars with square images */
.levels-bars{display:flex; flex-direction:column; gap:16px}
.wp2-levels h2{text-align:center}
.wp2-cf h2{text-align:center}
.wp2-cf h1{text-align:center}
.level-bar{display:flex; align-items:center; justify-content:space-between; gap:20px; background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); padding:18px; min-height:220px}
.level-bar{transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease}
.level-bar .level-text h3{margin:0 0 6px; font-size:clamp(20px,2.6vw,28px)}
.level-bar .level-text .lead{margin:0}
.level-text{flex:1; display:flex; flex-direction:column; justify-content:center}
.level-thumb{flex:0 0 180px; aspect-ratio:1/1; border-radius:12px; overflow:hidden; border:1px solid rgba(0,0,0,.06); transition:transform .35s ease, box-shadow .25s ease}
.level-thumb img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease}
.level-green{border-left:8px solid var(--green)}
.level-orange{border-left:8px solid var(--orange)}
.level-purple{border-left:8px solid var(--purple)}
/* WP2: interação ao pairar/foco */
.wp2-levels .level-bar:hover,
.wp2-levels .level-bar:focus-within{transform:translateY(-4px); box-shadow:0 18px 40px rgba(0,0,0,.12)}
.wp2-levels .level-bar:hover .level-thumb img,
.wp2-levels .level-bar:focus-within .level-thumb img{transform:scale(1.05)}
@media (max-width: 720px){
    .level-bar{flex-direction:column; align-items:flex-start}
    .level-thumb{width:100%; max-width:360px}
}

/* Forum network card */
.network-card{background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); border:1px solid #b8cbd6; padding:20px}
.network-header{display:flex; align-items:center; gap:14px}
.network-header .in{width:48px; height:48px; border-radius:8px; background:#0a66c2; color:#fff; display:inline-flex; align-items:center; justify-content:center; font-weight:900; font-size:26px}
.network-header .fb{width:48px; height:48px; border-radius:8px; background:#1877f2; color:#fff; display:inline-flex; align-items:center; justify-content:center; font-weight:900; font-size:26px}
.network-cta{display:flex; flex-direction:column; gap:12px; margin-top:14px}
.btn-xl{display:flex; align-items:center; justify-content:center; padding:16px; border-radius:14px; font-weight:800; text-decoration:none}
.btn-linkedin{background:linear-gradient(90deg,#006ea7,#004f73); color:#fff}
.btn-facebook{background:linear-gradient(90deg,#2f85f7,#1877f2); color:#fff}
.btn-copy{background:#b5aab9; color:#fff}
.network-list{margin:14px 0 0; padding-left:18px}
.network-list li{margin:.4rem 0}

/* Socials & feed */
.social-links{display:flex; gap:12px}
.social-btn{display:inline-block; padding:10px 14px; border-radius:10px; text-decoration:none; font-weight:800; color:#fff}
.social-btn.fb{background:#1877f2}
.social-btn.li{background:#0a66c2}
.feed{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
.feed .post{background:var(--card); box-shadow:var(--shadow); border-radius:var(--radius); padding:14px}
.feed .post h4{margin:0 0 6px}

/* FB badge inline no título do fórum */
.fb-badge{display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:6px; background:#1877f2; color:#fff; font-weight:900; font-size:18px; line-height:1}


/* Stats */
.stats{padding:48px 0}
.stats .container{max-width:1200px}
.stats-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:30px; align-items:center}
.stat-card{position:relative; text-align:center; padding:6px 10px}
.stat-card + .stat-card::before{content:""; position:absolute; left:-15px; top:10%; bottom:10%; width:1px; background:rgba(241,188,72,.7)}
.stat-value{font-family:"Baloo 2", cursive; font-size:clamp(44px,6vw,84px); font-weight:800; line-height:1;}
.stat-label{margin-top:8px; font-weight:800; letter-spacing:.02em}
.stat-green .stat-value,.stat-green .stat-label{color:var(--green)}
.stat-purple .stat-value,.stat-purple .stat-label{color:var(--purple)}
.stat-brand .stat-value,.stat-brand .stat-label{color:var(--brand)}
.stat-dark .stat-value{color:#000}
.stat-orange .stat-value,.stat-orange .stat-label{color:var(--orange)}

/* Forçar todas as estatísticas a preto */
.stats .stat-value,
.stats .stat-label{color:#000}

/* Galeria */
.gallery-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px}
.gallery-grid img{width:100%; border-radius:14px; box-shadow:var(--shadow)}

/* Footer */
.site-footer{padding:0; border-top:0; text-align:left}
.site-footer a{color:var(--text); font-weight:700; text-decoration:underline}

.footer-legal{background:#cfd4d8; color:#222; padding:28px 0}
.legal-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:flex-start}
.license p,.eu p{margin:0 0 10px; font-size:14px; line-height:1.6}
.license{text-align:center}
.eu{text-align:center}
.license a{word-break:break-all}
.cc-badge{height:32px}
.eu-badge{height:44px; margin-bottom:8px}

.footer-bottom{background:#2b2b2b; color:#fff; padding:14px 0; text-align:center}
.footer-bottom p{margin:6px 0; font-weight:800; letter-spacing:.04em; text-transform:uppercase}

/* Backgrounds por página (com overlay para legibilidade) */
.page-bg{
    position:relative;
}
.page-bg::before{
    content:""; position:fixed; inset:0; z-index:-2;
    background-repeat:no-repeat; background-size:cover; background-position:center; background-attachment:fixed;
    filter:var(--bg-filter);
}
.page-bg::after{
    content:""; position:fixed; inset:0; z-index:-1; background:linear-gradient(rgba(255,255,255,var(--bg-overlay)), rgba(255,255,255,var(--bg-overlay)));
}
.bg-index::before{ background-image:url('imagens/6.png'); }
.bg-about::before{ background-image:url('imagens/7.png'); }
.bg-wp2::before{ background-image:url('imagens/img 6.png'); }
.bg-toolkit::before{ background-image:url('imagens/8.png'); }
.bg-outreach::before{ background-image:url('imagens/img 2.jpg'); }
.bg-forum::before{ background-image:url('imagens/img 5.jpg'); }

/* Módulos: fundos específicos por rota (cores alinhadas com a toolkit) */
.bg-module1{ --bg-overlay:.35; }
.bg-module2{ --bg-overlay:.35; }
.bg-module3{ --bg-overlay:.35; }
.bg-module1::before{ background-image:linear-gradient(180deg, #eaffb3 0%, #c8f05c 50%, #ffffff 100%); } /* verde */
.bg-module2::before{ background-image:linear-gradient(180deg, #ffd2b7 0%, #ffb07b 50%, #ffffff 100%); } /* laranja */
.bg-module3::before{ background-image:linear-gradient(180deg, #dccbff 0%, #b699ff 50%, #ffffff 100%); } /* roxo */

/* Toolkit modules */
.modules-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:18px}
.module-card{text-decoration:none; color:inherit; display:flex; flex-direction:column; border-radius:var(--radius); overflow:hidden; transform:translateY(14px); opacity:0; transition:transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, opacity .5s ease}
.module-card.is-visible{transform:none; opacity:1}
.module-card:hover{transform:translateY(-6px); box-shadow:0 18px 40px rgba(0,0,0,.12)}
.module-cover{height:140px}
.module-card .module-cover{transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.module-card:hover .module-cover{transform:scale(1.03)}
.module-green{background:linear-gradient(135deg, #c8f05c, #eaffb3)}
.module-orange{background:linear-gradient(135deg, #ffb07b, #ffd2b7)}
.module-purple{background:linear-gradient(135deg, #b699ff, #dccbff)}
.module-body{padding:16px}
.module-body h2{margin:0 0 6px; font-size:24px}
.pill{display:inline-block; margin-top:6px; padding:4px 8px; background:#141414; color:#fff; border-radius:999px; font-size:12px; font-weight:800}

/* Módulos: títulos maiores */
.module-title{font-size:clamp(26px,4vw,60px); line-height:1.05}

/* Embeds & cards */
.pad-16{padding:16px}
.embed-responsive{position:relative; padding-top:56.25%; background:#000; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);}
.embed-responsive iframe,.embed-responsive video{position:absolute; inset:0; width:100%; height:100%; border:0}

/* Quiz */
.quiz{background:var(--card); box-shadow:var(--shadow); border-radius:var(--radius); padding:16px}
.quiz h3{margin:0 0 10px}
.quiz fieldset{border:0; padding:0; margin:12px 0}
.quiz .answers label{display:block; margin:4px 0}
.quiz .answers label.answer-correct{background:rgba(200,240,92,.18); border:2px solid #c8f05c; border-radius:10px; padding:4px 6px}
.quiz .answers label.answer-wrong{background:rgba(255,176,123,.15); border:2px solid #ffb07b; border-radius:10px; padding:4px 6px}
.quiz .quiz-result{margin-top:12px; font-weight:800}

/* Notes widget */
.notes-widget{margin-top:20px}
.notes-widget .notes-head{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 16px; border-bottom:1px solid rgba(0,0,0,.06)}
.notes-widget .notes-body{padding:14px 16px}
.notes-widget h3{margin:0; font-size:20px}
.notes-widget p.note{margin:6px 0 12px}
.notes-widget textarea{width:100%; min-height:180px; resize:vertical; border:1px solid rgba(0,0,0,.12); border-radius:12px; padding:12px; font:inherit; color:inherit; background:#fff}
.notes-actions{display:flex; gap:8px; margin-top:10px}
.notes-actions .btn.is-ok{outline:2px solid var(--green)}

/* Route navigation */
.route-nav{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:22px}

/* Forum: lessons learnt e‑vignettes grid */
.vignettes .theme-block{margin-top:18px}
.vignettes-grid{grid-template-columns:repeat(2,1fr)}
.vignettes-grid .pdf-thumb{aspect-ratio:auto; height:120px; overflow:hidden}
.vignettes-grid .pdf-thumb img{object-position:center}

/* Forum: youth‑led policy journey maps grid */
.journey-grid{grid-template-columns:repeat(2,1fr)}
.journey-grid .pdf-thumb{aspect-ratio:auto; height:120px; overflow:hidden}
.journey-grid .pdf-thumb img{object-position:center}

@media (max-width: 720px){
    .vignettes-grid .pdf-thumb,
    .journey-grid .pdf-thumb{height:100px}
}

/* Snake Quiz */
.snake-quiz{margin-top:12px; background:#0f0f10; border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden}
.snake-quiz canvas{display:block; width:100%; height:auto; image-rendering:pixelated; border-top:1px solid rgba(255,255,255,.06)}
.snake-ui{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; color:#fff; background:linear-gradient(180deg, rgba(43,179,246,.25), rgba(43,179,246,0))}
.snake-legend{font-weight:800}
.snake-ui .btn{background:#1e1f22; color:#fff; border:1px solid rgba(255,255,255,.12)}
.snake-ui .btn:hover{opacity:.9}

/* D-pad for touch */
.snake-dpad{display:grid; grid-template-columns:36px 36px 36px; grid-template-rows:36px 36px 36px; gap:6px; align-items:center; justify-items:center}
.snake-dpad .pad-btn{width:36px; height:36px; border-radius:10px; background:#1e1f22; color:#fff; border:1px solid rgba(255,255,255,.12); display:flex; align-items:center; justify-content:center; font-weight:800; user-select:none; cursor:pointer}
.snake-dpad .pad-btn:active{transform:translateY(1px)}

@media (max-width: 720px){
    .snake-ui{flex-wrap:wrap}
    .snake-dpad{margin-left:auto}
}

/* PDF preview */
.pdf-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(320px,1fr)); gap:16px; justify-content:center}
.pdf-card{display:flex; flex-direction:column; text-decoration:none; color:inherit; background:var(--card); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); max-width:520px}
.pdf-thumb{position:relative; aspect-ratio:3/4; background:#eaeaea}
.pdf-thumb img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block}
.pdf-meta{padding:12px 14px; display:flex; align-items:center; justify-content:space-between; gap:10px}
.pdf-meta h4{margin:0; font-size:15px}
.btn-link{font-weight:800; color:#141414; text-decoration:underline}

/* Outreach: reduzir e-flyer e centrar */
.section.outreach .pdf-grid:first-of-type{grid-template-columns:repeat(1, minmax(260px, 360px)); justify-content:center}
.section.outreach .pdf-grid:first-of-type .pdf-card{max-width:360px}
/* Outreach: E‑news and E‑newsletters — reduzir para caber numa linha (4 itens) */
.section.outreach .container > .pdf-grid:nth-of-type(2),
.section.outreach .container > .pdf-grid:nth-of-type(3){
    grid-template-columns:repeat(4, minmax(160px, 1fr));
    justify-content:space-between;
}
.section.outreach .container > .pdf-grid:nth-of-type(2) .pdf-card,
.section.outreach .container > .pdf-grid:nth-of-type(3) .pdf-card{
    max-width:none;
}

/* Responsivo */
/* Intro minimal */
.intro-minimal{padding:96px 0 120px}
.intro-minimal .container{max-width:1120px}
.intro-wrap{display:grid; grid-template-columns:1.1fr .9fr; gap:30px; align-items:center}
.intro-text h1{font-family:"Baloo 2", cursive; font-size:clamp(95px,12vw,163px); margin-bottom:12px}
.intro-text p{font-size:clamp(18px,2vw,22px); color:var(--muted)}
.intro-minimal p{font-size:clamp(18px,2vw,22px); color:var(--muted)}
.intro-image{margin-top:0}
.intro-image img{display:block; width:100%; height:auto}

/* Parceiros */
.partners-grid{display:flex; flex-wrap:wrap; gap:22px; align-items:stretch; justify-content:center}
.partner-card{display:flex; flex-direction:column; gap:8px; height:100%; padding:20px; text-align:center; transition:transform .25s ease, box-shadow .25s ease; flex:1 1 300px; max-width:340px; min-width:260px}
.partner-card:hover{transform:translateY(-4px); box-shadow:0 18px 40px rgba(0,0,0,.12)}
.partner-logo{height:84px; border-radius:12px; background:linear-gradient(135deg, rgba(43,179,246,.2), rgba(182,153,255,.25)); border:1px solid rgba(0,0,0,.06); margin-bottom:10px; display:flex; align-items:center; justify-content:center; overflow:hidden}
.partner-logo img{max-height:100%; max-width:100%; width:auto; height:auto; display:block}
.partner-card h3{margin:10px 0 0; font-size:16px}
.partner-card h3 a{display:inline-flex; align-items:center; justify-content:center; padding:8px 12px; border-radius:10px; background:#141414; color:#fff; text-decoration:none; font-weight:800}
.partner-card h3 a:hover{opacity:.9}
.partner-desc{margin:10px 0 0; font-size:14px; color:var(--muted); flex:1}

@media (max-width: 980px){
    .page-bg::before{background-attachment:scroll}
    .page-bg{ --bg-filter:contrast(1.05) saturate(1.05) brightness(1.02) blur(1.5px); }
    .two-col{grid-template-columns:1fr}
    .hero-inner{grid-template-columns:1fr}
    .gallery-grid{grid-template-columns:repeat(2,1fr)}
    .intro-wrap{grid-template-columns:1fr}
    .partners-grid{justify-content:center}
    .modules-grid{grid-template-columns:1fr}
}
/* About: manter todos os parceiros numa só linha em ecrãs largos */
@media (min-width: 981px){
    .partners-grid{flex-wrap:nowrap; justify-content:space-between}
    .partner-card{flex:1 1 0; max-width:none; min-width:0}
}
@media (max-width: 720px){
    .main-nav{display:none; position:absolute; right:20px; top:64px; background:var(--card); box-shadow:var(--shadow); padding:12px 14px; border-radius:12px; flex-direction:column; min-width:240px}
    .main-nav a{padding:6px 4px}
    .nav-toggle{display:inline-block}
    .brand-word{font-size:18px}
    .brand-logo{height:44px}
}

/* Muito pequenos: 1 coluna para maior legibilidade */
@media (max-width: 520px){
    .partners-grid{justify-content:center}
}


