/* Fonts: self-hosted latin subset (CSP blocks font CDNs).
   Caslon Display = big lockups/section titles. Newsreader = reading serif.
   Space Mono = nav/eyebrows/tags. Homemade Apple = the one signature. */
@font-face{font-family:'Caslon Display';src:url(/assets/fonts/caslon-display-400.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Newsreader';src:url(/assets/fonts/newsreader-400.woff2) format('woff2');font-weight:400 600;font-style:normal;font-display:swap;}
@font-face{font-family:'Newsreader';src:url(/assets/fonts/newsreader-400-italic.woff2) format('woff2');font-weight:400 500;font-style:italic;font-display:swap;}
@font-face{font-family:'Space Mono';src:url(/assets/fonts/space-mono-400.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Space Mono';src:url(/assets/fonts/space-mono-700.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'Signature';src:url(/assets/fonts/signature-400.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap;}

/* This previews a real client brand committed to a single dark/gold + cream
   world in the client's own reference mockup. It intentionally does not
   re-theme for the viewer's light/dark preference — the brand has no
   alternate variant, so neither does this preview. */
:root{
  --ink:#15120e;
  --ink-2:#1e1811;
  --ink-3:#282019;
  --cream:#f2ece0;
  --cream-2:#e9e0cf;
  --paper:#f3ead9;
  --paper-dim:#c9b99a;
  --paper-faint:#8f8265;
  --ink-text:#201b14;
  --ink-text-dim:#6b6255;
  --gold:#c1963f;
  --gold-bright:#e7c576;
  --line:rgba(243,234,217,.14);
  --line-strong:rgba(243,234,217,.24);
  --line-ink:rgba(32,27,20,.14);
  --wine:#a5473f;
  --blue:#5c84a3;
  --sage:#7fa07f;
  --terracotta:#c17d4f;
  --shadow:0 24px 70px rgba(0,0,0,.5);
  --serif-display:'Caslon Display', Georgia, serif;
  --serif-read:'Newsreader', Georgia, serif;
  --mono:'Space Mono', ui-monospace, Menlo, monospace;
  --sig:'Signature', cursive;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} *{animation-duration:.001ms !important; transition-duration:.001ms !important;} }
body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--serif-read);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img,svg{display:block;max-width:100%;}
a{color:inherit;}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;}
input{font:inherit;color:inherit;}
.container{max-width:1360px;margin:0 auto;padding-left:clamp(20px,4vw,56px);padding-right:clamp(20px,4vw,56px);}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease;}
.reveal.in-view{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){ .reveal{opacity:1;transform:none;} }

.grain{position:fixed;inset:0;pointer-events:none;z-index:400;opacity:.04;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

/* ---------------- header ---------------- */
.site-header{position:sticky;top:0;z-index:300;background:rgba(21,18,14,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.header-inner{display:flex;align-items:center;gap:26px;padding:15px clamp(20px,4vw,56px);max-width:1360px;margin:0 auto;}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;flex-shrink:0;}
.brand-mark{width:40px;height:40px;object-fit:contain;flex-shrink:0;}
.brand-word{line-height:1.1;}
.brand-word .name{display:block;font-family:var(--serif-display);font-size:17px;letter-spacing:.04em;color:var(--gold-bright);}
.brand-word .sub{display:block;font-family:var(--serif-read);font-style:italic;font-size:11px;color:var(--paper-dim);margin-top:1px;}
.site-nav{display:flex;gap:24px;margin-left:14px;flex:1;}
.site-nav a{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--paper-dim);padding:6px 0;border-bottom:1px solid transparent;white-space:nowrap;transition:color .2s ease,border-color .2s ease;}
.site-nav a:hover,.site-nav a:focus-visible{color:var(--gold-bright);}
.site-nav a.active{color:var(--gold);border-color:var(--gold);}
.header-actions{display:flex;align-items:center;gap:16px;margin-left:auto;}
.lang-switch{display:flex;gap:2px;background:var(--ink-2);border:1px solid var(--line);border-radius:20px;padding:3px;}
.lang-switch button{font-family:var(--mono);font-size:10px;letter-spacing:.03em;padding:4px 8px;border-radius:16px;color:var(--paper-faint);}
.lang-switch button[aria-pressed="true"]{background:var(--gold);color:var(--ink);font-weight:700;}
.search-link{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--paper-dim);flex-shrink:0;}
.search-link:hover,.search-link:focus-visible{color:var(--gold-bright);}
.search-link svg{width:16px;height:16px;}
.menu-toggle{display:none;width:34px;height:34px;align-items:center;justify-content:center;color:var(--paper-dim);}
.search-panel{max-height:0;overflow:hidden;transition:max-height .35s ease;border-bottom:1px solid transparent;}
.search-panel.open{max-height:84px;border-color:var(--line);}
.search-panel-inner{display:flex;align-items:center;gap:12px;padding:16px clamp(20px,4vw,56px);max-width:1360px;margin:0 auto;}
.search-panel input{flex:1;background:transparent;border:0;border-bottom:1px solid var(--line-strong);color:var(--paper);font-family:var(--serif-read);font-style:italic;font-size:17px;padding:6px 2px;outline:none;}
.search-panel input::placeholder{color:var(--paper-faint);}
.search-panel input:focus{border-color:var(--gold);}

