
*{box-sizing:border-box;margin:0;padding:0}

:root{
  --bg:#F7F3EE;
  --bg2:#F0EBE3;
  --bg3:#E8E1D6;
  --ink:#1C1814;
  --ink2:#4A3F35;
  --ink3:#6F6254;
  --line:#D4C9BA;
  --accent:#7B5E3A;
  --accent2:#B08A5F;
  --white:#FDFAF6;

  --spine-I:#7A8C6E;
  --spine-II:#8C7A6E;
  --spine-III:#6E8C7A;
  --spine-IV:#8C6E7A;
  --spine-V:#6E7A8C;
}

.ref-panel{padding:8px 0 40px}
.ref-author{
  border-bottom:1px solid var(--line);
  padding:18px 0;
  display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px;
}
.ref-author:last-child{border-bottom:none}
.ref-name-wrap{flex:1;min-width:220px}
.ref-name{
  font-family:'Playfair Display',serif;
  font-size:19px;font-weight:600;color:var(--ink);
}
.ref-id{
  display:block;font-size:13px;color:var(--ink3);font-style:italic;margin-top:2px;
}
.ref-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;margin-left:auto}
.ref-chip{
  display:inline-block;padding:4px 12px;border:1px solid var(--accent2);border-radius:20px;
  font-size:12px;letter-spacing:.03em;color:var(--accent);cursor:pointer;background:transparent;
  transition:background .15s,color .15s;
}
.ref-chip:hover{background:var(--accent);color:var(--white)}
.ref-count{
  font-size:12px;color:var(--ink3);letter-spacing:.1em;text-transform:uppercase;
  margin:26px 0 6px;
}
@media(max-width:640px){
  .ref-author{flex-direction:column;align-items:flex-start}
}

html{scroll-behavior:smooth}

body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Jost',sans-serif;
  font-weight:300;
  min-height:100vh;
  overflow-x:hidden;
}

/* ─── TITLE ACCENT WORD ─── */
.title-accent{
  font-style:italic;
  color:var(--accent);
}
/* ─── PÁGINAS ─── */
.page{display:none;min-height:100vh;animation:fadeIn .5s ease}
.page.active{display:block}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* ─── NAV ─── */
nav{
  position:sticky;top:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 48px;
  height:56px;
  background:var(--bg);
  border-bottom:0.5px solid var(--line);
}
.nav-brand{
  font-family:'Playfair Display',serif;
  font-size:22px;font-weight:400;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink);cursor:pointer;
  text-decoration:none;
}
.nav-right{
  display:flex;align-items:center;gap:32px;
}
.nav-right a{
  font-size:16px;font-weight:300;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink3);
  text-decoration:none;transition:color .2s;cursor:pointer;
}
.nav-right a:hover{color:var(--ink)}
.progress-bar{
  position:fixed;top:56px;left:0;right:0;height:1px;
  background:var(--line);z-index:99;
}
.progress-fill{
  height:100%;background:var(--accent2);
  width:0%;transition:width .3s ease;
}

/* ─── HOME: HERO ─── */
.hero{
  padding:80px 48px 56px;
  border-bottom:0.5px solid var(--line);
  display:grid;grid-template-columns:1fr 1fr;
  gap:0;align-items:end;
}
.hero-left{}
.hero-eyebrow{
  font-size:14px;font-weight:400;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ink3);margin-bottom:20px;
}
.hero-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(66px,7.8vw,106px);
  font-weight:700;line-height:1.05;
  color:var(--ink);
  margin-bottom:24px;
}
.hero-title em{font-style:italic;color:var(--accent)}
.hero-desc{
  font-size:20px;font-weight:300;color:var(--ink2);
  line-height:1.8;max-width:380px;
}
.hero-right{
  display:flex;flex-direction:column;align-items:flex-end;
  padding-bottom:4px;
  gap:8px;
}
.hero-count{
  font-family:'Playfair Display',serif;
  font-size:115px;font-weight:300;
  color:var(--line);line-height:1;
  letter-spacing:-4px;
}
.hero-count-label{
  font-size:14px;font-weight:400;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink3);
}
.hero-count-mobile{
  display:none;
  align-items:center;gap:14px;
  margin-top:22px;
}
.hero-count-mobile-num{
  font-family:'Playfair Display',serif;
  font-size:44px;font-weight:300;
  color:var(--accent);line-height:1;
}
.hero-count-mobile-label{
  font-size:11px;font-weight:400;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink3);
  line-height:1.5;
}
.surprise-btn{
  display:inline-flex;align-items:center;gap:8px;
  margin-top:18px;
  font-size:12px;font-weight:400;letter-spacing:.12em;
  text-transform:uppercase;
  padding:10px 22px;cursor:pointer;
  border:1px solid var(--accent);
  border-radius:999px;
  background:var(--white);color:var(--accent);
  transition:background .2s,color .2s;
}
.surprise-btn:hover{background:var(--accent);color:var(--white)}
.hero-btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.hero-btns .surprise-btn{margin-top:0;flex:1 1 0;justify-content:center;white-space:nowrap}
.latest-btn{background:var(--accent);color:var(--white)}
.latest-btn:hover{background:var(--ink);border-color:var(--ink)}

