:root{--navy:#172c3d;--ink:#253442;--paper:#f7f3eb;--cream:#fffdf8;--gold:#bd8c43;--muted:#6e777d;--line:#e5ded2;--green:#486b58}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,'Times New Roman',serif;line-height:1.55}
a{color:inherit}.topbar{background:var(--navy);color:#fff;padding:10px 5%;font:12px Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
header{padding:25px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);background:var(--cream)}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none}.mark{width:46px;height:46px;border:1px solid var(--gold);color:var(--gold);display:grid;place-items:center;font-size:27px}.brand strong{display:block;font-size:23px;letter-spacing:.02em;color:var(--navy)}.brand small{font:11px Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
nav{display:flex;gap:24px;flex-wrap:wrap;font:14px Arial,sans-serif}nav a{text-decoration:none}nav a:hover{color:var(--gold)}
.hero{padding:76px 5% 70px;background:var(--navy);color:#fff;position:relative;overflow:hidden}.hero:after{content:"❧";position:absolute;right:5%;top:-80px;font-size:340px;color:#ffffff0b;transform:rotate(-20deg)}
.eyebrow{font:12px Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#d7b77e}.hero h1{font-size:clamp(38px,5.5vw,68px);font-weight:normal;line-height:1.06;max-width:760px;margin:17px 0}.hero p{max-width:600px;color:#dce2e5;font-size:18px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;position:relative;z-index:1}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 19px;border:1px solid var(--gold);background:var(--gold);color:#172c3d;text-decoration:none;font: bold 13px Arial,sans-serif;letter-spacing:.02em;cursor:pointer;border-radius:2px}.btn.secondary{background:transparent;color:white;border-color:#87949c}.btn:hover{filter:brightness(1.06)}
.wrap{max-width:1180px;margin:auto;padding:0 5%}.intro{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;padding-top:52px;padding-bottom:40px;align-items:center}.intro h2,.section-head h2{font-size:34px;font-weight:normal;line-height:1.15;margin:8px 0 12px;color:var(--navy)}.intro p{color:#58646c;margin:0}.note{border-left:3px solid var(--gold);padding:14px 18px;background:#eee7da;font-size:14px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:26px 0 20px}.section-head h2{margin:5px 0}.section-head p{margin:0;color:var(--muted);font:14px Arial,sans-serif}.tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.tools input,.tools select{background:var(--cream);border:1px solid var(--line);padding:13px 14px;font:14px Arial,sans-serif;color:var(--ink);border-radius:2px}.tools input{flex:1;min-width:220px}.tools select{min-width:180px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:58px}.doc{background:var(--cream);border:1px solid var(--line);padding:23px;display:flex;flex-direction:column;min-height:310px;transition:transform .2s,border-color .2s}.doc:hover{transform:translateY(-3px);border-color:#c6a46e}.doc-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.doc-icon{font-size:30px;color:var(--gold)}.tag{font:10px Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;background:#eee7da;color:#65543c;padding:6px 8px}.doc h3{font-size:23px;font-weight:normal;line-height:1.2;color:var(--navy);margin:0 0 10px}.doc p{font-size:14px;color:#647078;margin:0 0 18px}.meta{font:11px Arial,sans-serif;text-transform:uppercase;letter-spacing:.07em;color:#8a8d8e;margin-top:auto;padding:12px 0;border-top:1px solid var(--line)}.doc-actions{display:flex;gap:9px;flex-wrap:wrap}.doc-actions a{font:12px Arial,sans-serif;text-decoration:none;padding:10px 12px;border:1px solid var(--line)}.doc-actions a.download{background:var(--navy);color:white;border-color:var(--navy)}.empty{grid-column:1/-1;padding:35px;text-align:center;background:var(--cream);color:var(--muted)}
.donate{background:#e9e2d5;padding:56px 5%;}.donate-inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.donate h2{font-size:38px;font-weight:normal;color:var(--navy);line-height:1.1;margin:8px 0 15px}.donate p{color:#58646c}.donation-box{background:var(--cream);border:1px solid #d9cdbb;padding:25px}.donation-box h3{margin-top:0;color:var(--navy);font-size:22px;font-weight:normal}.pixrow{display:flex;gap:8px}.pixrow input{min-width:0;flex:1;padding:12px;border:1px solid var(--line);font:14px Arial,sans-serif;background:white}.pixrow button{border:0;background:var(--green);color:white;padding:0 14px;cursor:pointer;font:12px Arial,sans-serif}.small{font:12px Arial,sans-serif;color:var(--muted)}
.about{padding:50px 5%;max-width:1180px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:35px}.about h2{font-weight:normal;font-size:30px;color:var(--navy);margin-top:0}.about p{color:#58646c}
footer{background:var(--navy);color:#dce2e5;padding:27px 5%;font:12px Arial,sans-serif;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.footer-title{font-family:Georgia,serif;font-size:18px;color:white}

.amounts{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.amount{border:1px solid var(--line);background:#fff;padding:10px 13px;cursor:pointer;color:var(--navy);font: bold 13px Arial,sans-serif;border-radius:2px}.amount.selected{background:var(--navy);border-color:var(--navy);color:white}#otherAmountWrap{margin:10px 0}#otherAmount{display:block;width:100%;padding:11px;border:1px solid var(--line);margin-top:5px}.pix-details{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.pix-details>strong{font:12px Arial,sans-serif;letter-spacing:.04em}.pix-details p{font-size:13px}.modal-backdrop{position:fixed;inset:0;background:#101c27b8;display:none;align-items:center;justify-content:center;padding:18px;z-index:1000}.modal-backdrop.open{display:flex}.modal{background:var(--cream);width:min(480px,100%);padding:28px;position:relative;box-shadow:0 18px 70px #0004}.modal h2{font-size:30px;font-weight:normal;color:var(--navy);margin:4px 30px 10px 0}.modal p{color:#58646c}.modal-close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:26px;cursor:pointer;color:var(--navy)}.modal .btn{margin-top:10px}.modal .pixkey-modal{font:15px Arial,sans-serif;overflow-wrap:anywhere;background:#f1eadf;padding:12px}

@media(max-width:800px){header{align-items:flex-start;flex-direction:column}.intro,.about{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}.hero{padding-top:55px}.hero:after{right:-100px}.section-head{align-items:flex-start}}
@media(max-width:540px){.cards{grid-template-columns:1fr}.topbar{font-size:10px}.brand strong{font-size:21px}.hero p{font-size:16px}.doc{min-height:unset}.donate h2{font-size:32px}}

/* ===== Navegação, abas e novos componentes ===== */
nav a[aria-current=page]{color:var(--gold);border-bottom:1px solid var(--gold)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
footer a{color:inherit}
.page-hero{background:var(--navy);color:#fff;padding:54px 5% 46px}.page-hero h1{font-size:clamp(32px,4.6vw,52px);font-weight:normal;line-height:1.1;margin:14px 0 10px;max-width:820px}.page-hero p{max-width:660px;color:#dce2e5;margin:0;font-size:17px}
.heroform{display:flex;gap:8px;max-width:580px;margin-top:26px;position:relative;z-index:1}.heroform input{flex:1;min-width:0;padding:14px;border:0;font:15px Arial,sans-serif;border-radius:2px}.heroform button{border:1px solid var(--gold);background:var(--gold);color:#172c3d;padding:0 20px;font:bold 13px Arial,sans-serif;cursor:pointer;border-radius:2px}
.tabbar{display:flex;gap:2px;overflow-x:auto;border-bottom:1px solid var(--line);margin:28px 0 0;position:sticky;top:0;background:var(--paper);z-index:20;scrollbar-width:thin}
.tab{flex:0 0 auto;background:none;border:0;border-bottom:3px solid transparent;padding:14px 15px;font:14px Arial,sans-serif;color:var(--muted);cursor:pointer;white-space:nowrap;display:flex;gap:8px;align-items:center}.tab:hover{color:var(--navy)}.tab[aria-selected=true]{color:var(--navy);border-bottom-color:var(--gold);font-weight:bold}.tab .n{font:11px Arial,sans-serif;background:#eee7da;color:#65543c;padding:2px 7px;border-radius:10px}
.sec-intro{padding:26px 0 4px}.sec-intro h2{font-size:30px;font-weight:normal;color:var(--navy);margin:0 0 6px}.sec-intro p{margin:0;color:#58646c;max-width:720px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 20px}.chip{border:1px solid var(--line);background:var(--cream);padding:8px 14px;font:13px Arial,sans-serif;cursor:pointer;border-radius:20px;color:var(--ink)}.chip:hover{border-color:#c6a46e}.chip[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}.chip .n{opacity:.65;margin-left:5px}
.tools label.chk{display:flex;align-items:center;gap:8px;font:14px Arial,sans-serif;color:var(--ink);padding:0 6px;cursor:pointer}
.count{font:13px Arial,sans-serif;color:var(--muted);margin:2px 0 6px}
.group-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);margin:28px 0 18px;padding-bottom:8px}.group-head h2,.group-head h3{font-size:24px;font-weight:normal;color:var(--navy);margin:0}.group-head h2 a{text-decoration:none}.group-head h2 a:hover{color:var(--gold)}.group-head span{font:12px Arial,sans-serif;color:var(--muted)}
.group .cards{margin-bottom:12px}
.doc.previsto{background:transparent;border-style:dashed;min-height:230px}.doc.previsto h3{color:#43566a}.tag.tag-soon{background:transparent;border:1px dashed #b9ab92}.soon{font:12px Arial,sans-serif;color:var(--muted);padding:10px 0}
.doc.flash{animation:flash 2.4s ease}@keyframes flash{0%,50%{box-shadow:0 0 0 3px var(--gold)}100%{box-shadow:0 0 0 0 transparent}}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:46px}.tile{display:flex;flex-direction:column;gap:7px;background:var(--cream);border:1px solid var(--line);padding:20px;text-decoration:none;transition:transform .2s,border-color .2s}.tile:hover{border-color:#c6a46e;transform:translateY(-3px)}.tile .ic{font-size:28px;color:var(--gold);line-height:1}.tile strong{font-size:19px;font-weight:normal;color:var(--navy);line-height:1.2}.tile .d{font:13px/1.45 Arial,sans-serif;color:#647078}.tile .c{margin-top:auto;font:11px Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:#8a8d8e;padding-top:10px;border-top:1px solid var(--line)}.tile.alt{background:#eee7da}
.block-title{margin:6px 0 16px}.block-title h2{font-size:30px;font-weight:normal;color:var(--navy);margin:6px 0 4px}.block-title p{margin:0;color:var(--muted);font:14px Arial,sans-serif}
/* mapa do site */
.map-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-bottom:46px}.map-grid h2,.map-block h2{font-size:28px;font-weight:normal;color:var(--navy);margin:6px 0 14px}
.tree,.tree ul{list-style:none;margin:0;padding:0}.tree ul{margin:6px 0 10px 12px;padding-left:16px;border-left:1px solid var(--line)}.tree li{margin:7px 0;font:15px Arial,sans-serif}.tree a{text-decoration:none;color:var(--navy)}.tree a:hover{color:var(--gold);text-decoration:underline}.tree .l1>a{font:20px Georgia,serif}.tree .l2>a{font:16px Georgia,serif}.tree .n{color:var(--muted);font-size:12px;margin-left:6px}
.finder{background:var(--cream);border:1px solid var(--line);padding:22px;margin:30px 0 40px}.finder input{width:100%;padding:14px;border:1px solid var(--line);font:15px Arial,sans-serif;background:#fff}.finder p{margin:10px 0 0;font:13px Arial,sans-serif;color:var(--muted)}.jump{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.jump a{font:13px Arial,sans-serif;text-decoration:none;padding:8px 13px;border:1px solid var(--line);background:#fff}.jump a:hover{border-color:var(--gold)}
.map-block{margin-bottom:50px}.period{margin-bottom:26px}.period h3{font-size:21px;font-weight:normal;color:var(--navy);margin:0 0 4px}.period .pd{font:13px Arial,sans-serif;color:var(--muted);margin:0 0 8px}
.mlist{list-style:none;margin:0;padding:0}.mlist li{border-bottom:1px solid var(--line)}.mlist a{display:flex;justify-content:space-between;gap:14px;align-items:baseline;padding:8px 0;text-decoration:none;font:16px Georgia,serif;color:var(--ink)}.mlist a:hover{color:var(--gold)}.mlist small{font:12px Arial,sans-serif;color:var(--muted);white-space:nowrap}.mlist .ps{font:10px Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;border:1px dashed #b9ab92;color:#65543c;padding:2px 6px;margin-left:8px;white-space:nowrap}
.az-letters{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 20px}.az-letters a{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);background:var(--cream);font:bold 13px Arial,sans-serif;text-decoration:none;color:var(--navy)}.az-letters a:hover{border-color:var(--gold);color:var(--gold)}.az-letters span{width:34px;height:34px;display:grid;place-items:center;font:13px Arial,sans-serif;color:#c3bdb0}
.az-list{columns:2;column-gap:44px}.az-group{break-inside:avoid;margin-bottom:22px}.az-group h3{font-size:30px;font-weight:normal;color:var(--gold);margin:0 0 4px;border-bottom:1px solid var(--line)}
.nores{padding:24px;text-align:center;background:var(--cream);color:var(--muted);font:14px Arial,sans-serif}
@media(max-width:800px){.tiles{grid-template-columns:repeat(2,1fr)}.map-grid{grid-template-columns:1fr}.az-list{columns:1}nav{gap:16px}}
@media(max-width:540px){.tiles{grid-template-columns:1fr}.heroform{flex-direction:column}.heroform button{padding:13px}.mlist a{flex-direction:column;gap:2px}}
[hidden]{display:none!important}
.tools label.chk input{flex:none;min-width:0;width:auto;padding:0;margin:0}

.doc p.nota{font:12px/1.4 Arial,sans-serif;color:#6b5a3a;background:#f3ecdf;padding:7px 10px;margin:0 0 16px;border-left:2px solid var(--gold)}

/* ===== Logo ===== */
.mark-img{width:46px;height:46px;display:block;border-radius:8px;flex:none}
.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand img{border-radius:9px;flex:none}
.page-hero{position:relative;overflow:hidden}
.hero>*,.page-hero>*{position:relative;z-index:1}
.hero:after,.page-hero:after{content:"";position:absolute;right:4%;top:50%;width:420px;height:420px;transform:translateY(-50%);background:url(assets/marca-dagua.svg) center/contain no-repeat;pointer-events:none;font-size:0;left:auto;bottom:auto}
.page-hero:after{width:320px;height:320px}
@media(max-width:800px){.hero:after,.page-hero:after{width:240px;height:240px;right:-60px;top:auto;bottom:-40px;transform:none}}

/* ===== Mapa mental ===== */
.mm{position:relative;display:grid;grid-template-columns:190px 1fr;gap:64px;align-items:center;background:var(--cream);border:1px solid var(--line);padding:34px 30px;margin:0 0 56px;overflow:hidden}
.mm-lines{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}
.mm-lines path{fill:none;stroke-width:2.2;stroke-linecap:round;opacity:.55;transition:opacity .2s}
.mm-lines path.dim{opacity:.1}
.mm-root{position:relative;z-index:1;background:var(--navy);color:#fff;text-align:center;padding:24px 14px;border-radius:22px;box-shadow:0 12px 30px #172c3d38;text-decoration:none;display:block}
.mm-root img{width:84px;height:84px;border-radius:16px;margin:0 auto 12px;display:block}
.mm-root strong{display:block;font:normal 23px/1.15 Georgia,serif}
.mm-root small{display:block;margin-top:9px;font:10px Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#d7b77e}
.mm-branches{position:relative;z-index:1;display:flex;flex-direction:column;gap:12px}
.mm-label{display:flex;align-items:center;gap:12px;margin:12px 0 2px;font:11px Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.mm-label:first-child{margin-top:0}.mm-label:after{content:"";flex:1;height:1px;background:var(--line)}.mm-label a{order:3;color:var(--gold);text-decoration:none;letter-spacing:.06em}.mm-label a:hover{text-decoration:underline}
.mm-branch{display:grid;grid-template-columns:250px 1fr;gap:46px;align-items:center;transition:opacity .2s}
.mm-sec{display:flex;align-items:center;gap:11px;padding:11px 13px;background:#fff;border:1px solid var(--line);border-left:5px solid var(--c);border-radius:6px;text-decoration:none;color:var(--navy);font:16px/1.2 Georgia,serif;box-shadow:0 3px 10px #17263512;transition:box-shadow .2s,transform .2s}
.mm-sec:hover{box-shadow:0 6px 16px #1726352a;transform:translateY(-1px)}
.mm-sec .ic{color:var(--c);font-size:21px;flex:none;width:24px;text-align:center}
.mm-sec em,.mm-leaf em{font-style:normal;font:bold 11px Arial,sans-serif;padding:3px 8px;border-radius:10px;background:color-mix(in srgb,var(--c) 16%,#fff);color:#3a3a3a}
.mm-sec em{margin-left:auto}
.mm-leaves{display:flex;flex-wrap:wrap;gap:8px}
.mm-leaf{display:inline-flex;align-items:center;gap:8px;padding:7px 8px 7px 13px;border:1.5px solid var(--c);background:color-mix(in srgb,var(--c) 8%,#fff);border-radius:20px;font:13px Arial,sans-serif;color:var(--ink);text-decoration:none;transition:background .2s}
.mm-leaf:hover{background:color-mix(in srgb,var(--c) 26%,#fff)}
.mm.hov .mm-branch:not(.on){opacity:.35}
.mm .nomatch{opacity:.22}
.mm .hit{box-shadow:0 0 0 3px #bd8c4366}
.mm-hint{font:13px Arial,sans-serif;color:var(--muted);margin:-34px 0 18px}
/* linha do tempo */
.legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 26px;font:12px Arial,sans-serif;color:#58646c}.legend span{display:inline-flex;align-items:center;gap:7px}.legend i,.dchip i{width:10px;height:10px;border-radius:50%;background:var(--c);display:inline-block;flex:none}
.tl{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;position:relative;padding-top:6px}
.tl:before{content:"";position:absolute;left:0;right:0;top:15px;height:2px;background:var(--line)}
.tl-col{position:relative;padding-top:30px}.tl-col:before{content:"";position:absolute;left:0;top:6px;width:18px;height:18px;border-radius:50%;background:var(--gold);border:4px solid var(--paper);box-sizing:content-box;margin:-4px}
.tl-col h3{font-size:26px;font-weight:normal;color:var(--navy);margin:0 0 2px}.tl-col .pd{font:12px Arial,sans-serif;color:var(--muted);margin:0 0 14px}
.dchips{display:flex;flex-wrap:wrap;gap:7px}
.dchip{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--c);border-radius:2px;font:13px/1.25 Georgia,serif;color:var(--ink);text-decoration:none}.dchip:hover{border-color:var(--c);background:color-mix(in srgb,var(--c) 8%,#fff)}.dchip small{font:11px Arial,sans-serif;color:var(--muted)}
.mlist .dot{width:9px;height:9px;border-radius:50%;background:var(--c);display:inline-block;margin-right:9px;vertical-align:1px}
@media(max-width:980px){
.mm{grid-template-columns:1fr;gap:24px;padding:20px 16px}.mm-lines{display:none}.mm-root{display:flex;align-items:center;gap:14px;text-align:left;padding:16px}.mm-root img{width:56px;height:56px;margin:0}
.mm-branch{grid-template-columns:1fr;gap:10px;padding-left:12px;border-left:2px solid var(--c);margin-left:4px}
.tl{grid-template-columns:repeat(2,1fr)}.tl:before{display:none}.mm-hint{margin-top:-26px}}
@media(max-width:560px){.tl{grid-template-columns:1fr}}
.mm-hint{margin:0 0 22px!important}
.mm-leaves{flex-direction:column;align-items:flex-start;gap:7px}
.mm-branches{gap:16px}
@media(max-width:980px){.mm-leaves{flex-direction:row;flex-wrap:wrap}}
.dchip i{display:none}

.tiles3{grid-template-columns:repeat(3,1fr)}
@media(max-width:800px){.tiles3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.tiles3{grid-template-columns:1fr}}

/* Distinção visual entre a fonte gratuita e o guia complementar pago */
.doc .source-label{font:700 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.11em;color:#677580;margin:5px 0 8px}
.doc .guide-promo{margin-top:20px;padding:17px 16px 16px;background:#f5efe3;border:1px solid #e5d6bb;border-left:3px solid var(--gold);border-radius:5px;display:flex;flex-direction:column;gap:8px}
.doc .guide-promo-label{font:700 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.13em;color:#936b31}
.doc .guide-promo-text{font:13px/1.55 Arial,sans-serif;color:#43515a}
.doc .guide-promo-link{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--navy);border:1px solid var(--navy);color:#fff;text-decoration:none;font:700 12px Arial,sans-serif;padding:12px 13px;border-radius:4px;margin-top:3px;transition:background .2s}
.doc .guide-promo-link:hover,.doc .guide-promo-link:focus-visible{background:#30495e}
.doc .guide-promo-link span{font-size:18px}

/* ===== Cabeçalho editorial refinado | Memória Aberta ===== */
.topbar{background:#142a3b;color:#e7d7bb;min-height:32px;padding:8px max(5%,calc((100% - 1280px)/2));font:600 10px/1.4 Arial,sans-serif;letter-spacing:.16em;border-bottom:1px solid #d7b77e32}
header{position:relative;z-index:30;max-width:none;min-height:100px;padding:17px max(5%,calc((100% - 1280px)/2));background:#fffdf8;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:35px;border-bottom:3px solid #bd8c43;box-shadow:0 5px 20px #172c3d0b}
header .brand{display:inline-flex;align-items:center;gap:15px;min-width:max-content;text-decoration:none}
header .mark-img{width:60px;height:60px;border-radius:13px;box-shadow:0 4px 12px #172c3d20;transition:transform .25s ease}
header .brand:hover .mark-img{transform:translateY(-2px)}
header .brand strong{font:normal 28px/1.05 Georgia,'Times New Roman',serif;color:#172c3d;letter-spacing:.012em}
header .brand small{display:block;margin-top:7px;font:600 10px/1.4 Arial,sans-serif;letter-spacing:.19em;color:#90764e}
header nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap;font:500 13px/1.2 Arial,sans-serif}
header nav a{display:inline-flex;align-items:center;justify-content:center;padding:11px 13px;border-radius:7px;text-decoration:none;color:#243748;white-space:nowrap;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s}
header nav a:hover{color:#8b6027;background:#f6eee1}
header nav a[aria-current=page]{background:#f4ecdd;color:#875c21;border:1px solid #e9d8b8;font-weight:700}
header nav a[href="doacao.html"]{margin-left:8px;background:#172c3d;color:#fff;border:1px solid #172c3d;padding:11px 19px;font-weight:700}
header nav a[href="doacao.html"]:hover{background:#284a60;color:#fff}
header nav a[href="doacao.html"][aria-current=page]{background:#bd8c43;color:#172c3d;border-color:#bd8c43}
@media(max-width:1100px){header{gap:18px;padding-left:3%;padding-right:3%}header nav a{padding:10px 9px;font-size:12px}header .brand strong{font-size:25px}header .mark-img{width:52px;height:52px}}
@media(max-width:850px){header{align-items:center;flex-direction:column;gap:17px;padding:18px 4% 16px}header nav{justify-content:center;gap:4px}header nav a{padding:10px 12px}header nav a[href="doacao.html"]{margin-left:4px}.topbar{justify-content:center;text-align:center;gap:5px 20px}}
@media(max-width:520px){.topbar{font-size:9px;letter-spacing:.1em}.topbar span:last-child{display:none}header{gap:15px;padding:15px 3%}header .mark-img{width:48px;height:48px}header .brand strong{font-size:24px}header .brand small{font-size:9px;letter-spacing:.13em}header nav{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}header nav a{font-size:11px;text-align:center;padding:10px 4px;white-space:normal;min-height:37px}header nav a[href="doacao.html"]{margin:0;padding:10px 4px}}

/* Rodapé editorial — Memória Aberta */
footer.site-footer{display:block;background:#142a3b;color:#dce5e8;padding:0;font:14px/1.6 Arial,sans-serif;border-top:4px solid #c69a50}
.site-footer .footer-inner{max-width:1240px;margin:0 auto;padding:58px 5% 46px;display:grid;grid-template-columns:minmax(280px,1.6fr) minmax(160px,.8fr) minmax(180px,1fr);gap:clamp(30px,5vw,80px)}
.site-footer .footer-identity{display:flex;align-items:center;gap:15px;color:#fff;text-decoration:none;width:fit-content}
.site-footer .footer-identity img{width:60px;height:60px;border-radius:12px;flex:none}
.site-footer .footer-identity strong{display:block;font:normal 27px Georgia,serif;letter-spacing:.2px;color:#fff}
.site-footer .footer-identity small{display:block;font:10px Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;color:#d8b97e;margin-top:6px}
.site-footer .footer-about>p{max-width:390px;color:#b8c7ce;margin:22px 0 15px;line-height:1.8}
.site-footer .footer-tagline{color:#d5b474;font-size:11px;text-transform:uppercase;letter-spacing:1.4px}
.site-footer .footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.site-footer .footer-col h2{font:normal 19px Georgia,serif;color:#f2dfb8;margin:4px 0 8px}
.site-footer .footer-col a{color:#dbe4e8;text-decoration:none;transition:color .15s,transform .15s}
.site-footer .footer-col a:hover,.site-footer .footer-col a:focus-visible{color:#f1c77b;transform:translateX(3px)}
.site-footer .footer-col p{color:#aebfc8;font-size:12px;line-height:1.8;max-width:250px;margin:6px 0 0}
.site-footer .footer-bottom{border-top:1px solid #ffffff25;max-width:1240px;margin:0 auto;padding:19px 5% 22px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#a9bac3;font-size:11px;line-height:1.6}
@media(max-width:780px){.site-footer .footer-inner{grid-template-columns:1fr 1fr;gap:34px;padding-top:43px}.site-footer .footer-about{grid-column:1/-1}}
@media(max-width:480px){.site-footer .footer-inner{grid-template-columns:1fr;gap:29px}.site-footer .footer-about{grid-column:auto}.site-footer .footer-bottom{flex-direction:column}.site-footer .footer-identity strong{font-size:24px}}





/* Animações editoriais: leves, visíveis e com alternativa acessível */
.reading-progress{position:fixed;z-index:9999;top:0;left:0;height:3px;width:0;background:#d4a65c;box-shadow:0 0 9px #d4a65c88;pointer-events:none;transition:width .08s linear}
.motion-showcase{background:linear-gradient(115deg,#f8f4eb,#eae0ce);overflow:hidden;border-top:1px solid #e2d2b7;border-bottom:1px solid #e2d2b7}
.motion-inner{max-width:1150px;margin:auto;padding:68px 28px;display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}
.motion-kicker{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:#936b32}
.motion-copy h2{font:normal clamp(31px,3.6vw,48px)/1.18 Georgia,serif;color:#172c3d;margin:13px 0 18px}
.motion-copy p{font-size:16px;line-height:1.75;color:#4c5960;max-width:480px}
.motion-button{display:inline-flex;align-items:center;gap:22px;margin-top:20px;padding:13px 22px;background:#172c3d;color:#fff!important;text-decoration:none;border-radius:7px;font-weight:700;transition:transform .25s,background .25s}
.motion-button:hover{transform:translateY(-3px);background:#294c65}
.motion-illustration{text-align:center;position:relative}
.motion-book-svg{width:100%;max-width:490px;overflow:visible;filter:drop-shadow(0 16px 13px #172c3d24);animation:book-float 4s ease-in-out infinite}
.motion-turning-page{transform-box:view-box;transform-origin:250px 175px;animation:book-turn 5s ease-in-out infinite}
.motion-spark{transform-box:fill-box;transform-origin:center;animation:spark-glow 3s ease-in-out infinite}
.motion-spark-two{animation-delay:1.5s}
.motion-illustration-label{font:italic 14px Georgia,serif;color:#876639;letter-spacing:1px}
@keyframes book-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)}}
@keyframes book-turn{0%,12%,92%,100%{transform:scaleX(1)}43%,67%{transform:scaleX(-1)}}
@keyframes spark-glow{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}
.hero h1{animation:hero-rise .9s ease-out both}
.hero .eyebrow{animation:hero-rise .75s ease-out both}
.hero p{animation:hero-rise .95s ease-out .12s both}
.heroform{animation:hero-rise 1s ease-out .2s both}
@keyframes hero-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.tile,.cards article,.guide-card,.guide-art img{transition:transform .3s ease,box-shadow .3s ease}
.tile:hover,.cards article:hover,.guide-card:hover{transform:translateY(-6px);box-shadow:0 18px 35px #172c3d1b}
.guide-art img:hover{transform:scale(1.035)}
/* A entrada só é animada quando o JS está ativo, sem ocultar conteúdo no fallback. */
.motion-ready .reveal-on-scroll{opacity:0;transform:translateY(25px);transition:opacity .7s ease,transform .7s ease}
.motion-ready .reveal-on-scroll.reveal-visible{opacity:1;transform:translateY(0)}
@media(max-width:760px){.motion-inner{grid-template-columns:1fr;padding:50px 24px 35px;text-align:center;gap:12px}.motion-copy p{margin-inline:auto}.motion-book-svg{max-width:390px}}
@media(prefers-reduced-motion:reduce){.motion-book-svg,.motion-turning-page,.motion-spark,.hero h1,.hero .eyebrow,.hero p,.heroform{animation:none!important}.motion-ready .reveal-on-scroll{opacity:1;transform:none;transition:none}.tile,.cards article,.guide-card,.guide-art img{transition:none}}


/* Folheamento tridimensional real: folhas com frente e verso */
.pageflip-scene{height:320px;display:flex;align-items:center;justify-content:center;perspective:1100px;position:relative;isolation:isolate}
.pageflip-scene:after{content:"";position:absolute;bottom:38px;width:380px;height:26px;border-radius:50%;background:#172c3d27;filter:blur(12px);z-index:-1}
.pageflip-book{position:relative;width:420px;height:255px;transform:rotate(-5deg) rotateX(8deg);transform-style:preserve-3d;filter:drop-shadow(6px 12px 6px #4b3b2633)}
.pageflip-binding{position:absolute;inset:-8px;background:#9b723c;border-radius:12px;box-shadow:inset 0 0 0 5px #c39a5b}
.pageflip-base{position:absolute;inset:0;display:flex}
.pageflip-left,.pageflip-right{position:relative;width:50%;height:100%;background:#fff6df;border:2px solid #d4bd90;overflow:hidden}
.pageflip-left{border-radius:10px 2px 2px 9px;box-shadow:inset -18px 0 25px #9c754c3b}
.pageflip-right{border-radius:2px 10px 9px 2px;box-shadow:inset 18px 0 25px #9c754c3b}
.pageflip-lines{position:absolute;inset:33px 23px 27px;background:repeating-linear-gradient(to bottom,transparent 0 20px,#c9b18a 21px 24px);opacity:.9}
.pageflip-leaf{position:absolute;left:50%;top:1px;width:calc(50% - 2px);height:calc(100% - 2px);transform-origin:0% 50%;transform-style:preserve-3d;will-change:transform}
.pageflip-front,.pageflip-back{position:absolute;inset:0;background:#fff8e8;border:2px solid #d4bd90;border-radius:2px 9px 8px 2px;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:2px 3px 7px #6d533333;overflow:hidden}
.pageflip-back{transform:rotateY(180deg);background:#f8ebd1;border-radius:9px 2px 2px 8px}
.pageflip-spine{position:absolute;left:calc(50% - 4px);top:-2px;width:8px;height:calc(100% + 4px);border-radius:50%;background:linear-gradient(90deg,#9c7847,#e7c894,#9c7847);pointer-events:none}
.pageflip-leaf.leaf-a{animation:pageflip-one 7.2s ease-in-out infinite}
.pageflip-leaf.leaf-b{animation:pageflip-two 7.2s ease-in-out infinite}
.pageflip-leaf.leaf-c{animation:pageflip-three 7.2s ease-in-out infinite}
@keyframes pageflip-one{0%,6%{transform:rotateY(0deg)}23%,78%{transform:rotateY(-180deg)}95%,100%{transform:rotateY(0deg)}}
@keyframes pageflip-two{0%,20%{transform:rotateY(0deg)}37%,78%{transform:rotateY(-180deg)}95%,100%{transform:rotateY(0deg)}}
@keyframes pageflip-three{0%,34%{transform:rotateY(0deg)}51%,78%{transform:rotateY(-180deg)}95%,100%{transform:rotateY(0deg)}}
.pageflip-star{position:absolute;color:#c49a56;font-size:34px;animation:spark-glow 2.7s ease-in-out infinite}
.pageflip-star.star-one{top:15px;left:12%}.pageflip-star.star-two{top:4px;right:13%;animation-delay:1.2s}
@media(max-width:520px){.pageflip-scene{height:260px}.pageflip-book{transform:scale(.72) rotate(-5deg) rotateX(8deg)}.pageflip-scene:after{width:250px}}
@media(prefers-reduced-motion:reduce){.pageflip-leaf,.pageflip-star{animation:none!important}}

/* Animação de livro desenhada em canvas: sem transformações 3D do navegador */
.animated-canvas-frame{max-width:540px;width:100%;margin:auto;filter:drop-shadow(0 12px 15px #172c3d18)}
#memoria-livro-canvas{display:block;width:100%;height:auto;aspect-ratio:780/470}

/* Melhorias da biblioteca: estante, descoberta e navegação */
.favorite-toggle{margin:10px 0 8px;align-self:flex-start;border:1px solid #d8c5a6;background:#f8f1e5;color:#76542a;padding:9px 12px;font:600 12px Arial,sans-serif;border-radius:6px;cursor:pointer;transition:background .2s,transform .2s}
.favorite-toggle:hover{background:#f0e3cf;transform:translateY(-1px)}.favorite-toggle[aria-pressed="true"]{background:#e8f0e8;border-color:#aac0ab;color:#375d40}
.discovery-strip{background:#f1e7d8;border-block:1px solid #e2d3be}.discovery-inner{max-width:1160px;margin:auto;padding:39px 5%;display:flex;justify-content:space-between;align-items:center;gap:30px}.discovery-kicker{font:700 11px Arial,sans-serif;color:#986d31;letter-spacing:2px;text-transform:uppercase}.discovery-inner h2{font:normal clamp(25px,3vw,34px) Georgia,serif;color:var(--navy);margin:8px 0}.discovery-inner p{margin:0;color:#53616a;font-size:14px}.discovery-actions{display:flex;gap:10px;flex-wrap:wrap}.discovery-random,.discovery-shelf{border:1px solid var(--navy);padding:13px 17px;border-radius:5px;font:700 13px Arial,sans-serif;text-decoration:none;cursor:pointer;white-space:nowrap}.discovery-random{background:var(--navy);color:white}.discovery-shelf{background:transparent;color:var(--navy)}.discovery-random:hover{background:#2d4b61}.discovery-shelf:hover{background:#fff9f0}
.shelf-section{padding-top:44px;padding-bottom:70px;min-height:55vh}.shelf-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;flex-wrap:wrap}.shelf-head h2{font:normal 35px Georgia,serif;color:var(--navy);margin:8px 0}.shelf-count{font:14px Arial,sans-serif;background:#e8dbc6;color:#78562e;border-radius:50px;padding:6px 10px;vertical-align:middle}.shelf-hint{font:12px Arial,sans-serif;color:var(--muted)}.shelf-section .cards{margin-bottom:15px}.shelf-section .empty{width:100%}
.clear-filters,.shelf-link{padding:12px 13px;border:1px solid #c9b89e;background:transparent;color:var(--navy);font:600 13px Arial,sans-serif;text-decoration:none;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center}.clear-filters:hover,.shelf-link:hover{background:#eee3d2}
.back-to-top{position:fixed;bottom:23px;right:22px;width:45px;height:45px;border-radius:50%;border:1px solid #d2b077;background:var(--navy);color:#fff;box-shadow:0 7px 22px #172c3d42;z-index:100;font-size:23px;cursor:pointer}.back-to-top:hover{background:#29485f}.back-to-top[hidden]{display:none!important}
nav a span[data-favorite-count]{display:inline-block;font-size:10px;color:var(--gold)}
@media(max-width:740px){.discovery-inner{flex-direction:column;align-items:flex-start}.discovery-actions{width:100%}.discovery-random,.discovery-shelf{white-space:normal}.back-to-top{bottom:15px;right:13px}}
@media(prefers-reduced-motion:reduce){.favorite-toggle{transition:none}}

.book-title-link{color:inherit;text-decoration:none}.book-title-link:hover{color:#a2773b;text-decoration:underline;text-underline-offset:3px}.book-detail-link{display:inline-flex;color:#846032;text-decoration:none;font-weight:700;font-size:14px;margin:13px 0 8px}.book-detail-link:hover{text-decoration:underline}

/* Comunidade Discord: identidade visual */
.discord-cta-logo{width:64px;height:64px;object-fit:contain;display:block;margin-bottom:16px;border-radius:16px}
.discord-community-logo{width:100px;height:100px;object-fit:contain;display:block;margin:0 0 20px;border-radius:24px}
.discord-link-icon{width:20px;height:20px;object-fit:contain;vertical-align:middle;margin-right:8px;border-radius:50%}
@media(max-width:600px){.discord-cta-logo{width:54px;height:54px}.discord-community-logo{width:80px;height:80px}}

.institution-links{width:100%;text-align:center;padding:14px 5%;background:#101f2b;color:#f1e8d7;font:12px Arial,sans-serif}.institution-links a{color:inherit}.editorial-note{margin-top:18px;padding:20px;background:#f4ecdc;border-left:3px solid #bd8c43}.editorial-note h3{margin:0 0 10px;font-size:22px;color:#172c3d}.editorial-note p{margin:8px 0}.discovery-ribbon{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;padding:46px 5%;background:#e9e2d5}.discovery-ribbon h2{font:normal clamp(27px,3vw,39px) Georgia,serif;color:var(--navy);margin:8px 0}.discovery-ribbon p{color:#58646c;max-width:600px}
