
:root {
  --bg: #FFFFFF;
  --surface: #FFFFFF;
  --ink: #173A35;
  --muted: #6F746F;
  --line: rgba(23,58,53,.16);
  --dark: #173A35;
  --accent: #BFAA7C;
  --success: #2E6B57;
  --danger: #A33A2B;
  --radius: 18px;
  --shadow: 0 28px 70px rgba(23,58,53,.12);
  --container: 1680px;
  --serif: Helvetica, Arial, sans-serif;
  --sans: Helvetica, Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--bg);
  font-family: var(--sans);
  line-height: 1.48;
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
img { max-width: 100%; display: block; }
.container { width: min(calc(100% - 64px), var(--container)); margin: 0 auto; }
.page-space { padding: 72px 0 96px; }
.section-space { padding: 96px 0; }
.eyebrow { text-transform: uppercase; letter-spacing: .18em; font-size: 12px; color: var(--muted); }
.display { font-family: var(--sans); font-weight: 300; letter-spacing: -.045em; font-size: clamp(54px, 6vw, 108px); line-height: .98; margin: 0; }
.title { font-family: var(--sans); font-weight: 300; letter-spacing: -.035em; font-size: clamp(42px, 4vw, 74px); line-height: 1.02; margin: 0; }
.subtitle { font-size: 18px; font-weight: 300; color: var(--muted); max-width: 720px; }
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 48px; padding: 0 20px; border: 1px solid var(--ink); border-radius: 999px;
  background: transparent; cursor: pointer; transition: .25s ease;
}
.btn:hover { background: #173A35; color: #fff; border-color: #173A35; transform: translateY(-1px); }
.btn.dark { background: #173A35; color: #fff; border-color: #173A35; }
.btn.light { border-color: rgba(255,255,255,.45); color: #fff; }
.btn.small { min-height: 38px; padding: 0 14px; font-size: 14px; }
.icon-btn {
  width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%;
  background: rgba(255,255,255,.75); display: inline-grid; place-items: center; cursor: pointer;
}
.badge { display:inline-flex; align-items:center; min-height:32px; padding:0 12px; border-radius:999px; background:rgba(191,170,124,.18); font-size:13px; }
.status-published { background:rgba(46,107,87,.12); color:#1d6f42; }
.status-draft { background:rgba(191,170,124,.20); color:#6c592f; }
.status-error { background:rgba(163,58,43,.12); color:#9d3326; }

/* Header */
.site-header {
  position:sticky;
  top:0;
  z-index:60;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(18px);
}
.header-inner {
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
}
.brand {
  display:inline-block;
  color:var(--ink);
  font-size:23px;
  line-height:1;
  font-weight:700;
  letter-spacing:.22em;
}
.brand small {
  display:block;
  margin-top:6px;
  font-size:8px;
  line-height:1;
  font-weight:400;
  letter-spacing:.22em;
}
.brand-logo {
  display:inline-flex;
  align-items:center;
  width:auto;
  height:72px;
  letter-spacing:0;
}
.brand-logo img {
  width:72px;
  height:72px;
  object-fit:contain;
}

.menu-trigger {
  display:inline-flex;
}
.menu-trigger-lines {
  width:56px;
  height:44px;
  padding:9px 8px;
  border:0;
  background:transparent;
  flex-direction:column;
  justify-content:center;
  align-items:flex-end;
  gap:7px;
  cursor:pointer;
}
.menu-trigger-lines span {
  display:block;
  height:1px;
  background:#173A35;
  transition:width .25s ease;
}
.menu-trigger-lines span:nth-child(1) { width:38px; }
.menu-trigger-lines span:nth-child(2) { width:29px; }
.menu-trigger-lines span:nth-child(3) { width:38px; }
.menu-trigger-lines:hover span:nth-child(2) { width:38px; }

/* Full screen menu */
.menu-overlay {
  position:fixed;
  inset:0;
  z-index:120;
  display:grid;
  grid-template-columns:minmax(360px, 34vw) 1fr;
  overflow:hidden;
  visibility:hidden;
  pointer-events:none;
  background:#FFFFFF;
}
.menu-overlay::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:#FFFFFF;
  opacity:0;
  transition:opacity .25s ease;
}
.menu-overlay.open {
  visibility:visible;
  pointer-events:auto;
}
.menu-overlay.open::before {
  opacity:1;
}
.menu-cover,
.menu-panel {
  position:relative;
  z-index:1;
  min-height:100vh;
  transition:transform .72s cubic-bezier(.76,0,.24,1);
}
.menu-cover {
  overflow:hidden;
  background:#173A35;
  transform:translateX(-102%);
}
.menu-panel {
  padding:70px clamp(42px, 6vw, 120px) 56px;
  display:flex;
  flex-direction:column;
  background:#FFFFFF;
  transform:translateX(102%);
}
.menu-overlay.open .menu-cover,
.menu-overlay.open .menu-panel {
  transform:translateX(0);
}
.menu-cover img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.menu-panel-logo {
  position:absolute;
  top:34px;
  left:clamp(42px, 6vw, 120px);
  z-index:3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:74px;
  height:74px;
}
.menu-panel-logo img {
  width:100%;
  height:100%;
  object-fit:contain;
}

.menu-close {
  position:absolute;
  top:30px;
  right:34px;
  z-index:3;
  width:52px;
  height:52px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--ink);
  font-size:44px;
  line-height:1;
  font-weight:200;
  cursor:pointer;
}
.menu-content {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(360px, 1.2fr) minmax(240px, .8fr);
  gap:clamp(56px, 8vw, 140px);
  margin-top:104px;
  max-width:1060px;
}
.menu-primary {
  display:grid;
  gap:25px;
}
.menu-primary a {
  display:flex;
  align-items:flex-start;
  gap:18px;
  width:max-content;
  color:var(--ink);
  font-size:clamp(26px, 2.1vw, 42px);
  line-height:1.04;
  font-weight:300;
  transition:transform .2s ease;
}
.menu-primary a span {
  min-width:20px;
  margin-top:7px;
  color:#BFAA7C;
  font-size:11px;
  line-height:1;
  font-weight:400;
}
.menu-primary a:hover,
.menu-primary a.active {
  transform:translateX(8px);
}
.menu-primary a.active::after {
  content:"";
  width:36px;
  height:1px;
  margin:18px 0 0 12px;
  background:#173A35;
}
.menu-secondary {
  display:grid;
  grid-template-columns:1fr;
  gap:44px;
  padding-top:8px;
}
.menu-secondary > div {
  display:grid;
  gap:12px;
}
.menu-label {
  margin-bottom:6px;
  color:#BFAA7C;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.menu-secondary a {
  width:max-content;
  padding-bottom:3px;
  border-bottom:1px solid transparent;
  font-size:16px;
  font-weight:300;
}
.menu-secondary a:hover {
  border-bottom-color:var(--ink);
}
.menu-meta {
  position:relative;
  z-index:2;
  margin-top:auto;
  max-width:1060px;
  display:grid;
  grid-template-columns:.65fr 1.35fr .7fr;
  gap:44px;
  padding-top:42px;
  border-top:1px solid rgba(23,58,53,.14);
  color:#6F746F;
  font-size:13px;
  font-weight:300;
}
.menu-meta > div {
  display:grid;
  align-content:start;
  gap:8px;
}
.menu-meta strong {
  color:var(--ink);
  font-size:12px;
  font-weight:500;
}
.menu-meta a {
  width:max-content;
  color:var(--ink);
}
body.menu-open {
  overflow:hidden;
}

.home-page {
  --bg:#ffffff;
  background:#FFFFFF;
}
.home-page .site-header {
  background:rgba(255,255,255,.96);
}
.home-page main,
.home-page .hero,
.home-page .hero-cover,
.home-page .hero-copy,
.home-page .archive-strip,
.home-page .section-space {
  background:#FFFFFF;
}

/* Hero */
.hero { min-height: 760px; display:grid; grid-template-columns: 36% 1fr; border-bottom:1px solid var(--line); }
.hero-cover { padding: 42px 24px 42px 32px; display:flex; align-items:center; justify-content:center; }
.hero-cover img { height: 670px; width:auto; box-shadow: var(--shadow); }
.hero-copy { padding: 110px 6vw 80px; display:flex; flex-direction:column; justify-content:center; border-left:1px solid var(--line); }
.hero-copy .actions { display:flex; gap:14px; margin-top:32px; flex-wrap:wrap; }
.hero-note { margin-top:52px; display:grid; grid-template-columns:1fr 1fr; gap:32px; border-top:1px solid var(--line); padding-top:26px; }

/* Home: últimas edições */
.home-editions {
  padding:116px 0 132px;
  background:#fff;
}
.home-editions-label {
  margin-bottom:28px;
  color:#173A35;
  font-size:15px;
  line-height:1;
  font-weight:400;
}
.home-editions-grid {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
}
.home-edition-card {
  display:block;
  min-width:0;
  text-align:center;
}
.home-edition-cover {
  position:relative;
  width:100%;
  aspect-ratio:5 / 7;
  overflow:hidden;
  background:#F6F6F4;
  box-shadow:0 8px 18px rgba(23,58,53,.06);
  transition:
    transform .46s cubic-bezier(.2,.7,.2,1),
    box-shadow .58s cubic-bezier(.2,.7,.2,1) .08s;
}
.home-edition-cover img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}
.home-edition-card:hover .home-edition-cover {
  transform:translateY(-5px);
  box-shadow:0 24px 46px rgba(23,58,53,.14);
}
.home-edition-card:hover .home-edition-cover img {
  transform:scale(1.018);
}
.home-edition-period {
  margin-top:14px;
  color:#6F746F;
  font-size:11px;
  line-height:1.2;
  font-weight:400;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.home-edition-card h2 {
  margin:8px 0 0;
  color:#173A35;
  font-size:31px;
  line-height:1.05;
  font-weight:300;
  letter-spacing:-.035em;
}
.home-editions-more {
  display:flex;
  justify-content:center;
  margin-top:76px;
}
.home-editions-more a {
  position: relative;
  display: inline-block;
  padding: 0 0 7px;
  color:#173A35;
  font-size:15px;
  line-height:1;
  font-weight:400;
}
.home-editions-more a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(.18);
  transform-origin: left center;
  transition: transform .42s cubic-bezier(.2,.7,.2,1), color .24s ease;
}
.home-editions-more a:hover {
  color:#BFAA7C;
}
.home-editions-more a:hover::after {
  transform: scaleX(1);
}

/* Home: apoiadores */
.home-supporters {
  padding:0 0 124px;
  background:#fff;
}
.home-supporters-head {
  margin-bottom:22px;
}
.home-supporters-head h3 {
  margin:0;
  color:#173A35;
  font-size:15px;
  line-height:1;
  font-weight:400;
}
.supporters-grid {
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:18px;
  padding-top:26px;
  border-top:1px solid rgba(23,58,53,.12);
}
.supporter-card {
  min-height:112px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px 18px;
  background:#fff;
  border:1px solid rgba(23,58,53,.10);
}
.supporter-card img {
  max-width:100%;
  max-height:62px;
  object-fit:contain;
}



.home-edition-card,
.archive-item {
  transform:none;
  box-shadow:none;
}
.home-edition-card:hover,
.archive-item:hover {
  transform:none;
  box-shadow:none;
}
.home-edition-card h2,
.home-edition-period,
.archive-item strong,
.archive-item small {
  transform:none;
  box-shadow:none;
}

/* Edition cards */
.edition-hero { padding-top:42px; }
.edition-heading { display:grid; grid-template-columns: 1fr auto; gap:40px; align-items:end; margin-bottom:64px; }
.edition-heading-single { grid-template-columns:1fr; }
.year-tabs { display:flex; gap:34px; font-size:18px; }
.year-tabs button { background:none; border:0; border-bottom:1px solid transparent; padding:0 0 8px; cursor:pointer; color:var(--muted); }
.year-tabs button.active { color:var(--ink); border-color:var(--ink); }

.editions-featured-grid {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
}

.editions-archive {
  padding:54px 0 92px;
}

.editions-archive-grid {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:36px 24px;
  align-items:start;
}

.archive-head { display:flex; justify-content:space-between; align-items:end; margin-bottom:24px; }
.archive-item img {
  aspect-ratio:5 / 7;
  object-fit:cover;
  width:100%;
  box-shadow:0 8px 18px rgba(23,58,53,.07);
  transition:
    transform .46s cubic-bezier(.2,.7,.2,1),
    box-shadow .58s cubic-bezier(.2,.7,.2,1) .08s,
    filter .38s ease;
}
.archive-item strong { display:block; margin-top:10px; font-family:var(--sans); font-size:18px; font-weight:300; letter-spacing:-.02em; }
.archive-item small { color:var(--muted); }

/* Edition detail */
.edition-detail { display:grid; grid-template-columns:minmax(320px,42%) 1fr; min-height:760px; }
.edition-detail-cover { display:flex; align-items:center; justify-content:center; padding:56px; border-right:1px solid var(--line); }
.edition-detail-cover img { max-height:680px; box-shadow:var(--shadow); }
.edition-detail-copy { padding:90px 7vw; display:flex; flex-direction:column; justify-content:center; }
.meta-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin:36px 0; padding:26px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.highlight-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:52px; }
.highlight { border-top:1px solid var(--line); padding-top:16px; }




/* Global interactions */
html {
  scroll-behavior:smooth;
}
.js body {
  opacity:0;
  transform:translateY(8px);
  transition:opacity .55s ease, transform .55s ease;
}
.js body.page-ready {
  opacity:1;
  transform:none;
}
a,
button,
.btn,
.supporter-card,
.contact-action-card,
.menu-primary a,
.menu-secondary a,
.newsletter input,
.menu-trigger-lines span {
  transition:
    color .32s ease,
    background-color .32s ease,
    border-color .32s ease,
    box-shadow .56s cubic-bezier(.2,.7,.2,1) .08s,
    transform .46s cubic-bezier(.2,.7,.2,1),
    opacity .32s ease;
}
.supporter-card:hover,
.contact-action-card:hover {
  transform:translateY(-6px);
  box-shadow:0 22px 40px rgba(23,58,53,.10);
}
.menu-primary a:hover,
.menu-secondary a:hover,
.footer-legal a:hover,
.footer-social a:hover {
  transform:translateX(4px);
}
.brand img,
.menu-panel-logo img,
.logo-chip img,
.supporter-card img,
.archive-item img,
.home-edition-cover img {
  transition:transform .5s ease, filter .35s ease, opacity .35s ease;
}
.brand:hover img,
.menu-panel-logo:hover img {
  transform:scale(1.03);
}
.supporter-card:hover img {
  transform:scale(1.02);
}
.archive-item:hover img {
  transform:translateY(-5px) scale(1.012);
  box-shadow:0 24px 46px rgba(23,58,53,.14);
}
.reveal-on-scroll {
  opacity:0;
  transform:translateY(26px);
  transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1);
  will-change:opacity, transform;
}
.reveal-on-scroll.is-visible {
  opacity:1;
  transform:none;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .js body,
  a,
  button,
  .btn,
  .home-edition-card,
  .archive-item,
  .supporter-card,
  .contact-action-card,
  .menu-primary a,
  .menu-secondary a,
  .newsletter input,
  .menu-trigger-lines span,
  .reveal-on-scroll,
  .reveal-on-scroll.is-visible {
    transition:none !important;
    transform:none !important;
    animation:none !important;
    opacity:1 !important;
  }
}


/* Contact page */
.contact-showcase {
  padding:32px 0 96px;
  background:
    radial-gradient(circle at 12% 28%, rgba(191,170,124,.14), transparent 32%),
    radial-gradient(circle at 82% 18%, rgba(23,58,53,.08), transparent 34%),
    linear-gradient(180deg, #F4F4F1 0%, #ECECE8 100%);
  overflow:hidden;
}
.contact-showcase-inner {
  min-height:calc(100vh - 180px);
  display:grid;
  align-content:start;
}
.contact-showcase-center {
  padding:116px 0 132px;
  text-align:center;
}
.contact-display {
  margin:0;
  color:#173A35;
  font-size:clamp(72px, 8vw, 148px);
  line-height:.94;
  font-weight:400;
  letter-spacing:-.045em;
}
.contact-actions-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  align-items:stretch;
}
.contact-action-card {
  position:relative;
  min-height:192px;
  padding:26px 84px 26px 28px;
  background:rgba(255,255,255,.34);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.32);
  border-radius:26px;
  display:grid;
  align-content:end;
  box-shadow:0 20px 50px rgba(23,58,53,.08);
}
.contact-action-kicker {
  margin-bottom:22px;
  color:rgba(23,58,53,.56);
  font-size:11px;
  line-height:1;
  font-weight:400;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.contact-action-card h2 {
  margin:0 0 14px;
  color:var(--ink);
  font-size:clamp(34px, 2.7vw, 54px);
  line-height:.96;
  font-weight:300;
  letter-spacing:-.045em;
}
.contact-action-card strong {
  color:rgba(23,58,53,.76);
  font-size:18px;
  line-height:1.4;
  font-weight:300;
}
.contact-action-card i {
  position:absolute;
  right:30px;
  bottom:28px;
  font-style:normal;
  color:rgba(23,58,53,.72);
  font-size:34px;
  line-height:1;
}
@media (max-width: 1180px) {
  .contact-showcase-center {
    padding:80px 0 92px;
  }
  .contact-actions-grid {
    grid-template-columns:1fr;
  }
  .contact-action-card {
    min-height:164px;
  }
}

@media (max-width: 760px) {
  .contact-showcase {
    padding:16px 0 72px;
  }
  .contact-showcase-inner {
    min-height:auto;
  }
  .contact-showcase-center {
    padding:54px 0 64px;
  }
  .contact-display {
    font-size:56px;
    line-height:.94;
  }
  .contact-actions-grid {
    gap:14px;
  }
  .contact-action-card {
    min-height:auto;
    padding:22px 68px 22px 20px;
    border-radius:22px;
  }
  .contact-action-kicker {
    margin-bottom:16px;
  }
  .contact-action-card h2 {
    font-size:34px;
  }
  .contact-action-card strong {
    font-size:16px;
  }
  .contact-action-card i {
    right:22px;
    bottom:22px;
    font-size:26px;
  }
}


/* Legal pages */
.legal-hero {
  padding:92px 0 60px;
  background:#fff;
}
.legal-hero .eyebrow {
  margin-bottom:18px;
}
.legal-title {
  margin:0;
  color:var(--ink);
  font-size:clamp(54px, 6vw, 100px);
  line-height:.98;
  letter-spacing:-.045em;
}
.legal-updated {
  margin:22px 0 0;
  color:var(--muted);
  font-size:15px;
}
.legal-section {
  padding:30px 0 108px;
  background:#fff;
}
.legal-layout {
  display:grid;
  grid-template-columns:260px minmax(0, 820px);
  gap:80px;
  align-items:start;
}
.legal-nav {
  position:sticky;
  top:126px;
  display:grid;
  gap:12px;
  padding-top:4px;
}
.legal-nav a {
  color:var(--muted);
  font-size:14px;
}
.legal-nav a:hover {
  color:var(--ink);
  transform:translateX(4px);
}
.legal-content {
  display:grid;
  gap:44px;
}
.legal-content section {
  padding-top:24px;
  border-top:1px solid var(--line);
}
.legal-content h2 {
  margin:0 0 18px;
  color:var(--ink);
  font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size:32px;
  line-height:1.15;
  font-weight:400;
}
.legal-content p,
.legal-content li {
  color:var(--muted);
  font-size:17px;
  line-height:1.72;
  font-weight:300;
}
.legal-content ul {
  margin:14px 0 0;
  padding-left:20px;
}
.legal-content a {
  color:var(--ink);
  text-decoration:underline;
  text-underline-offset:4px;
}
@media (max-width: 900px) {
  .legal-layout {
    grid-template-columns:1fr;
    gap:38px;
  }
  .legal-nav {
    position:static;
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .legal-hero {
    padding:58px 0 36px;
  }
  .legal-section {
    padding:14px 0 72px;
  }
  .legal-nav {
    grid-template-columns:1fr;
  }
  .legal-content h2 {
    font-size:27px;
  }
  .legal-content p,
  .legal-content li {
    font-size:16px;
  }
}

/* Footer */
.site-footer {
  background:#173A35;
  color:#fff;
  padding:0;
  overflow:hidden;
  font-family:var(--sans);
  font-weight:300;
}
.footer-main {
  width:min(calc(100% - 64px), 1260px);
  min-height:570px;
  margin:0 auto;
  padding:106px 0 86px;
  display:flex;
  align-items:center;
}
.footer-columns {
  width:100%;
  display:grid;
  grid-template-columns:minmax(330px, 1.15fr) minmax(180px, .55fr) minmax(390px, 1.2fr);
  gap:clamp(68px, 7vw, 118px);
  align-items:start;
}
.footer-block h3 {
  margin:0 0 28px;
  font-size:17px;
  line-height:1;
  font-weight:300;
  letter-spacing:.015em;
  text-transform:uppercase;
}
.footer-block p,
.footer-block a {
  color:rgba(255,255,255,.78);
  font-size:15px;
  line-height:1.56;
  font-weight:300;
}
.footer-block p { margin:0 0 22px; }
.footer-block a {
  display:block;
  margin:0 0 7px;
  width:max-content;
}
.footer-block a:hover { color:#fff; }

.footer-phone {
  margin-top:30px !important;
  color:#fff !important;
  font-size:17px !important;
}
.footer-title {
  margin:0 0 26px;
  font-size:48px;
  line-height:1;
  font-weight:300;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.footer-signup-copy {
  max-width:480px;
  margin:0 0 36px;
  color:rgba(255,255,255,.72);
  font-size:15px;
  line-height:1.56;
}
.newsletter {
  width:100%;
  margin:0;
}
.newsletter-row {
  display:grid;
  grid-template-columns:minmax(260px, 1fr) auto;
  align-items:end;
  gap:34px;
}
.newsletter input {
  width:100%;
  min-height:42px;
  padding:0 4px 10px;
  color:#fff;
  background:transparent;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.62);
  border-radius:0;
  outline:none;
  font-weight:300;
}
.newsletter input::placeholder {
  color:rgba(255,255,255,.50);
}
.newsletter input:focus {
  border-bottom-color:#fff;
}

.newsletter input[data-detected="whatsapp"] {
  letter-spacing:.01em;
}

.newsletter input.is-invalid {
  border-bottom-color:#ef8d7d;
}
.newsletter input.is-valid {
  border-bottom-color:#8fc7a3;
}
.newsletter .btn {
  min-height:38px;
  padding:0 19px;
  border-color:#BFAA7C;
  color:#fff;
  background:transparent;
  font-size:14px;
  font-weight:300;
}
.newsletter .btn:hover {
  background:#BFAA7C;
  color:#173A35;
}
.field-message {
  min-height:20px;
  margin:12px 0 0;
  color:rgba(255,255,255,.62);
  font-size:12px;
  font-weight:300;
}
.field-message.error { color:#efaa9f; }
.field-message.success { color:#9fd0ad; }
.footer-bottom {
  width:min(calc(100% - 64px), 1260px);
  min-height:68px;
  margin:0 auto;
  border-top:1px solid rgba(191,170,124,.58);
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:28px;
  align-items:center;
  color:rgba(255,255,255,.72);
  font-size:13px;
  font-weight:300;
}
.footer-bottom .footer-legal {
  display:flex;
  gap:24px;
  justify-content:center;
}
.footer-bottom .footer-credit {
  text-align:right;
}
.footer-bottom .footer-credit strong {
  color:#fff;
  font-weight:400;
}

/* Reader */
.reader-body { background:#173A35; color:#fff; overflow:hidden; }
.reader-shell { min-height:100vh; display:grid; grid-template-rows:70px 1fr 118px; }
.reader-toolbar { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 24px; border-bottom:1px solid rgba(255,255,255,.12); }
.reader-toolbar .right { display:flex; justify-content:flex-end; gap:8px; }
.reader-toolbar .icon-btn { background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.12); color:#fff; }
.reader-stage { position:relative; display:flex; align-items:center; justify-content:center; gap:12px; overflow:auto; padding:28px 90px; }
.reader-page { height:min(72vh,820px); box-shadow:0 28px 70px rgba(0,0,0,.4); transition:transform .2s ease; }
.reader-page.single.secondary { display:none; }
.reader-arrow { position:fixed; top:50%; transform:translateY(-50%); z-index:4; }
.reader-arrow.prev { left:28px; }
.reader-arrow.next { right:28px; }
.reader-thumbs { display:flex; align-items:center; gap:12px; padding:14px 28px; overflow-x:auto; border-top:1px solid rgba(255,255,255,.12); background:#102D29; }
.reader-thumb { width:58px; flex:none; opacity:.55; cursor:pointer; border:2px solid transparent; }
.reader-thumb.active { opacity:1; border-color:#fff; }
.reader-progress { position:fixed; left:0; bottom:0; height:3px; background:#FFFFFF; width:10%; transition:.25s; }
.interaction-dot { position:absolute; right:24%; top:43%; width:30px; height:30px; border-radius:50%; border:1px solid #fff; background:rgba(191,170,124,.92); display:grid; place-items:center; animation:pulse 2s infinite; cursor:pointer; }
@keyframes pulse { 0%,100%{box-shadow:0 0 0 0 rgba(255,255,255,.4)} 50%{box-shadow:0 0 0 15px rgba(255,255,255,0)} }

/* Modal */
.modal { position:fixed; inset:0; z-index:120; background:rgba(0,0,0,.58); display:none; align-items:center; justify-content:center; padding:24px; }
.modal.open { display:flex; }
.modal-card { width:min(760px,100%); background:#FFFFFF; color:var(--ink); border-radius:24px; padding:28px; box-shadow:var(--shadow); }
.modal-head { display:flex; justify-content:space-between; align-items:center; }
.share-preview { display:grid; grid-template-columns:180px 1fr; gap:22px; background:rgba(191,170,124,.13); padding:18px; border-radius:14px; margin:24px 0; }
.share-preview img { width:180px; aspect-ratio:1.91/1; object-fit:cover; }
.share-actions { display:flex; gap:12px; flex-wrap:wrap; }

/* Forms */
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.field { display:grid; gap:8px; }
.field.full { grid-column:1/-1; }
.field label { font-size:13px; font-weight:650; }
.field input, .field select, .field textarea {
  width:100%; border:1px solid var(--line); border-radius:12px; padding:14px 15px; background:#FFFFFF; outline:none;
}
.field textarea { min-height:140px; resize:vertical; }
.form-card { background:#FFFFFF; border:1px solid var(--line); border-radius:22px; padding:32px; }
.two-col { display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:start; }

.admin-brand {
  display:flex;
  justify-content:center;
  margin-bottom:34px;
}
.admin-brand img {
  width:88px;
  height:88px;
  object-fit:contain;
  filter:brightness(0) invert(1);
}
.admin-login-brand {
  display:flex;
  align-items:center;
  gap:18px;
}
.admin-login-brand img {
  width:88px;
  height:88px;
  object-fit:contain;
}
.admin-login-brand span {
  font-size:12px;
  letter-spacing:.14em;
  color:var(--muted);
}
.reader-brand {
  display:flex;
  align-items:center;
  gap:14px;
}
.reader-brand img {
  width:42px;
  height:42px;
  object-fit:contain;
  filter:brightness(0) invert(1);
}

/* Admin */
.admin-body { background:#F6F6F4; }
.admin-shell { min-height:100vh; display:grid; grid-template-columns:270px 1fr; }
.admin-sidebar { background:#173A35; color:#fff; padding:28px 22px; position:sticky; top:0; height:100vh; }
.admin-brand { font-size:20px; letter-spacing:.18em; font-weight:800; margin-bottom:42px; }
.admin-nav { display:grid; gap:6px; }
.admin-nav a { padding:12px 14px; border-radius:10px; color:rgba(255,255,255,.72); }
.admin-nav a.active, .admin-nav a:hover { background:rgba(255,255,255,.1); color:#fff; }
.admin-main { padding:28px 38px 60px; }
.admin-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:32px; }
.admin-title { font-family:var(--sans); font-size:48px; font-weight:300; letter-spacing:-.035em; margin:0; }
.kpi-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-bottom:28px; }
.kpi { background:#FFFFFF; border:1px solid var(--line); border-radius:18px; padding:22px; }
.kpi strong { font-family:var(--sans); font-size:42px; font-weight:300; letter-spacing:-.035em; display:block; }
.panel { background:#FFFFFF; border:1px solid var(--line); border-radius:18px; padding:22px; margin-bottom:22px; }
.panel-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.table-wrap { overflow:auto; }
table { width:100%; border-collapse:collapse; }
th, td { text-align:left; padding:14px 12px; border-bottom:1px solid var(--line); font-size:14px; }
th { color:var(--muted); font-weight:600; }
.cover-mini { width:42px; aspect-ratio:5/7; object-fit:cover; box-shadow:0 5px 10px rgba(0,0,0,.12); }
.stepper { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:26px; }
.step { display:flex; align-items:center; gap:8px; color:var(--muted); }
.step span { width:28px; height:28px; border-radius:50%; border:1px solid var(--line); display:grid; place-items:center; }
.step.active { color:var(--ink); font-weight:700; }
.step.active span { background:#173A35; color:#fff; }
.upload-box { min-height:260px; border:1px dashed #999; border-radius:18px; display:grid; place-items:center; text-align:center; padding:26px; background:#F6F6F4; }
.page-manager { display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.page-card { background:#FFFFFF; border:1px solid var(--line); border-radius:14px; padding:12px; }
.page-card img { aspect-ratio:5/7; object-fit:cover; background:#EFF1EF; }
.editor-grid { display:grid; grid-template-columns:minmax(520px,1fr) 360px; gap:22px; }
.canvas-wrap { background:#E9ECEA; min-height:720px; display:grid; place-items:center; border-radius:18px; padding:30px; position:relative; }
.canvas-page { width:min(520px,78%); position:relative; }
.canvas-page img { width:100%; }
.hotspot { position:absolute; border:2px solid #d85846; background:rgba(216,88,70,.16); }
.hotspot.one { left:54%; top:58%; width:30%; height:18%; }
.hotspot.two { left:12%; top:70%; width:18%; height:10%; border-color:#7d61d8; background:rgba(125,97,216,.16); }
.chart { height:260px; display:flex; align-items:end; gap:12px; padding-top:20px; }
.chart span { flex:1; background:#173A35; border-radius:8px 8px 0 0; min-width:22px; }
.toast { position:fixed; right:28px; bottom:28px; background:#173A35; color:#fff; padding:14px 18px; border-radius:12px; opacity:0; transform:translateY(18px); pointer-events:none; transition:.25s; z-index:200; }
.toast.show { opacity:1; transform:translateY(0); }

/* Utility pages */
.content-hero { padding:110px 0 70px; border-bottom:1px solid var(--line); }
.prose { font-family:var(--sans); font-weight:300; letter-spacing:-.018em; font-size:24px; line-height:1.55; max-width:900px; }
.cards-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.service-card { background:#FFFFFF; border:1px solid var(--line); border-radius:18px; padding:28px; min-height:260px; }
.contact-card { background:#2e2e2c; color:#fff; border-radius:24px; padding:42px; }

@media (max-width: 1180px) {
  .home-supporters {
    padding-bottom:98px;
  }
  .supporters-grid {
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  .logo-chip {
    width:150px;
    height:86px;
  }


  .home-editions {
    padding:92px 0 108px;
  }
  .home-editions-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:64px 24px;
  }


  .menu-overlay {
    grid-template-columns:minmax(320px, 38vw) 1fr;
  }
  .menu-panel {
    padding-left:54px;
    padding-right:54px;
  }
  .menu-content {
    grid-template-columns:1fr .72fr;
    gap:58px;
  }
  .menu-meta {
    grid-template-columns:1fr 1fr;
  }
  .menu-meta > div:last-child {
    display:none;
  }


  .footer-main {
    min-height:auto;
    padding:82px 0 68px;
  }
  .footer-columns {
    grid-template-columns:1fr 1fr;
    gap:64px 80px;
  }
  .footer-signup {
    grid-column:1 / -1;
    max-width:680px;
  }

  .nav { display:none; }
  .menu-trigger { display:inline-grid; }
  .header-inner { grid-template-columns:1fr auto; }
  .header-actions { grid-column:2; }
  .hero { grid-template-columns:1fr; }
  .hero-copy { border-left:0; border-top:1px solid var(--line); }
  .editions-featured-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:64px 24px; }
  .editions-archive-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .archive-row { grid-template-columns:repeat(4,1fr); }
  .edition-detail { grid-template-columns:1fr; }
  .edition-detail-cover { border-right:0; border-bottom:1px solid var(--line); }
  .admin-shell { grid-template-columns:92px 1fr; }
  .admin-sidebar { padding:24px 14px; }
  .admin-nav a { font-size:0; text-align:center; }
  .admin-nav a::first-letter { font-size:18px; }
  .kpi-grid { grid-template-columns:repeat(2,1fr); }
  .editor-grid { grid-template-columns:1fr; }
}
@media (max-width: 760px) {
  .home-supporters {
    padding-bottom:72px;
  }
  .supporters-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
    padding-top:20px;
  }
  .supporter-card {
    min-height:88px;
    padding:14px 12px;
  }
  .supporter-card img {
    max-height:46px;
  }
  .logo-marquee::before,
  .logo-chip {
    width:118px;
    height:74px;
    padding:12px;
  }
  .logo-chip img {
    max-height:42px;
  }


  .home-editions {
    padding:66px 0 82px;
  }
  .home-editions-label {
    margin-bottom:22px;
  }
  .home-editions-grid {
    grid-template-columns:1fr;
    gap:54px;
  }
  .home-edition-card h2 {
    font-size:28px;
  }
  .home-editions-more {
    margin-top:58px;
  }


  .menu-panel-logo {
    top:20px;
    left:24px;
    width:54px;
    height:54px;
  }


  .brand-logo {
    height:58px;
  }
  .brand-logo img {
    width:58px;
    height:58px;
  }


  .header-inner {
    min-height:72px;
  }
  .brand {
    font-size:17px;
  }
  .menu-trigger-lines {
    width:48px;
    padding-right:0;
  }
  .menu-overlay {
    grid-template-columns:1fr;
  }
  .menu-cover {
    position:absolute;
    inset:0;
    min-height:100%;
    opacity:0;
    transform:translateX(-102%);
  }
  .menu-overlay.open .menu-cover {
    transform:translateX(0);
    opacity:1;
  }
  .menu-panel {
    width:100%;
    min-height:100%;
    padding:82px 24px 34px;
    background:rgba(255,255,255,.96);
  }
  .menu-panel::after {
    right:-28px;
    top:96px;
    font-size:84px;
    color:rgba(191,170,124,.12);
  }
  .menu-content {
    grid-template-columns:1fr;
    gap:40px;
    margin-top:14px;
  }
  .menu-primary {
    gap:19px;
  }
  .menu-primary a {
    font-size:28px;
  }
  .menu-secondary {
    grid-template-columns:1fr 1fr;
    gap:24px;
  }
  .menu-meta {
    grid-template-columns:1fr;
    gap:20px;
    margin-top:42px;
    padding-top:28px;
  }
  .menu-meta > div:nth-child(2),
  .menu-meta > div:last-child {
    display:none;
  }


  .footer-main {
    width:min(calc(100% - 32px), 1260px);
    padding:66px 0 54px;
  }
  .footer-columns {
    grid-template-columns:1fr;
    gap:48px;
  }
  .footer-signup {
    grid-column:auto;
    max-width:none;
  }
  .footer-title {
    font-size:40px;
  }
  .newsletter-row {
    grid-template-columns:1fr;
    gap:24px;
  }
  .newsletter .btn {
    width:max-content;
  }
  .footer-bottom {
    width:min(calc(100% - 32px), 1260px);
    grid-template-columns:1fr;
    gap:18px;
    padding:24px 0 28px;
  }
  .footer-bottom .footer-legal {
    justify-content:flex-start;
    flex-wrap:wrap;
    gap:12px 20px;
  }
  .footer-bottom .footer-credit {
    text-align:left;
  }

  .container { width:min(calc(100% - 32px), var(--container)); }
  .header-inner { height:72px; }
  .brand { font-size:17px; }
  .search-link { display:none; }
  .page-space, .section-space { padding:56px 0; }
  .menu-overlay { grid-template-columns:1fr; }
  .menu-cover { display:none; }
  .menu-panel { padding:80px 26px 34px; }
  .menu-grid { grid-template-columns:1fr; gap:36px; margin-top:36px; }
  .menu-meta { grid-template-columns:1fr; }
  .hero-cover { padding:36px 18px; }
  .hero-cover img { height:auto; width:75vw; }
  .hero-copy { padding:56px 24px; }
  .edition-heading { grid-template-columns:1fr; margin-bottom:34px; }
  .edition-grid { grid-template-columns:1fr; }
  .edition-card { border-right:0; border-bottom:1px solid var(--line); min-height:auto; padding:28px 14px 34px; }
  .archive-row { grid-template-columns:repeat(2,1fr); }
  .reader-shell { grid-template-rows:62px 1fr 92px; }
  .reader-toolbar { grid-template-columns:1fr auto; padding:0 12px; }
  .reader-toolbar .center { display:none; }
  .reader-stage { padding:18px 16px; }
  .reader-page { width:92vw; height:auto; }
  .reader-page.secondary { display:none; }
  .reader-arrow { display:none; }
  .reader-thumbs { padding:10px 12px; }
  .reader-thumb { width:44px; }
  .share-preview { grid-template-columns:1fr; }
  .share-preview img { width:100%; }
  .form-grid, .two-col, .cards-3 { grid-template-columns:1fr; }
  .admin-shell { grid-template-columns:1fr; }
  .admin-sidebar { position:static; height:auto; display:flex; overflow:auto; }
  .admin-brand { display:none; }
  .admin-nav { display:flex; }
  .admin-nav a { font-size:13px; white-space:nowrap; }
  .admin-main { padding:22px 16px 50px; }
  .admin-top { align-items:flex-start; gap:18px; }
  .admin-title { font-size:38px; }
  .kpi-grid { grid-template-columns:1fr; }
  .page-manager { grid-template-columns:repeat(2,1fr); }
  .editor-grid { grid-template-columns:1fr; }
  .canvas-wrap { min-height:500px; padding:16px; }
}


/* Helvetica editorial refinement */
body, button, input, select, textarea { font-family:"Helvetica Neue", Helvetica, Arial, sans-serif; }
h1, h2, h3, h4, h5, h6 { font-family:"Helvetica Neue", Helvetica, Arial, sans-serif; font-weight:300; }
p, li, a, span, label, small, td, th { font-weight:300; }
strong, b { font-weight:500; }
.btn { font-weight:300; }
.edition-heading { margin-bottom:92px; }
.edition-card { padding-top:42px; padding-bottom:46px; }
.archive-strip { padding-top:56px; }


/* Paleta institucional Mangalarga */
::selection {
  background:#BFAA7C;
  color:#173A35;
}

.site-header,
.home-page .site-header {
  border-bottom-color:rgba(23,58,53,.12);
}

.nav a.active,
.year-tabs button.active {
  border-color:#BFAA7C;
}

.menu-trigger-lines span {
  background:#173A35;
}

.menu-primary a.active::after {
  background:#BFAA7C;
}

.edition-card:hover {
  background:rgba(191,170,124,.06);
}

.edition-card .index,
.eyebrow {
  color:#BFAA7C;
}

.edition-card h3,
.archive-item strong,
.title,
.display,
.admin-title {
  color:#173A35;
}

.reader-toolbar {
  background:#173A35;
}

.reader-progress {
  background:#BFAA7C;
}

.reader-thumb.active {
  border-color:#BFAA7C;
}

.admin-nav a.active,
.admin-nav a:hover {
  background:rgba(191,170,124,.18);
  color:#fff;
}

.panel,
.kpi,
.form-card,
.page-card,
.service-card {
  border-color:rgba(23,58,53,.12);
}

.field input:focus,
.field select:focus,
.field textarea:focus {
  border-color:#BFAA7C;
  box-shadow:0 0 0 3px rgba(191,170,124,.12);
}

.footer-title,
.footer-entity,
.footer-phone,
.footer-block h3 {
  color:#fff;
}

.footer-block h3,
.footer-title {
  letter-spacing:.01em;
}

.newsletter input {
  border-bottom-color:rgba(191,170,124,.68);
}

.newsletter input:focus {
  border-bottom-color:#BFAA7C;
}

.footer-credit strong {
  color:#BFAA7C;
}





/* Home: hero fotográfico */
.photo-hero {
  position: relative;
  min-height: calc(100vh - 92px);
  overflow: hidden;
  background: #173A35;
  isolation: isolate;
}

.photo-hero-media {
  position: absolute;
  inset: -9% 0 -14%;
  z-index: 0;
  will-change: transform;
}

.photo-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 54% 46%;
  display: block;
  transform: scale(1.035);
}

.photo-hero-shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(13, 35, 31, .08) 0%, rgba(13, 35, 31, .02) 32%, rgba(13, 35, 31, .34) 100%),
    linear-gradient(90deg, rgba(13, 35, 31, .54) 0%, rgba(13, 35, 31, .20) 42%, rgba(13, 35, 31, .02) 76%);
}

.photo-hero-content {
  position: relative;
  z-index: 2;
  min-height: calc(100vh - 92px);
  width: min(calc(100% - 64px), 1680px);
  margin: 0 auto;
  display: flex;
  align-items: flex-end;
  padding: 0 0 84px;
}

.photo-hero-content h1 {
  margin: 0;
  color: #fff;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(74px, 11vw, 188px);
  line-height: .82;
  font-weight: 300;
  letter-spacing: -.065em;
  text-transform: uppercase;
  text-shadow: none;
}

.photo-hero-scroll {
  position: absolute;
  right: 44px;
  bottom: 40px;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(255,255,255,.78);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.photo-hero-scroll i {
  position: relative;
  width: 42px;
  height: 1px;
  overflow: hidden;
  background: rgba(255,255,255,.30);
}

.photo-hero-scroll i::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #fff;
  transform: translateX(-100%);
  animation: photoHeroScroll 1.8s ease-in-out infinite;
}

@keyframes photoHeroScroll {
  0% { transform: translateX(-100%); }
  45%, 55% { transform: translateX(0); }
  100% { transform: translateX(100%); }
}

@media (max-width: 760px) {
  .photo-hero {
    min-height: calc(100svh - 72px);
  }

  .photo-hero-media {
    inset: -6% -16% -12%;
  }

  .photo-hero-media img {
    object-position: 58% 48%;
  }

  .photo-hero-content {
    min-height: calc(100svh - 72px);
    width: calc(100% - 32px);
    padding-bottom: 54px;
  }

  .photo-hero-content h1 {
    font-size: clamp(54px, 18vw, 88px);
    line-height: .88;
    letter-spacing: -.055em;
  }

  .photo-hero-scroll {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .photo-hero-media {
    transform: none !important;
  }

  .photo-hero-scroll i::after {
    animation: none;
  }
}


/* Refinamentos v29 */
.menu-trigger-lines{width:auto;min-width:104px;height:48px;padding:0;display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:13px}
.menu-trigger-label{font-size:12px;font-weight:500;letter-spacing:.12em;color:var(--ink)}
.menu-trigger-bars{width:38px;display:flex;flex-direction:column;align-items:flex-end;gap:7px}
.menu-trigger-bars i{display:block;height:1px;background:var(--ink);transition:width .25s ease}
.menu-trigger-bars i:nth-child(1),.menu-trigger-bars i:nth-child(3){width:38px}.menu-trigger-bars i:nth-child(2){width:29px}.menu-trigger-lines:hover .menu-trigger-bars i:nth-child(2){width:38px}
.menu-trigger-lines>span:not(.menu-trigger-label):not(.menu-trigger-bars){display:none}
.menu-cover{display:flex;align-items:center;justify-content:center;padding:24px;background:#173A35}
.menu-cover img{width:100%;height:100%;object-fit:contain;object-position:center}
.menu-overlay{grid-template-columns:minmax(300px,30vw) 1fr}
.menu-panel{padding-left:clamp(38px,5vw,90px);padding-right:clamp(38px,5vw,90px)}
.photo-hero-media{inset:-9% 0 -14%}.photo-hero-media img{filter:none;opacity:1}
.photo-hero-shade{background:linear-gradient(to top,rgba(9,27,24,.68) 0%,rgba(9,27,24,.34) 24%,rgba(9,27,24,.10) 45%,rgba(9,27,24,0) 68%)}
.photo-hero-content{align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:0 32px}
.photo-hero-call{max-width:1100px;color:#fff;font-size:clamp(46px,6.8vw,112px);line-height:.98;font-weight:300;letter-spacing:-.045em;text-shadow:0 2px 20px rgba(0,0,0,.18)}
.photo-hero-call::after{content:"";display:block;width:0;height:1px;background:#fff;margin:20px auto 0;transition:width .45s cubic-bezier(.2,.7,.2,1)}
.photo-hero-call:hover::after{width:100%}
.photo-hero-scroll{position:static;margin-top:42px;display:flex;flex-direction:column;gap:10px;color:#fff;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.mouse-icon{width:25px;height:38px;border:1px solid rgba(255,255,255,.78);border-radius:16px;position:relative;display:block}.mouse-icon i{position:absolute;left:50%;top:8px;width:3px;height:7px;border-radius:4px;background:#fff;transform:translateX(-50%);animation:mouseScroll 1.6s infinite}
@keyframes mouseScroll{0%{opacity:0;transform:translate(-50%,0)}25%{opacity:1}100%{opacity:0;transform:translate(-50%,14px)}}
.hero-note-link{display:block;padding-bottom:9px}.hero-note-link .subtitle{display:inline-block}
.animated-link{position:relative;display:inline-block}.animated-link::after,.footer-social a::after,.footer-legal a::after,.footer-phone::after,.footer-credit a::after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.animated-link:hover::after,.footer-social a:hover::after,.footer-legal a:hover::after,.footer-phone:hover::after,.footer-credit a:hover::after{transform:scaleX(1)}
.footer-social a,.footer-legal a,.footer-phone,.footer-credit a{position:relative;display:inline-block}
.home-editions-more{margin-top:64px}.home-editions-more .more-link{font-size:16px;font-weight:400;padding:14px 20px;border:1px solid var(--ink);border-radius:999px}.home-editions-more .more-link::after{left:20px;right:20px;width:auto;bottom:9px}.home-editions-more .more-link:hover{color:var(--ink);background:rgba(23,58,53,.04)}
.btn.dark{background:linear-gradient(to right,#BFAA7C 0 50%,#173A35 50% 100%);background-size:200% 100%;background-position:100% 0;transition:background-position .45s cubic-bezier(.2,.7,.2,1),color .3s ease,border-color .3s ease,transform .3s ease}.btn.dark:hover{background-position:0 0;color:#173A35;border-color:#BFAA7C}
.newsletter .btn{background:transparent}.newsletter .btn:hover{background:#BFAA7C}
.home-edition-card,.archive-item{cursor:pointer;position:relative;z-index:1}.home-edition-card *,.archive-item *{pointer-events:none}
.institution-main{padding-top:0}.institution-hero{height:min(78vh,820px);position:relative;overflow:visible}.institution-hero>img{width:100%;height:100%;object-fit:cover;object-position:center}.institution-block{position:absolute;left:7vw;bottom:-64px;width:170px;height:170px;background:#BFAA7C}.institution-intro{padding:150px 0 90px}.institution-kicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}.institution-intro h1{max-width:1220px;font-size:clamp(42px,5.4vw,88px);line-height:1.03;font-weight:300;letter-spacing:-.04em;margin:20px 0 0}.institution-contact{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:44px;padding:38px 0 110px;border-top:1px solid var(--line)}.institution-contact strong{display:block;margin-bottom:12px}.institution-contact p{margin:0;color:var(--muted);font-size:17px;line-height:1.6}
@media(max-width:760px){.menu-trigger-lines{min-width:88px}.menu-trigger-label{font-size:10px}.photo-hero-call{font-size:clamp(38px,12vw,62px)}.photo-hero-scroll{display:flex}.institution-block{width:110px;height:110px;bottom:-42px}.institution-intro{padding:100px 0 60px}.institution-contact{grid-template-columns:1fr;gap:28px;padding-bottom:72px}}


/* Refinamentos v30 */

/* 1. Chamada do hero: linha individual em cada linha */
.photo-hero-call {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}
.photo-hero-call span {
  position:relative;
  display:inline-block;
  width:max-content;
  max-width:100%;
  padding-bottom:7px;
}
.photo-hero-call::after { display:none !important; }
.photo-hero-call span::after {
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .42s cubic-bezier(.2,.7,.2,1);
}
.photo-hero-call:hover span::after { transform:scaleX(1); }

/* 3. Linha somente sob o texto dos dois atalhos */
.hero-note-link { display:block; }
.line-hover-text {
  position:relative;
  display:inline-block !important;
  width:max-content;
  max-width:100%;
  padding-bottom:4px;
}
.line-hover-text::after {
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .38s cubic-bezier(.2,.7,.2,1);
}
.hero-note-link:hover .line-hover-text::after { transform:scaleX(1); }

/* 4. Botão de acervo com ícone de galeria */
.home-editions-more { margin-top:64px; }
.archive-button {
  gap:12px;
  padding:0 24px;
  border-radius:999px;
}
.gallery-icon {
  width:18px;
  height:18px;
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  grid-template-rows:repeat(2, 1fr);
  gap:3px;
}
.gallery-icon i {
  display:block;
  border:1px solid currentColor;
  border-radius:2px;
}

/* 5. Redes sociais uma abaixo da outra */
.footer-social {
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:10px !important;
}

/* 7. Menu: barras à esquerda e palavra MENU à direita */
.menu-trigger-lines {
  flex-direction:row-reverse !important;
  justify-content:flex-start !important;
  gap:12px !important;
}
.menu-trigger-bars {
  flex:0 0 38px;
  height:23px;
  justify-content:center;
  align-items:flex-end;
  gap:6px;
}
.menu-trigger-bars i {
  display:block !important;
  height:1px !important;
  margin:0 !important;
}
.menu-trigger-bars i:nth-child(1),
.menu-trigger-bars i:nth-child(3) { width:38px !important; }
.menu-trigger-bars i:nth-child(2) { width:25px !important; }
.menu-trigger-lines:hover .menu-trigger-bars i:nth-child(2) { width:38px !important; }

/* 6, 8 e 11. Elementos clicáveis */
.supporter-card,
.hero-cover,
.edition-detail-cover {
  cursor:pointer;
}
.supporter-card img,
.hero-cover img,
.edition-detail-cover img { pointer-events:none; }

/* 12. Quadro institucional maior, com logo */
.institution-block {
  width:204px !important;
  height:204px !important;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
}
.institution-block img {
  width:100%;
  height:100%;
  object-fit:contain;
}
.institution-copy {
  max-width:980px;
  margin:34px 0 0;
  color:var(--muted);
  font-size:19px;
  line-height:1.7;
  font-weight:300;
}

@media(max-width:760px){
  .photo-hero-call span { width:auto; }
  .institution-block { width:132px !important; height:132px !important; padding:18px; }
  .institution-copy { font-size:17px; }
}


/* Refinamentos v31 */
/* Linhas sequenciais apenas onde o link tem duas ou mais linhas */
.stagger-link { display:inline-flex; flex-direction:column; align-items:flex-start; width:max-content; max-width:100%; }
.stagger-line { position:relative; display:inline-block; width:max-content; max-width:100%; padding-bottom:5px; }
.stagger-line::after { content:""; position:absolute; left:0; bottom:0; width:100%; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left center; transition:transform .42s cubic-bezier(.2,.7,.2,1); }
.stagger-link:hover .stagger-line:nth-child(1)::after { transform:scaleX(1); transition-delay:0s; }
.stagger-link:hover .stagger-line:nth-child(2)::after { transform:scaleX(1); transition-delay:.16s; }
.stagger-link:hover .stagger-line:nth-child(3)::after { transform:scaleX(1); transition-delay:.32s; }
.photo-hero-call::after { display:none !important; }
.hero-note-link { display:flex; flex-direction:column; align-items:flex-start; width:max-content; max-width:100%; gap:4px; padding-bottom:0; }

/* Botões: sem linha, apenas preenchimento lateral */
.btn, .newsletter .btn, .archive-button {
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background-image:linear-gradient(to right,#BFAA7C 0 50%,transparent 50% 100%);
  background-size:200% 100%;
  background-position:100% 0;
  transition:background-position .46s cubic-bezier(.2,.7,.2,1), color .28s ease, border-color .28s ease, transform .28s ease;
}
.btn:hover, .newsletter .btn:hover, .archive-button:hover { background-position:0 0; color:#173A35; border-color:#BFAA7C; }
.btn::after, .archive-button::after, .newsletter .btn::after { display:none !important; }
.btn.dark { background-image:linear-gradient(to right,#BFAA7C 0 50%,#173A35 50% 100%); background-size:200% 100%; background-position:100% 0; }
.archive-button { min-width:330px; padding-left:30px !important; padding-right:30px !important; justify-content:center; white-space:nowrap; }
.home-editions-more .archive-button { border-radius:999px; }

/* Rodapé sem linhas; apenas deslocamento sutil */
.footer-social a::after, .footer-legal a::after, .footer-phone::after, .footer-credit a::after { display:none !important; }
.footer-phone, .footer-legal a, .footer-credit a, .footer-social a { transition:transform .28s ease, opacity .28s ease; }
.footer-phone:hover, .footer-legal a:hover, .footer-credit a:hover, .footer-social a:hover { transform:translateX(4px); opacity:.86; }

/* Menu com barras preservadas e sem deformação */
.menu-trigger-lines { min-width:112px !important; height:48px !important; display:inline-flex !important; flex-direction:row !important; align-items:center !important; justify-content:flex-end !important; gap:14px !important; }
.menu-trigger-bars { flex:0 0 40px !important; width:40px !important; height:24px !important; display:flex !important; flex-direction:column !important; align-items:flex-end !important; justify-content:center !important; gap:6px !important; }
.menu-trigger-bars i { flex:0 0 1px !important; height:1px !important; min-height:1px !important; max-height:1px !important; border-radius:0 !important; background:#173A35 !important; }
.menu-trigger-bars i:nth-child(1), .menu-trigger-bars i:nth-child(3) { width:40px !important; }
.menu-trigger-bars i:nth-child(2) { width:27px !important; }
.menu-trigger-lines:hover .menu-trigger-bars i:nth-child(2) { width:40px !important; }

/* Página da edição sem quebras excessivas */
.edition-detail { align-items:stretch; min-height:auto; }
.edition-detail-copy { padding:72px 6vw; justify-content:flex-start; }
.edition-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:30px; }
.highlight-grid { margin-top:42px; gap:22px; }
.highlight { min-height:170px; }
.highlight h3 { margin:12px 0 8px; font-size:24px; font-weight:400; }
.highlight p { margin:0; color:var(--muted); }

/* ABCCRM sem rodapé, com nome na imagem e degradê leve */
.institution-page { background:#fff; }
.institution-hero { overflow:visible; }
.institution-hero-gradient { position:absolute; left:0; right:0; bottom:0; height:42%; background:linear-gradient(to top,rgba(0,0,0,.20),rgba(0,0,0,0)); pointer-events:none; }
.institution-hero-name { position:absolute; left:7vw; bottom:42px; z-index:2; color:#fff; font-size:clamp(34px,4.6vw,72px); font-weight:300; letter-spacing:-.04em; }
.institution-block { z-index:3; }

@media(max-width:760px){
  .archive-button{min-width:0;width:100%;white-space:normal;}
  .stagger-link{width:100%;}
  .edition-detail-copy{padding:52px 24px;}
  .highlight-grid{grid-template-columns:1fr;}
  .institution-hero-name{left:24px;bottom:28px;}
}


/* Refinamentos v32 */

/* Hero centralizado */
.photo-hero-content {
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}
.photo-hero-call,
.photo-hero-call.stagger-link {
  align-items:center !important;
  text-align:center !important;
  margin-left:auto;
  margin-right:auto;
}
.photo-hero-call .stagger-line {
  margin-left:auto;
  margin-right:auto;
}

/* Frase de contato mais leve e um pouco menor */
.contact-display {
  max-width:1120px;
  font-size:clamp(44px, 6.7vw, 96px) !important;
  line-height:.98 !important;
  font-weight:300 !important;
  letter-spacing:-.045em !important;
}

/* Botões com preenchimento lateral real e texto legível */
.btn,
.archive-button,
.newsletter .btn {
  background-color:transparent !important;
  background-repeat:no-repeat !important;
  background-size:205% 100% !important;
  background-position:100% 0 !important;
  transition:
    background-position .48s cubic-bezier(.2,.7,.2,1),
    color .26s ease,
    border-color .26s ease,
    transform .26s ease !important;
}
.btn:not(.dark),
.newsletter .btn {
  background-image:linear-gradient(to left, #173A35 0 50%, transparent 50% 100%) !important;
}
.btn:not(.dark):hover,
.newsletter .btn:hover {
  background-position:0 0 !important;
  color:#fff !important;
  border-color:#173A35 !important;
}
.btn.dark,
.archive-button {
  background-image:linear-gradient(to left, #BFAA7C 0 50%, #173A35 50% 100%) !important;
}
.btn.dark:hover,
.archive-button:hover {
  background-position:0 0 !important;
  color:#173A35 !important;
  border-color:#BFAA7C !important;
}

/* Botão do acervo: ícone e texto sempre na mesma linha */
.archive-button {
  display:inline-flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  width:auto !important;
  min-width:390px !important;
  padding-left:34px !important;
  padding-right:34px !important;
  white-space:nowrap !important;
}
.gallery-icon {
  flex:0 0 18px !important;
  display:grid !important;
}

/* Rurally com linha; demais links do rodapé sem linha */
.footer-credit a {
  position:relative;
  display:inline-block;
  transform:none !important;
}
.footer-credit a::after {
  display:block !important;
  content:"";
  position:absolute;
  left:0;
  bottom:-4px;
  width:100%;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .38s cubic-bezier(.2,.7,.2,1);
}
.footer-credit a:hover::after {
  transform:scaleX(1);
}
.footer-social a::after,
.footer-legal a::after,
.footer-phone::after {
  display:none !important;
}

/* Foto do menu ocupando todo o painel */
.menu-cover {
  padding:0 !important;
  overflow:hidden !important;
  background:#173A35 !important;
}
.menu-cover img {
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:center !important;
}

/* Burger limpo: somente três linhas */
.menu-trigger,
.menu-trigger-lines {
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
}
.menu-trigger-lines {
  min-width:112px !important;
  height:48px !important;
  padding:0 !important;
  display:inline-flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:14px !important;
}
.menu-trigger-label {
  flex:0 0 auto;
  color:#173A35 !important;
}
.menu-trigger-bars {
  position:relative !important;
  flex:0 0 40px !important;
  width:40px !important;
  height:22px !important;
  display:block !important;
  background:transparent !important;
  border:0 !important;
}
.menu-trigger-bars i {
  position:absolute !important;
  right:0 !important;
  display:block !important;
  height:1px !important;
  min-height:1px !important;
  max-height:1px !important;
  margin:0 !important;
  padding:0 !important;
  background:#173A35 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  transition:width .28s ease !important;
}
.menu-trigger-bars i:nth-child(1) {
  top:2px !important;
  width:40px !important;
}
.menu-trigger-bars i:nth-child(2) {
  top:10px !important;
  width:27px !important;
}
.menu-trigger-bars i:nth-child(3) {
  top:18px !important;
  width:40px !important;
}
.menu-trigger-lines:hover .menu-trigger-bars i:nth-child(2) {
  width:40px !important;
}

/* Página institucional */
.institution-hero {
  position:relative;
}
.institution-block {
  left:7vw !important;
  bottom:-72px !important;
  width:204px !important;
  height:204px !important;
  z-index:3 !important;
}
.institution-block img {
  width:100%;
  height:100%;
  object-fit:contain;
}
.institution-hero-name {
  left:calc(7vw + 86px) !important;
  bottom:34px !important;
  z-index:5 !important;
  white-space:nowrap;
  text-shadow:0 2px 14px rgba(0,0,0,.24);
}
.institution-contact {
  grid-template-columns:1.15fr 1fr .72fr !important;
}
.institution-social-icons {
  display:flex;
  align-items:center;
  gap:12px;
}
.institution-social-icons a {
  width:46px;
  height:46px;
  border:1px solid var(--line);
  border-radius:999px;
  display:grid;
  place-items:center;
  transition:transform .28s ease, background-color .28s ease, border-color .28s ease;
}
.institution-social-icons a:hover {
  transform:translateY(-3px);
  background:#173A35;
  border-color:#173A35;
}
.institution-social-icons svg {
  width:20px;
  height:20px;
  fill:none;
  stroke:#173A35;
  stroke-width:1.7;
}
.institution-social-icons a:hover svg {
  stroke:#fff;
}
.institution-social-icons svg path {
  fill:#173A35;
  stroke:none;
}
.institution-social-icons svg .play {
  fill:#fff;
}
.institution-social-icons a:hover svg path {
  fill:#fff;
}

/* Ajustes mobile */
@media(max-width:760px) {
  .archive-button {
    min-width:0 !important;
    width:100% !important;
    white-space:normal !important;
  }
  .menu-cover {
    display:none !important;
  }
  .institution-block {
    left:24px !important;
    bottom:-48px !important;
    width:132px !important;
    height:132px !important;
  }
  .institution-hero-name {
    left:86px !important;
    bottom:24px !important;
    font-size:clamp(30px,10vw,48px) !important;
  }
  .institution-contact {
    grid-template-columns:1fr !important;
  }
}


/* Refinamentos v33 */

/* Padrão único para todos os botões preenchidos */
.btn,
.archive-button,
.newsletter .btn,
.share-actions .btn {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  color: #fff !important;
  background-color: #173A35 !important;
  background-image: linear-gradient(to left, #BFAA7C 0 50%, #173A35 50% 100%) !important;
  background-size: 205% 100% !important;
  background-position: 100% 0 !important;
  background-repeat: no-repeat !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
  transition:
    background-position .48s cubic-bezier(.2,.7,.2,1),
    color .24s ease,
    transform .24s ease !important;
}
.btn:hover,
.archive-button:hover,
.newsletter .btn:hover,
.share-actions .btn:hover {
  background-position: 0 0 !important;
  color: #fff !important;
  border-color: transparent !important;
}
.btn:focus-visible,
.archive-button:focus-visible,
.newsletter .btn:focus-visible,
.share-actions .btn:focus-visible {
  outline: 2px solid #fff !important;
  outline-offset: 3px !important;
}
.btn::before,
.btn::after,
.archive-button::before,
.archive-button::after,
.newsletter .btn::before,
.newsletter .btn::after,
.share-actions .btn::before,
.share-actions .btn::after {
  display: none !important;
}

/* Rurally mantém linha animada */
.footer-credit a {
  color: inherit !important;
  position: relative !important;
  display: inline-block !important;
}
.footer-credit a::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  bottom: -4px !important;
  width: 100% !important;
  height: 1px !important;
  background: currentColor !important;
  transform: scaleX(0) !important;
  transform-origin: left center !important;
  transition: transform .36s cubic-bezier(.2,.7,.2,1) !important;
}
.footer-credit a:hover::after {
  transform: scaleX(1) !important;
}

/* Burger sem qualquer traço sobre a palavra MENU */
.menu-trigger,
.menu-trigger-lines,
.menu-trigger-label,
.menu-trigger-bars,
.menu-trigger > span {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
.menu-trigger::before,
.menu-trigger::after,
.menu-trigger-lines::before,
.menu-trigger-lines::after,
.menu-trigger-label::before,
.menu-trigger-label::after,
.menu-trigger-bars::before,
.menu-trigger-bars::after {
  content: none !important;
  display: none !important;
}
.menu-trigger-label {
  position: relative !important;
  background: transparent !important;
  line-height: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
}
.menu-trigger-bars {
  overflow: visible !important;
}
.menu-trigger-bars i {
  background: #173A35 !important;
}

/* Capa do menu: ocupa toda a altura e maximiza a largura sem cortar */
.menu-overlay {
  grid-template-columns: minmax(360px, 42vw) minmax(0, 1fr) !important;
}
.menu-cover {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #173A35 !important;
}
.menu-cover img {
  display: block !important;
  height: 100% !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 auto !important;
}

/* Contato novamente centralizado */
.contact-showcase-center {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
}
.contact-display {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

/* ABCCRM: nome à frente e ao lado do quadro, nunca sobre o logo */
.institution-block {
  z-index: 3 !important;
}
.institution-hero-name {
  left: calc(7vw + 230px) !important;
  bottom: 30px !important;
  z-index: 6 !important;
  white-space: nowrap !important;
  text-shadow: 0 2px 14px rgba(0,0,0,.26) !important;
}

@media (max-width: 980px) {
  .menu-overlay {
    grid-template-columns: minmax(300px, 38vw) minmax(0, 1fr) !important;
  }
  .institution-hero-name {
    left: calc(24px + 150px) !important;
  }
}

@media (max-width: 760px) {
  .menu-overlay {
    grid-template-columns: 1fr !important;
  }
  .menu-cover {
    display: none !important;
  }
  .institution-hero-name {
    left: 172px !important;
    bottom: 18px !important;
    max-width: calc(100% - 190px) !important;
    white-space: normal !important;
    font-size: clamp(28px, 8vw, 44px) !important;
  }
}


/* Refinamentos v34 */

/* Ordem do menu: ícone primeiro, palavra depois */
.menu-trigger-lines {
  justify-content:flex-end !important;
}
.menu-trigger-bars {
  order:1 !important;
}
.menu-trigger-label {
  order:2 !important;
}

/*
  Sistema único de botões.
  Todas as variantes usam preenchimento lateral, sem fade e sem borda preta.
*/
.btn,
.archive-button,
.newsletter .btn,
.share-actions .btn {
  --btn-bg:#173A35;
  --btn-hover:#BFAA7C;
  --btn-text:#fff;
  --btn-hover-text:#fff;
  color:var(--btn-text) !important;
  background-color:var(--btn-bg) !important;
  background-image:linear-gradient(
    to left,
    var(--btn-hover) 0 50%,
    var(--btn-bg) 50% 100%
  ) !important;
  background-size:205% 100% !important;
  background-position:100% 0 !important;
  background-repeat:no-repeat !important;
  border:1px solid transparent !important;
  box-shadow:none !important;
  transition:
    background-position .48s cubic-bezier(.2,.7,.2,1),
    color .24s ease,
    transform .24s ease !important;
}
.btn:hover,
.archive-button:hover,
.newsletter .btn:hover,
.share-actions .btn:hover {
  background-position:0 0 !important;
  color:var(--btn-hover-text) !important;
  border-color:transparent !important;
}

/* Branco → dourado */
.btn-white-gold {
  --btn-bg:#fff;
  --btn-hover:#BFAA7C;
  --btn-text:#173A35;
  --btn-hover-text:#173A35;
}

/* Branco → verde */
.btn-white-green {
  --btn-bg:#fff;
  --btn-hover:#173A35;
  --btn-text:#173A35;
  --btn-hover-text:#fff;
}

/* Verde → dourado */
.btn-green-gold {
  --btn-bg:#173A35;
  --btn-hover:#BFAA7C;
  --btn-text:#fff;
  --btn-hover-text:#173A35;
}

/* Verde → branco */
.btn-green-white {
  --btn-bg:#173A35;
  --btn-hover:#fff;
  --btn-text:#fff;
  --btn-hover-text:#173A35;
}

/* Dourado → verde */
.btn-gold-green {
  --btn-bg:#BFAA7C;
  --btn-hover:#173A35;
  --btn-text:#173A35;
  --btn-hover-text:#fff;
}

/* Dourado → branco */
.btn-gold-white {
  --btn-bg:#BFAA7C;
  --btn-hover:#fff;
  --btn-text:#173A35;
  --btn-hover-text:#173A35;
}

/* Cadastrar: dourado para branco, sempre com texto verde */
.newsletter .btn.btn-gold-white {
  --btn-bg:#BFAA7C;
  --btn-hover:#fff;
  --btn-text:#173A35;
  --btn-hover-text:#173A35;
}

/* Ler edição e Ver todas as publicações */
.btn-gold-green,
.archive-button.btn-gold-green {
  color:#173A35 !important;
}
.btn-gold-green:hover,
.archive-button.btn-gold-green:hover {
  color:#fff !important;
}

/* Patrocinadores: sombra + zoom sutil do conjunto */
.supporter-card {
  overflow:hidden !important;
  transition:
    transform .34s cubic-bezier(.2,.7,.2,1),
    box-shadow .34s cubic-bezier(.2,.7,.2,1) !important;
}
.supporter-card:hover {
  transform:translateY(-4px) scale(1.025) !important;
  box-shadow:0 18px 42px rgba(18,58,52,.16) !important;
  z-index:2;
}
.supporter-card img {
  transition:transform .38s cubic-bezier(.2,.7,.2,1) !important;
}
.supporter-card:hover img {
  transform:scale(1.055) !important;
}

@media(max-width:760px) {
  .supporter-card:hover {
    transform:translateY(-2px) scale(1.012) !important;
  }
}


/* Refinamentos v35 */

/* Botões dourados solicitados */
.btn-gold-green,
.archive-button.btn-gold-green {
  --btn-bg:#BFAA7C !important;
  --btn-hover:#173A35 !important;
  --btn-text:#173A35 !important;
  --btn-hover-text:#fff !important;
  background-color:#BFAA7C !important;
  color:#173A35 !important;
  border-color:transparent !important;
}
.btn-gold-green:hover,
.archive-button.btn-gold-green:hover {
  color:#fff !important;
  border-color:transparent !important;
}

/* Cadastrar: dourado com texto verde, hover branco com texto verde */
.newsletter .btn.btn-gold-white,
.btn.btn-gold-white {
  --btn-bg:#BFAA7C !important;
  --btn-hover:#fff !important;
  --btn-text:#173A35 !important;
  --btn-hover-text:#173A35 !important;
  background-color:#BFAA7C !important;
  color:#173A35 !important;
  border-color:transparent !important;
}
.newsletter .btn.btn-gold-white:hover,
.btn.btn-gold-white:hover {
  color:#173A35 !important;
  border-color:transparent !important;
}

/* No hover do menu, apenas o ícone se move */
.menu-trigger-lines {
  transform:none !important;
}
.menu-trigger-lines:hover {
  transform:none !important;
}
.menu-trigger-label {
  transform:none !important;
  transition:none !important;
}
.menu-trigger-bars {
  transition:transform .28s cubic-bezier(.2,.7,.2,1) !important;
}
.menu-trigger-lines:hover .menu-trigger-bars {
  transform:translateX(-4px) !important;
}

/* ABCCRM responsivo: logo centralizado e nome abaixo */
@media(max-width:760px) {
  .institution-block {
    left:50% !important;
    transform:translateX(-50%) !important;
    bottom:-42px !important;
  }
  .institution-hero-name {
    left:50% !important;
    transform:translateX(-50%) !important;
    bottom:-104px !important;
    width:max-content;
    max-width:calc(100vw - 40px);
    text-align:center !important;
  }
  .institution-intro {
    padding-top:150px !important;
  }
}


/* =========================================================
   CORREÇÃO DEFINITIVA V36
   Esta seção prevalece sobre as regras acumuladas anteriores.
   ========================================================= */

/* Estrutura única para todos os botões preenchidos */
.btn,
.archive-button,
.newsletter .btn,
.share-actions .btn {
  --button-base:#173A35;
  --button-hover:#BFAA7C;
  --button-text:#fff;
  --button-hover-text:#fff;

  color:var(--button-text) !important;
  background-color:var(--button-base) !important;
  background-image:linear-gradient(
    to right,
    var(--button-hover) 0 50%,
    var(--button-base) 50% 100%
  ) !important;
  background-size:200% 100% !important;
  background-position:100% 0 !important;
  background-repeat:no-repeat !important;
  border:1px solid transparent !important;
  box-shadow:none !important;
  transition:
    background-position .46s cubic-bezier(.2,.7,.2,1),
    color .22s ease,
    transform .22s ease !important;
}

.btn:hover,
.archive-button:hover,
.newsletter .btn:hover,
.share-actions .btn:hover {
  background-position:0 0 !important;
  color:var(--button-hover-text) !important;
  border-color:transparent !important;
}

/* Ler edição e Ver todas as publicações:
   dourado + texto verde → verde + texto branco */
.btn.btn-gold-green,
.archive-button.btn-gold-green {
  --button-base:#BFAA7C !important;
  --button-hover:#173A35 !important;
  --button-text:#173A35 !important;
  --button-hover-text:#fff !important;

  color:#173A35 !important;
  background-color:#BFAA7C !important;
  border-color:transparent !important;
}
.btn.btn-gold-green:hover,
.archive-button.btn-gold-green:hover {
  color:#fff !important;
  background-color:#173A35 !important;
}

/* Cadastrar:
   dourado + texto verde → branco + texto verde */
.newsletter .btn.btn-gold-white,
.btn.btn-gold-white {
  --button-base:#BFAA7C !important;
  --button-hover:#fff !important;
  --button-text:#173A35 !important;
  --button-hover-text:#173A35 !important;

  color:#173A35 !important;
  background-color:#BFAA7C !important;
  border-color:transparent !important;
}
.newsletter .btn.btn-gold-white:hover,
.btn.btn-gold-white:hover {
  color:#173A35 !important;
  background-color:#fff !important;
}

/* Botões verdes sempre com texto de contraste */
.btn:not(.btn-gold-green):not(.btn-gold-white),
.share-actions .btn:not(.btn-gold-green):not(.btn-gold-white) {
  --button-text:#fff;
}

/* MENU: palavra completamente estática.
   Somente a linha central do ícone se movimenta. */
.menu-trigger-lines,
.menu-trigger-lines:hover,
.menu-trigger-label,
.menu-trigger-lines:hover .menu-trigger-label,
.menu-trigger-bars,
.menu-trigger-lines:hover .menu-trigger-bars {
  transform:none !important;
}
.menu-trigger-label {
  transition:none !important;
}
.menu-trigger-bars i {
  transition:width .28s cubic-bezier(.2,.7,.2,1) !important;
}
.menu-trigger-bars i:nth-child(1),
.menu-trigger-bars i:nth-child(3) {
  width:40px !important;
}
.menu-trigger-bars i:nth-child(2) {
  width:25px !important;
}
.menu-trigger-lines:hover .menu-trigger-bars i:nth-child(2) {
  width:40px !important;
}

/* ABCCRM responsivo:
   logo centralizado e nome realmente abaixo, sem sobreposição */
@media(max-width:760px) {
  .institution-hero {
    margin-bottom:118px !important;
  }
  .institution-block {
    left:50% !important;
    right:auto !important;
    bottom:-48px !important;
    width:132px !important;
    height:132px !important;
    transform:translateX(-50%) !important;
  }
  .institution-hero-name {
    left:50% !important;
    right:auto !important;
    bottom:-112px !important;
    transform:translateX(-50%) !important;
    width:max-content !important;
    max-width:calc(100vw - 32px) !important;
    text-align:center !important;
    white-space:nowrap !important;
    z-index:6 !important;
  }
  .institution-intro {
    padding-top:72px !important;
  }
}


/* =========================================================
   V37 — correção isolada dos dois botões dourados
   Sem gradientes concorrentes e sem deslocamento.
   ========================================================= */

a.btn.btn-gold-green,
a.archive-button.btn-gold-green {
  color:#173A35 !important;
  background-color:#BFAA7C !important;
  background-image:linear-gradient(#173A35, #173A35) !important;
  background-repeat:no-repeat !important;
  background-position:right center !important;
  background-size:0 100% !important;
  border:0 !important;
  box-shadow:none !important;
  transform:none !important;
  transition:
    background-size .46s cubic-bezier(.2,.7,.2,1),
    color .22s ease !important;
}

a.btn.btn-gold-green:hover,
a.archive-button.btn-gold-green:hover {
  color:#BFAA7C !important;
  background-color:#BFAA7C !important;
  background-position:right center !important;
  background-size:100% 100% !important;
  border:0 !important;
  transform:none !important;
}

a.btn.btn-gold-green:focus,
a.btn.btn-gold-green:active,
a.archive-button.btn-gold-green:focus,
a.archive-button.btn-gold-green:active {
  color:#BFAA7C !important;
  border:0 !important;
  outline:none;
}

/* O ícone acompanha exatamente a cor do texto */
a.archive-button.btn-gold-green svg,
a.archive-button.btn-gold-green svg * {
  stroke:currentColor !important;
  color:inherit !important;
}


/* =========================================================
   V38 — direção única dos botões e fundo branco da edição atual
   ========================================================= */

/* Ler edição 122 e Ver todas as publicações
   Estado normal: dourado + texto verde
   Hover: verde entrando sempre da esquerda para a direita + texto branco */
.home-page a.btn.btn-gold-green,
.home-page a.archive-button.btn-gold-green {
  color:#173A35 !important;
  background-color:#BFAA7C !important;
  background-image:linear-gradient(#173A35, #173A35) !important;
  background-repeat:no-repeat !important;
  background-position:left center !important;
  background-size:0 100% !important;
  border:0 !important;
  transform:none !important;
  transition:
    background-size .46s cubic-bezier(.2,.7,.2,1),
    color .2s ease !important;
}

.home-page a.btn.btn-gold-green:hover,
.home-page a.archive-button.btn-gold-green:hover {
  color:#fff !important;
  background-color:#BFAA7C !important;
  background-position:left center !important;
  background-size:100% 100% !important;
  border:0 !important;
  transform:none !important;
}

.home-page a.btn.btn-gold-green:focus,
.home-page a.btn.btn-gold-green:active,
.home-page a.archive-button.btn-gold-green:focus,
.home-page a.archive-button.btn-gold-green:active {
  color:#fff !important;
  outline:none !important;
}

/* O ícone do botão acompanha a cor branca no hover */
.home-page a.archive-button.btn-gold-green svg,
.home-page a.archive-button.btn-gold-green svg * {
  color:inherit !important;
  stroke:currentColor !important;
}

/* Edição atual da home sem qualquer fundo colorido */
.home-page #edicao-atual,
.home-page #edicao-atual .hero-cover,
.home-page #edicao-atual .hero-copy {
  background:#fff !important;
  background-color:#fff !important;
  background-image:none !important;
}


/* V39 — remove o bloco de fundo atrás da revista atual */
.home-page #edicao-atual {
  background:#fff !important;
  border-bottom:0 !important;
}

.home-page #edicao-atual .hero-cover {
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
}

.home-page #edicao-atual .hero-cover::before,
.home-page #edicao-atual .hero-cover::after {
  display:none !important;
  content:none !important;
}

.home-page #edicao-atual .hero-cover img {
  display:block;
  background:transparent !important;
}



/* =========================================================
   LEITOR DIGITAL MANGALARGA · V40
   ========================================================= */
.reader-v2 {
  margin:0;
  overflow:hidden;
  background:#071815;
  color:#fff;
  font-family:Helvetica,Arial,sans-serif;
}
.reader-v2 * { box-sizing:border-box; }
.reader-symbols { position:absolute; width:0; height:0; overflow:hidden; }
.reader-v2 svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.reader-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

.mag-reader {
  --reader-bg:#0b2420;
  --reader-bg-deep:#071815;
  --reader-panel:#f7f5f0;
  --reader-gold:#bfaa7c;
  --reader-green:#173a35;
  --reader-control:46px;
  min-height:100vh;
  background:
    radial-gradient(circle at 50% 32%, rgba(37,86,77,.48), transparent 42%),
    linear-gradient(145deg,#0b2420 0%,#071815 76%);
}

/* Entrada */
.reader-intro {
  position:fixed;
  inset:0;
  z-index:300;
  min-height:100vh;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 31% 44%, rgba(191,170,124,.18), transparent 25%),
    radial-gradient(circle at 66% 40%, rgba(55,113,102,.24), transparent 35%),
    linear-gradient(140deg,#102d29,#071815 72%);
  transition:opacity .65s ease, visibility .65s ease;
}
.reader-intro.is-hidden { opacity:0; visibility:hidden; pointer-events:none; }
.reader-intro-glow { position:absolute; width:60vw; height:60vw; border-radius:50%; background:rgba(191,170,124,.06); filter:blur(50px); }
.reader-intro-back { position:absolute; top:30px; left:34px; display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.82); font-size:13px; letter-spacing:.08em; text-transform:uppercase; }
.reader-intro-content { position:relative; z-index:2; width:min(1120px,calc(100% - 64px)); display:grid; grid-template-columns:minmax(280px,430px) minmax(340px,1fr); align-items:center; gap:clamp(58px,8vw,128px); }
.reader-intro-cover { position:relative; perspective:1200px; }
.reader-intro-cover::after { content:""; position:absolute; z-index:-1; left:14%; right:4%; bottom:-34px; height:45px; background:rgba(0,0,0,.5); filter:blur(24px); border-radius:50%; }
.reader-intro-cover img { width:100%; max-height:72vh; object-fit:contain; box-shadow:0 42px 80px rgba(0,0,0,.42); transform:rotateY(4deg) rotateX(1deg); transform-origin:left center; }
.reader-intro-copy { max-width:570px; }
.reader-intro-kicker { margin:0 0 22px; color:var(--reader-gold); font-size:12px; font-weight:500; letter-spacing:.24em; text-transform:uppercase; }
.reader-intro-copy h1 { margin:0; font-size:clamp(64px,8vw,128px); line-height:.84; font-weight:300; letter-spacing:-.065em; }
.reader-intro-copy > p:not(.reader-intro-kicker) { margin:26px 0 0; color:rgba(255,255,255,.62); font-size:17px; }
.reader-intro-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:42px; }
.reader-primary,.reader-secondary { min-height:54px; padding:0 24px; border:0; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; font-weight:600; transition:transform .25s ease,background-color .25s ease,color .25s ease; }
.reader-primary { background:var(--reader-gold); color:var(--reader-green); }
.reader-primary:hover { background:#fff; transform:translateY(-2px); }
.reader-secondary { background:transparent; color:#fff; border:1px solid rgba(255,255,255,.28); }
.reader-secondary:hover { border-color:#fff; transform:translateY(-2px); }
.reader-intro-pdf { margin-top:24px; display:inline-flex; align-items:center; gap:10px; color:rgba(255,255,255,.72); font-size:14px; }
.reader-intro-pdf .external { width:16px; height:16px; }
.reader-intro-pdf span { position:relative; }
.reader-intro-pdf span::after { content:""; position:absolute; left:0; bottom:-5px; width:100%; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .3s ease; }
.reader-intro-pdf:hover span::after { transform:scaleX(1); }
.reader-intro-scroll { position:absolute; bottom:28px; left:50%; transform:translateX(-50%); border:0; background:transparent; color:rgba(255,255,255,.58); display:flex; flex-direction:column; align-items:center; gap:8px; cursor:pointer; font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.reader-intro-scroll svg { animation:readerMouse 1.8s ease-in-out infinite; }
@keyframes readerMouse { 0%,100%{transform:translateY(0)}50%{transform:translateY(5px)} }

/* Interface */
.reader-interface { min-height:100vh; display:grid; grid-template-rows:72px minmax(0,1fr) 78px; opacity:0; pointer-events:none; transition:opacity .55s ease; }
.reader-interface.is-active { opacity:1; pointer-events:auto; }
.reader-topbar,.reader-bottombar { position:relative; z-index:70; background:rgba(7,24,21,.72); border-color:rgba(255,255,255,.09); backdrop-filter:blur(20px); transition:transform .38s ease,opacity .38s ease; }
.reader-topbar { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 24px; border-bottom:1px solid rgba(255,255,255,.08); }
.reader-bottombar { display:grid; grid-template-columns:150px minmax(220px,1fr) 150px; align-items:center; gap:22px; padding:0 28px max(0px,env(safe-area-inset-bottom)); border-top:1px solid rgba(255,255,255,.08); }
.reader-interface.controls-hidden .reader-topbar { transform:translateY(-100%); opacity:0; }
.reader-interface.controls-hidden .reader-bottombar { transform:translateY(100%); opacity:0; }
.reader-topbar-left,.reader-tools,.reader-edition-brand,.reader-bottom-nav { display:flex; align-items:center; }
.reader-topbar-left { gap:16px; }
.reader-circle-button,.reader-tool { width:var(--reader-control); height:var(--reader-control); border:1px solid rgba(255,255,255,.11); border-radius:999px; background:rgba(255,255,255,.055); color:#fff; display:grid; place-items:center; cursor:pointer; transition:background-color .2s ease,border-color .2s ease,transform .2s ease; }
.reader-circle-button:hover,.reader-tool:hover { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.22); }
.reader-edition-brand { gap:11px; }
.reader-edition-brand img { width:39px; height:39px; object-fit:contain; filter:brightness(0) invert(1); opacity:.92; }
.reader-edition-brand img.reader-edition-cover {
  width:30px;
  height:44px;
  flex:0 0 auto;
  object-fit:cover;
  object-position:center top;
  filter:none;
  opacity:1;
  border-radius:2px;
  background:#fff;
  box-shadow:0 5px 14px rgba(0,0,0,.28);
}
.reader-edition-brand div { display:flex; flex-direction:column; line-height:1.12; }
.reader-edition-brand strong { font-size:13px; font-weight:600; }
.reader-edition-brand span { margin-top:4px; color:rgba(255,255,255,.5); font-size:11px; }
.reader-page-status { display:flex; align-items:baseline; gap:5px; font-variant-numeric:tabular-nums; }
.reader-page-status strong { font-size:16px; }
.reader-page-status span { color:rgba(255,255,255,.42); font-size:12px; }
.reader-tools { justify-content:flex-end; gap:6px; }
.reader-tool-separator { width:1px; height:22px; background:rgba(255,255,255,.1); margin:0 5px; }
.reader-zoom-value { width:42px; text-align:center; color:rgba(255,255,255,.62); font-size:11px; font-variant-numeric:tabular-nums; }

/* Área de leitura */
.reader-workspace { position:relative; z-index:1; min-height:0; display:grid; grid-template-columns:76px minmax(0,1fr) 76px; overflow:hidden; }
.reader-canvas { position:relative; min-width:0; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.18) transparent; }
.reader-canvas::before { content:""; position:fixed; inset:72px 0 78px; pointer-events:none; background:radial-gradient(circle at 50% 48%,rgba(35,78,70,.24),transparent 46%); }
.reader-spread { position:relative; min-width:100%; min-height:100%; padding:clamp(22px,3.5vh,44px) 20px; display:flex; align-items:center; justify-content:center; gap:2px; transform-origin:center center; transition:transform .24s ease; }
.reader-page-frame { position:relative; flex:0 0 auto; height:min(72vh,840px); aspect-ratio:900/1260; background:#fff; box-shadow:0 30px 72px rgba(0,0,0,.44); overflow:hidden; transition:opacity .24s ease,transform .38s cubic-bezier(.2,.72,.2,1),filter .25s ease; }
.reader-page-frame:first-child { transform-origin:right center; }
.reader-page-frame:last-child { transform-origin:left center; }
.reader-page-frame.is-entering { animation:readerPageIn .42s cubic-bezier(.2,.72,.2,1); }
@keyframes readerPageIn { from{opacity:.1;transform:translateX(16px) rotateY(-4deg)}to{opacity:1;transform:none} }
.reader-page-frame img { width:100%; height:100%; object-fit:cover; user-select:none; -webkit-user-drag:none; }
.reader-page-frame.is-cover { border-radius:1px 5px 5px 1px; }
.reader-page-number { position:absolute; right:12px; bottom:10px; padding:3px 8px; border-radius:999px; background:rgba(0,0,0,.48); color:#fff; font-size:10px; opacity:0; transition:opacity .2s ease; }
.reader-page-frame:hover .reader-page-number { opacity:1; }
.reader-page-hotspot { position:absolute; width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,.84); background:rgba(191,170,124,.94); color:#173a35; display:grid; place-items:center; cursor:pointer; box-shadow:0 8px 24px rgba(0,0,0,.24); animation:readerPulse 2.4s ease-in-out infinite; }
.reader-page-hotspot svg { width:18px; height:18px; }
@keyframes readerPulse { 0%,100%{box-shadow:0 0 0 0 rgba(191,170,124,.38),0 8px 24px rgba(0,0,0,.24)}50%{box-shadow:0 0 0 10px rgba(191,170,124,0),0 8px 24px rgba(0,0,0,.24)} }
.reader-side-arrow { align-self:center; justify-self:center; width:54px; height:54px; border-radius:50%; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.055); color:#fff; display:grid; place-items:center; cursor:pointer; opacity:.78; transition:opacity .2s ease,background .2s ease,transform .2s ease; z-index:4; }
.reader-side-arrow:hover { opacity:1; background:rgba(255,255,255,.12); transform:scale(1.04); }
.reader-side-arrow:disabled { opacity:.18; cursor:default; transform:none; }

/* Modo contínuo */
.reader-continuous { position:relative; z-index:2; width:min(900px,calc(100% - 40px)); margin:0 auto; padding:38px 0 90px; transform-origin:top center; }
.reader-continuous-page { position:relative; margin:0 auto 26px; background:#fff; box-shadow:0 26px 60px rgba(0,0,0,.35); }
.reader-continuous-page img { width:100%; display:block; }
.reader-continuous-page span { position:absolute; right:12px; bottom:10px; padding:4px 9px; background:rgba(0,0,0,.55); color:#fff; border-radius:999px; font-size:10px; }

/* Barra inferior */
.reader-bottom-nav { gap:9px; border:0; background:transparent; color:rgba(255,255,255,.66); cursor:pointer; font-size:12px; }
.reader-bottom-nav:last-child { justify-content:flex-end; }
.reader-bottom-nav:hover { color:#fff; }
.reader-bottom-nav:disabled { opacity:.25; cursor:default; }
.reader-progress-wrap { position:relative; height:32px; display:flex; align-items:center; }
.reader-progress-wrap input[type=range] { position:absolute; inset:0; z-index:3; width:100%; opacity:0; cursor:pointer; }
.reader-progress-track { width:100%; height:2px; background:rgba(255,255,255,.13); overflow:hidden; }
.reader-progress-track span { display:block; width:0; height:100%; background:var(--reader-gold); transition:width .2s ease; }
.reader-progress-preview { position:absolute; z-index:5; bottom:34px; transform:translateX(-50%); width:92px; padding:6px; background:#fff; color:#173a35; border-radius:8px; box-shadow:0 16px 38px rgba(0,0,0,.35); pointer-events:none; }
.reader-progress-preview img { width:80px; height:112px; object-fit:cover; }
.reader-progress-preview span { display:block; margin-top:5px; text-align:center; font-size:10px; font-weight:600; }

/* Painéis */
.reader-panel-backdrop { position:fixed; inset:0; z-index:90; background:rgba(0,0,0,.36); opacity:0; visibility:hidden; transition:.3s ease; }
.reader-panel-backdrop.is-visible { opacity:1; visibility:visible; }
.reader-drawer { position:fixed; z-index:100; top:0; right:0; width:min(440px,100vw); height:100vh; padding:28px; overflow-y:auto; background:var(--reader-panel); color:#173a35; box-shadow:-28px 0 70px rgba(0,0,0,.28); transform:translateX(105%); visibility:hidden; transition:transform .38s cubic-bezier(.2,.72,.2,1),visibility .38s; }
.reader-drawer.is-open { transform:translateX(0); visibility:visible; }
.reader-drawer-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:32px; }
.reader-drawer-head > div span,.reader-accessibility-title > span { color:#777b74; font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
.reader-drawer h2,.reader-accessibility-title h2 { margin:5px 0 0; font-size:38px; line-height:1; font-weight:300; letter-spacing:-.045em; }
.reader-drawer .reader-circle-button { border-color:rgba(23,58,53,.14); background:#fff; color:#173a35; }
.reader-thumb-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px 13px; }
.reader-thumb-button { border:0; padding:0; background:transparent; color:#173a35; cursor:pointer; text-align:left; }
.reader-thumb-image { position:relative; aspect-ratio:900/1260; background:#e8e5de; overflow:hidden; border:2px solid transparent; transition:border-color .2s ease,transform .2s ease; }
.reader-thumb-image img { width:100%; height:100%; object-fit:cover; }
.reader-thumb-button:hover .reader-thumb-image { transform:translateY(-3px); }
.reader-thumb-button.is-current .reader-thumb-image { border-color:var(--reader-gold); }
.reader-thumb-button span { display:block; margin-top:7px; color:#747970; font-size:10px; }
.reader-thumb-button.is-current span { color:#173a35; font-weight:600; }
.reader-search-field { height:54px; padding:0 16px; border:1px solid rgba(23,58,53,.16); border-radius:14px; display:flex; align-items:center; gap:12px; background:#fff; }
.reader-search-field svg { width:19px; height:19px; color:#777b74; }
.reader-search-field input { width:100%; border:0; outline:0; background:transparent; color:#173a35; }
.reader-search-summary { margin:16px 0 24px; color:#777b74; font-size:13px; line-height:1.5; }
.reader-search-results { display:grid; gap:8px; }
.reader-search-result {
  width:100%;
  min-height:52px;
  padding:0 16px;
  border:1px solid rgba(23,58,53,.1);
  border-radius:12px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  text-align:left;
  cursor:pointer;
  color:#173a35;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.reader-search-result:hover {
  transform:translateY(-1px);
  border-color:rgba(23,58,53,.24);
  box-shadow:0 10px 22px rgba(23,58,53,.07);
}
.reader-search-result strong { display:block; font-size:13px; font-weight:600; }
.reader-search-result svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.7; }
.reader-search-result.is-approximate { border-style:dashed; }
.reader-search-empty { padding:34px 20px; border:1px dashed rgba(23,58,53,.2); border-radius:16px; text-align:center; color:#777b74; font-size:13px; line-height:1.5; }
.reader-share-preview { display:grid; grid-template-columns:90px 1fr; gap:18px; align-items:center; margin-bottom:28px; }
.reader-share-preview img { width:90px; height:126px; object-fit:cover; box-shadow:0 12px 25px rgba(23,58,53,.16); }
.reader-share-preview div { display:flex; flex-direction:column; gap:7px; }
.reader-share-preview strong { font-size:16px; }
.reader-share-preview span { color:#777b74; font-size:12px; }
.reader-share-group,.reader-option-section { display:grid; gap:1px; }
.reader-option-section { margin-top:28px; }
.reader-option-section h3 { margin:0 0 9px; color:#777b74; font-size:10px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; }
.reader-action-row { width:100%; min-height:54px; padding:0 4px; border:0; border-bottom:1px solid rgba(23,58,53,.1); background:transparent; color:#173a35; display:flex; align-items:center; justify-content:space-between; cursor:pointer; text-align:left; }
.reader-action-row > span { display:flex; align-items:center; gap:12px; font-size:13px; }
.reader-action-row > svg { width:17px; height:17px; color:#777b74; transition:transform .2s ease; }
.reader-action-row:hover > svg { transform:translateX(4px); }
.reader-option-check { opacity:0; }
.reader-action-row.is-selected .reader-option-check { opacity:1; color:#173a35; }
.reader-back-button { border:0; padding:0; background:transparent; color:#173a35; display:flex; align-items:center; gap:8px; cursor:pointer; }
.reader-accessibility-title { margin-bottom:26px; }
.reader-setting { min-height:78px; padding:15px 0; border-bottom:1px solid rgba(23,58,53,.1); display:flex; align-items:center; justify-content:space-between; gap:24px; }
.reader-setting div { display:flex; flex-direction:column; gap:5px; }
.reader-setting strong { font-size:13px; }
.reader-setting div span { max-width:265px; color:#777b74; font-size:11px; line-height:1.35; }
.reader-switch { width:48px; height:28px; flex:0 0 auto; padding:3px; border:0; border-radius:999px; background:#d9d8d2; cursor:pointer; transition:background .2s ease; }
.reader-switch span { display:block; width:22px; height:22px; border-radius:50%; background:#fff; box-shadow:0 2px 5px rgba(0,0,0,.16); transition:transform .25s ease; }
.reader-switch[aria-checked=true] { background:#173a35; }
.reader-switch[aria-checked=true] span { transform:translateX(20px); }
.reader-shortcut-list { display:grid; }
.reader-shortcut-list div { min-height:58px; border-bottom:1px solid rgba(23,58,53,.1); display:flex; align-items:center; gap:7px; }
.reader-shortcut-list div span { margin-right:auto; font-size:13px; }
.reader-shortcut-list kbd { min-width:30px; height:28px; padding:0 8px; border:1px solid rgba(23,58,53,.14); border-bottom-width:2px; border-radius:6px; background:#fff; display:grid; place-items:center; font-family:inherit; font-size:11px; }

/* Conteúdo interativo */
.reader-interactive-modal { position:fixed; inset:0; z-index:150; padding:28px; display:grid; place-items:center; background:rgba(0,0,0,.68); opacity:0; visibility:hidden; transition:.3s ease; }
.reader-interactive-modal.is-open { opacity:1; visibility:visible; }
.reader-interactive-card { position:relative; width:min(920px,100%); max-height:calc(100vh - 56px); overflow:auto; border-radius:26px; background:#f7f5f0; color:#173a35; display:grid; grid-template-columns:minmax(320px,1.2fr) minmax(280px,.8fr); box-shadow:0 35px 90px rgba(0,0,0,.45); }
.reader-interactive-close { position:absolute; z-index:2; top:16px; right:16px; background:rgba(255,255,255,.88)!important; color:#173a35!important; border-color:rgba(23,58,53,.12)!important; }
.reader-interactive-media { min-height:490px; background:#122f2a; display:grid; place-items:center; overflow:hidden; }
.reader-interactive-media img { width:100%; height:100%; object-fit:cover; }
.reader-interactive-media .reader-video-placeholder { width:100%; height:100%; min-height:490px; display:grid; place-items:center; background:linear-gradient(135deg,#173a35,#071815); color:#bfaa7c; }
.reader-interactive-media .reader-video-placeholder svg { width:76px; height:76px; }
.reader-interactive-copy { padding:62px 42px 42px; display:flex; flex-direction:column; align-items:flex-start; }
.reader-interactive-copy > span { color:#777b74; font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
.reader-interactive-copy h2 { margin:12px 0 18px; font-size:42px; line-height:.98; font-weight:300; letter-spacing:-.045em; }
.reader-interactive-copy p { margin:0 0 30px; color:#626860; font-size:14px; line-height:1.65; }
.reader-interactive-copy .reader-primary { margin-top:auto; }
.reader-toast { position:fixed; z-index:200; left:50%; bottom:100px; transform:translate(-50%,18px); padding:12px 18px; border-radius:999px; background:#fff; color:#173a35; box-shadow:0 16px 36px rgba(0,0,0,.28); opacity:0; visibility:hidden; font-size:12px; transition:.3s ease; }
.reader-toast.is-visible { opacity:1; visibility:visible; transform:translate(-50%,0); }

/* Estados de acessibilidade */
.mag-reader.is-high-contrast .reader-page-frame img,.mag-reader.is-high-contrast .reader-continuous-page img { filter:contrast(1.35) saturate(1.08); }
.mag-reader.is-grayscale .reader-page-frame img,.mag-reader.is-grayscale .reader-continuous-page img { filter:grayscale(1); }
.mag-reader.is-high-contrast.is-grayscale .reader-page-frame img,.mag-reader.is-high-contrast.is-grayscale .reader-continuous-page img { filter:grayscale(1) contrast(1.4); }
.mag-reader.is-focus .reader-focus-mask { position:fixed; z-index:10; left:0; right:0; top:72px; bottom:78px; pointer-events:none; background:linear-gradient(to bottom,rgba(0,0,0,.38) 0 20%,transparent 35% 65%,rgba(0,0,0,.38) 80% 100%); }
.mag-reader.is-large-controls { --reader-control:54px; }
.mag-reader.is-reduced-motion * { animation:none!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }

/* Responsivo */
@media (max-width:980px) {
  .reader-edition-brand div { display:none; }
  .reader-tools .reader-tool-separator,.reader-zoom-value,[data-zoom-out],[data-zoom-in] { display:none; }
  .reader-workspace { grid-template-columns:54px minmax(0,1fr) 54px; }
  .reader-page-frame { height:min(70vh,780px); }
  .reader-bottombar { grid-template-columns:70px 1fr 70px; }
  .reader-bottom-nav span { display:none; }
}
@media (max-width:760px) {
  .reader-v2 { overflow:hidden; }
  .reader-intro-content { width:min(100% - 40px,520px); grid-template-columns:1fr; gap:34px; text-align:center; }
  .reader-intro-cover { width:min(240px,58vw); margin:0 auto; }
  .reader-intro-cover img { max-height:44vh; }
  .reader-intro-copy { display:flex; flex-direction:column; align-items:center; }
  .reader-intro-copy h1 { font-size:clamp(56px,17vw,88px); }
  .reader-intro-actions { justify-content:center; margin-top:28px; }
  .reader-intro-back { top:18px; left:18px; }
  .reader-intro-scroll { display:none; }
  .reader-interface { grid-template-rows:64px minmax(0,1fr) 68px; }
  .reader-topbar { grid-template-columns:1fr auto; padding:0 10px; }
  .reader-topbar-left { gap:7px; }
  .reader-edition-brand img { width:36px; height:36px; }
  .reader-edition-brand img.reader-edition-cover {
    width:27px;
    height:40px;
  }
  .reader-page-status { display:none; }
  .reader-tools { gap:2px; }
  .reader-tools [data-open-panel=thumbs],.reader-tools [data-cycle-view],.reader-tools [data-fullscreen] { display:none; }
  .reader-circle-button,.reader-tool { --reader-control:42px; }
  .reader-workspace { display:block; }
  .reader-side-arrow { display:none; }
  .reader-spread { min-height:100%; padding:18px 12px 24px; }
  .reader-page-frame { width:min(92vw,520px); height:auto; aspect-ratio:900/1260; }
  .reader-page-frame + .reader-page-frame { display:none; }
  .reader-continuous { width:calc(100% - 24px); padding:20px 0 70px; }
  .reader-bottombar { grid-template-columns:42px 1fr 42px; gap:8px; padding:0 10px max(0px,env(safe-area-inset-bottom)); }
  .reader-bottom-nav { justify-content:center!important; }
  .reader-drawer { padding:22px; }
  .reader-thumb-grid { grid-template-columns:repeat(3,1fr); }
  .reader-interactive-card { grid-template-columns:1fr; }
  .reader-interactive-media,.reader-interactive-media .reader-video-placeholder { min-height:270px; }
  .reader-interactive-copy { padding:34px 26px 30px; }
  .reader-interactive-copy h2 { font-size:34px; }
  .reader-toast { bottom:82px; width:max-content; max-width:calc(100% - 32px); text-align:center; }
}
@media (max-width:420px) {
  .reader-intro-actions { width:100%; }
  .reader-primary,.reader-secondary { width:100%; }
  .reader-thumb-grid { grid-template-columns:repeat(2,1fr); }
  .reader-tools [data-open-panel=share] { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  .reader-v2 * { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
}



/* =========================================================
   LEITOR DIGITAL MANGALARGA · V41
   Interações inspiradas nos recursos editoriais modernos.
   ========================================================= */

/* Leitura contínua removida */
.reader-continuous,
[data-set-view="continuous"] {
  display:none !important;
}

/* Pontos interativos: círculo com sinal de mais */
.reader-page-hotspot {
  z-index:18;
  width:38px !important;
  height:38px !important;
  padding:0 !important;
  border:1px solid rgba(255,255,255,.88) !important;
  background:#bfaa7c !important;
  color:#173a35 !important;
  font:inherit;
  overflow:visible;
}
.reader-page-hotspot > span {
  display:block;
  margin-top:-2px;
  font-size:26px;
  line-height:1;
  font-weight:300;
}
.reader-page-hotspot::after {
  content:attr(data-tooltip);
  position:absolute;
  left:50%;
  bottom:calc(100% + 10px);
  width:max-content;
  max-width:190px;
  padding:8px 11px;
  border-radius:8px;
  background:rgba(7,24,21,.94);
  color:#fff;
  font-size:10px;
  line-height:1.25;
  text-align:center;
  pointer-events:none;
  opacity:0;
  transform:translate(-50%,5px);
  transition:opacity .2s ease,transform .2s ease;
}
.reader-page-hotspot:hover::after,
.reader-page-hotspot:focus-visible::after {
  opacity:1;
  transform:translate(-50%,0);
}
.reader-hotspot-page {
  background:#fff !important;
  color:#173a35 !important;
  border-color:#bfaa7c !important;
}

/* Widgets proporcionais sobre a página */
.reader-page-widget {
  position:absolute;
  z-index:14;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.76);
  border-radius:5px;
  background:#071815;
  box-shadow:0 12px 30px rgba(0,0,0,.32);
  isolation:isolate;
}
.reader-page-widget iframe,
.reader-page-widget video,
.reader-page-widget .reader-youtube-launch {
  display:block;
  width:100%;
  height:100%;
  border:0;
}
.reader-widget-badge {
  position:absolute;
  z-index:7;
  top:8px;
  left:8px;
  padding:4px 7px;
  border-radius:999px;
  background:rgba(7,24,21,.78);
  color:#fff;
  font-size:8px;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  pointer-events:none;
}
.reader-youtube-launch {
  position:relative;
  padding:0;
  border:0;
  cursor:pointer;
  overflow:hidden;
  background:#071815;
  color:#fff;
}
.reader-youtube-launch img {
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}
.reader-youtube-launch:hover img {
  transform:scale(1.045);
}
.reader-youtube-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.78),rgba(0,0,0,.04) 68%);
}
.reader-youtube-play {
  position:absolute;
  left:50%;
  top:46%;
  width:46px;
  height:46px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#bfaa7c;
  color:#173a35;
  transform:translate(-50%,-50%);
  box-shadow:0 8px 24px rgba(0,0,0,.28);
}
.reader-youtube-play svg {
  width:23px;
  height:23px;
}
.reader-youtube-launch strong {
  position:absolute;
  z-index:2;
  left:12px;
  right:12px;
  bottom:11px;
  color:#fff;
  font-size:10px;
  line-height:1.25;
  text-align:left;
}
.reader-autoplay-video {
  object-fit:cover;
}
.reader-video-caption {
  position:absolute;
  z-index:4;
  left:10px;
  right:10px;
  bottom:8px;
  padding:6px 8px;
  border-radius:6px;
  background:rgba(7,24,21,.70);
  color:#fff;
  font-size:8px;
  letter-spacing:.04em;
  pointer-events:none;
}

/* Alça de redimensionamento */
.reader-widget-resize {
  position:absolute;
  z-index:10;
  right:0;
  bottom:0;
  width:24px;
  height:24px;
  padding:0;
  border:0;
  background:
    linear-gradient(135deg,transparent 0 44%,rgba(255,255,255,.9) 45% 49%,transparent 50% 59%,rgba(255,255,255,.9) 60% 64%,transparent 65%);
  cursor:nwse-resize;
  opacity:0;
  transition:opacity .2s ease;
  touch-action:none;
}
.reader-page-widget:hover .reader-widget-resize,
.reader-page-widget.is-resizing .reader-widget-resize {
  opacity:1;
}
.reader-page-widget.is-resizing {
  outline:2px solid #bfaa7c;
  outline-offset:2px;
}

/* Menu de botão direito */
.reader-context-menu {
  position:fixed;
  z-index:260;
  width:250px;
  padding:8px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:14px;
  background:rgba(247,245,240,.98);
  color:#173a35;
  box-shadow:0 22px 60px rgba(0,0,0,.42);
  backdrop-filter:blur(18px);
  opacity:0;
  transform:translateY(6px) scale(.98);
  transform-origin:top left;
}
.reader-context-menu.is-visible {
  opacity:1;
  transform:none;
  animation:readerContextIn .18s ease;
}
@keyframes readerContextIn {
  from { opacity:0; transform:translateY(5px) scale(.98); }
  to { opacity:1; transform:none; }
}
.reader-context-title {
  padding:7px 10px 9px;
  color:#777b74;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.reader-context-menu button {
  width:100%;
  min-height:44px;
  padding:0 10px;
  border:0;
  border-radius:9px;
  display:flex;
  align-items:center;
  gap:11px;
  background:transparent;
  color:#173a35;
  cursor:pointer;
  text-align:left;
  font-size:12px;
}
.reader-context-menu button:hover {
  background:#eae7df;
}
.reader-context-menu button svg {
  width:18px;
  height:18px;
}

/* A mídia também acompanha acessibilidade */
.mag-reader.is-high-contrast .reader-page-widget {
  filter:contrast(1.25);
}
.mag-reader.is-grayscale .reader-page-widget {
  filter:grayscale(1);
}

@media(max-width:760px) {
  .reader-widget-resize {
    display:none;
  }
  .reader-page-hotspot {
    width:34px !important;
    height:34px !important;
  }
  .reader-page-hotspot > span {
    font-size:23px;
  }
  .reader-page-hotspot::after {
    display:none;
  }
  .reader-widget-badge {
    top:5px;
    left:5px;
    font-size:6px;
  }
  .reader-youtube-play {
    width:36px;
    height:36px;
  }
  .reader-youtube-play svg {
    width:18px;
    height:18px;
  }
  .reader-youtube-launch strong,
  .reader-video-caption {
    font-size:6px;
  }
}


/* =========================================================
   LEITOR DIGITAL MANGALARGA · V42
   ========================================================= */

/* No leitor, nenhuma mídia pode ser movida ou redimensionada */
.mag-reader .reader-widget-resize {
  display:none !important;
}
.mag-reader .reader-page-widget {
  touch-action:auto;
}

/* Carrossel editorial dentro da página */
.reader-widget-carousel {
  background:#071815;
}
.reader-inline-carousel,
.reader-inline-track,
.reader-inline-slide {
  width:100%;
  height:100%;
}
.reader-inline-carousel {
  overflow:hidden;
}
.reader-inline-track {
  display:flex;
  transition:transform .55s cubic-bezier(.2,.72,.2,1);
}
.reader-inline-slide {
  position:relative;
  flex:0 0 100%;
  padding:0;
  border:0;
  background:#071815;
  cursor:zoom-in;
  overflow:hidden;
}
.reader-inline-slide img {
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  transition:transform .7s cubic-bezier(.2,.72,.2,1);
}
.reader-inline-slide:hover img {
  transform:scale(1.035);
}
.reader-inline-slide::after {
  content:"";
  position:absolute;
  inset:45% 0 0;
  background:linear-gradient(to top,rgba(0,0,0,.82),transparent);
}
.reader-inline-slide span {
  position:absolute;
  z-index:3;
  left:18px;
  right:18px;
  bottom:18px;
  color:#fff;
  font-size:11px;
  line-height:1.3;
  text-align:left;
}
.reader-inline-nav {
  position:absolute;
  z-index:6;
  top:50%;
  width:36px;
  height:36px;
  padding:0;
  border:1px solid rgba(255,255,255,.72);
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(7,24,21,.66);
  color:#fff;
  transform:translateY(-50%);
  cursor:pointer;
  transition:background .24s ease,transform .24s ease;
}
.reader-inline-nav:hover {
  background:#bfaa7c;
  color:#173a35;
  transform:translateY(-50%) scale(1.06);
}
.reader-inline-nav.previous { left:11px; }
.reader-inline-nav.next { right:11px; }
.reader-inline-nav svg {
  width:17px;
  height:17px;
}
.reader-inline-dots {
  position:absolute;
  z-index:7;
  left:50%;
  bottom:7px;
  display:flex;
  gap:5px;
  transform:translateX(-50%);
}
.reader-inline-dots button {
  width:5px;
  height:5px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.46);
}
.reader-inline-dots button.is-active {
  width:18px;
  border-radius:999px;
  background:#bfaa7c;
}

/* Modais ricos */
.reader-rich-modal {
  position:fixed;
  z-index:230;
  inset:0;
  padding:32px;
  display:grid;
  place-items:center;
  background:rgba(4,14,13,.78);
  backdrop-filter:blur(14px);
  opacity:0;
  pointer-events:none;
  transition:opacity .28s ease;
}
.reader-rich-modal.is-open {
  opacity:1;
  pointer-events:auto;
}
.reader-rich-card {
  position:relative;
  width:min(1120px,94vw);
  max-height:90vh;
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  background:#f5f3ed;
  color:#173a35;
  box-shadow:0 38px 100px rgba(0,0,0,.48);
  overflow:hidden;
  transform:translateY(18px) scale(.985);
  transition:transform .32s cubic-bezier(.2,.72,.2,1);
}
.reader-rich-modal.is-open .reader-rich-card {
  transform:none;
}
.reader-rich-close {
  position:absolute;
  z-index:12;
  top:16px;
  right:16px;
  background:rgba(255,255,255,.88) !important;
  color:#173a35 !important;
}

/* Lightbox de galeria */
.reader-gallery-lightbox {
  width:min(1180px,94vw);
  height:min(820px,88vh);
  padding:0;
  display:grid;
  grid-template-columns:74px 1fr 74px;
  align-items:center;
  background:#071815;
}
.reader-gallery-lightbox figure {
  height:100%;
  margin:0;
  display:grid;
  grid-template-rows:1fr auto;
  min-width:0;
}
.reader-gallery-lightbox figure > img {
  width:100%;
  height:100%;
  min-height:0;
  object-fit:contain;
  background:#071815;
}
.reader-gallery-lightbox figcaption {
  min-height:68px;
  padding:15px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  color:#fff;
  border-top:1px solid rgba(255,255,255,.1);
}
.reader-gallery-lightbox figcaption strong {
  font-size:13px;
  font-weight:500;
}
.reader-gallery-lightbox figcaption span {
  color:#bfaa7c;
  font-size:11px;
}
.reader-gallery-nav {
  width:48px;
  height:48px;
  margin:auto;
  padding:0;
  border:1px solid rgba(255,255,255,.32);
  border-radius:50%;
  display:grid;
  place-items:center;
  background:transparent;
  color:#fff;
  cursor:pointer;
}
.reader-gallery-nav:hover {
  background:#bfaa7c;
  color:#173a35;
}
.reader-gallery-nav svg {
  width:20px;
  height:20px;
}

/* Ficha de animal */
.reader-animal-card {
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);
}
.reader-animal-media {
  min-height:670px;
  padding:18px;
  display:grid;
  grid-template-rows:1fr 94px;
  gap:12px;
  background:#173a35;
}
.reader-animal-media > img {
  width:100%;
  height:100%;
  min-height:0;
  border-radius:15px;
  object-fit:cover;
}
.reader-animal-thumbs {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.reader-animal-thumbs button {
  padding:0;
  border:2px solid transparent;
  border-radius:10px;
  overflow:hidden;
  background:none;
  cursor:pointer;
  opacity:.68;
}
.reader-animal-thumbs button.is-current {
  border-color:#bfaa7c;
  opacity:1;
}
.reader-animal-thumbs img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.reader-animal-copy {
  padding:72px 52px 48px;
  overflow:auto;
}
.reader-animal-copy > span,
.reader-ad-content > span {
  color:#8a7750;
  font-size:10px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.reader-animal-copy h2,
.reader-ad-content h2 {
  margin:11px 0 17px;
  font-size:clamp(35px,4vw,59px);
  line-height:.95;
  letter-spacing:-.045em;
}
.reader-animal-intro,
.reader-ad-content > p {
  margin:0 0 28px;
  color:#5f655f;
  font-size:14px;
  line-height:1.65;
}
.reader-animal-copy dl {
  margin:0;
  display:grid;
  gap:0;
  border-top:1px solid #dedbd3;
}
.reader-animal-copy dl div {
  padding:13px 0;
  display:grid;
  grid-template-columns:110px 1fr;
  gap:16px;
  border-bottom:1px solid #dedbd3;
}
.reader-animal-copy dt {
  color:#7a7e78;
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.reader-animal-copy dd {
  margin:0;
  font-size:12px;
  line-height:1.45;
}
.reader-animal-actions,
.reader-ad-actions {
  margin-top:28px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.reader-animal-actions a,
.reader-ad-actions a {
  min-height:46px;
  padding:0 19px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#173a35;
  color:#fff;
  font-size:11px;
  font-weight:600;
}
.reader-animal-actions a.secondary,
.reader-ad-actions a.secondary {
  border:1px solid #173a35;
  background:transparent;
  color:#173a35;
}

/* Anúncio interativo */
.reader-ad-card {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);
}
.reader-ad-video {
  min-height:650px;
  background:#071815;
}
.reader-ad-video video {
  width:100%;
  height:100%;
  object-fit:cover;
}
.reader-ad-content {
  padding:72px 44px 42px;
  overflow:auto;
}
.reader-ad-gallery {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
}
.reader-ad-gallery button {
  aspect-ratio:1.15;
  padding:0;
  border:0;
  border-radius:10px;
  overflow:hidden;
  background:#ddd;
  cursor:zoom-in;
}
.reader-ad-gallery img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}
.reader-ad-gallery button:hover img {
  transform:scale(1.06);
}

/* Administrativo de interações */
.admin-top-actions {
  display:flex;
  align-items:center;
  gap:10px;
}
.admin-interaction-layout {
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(360px,.55fr);
  gap:24px;
  align-items:start;
}
.admin-stage-panel {
  padding:20px;
  border-radius:22px;
  background:#f4f2ed;
}
.admin-stage-toolbar {
  margin-bottom:16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.admin-stage-toolbar div {
  display:grid;
  gap:4px;
}
.admin-stage-toolbar strong {
  color:#173a35;
  font-size:14px;
}
.admin-stage-toolbar span,
.admin-stage-note {
  color:#737972;
  font-size:11px;
  line-height:1.45;
}
.admin-page-stage {
  position:relative;
  width:min(100%,760px);
  margin:auto;
  aspect-ratio:3/4;
  overflow:hidden;
  background:#ddd;
  box-shadow:0 25px 65px rgba(19,44,39,.16);
  user-select:none;
}
.admin-page-stage > img {
  width:100%;
  height:100%;
  object-fit:cover;
  pointer-events:none;
}
.admin-video-widget {
  position:absolute;
  width:43%;
  height:25%;
  overflow:hidden;
  border:2px solid #bfaa7c;
  border-radius:5px;
  background:#071815;
  box-shadow:0 12px 30px rgba(0,0,0,.35);
  transform:translate(-50%,-50%);
  cursor:move;
  touch-action:none;
}
.admin-video-widget.is-moving,
.admin-video-widget.is-resizing {
  outline:3px solid rgba(191,170,124,.38);
  outline-offset:4px;
}
.admin-video-widget > img {
  width:100%;
  height:100%;
  object-fit:cover;
  pointer-events:none;
}
.admin-video-label {
  position:absolute;
  z-index:2;
  left:8px;
  top:8px;
  padding:4px 7px;
  border-radius:999px;
  background:rgba(7,24,21,.78);
  color:#fff;
  font-size:8px;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.admin-video-play {
  position:absolute;
  left:50%;
  top:50%;
  width:45px;
  height:45px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#bfaa7c;
  color:#173a35;
  transform:translate(-50%,-50%);
}
.admin-resize-handle {
  position:absolute;
  z-index:5;
  right:0;
  bottom:0;
  width:28px;
  height:28px;
  padding:0;
  border:0;
  background:
    linear-gradient(135deg,transparent 0 42%,#fff 43% 47%,transparent 48% 57%,#fff 58% 62%,transparent 63%);
  cursor:nwse-resize;
  touch-action:none;
}
.admin-stage-note {
  margin:15px 0 0;
}
.admin-interaction-panel {
  position:sticky;
  top:24px;
}
.admin-unit-field {
  position:relative;
}
.admin-unit-field input {
  padding-right:34px;
}
.admin-unit-field span {
  position:absolute;
  right:12px;
  top:50%;
  color:#7c817a;
  font-size:11px;
  transform:translateY(-50%);
}
.admin-checkbox-row {
  display:flex;
  gap:18px;
}
.admin-checkbox-row label {
  display:flex;
  align-items:center;
  gap:7px;
  font-size:11px;
}
.admin-panel-divider {
  margin:27px 0;
  border:0;
  border-top:1px solid var(--line);
}
.admin-interaction-list-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.admin-small-button {
  min-height:34px;
  padding:0 12px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:#173a35;
  font:inherit;
  font-size:10px;
  cursor:pointer;
}
.admin-interaction-row {
  width:100%;
  min-height:62px;
  margin-top:9px;
  padding:10px;
  border:1px solid transparent;
  border-radius:13px;
  display:grid;
  grid-template-columns:38px 1fr auto;
  align-items:center;
  gap:10px;
  background:#f4f2ed;
  color:#173a35;
  text-align:left;
  cursor:pointer;
}
.admin-interaction-row.is-active {
  border-color:#bfaa7c;
  background:#f7f2e6;
}
.admin-interaction-row > span:nth-child(2) {
  display:grid;
  gap:4px;
}
.admin-interaction-row strong {
  font-size:11px;
}
.admin-interaction-row small {
  color:#777d76;
  font-size:9px;
}
.admin-interaction-icon {
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#173a35;
  color:#fff;
}
.toast.show {
  opacity:1;
  transform:translateY(0);
}

@media(max-width:980px) {
  .reader-animal-card,
  .reader-ad-card {
    grid-template-columns:1fr;
    max-height:92vh;
    overflow:auto;
  }
  .reader-animal-media {
    min-height:480px;
  }
  .reader-ad-video {
    min-height:420px;
  }
  .admin-interaction-layout {
    grid-template-columns:1fr;
  }
  .admin-interaction-panel {
    position:static;
  }
}

@media(max-width:760px) {
  .reader-rich-modal {
    padding:10px;
  }
  .reader-rich-card {
    width:100%;
    border-radius:17px;
  }
  .reader-gallery-lightbox {
    height:84vh;
    grid-template-columns:45px 1fr 45px;
  }
  .reader-gallery-nav {
    width:34px;
    height:34px;
  }
  .reader-animal-media {
    min-height:360px;
    grid-template-rows:1fr 68px;
    padding:10px;
  }
  .reader-animal-copy,
  .reader-ad-content {
    padding:42px 22px 28px;
  }
  .reader-animal-copy dl div {
    grid-template-columns:90px 1fr;
  }
  .reader-ad-video {
    min-height:310px;
  }
  .reader-inline-nav {
    width:30px;
    height:30px;
  }
  .reader-inline-slide span {
    left:12px;
    right:12px;
    bottom:13px;
    font-size:8px;
  }
  .admin-top-actions {
    width:100%;
    flex-wrap:wrap;
  }
  .admin-stage-toolbar {
    align-items:flex-start;
    flex-direction:column;
  }
}

/* =====================================================================
 * Hero administrável da página inicial
 * A imagem não recebe ampliação ou parallax automático. O enquadramento
 * é controlado pelo painel separadamente para desktop e celular.
 * =================================================================== */
.photo-hero {
  min-height: clamp(560px, calc(100svh - 92px), 960px) !important;
  background: #173A35;
}

.photo-hero-media {
  position: absolute !important;
  inset: 0 !important;
  overflow: hidden;
  transform: none !important;
  will-change: auto !important;
}

.photo-hero-media img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  transform: scale(var(--hero-scale-desktop, 1)) !important;
  transform-origin: var(--hero-x-desktop, 50%) var(--hero-y-desktop, 50%);
  object-position: var(--hero-x-desktop, 50%) var(--hero-y-desktop, 50%) !important;
  filter: none !important;
  opacity: 1 !important;
}

.photo-hero[data-fit-desktop="preencher"] .photo-hero-media img {
  object-fit: cover !important;
}

.photo-hero[data-fit-desktop="inteira"] .photo-hero-media img {
  object-fit: contain !important;
}

.photo-hero-shade {
  opacity: var(--hero-overlay-strength, .42);
  background:
    linear-gradient(to top, #091B18 0%, rgba(9,27,24,.72) 24%, rgba(9,27,24,.18) 52%, transparent 74%),
    linear-gradient(90deg, rgba(9,27,24,.66) 0%, rgba(9,27,24,.24) 46%, transparent 78%) !important;
}

.photo-hero-content {
  min-height: clamp(560px, calc(100svh - 92px), 960px) !important;
  width: min(calc(100% - 64px), 1680px) !important;
  padding: 72px 0 88px !important;
  box-sizing: border-box;
}

.photo-hero-call,
.photo-hero-call.stagger-link {
  width: auto !important;
  max-width: min(1180px, 92vw) !important;
  font-size: clamp(42px, 6.5vw, 108px) !important;
  line-height: .98 !important;
  overflow-wrap: anywhere;
}

.photo-hero-call .stagger-line {
  max-width: 100%;
  white-space: normal;
}

@media (max-width: 760px) {
  .photo-hero {
    min-height: clamp(560px, calc(100svh - 72px), 820px) !important;
  }

  .photo-hero-media img {
    transform: scale(var(--hero-scale-mobile, 1)) !important;
    transform-origin: var(--hero-x-mobile, 50%) var(--hero-y-mobile, 50%);
    object-position: var(--hero-x-mobile, 50%) var(--hero-y-mobile, 50%) !important;
  }

  .photo-hero[data-fit-mobile="preencher"] .photo-hero-media img {
    object-fit: cover !important;
  }

  .photo-hero[data-fit-mobile="inteira"] .photo-hero-media img {
    object-fit: contain !important;
  }

  .photo-hero-content {
    min-height: clamp(560px, calc(100svh - 72px), 820px) !important;
    width: calc(100% - 32px) !important;
    padding: 64px 0 48px !important;
  }

  .photo-hero-call,
  .photo-hero-call.stagger-link {
    max-width: 100% !important;
    font-size: clamp(32px, 10.5vw, 56px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.042em !important;
  }

  .photo-hero-scroll {
    display: none !important;
  }
}

/* =====================================================================
 * Hero com recortes físicos gerados no painel
 * Desktop 1920x1000 e celular 1000x1600.
 * =================================================================== */
.photo-hero.photo-hero-cropped {
  height: min(1000px, 52.083vw) !important;
  min-height: 0 !important;
  max-height: 1000px !important;
}

.photo-hero.photo-hero-cropped .photo-hero-media,
.photo-hero.photo-hero-cropped .photo-hero-media picture {
  position: absolute !important;
  inset: 0 !important;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.photo-hero.photo-hero-cropped .photo-hero-media img {
  position: absolute !important;
  inset: 0 !important;
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
  transform-origin: center !important;
}

.photo-hero.photo-hero-cropped .photo-hero-content {
  min-height: 100% !important;
  height: 100%;
}

@media (max-width: 760px) {
  .photo-hero.photo-hero-cropped {
    height: min(820px, 160vw) !important;
    min-height: 580px !important;
    max-height: 820px !important;
  }

  .photo-hero.photo-hero-cropped .photo-hero-content {
    min-height: 100% !important;
  }
}

/* =====================================================================
 * Parceiros dinâmicos
 * =================================================================== */
.supporter-card {
  min-width: 0;
}

.supporter-card img {
  width: 100%;
  max-width: 150px;
  max-height: 92px;
  object-fit: contain;
}

.partner-profile-page .institution-block {
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 22px;
  background: #fff;
  border: 1px solid rgba(255, 255, 255, .72);
  box-shadow: 0 18px 44px rgba(0, 0, 0, .12);
}

.partner-profile-page .institution-block img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.partner-profile-page .institution-copy {
  white-space: normal;
}

.institution-site-button {
  margin-top: 28px;
}

.institution-back-row {
  padding-top: 0;
  padding-bottom: 84px;
}

.institution-back-row a {
  color: var(--verde);
  font-size: 13px;
  text-decoration: none;
  border-bottom: 1px solid var(--dourado);
}

.institution-contact > div {
  min-width: 0;
}

.institution-contact a {
  overflow-wrap: anywhere;
}

@media (max-width: 760px) {
  .partner-profile-page .institution-block {
    padding: 15px;
  }

  .institution-back-row {
    padding-bottom: 56px;
  }
}
/* =========================================================
   CORREÇÃO RESPONSIVA · EDIÇÃO ATUAL DA HOME
   Cole este bloco no FINAL de assets/css/styles.css
   ========================================================= */
@media (max-width: 760px) {
  .home-page #edicao-atual {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    min-height: 0 !important;
  }

  .home-page #edicao-atual .hero-cover,
  .home-page #edicao-atual .hero-copy {
    width: 100% !important;
    min-width: 0 !important;
  }

  .home-page #edicao-atual .hero-cover {
    padding: 48px 20px 54px !important;
  }

  .home-page #edicao-atual .hero-cover img {
    display: block !important;
    width: min(78vw, 360px) !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
  }

  .home-page #edicao-atual .hero-copy {
    padding: 54px 24px 64px !important;
    border-left: 0 !important;
    border-top: 1px solid var(--line) !important;
  }

  .home-page #edicao-atual .display {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(42px, 12vw, 56px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.04em !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .home-page #edicao-atual .subtitle {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
    white-space: normal !important;
  }

  .home-page #edicao-atual .hero-copy .actions {
    width: 100% !important;
  }

  .home-page #edicao-atual .hero-copy .actions .btn {
    max-width: 100% !important;
  }

  .home-page #edicao-atual .hero-note {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 26px !important;
    margin-top: 42px !important;
    padding-top: 24px !important;
  }

  .home-page #edicao-atual .hero-note-link,
  .home-page #edicao-atual .hero-note-link.stagger-link {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    align-items: flex-start !important;
  }

  .home-page #edicao-atual .hero-note .stagger-line {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }
}

/* =========================================================
   LEITOR · OCULTAR VISUALIZAÇÃO EM DUAS PÁGINAS NO MOBILE
   No celular, o leitor trabalha exclusivamente com página única.
   ========================================================= */
@media (max-width: 760px) {
  [data-set-view="spread"] {
    display: none !important;
  }
}