/* ─── HOME: SHELF LABEL ─── */
.shelf-label{
  display:flex;align-items:center;gap:16px;
  padding:24px 48px 18px;
}
.shelf-label span{
  font-size:14px;font-weight:400;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ink3);
  white-space:nowrap;
}
.shelf-label::after{
  content:'';flex:1;height:.5px;background:var(--line);
}

/* ─── GRID DE CAPAS ─── */
.books-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  border-top:.5px solid var(--line);
}

.book-card{
  position:relative;
  border-right:.5px solid var(--line);
  border-bottom:.5px solid var(--line);
  cursor:pointer;
  transition:background .25s;
  display:flex;flex-direction:column;
  min-height:300px;
  overflow:hidden;
}
.book-card:nth-child(2n){border-right:none}
.book-card:hover{background:var(--white)}
.book-card:hover .book-spine{opacity:1}
.book-card:hover .card-arrow{opacity:1;transform:translateX(0)}
.book-card:hover .book-numeral{color:var(--accent2)}

.book-spine{
  position:absolute;left:0;top:0;bottom:0;
  width:3px;opacity:0;
  transition:opacity .3s;
}

.book-body{padding:26px 22px 18px 26px;flex:1;display:flex;flex-direction:column}
.book-genre{
  font-size:13px;font-weight:400;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ink3);margin-bottom:14px;
}
.book-numeral{
  font-family:'Playfair Display',serif;
  font-size:86px;font-weight:300;
  color:var(--line);line-height:.9;
  letter-spacing:-3px;margin-bottom:14px;
  transition:color .3s;
}
.book-title{
  font-family:'Playfair Display',serif;
  font-size:28px;font-weight:700;
  line-height:1.25;color:var(--ink);
  margin-bottom:6px;
}
.book-subtitle{
  font-family:'Playfair Display',serif;
  font-size:19px;font-weight:300;font-style:italic;
  color:var(--ink3);line-height:1.5;
  margin-bottom:auto;padding-bottom:12px;
}
.book-excerpt{
  font-size:16px;font-weight:300;font-style:italic;
  color:var(--ink3);line-height:1.65;
  border-left:1.5px solid var(--line);
  padding-left:10px;margin-top:16px;
}

.book-foot{
  padding:12px 22px 16px 26px;
  border-top:.5px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;
}
.book-tag{
  font-size:13px;font-weight:400;letter-spacing:.1em;
  text-transform:uppercase;
  padding:3px 8px;
}
.tag-new{background:#E8F0DF;color:#3A6010}
.tag-soon{background:var(--bg3);color:var(--ink3)}

.card-arrow{
  font-size:19px;color:var(--accent);
  opacity:0;transform:translateX(-6px);
  transition:opacity .25s,transform .25s;
}

/* ─── HOME: SOBRE ─── */
.about-strip{
  border-top:.5px solid var(--line);
  display:grid;grid-template-columns:1fr 1fr;
  align-items:center;
}
.about-left{
  padding:56px 48px;
  border-right:.5px solid var(--line);
}
.about-left h2{
  font-family:'Playfair Display',serif;
  font-size:41px;font-weight:700;
  color:var(--ink);margin-bottom:16px;line-height:1.2;
}
.about-left p{
  font-size:19px;font-weight:300;
  color:var(--ink2);line-height:1.85;
}
.about-right{
  padding:56px 48px;
}
.about-blockquote{
  font-family:'Playfair Display',serif;
  font-size:29px;font-weight:300;font-style:italic;
  color:var(--ink2);line-height:1.7;
  padding-left:24px;
  border-left:2px solid var(--accent2);
  margin-bottom:12px;
}
.about-cite{
  font-size:14px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink3);margin-left:24px;
}

/* ─── FOOTER ─── */
footer{
  border-top:.5px solid var(--line);
  padding:20px 48px;
  display:flex;justify-content:space-between;align-items:center;
}
footer p{font-size:16px;color:var(--ink3);font-weight:300}

