/* ============================================================
   INTEGRA — Laboratório Integrado de Fisiologia, Saúde e
   Desempenho Humano · UFRN
   Elegant / editorial theme · shared across all pages
   ============================================================ */

:root {
  /* INTEGRA brand */
  --navy:      #163a66;
  --navy-deep: #0e2748;
  --cyan:      #35b6d6;
  --cyan-soft: #6fd0e6;
  --ink:       #1a2432;
  --muted:     #5a6b7d;
  --line:      #e5e2da;
  --paper:     #faf9f6;
  --paper-2:   #f2f0ea;
  --white:     #ffffff;

  /* Group accents */
  --mova:      #e10600;
  --mova-deep: #7a0c0c;
  --rest:      #3552b5;
  --rest-soft: #56a9e0;

  /* Type */
  --serif: "Fraunces", "Playfair Display", Georgia, serif;
  --sans:  "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --maxw: 1180px;
  --gutter: clamp(1.25rem, 5vw, 4rem);
  --radius: 4px;
}

/* ---------- reset ---------- */
*,*::before,*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--sans);
  color: var(--ink);
  background: var(--paper);
  line-height: 1.65;
  font-size: 1.02rem;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
h1,h2,h3,h4 { font-family: var(--serif); font-weight: 500; line-height: 1.12; color: var(--navy); letter-spacing: -0.01em; margin: 0 0 .5em; }
p { margin: 0 0 1.1em; }

/* ---------- layout helpers ---------- */
.wrap { max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gutter); }
.section { padding-block: clamp(3.5rem, 8vw, 6.5rem); }
.section--tint { background: var(--white); }
.section--paper2 { background: var(--paper-2); }
.eyebrow {
  font-family: var(--sans);
  font-size: .74rem; font-weight: 600; letter-spacing: .22em;
  text-transform: uppercase; color: var(--cyan);
  display: flex; align-items: center; gap: .8rem; margin-bottom: 1.1rem;
}
.eyebrow::before { content: ""; width: 34px; height: 1px; background: var(--cyan); display: inline-block; }
.section-title { font-size: clamp(1.9rem, 4vw, 3rem); max-width: 20ch; }
.lead { font-size: clamp(1.08rem, 2vw, 1.28rem); color: var(--muted); max-width: 60ch; font-family: var(--sans); }

/* ---------- top bar / nav ---------- */
.nav {
  position: sticky; top: 0; z-index: 100;
  background: rgba(250,249,246,.86);
  backdrop-filter: saturate(1.4) blur(12px);
  border-bottom: 1px solid var(--line);
}
.nav__inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding-block: .7rem; }
.nav__brand img { height: 52px; width: auto; }
.nav__links { display: flex; align-items: center; gap: 1.6rem; list-style: none; margin: 0; padding: 0; }
.nav__links a { font-size: .9rem; font-weight: 500; color: var(--ink); position: relative; padding-block: .3rem; }
.nav__links a:hover { color: var(--navy); }
.nav__links a::after { content:""; position:absolute; left:0; bottom:0; height:1.5px; width:0; background: var(--cyan); transition: width .28s ease; }
.nav__links a:hover::after { width: 100%; }
.nav__tools { display: flex; align-items: center; gap: 1rem; }