.nav-drawer{position:fixed;inset:0 0 0 auto;width:min(320px,86vw);background:var(--ink-2);border-left:1px solid var(--line);z-index:500;padding:22px;display:flex;flex-direction:column;gap:22px;transform:translateX(100%);transition:transform .3s ease;box-shadow:var(--shadow);}
.nav-drawer.open{transform:translateX(0);}
.nav-drawer-head{display:flex;justify-content:space-between;align-items:center;}
.nav-drawer nav{display:flex;flex-direction:column;gap:4px;}
.nav-drawer nav a{font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;font-size:13px;color:var(--paper-dim);text-decoration:none;padding:11px 4px;border-bottom:1px solid var(--line);}
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:450;opacity:0;pointer-events:none;transition:opacity .3s ease;}
.scrim.open{opacity:1;pointer-events:auto;}

/* ---------------- page grid: hero (dark) sits above cream body,
   a single dark sidebar column runs the full height beside both ---------------- */
.page-grid{display:grid;grid-template-columns:1fr 336px;align-items:stretch;}
.col-left{display:flex;flex-direction:column;min-width:0;}
.col-right{background:var(--ink);display:flex;flex-direction:column;border-left:1px solid rgba(0,0,0,.35);}
@media (max-width:980px){ .page-grid{grid-template-columns:1fr;} }

/* ---------------- hero ---------------- */
.hero-left{background:var(--ink);flex:0 0 auto;position:relative;overflow:hidden;}
.hero-flex{display:flex;align-items:stretch;min-height:460px;}
.hero-text{flex:0 0 clamp(300px,34vw,420px);padding:clamp(34px,5vw,58px) clamp(20px,3vw,40px) clamp(34px,5vw,58px) clamp(20px,4vw,56px);display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1;}
.hero-title{font-family:var(--serif-display);font-weight:400;font-size:clamp(30px,3.6vw,44px);line-height:1.05;color:var(--paper);margin:0;text-wrap:balance;}
.hero-sub{font-family:var(--serif-display);font-weight:400;font-size:clamp(15px,1.6vw,18px);color:var(--gold);margin:8px 0 0;}
.hero-divider{display:flex;align-items:center;gap:8px;margin:14px 0 16px;width:190px;}
.hero-divider span{flex:1;height:1px;background:var(--line-strong);}
.hero-divider i{width:5px;height:5px;border:1px solid var(--gold);transform:rotate(45deg);flex-shrink:0;}
.hero-tagline{font-style:italic;font-size:clamp(16px,1.7vw,19px);color:var(--paper);margin:0 0 14px;}
.hero-intro{max-width:36ch;color:var(--paper-dim);font-size:13.5px;line-height:1.7;margin:0 0 24px;}
.btn-gold{display:inline-flex;align-items:center;gap:9px;background:var(--gold);color:var(--ink);font-family:var(--mono);font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;font-weight:700;padding:13px 22px;border-radius:3px;text-decoration:none;width:fit-content;transition:background .2s ease,transform .2s ease;}
.btn-gold:hover,.btn-gold:focus-visible{background:var(--gold-bright);transform:translateY(-1px);}
.btn-gold svg{width:14px;height:14px;}
.hero-photo{flex:1 1 auto;position:relative;overflow:hidden;min-width:0;background-image:url(/assets/hero.jpg);background-repeat:no-repeat;background-size:cover;background-position:center 42%;}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,18,14,.6) 0%,rgba(21,18,14,0) 18%,rgba(21,18,14,0) 80%,rgba(21,18,14,.55) 100%),linear-gradient(0deg,rgba(21,18,14,.35) 0%,rgba(21,18,14,0) 22%);}