/* ─── PÁGINA DE LEITURA ─── */
.essay-nav-arrow{
  display:none;
  position:fixed;top:132px;z-index:40;
  width:40px;height:40px;
  align-items:center;justify-content:center;
  background:var(--bg);
  border:.5px solid var(--line);
  border-radius:50%;
  color:var(--accent);
  cursor:pointer;
  transition:background .2s,transform .2s,border-color .2s;
}
.essay-nav-arrow svg{width:18px;height:18px}
.essay-nav-arrow:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.essay-nav-arrow.show{display:flex}
.essay-nav-prev{left:18px}
.essay-nav-next{right:18px}
.essay-nav-arrow:disabled,.essay-nav-arrow.disabled{opacity:.3;cursor:default;pointer-events:none}
@media (max-width:900px){
  .essay-nav-arrow{top:auto;bottom:88px;width:36px;height:36px}
  .essay-nav-prev{left:10px}
  .essay-nav-next{right:10px}
}
.reader-header{
  display:grid;grid-template-columns:4px 1fr;
  border-bottom:.5px solid var(--line);
}
.reader-spine{min-height:200px}
.reader-cover{
  padding:52px 64px 40px;
}
.reader-eyebrow{
  font-size:12px;font-weight:400;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ink3);margin-bottom:10px;
}
.reader-numeral{
  font-family:'Playfair Display',serif;
  font-size:106px;font-weight:300;
  color:var(--line);line-height:.9;
  letter-spacing:-4px;margin-bottom:10px;
}
.reader-title{
  font-family:'Playfair Display',serif;
  font-size:56px;font-weight:700;
  color:var(--ink);line-height:1.1;max-width:600px;
}
.reader-subtitle{
  font-family:'Playfair Display',serif;
  font-size:20px;font-weight:300;font-style:italic;
  color:var(--ink3);margin-top:6px;
}

/* ─── PLAYER DE ÁUDIO ─── */
.audio-block{
  display:none;
  margin-top:28px;
  padding-top:24px;
  border-top:.5px solid var(--line);
  align-items:center;
  gap:16px;
  max-width:600px;
}
.audio-block.has-audio{display:flex}
.audio-toggle{
  width:44px;height:44px;
  border-radius:50%;
  background:var(--accent);
  border:none;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  flex-shrink:0;
  transition:background .15s;
}
.audio-toggle:hover{background:var(--ink2)}
.audio-toggle svg{width:16px;height:16px;fill:var(--white)}
.audio-toggle .icon-pause{display:none}
.audio-toggle.playing .icon-play{display:none}
.audio-toggle.playing .icon-pause{display:block}
.audio-body{flex:1;min-width:0}
.audio-label{
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink3);margin-bottom:6px;
}
.audio-track{
  position:relative;height:28px;display:flex;align-items:center;cursor:pointer;touch-action:none;
}
.audio-track::before{
  content:'';position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);
  height:3px;background:var(--bg3);border-radius:2px;
}
.audio-progress{
  position:absolute;left:0;top:50%;transform:translateY(-50%);height:3px;width:0%;
  background:var(--accent2);border-radius:2px;pointer-events:none;
}
.audio-progress::after{
  content:'';position:absolute;right:-12px;top:50%;transform:translateY(-50%);
  width:24px;height:24px;border-radius:50%;background:var(--accent);
}
.audio-times{
  display:flex;justify-content:space-between;
  font-size:12px;color:var(--ink3);margin-top:8px;
  font-variant-numeric:tabular-nums;
}
.audio-speed{
  font-size:12px;color:var(--ink3);
  border:.5px solid var(--line);
  padding:6px 12px;border-radius:20px;
  cursor:pointer;flex-shrink:0;
  transition:border-color .15s;
  user-select:none;
}
.audio-speed:hover{border-color:var(--accent)}
@media(max-width:900px){
  .reader-subtitle{max-width:100%}
  .audio-block{max-width:100%;flex-wrap:wrap}
}

/* CHAPTER NAV */
.chapter-tabs{
  display:flex;border-bottom:.5px solid var(--line);
  overflow-x:auto;
}
.chapter-tab{
  padding:12px 22px;
  border-right:.5px solid var(--line);
  cursor:pointer;transition:background .2s;
  white-space:nowrap;min-width:140px;
  flex-shrink:0;
}
.chapter-tab:last-child{border-right:none}
.chapter-tab:hover{background:var(--bg2)}
.chapter-tab.active{
  background:var(--bg2);
  box-shadow:inset 0 -2px 0 var(--accent2);
}
.tab-num{
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink3);margin-bottom:3px;
}
.tab-title{
  font-family:'Playfair Display',serif;
  font-size:16px;color:var(--ink);line-height:1.3;
}

