/* ============================================================
   Prêmios do IEV — folha de estilo da seção
   Reproduz o sistema visual do Portal do IEV (cf. /diretorias/)
   ============================================================ */

:root{
  --paper:#eef1f5; --surface:#ffffff; --ink:#1f2b37; --ink-soft:#46566a;
  --muted:#6b7a89; --line:#dde3ea; --accent:#1e73be; --accent-soft:#e7f0f9;
  --brass:#f4a32a; --current:#3f7d57;
  --radius:14px; --maxw:1080px;
  --shadow:0 1px 2px rgba(16,32,48,.04), 0 6px 24px rgba(16,32,48,.06);
  --serif:"Fraunces", Georgia, "Times New Roman", serif;
  --sans:"Archivo", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}
:root[data-theme="dark"]{
  --paper:#0e151c; --surface:#161f28; --ink:#e8eef4; --ink-soft:#aebac7;
  --muted:#8496a6; --line:#273441; --accent:#4b9fe6; --accent-soft:#15293c;
  --brass:#f6b44e; --current:#69b58a;
  --shadow:0 1px 2px rgba(0,0,0,.3), 0 10px 30px rgba(0,0,0,.35);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#0e151c; --surface:#161f28; --ink:#e8eef4; --ink-soft:#aebac7;
    --muted:#8496a6; --line:#273441; --accent:#4b9fe6; --accent-soft:#15293c;
    --brass:#f6b44e; --current:#69b58a;
    --shadow:0 1px 2px rgba(0,0,0,.3), 0 10px 30px rgba(0,0,0,.35);
  }
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--sans); line-height:1.62;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
a{color:var(--accent); text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%}
.wrap{width:100%; max-width:var(--maxw); margin:0 auto; padding:0 22px}

/* ---------- Topbar ---------- */
.topbar{
  position:sticky; top:0; z-index:40;
  background:color-mix(in srgb, var(--surface) 82%, transparent);
  backdrop-filter:saturate(140%) blur(10px);
  -webkit-backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--line);
}
.topbar__in{display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:64px}
.brand{display:flex; align-items:center; gap:12px; color:inherit}
.brand:hover{text-decoration:none}
.brand img{height:38px; width:auto; display:block}
.brand__txt{display:flex; flex-direction:column; line-height:1.15}
.brand__txt b{font-size:.82rem; letter-spacing:.2px}
.brand__txt{font-size:.78rem; color:var(--muted)}
.topbar__actions{display:flex; align-items:center; gap:10px}
.portal-link{
  font-size:.82rem; color:var(--ink-soft); border:1px solid var(--line);
  padding:7px 13px; border-radius:999px; background:var(--surface);
}
.portal-link:hover{border-color:var(--accent); color:var(--accent); text-decoration:none}
.theme-btn{
  font:inherit; font-size:.82rem; cursor:pointer; color:var(--ink-soft);
  border:1px solid var(--line); background:var(--surface);
  padding:7px 13px; border-radius:999px;
}
.theme-btn:hover{border-color:var(--brass); color:var(--ink)}