.hero-quote{flex:0 0 auto;padding:clamp(24px,3vw,36px) clamp(24px,2.4vw,32px);position:relative;overflow:hidden;}
.hero-quote::before{content:"";position:absolute;inset:0;background-image:url(/assets/paolo-picariello.jpg);background-size:cover;background-position:center 15%;opacity:.6;}
.hero-quote::after{content:"";position:absolute;inset:0;background:linear-gradient(175deg,rgba(21,18,14,.38) 0%,rgba(21,18,14,.74) 70%);}
.hero-quote .quote-mark,.hero-quote .quote-text,.hero-quote .quote-gloss,.hero-quote .quote-sign{position:relative;z-index:1;}
.hero-quote .quote-mark{font-family:var(--serif-display);font-size:34px;color:var(--gold);opacity:.5;line-height:1;display:block;margin-bottom:4px;}
.quote-text{font-style:italic;font-size:13.5px;line-height:1.45;margin:0 0 8px;color:var(--paper);}
.quote-gloss{font-size:11px;color:var(--paper-faint);font-style:italic;margin:0 0 14px;min-height:1.2em;}
.quote-sign{font-family:var(--sig);font-size:clamp(26px,7vw,36px);color:var(--gold-bright);margin:8px 0 0;transform:rotate(-1deg);white-space:nowrap;}

/* ---------------- cream body ---------------- */
.cream-body{background:var(--cream);color:var(--ink-text);flex:1 1 auto;padding:clamp(40px,5vw,58px) 0 clamp(30px,4vw,44px);}
.eyebrow-rule{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:clamp(30px,4vw,46px);}
.eyebrow-rule span{flex:1;max-width:120px;height:1px;background:var(--line-ink);}
.eyebrow-rule h2{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-text);margin:0;white-space:nowrap;}

.category-row{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:clamp(44px,6vw,64px);}
.cat-card{display:flex;flex-direction:column;align-items:center;gap:11px;text-align:center;padding:8px 6px;border-radius:4px;transition:transform .18s ease,opacity .18s ease;}
.cat-card:hover,.cat-card:focus-visible{transform:translateY(-2px);}
.cat-card[aria-pressed="true"]{opacity:1;}
.cat-card[aria-pressed="true"] .cat-icon{color:var(--gold);}
.cat-icon{width:30px;height:30px;color:var(--ink-text);transition:color .18s ease;}
.cat-name{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-text);}

.works-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line-ink);padding-bottom:12px;margin-bottom:6px;}
.works-head h2{font-family:var(--mono);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-text);margin:0;}
.see-all{font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid transparent;padding-bottom:2px;}
.see-all:hover,.see-all:focus-visible{border-color:var(--gold);}
.filter-status{font-family:var(--mono);font-size:11px;color:var(--ink-text-dim);margin:14px 0 22px;min-height:1.3em;}