/* PROSE */
.prose-wrap{
  max-width:680px;
  margin:0 auto;
  padding:60px 48px 80px;
}
.prose-chapter-label{
  font-size:12px;font-weight:400;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ink3);
  margin-bottom:32px;
  display:flex;align-items:center;gap:14px;
}
.prose-chapter-label::after{
  content:'';flex:1;height:.5px;background:var(--line);max-width:100px;
}
.prose-heading{
  font-family:'Playfair Display',serif;
  font-size:41px;font-weight:700;
  color:var(--ink);line-height:1.2;
  margin-bottom:36px;
}
.prose-p{
  font-family:'Playfair Display',serif;
  font-size:22px;font-weight:300;
  line-height:1.9;color:var(--ink2);
  margin-bottom:22px;
}
.prose-p strong{color:var(--ink);font-weight:500}
.prose-em{
  font-family:'Playfair Display',serif;
  font-size:22px;font-weight:300;font-style:italic;
  color:var(--ink);line-height:1.8;margin-bottom:22px;
}
.drop::first-letter{
  font-family:'Playfair Display',serif;
  font-size:77px;font-weight:400;
  float:left;line-height:.8;
  margin-right:8px;margin-top:8px;
  color:var(--accent);
}
.pull{
  border-left:2px solid var(--accent2);
  padding:16px 24px;margin:36px 0;
  background:var(--white);
}
.pull p{
  font-family:'Playfair Display',serif;
  font-size:25px;font-style:italic;font-weight:300;
  color:var(--ink);line-height:1.6;
}
.poem-quote{
  border-left:2px solid var(--accent);
  padding:6px 28px;
  margin:32px 0;
  background:transparent;
}
.poem-quote p{
  font-family:'Playfair Display',serif;
  font-size:18px;
  font-style:italic;
  font-weight:400;
  color:var(--ink2);
  line-height:1.85;
}
@media(max-width:640px){
  .poem-quote{padding:6px 18px}
  .poem-quote p{font-size:16px}
}
.section-break{
  text-align:center;
  font-family:'Playfair Display',serif;
  font-size:24px;color:var(--accent2);
  margin:40px 0;letter-spacing:4px;
}
.section-num{
  font-family:'Playfair Display',serif;
  font-size:16px;font-style:italic;color:var(--ink3);
  margin-bottom:8px;margin-top:40px;
}
.prose-stamp{
  display:inline-block;
  font-size:13px;font-weight:400;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink3);
  border:.5px solid var(--line);
  padding:4px 12px;margin-bottom:10px;
}
.prose-epigraph{
  max-width:540px;margin:0 auto 48px;
  text-align:center;padding-bottom:36px;
  border-bottom:.5px solid var(--line);
}
.prose-epigraph-greek{
  font-family:'Playfair Display',serif;font-style:italic;
  font-size:16px;color:var(--ink3);line-height:1.7;
  margin-bottom:18px;
}
.prose-epigraph-trans{
  font-family:'Playfair Display',serif;font-style:italic;font-weight:300;
  font-size:26px;color:var(--ink);line-height:1.45;
  margin-bottom:20px;
}
.prose-epigraph-note{
  font-family:'Jost',sans-serif;font-size:14.5px;
  color:var(--ink3);line-height:1.75;
  margin-bottom:22px;
}
.prose-epigraph-note em{font-style:italic;color:var(--ink2)}
.prose-epigraph-call{
  font-family:'Playfair Display',serif;font-style:italic;
  font-size:19px;color:var(--accent);
}
.prose-latin-sub{
  display:inline-block;
  font-family:'Jost',sans-serif;font-size:11px;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--accent);
  border:1px solid var(--line);
  border-radius:999px;
  padding:5px 14px;
  margin-top:-20px;margin-bottom:36px;
}


