:root{--ink:#0c3048;--teal:#087a84;--blue:#1778bf;--amber:#cf8508;--violet:#9652a5;--green:#159574;--coral:#d96550;--muted:#61768a;--line:#dce6eb;--soft:#f7fafb}*{box-sizing:border-box}body{margin:0;background:white;color:var(--ink);font-family:'DM Sans',sans-serif}h1,h2,h3,.brand{font-family:Manrope,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.shell{max-width:1280px;margin:auto;padding:0 30px}.top{border-bottom:1px solid #e9eff2;position:sticky;top:0;background:#fffffff2;backdrop-filter:blur(10px);z-index:10}.header{min-height:95px;display:flex;justify-content:space-between;align-items:center;gap:25px}.brand strong{display:block;font-size:31px;font-weight:600;letter-spacing:-1.6px}.brand span{color:var(--teal);font-weight:800}.brand small{font-size:12px;color:var(--muted)}nav{display:flex;align-items:center;gap:12px}nav a{padding:12px 15px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:12px;border-bottom:3px solid transparent;white-space:nowrap}nav a.active{border-color:var(--teal)}nav .spiem{border-left:1px solid var(--line);margin-left:12px;flex-direction:row;font-size:15px;gap:8px}svg.ico{height:24px;width:24px;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;fill:none}.teal{color:var(--teal)}.blue{color:var(--blue)}.amber{color:var(--amber)}.violet{color:var(--violet)}.green{color:var(--green)}.coral{color:var(--coral)}.hero{padding:65px 0 42px;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}.eyebrow{font-size:13px;letter-spacing:1.5px;font-weight:700;color:#8495a4;text-transform:uppercase}.hero h1{font-size:clamp(32px,3.5vw,48px);line-height:1.2;letter-spacing:-1.6px;margin:12px 0}.lead{font-size:18px;line-height:1.65;color:#526b80;max-width:650px}.heroart{border-radius:38% 62% 44% 56%/51% 37% 63% 49%;height:280px;overflow:hidden;background:linear-gradient(135deg,#e4f4f5,#bedde8);display:grid;place-items:center}.heroart .visual{width:100%;height:100%;display:grid;place-items:center;background:radial-gradient(circle at 65% 25%,#c0e4ed,transparent 55%),linear-gradient(120deg,#d3e9ec,#eef4f5)}.heroart svg{width:150px;height:150px;color:var(--teal);opacity:.75}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.btn{border:1px solid #ccd9e1;border-radius:8px;background:white;color:var(--ink);padding:12px 19px;display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-weight:600}.btn.primary{background:var(--teal);color:white;border-color:var(--teal)}.btn svg.ico{height:19px;width:19px}.stats{border:1px solid var(--line);border-radius:12px;display:grid;grid-template-columns:repeat(4,1fr);padding:19px 8px;margin-bottom:45px}.stat{padding:8px 24px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat b{display:block;font-size:23px}.stat small{color:var(--muted);font-size:12px}.stat .ico{width:27px;height:27px;margin-bottom:8px}.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:15px;margin:20px 0}.sectionhead h2{font-size:28px;margin:7px 0;letter-spacing:-.6px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.edition{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 4px 14px #123b4b09}.cover{height:135px;background:linear-gradient(135deg,#c9e7e8,#e6f1f4);display:flex;align-items:center;justify-content:center}.cover svg.ico{width:65px;height:65px;color:var(--teal);opacity:.8}.editionbody{padding:18px}.edition h3{font-size:26px;color:var(--teal);margin:0 0 8px}.edition p{margin:8px 0 18px}.meta{display:flex;align-items:center;gap:7px;color:#546d7e;font-size:14px}.meta .ico{width:17px;height:17px}.cardbottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:15px;gap:8px}.link{color:var(--teal);font-weight:700;display:inline-flex;align-items:center;gap:6px}.link .ico{width:20px;height:20px}.intro{max-width:900px;padding:30px 0}.intro p{font-size:17px;line-height:1.85;color:#4e6679;text-align:justify}.panel{border:1px solid var(--line);border-radius:13px;padding:23px;background:white}.note{background:var(--soft);padding:17px 20px;border-radius:10px;border-left:3px solid var(--teal);color:#4e6679;line-height:1.65}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 23px}.toolbar input,.toolbar select{padding:12px;border:1px solid #cbd9e0;border-radius:8px;background:white;min-width:155px;color:var(--ink)}.toolbar input{flex:2;min-width:250px}.toolbar select{flex:1}.results{display:grid;gap:12px}.result{border:1px solid var(--line);border-radius:10px;padding:20px;transition:border-color .2s}.result:hover{border-color:#8fb9c0}.result h3{font-size:17px;margin:6px 0 9px;line-height:1.5}.result .authors{color:#4c677c;font-size:14px;line-height:1.6}.chips{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.chip{font-size:12px;border-radius:20px;padding:4px 10px;background:#eaf4f5;color:#0c6770}.chip.alt{background:#edf1f7;color:#45607a}.resultfooter{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:12px;flex-wrap:wrap}.muted{color:var(--muted)}.detail{max-width:920px;margin:30px auto 60px}.detail h1{font-size:clamp(24px,3vw,36px);line-height:1.3}.detail dt{font-weight:700;margin-top:20px}.detail dd{margin:7px 0 0;color:#476174;line-height:1.8;white-space:pre-line}.detail .abstract{text-align:justify}.back{display:inline-flex;align-items:center;gap:7px;color:var(--teal);font-weight:700}.count{font-size:14px;color:var(--muted)}footer{border-top:1px solid var(--line);margin-top:70px;padding:30px 0;color:#526a7c;font-size:13px}.footer{display:flex;justify-content:space-between;gap:30px}.footer p{margin:5px 0}footer a{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e2ad51;outline-offset:2px}@media(max-width:800px){.header{flex-direction:column;padding-top:15px;gap:8px}.hero{grid-template-columns:1fr;padding-top:30px}.heroart{height:160px}.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.cards{grid-template-columns:1fr}.footer{flex-direction:column}nav a{padding:9px;font-size:11px}nav .spiem{margin-left:0}.shell{padding:0 18px}}@media(max-width:450px){.brand strong{font-size:27px}nav{gap:0}nav a{padding:8px 7px}nav .spiem{font-size:12px}.hero h1{font-size:30px}.stat{padding:10px}.sectionhead h2{font-size:23px}}
/* Fotografias incorporadas localmente para Cloudflare Pages */
.heroart{position:relative;background:#e5eff2}
.heroart img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.cover{overflow:hidden;background:#e7eff2}
.cover img{display:block;width:100%;height:100%;object-fit:cover}
.previewhead{margin-top:36px}


.expand-record{margin-top:16px;border-top:1px solid #dce7eb;padding-top:12px}
.expand-record summary{cursor:pointer;color:#087883;font-weight:700;display:list-item;padding:7px 0}
.expand-record summary .ico{vertical-align:middle}
.tag-fields{display:grid;gap:20px;padding:16px 0 8px}
.tag-fields>div>strong{display:block;margin-bottom:10px;font-size:13px;color:#304e61}
.person-tags{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 12px}
.chip{display:inline-flex;align-items:center;max-width:100%;white-space:normal}
.chip.author-tag{background:#e8f5f2;color:#087365;font-weight:700}
.chip.degree-tag{background:#f1eafb;color:#77439e}
.chip.institution-tag{background:#e8f0fc;color:#295e9b}
.chip.country-tag{background:#fff0e4;color:#a75a26}
.chip.keyword-tag{background:#f3ebf8;color:#72428a}
.abstract-text{background:#f7fafb;border-left:3px solid #91c5c7;padding:14px 16px;border-radius:4px;line-height:1.75;text-align:justify;margin:0}
.missing{color:#718496;font-size:13px;font-style:italic}

/* Revisão editorial: fotografia documental e metadados concisos */
.heroart{border-radius:18px;height:305px;background:#eef2f3}
.heroart img{object-fit:cover;object-position:center}
.photo-credit{display:block;margin-top:8px;color:#687d8b;font-size:11px}
.photo-credit a{text-decoration:underline}
.resultfooter{border-top:1px solid var(--line);padding-top:13px}
.expand-record summary{font-size:14px}
.tag-fields{gap:16px}
.person-tags{margin:5px 0 10px}
@media(max-width:800px){.heroart{height:220px}}

/* Página inicial: composição fiel ao protótipo aprovado */
.hero{grid-template-columns:1.05fr 1fr;gap:36px;padding:31px 0 26px;min-height:245px}
.hero h1{font-size:clamp(30px,3.1vw,42px);line-height:1.17;margin:6px 0 10px;letter-spacing:-1.4px}
.hero .lead{font-size:15px;line-height:1.5;max-width:570px;margin:0}
.hero .actions{margin-top:15px}
.hero .btn{padding:9px 15px;font-size:13px}
.heroart{height:224px;overflow:visible;border-radius:0;background:transparent;position:relative;isolation:isolate}
.heroart img{width:94%;height:79%;position:absolute;left:4%;top:9%;object-fit:cover;object-position:center;clip-path:polygon(3% 20%,10% 8%,26% 1%,43% 3%,57% 15%,69% 25%,88% 25%,98% 40%,100% 64%,93% 84%,72% 93%,54% 91%,35% 100%,15% 92%,3% 78%,0 57%);border-radius:35%;z-index:1}
.hero-blob{position:absolute;display:block;background:#e9eff2;opacity:.78;z-index:0}
.blob-one{left:0;top:31%;width:38%;height:56%;border-radius:55% 45% 60% 40%;transform:rotate(-12deg)}
.blob-two{right:0;top:12%;width:48%;height:76%;border-radius:45% 55% 44% 56%;transform:rotate(16deg)}
.heroart .photo-credit{position:absolute;right:8px;bottom:-8px;font-size:9px;color:#667d8b;z-index:2}
.stats{grid-template-columns:repeat(8,minmax(0,1fr));padding:11px 6px;margin-bottom:35px}
.stat{padding:7px 13px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.stat .ico{width:23px;height:23px;margin-bottom:1px}
.stat strong{font-size:11px;font-weight:700}
.stat b{font-size:15px;line-height:1.1}
.stat small{font-size:10px;line-height:1.4}
@media(max-width:980px){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.stat:nth-child(4){border-right:0}.stat:nth-child(-n+4){border-bottom:1px solid var(--line)}}
@media(max-width:800px){.hero{grid-template-columns:1fr}.heroart{height:225px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(2n){border-right:0}.stat:nth-child(-n+6){border-bottom:1px solid var(--line)}}

/* Cards do catálogo: 3 colunas em desktop, 2 tablet, 1 mobile */
.results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.result{display:flex;flex-direction:column;min-width:0;padding:20px;border-radius:12px}
.result h3{font-size:16px;line-height:1.45;overflow-wrap:anywhere}
.result .authors{margin-bottom:12px}
.result .expand-record{margin-top:auto;padding-top:14px}
.result .expand-record summary{font-size:14px}
.result .abstract-text{font-size:14px;line-height:1.7;margin-top:12px;text-align:left;overflow-wrap:anywhere}
.result .resultfooter{margin-top:15px;display:flex;justify-content:flex-end}
.result .resultfooter .btn{font-size:13px;padding:10px 13px}
@media(max-width:1000px){.results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.results{grid-template-columns:1fr}}

/* Metadados visíveis, resumo com prévia de duas linhas */
.result .card-authors{display:grid;gap:2px;margin:4px 0 8px}
.result .person-tags{display:flex;gap:5px;flex-wrap:wrap;margin:0 0 5px}
.result .person-tags .chip{font-size:11px;padding:4px 8px;overflow-wrap:anywhere}
.result .card-keywords{display:flex;flex-wrap:wrap;gap:5px;margin:3px 0 12px}
.result .card-keywords .chip{font-size:11px;padding:4px 8px}
.result .expand-record{margin-top:auto}
.result .expand-record summary{list-style:none;cursor:pointer}
.result .expand-record summary::-webkit-details-marker{display:none}
.result .expand-record .summary-label{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:700;color:var(--teal)}
.result .expand-record .summary-label .ico{height:17px;width:17px}
.result .summary-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;color:#516c7d;font-size:13px;line-height:1.55;font-weight:400;margin-top:9px;text-align:left}
.result details[open] .summary-preview{display:none}
.result details[open] .abstract-text{margin-top:10px}

/* Cards independentes: a abertura de um resumo não estica os vizinhos. */
.results{align-items:start!important;grid-auto-flow:row;}
.results>.result{align-self:start!important;height:auto!important;min-height:0!important;}
.result{display:flex;flex-direction:column;}
.result .expand-record{margin-top:16px!important;}
.result h3,.result .abstract-text,.result .summary-preview{text-align:justify!important;text-justify:inter-word;hyphens:auto;}
.result .authors,.result .card-authors,.result .person-tags,.result .card-keywords,.result .chips{text-align:left;}
.result .summary-preview{-webkit-line-clamp:2;line-clamp:2;}

/* Ajuste editorial: cartões mais compactos, sem espaços vazios forçados */
@media (min-width:1100px){
  .shell{max-width:1440px;padding-left:24px;padding-right:24px}
  .results{gap:15px}
}
.results{align-items:start;row-gap:16px;column-gap:16px}
.results>.result{padding:16px 17px;border-radius:11px;align-self:start}
.result h3{font-size:15px;line-height:1.4;margin:5px 0 9px;letter-spacing:-.12px}
.result>.chips:first-child{margin:0 0 8px;gap:5px}
.result .chip{font-size:11px;padding:3px 8px}
.result .card-authors{gap:1px;margin:2px 0 6px}
.result .person-tags{gap:4px;margin:0 0 4px}
.result .person-tags .chip,.result .card-keywords .chip{font-size:10.5px;padding:3px 7px;line-height:1.3}
.result .card-keywords{gap:4px;margin:3px 0 6px}
.result .expand-record{margin-top:9px!important;padding-top:9px}
.result .expand-record summary{padding:3px 0}
.result .summary-preview{margin-top:6px;line-height:1.5;font-size:12.5px}
.result .abstract-text{padding:11px 12px;font-size:13px;line-height:1.65}
.result .resultfooter{margin-top:10px;padding-top:9px}
.result .resultfooter .btn{font-size:12px;padding:8px 11px}
@media (max-width:1099px) and (min-width:641px){.shell{padding-left:22px;padding-right:22px}}
@media (max-width:640px){.results>.result{padding:16px}.result h3{font-size:16px}}

.edition .cover{height:168px;min-height:168px;overflow:hidden;background:#edf4f6}
.edition .cover img{display:block;width:100%;height:100%;object-fit:cover}
.group-meta{font-size:12px;color:#356a76;display:flex;align-items:flex-start;gap:6px;line-height:1.45;margin:8px 0}.group-meta .ico{flex:none;width:16px;height:16px}
.toolbar{display:flex;flex-wrap:wrap;gap:10px}.toolbar #group{min-width:220px;flex:1}