.works-shelf{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
@media (max-width:1180px){ .works-shelf{grid-template-columns:repeat(3,1fr);} }
@media (max-width:700px){ .works-shelf{grid-template-columns:repeat(2,1fr);} }
.work-card{display:flex;flex-direction:column;gap:9px;}
.cover{aspect-ratio:8/5;border-radius:3px;position:relative;overflow:hidden;background-size:cover;background-position:center;box-shadow:0 10px 26px rgba(0,0,0,.3);transition:transform .3s ease;}
.cover.cover-book{aspect-ratio:5/8;}
.work-card:hover .cover{transform:translateY(-2px);}
.cover.cover-mood::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,8,5,.72) 0%,rgba(10,8,5,.08) 42%,rgba(10,8,5,0) 62%),linear-gradient(200deg,rgba(10,8,5,.25),rgba(10,8,5,0) 45%);}
.cover .cover-icon{position:absolute;top:10px;left:10px;width:15px;height:15px;color:rgba(255,255,255,.85);filter:drop-shadow(0 1px 2px rgba(0,0,0,.6));}
.cover .cover-tag{position:absolute;left:10px;bottom:9px;font-family:var(--mono);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:#fff;}
.work-cat{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-text-dim);}
.work-title{font-family:var(--serif-display);font-size:16px;line-height:1.22;margin:0;color:var(--ink-text);}
.work-sub{font-size:12px;font-style:italic;color:var(--ink-text-dim);margin:0;min-height:2.4em;}
.work-langs{display:flex;gap:4px;flex-wrap:wrap;align-items:center;}
.lang-pill{font-family:var(--mono);font-size:8.5px;letter-spacing:.02em;padding:2px 6px;border-radius:9px;border:1px solid var(--line-ink);color:var(--ink-text-dim);}
.lang-pill.on{color:#fff;background:var(--gold);border-color:var(--gold);}
.work-badge{font-family:var(--mono);font-size:9px;color:var(--ink-text-dim);}

/* ---------------- sidebar (numbers + voices) ---------------- */
.sidebar-inner{padding:0 clamp(22px,2vw,30px) clamp(30px,3vw,40px);flex:1 1 auto;display:flex;flex-direction:column;}
.numbers-panel{padding-top:clamp(26px,3vw,38px);}
.numbers-panel h2{font-family:var(--mono);font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);margin:0 0 18px;}
.stat-list{display:flex;flex-direction:column;}
.stat-row{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid var(--line);}
.stat-row:last-child{border-bottom:none;}
.stat-row svg{width:16px;height:16px;color:var(--gold);flex-shrink:0;}
.stat-row .stat-label{flex:1;font-family:var(--mono);font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:var(--paper-dim);}
.stat-row .stat-value{font-family:var(--serif-display);font-size:19px;color:var(--paper);font-variant-numeric:tabular-nums;}
.stat-note{font-size:11px;font-style:italic;color:var(--paper-faint);margin:14px 0 0;line-height:1.5;}

.voices-panel{margin-top:auto;padding-top:28px;}
.voice-card{background:var(--paper);color:var(--ink-text);border-radius:5px;padding:22px 22px 20px;}
.voice-card h2{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-text);margin:0 0 14px;}
.voice-text{font-style:italic;font-size:14px;line-height:1.55;margin:0 0 10px;min-height:4.5em;}
.voice-meta{font-family:var(--mono);font-size:10.5px;color:var(--ink-text-dim);display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 16px;}
.voice-meta .badge-ok{display:inline-flex;align-items:center;gap:4px;color:#5a7a4f;}
.voice-meta .badge-ok svg{width:11px;height:11px;}
.btn-dark{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;padding:11px 16px;border-radius:3px;transition:background .2s ease;}
.btn-dark:hover,.btn-dark:focus-visible{background:var(--ink-3);}

/* ---------------- offer band ---------------- */
.offer-band{background:var(--ink);padding:clamp(40px,5vw,54px) 0;}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.offer-col{display:flex;align-items:flex-start;gap:16px;}
.offer-icon{width:52px;height:52px;border:1px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.offer-icon svg{width:22px;height:22px;color:var(--gold);}
.offer-col h3{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin:4px 0 6px;}
.offer-col p{font-size:12.5px;color:var(--paper-dim);margin:0;line-height:1.55;}

/* ---------------- footer ---------------- */
.site-footer{background:var(--ink);padding:30px 0 26px;border-top:1px solid var(--line);}
.footer-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--line);}
.footer-brand{display:flex;align-items:center;gap:9px;}
.footer-brand svg{width:17px;height:17px;color:var(--gold);}
.footer-brand span{font-family:var(--serif-display);font-size:14px;}
.footer-nav{display:flex;gap:14px;flex-wrap:wrap;}
.footer-nav a{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--paper-faint);text-decoration:none;}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding-top:16px;font-family:var(--mono);font-size:10px;color:var(--paper-faint);}
.demo-flag{color:var(--gold);}