/* DEDICATÓRIA */
.dedication-block{
  max-width:620px;
  margin:0 auto 40px;
  padding:28px 36px;
  border-top:.5px solid var(--line);
  border-bottom:.5px solid var(--line);
  text-align:center;
}
.dedication-label{
  font-family:'Jost',sans-serif;
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ink3);
  margin-bottom:12px;
}
.dedication-text{
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-size:16px;
  color:var(--ink2);
  line-height:1.75;
}
.dedication-name{
  font-style:normal;
  font-weight:500;
  color:var(--ink);
}
@media(max-width:640px){
  .dedication-block{padding:22px 20px}
  .dedication-text{font-size:15px}
}
/* ASSINATURA */
.signature-block{
  max-width:620px;
  margin:0 auto 44px;
  padding:0 36px;
  text-align:center;
}
.signature-text{
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-size:18px;
  letter-spacing:.01em;
  color:var(--ink3);
}
@media(max-width:640px){
  .signature-block{padding:0 20px}
  .signature-text{font-size:16px}
}
/* READER FOOTER */
.reader-foot{
  border-top:.5px solid var(--line);
  padding:16px 48px;
  display:flex;justify-content:center;align-items:center;
  background:var(--bg);
  position:sticky;bottom:0;
}
.page-info{
  display:none;
  font-family:'Playfair Display',serif;
  font-size:16px;font-style:italic;color:var(--ink3);
}
.foot-btns{display:flex;gap:10px}
.btn{
  display:flex;align-items:center;gap:6px;
  font-size:12px;font-weight:400;letter-spacing:.1em;
  text-transform:uppercase;
  padding:8px 18px;cursor:pointer;
  border:.5px solid var(--line);
  border-radius:999px;
  background:none;color:var(--ink2);
  transition:background .2s,color .2s;
}
.btn:hover{background:var(--bg3);color:var(--ink)}
.btn svg{flex:none}
.btn-primary{
  background:var(--accent);color:var(--white);
  border-color:var(--accent);
}
.btn-primary:hover{background:#5E4528}

/* ─── LANG SELECTOR ─── */
.lang-selector{
  display:flex;align-items:center;gap:4px;
  border:.5px solid var(--line);
  padding:4px 4px;
  border-radius:999px;
}
.lang-btn{
  font-size:14px;font-weight:400;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink3);
  padding:4px 8px;cursor:pointer;
  border:none;background:none;
  transition:background .2s,color .2s;
  border-radius:999px;
}
.lang-btn.active,.lang-btn:hover{
  background:var(--accent);color:var(--white);
}
.lang-divider{width:.5px;height:12px;background:var(--line)}
/* ─── LANG SELECTOR (mobile compact) ─── */
.lang-selector-mobile{display:none;position:relative}
.lang-toggle-mobile{
  width:32px;height:32px;border-radius:999px;
  border:.5px solid var(--line);background:none;color:var(--ink2);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:background .2s,color .2s;
}
.lang-toggle-mobile:hover,.lang-toggle-mobile.active{background:var(--bg3);color:var(--ink)}
.lang-menu-mobile{
  display:none;flex-direction:column;
  position:absolute;top:calc(100% + 8px);right:0;
  background:var(--white);border:.5px solid var(--line);border-radius:12px;
  padding:6px;min-width:130px;
  box-shadow:0 8px 24px rgba(0,0,0,.1);z-index:60;
}
.lang-menu-mobile.open{display:flex}
.lang-menu-mobile .lang-btn{
  border-radius:8px;padding:9px 12px;text-align:left;
  font-size:13px;letter-spacing:normal;text-transform:none;
}
.lang-menu-mobile .lang-btn.active,.lang-menu-mobile .lang-btn:hover{
  background:var(--accent);color:var(--white);
}
/* hide Google's toolbar */
#google_translate_element{display:none}
.goog-te-banner-frame{display:none!important}
body{top:0!important}
.skiptranslate{display:none!important}

@media(max-width:900px){
  nav{padding:10px 20px;flex-wrap:wrap;height:auto;gap:8px}
  .nav-right{gap:16px;flex-wrap:wrap}
  .hero{grid-template-columns:1fr;padding:48px 20px 36px}
  .hero-right{display:none}
  .hero-count-mobile{display:flex}
  .books-grid{grid-template-columns:1fr}
  .book-card{border-right:none}
  .about-strip{grid-template-columns:1fr}
  .about-left{border-right:none;border-bottom:.5px solid var(--line)}
  footer{flex-direction:column;gap:8px;padding:16px 20px}
  .prose-wrap{padding:40px 20px 60px}
  .reader-cover{padding:36px 20px 28px}
  .shelf-label{padding:20px 20px 14px}
  .reader-foot{padding:12px 20px}
}
@media(max-width:600px){
  .hero-title{font-size:43px}
  .chapter-tabs{flex-direction:column}
  .chapter-tab{border-right:none;border-bottom:.5px solid var(--line)}
  .lang-selector{display:none}
  .lang-selector-mobile{display:block}
}

/* ── Compartilhamento ─────────────────────────────────────── */
.share-box{
  margin:48px 0 8px;
  padding-top:32px;
  border-top:1px solid var(--line);
  text-align:center;
}
.share-text{
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-weight:500;
  font-size:1.05rem;
  color:var(--ink2);
  margin-bottom:18px;
  letter-spacing:.01em;
}
.share-buttons{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.share-btn{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:9px 16px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--white);
  color:var(--ink2);
  font-family:'Jost',sans-serif;
  font-size:.78rem;
  font-weight:400;
  letter-spacing:.05em;
  text-decoration:none;
  text-transform:uppercase;
  cursor:pointer;
  transition:.2s ease;
}
.share-btn:hover{
  border-color:var(--accent);
  color:var(--accent);
  background:var(--bg2);
}
.share-btn svg{width:14px;height:14px;flex:none;fill:currentColor}
.share-btn.copied{border-color:var(--accent);color:var(--accent)}
@media (max-width:640px){
  .share-buttons{gap:8px}
  .share-btn{padding:8px 13px;font-size:.72rem}
}

.about-contact{
  margin-top:28px;
  padding-top:24px;
  border-top:.5px solid var(--line);
}
.about-contact-label{
  font-size:13px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink3);margin-bottom:10px;
}
.about-contact-quote{
  font-family:'Playfair Display',serif;
  font-style:italic;font-weight:400;
  font-size:17px;color:var(--ink2);
  line-height:1.6;margin-bottom:10px;
}
.about-contact-email{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:'Jost',sans-serif;
  font-size:.85rem;
  font-weight:500;
  letter-spacing:.02em;
  color:var(--accent);
  text-decoration:none;
  padding:9px 20px;
  border:1px solid var(--accent);
  border-radius:999px;
  transition:.2s ease;
}
.about-contact-email svg{width:14px;height:14px;flex:none;fill:currentColor}
.about-contact-email:hover{
  background:var(--accent);
  color:#FFFFFF;
}

