@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap");
:root{--ink:#10213c;--forest:#476b50;--sage:#789675;--pale:#eef1e8;--cream:#fcfaf5;--line:#e8ddcf;--orange:#eb7c3b;--coral:#ec6554;--shadow:0 14px 35px rgba(41,50,38,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fbfaf5;color:var(--ink);font-family:"DM Sans",sans-serif}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}.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}
main{min-height:100vh;overflow:hidden;isolation:isolate;position:relative;background:radial-gradient(ellipse 37rem 25rem at 17% 25%,rgba(224,229,214,.66) 0%,rgba(244,243,236,.42) 58%,transparent 59%),radial-gradient(ellipse 29rem 34rem at 101% 92%,rgba(250,207,187,.62) 0%,rgba(250,226,211,.45) 56%,transparent 57%),radial-gradient(ellipse 21rem 24rem at -3% 87%,rgba(198,211,191,.72) 0%,rgba(224,231,216,.48) 60%,transparent 61%),linear-gradient(105deg,rgba(111,91,55,.018) 25%,transparent 25%) 0 0/7px 7px,linear-gradient(180deg,#fff 0%,#fffefa 58%,#faf8f1 100%)}
main::before,.botanical-top,.history-section::before,.history-section::after{content:"";position:absolute;pointer-events:none;background-repeat:no-repeat;background-position:center;background-size:contain}main::before{z-index:-1;width:175px;height:330px;left:8px;top:165px;background-image:url("/botanical-left.svg");opacity:.85}.botanical-top{z-index:1;width:min(34vw,520px);height:180px;right:-8px;top:-5px;background-image:url("/botanical-top-right.svg")}.botanical-top span{display:none}.history-section::before{z-index:-1;width:330px;height:230px;left:-22px;bottom:-6px;background-image:url("/botanical-bottom-left.svg");opacity:.85}.history-section::after{z-index:-1;width:240px;height:330px;right:-22px;bottom:-55px;background-image:url("/botanical-bottom-right.svg");opacity:.72}
.site-header{width:min(1420px,calc(100% - 64px));height:104px;margin:auto;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20}.brand{color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:12px;font:700 clamp(1.35rem,2.2vw,2rem)/1 "Libre Baskerville",serif}.brand em{color:var(--forest);font-weight:400}.brand-icon{color:var(--forest);width:47px;height:47px;border:1.5px solid var(--forest);border-radius:50% 50% 45% 55%;display:grid;place-items:center;font-size:1.8rem;transform:rotate(-8deg)}nav{display:flex;gap:60px;margin-right:25%}nav a{color:var(--ink);text-decoration:none;font:400 1.05rem "Libre Baskerville",serif;padding:10px 0;position:relative}nav a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--forest);transition:right .2s ease}nav a:hover::after,nav a:focus-visible::after{right:0}.menu-button{display:none;background:none;border:0;padding:9px}.menu-button span:not(.sr-only){display:block;width:25px;height:2px;background:var(--ink);margin:5px}
.hero{width:min(1420px,calc(100% - 64px));margin:18px auto 12px;display:grid;grid-template-columns:1fr 1.08fr;gap:48px;align-items:center}.current-book{min-height:355px;display:grid;grid-template-columns:220px 1fr;align-items:center;gap:34px;position:relative;padding-left:50px}.current-book::before{content:"";position:absolute;inset:15px 8% 0 0;background:#f0f1ea;border-radius:43% 57% 61% 39%/55% 42% 58% 45%;z-index:0}.current-book>*{position:relative;z-index:1}.hero-leaf{position:absolute;left:-12px;bottom:10px;color:var(--forest);font-size:3rem;line-height:.6;transform:rotate(-20deg);opacity:.7}
.book-cover{width:200px;height:310px;border-radius:5px;padding:24px 17px;box-shadow:0 12px 19px rgba(12,28,35,.28),inset 8px 0 15px rgba(255,255,255,.07);color:#fff7e8;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;font-family:"Libre Baskerville",serif;position:relative;overflow:hidden;flex:none}.book-cover::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.7) 0 1px,transparent 1.6px) 0 0/24px 27px;opacity:.28}.cover-title,.cover-author,.cover-mark{position:relative;z-index:1}.cover-title{font-size:1.13rem;line-height:1.35;text-transform:uppercase;letter-spacing:.04em}.cover-mark{font-size:2.7rem;color:#d9ad54}.cover-author{font-size:.78rem;text-transform:uppercase;letter-spacing:.15em}.book-cover-small{width:128px;height:190px;padding:17px 11px}.book-cover-small .cover-title{font-size:.72rem}.book-cover-small .cover-mark{font-size:1.9rem}.book-cover-small .cover-author{font-size:.52rem}.cover-midnight,.cover-hamnet{background:linear-gradient(160deg,#102f42,#061f35 68%,#0a263a)}.cover-torto{background:linear-gradient(165deg,#f8d0a7,#f4ebd9);color:#9f3d29}.cover-handmaid{background:linear-gradient(160deg,#2d1715,#140b0a)}.cover-pachinko{background:linear-gradient(155deg,#639694,#315f65)}.cover-euridice{background:linear-gradient(155deg,#294f47,#163b37)}.cover-agua{background:linear-gradient(155deg,#3b7b82,#174956)}
.current-copy{padding-top:6px}.eyebrow{display:inline-block;background:#dfe7da;color:#274a34;border-radius:999px;padding:8px 17px;font-weight:600;margin-bottom:15px}h1,h2,h3{font-family:"Libre Baskerville",serif;font-weight:400}h1{font-size:clamp(2.35rem,4vw,3.65rem);line-height:1.17;margin:0;letter-spacing:-.04em}.title-stroke{display:block;width:54px;height:2px;background:var(--orange);margin:13px 0 12px}.author{color:var(--forest);font:400 1.45rem "Libre Baskerville",serif;margin:0 0 7px}.reading-date{color:#65726b;font-size:.85rem;margin:0 0 18px}.primary-button{color:white;border:0;border-radius:9px;background:linear-gradient(135deg,#759872,#4f7858);padding:14px 21px;text-transform:uppercase;font-weight:600;letter-spacing:.01em;box-shadow:0 7px 16px rgba(64,102,72,.2);transition:transform .18s,box-shadow .18s}.primary-button:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(64,102,72,.27)}.primary-button span{margin-right:8px}
.progress-panel{border:1px solid #eadfce;border-radius:19px;padding:15px 22px 17px;background:rgba(255,255,255,.58);backdrop-filter:blur(7px)}.section-heading{display:flex;align-items:center;gap:10px;color:var(--forest)}.section-heading h2{margin:0;font-size:1.55rem}.section-heading span{font-size:1.6rem}.progress-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px 22px;margin-top:12px}.person-card{border:1px solid #eadfce;border-radius:15px;padding:6px 15px 6px 9px;display:flex;align-items:center;gap:13px;background:rgba(255,255,255,.76);min-width:0}.avatar{width:48px;height:48px;display:grid;place-items:center;flex:none;border-radius:50%;color:#223928;font-size:1.6rem;transform:rotate(-10deg)}.avatar-sage{background:#d9e1d3}.avatar-apricot{background:#fed7b3}.avatar-cream{background:#f9e7d5}.avatar-coral{background:#f8b19d}.avatar-forest{background:#8baa81}.person-data{flex:1;min-width:0}.person-line{display:flex;align-items:baseline;gap:15px;margin-bottom:7px}.person-line strong{font:400 1rem "Libre Baskerville",serif}.person-line span{font-size:.86rem}.progress-track{height:8px;border-radius:999px;background:#edece8;overflow:hidden}.progress-fill{display:block;height:100%;border-radius:inherit;transition:width .45s ease}.fill-sage,.fill-forest{background:#678c68}.fill-apricot,.fill-cream{background:linear-gradient(90deg,#e77d3b,#f2a54e)}.fill-coral{background:#eb6855}
.voting-section,.history-section{width:min(1420px,calc(100% - 64px));margin:16px auto 0;scroll-margin-top:20px}.ornament-title{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;color:var(--forest)}.ornament-title>span{height:1px;background:#e1d5c3}.ornament-title h2{font-size:clamp(1.45rem,2.7vw,2rem);margin:0;text-align:center}.section-intro{text-align:center;color:#7a827c;font-size:.9rem;margin:7px 0 16px}.vote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px}.vote-card{min-height:205px;border:1px solid #ead5c1;border-radius:16px;padding:11px 18px 11px 21px;display:flex;align-items:center;gap:28px;position:relative;overflow:hidden}.vote-card-1{background:linear-gradient(120deg,#fff6e9,#fffaf3)}.vote-card-2{background:linear-gradient(120deg,#fff7f3,#fcedea)}.vote-card-3{background:linear-gradient(120deg,#f7f7ed,#f2f3eb)}.vote-copy{align-self:stretch;padding:22px 0 13px;display:flex;flex-direction:column;justify-content:space-between;min-width:0;position:relative;z-index:2}.vote-copy h3{font-size:1.25rem;margin:0 0 5px}.vote-copy p{font:400 .98rem "Libre Baskerville",serif;margin:0;color:#3b4a4d}.card-flourish{color:var(--orange)}.vote-card-2 .card-flourish{color:var(--coral)}.vote-card-3 .card-flourish{color:var(--forest)}.vote-actions{display:flex;align-items:center;gap:13px}.vote-actions button{border:0;border-radius:8px;padding:11px 27px;color:white;text-transform:uppercase;font-weight:600;background:var(--orange);min-width:105px}.vote-card-2 .vote-actions button{background:var(--coral)}.vote-card-3 .vote-actions button{background:#72946b}.vote-actions button.is-voted{background:var(--ink)}.vote-actions span{color:#7c817a;font-size:.75rem;white-space:nowrap}.card-plant{position:absolute;right:-4px;bottom:-9px;color:var(--orange);font-size:2.6rem;line-height:.55;transform:rotate(15deg);opacity:.65}.vote-card-2 .card-plant{color:var(--coral)}.vote-card-3 .card-plant{color:var(--forest)}
.history-section{margin-top:23px;position:relative;z-index:0}.history-title{grid-template-columns:1fr auto 1fr}.history-title h2{font-size:1.55rem}.shelf-scene{height:215px;display:flex;align-items:flex-end;justify-content:center;gap:46px;position:relative;padding-bottom:21px}.shelf-scene .book-cover-small{width:132px;height:185px;z-index:2;transform:translateY(1px)}.shelf{position:absolute;bottom:5px;left:0;right:0;height:19px;border-radius:3px;background:linear-gradient(#e8bd8b,#c88f55);box-shadow:0 7px 8px rgba(86,50,24,.22)}.decor{position:relative;z-index:2;flex:none;color:var(--forest)}.decor-vase{width:95px;height:99px;border-radius:47% 47% 37% 37%/30% 30% 70% 70%;background:#e4e1d9;display:grid;place-items:start center;box-shadow:inset 0 0 0 1px #d6d0c4}.decor-vase span{font-size:4.4rem;transform:translateY(-50px) rotate(-20deg)}.decor-books{display:flex;align-items:flex-end;gap:2px}.decor-books i{display:block;width:19px;height:95px;background:#7b8a69;border-radius:2px 2px 0 0}.decor-books i:nth-child(2){height:108px;background:#e3d5bb}.decor-books i:nth-child(3){height:102px;background:#f2e8d7}.decor-pot{width:74px;height:63px;display:grid;place-items:center;background:#e3e0d7;border-radius:12px 12px 33px 33px;font-size:3.5rem}.decor-frame{width:130px;height:162px;border:13px solid #ddc2a2;background:#f5efe5;display:grid;place-items:center;font-size:4rem;color:#8da284;box-shadow:var(--shadow)}.history-note{text-align:center;color:#768079;font:italic .9rem "Libre Baskerville",serif;margin:7px 0 25px}footer{border-top:1px solid #e8dfd0;text-align:center;padding:24px;color:#607066;background:rgba(240,239,231,.55)}footer span{font:400 1.1rem "Libre Baskerville",serif;color:var(--forest)}footer p{margin:5px 0 0;font-size:.8rem}
.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(12,27,31,.48);backdrop-filter:blur(5px);animation:fade .18s ease}.modal{width:min(500px,100%);background:#fffdfa;border-radius:20px;padding:31px;box-shadow:0 28px 80px rgba(9,20,25,.32);position:relative}.modal h2{color:var(--forest);margin:4px 0 9px;font-size:1.7rem}.modal>p{color:#69746d;margin:0 0 22px}.modal-close{position:absolute;top:14px;right:17px;border:0;background:none;font-size:1.8rem;color:#687169}.modal-leaf{color:var(--orange);font-size:1.9rem}.modal form{display:grid;gap:15px}.modal label,.modal legend{display:grid;gap:6px;font-weight:600;font-size:.88rem;color:#34443b}.modal select,.modal input{width:100%;border:1px solid #dcd5c9;border-radius:9px;padding:12px 13px;background:white;color:var(--ink);outline:none}.modal select:focus,.modal input:focus{border-color:var(--sage);box-shadow:0 0 0 3px rgba(120,150,117,.15)}.modal fieldset{border:0;padding:0;margin:0}.checkpoint-row{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:8px}.checkpoint-row label{display:block}.checkpoint-row input{position:absolute;opacity:0;pointer-events:none}.checkpoint-row span{display:grid;place-items:center;padding:10px 4px;border:1px solid #dad5ca;border-radius:8px;font-weight:500;cursor:pointer}.checkpoint-row label.selected span{color:white;border-color:var(--forest);background:var(--forest)}.pin-hint{font-size:.78rem;color:#7b817d;margin:0}.modal-submit{width:100%;margin-top:2px}.modal-submit:disabled{opacity:.65;cursor:wait}.toast{position:fixed;z-index:120;left:50%;bottom:26px;transform:translateX(-50%);color:white;background:#183428;border-radius:999px;padding:12px 20px;box-shadow:var(--shadow);font-size:.9rem;animation:rise .25s ease}@keyframes fade{from{opacity:0}}@keyframes rise{from{opacity:0;transform:translate(-50%,12px)}}
@media(max-width:1180px){nav{margin-right:13%;gap:35px}.hero{grid-template-columns:1fr}.current-book{max-width:760px;margin:auto}.vote-grid{grid-template-columns:1fr;max-width:780px;margin:auto}.botanical-top{opacity:.45}main::before{opacity:.38}.shelf-scene{gap:28px}.decor-frame{display:none}}
@media(max-width:760px){.site-header{width:calc(100% - 32px);height:80px}.brand{font-size:1.3rem}.brand-icon{width:38px;height:38px;font-size:1.4rem}.menu-button{display:block;position:relative;z-index:2}nav{position:absolute;top:68px;right:0;display:none;flex-direction:column;gap:0;margin:0;min-width:180px;padding:10px;background:#fffefa;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}nav.nav-open{display:flex}nav a{padding:12px 14px}.hero,.voting-section,.history-section{width:calc(100% - 32px)}.hero{margin-top:3px;gap:25px}.current-book{min-height:auto;grid-template-columns:128px 1fr;gap:18px;padding:26px 5px 30px 15px;align-items:start}.current-book::before{inset:5px -5px 0}.current-book>.book-cover{width:128px;height:199px;padding:16px 10px}.current-book>.book-cover .cover-title{font-size:.77rem}.current-book>.book-cover .cover-mark{font-size:2rem}.current-book>.book-cover .cover-author{font-size:.5rem}.eyebrow{padding:6px 11px;font-size:.8rem;margin-bottom:10px}h1{font-size:clamp(1.45rem,7vw,2.1rem)}.author{font-size:1.1rem}.reading-date{display:none}.primary-button{font-size:.74rem;padding:11px 12px}.progress-panel{padding:15px 13px}.progress-grid{grid-template-columns:1fr}.section-heading h2{font-size:1.35rem}.ornament-title{gap:10px}.ornament-title h2{font-size:1.25rem}.section-intro{padding:0 10px}.vote-card{min-height:184px;padding:10px 12px;gap:18px}.book-cover-small{width:110px;height:166px}.vote-copy{padding:12px 0}.vote-copy h3{font-size:1.05rem}.vote-copy p{font-size:.82rem}.vote-actions{align-items:flex-start;flex-direction:column;gap:6px}.vote-actions button{padding:9px 18px}.shelf-scene{height:205px;gap:10px;justify-content:space-around;overflow:hidden}.shelf-scene .book-cover-small{width:98px;height:145px;padding:12px 8px}.shelf-scene .book-cover-small .cover-title{font-size:.55rem}.decor-vase,.decor-books,.decor-pot{display:none}.modal{padding:26px 20px}.checkpoint-row{gap:4px}.checkpoint-row span{font-size:.77rem}.toast{max-width:calc(100% - 28px);width:max-content;text-align:center}}
@media(max-width:760px){.botanical-top{width:230px;height:95px;right:-35px;opacity:.3}main::before{width:105px;height:210px;left:-35px;top:170px;opacity:.28}.history-section::before{width:190px;height:140px;left:-55px;opacity:.38}.history-section::after{width:145px;height:220px;right:-42px;opacity:.38}}
@media(max-width:400px){.brand em{display:none}.current-book{grid-template-columns:112px 1fr}.current-book>.book-cover{width:112px;height:180px}.primary-button span{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

[hidden]{display:none!important}#current-cover{display:contents}.history-books{display:contents}.offline-note{width:min(920px,calc(100% - 32px));margin:0 auto 10px;padding:10px 16px;border:1px solid #e5d6bd;border-radius:10px;background:rgba(255,246,224,.9);color:#735f40;text-align:center;font-size:.82rem;position:relative;z-index:5}.modal-backdrop:not([hidden]){display:grid}.toast:not([hidden]){display:block}
@media(max-width:760px){#current-cover>.book-cover{width:128px;height:199px;padding:16px 10px}#current-cover>.book-cover .cover-title{font-size:.77rem}#current-cover>.book-cover .cover-mark{font-size:2rem}#current-cover>.book-cover .cover-author{font-size:.5rem}}

/* Fotos dos participantes */
.avatar{overflow:hidden;padding:0;border:2px solid rgba(255,255,255,.92);box-shadow:0 2px 7px rgba(38,54,42,.18);transform:none;background:#eee}
.avatar img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:400px){#current-cover>.book-cover{width:112px;height:180px}}

/* Prateleira botânica ilustrada */
.history-section{isolation:isolate}
.shelf-scene{height:clamp(285px,27vw,360px);display:block;padding:0;margin-top:4px;overflow:visible}
.shelf-decoration{position:absolute;z-index:1;left:0;right:0;bottom:0;width:100%;height:100%;object-fit:fill;object-position:center bottom;pointer-events:none;user-select:none}
.history-books{position:absolute;z-index:2;left:28%;right:28%;bottom:28px;display:flex;align-items:flex-end;justify-content:center;gap:clamp(24px,3vw,48px)}
.history-books .book-cover-small{flex:none;transform:none}
.book-cover-image{display:block;padding:0;object-fit:contain;background:#f4efe6}
img.book-cover.book-cover-small{width:auto;height:185px}

@media(max-width:760px){
  .shelf-scene{height:225px;margin-top:10px;overflow:hidden}
  .shelf-decoration{height:185px;bottom:0;object-fit:cover;object-position:center bottom;opacity:.92}
  .history-books{left:0;right:0;bottom:20px;gap:10px}
  img.book-cover.book-cover-small{width:auto;height:145px}
}

@media(max-width:400px){
  .shelf-scene{height:210px}
  .shelf-decoration{height:170px}
  .history-books{bottom:18px;gap:7px}
  img.book-cover.book-cover-small{width:auto;height:138px}
}

/* Marca Clube Estantes da Memória */
.brand-image {
  position: relative;
  display: block;
  flex: 0 0 355px;
  width: 355px;
  height: 104px;
  overflow: hidden;
}

.brand-logo {
  position: absolute;
  top: -38px;
  left: 0;
  width: 350px;
  height: auto;
  display: block;
}

@media (max-width: 1180px) {
  .brand-image {
    flex-basis: 300px;
    width: 300px;
  }

  .brand-logo {
    width: 300px;
    top: -31px;
  }
}

@media (max-width: 760px) {
  .brand-image {
    flex-basis: 245px;
    width: 245px;
    height: 78px;
  }

  .brand-logo {
    width: 245px;
    top: -26px;
  }
}

@media (max-width: 400px) {
  .brand-image {
    flex-basis: 220px;
    width: 220px;
  }

  .brand-logo {
    width: 220px;
    top: -23px;
  }
}

/* Candidatos do mês com capas reais e links externos */
.vote-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.vote-card-4{background:linear-gradient(120deg,#f5f2ff,#fffbea)}
.vote-card-4 .card-flourish,.vote-card-4 .card-plant{color:#5d5591}
.vote-card-4 .vote-actions button{background:#625b93}
.book-cover-link{position:relative;display:block;flex:none;border-radius:6px;line-height:0;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.book-cover-link::after{content:"Ver livro ↗";position:absolute;left:7px;right:7px;bottom:7px;padding:7px 5px;border-radius:5px;background:rgba(9,25,31,.82);color:#fff;text-align:center;font:600 .66rem/1 "DM Sans",sans-serif;letter-spacing:.02em;opacity:0;transform:translateY(5px);transition:opacity .18s ease,transform .18s ease}
.book-cover-link:hover,.book-cover-link:focus-visible{transform:translateY(-3px);box-shadow:0 12px 24px rgba(22,34,30,.2);outline:none}
.book-cover-link:hover::after,.book-cover-link:focus-visible::after{opacity:1;transform:none}
.book-cover-link .book-cover{box-shadow:0 10px 18px rgba(12,28,35,.23)}

@media(max-width:1180px){.vote-grid{grid-template-columns:1fr;max-width:780px;margin:auto}}
@media(max-width:760px){.book-cover-link::after{opacity:1;transform:none;font-size:.58rem;padding:6px 4px}}

/* Estado enquanto o próximo livro ainda não foi escolhido */
.cover-waiting{background:linear-gradient(155deg,#315245,#18392f 72%,#102a25);color:#f7f0df}
.cover-waiting .cover-title{font-size:1.3rem;line-height:1.45;max-width:9em}
.cover-waiting .cover-mark{color:#d8b96c;font-size:3.2rem}
.cover-waiting .cover-author{display:none}
.author:empty{display:none}

/* Refinamento visual geral */
:root{--ink:#13223a;--forest:#496d53;--sage:#7d9b7b;--cream:#fffdf8;--line:#eadfce;--soft-shadow:0 10px 30px rgba(43,55,43,.09);--card-shadow:0 7px 20px rgba(43,55,43,.075)}
body{line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.modal-open{overflow:hidden}
.site-header{width:min(1360px,calc(100% - 64px));height:116px}
nav{gap:clamp(30px,3.5vw,56px);margin-right:min(8vw,110px)}
nav a{font-size:1rem;letter-spacing:.01em}
.hero{width:min(1360px,calc(100% - 64px));grid-template-columns:minmax(0,1.06fr) minmax(500px,.94fr);gap:36px;align-items:stretch;margin:20px auto 20px}
.current-book{min-height:390px;grid-template-columns:205px minmax(0,1fr);gap:34px;padding:30px 34px 30px 42px;border-radius:28px}
.current-book::before{inset:18px 5% 12px 0;border:1px solid rgba(102,128,99,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.hero-leaf{left:8px;bottom:24px;font-size:3.7rem;line-height:1;transform:rotate(-18deg);opacity:.2}
.current-copy{padding-top:0}
.eyebrow{padding:7px 15px;margin-bottom:14px;font-size:.87rem;letter-spacing:.02em;box-shadow:inset 0 0 0 1px rgba(73,109,83,.06)}
.eyebrow::before{content:"❧";margin-right:7px;font-family:serif;font-size:1rem}
h1{max-width:10em;font-size:clamp(2.15rem,3.35vw,3.35rem);line-height:1.12;letter-spacing:-.035em}
.title-stroke{width:62px;margin:15px 0 13px}
.reading-date{max-width:30em;color:#6e7972;line-height:1.45;margin-bottom:20px}
.primary-button{border-radius:10px;padding:14px 22px;box-shadow:0 8px 18px rgba(63,100,71,.2)}
.progress-panel{min-height:390px;align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:23px 24px;border-color:rgba(220,205,187,.88);background:rgba(255,255,255,.68);box-shadow:var(--soft-shadow)}
.section-heading{position:relative;gap:9px;margin-bottom:2px}
.section-heading::after{content:"";height:1px;flex:1;margin-left:4px;background:linear-gradient(90deg,rgba(115,145,111,.42),transparent)}
.section-heading h2{font-size:1.52rem;letter-spacing:-.02em}
.section-heading span{color:#8aa187;opacity:.82}
.progress-grid{gap:12px 18px;margin-top:14px}
.person-card{min-height:66px;padding:7px 14px 7px 8px;gap:12px;border-color:rgba(225,211,195,.9);background:rgba(255,255,255,.84);box-shadow:0 3px 11px rgba(42,55,44,.045);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.person-card:hover{transform:translateY(-1px);border-color:#d7c9b7;box-shadow:var(--card-shadow)}
.avatar{width:54px;height:54px}
.avatar-button{appearance:none;cursor:zoom-in;transition:transform .18s ease,box-shadow .18s ease}
.avatar-button:hover{transform:scale(1.06);box-shadow:0 5px 14px rgba(38,54,42,.24)}
.avatar-button:focus-visible{outline:3px solid rgba(85,120,90,.3);outline-offset:3px}
.person-line{justify-content:space-between;gap:8px;margin-bottom:7px}
.person-line strong{font-size:1.02rem}
.person-line span{color:#58675d;font-weight:600}
.progress-track{height:7px;background:#ecebe6}
.voting-section{margin-top:34px}
.ornament-title{gap:20px}
.ornament-title>span{background:linear-gradient(90deg,transparent,#d9cbb9)}
.ornament-title>span:last-child{background:linear-gradient(90deg,#d9cbb9,transparent)}
.ornament-title h2{letter-spacing:-.025em}
.section-intro{margin:8px 0 18px;color:#737f77}
.vote-grid{gap:24px}
.vote-card{min-height:242px;padding:15px 24px 15px 20px;gap:25px;border-color:rgba(225,207,187,.94);border-radius:19px;box-shadow:var(--card-shadow);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.vote-card:hover{transform:translateY(-2px);border-color:#d9c3aa;box-shadow:0 14px 32px rgba(43,55,43,.12)}
.vote-copy{padding:20px 0 16px}
.vote-copy h3{font-size:1.3rem;line-height:1.35;letter-spacing:-.02em}
.vote-copy p{color:#526057}
.card-flourish{opacity:.78;letter-spacing:.08em}
.card-plant{right:8px;bottom:-15px;font-size:5rem;line-height:1;transform:rotate(14deg);opacity:.105}
.book-cover-link .book-cover-small{height:210px;width:auto}
.vote-actions button{border-radius:9px;box-shadow:0 5px 13px rgba(71,74,55,.15);transition:transform .18s ease,filter .18s ease}
.vote-actions button:hover{transform:translateY(-1px);filter:saturate(1.08)}
.history-section{margin-top:34px}
.history-note{margin-top:9px}
footer{position:relative;padding:27px 24px;background:linear-gradient(180deg,rgba(243,241,233,.5),rgba(237,239,230,.78))}
footer::before{content:"❧";display:block;margin-bottom:5px;color:#8aa187;font-size:1.45rem}

/* Foto ampliada dos participantes */
.photo-backdrop{position:fixed;inset:0;z-index:140;display:grid;place-items:center;padding:22px;background:rgba(12,27,31,.64);backdrop-filter:blur(8px);animation:fade .2s ease}
.photo-dialog{width:min(500px,100%);padding:28px 28px 25px;border:1px solid rgba(233,220,202,.95);border-radius:26px;background:#fffdf8;box-shadow:0 30px 90px rgba(8,20,24,.38);position:relative;text-align:center}
.photo-dialog::before{content:"";position:absolute;inset:10px;border:1px solid rgba(121,150,117,.18);border-radius:20px;pointer-events:none}
.photo-dialog img{display:block;width:min(390px,100%);aspect-ratio:1;margin:5px auto 18px;border-radius:22px;object-fit:cover;border:5px solid #fff;outline:1px solid #ded5c8;box-shadow:0 13px 32px rgba(38,48,40,.2)}
.photo-dialog h2{margin:0;color:var(--forest);font:400 1.65rem/1.25 "Libre Baskerville",serif}
.photo-dialog p{margin:6px 0 0;color:#78817b;font:italic .83rem "Libre Baskerville",serif}
.photo-close{z-index:2;top:10px;right:13px;width:38px;height:38px;border-radius:50%;background:rgba(255,253,248,.9);box-shadow:0 3px 10px rgba(32,45,36,.12)}
.photo-ornament{display:block;color:#cf8b61;font-size:1.55rem;margin-bottom:5px}

/* Tablet */
@media(max-width:1180px){
  .site-header{width:min(900px,calc(100% - 48px))}
  nav{margin-right:0}
  .hero{width:min(850px,calc(100% - 48px));grid-template-columns:1fr;gap:22px}
  .current-book,.progress-panel{width:100%;max-width:none;margin:0}
  .progress-panel{min-height:auto}
  .vote-grid{width:min(820px,100%)}
}

/* Celular */
@media(max-width:760px){
  .site-header{width:calc(100% - 28px);height:80px}
  .brand-image{flex-basis:218px;width:218px;height:76px}
  .brand-logo{width:218px;top:-23px}
  nav{top:70px;min-width:205px;border-radius:14px;box-shadow:0 15px 38px rgba(35,47,38,.17)}
  .hero,.voting-section,.history-section{width:calc(100% - 28px)}
  .hero{margin-top:8px;gap:17px}
  .current-book{min-height:270px;grid-template-columns:118px minmax(0,1fr);gap:18px;padding:23px 15px 24px;border-radius:23px}
  .current-book::before{inset:3px -4px 2px;border-radius:28% 72% 65% 35%/38% 36% 64% 62%}
  #current-cover>.book-cover{width:118px;height:184px;padding:14px 9px}
  #current-cover>.book-cover .cover-title{font-size:.74rem}
  #current-cover>.book-cover .cover-mark{font-size:2rem}
  .hero-leaf{display:none}
  .eyebrow{padding:5px 10px;margin-bottom:9px;font-size:.72rem}
  .eyebrow::before{margin-right:4px}
  h1{font-size:clamp(1.55rem,7vw,2rem);line-height:1.15}
  .title-stroke{width:42px;margin:10px 0}
  .reading-date{display:block;font-size:.72rem;line-height:1.35;margin-bottom:13px}
  .primary-button{padding:11px 12px;font-size:.7rem;line-height:1.25}
  .progress-panel{padding:18px 13px;border-radius:18px}
  .section-heading h2{font-size:1.27rem}
  .progress-grid{gap:9px;margin-top:12px}
  .person-card{min-height:61px;padding:6px 12px 6px 7px}
  .avatar{width:49px;height:49px}
  .person-line strong{font-size:.94rem}
  .person-line span{font-size:.8rem}
  .voting-section{margin-top:27px}
  .ornament-title{gap:8px}
  .ornament-title h2{font-size:1.18rem;line-height:1.4}
  .section-intro{font-size:.82rem;margin:6px 0 14px}
  .vote-grid{gap:14px}
  .vote-card{min-height:194px;display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:16px;padding:12px 13px;border-radius:16px}
  .book-cover-link .book-cover-small{height:158px;width:auto;max-width:104px}
  .vote-copy{height:100%;padding:10px 0;justify-content:space-between}
  .vote-copy h3{font-size:1rem;line-height:1.3}
  .vote-copy p{font-size:.78rem;line-height:1.35}
  .card-flourish{font-size:.7rem}
  .card-plant{display:none}
  .vote-actions{gap:7px}
  .vote-actions button{padding:9px 15px;min-width:90px;font-size:.73rem}
  .vote-actions span{font-size:.68rem}
  .book-cover-link::after{left:5px;right:5px;bottom:5px}
  .photo-backdrop{padding:14px}
  .photo-dialog{padding:23px 18px 21px;border-radius:22px}
  .photo-dialog img{width:min(360px,100%);margin-bottom:15px;border-radius:18px}
  .photo-dialog h2{font-size:1.4rem}
}

@media(max-width:420px){
  .brand-image{flex-basis:190px;width:190px}
  .brand-logo{width:190px;top:-19px}
  .current-book{grid-template-columns:100px minmax(0,1fr);gap:13px;padding-left:12px;padding-right:10px}
  #current-cover>.book-cover{width:100px;height:158px}
  h1{font-size:1.4rem}
  .reading-date{font-size:.66rem}
  .primary-button{font-size:.65rem;padding:10px 9px}
  .vote-card{grid-template-columns:91px minmax(0,1fr);gap:12px;padding:10px}
  .book-cover-link .book-cover-small{height:144px;max-width:91px}
  .vote-actions{align-items:flex-start;flex-direction:column}
}