/* language toggle */
.lang {
  display: inline-flex; border: 1px solid var(--line); border-radius: 999px;
  overflow: hidden; background: var(--white);
}
.lang button {
  border: 0; background: transparent; cursor: pointer;
  font: 600 .78rem/1 var(--sans); letter-spacing: .04em;
  color: var(--muted); padding: .42rem .7rem; transition: .2s;
}
.lang button.is-active { background: var(--navy); color: #fff; }

.nav__toggle { display: none; background: none; border: 0; cursor: pointer; padding: .4rem; }
.nav__toggle span { display: block; width: 24px; height: 2px; background: var(--navy); margin: 5px 0; transition: .3s; }

/* ---------- hero ---------- */
.hero { position: relative; overflow: hidden; background: var(--navy); color: #eaf1f8; }
.hero::before {
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(60% 90% at 82% 10%, rgba(53,182,214,.28), transparent 60%),
    radial-gradient(50% 70% at 8% 92%, rgba(53,182,214,.14), transparent 60%);
}
.hero__inner { position: relative; padding-block: clamp(4.5rem, 12vw, 8.5rem); max-width: 60rem; }
.hero__logo { height: clamp(96px, 15vw, 156px); width: auto; margin-bottom: 1.8rem; filter: brightness(0) invert(1); }

/* ---------- construction banner ---------- */
.construction-banner { background:#fff4d6; color:#7a5c00; text-align:center; font-size:.85rem; line-height:1.45; padding:.55rem 1.1rem; border-bottom:1px solid #f0e0b0; }
.construction-banner b { color:#5c4600; }
.hero__kicker {
  font-size: .78rem; font-weight: 600; letter-spacing: .26em; text-transform: uppercase;
  color: var(--cyan-soft); margin-bottom: 1.4rem;
}
.hero h1 { color: #fff; font-size: clamp(2.5rem, 6.4vw, 5rem); line-height: 1.03; margin-bottom: 1.1rem; }
.hero h1 em { font-style: italic; color: var(--cyan-soft); }
.hero__sub { font-size: clamp(1.1rem, 2.2vw, 1.4rem); color: #c6d6e6; max-width: 48ch; margin-bottom: 2.2rem; }
.hero__cta { display: flex; flex-wrap: wrap; gap: 1rem; }

/* buttons */
.btn { display: inline-flex; align-items: center; gap: .6rem; font: 600 .92rem/1 var(--sans); padding: .95rem 1.6rem; border-radius: 999px; cursor: pointer; transition: .25s; border: 1.5px solid transparent; }
.btn--primary { background: var(--cyan); color: #06263a; }
.btn--primary:hover { background: #fff; color: var(--navy); transform: translateY(-2px); }
.btn--ghost { border-color: rgba(255,255,255,.35); color: #fff; }
.btn--ghost:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.btn--dark { background: var(--navy); color: #fff; }
.btn--dark:hover { background: var(--navy-deep); transform: translateY(-2px); }
.btn--outline { border-color: var(--navy); color: var(--navy); }
.btn--outline:hover { background: var(--navy); color: #fff; }

/* ---------- stats strip ---------- */
.stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.stat { background: var(--white); padding: 1.8rem 1.4rem; text-align: center; }
.stat b { display: block; font-family: var(--serif); font-size: clamp(1.8rem,3.5vw,2.6rem); color: var(--navy); line-height: 1; }
.stat span { font-size: .82rem; color: var(--muted); letter-spacing: .02em; }

/* ---------- prose two-col ---------- */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.split--narrow { grid-template-columns: 0.9fr 1.1fr; }
.prose p { color: #33414f; }
.prose p:last-child { margin-bottom: 0; }

/* mission card */
.mission { background: var(--white); border: 1px solid var(--line); border-radius: 8px; padding: clamp(1.6rem,3vw,2.4rem); }
.mission h3 { font-size: 1.15rem; color: var(--navy); }
.mission ul { margin: 0; padding-left: 1.1rem; color: #33414f; }
.mission li { margin-bottom: .5rem; }

/* ---------- group cards ---------- */
.groups { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem; }
.gcard {
  position: relative; border-radius: 12px; overflow: hidden; background: var(--white);
  border: 1px solid var(--line); padding: 2.4rem; display: flex; flex-direction: column;
  transition: .3s; min-height: 320px;
}
.gcard:hover { transform: translateY(-4px); box-shadow: 0 24px 50px -30px rgba(20,40,70,.45); }
.gcard::before { content:""; position:absolute; left:0; top:0; width:100%; height:5px; }
.gcard--mova::before { background: linear-gradient(90deg, var(--mova), var(--mova-deep)); }
.gcard--rest::before { background: linear-gradient(90deg, var(--rest-soft), var(--rest)); }
.gcard__logo { height: auto; max-height: 58px; max-width: 150px; width: auto; object-fit: contain; margin-bottom: 1.4rem; }
.gcard__logo--icon { max-height: 78px; max-width: 78px; }
.gcard h3 { font-size: 1.5rem; margin-bottom: .35rem; }
.gcard .gcard__tag { font-size: .76rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin-bottom: 1rem; }
.gcard p { color: #45525f; flex: 1; }
.gcard__link { font-weight: 600; font-size: .92rem; display: inline-flex; align-items: center; gap: .45rem; margin-top: 1rem; }
.gcard--mova .gcard__link { color: var(--mova); }
.gcard--rest .gcard__link { color: var(--rest); }
.gcard__link .arrow { transition: transform .25s; }
.gcard:hover .gcard__link .arrow { transform: translateX(5px); }

/* ---------- capability grid ---------- */
.cap-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px,1fr)); gap: 1rem; }
.cap {
  background: var(--white); border: 1px solid var(--line); border-radius: 8px;
  padding: 1.4rem 1.3rem; transition: .25s;
}
.cap:hover { border-color: var(--cyan); transform: translateY(-3px); box-shadow: 0 18px 36px -26px rgba(20,40,70,.35); }
.cap h4 { font-family: var(--sans); font-weight: 600; font-size: .98rem; color: var(--navy); margin-bottom: .3rem; }
.cap p { font-size: .86rem; color: var(--muted); margin: 0; }
.cap__icon { width: 34px; height: 34px; color: var(--cyan); margin-bottom: .9rem; }

/* equipment chips */
.equip { display: flex; flex-wrap: wrap; gap: .6rem; }
.chip { font-size: .84rem; background: var(--white); border: 1px solid var(--line); border-radius: 999px; padding: .5rem 1rem; color: #33414f; transition: .2s; }
.chip:hover { border-color: var(--cyan); color: var(--navy); }
a.chip { text-decoration: none; }
a.chip::after { content: "↗"; font-size: .72em; margin-left: .35rem; color: var(--cyan); }
.chip--soon { opacity: .72; border-style: dashed; }
.chip--soon .soon { color: var(--cyan); font-weight: 600; }
.soon-badge { display: inline-block; font-size: .62rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--cyan); border: 1px solid var(--cyan); border-radius: 999px; padding: .12rem .5rem; margin-top: .55rem; }
.cap--soon { opacity: .9; border-style: dashed; }

/* ---------- people ---------- */
.people { display: grid; grid-template-columns: repeat(auto-fill,minmax(220px,1fr)); gap: 1.6rem; }
.person { text-align: left; }
.person__photo {
  aspect-ratio: 1/1; border-radius: 10px; background: var(--paper-2);
  display: flex; align-items: center; justify-content: center; overflow: hidden;
  margin-bottom: 1rem; border: 1px solid var(--line);
}
.person__photo img { width: 100%; height: 100%; object-fit: cover; }
.person__initials { font-family: var(--serif); font-size: 2.4rem; color: var(--cyan); }
.person h4 { font-family: var(--sans); font-weight: 600; font-size: 1.02rem; margin-bottom: .15rem; color: var(--ink); }
.person .role { font-size: .84rem; color: var(--muted); }
.person .badge { display: inline-block; margin-top: .5rem; font-size: .7rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--navy); background: var(--paper-2); border-radius: 4px; padding: .2rem .5rem; }
.person__desc { font-size: .82rem; color: var(--muted); margin: .5rem 0 0; line-height: 1.5; }
.person__cv { display: inline-flex; align-items: center; gap: .35rem; margin-top: .6rem; font-size: .8rem; font-weight: 600; color: var(--cyan); }
.person__cv:hover { text-decoration: underline; }
body.theme-mova .person__cv { color: var(--mova); }
body.theme-rest .person__cv { color: var(--rest); }
.person__cv svg { width: 14px; height: 14px; }
.person__links { display: flex; flex-wrap: wrap; gap: .3rem 1.1rem; }
.person__links .person__cv { margin-top: .6rem; }
.person__namelink { color: inherit; text-decoration: none; }
.person__namelink:hover { text-decoration: underline; }
body.theme-mova .person__namelink:hover { color: var(--mova); }

/* ---------- individual member pages ---------- */
.member-head { display: flex; flex-wrap: wrap; align-items: center; gap: 1.6rem 2rem; margin-top: 1.4rem; }
.member-head { align-items: flex-start; }
.member-photo { flex: 0 0 auto; width: clamp(220px, 24vw, 300px); height: clamp(220px, 24vw, 300px); border-radius: 20px; overflow: hidden; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.28); display: flex; align-items: center; justify-content: center; }
.member-photo img { width: 100%; height: 100%; object-fit: cover; }
.member-initials { font-family: var(--serif); font-size: 4.4rem; color: #fff; }
.member-head__text { flex: 1 1 280px; }
.member-head__text h1 { font-size: clamp(2rem, 5vw, 3.3rem); margin-bottom: .4rem; }
.member-role { color: #f7d7d5; font-size: 1.1rem; margin-bottom: 1rem; }
.member-formation { margin: 0 0 1rem; }
.member-formation__label { font-size: .72rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #f7b3b0; margin: 0 0 .25rem; }
.member-formation__text { color: #e6d2d0; font-size: .96rem; margin: 0; line-height: 1.5; max-width: 46ch; }
.member-out-links { display: flex; flex-wrap: wrap; gap: .7rem .8rem; margin-top: 1.2rem; }

/* member page accordion */
.accordion { border-top: 1px solid var(--line); margin-top: .5rem; }
.acc-item { border-bottom: 1px solid var(--line); }
.acc-head { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1rem; background: transparent; border: 0; padding: 1.3rem 0; cursor: pointer; text-align: left; }
.acc-title { font-family: var(--serif); font-size: 1.45rem; font-weight: 500; color: var(--navy); }
body.theme-mova .acc-title { color: var(--mova-deep); }
.acc-icon { font-size: 1.7rem; line-height: 1; color: var(--muted); flex: 0 0 auto; }
.acc-head:hover .acc-icon { color: var(--mova); }
.acc-panel { display: none; padding: 0 0 1.7rem; }
.acc-item.is-open > .acc-panel { display: block; }
.acc-panel p { color: #33414f; line-height: 1.7; max-width: 66ch; }
.acc-empty { color: var(--muted); font-style: italic; }
.acc-lead { font-weight: 500; color: var(--navy); margin-bottom: .6rem; }
.member-pubs { list-style: none; margin: 0 0 1.3rem; padding: 0; display: flex; flex-direction: column; gap: .8rem; }
.member-pubs li { padding-left: 1rem; border-left: 2px solid var(--line); }
.member-pubs > li > a:first-child { color: var(--mova); font-weight: 500; }
.member-pubs a:hover { text-decoration: underline; }
.member-pub-see { font-size: .8rem; color: var(--muted); font-weight: 600; white-space: nowrap; }

/* clickable photo (team & project cards) */
.person__photolink { display: block; border-radius: 10px; }
.person__photolink .person__photo { transition: transform .2s, box-shadow .2s, border-color .2s; }
.person__photolink:hover .person__photo { transform: translateY(-3px); box-shadow: 0 16px 30px -22px rgba(20,40,70,.5); }
body.theme-mova .person__photolink:hover .person__photo { border-color: var(--mova); }
.member-links { display: flex; flex-wrap: wrap; gap: .6rem .9rem; }
.member-link { display: inline-flex; align-items: center; gap: .4rem; font-size: .85rem; font-weight: 600; color: #fff; border: 1px solid rgba(255,255,255,.4); border-radius: 999px; padding: .4rem .95rem; transition: .2s; }
.member-link:hover { background: rgba(255,255,255,.14); }
.member-link svg { width: 14px; height: 14px; }

/* ---------- projects ---------- */
.projects { display: grid; gap: 1.2rem; }
.project { display: grid; grid-template-columns: auto 1fr auto; gap: 1.6rem; align-items: start; background: var(--white); border: 1px solid var(--line); border-radius: 8px; padding: 1.6rem 1.8rem; transition: .25s; }
.project:hover { border-color: var(--cyan); }
.project__no { font-family: var(--serif); font-size: 1.6rem; color: var(--cyan); line-height: 1; }
.project h4 { font-family: var(--sans); font-weight: 600; font-size: 1.08rem; color: var(--navy); margin-bottom: .3rem; }
.project p { margin: 0; color: var(--muted); font-size: .92rem; }
.project__tag { font-size: .72rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; padding: .3rem .7rem; border-radius: 999px; white-space: nowrap; }
.tag-mova { color: var(--mova-deep); background: #fdeceb; }
.tag-rest { color: var(--rest); background: #eaf0fb; }
.tag-integra { color: var(--navy); background: #e6f5fa; }

/* ---------- project detail cards (group pages) ---------- */
.subhead { display:flex; align-items:baseline; gap:.9rem; margin: 2.6rem 0 1.2rem; }
.subhead h3 { font-size: 1.35rem; margin:0; color: var(--navy); }
.subhead .subhead__no { font-family: var(--serif); font-size: 1.05rem; color: var(--muted); }
body.theme-mova .subhead h3 { color: var(--mova-deep); }
body.theme-rest .subhead h3 { color: var(--accent-deep); }

.pcard {
  background: var(--white); border: 1px solid var(--line); border-radius: 12px;
  padding: clamp(1.5rem, 3vw, 2.2rem); position: relative; overflow: hidden;
}
.pcard + .pcard { margin-top: 1.2rem; }
.pcard::before { content:""; position:absolute; left:0; top:0; bottom:0; width:4px; }
body.theme-mova .pcard::before { background: linear-gradient(180deg, var(--mova), var(--mova-deep)); }
body.theme-rest .pcard::before { background: linear-gradient(180deg, var(--rest-soft), var(--rest)); }
.pcard__head { display:flex; flex-wrap:wrap; align-items:center; gap:.8rem; margin-bottom:.5rem; }
.pcard__head h4 { font-family: var(--sans); font-weight:600; font-size:1.12rem; color: var(--navy); margin:0; }
body.theme-mova .pcard__head h4 { color: var(--mova-deep); }
body.theme-rest .pcard__head h4 { color: var(--accent-deep); }
.pcard__badge { font-size:.68rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; padding:.28rem .6rem; border-radius:999px; }
.badge-grant { background:#e6f5fa; color: var(--navy); }
.badge-active { background:#e7f6ec; color:#1f7a44; }
.pcard p { color:#45525f; font-size:.96rem; }
.pcard p:last-child { margin-bottom:0; }
.pcard__facts { display:flex; flex-wrap:wrap; gap:1.4rem; margin-top:1rem; padding-top:1rem; border-top:1px solid var(--line); }
.fact b { display:block; font-family:var(--serif); font-size:1.15rem; color: var(--navy); line-height:1.1; }
body.theme-mova .fact b { color: var(--mova); }
body.theme-rest .fact b { color: var(--accent); }
.fact span { font-size:.78rem; color: var(--muted); }

/* nested studies inside a project */
.study-list { margin-top:1.1rem; display:grid; gap:.8rem; }
.study { display:grid; grid-template-columns:auto 1fr; gap:.9rem; align-items:start; background:var(--paper); border:1px solid var(--line); border-radius:8px; padding:1rem 1.2rem; }
.study__dot { width:10px; height:10px; border-radius:50%; margin-top:.5rem; }
body.theme-mova .study__dot { background: var(--mova); }
body.theme-rest .study__dot { background: var(--rest); }
.study h5 { font-family:var(--sans); font-weight:600; font-size:.98rem; margin:0 0 .25rem; color: var(--navy); }
.study p { margin:0; font-size:.9rem; color: var(--muted); }

/* partners */
.partner-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.partner { background:var(--white); border:1px solid var(--line); border-radius:10px; padding:1.6rem; transition:.25s; }
.partner:hover { transform:translateY(-3px); box-shadow:0 18px 36px -26px rgba(20,40,70,.35); }
.partner__logo { display:flex; align-items:center; height:46px; margin-bottom:.7rem; }
.partner__logo img { max-height:46px; max-width:78%; object-fit:contain; }
.partner h4 { font-family:var(--sans); font-weight:600; font-size:1.05rem; color:var(--navy); margin:0 0 .3rem; }
.partner .partner__loc { font-size:.8rem; color:var(--muted); letter-spacing:.02em; margin-bottom:.7rem; }
.partner p { font-size:.9rem; color:#45525f; margin:0; }

/* funders */
.funder-row { display:flex; flex-wrap:wrap; gap:.8rem; }
.funder { flex:1 1 150px; background:var(--white); border:1px solid var(--line); border-radius:10px; padding:1.1rem 1.2rem; text-align:center; transition:.2s; }
.funder:hover { border-color:var(--cyan); }
body.theme-mova .funder:hover { border-color: var(--mova); }
a.funder, a.partner { text-decoration: none; cursor: pointer; }
a.funder b::after { content: " ↗"; font-size: .7em; color: var(--cyan); font-family: var(--sans); }
a.partner h4::after { content: " ↗"; font-size: .7em; color: var(--cyan); }
.funder__logo { display:flex; align-items:center; justify-content:center; height:54px; margin-bottom:.7rem; }
.funder__logo img { max-height:54px; max-width:80%; object-fit:contain; border-radius:4px; }
.funder--logo b { font-size:.9rem; }
.funder b { display:block; font-family:var(--serif); font-size:1.1rem; color:var(--navy); }
.funder span { font-size:.76rem; color:var(--muted); }

@media (max-width:700px){ .partner-grid { grid-template-columns:1fr; } }

/* ---------- results / plots ---------- */
.plot-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; }
.plot-card { background:var(--white); border:1px solid var(--line); border-radius:12px; padding:1.4rem 1.4rem 1rem; }
.plot-card h4 { font-family:var(--sans); font-weight:600; font-size:1.02rem; color:var(--navy); margin:0 0 .15rem; }
body.theme-mova .plot-card h4 { color:var(--mova-deep); }
.plot-card p.plot-sub { font-size:.84rem; color:var(--muted); margin:0 0 .8rem; }
.plot { width:100%; height:300px; }
.data-banner { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem 1.2rem; background:#fff8e6; border:1px solid #f0e0b0; border-radius:8px; padding:.7rem 1.1rem; font-size:.86rem; color:#7a5c00; margin-bottom:1.6rem; }
.data-banner b { color:#5c4600; }
.data-updated { font-size:.82rem; color:var(--muted); }
.data-banner--soon { background:#eef6fb; border-color:#cfe6f2; color:#1f5a74; }
.data-banner--soon b { color:#123c50; }

/* ---------- interactive filter bar ---------- */
.rfilters { display:flex; flex-wrap:wrap; align-items:center; gap:.7rem 1.1rem; background:var(--white); border:1px solid var(--line); border-radius:10px; padding:.9rem 1.1rem; margin-bottom:1.6rem; }
.rfilters__hint { font-family:var(--sans); font-weight:600; font-size:.9rem; color:var(--navy); }
.rfilters__controls { display:flex; flex-wrap:wrap; align-items:center; gap:.7rem 1rem; }
.rfilter { display:inline-flex; align-items:center; gap:.45rem; font-size:.86rem; color:var(--muted); }
.rfilter__label { font-weight:600; color:var(--navy); }
.rfilter select { font-family:var(--sans); font-size:.9rem; color:var(--navy); background:#fff; border:1px solid var(--line); border-radius:8px; padding:.4rem 2rem .4rem .7rem; cursor:pointer; appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' fill='none' stroke='%23163a66' stroke-width='1.6'/></svg>"); background-repeat:no-repeat; background-position:right .6rem center; transition:.2s; }
.rfilter select:hover { border-color:var(--cyan); }
.rfilter select:focus { outline:none; border-color:var(--cyan); box-shadow:0 0 0 3px rgba(53,182,214,.18); }
.rfilter__reset { font-family:var(--sans); font-size:.82rem; font-weight:600; color:var(--muted); background:transparent; border:1px solid var(--line); border-radius:8px; padding:.4rem .8rem; cursor:pointer; transition:.2s; }
.rfilter__reset:hover { color:var(--navy); border-color:var(--navy); }
@media (max-width:820px){ .plot-grid { grid-template-columns:1fr; } }

/* ---------- schools grid ---------- */
.school-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:1rem; }
.school { background:var(--white); border:1px solid var(--line); border-radius:10px; padding:1.3rem 1.2rem; display:flex; flex-direction:column; gap:.5rem; transition:.25s; }
.school:hover { transform:translateY(-3px); box-shadow:0 16px 34px -26px rgba(20,40,70,.35); }
body.theme-mova .school:hover { border-color:var(--mova); }
.school__no { width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; font:600 .9rem/1 var(--sans); color:#fff; }
body.theme-mova .school__no { background:var(--mova); }
body.theme-rest .school__no { background:var(--rest); }
.school h4 { font-family:var(--sans); font-weight:600; font-size:.98rem; color:var(--navy); margin:0; }
.school p { font-size:.8rem; color:var(--muted); margin:0; }

/* ---------- video grid ---------- */
.video-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1.4rem; }
.video-card { background:var(--white); border:1px solid var(--line); border-radius:12px; overflow:hidden; transition:.25s; display:block; }
.video-card:hover { transform:translateY(-3px); box-shadow:0 20px 40px -28px rgba(20,40,70,.4); }
.video-thumb { aspect-ratio:16/9; position:relative; background:linear-gradient(135deg,#20364f,#0e2748); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.video-thumb iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.video-thumb .play { width:58px; height:58px; border-radius:50%; background:rgba(255,255,255,.92); display:flex; align-items:center; justify-content:center; }
.video-thumb .play svg { width:22px; height:22px; margin-left:3px; color:var(--mova); }
body.theme-mova .video-thumb .play svg { color:var(--mova); }
.video-card__body { padding:1.1rem 1.3rem; }
.video-card__body h4 { font-family:var(--sans); font-weight:600; font-size:1rem; color:var(--navy); margin:0 0 .3rem; }
.video-card__body p { font-size:.85rem; color:var(--muted); margin:0; }

/* people role sub-groups */
.role-group { margin-top:1.6rem; }
.role-group__label { font-size:.76rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin:0 0 1rem; }

/* ---------- in the media / social ---------- */
.social-card { display:flex; flex-wrap:wrap; align-items:center; gap:1.2rem 1.6rem; background:var(--white); border:1px solid var(--line); border-radius:16px; padding:1.6rem 1.8rem; }
.social-card__icon { width:56px; height:56px; flex:0 0 auto; border-radius:14px; display:flex; align-items:center; justify-content:center; color:#fff; }
body.theme-mova .social-card__icon { background:var(--mova); }
body.theme-rest .social-card__icon { background:var(--rest); }
.social-card__icon svg { width:30px; height:30px; }
.social-card__body { flex:1 1 220px; }
.social-card__body h3 { font-family:var(--sans); font-weight:600; font-size:1.1rem; color:var(--navy); margin:0 0 .15rem; }
.social-card__handle { font-size:.95rem; color:var(--muted); margin:0; }
.media-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1.4rem; margin-top:1.8rem; }
.media-card { display:flex; flex-direction:column; background:var(--white); border:1px solid var(--line); border-radius:14px; padding:1.5rem 1.6rem; transition:.25s; }
.media-card:hover { transform:translateY(-3px); box-shadow:0 18px 38px -28px rgba(20,40,70,.4); }
body.theme-mova .media-card:hover { border-color:var(--mova); }
body.theme-rest .media-card:hover { border-color:var(--rest); }
.media-card__meta { display:flex; align-items:center; gap:.5rem; font-size:.76rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-bottom:.7rem; }
.media-card__source { color:var(--navy); }
.media-card h4 { font-family:var(--sans); font-weight:600; font-size:1.04rem; line-height:1.35; color:var(--ink); margin:0 0 .5rem; }
.media-card p { font-size:.9rem; color:var(--muted); margin:0 0 1rem; line-height:1.55; }
.media-card__link { margin-top:auto; display:inline-flex; align-items:center; gap:.4rem; font-size:.85rem; font-weight:600; }
body.theme-mova .media-card__link { color:var(--mova); }
body.theme-rest .media-card__link { color:var(--rest); }
.media-card__link:hover { text-decoration:underline; }
.media-empty { background:var(--paper-2); border:1px dashed var(--line); border-radius:14px; padding:2rem; text-align:center; color:var(--muted); font-size:.92rem; }

/* ---------- CV blocks (Ricardo page) ---------- */
.proj-list { display:flex; flex-direction:column; gap:1.2rem; }
.proj { background:var(--white); border:1px solid var(--line); border-left:4px solid var(--mova); border-radius:12px; padding:1.2rem 1.4rem; }
.proj h4 { font-family:var(--sans); font-weight:600; font-size:1.05rem; color:var(--navy); margin:0 0 .3rem; }
.proj__meta { font-size:.82rem; font-weight:600; color:var(--mova-deep); margin:0 0 .5rem; }
.proj p:not(.proj__meta) { color:#33414f; font-size:.92rem; line-height:1.55; margin:0; }
.proj__tag { display:inline-block; font-size:.66rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:.22rem .6rem; border-radius:999px; margin-bottom:.5rem; }
.proj__tag--praia { background:#fdeceb; color:var(--mova-deep); }
.proj__tag--eco { background:#e1f5ee; color:#0f6e56; }
.proj__tag--coral { background:#faece7; color:#993c1d; }
.proj__tag--soon { background:#fff4d6; color:#7a5c00; }
.proj__note { color:#7a5c00 !important; font-size:.86rem !important; margin:.4rem 0 0 !important; }
.proj__link { margin:.6rem 0 0 !important; }
.proj__link a { color:var(--mova); font-weight:600; font-size:.9rem; }
.proj__link a:hover { text-decoration:underline; }
.cv-list { list-style:none; margin:.4rem 0 0; padding:0; display:flex; flex-direction:column; gap:.7rem; }
.cv-list li { padding-left:1rem; border-left:2px solid var(--line); color:#33414f; font-size:.92rem; line-height:1.5; }
.cv-role { display:inline-block; font-size:.78rem; font-weight:600; color:var(--muted); }
.cv-pubs { margin:.4rem 0 0; padding-left:1.4rem; display:flex; flex-direction:column; gap:.6rem; }
.cv-pubs li { color:#33414f; font-size:.9rem; line-height:1.5; }
.pub__inline { font-weight:600; color:var(--mova); white-space:nowrap; }
.pub__inline:hover { text-decoration:underline; }
.pub__inline--find { color:var(--muted); }
.accordion--sub { border-top:1px solid var(--line); margin-top:.5rem; }
.accordion--sub .acc-head { padding:.8rem 0; }
.accordion--sub .acc-title { font-size:1.15rem; }
.acc-count { color:var(--muted); font-weight:400; font-size:.88rem; }
.funding--slim { padding:1.2rem 1.5rem; margin-bottom:.4rem; }

/* ---------- teaching cards (member page) ---------- */
.teach-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:1rem; margin-top:1rem; }
.teach-card { display:flex; flex-direction:column; gap:.35rem; background:var(--white); border:1px solid var(--line); border-radius:12px; padding:1.2rem 1.3rem; transition:.2s; }
.teach-card:hover { transform:translateY(-3px); box-shadow:0 16px 30px -24px rgba(20,40,70,.45); border-color:var(--mova); }
.teach-card__level { font-size:.7rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--mova-deep); margin:0; }
.teach-card h4 { font-family:var(--sans); font-weight:600; font-size:1.02rem; color:var(--navy); margin:0; }
.teach-card__link { margin-top:.5rem; font-size:.82rem; font-weight:600; color:var(--mova); }

/* ---------- course (discipline) pages ---------- */
.course-meta { display:flex; flex-wrap:wrap; gap:.5rem .8rem; margin-top:1rem; }
.course-tag { font-size:.75rem; font-weight:600; letter-spacing:.05em; background:rgba(255,255,255,.16); color:#fff; border:1px solid rgba(255,255,255,.3); border-radius:999px; padding:.3rem .8rem; }

/* ---------- funding highlight (PRAIA) ---------- */
.funding { display:flex; flex-wrap:wrap; align-items:center; gap:1.3rem 2rem; background:var(--white); border:1px solid var(--line); border-left:6px solid var(--mova); border-radius:14px; padding:1.7rem 2rem; }
.funding__logo { flex:0 0 auto; display:flex; align-items:center; }
.funding__logo img { height:66px; width:auto; }
.funding__body { flex:1 1 240px; }
.funding__label { font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin:0 0 .25rem; }
.funding__name { font-family:var(--serif); font-size:1.75rem; font-weight:500; color:var(--navy); margin:0 0 .2rem; }
.funding__grant { color:var(--muted); font-size:.95rem; margin:0; }
.funding__amount { flex:0 0 auto; text-align:right; }
.funding__amount b { display:block; font-family:var(--serif); font-size:2.3rem; line-height:1; color:var(--mova-deep); }
.funding__amount span { font-size:.9rem; color:var(--muted); }
@media (max-width:640px){ .funding__amount { text-align:left; } }

/* ---------- institutional logos ---------- */
.inst-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1.2rem; margin-top:2.4rem; }
.inst { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:.9rem; background:var(--white); border:1px solid var(--line); border-radius:12px; padding:1.6rem 1.2rem; text-align:center; transition:.25s; }
.inst:hover { transform:translateY(-3px); box-shadow:0 16px 34px -26px rgba(20,40,70,.35); }
body.theme-mova .inst:hover, .inst:hover { border-color:var(--cyan); }
.inst__logo { display:flex; align-items:center; justify-content:center; height:56px; width:100%; }
.inst__logo img { max-height:56px; max-width:100%; width:auto; object-fit:contain; }
.inst__cap { font-size:.8rem; font-weight:600; color:var(--navy); }

/* ---------- coordination team ---------- */
.coord-intro { max-width:46rem; color:var(--muted); font-size:.95rem; margin:0 0 1.2rem; }
.coord-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:1.2rem; }
.coord { background:var(--white); border:1px solid var(--line); border-radius:12px; padding:1.3rem 1.4rem; border-top:3px solid var(--mova); }
.coord__area { font-size:.72rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--mova-deep); margin:0 0 .35rem; }
.coord h4 { font-family:var(--sans); font-weight:600; font-size:1rem; color:var(--navy); margin:0 0 .4rem; }
.coord p:not(.coord__area) { font-size:.86rem; color:var(--muted); margin:0; line-height:1.5; }

/* ---------- publications ---------- */
.pubs { display: grid; gap: 0; border-top: 1px solid var(--line); }
.pub { display: grid; grid-template-columns: 4.5rem 1fr; gap: 1.4rem; padding: 1.5rem 0; border-bottom: 1px solid var(--line); align-items: baseline; }
.pub__year { font-family: var(--serif); font-size: 1.15rem; color: var(--cyan); }
.pub__body p { margin: 0 0 .3rem; color: var(--ink); font-size: 1rem; }
.pub__meta { font-size: .86rem; color: var(--muted); font-style: italic; }
.pub__desc { font-size: .9rem; color: #33414f; margin: .5rem 0 0; line-height: 1.55; max-width: 60ch; }
.pub__note { font-size: .84rem; color: var(--muted); margin-top: 1.2rem; }
.pub__link { display: inline-flex; align-items: center; gap: .35rem; margin-top: .35rem; font-size: .84rem; font-weight: 600; color: var(--cyan); }
.pub__link:hover { text-decoration: underline; }
body.theme-mova .pub__link { color: var(--mova); }
body.theme-rest .pub__link { color: var(--rest); }
.pub__link svg { width: 14px; height: 14px; }
.pub__tag { display:inline-block; font-size:.68rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; padding:.2rem .5rem; border-radius:999px; background:var(--paper-2); color:var(--navy); margin-left:.5rem; }
.acro-hl { color: var(--accent, var(--cyan)); font-weight: 700; text-transform: uppercase; }

/* ---------- photo gallery ---------- */
.gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: .9rem; }
.gallery__item { position: relative; display: block; aspect-ratio: 4/3; overflow: hidden; border-radius: 10px; background: var(--paper-2); border: 1px solid var(--line); }
.gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.gallery__item:hover img { transform: scale(1.06); }
.gallery__ph { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; color: var(--muted); gap: .5rem; }
.gallery__ph svg { width: 34px; height: 34px; color: var(--cyan); }
.gallery__ph span { font-size: .8rem; }
.gallery__cap { position: absolute; left: 0; right: 0; bottom: 0; padding: .7rem .8rem; font-size: .8rem; color: #fff; background: linear-gradient(transparent, rgba(14,39,72,.82)); opacity: 0; transition: opacity .3s; }
.gallery__item:hover .gallery__cap { opacity: 1; }

/* ---------- forms ---------- */
.form-card { background:var(--white); border:1px solid var(--line); border-radius:12px; padding:clamp(1.4rem,3vw,2.2rem); }
.form-grid { display:grid; gap:1.1rem; }
.form-grid .two { display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
.field label { display:block; font-size:.84rem; font-weight:600; color:var(--navy); margin-bottom:.35rem; }
.field input, .field select, .field textarea { width:100%; box-sizing:border-box; padding:.7rem .85rem; border:1px solid var(--line); border-radius:8px; font-family:var(--sans); font-size:.95rem; background:var(--paper); color:var(--ink); }
.field textarea { min-height:88px; resize:vertical; }
.field input:focus, .field select:focus, .field textarea:focus { outline:none; border-color:var(--cyan); background:var(--white); }
.field__hint { font-size:.78rem; color:var(--muted); margin:.3rem 0 0; }
.form-hp { position:absolute; left:-9999px; }
@media (max-width:640px){ .form-grid .two { grid-template-columns:1fr; } }

/* ---------- data table (ongoing projects) ---------- */
.dtable { width:100%; border-collapse:collapse; font-size:.92rem; }
.dtable th, .dtable td { text-align:left; padding:.8rem 1rem; border-bottom:1px solid var(--line); vertical-align:top; }
.dtable thead th { font-family:var(--sans); font-weight:600; font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); background:var(--white); }
.dtable tbody tr:hover { background:var(--white); }
.dtable .tag { font-size:.68rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; padding:.2rem .55rem; border-radius:999px; }
.dtable__wrap { overflow-x:auto; border:1px solid var(--line); border-radius:10px; }
.status-open { background:#e7f6ec; color:#1f7a44; }
.status-progress { background:#fff3e0; color:#8a5a00; }
.status-done { background:var(--paper-2); color:var(--navy); }

/* numbered template steps */
.tsteps { display:grid; gap:.9rem; counter-reset:tstep; }
.tstep { display:grid; grid-template-columns:auto 1fr; gap:1rem; align-items:start; background:var(--white); border:1px solid var(--line); border-radius:10px; padding:1.1rem 1.3rem; }
.tstep__no { width:34px; height:34px; border-radius:50%; background:var(--cyan); color:#06263a; display:flex; align-items:center; justify-content:center; font:700 .95rem/1 var(--sans); }
.tstep h4 { font-family:var(--sans); font-weight:600; font-size:1rem; color:var(--navy); margin:0 0 .25rem; }
.tstep p { margin:0; font-size:.9rem; color:var(--muted); }

/* ---------- news ---------- */
.news { display: grid; grid-template-columns: repeat(auto-fill,minmax(260px,1fr)); gap: 1.4rem; }
.news-card { background: var(--white); border: 1px solid var(--line); border-radius: 8px; padding: 1.6rem; transition: .25s; }
.news-card:hover { transform: translateY(-3px); box-shadow: 0 18px 36px -26px rgba(20,40,70,.3); }
.news-card time { font-size: .78rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--cyan); }
.news-card h4 { font-family: var(--sans); font-weight: 600; font-size: 1.05rem; margin: .5rem 0 .4rem; color: var(--navy); }
.news-card p { font-size: .9rem; color: var(--muted); margin: 0; }

/* ---------- contact ---------- */
.contact { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(2rem,5vw,4rem); }
.contact__info p { color: #33414f; }
.contact__list { list-style: none; margin: 1.5rem 0 0; padding: 0; }
.contact__list li { display: flex; gap: .9rem; padding: .7rem 0; border-bottom: 1px solid var(--line); font-size: .95rem; }
.contact__list svg { width: 20px; height: 20px; color: var(--cyan); flex-shrink: 0; margin-top: .15rem; }
.contact__list b { color: var(--navy); }

/* ---------- footer ---------- */
.footer { background: var(--navy-deep); color: #b9c8d8; padding-block: 3.5rem 2rem; }
.footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 2.5rem; margin-bottom: 2.5rem; }
.footer h5 { font-family: var(--sans); font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; color: #fff; margin: 0 0 1rem; }
.footer a { color: #b9c8d8; font-size: .92rem; display: block; padding: .25rem 0; transition: .2s; }
.footer a:hover { color: var(--cyan-soft); }
.footer__brand img { height: 46px; margin-bottom: 1rem; filter: brightness(0) invert(1); opacity: .95; }
.footer__brand p { font-size: .9rem; max-width: 34ch; }
.footer__bottom { border-top: 1px solid rgba(255,255,255,.12); padding-top: 1.5rem; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem; font-size: .82rem; color: #8ea3b8; }

/* ---------- reveal animation ---------- */
[data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
[data-reveal].in { opacity: 1; transform: none; }

/* ---------- language visibility ---------- */
[data-en], [data-pt] { display: none; }
html[lang="en"] [data-en] { display: revert; }
html[lang="pt"] [data-pt] { display: revert; }
/* keep grid/flex display types correct */
html[lang="en"] [data-en].d-flex, html[lang="pt"] [data-pt].d-flex { display: flex; }

/* ---------- group page theming ---------- */
body.theme-mova { --accent: var(--mova); --accent-deep: var(--mova-deep); --accent-soft:#f7b3b0; }
body.theme-rest { --accent: var(--rest); --accent-deep: #23348a; --accent-soft: var(--rest-soft); }
.theme-mova .eyebrow, .theme-rest .eyebrow { color: var(--accent); }
.theme-mova .eyebrow::before, .theme-rest .eyebrow::before { background: var(--accent); }
.theme-mova .hero, .theme-rest .hero { background: var(--accent-deep); }
.theme-mova .hero__kicker, .theme-rest .hero__kicker { color: var(--accent-soft); }
.theme-mova .hero h1 em, .theme-rest .hero h1 em { color: var(--accent-soft); }
.theme-mova .hero::before {
  background: radial-gradient(60% 90% at 82% 10%, rgba(225,6,0,.30), transparent 60%),
              radial-gradient(50% 70% at 8% 92%, rgba(225,6,0,.15), transparent 60%);
}
.theme-rest .hero::before {
  background: radial-gradient(60% 90% at 82% 10%, rgba(86,169,224,.34), transparent 60%),
              radial-gradient(50% 70% at 8% 92%, rgba(86,169,224,.16), transparent 60%);
}
.theme-mova .btn--primary { background: var(--accent); color: #fff; }
.theme-rest .btn--primary { background: var(--accent-soft); color: #06233f; }
.theme-mova .btn--primary:hover, .theme-rest .btn--primary:hover { background:#fff; color: var(--accent-deep); }
.theme-mova h2, .theme-mova h3, .theme-mova h4.serif, .theme-rest h2, .theme-rest h3 { color: var(--accent-deep); }
.theme-mova .stat b, .theme-rest .stat b { color: var(--accent-deep); }
.theme-mova .cap:hover, .theme-mova .chip:hover, .theme-mova .project:hover { border-color: var(--accent); }
.theme-rest .cap:hover, .theme-rest .chip:hover, .theme-rest .project:hover { border-color: var(--accent); }
.theme-mova .pub__year, .theme-mova .person__initials, .theme-mova .project__no { color: var(--accent); }
.theme-rest .pub__year, .theme-rest .person__initials, .theme-rest .project__no { color: var(--accent); }
.theme-mova .nav__links a::after, .theme-rest .nav__links a::after { background: var(--accent); }
.backlink { display:inline-flex; align-items:center; gap:.5rem; font-size:.85rem; font-weight:600; color: var(--muted); margin-bottom: 1.4rem; }
.backlink:hover { color: var(--navy); }

/* ---------- responsive ---------- */
@media (max-width: 900px) {
  .split, .contact { grid-template-columns: 1fr; }
  .groups { grid-template-columns: 1fr; }
  .stats { grid-template-columns: repeat(2,1fr); }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .nav__links { position: fixed; inset: 60px 0 auto 0; background: var(--paper); flex-direction: column; align-items: flex-start; gap: 0; padding: 1rem var(--gutter) 1.5rem; border-bottom: 1px solid var(--line); transform: translateY(-120%); transition: transform .35s ease; }
  .nav__links.open { transform: none; box-shadow: 0 24px 40px -28px rgba(0,0,0,.4); }
  .nav__links li { width: 100%; border-bottom: 1px solid var(--line); }
  .nav__links a { display: block; padding: .9rem 0; }
  .nav__toggle { display: block; }
  .project { grid-template-columns: auto 1fr; }
  .project__tag { grid-column: 2; justify-self: start; }
}
@media (max-width: 520px) {
  .stats { grid-template-columns: 1fr 1fr; }
  .footer__grid { grid-template-columns: 1fr; }
  .pub { grid-template-columns: 1fr; gap: .3rem; }
}

/* avatar nos cards de coordenação (PRAIA) */
.coord__photolink { display:inline-block; line-height:0; }
.coord__photo { width:60px; height:60px; border-radius:50%; object-fit:cover; object-position:center top; margin-bottom:.7rem; border:2px solid var(--line); }

/* CORAL dashboard — filtros, nota de KPI, métodos */
.r-filters { display:flex; flex-wrap:wrap; gap:1rem 1.4rem; margin:0 0 1.6rem; }
.r-filter { display:flex; flex-direction:column; gap:.3rem; }
.r-filter__label { font-size:.72rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--mova-deep); }
.r-filter select { font:inherit; font-size:.9rem; padding:.45rem .7rem; border:1px solid var(--line); border-radius:8px; background:var(--white); color:var(--navy); cursor:pointer; min-width:160px; }
.stat__note { display:block; font-size:.74rem; color:var(--muted); margin-top:.25rem; line-height:1.35; }
.plot-empty { color:var(--muted); font-size:.9rem; padding:2.2rem 1rem; text-align:center; }
.methods-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.2rem 2rem; margin-top:1.2rem; }
.method-item h4 { font-family:var(--sans); font-weight:600; font-size:1rem; color:var(--navy); margin:0 0 .4rem; }
.method-item p { font-size:.9rem; color:#33414f; line-height:1.6; margin:0; }

/* ---------- calls & selections (selecoes.html) ---------- */
.pill-nav { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.6rem; }
.pill-nav a { display:inline-flex; align-items:center; gap:.5rem; padding:.55rem 1rem; border-radius:999px; border:1px solid rgba(255,255,255,.35); color:#fff; font:600 .88rem/1 var(--sans); text-decoration:none; transition:.2s; }
.pill-nav a:hover { background:rgba(255,255,255,.12); }
.pill-nav .count { background:rgba(255,255,255,.18); border-radius:999px; padding:.15rem .5rem; font-size:.75rem; }
.status { display:inline-block; font:600 .7rem/1 var(--sans); letter-spacing:.07em; text-transform:uppercase; padding:.35rem .7rem; border-radius:999px; vertical-align:middle; }
.call { background:var(--white); border:1px solid var(--line); border-radius:14px; padding:clamp(1.3rem,3vw,2.2rem); }
.call + .call { margin-top:1.4rem; }
.call__head { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem 1rem; margin-bottom:.4rem; }
.call__head h3 { margin:0; font-size:clamp(1.4rem,2.6vw,1.9rem); }
.call__sub { color:var(--muted); font-size:.95rem; margin:0 0 1.4rem; }
.call h4.call__h { font-family:var(--sans); font-weight:600; font-size:.78rem; letter-spacing:.09em; text-transform:uppercase; color:var(--muted); margin:1.8rem 0 .8rem; }
.facts-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:.8rem; }
.facts-row div { background:var(--paper); border:1px solid var(--line); border-radius:10px; padding:.85rem 1rem; }
.facts-row b { display:block; font-family:var(--sans); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-bottom:.3rem; font-weight:600; }
.facts-row span { font-size:.95rem; color:var(--ink); }
.doc-list { display:flex; flex-wrap:wrap; gap:.6rem; }
.doc-btn { display:inline-flex; align-items:center; gap:.55rem; padding:.6rem .95rem; border:1px solid var(--line); border-radius:9px; background:var(--white); color:var(--navy); font:600 .88rem/1.2 var(--sans); text-decoration:none; transition:.2s; }
.doc-btn:hover { border-color:var(--mova, var(--cyan)); transform:translateY(-1px); }
.doc-btn svg { width:18px; height:18px; flex:0 0 auto; color:var(--mova, var(--cyan)); }
.doc-btn small { font-size:.68rem; font-weight:600; letter-spacing:.06em; color:var(--muted); }
.tstep .doc-list { margin-top:.7rem; }
.tstep__date { display:inline-block; font:600 .74rem/1 var(--sans); letter-spacing:.06em; text-transform:uppercase; color:var(--mova, var(--cyan)); margin-bottom:.35rem; }
body.theme-mova .tstep__no { background:var(--mova); color:#fff; }
.news-article { max-width:46rem; }
.news-article time { display:block; font:600 .78rem/1 var(--sans); letter-spacing:.07em; text-transform:uppercase; color:var(--mova, var(--cyan)); margin-bottom:.7rem; }
.news-article h3 { font-size:clamp(1.5rem,3vw,2.1rem); margin-bottom:.6rem; }
.news-article .news-article__lead { font-size:1.08rem; color:var(--muted); margin:0 0 1.1rem; }
.news-article p { line-height:1.75; color:#33414f; }
.prize-list { list-style:none; padding:0; margin:0; display:grid; gap:.55rem; }
.prize-list li { display:grid; grid-template-columns:minmax(150px,220px) 1fr; gap:1rem; padding:.7rem 0; border-bottom:1px solid var(--line); font-size:.94rem; }
.prize-list li b { color:var(--navy); font-weight:600; }
@media (max-width:640px){ .prize-list li { grid-template-columns:1fr; gap:.2rem; } }
.acc-title .status { margin-left:.6rem; font-size:.62rem; }
.acc-sub { display:block; font-family:var(--sans); font-size:.86rem; color:var(--muted); margin-top:.3rem; font-weight:400; }
.soon-card { display:grid; grid-template-columns:auto 1fr; gap:1.2rem; align-items:start; background:var(--white); border:1px dashed var(--line); border-radius:14px; padding:clamp(1.3rem,3vw,2rem); }
.soon-card__icon { width:46px; height:46px; border-radius:50%; background:#fff3e0; color:#8a5a00; display:flex; align-items:center; justify-content:center; font-size:1.3rem; }
.soon-card h3 { margin:0 0 .4rem; }
html[lang="en"] .facts-row b[data-en], html[lang="pt"] .facts-row b[data-pt],
html[lang="en"] .acc-sub[data-en], html[lang="pt"] .acc-sub[data-pt] { display:block; }
.soon-card__lead { font-size:1.08rem; color:var(--ink); margin:0 0 1.2rem; max-width:62ch; }
.soon-points { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1.2rem 1.6rem; }
.soon-points h4 { font-family:var(--sans); font-weight:600; font-size:.78rem; letter-spacing:.09em; text-transform:uppercase; color:var(--mova); margin:0 0 .45rem; }
.soon-points p { font-size:.93rem; line-height:1.7; color:#33414f; margin:0; }
@media (max-width:640px){ .soon-card { grid-template-columns:1fr; } }
.pub__title { font-family:var(--serif); font-size:1.05rem !important; color:var(--navy) !important; line-height:1.35; max-width:62ch; }
/* educational materials (praia-tecnicas) */
.material { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:clamp(1.2rem,3vw,2.4rem); align-items:start; background:var(--white); border:1px solid var(--line); border-radius:14px; padding:clamp(1rem,2.5vw,1.8rem); }
.material__img img { width:100%; height:auto; border-radius:10px; border:1px solid var(--line); display:block; transition:.25s; }
.material__img:hover img { box-shadow:0 18px 36px -24px rgba(20,40,70,.45); }
.material__meta { font-size:.82rem; color:var(--muted); margin:0 0 .5rem; }
.material h3 { margin:0 0 .7rem; font-size:clamp(1.4rem,2.6vw,1.9rem); }
.material__body p { font-size:.93rem; line-height:1.7; color:#33414f; }
@media (max-width:820px){ .material { grid-template-columns:1fr; } }
/* news with image (selecoes) */
.news-article--img { max-width:none; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr); gap:clamp(1.2rem,3vw,2.4rem); align-items:start; background:var(--white); border:1px solid var(--line); border-radius:14px; padding:clamp(1.2rem,3vw,2rem); }
.news-article__img img { width:100%; height:auto; border-radius:10px; display:block; box-shadow:0 18px 36px -26px rgba(20,40,70,.45); }
@media (max-width:820px){ .news-article--img { grid-template-columns:1fr; } .news-article__img { max-width:420px; } }