/* ── Filtro por tema ──────────────────────────────────────── */
.theme-accordion{
  padding:0 48px 28px;
}
.theme-accordion-trigger{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  padding:11px 24px;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:999px;
  cursor:pointer;
  font-family:'Jost',sans-serif;
  font-size:.82rem;
  font-weight:400;
  color:var(--ink2);
  letter-spacing:.03em;
  transition:.2s ease;
  user-select:none;
}
.theme-accordion-trigger:hover{
  border-color:var(--accent);
}
.theme-accordion-trigger.open{
  border-radius:26px 26px 0 0;
  border-bottom-color:transparent;
}
.theme-acc-left{
  display:flex;
  align-items:center;
  gap:10px;
}
.theme-acc-label{
  font-size:13px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ink3);
  font-weight:400;
}
.theme-acc-badge{
  display:none;
  align-items:center;
  justify-content:center;
  background:var(--accent);
  color:#fff;
  font-size:.65rem;
  font-weight:600;
  letter-spacing:.04em;
  border-radius:999px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  line-height:1;
}
.theme-acc-badge.visible{
  display:inline-flex;
}
.theme-acc-chevron{
  font-size:11px;
  color:var(--accent);
  transition:transform .25s ease;
  flex-shrink:0;
}
.theme-accordion-trigger.open .theme-acc-chevron{
  transform:rotate(180deg);
}
.theme-filter{
  display:none;
  flex-wrap:wrap;
  align-items:center;
  gap:9px;
  padding:14px 24px 20px;
  background:var(--white);
  border:1px solid var(--line);
  border-top:none;
  border-radius:0 0 26px 26px;
}
.theme-filter.open{
  display:flex;
}
.theme-pill{
  display:inline-flex;
  align-items:center;
  padding:7px 15px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--bg);
  color:var(--ink2);
  font-family:'Jost',sans-serif;
  font-size:.78rem;
  font-weight:400;
  letter-spacing:.02em;
  cursor:pointer;
  transition:.2s ease;
  user-select:none;
}
.theme-pill:hover{
  border-color:var(--accent);
  color:var(--accent);
}
.theme-pill.active{
  background:var(--accent);
  border-color:var(--accent);
  color:#FFFFFF;
  font-weight:500;
}
.theme-pill.clear-pill{
  display:none;
  color:var(--ink3);
  border-style:dashed;
}
.theme-pill.clear-pill.visible{
  display:inline-flex;
}
.book-card.theme-hidden{
  display:none !important;
}
.theme-empty-msg{
  display:none;
  padding:40px 48px 60px;
  text-align:center;
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-size:1.1rem;
  color:var(--ink3);
}
.theme-empty-msg.visible{
  display:block;
}
.theme-result-count{
  display:none;
  padding:10px 0 0;
  font-family:'Jost',sans-serif;
  font-size:.82rem;
  letter-spacing:.04em;
  color:var(--ink3);
}
.theme-result-count.visible{
  display:block;
}
@media (max-width:640px){
  .theme-accordion{padding:0 20px 22px}
  .theme-pill{padding:6px 12px;font-size:.72rem}
}