.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,10px);background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:12.5px;padding:12px 20px;border-radius:3px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;z-index:600;max-width:90vw;text-align:center;}
.toast.show{opacity:1;transform:translate(-50%,0);}

@media (max-width:980px){
  .site-nav{display:none;}
  .menu-toggle{display:flex;}
  .hero-flex{flex-direction:column;}
  .hero-text{flex:0 0 auto !important;width:auto;}
  .hero-photo{flex:0 0 auto;aspect-ratio:16/10;}
  .col-right{border-left:0;border-top:1px solid rgba(0,0,0,.35);}
  .category-row{grid-template-columns:repeat(3,1fr);gap:22px 14px;}
  .voices-panel{margin-top:30px;}
  .header-actions .lang-switch{display:none;}
  .nav-drawer .lang-switch{display:flex;}
}
@media (max-width:700px){
  .header-inner{gap:14px;padding-top:13px;padding-bottom:13px;}
  .brand-word .name{font-size:16px;}
  .brand-word .sub{font-size:11.5px;}
  .search-link span{display:none;}
  .search-link{padding:6px;}
  .hero-text{padding-top:30px;padding-bottom:30px;}
  .hero-intro{max-width:none;font-size:15px;}
  .hero-tagline{font-size:18px;}
  .btn-gold{width:100%;justify-content:center;font-size:13px;padding:15px 22px;}
  .works-head{flex-wrap:wrap;row-gap:6px;}

  /* Typography scale-up: small mono/UI labels that read fine in a dense
     desktop sidebar become hard to read once everything is full-width
     on a phone, so bump them up rather than keep desktop sizes. */
  body{font-size:17px;}
  .eyebrow-rule h2{font-size:13.5px;}
  .cat-icon{width:32px;height:32px;}
  .cat-name{font-size:12.5px;}
  .works-head h2{font-size:14px;}
  .see-all{font-size:12.5px;}
  .filter-status{font-size:13px;}
  .work-title{font-size:19px;}
  .work-sub{font-size:14px;min-height:2.6em;}
  .work-cat{font-size:11px;}
  .lang-pill{font-size:10.5px;padding:3px 8px;}
  .work-badge{font-size:11px;}
  .numbers-panel h2{font-size:13px;}
  .stat-row{padding:15px 0;}
  .stat-row .stat-label{font-size:12.5px;}
  .stat-row .stat-value{font-size:22px;}
  .stat-note{font-size:12.5px;}
  .voice-card h2{font-size:12.5px;}
  .voice-text{font-size:16.5px;}
  .voice-meta{font-size:12px;}
  .btn-dark{font-size:12.5px;padding:13px 18px;}
  .offer-col h3{font-size:14px;}
  .offer-col p{font-size:14.5px;}
  .footer-nav a{font-size:11.5px;}
  .footer-bottom{font-size:11px;}
  .nav-drawer nav a{font-size:16px;padding:14px 4px;}
  .quote-text{font-size:18px;}
}
@media (max-width:560px){
  .category-row{grid-template-columns:repeat(2,1fr);gap:22px 10px;}
  .offer-grid{grid-template-columns:1fr;gap:24px;}
  .offer-col{align-items:center;}
  .stat-row{flex-wrap:wrap;}
}
@media (max-width:440px){
  .works-shelf{grid-template-columns:1fr;gap:20px;}
  .cover.cover-mood{aspect-ratio:8/5;}
  .container{padding-left:16px;padding-right:16px;}
  .hero-text{padding-left:16px;padding-right:16px;}
}
@media (hover:none){
  .cat-card:hover,.see-all:hover,.icon-btn:hover{transform:none;}
  .search-link,.see-all,.btn-gold,.btn-dark,.cat-card,.menu-toggle{min-height:40px;}
}