/* ---------- Hero ---------- */
.hero{padding:54px 0 30px}
.hero__kick{margin:0 0 14px; font-size:.8rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); font-weight:600}
.hero__rule{height:3px; width:56px; background:linear-gradient(90deg,var(--brass),var(--accent)); border-radius:3px; margin-bottom:20px}
.hero h1{
  font-family:var(--serif); font-weight:600; font-optical-sizing:auto;
  font-size:clamp(2rem, 4.6vw, 3.1rem); line-height:1.08; margin:0 0 6px; letter-spacing:-.01em;
}
.hero h1 .yr{display:block; color:var(--brass); font-size:.52em; font-weight:500; margin-top:10px; letter-spacing:.02em}
.hero h1 .patron{display:block; color:var(--muted); font-style:italic; font-size:.5em; font-weight:400; margin-top:8px}
.hero__sub{margin:14px 0 0; color:var(--ink-soft); font-weight:600}
.hero__lede{margin:16px 0 0; max-width:68ch; color:var(--ink-soft); font-size:1.02rem}
.patron-profile{display:grid;grid-template-columns:82px 1fr;gap:16px;align-items:center;width:min(100%,470px);margin-top:24px;padding:13px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:inherit;box-shadow:var(--shadow)}
.patron-profile:hover{border-color:var(--accent);text-decoration:none}
.patron-profile img{width:82px;height:102px;display:block;object-fit:cover;object-position:center top;border-radius:8px;filter:grayscale(1) sepia(.12)}
.patron-profile small,.patron-profile strong,.patron-profile span{display:block}
.patron-profile small{color:var(--brass);font-size:.68rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.patron-profile strong{margin:2px 0;font-family:var(--serif);font-size:1.08rem}
.patron-profile span{color:var(--muted);font-size:.8rem}

/* ---------- Stats strip ---------- */
.stats{display:flex; flex-wrap:wrap; gap:14px; margin-top:28px}
.stat{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
  padding:14px 18px; box-shadow:var(--shadow); min-width:120px;
}
.stat b{display:block; font-family:var(--serif); font-size:1.7rem; line-height:1; color:var(--accent)}
.stat span{font-size:.78rem; color:var(--muted); letter-spacing:.03em; text-transform:uppercase}

/* ---------- Blocks / prose ---------- */
.block{padding:30px 0}
.block + .block{border-top:1px solid var(--line)}
.eyebrow{font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--brass); font-weight:700; margin:0 0 8px}
.block h2{font-family:var(--serif); font-weight:600; font-size:clamp(1.4rem,2.6vw,1.9rem); margin:0 0 14px; letter-spacing:-.01em}
.prose{max-width:72ch; color:var(--ink-soft)}
.prose p{margin:0 0 14px}
.prose strong{color:var(--ink)}
.biography{scroll-margin-top:84px}
.biography__intro{display:grid;grid-template-columns:minmax(250px,.75fr) 1.25fr;gap:54px;align-items:end}
.biography__aka{margin:0;color:var(--muted);font:.95rem/1.5 var(--serif);font-style:italic}
.biography__lead{margin:0;color:var(--ink);font:500 clamp(1.2rem,2.4vw,1.55rem)/1.5 var(--serif)}
.bio-facts{display:grid;grid-template-columns:repeat(3,1fr);margin:30px 0 36px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}
.bio-facts div{padding:17px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.bio-facts div:nth-child(3n){border-right:0}.bio-facts div:nth-last-child(-n+3){border-bottom:0}
.bio-facts dt{margin-bottom:4px;color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.bio-facts dd{margin:0;color:var(--ink);font-size:.9rem;font-weight:600}
.biography__body{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;max-width:none;align-items:start}
.bio-highlight{padding:22px 24px;border-left:4px solid var(--brass);border-radius:0 var(--radius) var(--radius) 0;background:var(--accent-soft)}
.bio-highlight span,.founder-record>span{color:var(--brass);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.bio-highlight blockquote{margin:8px 0 0;color:var(--ink);font:500 1.08rem/1.55 var(--serif)}
.iev-legacy{display:grid;grid-template-columns:1.35fr .65fr;gap:52px;align-items:start}
.iev-legacy>div>p:not(.eyebrow){color:var(--ink-soft)}
.founder-record{padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}
.founder-record strong{display:block;margin:8px 0 10px;font:600 1.2rem/1.3 var(--serif)}
.founder-record p{margin:0 0 18px;color:var(--muted);font-size:.85rem}
.founder-record a{display:inline-flex;padding:9px 14px;border-radius:999px;background:var(--accent);color:#fff;font-size:.8rem;font-weight:700}
.founder-record a:hover{color:#fff;text-decoration:none;transform:translateY(-2px)}
.local-legacy .prose{columns:2;column-gap:48px;max-width:none}.local-legacy .prose p{break-inside:avoid}
.section-intro{max-width:72ch;color:var(--ink-soft);margin:0 0 20px}
.archive-callout{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;padding:26px 28px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,var(--surface),var(--accent-soft));box-shadow:var(--shadow)}
.archive-callout h2{margin-bottom:8px}.archive-callout p:last-child{max-width:68ch;margin:0;color:var(--ink-soft)}
.archive-callout__link,.download-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;background:var(--accent);color:#fff;font-weight:700;white-space:nowrap}
.archive-callout__link{padding:11px 18px}.archive-callout__link:hover,.download-link:hover{color:#fff;text-decoration:none;transform:translateY(-2px)}
.archive-tools{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 28px}.filter-btn{border:1px solid var(--line);border-radius:999px;padding:8px 15px;background:var(--surface);color:var(--ink-soft);font:600 .82rem var(--sans);cursor:pointer}.filter-btn:hover,.filter-btn:focus-visible{border-color:var(--accent);color:var(--accent)}.filter-btn[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.document-list{display:grid;gap:14px}.document-card{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:22px;align-items:center;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);transition:transform .18s ease,border-color .18s ease}.document-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}.document-card[hidden]{display:none}.document-card__source{display:flex;align-items:center;align-self:stretch;padding:12px 14px;border-radius:10px;background:var(--accent-soft);font:600 .86rem/1.35 var(--serif);color:var(--accent)}.document-card__type{display:block;margin-bottom:5px;color:var(--brass);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.document-card h3{margin:0 0 7px;font:600 1.2rem/1.25 var(--serif)}.document-card p{margin:0;color:var(--ink-soft);font-size:.9rem}.document-card__format{display:block;margin-top:10px;color:var(--muted);font-size:.75rem}.download-link{padding:10px 16px;transition:transform .18s ease}.archive-empty{padding:32px;border:1px dashed var(--line);border-radius:var(--radius);text-align:center;color:var(--muted)}
.document-card__source{flex-direction:column;justify-content:center;align-items:flex-start}.document-card__reference{display:block;margin-bottom:5px;color:var(--brass);font:700 .7rem/1 var(--sans);letter-spacing:.09em;text-transform:uppercase}

/* ---------- Historical overview ---------- */
.milestones{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(7,1fr);position:relative}
.milestones::before{content:"";position:absolute;top:27px;left:3%;right:3%;height:2px;background:var(--line)}
.milestones li{position:relative;padding:0 12px;text-align:center}
.milestones b{display:grid;place-items:center;position:relative;z-index:1;width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:var(--surface);border:2px solid var(--brass);font-family:var(--serif);color:var(--ink);box-shadow:var(--shadow)}
.milestones span{display:block;color:var(--ink-soft);font-size:.8rem;line-height:1.5}
.new-awards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.new-awards article{padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}
.new-awards article:nth-child(2){transform:translateY(14px)}
.new-awards span{color:var(--brass);font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.new-awards h3{font-family:var(--serif);font-size:1.18rem;line-height:1.25;margin:7px 0 10px}
.new-awards p{margin:0;color:var(--ink-soft);font-size:.9rem}
.result-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:24px}
.result-group{position:relative;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}
.result-group::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(var(--brass),var(--accent))}
.result-group--wide{grid-column:1/-1}
.result-group__kind{color:var(--brass);font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.result-group h3{font-family:var(--serif);font-size:1.18rem;line-height:1.25;margin:5px 0 16px}
.result-group ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.result-group__columns{grid-template-columns:repeat(2,1fr);column-gap:28px!important}
.result-group li{padding-top:10px;border-top:1px solid var(--line);line-height:1.4}
.result-group strong,.result-group small{display:block}
.result-group strong{font-size:.9rem;color:var(--ink)}
.result-group small{margin-top:3px;color:var(--muted);font-size:.78rem;line-height:1.45}
.result-source{margin:18px 0 0;color:var(--muted);font-size:.82rem}
.artifact-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr;grid-template-rows:auto auto;gap:14px}
.artifact{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}
.artifact--wide{grid-column:span 2}
.artifact img{width:100%;height:230px;display:block;object-fit:cover;background:#ddd}
.artifact:last-child{grid-column:3;grid-row:1/span 2}
.artifact:last-child img{height:535px;object-position:center top}
.artifact figcaption{padding:12px 14px;color:var(--muted);font-size:.78rem;line-height:1.45}
.audit{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:start}
.audit p{color:var(--ink-soft)}
.checklist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.checklist div{display:grid;grid-template-columns:180px 1fr;gap:18px;padding:13px 0;border-bottom:1px solid var(--line)}
.checklist dt{font-size:.88rem;font-weight:700;color:var(--ink)}
.checklist dd{margin:0;font-size:.86rem;color:var(--ink-soft)}
.checklist li{display:grid;grid-template-columns:180px 1fr;gap:18px;padding:13px 0;border-bottom:1px solid var(--line)}
.checklist b{font-size:.88rem;color:var(--ink)}
.checklist span{font-size:.86rem;color:var(--ink-soft)}

/* ---------- Award grid (index) ---------- */
.awards{display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:8px}
.award{
  display:flex; flex-direction:column; gap:8px; position:relative;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
  padding:22px 22px 20px; box-shadow:var(--shadow); color:inherit;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.award:hover{transform:translateY(-3px); border-color:var(--accent); text-decoration:none; box-shadow:0 10px 30px rgba(16,32,48,.12)}
.award::before{content:""; position:absolute; left:0; top:18px; bottom:18px; width:4px; border-radius:4px; background:var(--brass)}
.award .kind{font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); font-weight:700}
.award h3{font-family:var(--serif); font-weight:600; font-size:1.22rem; margin:2px 0 2px; line-height:1.2}
.award .patron{color:var(--muted); font-style:italic; font-size:.92rem}
.award .member-note{color:var(--brass);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.award .desc{color:var(--ink-soft); font-size:.92rem; margin-top:2px}
.award .meta{margin-top:auto; display:flex; gap:14px; padding-top:12px; font-size:.8rem; color:var(--muted)}
.award .meta .go{color:var(--accent); font-weight:600; margin-left:auto}

/* ---------- Timeline of laureates ---------- */
.tl{position:relative; margin:6px 0 0; padding-left:26px}
.tl::before{content:""; position:absolute; left:7px; top:6px; bottom:6px; width:2px; background:var(--line)}
.tl__item{position:relative; padding:0 0 22px}
.tl__item:last-child{padding-bottom:0}
.tl__item::before{
  content:""; position:absolute; left:-23px; top:6px; width:12px; height:12px; border-radius:50%;
  background:var(--surface); border:2px solid var(--accent); box-shadow:0 0 0 3px var(--paper);
}
.tl__item.is-vacant::before{border-color:var(--muted)}
.tl__yr{font-family:var(--serif); font-weight:600; font-size:1.08rem; color:var(--accent); display:inline-block}
.tl__body{margin-top:4px}
.tl__body p{margin:0 0 6px}
.tl__name{color:var(--ink); font-weight:600}
.tl__note{color:var(--ink-soft)}
.tl__cat{color:var(--brass); font-weight:700; font-size:.82rem; letter-spacing:.03em}
.tl__honor{color:var(--muted); font-size:.9rem; font-style:italic}
.tl__item.is-vacant .tl__body{color:var(--muted); font-style:italic}

/* category sub-list inside a year */
.cats{list-style:none; margin:6px 0 0; padding:0; display:grid; gap:8px}
.cats li{padding-left:14px; border-left:2px solid var(--line)}

/* ---------- Members grid (Medalhas de Mérito) ---------- */
.members{columns:3 200px; column-gap:26px; margin-top:10px}
.members li{break-inside:avoid; margin:0 0 7px; list-style:none; color:var(--ink-soft)}
.members{padding:0}
.members li::marker{content:""}

/* ---------- Footer ---------- */
.foot{border-top:1px solid var(--line); background:var(--surface); margin-top:20px}
.foot .wrap{padding-top:30px; padding-bottom:40px}
.foot h4{font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin:0 0 10px}
.foot p, .foot li{color:var(--muted); font-size:.86rem}
.foot ul{margin:0; padding-left:18px}
.foot h4,.foot ul{display:none}
.foot .sign{margin-top:18px; color:var(--ink-soft); font-size:.86rem}

/* ---------- Responsive ---------- */
@media (max-width:820px){
  .awards{grid-template-columns:1fr}
  .hero{padding:40px 0 24px}
  .members{columns:2 160px}
  .milestones{grid-template-columns:repeat(2,1fr);gap:18px}
  .milestones::before{display:none}
  .new-awards{grid-template-columns:1fr}
  .result-groups{grid-template-columns:1fr}
  .result-group--wide{grid-column:auto}
  .new-awards article:nth-child(2){transform:none}
  .audit{grid-template-columns:1fr;gap:16px}
  .archive-callout{grid-template-columns:1fr;gap:18px}.archive-callout__link{justify-self:start}
  .biography__intro,.biography__body,.iev-legacy{grid-template-columns:1fr;gap:24px}
  .bio-facts{grid-template-columns:repeat(2,1fr)}
  .bio-facts div:nth-child(3n){border-right:1px solid var(--line)}.bio-facts div:nth-child(2n){border-right:0}.bio-facts div:nth-last-child(-n+3){border-bottom:1px solid var(--line)}.bio-facts div:nth-last-child(-n+2){border-bottom:0}
}
@media (max-width:520px){
  .brand__txt b{font-size:.78rem}
  .portal-link{padding:6px 10px}
  .members{columns:1}
  .wrap{padding:0 16px}
  .milestones{grid-template-columns:1fr}
  .result-group__columns{grid-template-columns:1fr}
  .milestones li{display:grid;grid-template-columns:56px 1fr;gap:14px;text-align:left;padding:0}
  .milestones b{margin:0}
  .artifact-grid{grid-template-columns:1fr;grid-template-rows:auto}
  .artifact--wide,.artifact:last-child{grid-column:auto;grid-row:auto}
  .artifact img,.artifact:last-child img{height:240px}
  .checklist li,.checklist div{grid-template-columns:1fr;gap:3px}
  .document-card{grid-template-columns:1fr;gap:15px}.document-card__source{min-height:auto}.download-link{justify-self:start}
  .bio-facts{grid-template-columns:1fr}.bio-facts div,.bio-facts div:nth-child(3n),.bio-facts div:nth-child(2n),.bio-facts div:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--line)}.bio-facts div:last-child{border-bottom:0}
  .local-legacy .prose{columns:1}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none !important; scroll-behavior:auto !important}
}