/* ── Entrada por gênero ───────────────────────────────────── */
.genre-gate{ padding:0 48px 22px; }
.genre-gate-head{ display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin:0 0 12px; }
.genre-gate-label{ margin:0; font-family:'Jost',sans-serif; font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink3); }
.genre-gate-hint{ margin:0; font-family:'Jost',sans-serif; font-size:.8rem; color:var(--ink3); }
.genre-strip{ display:flex; flex-wrap:wrap; gap:8px; }
.genre-chip{ display:inline-flex; align-items:baseline; gap:7px; padding:8px 14px; border:1px solid var(--line); border-radius:999px; background:var(--white); color:var(--ink2); font-family:'Jost',sans-serif; font-size:.8rem; letter-spacing:.02em; cursor:pointer; transition:.2s ease; user-select:none; }
.genre-chip:hover{ border-color:var(--accent); color:var(--accent); }
.genre-chip:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.genre-chip .genre-n{ font-size:.7rem; color:var(--ink3); }
.genre-chip.active{ background:var(--accent); border-color:var(--accent); color:#FFFFFF; font-weight:500; }
.genre-chip.active .genre-n{ color:rgba(255,255,255,.78); }
.genre-chip[data-genre=""].active{ background:var(--white); border-color:var(--ink2); color:var(--ink); font-weight:500; }
.genre-chip[data-genre=""].active .genre-n{ color:var(--ink3); }
.genre-info{ margin:12px 0 0; font-family:'Jost',sans-serif; font-size:.88rem; line-height:1.55; color:var(--ink2); }
.genre-info:empty{ display:none; }
.genre-info strong{ font-weight:500; color:var(--ink); }
.genre-info .genre-sub{ display:block; margin-top:2px; font-size:.78rem; color:var(--ink3); letter-spacing:.02em; }
.book-card.genre-hidden{ display:none !important; }
@media (max-width:640px){
  .genre-gate{ padding:0 20px 16px; }
  .genre-strip{ flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; padding-bottom:8px; scrollbar-width:thin; }
  .genre-chip{ flex:0 0 auto; padding:7px 12px; font-size:.76rem; }
  .theme-accordion-trigger{ padding:10px 20px; }
  .theme-filter{ padding:12px 18px 18px; }
}

/* ── Página: Gêneros da coleção ───────────────────────────── */
.genre-gate-link{ background:none; border:none; padding:0; cursor:pointer; font-family:'Jost',sans-serif; font-size:.8rem; color:var(--accent); border-bottom:1px solid var(--accent2); }
.genre-gate-link:hover{ color:var(--ink); border-color:var(--ink); }
.genre-card{ position:relative; border:1px solid var(--line); background:var(--white); border-radius:12px; padding:22px 24px 20px 26px; margin:0 0 18px; }
.genre-card::before{ content:''; position:absolute; left:0; top:18px; bottom:18px; width:3px; background:var(--accent2); border-radius:0 2px 2px 0; }
.genre-card-head{ display:flex; align-items:baseline; justify-content:space-between; gap:6px 14px; flex-wrap:wrap; }
.genre-card-name{ font-family:'Playfair Display',serif; font-size:28px; font-weight:700; color:var(--ink); line-height:1.2; margin:0; }
.genre-card-meta{ font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink3); }
.genre-card-def{ margin:10px 0 0; font-size:17px; line-height:1.55; color:var(--ink2); }
.genre-card-when{ margin:2px 0 16px; font-size:15px; font-style:italic; color:var(--ink3); }
.genre-card-links{ display:flex; flex-direction:column; gap:9px; margin:0 0 18px; }
.genre-link{ display:flex; align-items:baseline; gap:12px; text-align:left; background:none; border:none; padding:0; cursor:pointer; color:var(--ink2); font:inherit; font-size:15px; line-height:1.4; }
.genre-link .glabel{ flex:0 0 96px; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink3); }
.genre-link .gtitle{ border-bottom:1px solid var(--line); transition:.2s ease; }
.genre-link:hover .gtitle{ color:var(--accent); border-color:var(--accent); }
.genre-card .btn{ display:inline-flex; }
@media (max-width:640px){
  .genre-card{ padding:18px 18px 16px 20px; }
  .genre-card-name{ font-size:24px; }
  .genre-link .glabel{ flex-basis:82px; }
}