/* =====================================================================
   Páginas do site real (obra, listagens, institucionais, erro).
   Acrescentado ao CSS que veio da prévia — mesmas variáveis, mesmo tom.
   ===================================================================== */

/* --- afinações ao que veio da prévia --------------------------------- */
img.cover{object-fit:cover;display:block;width:100%;height:auto;}
.work-link{position:relative;display:flex;flex-direction:column;gap:9px;text-decoration:none;color:inherit;}
.work-lang-badge{position:absolute;top:9px;right:9px;z-index:1;background:var(--gold);color:#1a1509;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.06em;padding:2px 7px;border-radius:3px;box-shadow:0 2px 6px rgba(0,0,0,.35);}
.work-lang-nota{font-style:italic;color:var(--gold);opacity:.85;}
.work-link:hover .work-title{color:var(--gold);}
.cat-count{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--ink-text-dim);text-transform:uppercase;}
.cat-card{text-decoration:none;color:inherit;}
.cat-card:hover{transform:translateY(-2px);}
.vazio{padding:40px 4px;color:var(--ink-text-dim);font-style:italic;}
.lupa-mini{width:16px;height:16px;color:var(--paper-faint);flex-shrink:0;}
.footer-mark{width:22px;height:22px;object-fit:contain;}
.drawer-eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);}
.drawer-langs{align-self:flex-start;}
.search-go{background:var(--gold);color:#1a1509;border:0;border-radius:3px;padding:7px 15px;font:inherit;font-size:13px;cursor:pointer;}
.search-go:hover{background:var(--gold-bright);}
.lang-switch a{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;font-family:var(--mono);font-size:11px;letter-spacing:.05em;color:var(--paper-dim);text-decoration:none;border-radius:3px;}
.lang-switch a[aria-current]{background:var(--gold);color:#1a1509;}
.lang-switch a:hover{color:var(--gold-bright);}
.lang-switch a[aria-current]:hover{color:#1a1509;}

/* --- moldura comum das páginas interiores ---------------------------- */
.obra-wrap,.listagem-wrap,.pagina-wrap,.erro-wrap{background:var(--cream);color:var(--ink-text);padding:46px 0 70px;min-height:60vh;}

/* --- página da obra --------------------------------------------------- */
.obra-grid{display:grid;grid-template-columns:300px 1fr;gap:46px;align-items:start;}
@media (max-width:900px){ .obra-grid{grid-template-columns:1fr;gap:30px;} }

.obra-capa{width:100%;border-radius:3px;box-shadow:0 18px 44px rgba(0,0,0,.28);display:block;}
.obra-capa-vazia{aspect-ratio:5/8;background:var(--ink-2);display:flex;align-items:center;justify-content:center;color:var(--gold);}
.obra-capa-vazia svg{width:46px;height:46px;}

.descargas{margin-top:22px;}
.descargas-titulo{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-text-dim);margin:0 0 12px;font-weight:400;}
.btn-descarga{display:flex;align-items:center;gap:12px;padding:12px 15px;margin-bottom:9px;border:1px solid var(--line-ink);border-radius:4px;background:#fff;color:var(--ink-text);text-decoration:none;transition:border-color .18s ease,transform .18s ease;}
.btn-descarga:hover{border-color:var(--gold);transform:translateY(-1px);}
.btn-descarga svg{width:19px;height:19px;color:var(--gold);flex-shrink:0;}
.btn-descarga span{display:flex;flex-direction:column;gap:2px;min-width:0;}
.btn-descarga strong{font-family:var(--mono);font-size:12px;letter-spacing:.08em;font-weight:400;}
.btn-descarga small{font-size:12px;color:var(--ink-text-dim);}
.descargas-nota{font-size:12px;color:var(--ink-text-dim);margin:11px 0 0;line-height:1.5;}

.partilha{margin-top:24px;}
.partilha-botoes{display:flex;flex-wrap:wrap;gap:8px;}
.partilha-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line-ink);border-radius:50%;background:#fff;color:var(--ink-text);cursor:pointer;padding:0;text-decoration:none;transition:color .18s ease,border-color .18s ease,transform .18s ease;}
.partilha-btn[hidden]{display:none;}
.partilha-btn svg{width:18px;height:18px;}
.partilha-btn:hover,.partilha-btn:focus-visible{border-color:var(--gold);transform:translateY(-1px);}
.partilha-whatsapp:hover,.partilha-whatsapp:focus-visible{color:#25d366;}
.partilha-facebook:hover,.partilha-facebook:focus-visible{color:#1877f2;}
.partilha-x:hover,.partilha-x:focus-visible{color:#000;}
.partilha-telegram:hover,.partilha-telegram:focus-visible{color:#26a5e4;}
.partilha-copiar:hover,.partilha-nativa:hover,.partilha-copiar:focus-visible,.partilha-nativa:focus-visible{color:var(--gold);}
.partilha-aviso{font-size:12px;color:var(--ink-text-dim);margin:8px 0 0;min-height:1.2em;}

.obra-voltar{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--ink-text-dim);text-decoration:none;}
.obra-voltar:hover{color:var(--gold);}
.obra-cat{margin:16px 0 6px;}
.obra-cat a{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);text-decoration:none;}
.obra-titulo{font-family:var(--serif-display);font-size:clamp(30px,5vw,46px);font-weight:400;line-height:1.1;margin:0 0 8px;}
.obra-subtitulo{font-family:var(--serif-read);font-style:italic;font-size:18px;color:var(--ink-text-dim);margin:0 0 18px;}
.obra-idiomas{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;font-size:13px;color:var(--ink-text-dim);margin:0 0 8px;}
.obra-idiomas-nota{font-size:12px;font-style:italic;color:var(--ink-text-dim);opacity:.8;margin:0 0 26px;}
.obra-idiomas a{color:var(--gold);text-decoration:none;border-bottom:1px solid transparent;}
.obra-idiomas a:hover{border-bottom-color:var(--gold);}

.obra-sinopse h2,.comentarios h2{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-text-dim);font-weight:400;margin:0 0 12px;}
.obra-sinopse p,.obra-corpo p,.pagina-corpo p{font-family:var(--serif-read);font-size:17px;line-height:1.75;margin:0 0 17px;}
.obra-excerto{margin-top:34px;padding-top:30px;border-top:1px solid var(--line-ink);}
.obra-excerto h2{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:400;margin:0 0 16px;}
.obra-excerto p{font-family:var(--serif-read);font-size:17px;line-height:1.8;margin:0 0 17px;}
.obra-excerto-cta{font-style:italic;color:var(--ink-text-dim);border-top:1px dashed var(--line-ink);padding-top:18px;margin-top:22px !important;}

.obra-corpo{margin-top:34px;padding-top:30px;border-top:1px solid var(--line-ink);}
.obra-corpo p{font-size:18px;}

/* --- poemas: título a destacar-se dos versos, divisor entre cada um ---
   Seletores com ".obra-corpo" à frente de propósito: ".obra-corpo p" (mais
   específico do que uma classe sozinha) já define font-size e margin para
   todos os <p> aqui dentro, e sem isto essas regras ganhavam à cor/peso do
   título. */
.poema{margin:0 0 30px;}
.obra-corpo .poema-titulo{
  font-family:var(--mono);
  font-weight:700;
  font-size:14px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ink-text);
  margin:0 0 12px;
}
.obra-corpo .poema-versos{margin:0;}
.poema + .poema{
  position:relative;
  margin-top:44px;
  padding-top:44px;
}
.poema + .poema::before{
  content:"";
  position:absolute;
  top:0; left:50%;
  transform:translateX(-50%);
  width:64px; height:1px;
  background:var(--line-ink);
}
.poema + .poema::after{
  content:"";
  position:absolute;
  top:-4px; left:50%;
  transform:translateX(-50%) rotate(45deg);
  width:7px; height:7px;
  border:1px solid var(--gold);
  background:var(--cream);
}

/* --- comentários ------------------------------------------------------ */
.comentarios{margin-top:44px;padding-top:32px;border-top:1px solid var(--line-ink);}
.comentarios-vazio{font-family:var(--serif-read);font-style:italic;color:var(--ink-text-dim);}
.lista-comentarios{list-style:none;margin:0 0 32px;padding:0;}
.lista-comentarios li{padding:17px 0;border-bottom:1px solid var(--line-ink);}
.lista-comentarios li:last-child{border-bottom:none;}
.comentario-corpo p{font-family:var(--serif-read);font-size:16px;line-height:1.7;margin:0 0 7px;}
.comentario-meta{font-family:var(--mono);font-size:11px;letter-spacing:.05em;color:var(--ink-text-dim);margin:0;}

.form-comentario{margin-top:14px;background:#fff;border:1px solid var(--line-ink);border-radius:5px;padding:22px;}
.form-comentario h3{font-family:var(--serif-display);font-size:20px;font-weight:400;margin:0 0 16px;}
.form-comentario label{display:block;margin-bottom:14px;}
.form-comentario label span{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-text-dim);margin-bottom:5px;}
.form-comentario input,.form-comentario textarea{width:100%;padding:10px 12px;border:1px solid var(--line-ink);border-radius:3px;font:inherit;font-size:15px;background:var(--cream);color:var(--ink-text);}
.form-comentario textarea{resize:vertical;min-height:100px;font-family:var(--serif-read);}
.form-comentario input:focus,.form-comentario textarea:focus{outline:2px solid var(--gold);outline-offset:-1px;border-color:var(--gold);}
.linha-campos{display:flex;gap:14px;flex-wrap:wrap;}
.linha-campos label{flex:1 1 180px;}
.nota-moderacao{font-size:12.5px;color:var(--ink-text-dim);margin:13px 0 0;line-height:1.5;}
.aviso-ok,.aviso-erro{padding:11px 14px;border-radius:4px;font-size:14.5px;margin:0 0 18px;border:1px solid;}
.aviso-ok{background:#eef5ef;border-color:#bfd9c4;color:#3f7a4f;}
.aviso-erro{background:#fbeeed;border-color:#e6c3bf;color:#a5473f;}

/* --- listagens -------------------------------------------------------- */
.listagem-desc{font-family:var(--serif-read);font-size:16px;color:var(--ink-text-dim);margin:0 0 20px;}
.listagem-aviso{font-size:14px;font-style:italic;color:var(--ink-text-dim);border-left:2px solid var(--gold);padding:4px 0 4px 14px;margin:0 0 24px;max-width:640px;}
.pesquisa-inline{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 6px;}
.pesquisa-inline input{flex:1 1 260px;padding:11px 14px;border:1px solid var(--line-ink);border-radius:3px;font:inherit;font-size:15px;background:#fff;color:var(--ink-text);}
.pesquisa-inline input:focus{outline:2px solid var(--gold);outline-offset:-1px;border-color:var(--gold);}
.works-shelf-lista{margin-top:22px;}

/* --- páginas institucionais e erro ------------------------------------ */
.pagina-container,.erro-container{max-width:720px;}
.pagina-titulo{font-family:var(--serif-display);font-size:clamp(28px,5vw,42px);font-weight:400;margin:0 0 24px;}
.pagina-com-foto{max-width:900px;display:flex;gap:40px;align-items:flex-start;flex-wrap:wrap;}
.pagina-foto{width:240px;border-radius:4px;box-shadow:0 18px 40px rgba(0,0,0,.25);flex-shrink:0;}
.pagina-com-foto .pagina-texto{flex:1 1 420px;min-width:0;}
.pagina-com-foto .pagina-titulo{margin-top:0;}
@media (max-width:640px){ .pagina-foto{width:160px;margin:0 auto;} .pagina-com-foto{justify-content:center;text-align:left;} }
.erro-container{text-align:center;padding:40px 0;}
.erro-container svg{width:40px;height:40px;color:var(--gold);margin-bottom:18px;}
.erro-container h1{font-family:var(--serif-display);font-size:clamp(26px,4.5vw,36px);font-weight:400;margin:0 0 12px;}
.erro-container p{font-family:var(--serif-read);color:var(--ink-text-dim);margin:0 0 26px;}