/* ── Acessibilidade (Fase 1) ───────────────────────────────── */
.skip-link{ position:absolute; left:12px; top:-70px; z-index:10000; padding:10px 20px; background:var(--ink); color:#FFFFFF; font-family:'Jost',sans-serif; font-size:.9rem; font-weight:400; letter-spacing:.04em; text-transform:none; text-decoration:none; border-radius:999px; transition:top .15s; }
.skip-link:focus{ top:12px; color:#FFFFFF; }
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
a:focus-visible, button:focus-visible, [role="button"]:focus-visible, [role="tab"]:focus-visible, [role="slider"]:focus-visible, summary:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
[role="tab"]:focus-visible{ outline-offset:-3px; }
main:focus, h1:focus, .reader-title:focus{ outline:none; }
a.book-card{ color:inherit; font-size:inherit; font-weight:inherit; letter-spacing:inherit; text-transform:inherit; text-decoration:none; }
a.book-card:hover{ color:inherit; }
a.book-card:focus-visible{ outline-offset:-4px; }
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *, *::before, *::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}

/* Nome do autor como link de contato */
footer a, .hero-eyebrow a{ font-size:inherit; font-weight:inherit; letter-spacing:inherit; text-transform:inherit; color:inherit; border-bottom:1px solid var(--line); transition:color .2s, border-color .2s; }
footer a:hover, .hero-eyebrow a:hover{ color:var(--accent); border-color:var(--accent); }

.prose-p.dlg{ margin-bottom:10px; }

/* ── Páginas individuais ── */
a.essay-nav-arrow{ text-decoration:none; font-size:inherit; letter-spacing:0; }
.essay-nav-arrow.disabled{ opacity:.25; pointer-events:none; }
a.genre-link, a.genre-chip, a.genre-gate-link{ text-transform:none; letter-spacing:normal; text-decoration:none; }
a.genre-chip{ font-size:.8rem; }
a.btn, footer a, .hero-eyebrow a{ text-decoration:none; }
.genre-link .glabel{ flex:0 0 112px; white-space:nowrap; }
@media (max-width:640px){ .genre-link .glabel{ flex-basis:100px; } }
.nr-heading{ font-family:'Playfair Display',serif; font-size:26px; font-weight:700; line-height:1.25; color:var(--ink); margin:6px 0 4px; }
.next-read{ margin-top:34px; }
.next-read .gp-list{ margin-top:16px; }
.gp-meta{ display:flex; flex-wrap:wrap; gap:6px 18px; margin:6px 0 22px; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink3); }
.gp-links{ margin:0 0 8px; }
.gp-list{ list-style:none; margin:30px 0 0; padding:0; border-top:1px solid var(--line); }
.gp-item a{ display:flex; gap:22px; padding:22px 6px; border-bottom:1px solid var(--line); color:inherit; text-decoration:none; text-transform:none; letter-spacing:normal; font-size:inherit; transition:background .2s; }
.gp-item a:hover{ background:var(--bg2); }
.gp-num{ flex:0 0 132px; font-family:'Playfair Display',serif; font-size:24px; line-height:1.2; color:var(--ink3); }
.gp-title{ display:block; font-family:'Playfair Display',serif; font-size:21px; font-weight:700; line-height:1.3; color:var(--ink); }
.gp-theme{ display:block; margin-top:3px; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink3); }
.gp-phrase{ display:block; margin-top:9px; font-style:italic; font-size:16px; line-height:1.55; color:var(--ink2); }
.genre-card-name a{ color:inherit; font-size:inherit; letter-spacing:normal; text-transform:none; text-decoration:none; border-bottom:1px solid transparent; transition:border-color .2s, color .2s; }
.genre-card-name a:hover{ color:var(--accent); border-color:var(--accent); }
.gp-others{ margin:44px 0 0; }
.gp-others h2{ font-family:'Jost',sans-serif; font-size:.74rem; font-weight:400; letter-spacing:.16em; text-transform:uppercase; color:var(--ink3); margin:0 0 12px; }
@media (max-width:640px){ .gp-item a{ flex-direction:column; gap:4px; } .gp-num{ flex:none; font-size:15px; } .gp-title{ font-size:19px; } }
.page-404{ max-width:680px; margin:0 auto; padding:120px 24px; text-align:center; }
.page-404 h1{ font-family:'Playfair Display',serif; font-size:44px; margin-bottom:18px; }
.page-404 p{ color:var(--ink2); line-height:1.7; margin-bottom:28px; }

/* ── Página /encontro/ e pontos de entrada ── */
.enc-pix{ margin:26px 0 8px; padding:22px 24px; border:1px solid var(--line); background:var(--bg2); border-radius:14px; }
.enc-pix-label{ margin:0 0 8px; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink3); }
.enc-pix-key{ display:block; margin:0 0 16px; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:17px; line-height:1.5; color:var(--ink); word-break:break-all; -webkit-user-select:all; user-select:all; }
.enc-actions{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.enc-copy{ display:none; }
.js .enc-copy{ display:inline-flex; }
.enc-status{ min-height:1.7em; margin:12px 0 0; font-size:16px; line-height:1.5; color:var(--accent); }
.enc-howto{ margin:14px 0 0; font-size:16px; line-height:1.65; color:var(--ink2); }
.enc-partner{ margin-top:42px; padding-top:30px; border-top:1px solid var(--line); }
.enc-end{ margin:46px 0 6px; text-align:center; font-family:'Playfair Display',serif; font-style:italic; font-size:26px; color:var(--ink2); }
.enc-share{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin:22px 0 0; }
.enc-block{ margin:36px auto 0; padding:24px 6px 6px; border-top:1px solid var(--line); text-align:center; }
.enc-block p{ margin:0 0 6px; font-size:17px; line-height:1.65; color:var(--ink2); }
.enc-block .enc-q{ font-family:'Playfair Display',serif; font-style:italic; font-size:20px; color:var(--ink); }
.enc-curadoria{ margin:34px 0 0; padding:20px 4px 0; border-top:1px solid var(--line); }
.enc-curadoria p{ margin:0; font-size:17px; line-height:1.7; color:var(--ink2); }
.enc-cta{ display:flex; justify-content:center; margin:14px 0 4px; }
.enc-curadoria .enc-cta, .about-left .enc-cta{ justify-content:flex-start; }
.about-left .enc-cta{ margin-top:26px; }
.enc-btn{ max-width:100%; text-align:left; }
@media (max-width:640px){ .enc-btn{ font-size:.7rem; } }
footer a[href$="encontro/"]{ white-space:normal; }
@media (max-width:640px){ .enc-pix{ padding:18px 16px; } .enc-pix-key{ font-size:15px; } .enc-end{ font-size:22px; } }
