  /* ── PALETA — alinhada com styles.css (html[data-ap] vai sobrescrever os locais) ── */
  :root {
    --verde:         #1a6b3a;
    --verde-dark:    #0a2e17;
    --verde-mid:     #2d8a50;
    --verde-pale:    #eaf5ee;
    --verde-claro:   #5cc67b;
    --amarelo:       #c8920a;
    --amarelo-pale:  #fef9ea;
    --azul:          #1e5ba8;
    --azul-pale:     #eef3fb;
    --vermelho:      #c0392b;
    --cinza-dark:    #0f1a14;
    --cinza-mid:     #4a5568;
    --cinza-light:   #718096;
    --linha:         #dfd9cf;
    --bg:            #f4f2ec;

    --soja-bg:       #0f4023; --milho-bg:      #4a2d00;
    --feijao-bg:     #6b1500; --algodao-bg:    #1a2e46;
    --cafe-bg:       #2e1a0e; --arroz-bg:      #0d1e30;

    --soja-accent:   #7edd9f; --milho-accent:  #ffd166;
    --feijao-accent: #ff9a72; --algodao-accent:#7ab8f5;
    --cafe-accent:   #c8a07a; --arroz-accent:  #a8d8ff;

    --ease: cubic-bezier(0.22, 1, 0.36, 1);
  }

  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  html { scroll-behavior: smooth; }
  body {
    font-family: 'DM Sans', sans-serif;
    background: var(--bg);
    color: var(--cinza-dark);
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
  }

  /* ─── STICKY NAV ─── */
  .topnav {
    position: sticky;
    top: 0;
    z-index: 100;
    background: linear-gradient(160deg, #0f1a14 0%, #0a1510 100%);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 32px;
    height: 56px;
    box-shadow: 0 1px 0 rgba(255,255,255,0.03), 0 4px 24px rgba(0,0,0,0.3);
  }
  /* Gradient accent line — mesma solução do .doc-nav */
  .topnav::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 1.5px;
    background: linear-gradient(90deg,
      transparent 0%, var(--verde) 20%,
      var(--verde-claro) 55%, var(--verde) 80%, transparent 100%
    );
  }
  .topnav-brand {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.5px;
    color: #e8f5ee;
    text-transform: uppercase;
    text-decoration: none;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    min-height: 28px;
  }
  .topnav-brand-logo {
    display: block;
    width: auto;
    height: 24px;
  }
  .topnav-links {
    display: flex;
    align-items: center;
    gap: 2px;
    list-style: none;
  }
  .topnav-mobile-only {
    display: none;
  }
  .topnav-links a {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 10px;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.68);
    text-decoration: none;
    padding: 5px 12px;
    border-radius: 3px;
    transition: background .2s var(--ease), color .2s var(--ease);
  }
  .topnav-links a:hover,
  .topnav-links a.active {
    background: rgba(92,198,123,0.1);
    color: var(--verde-claro);
  }
  .topnav-pdf {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.82);
    text-decoration: none;
    padding: 5px 14px;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 4px;
    transition: all .2s var(--ease);
    flex-shrink: 0;
  }
  .topnav-pdf:hover {
    color: var(--verde-claro);
    border-color: rgba(92,198,123,0.4);
    background: rgba(92,198,123,0.08);
  }
  .topnav-toggle {
    display: none;
    background: none;
    border: 1px solid rgba(255,255,255,0.18);
    color: rgba(255,255,255,0.88);
    border-radius: 4px;
    font-size: 16px;
    width: 34px;
    height: 30px;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    line-height: 1;
  }
  .topnav-toggle:hover {
    border-color: rgba(92,198,123,0.4);
    color: var(--verde-claro);
  }

  /* ─── ANIMAÇÕES DE ENTRADA ─── */
  @keyframes hero-rise {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  @keyframes hero-fade {
    from { opacity: 0; }
    to   { opacity: 1; }
  }

  /* ─── HERO ─── */
  .hero {
    background: linear-gradient(150deg, #060f09 0%, #0b2214 35%, #113520 60%, #1a5c32 100%);
    color: white;
    padding: 96px 56px 80px;
    position: relative;
    overflow: hidden;
  }
  /* Organic radial texture overlay — multicamada com mais profundidade */
  .hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
      radial-gradient(ellipse 65% 90% at 90% 15%, rgba(92,198,123,0.13) 0%, transparent 55%),
      radial-gradient(ellipse 45% 55% at 5%  85%, rgba(26,107,58,0.18)  0%, transparent 55%),
      radial-gradient(ellipse 30% 40% at 50% 50%, rgba(92,198,123,0.05)  0%, transparent 60%),
      repeating-linear-gradient(90deg, rgba(255,255,255,0.018) 0px, rgba(255,255,255,0.018) 1px, transparent 1px, transparent 80px),
      repeating-linear-gradient(0deg,  rgba(255,255,255,0.018) 0px, rgba(255,255,255,0.018) 1px, transparent 1px, transparent 80px);
    pointer-events: none;
  }
  .hero-inner {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 56px;
    align-items: end;
  }
  .hero-eyebrow {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 10px;
    letter-spacing: .14em;
    color: rgba(255,255,255,0.42);
    text-transform: uppercase;
    margin-bottom: 22px;
    animation: hero-rise .7s var(--ease) .05s both;
  }
  .hero-title {
    font-family: 'Fraunces', serif;
    font-size: clamp(52px, 7.5vw, 100px);
    font-weight: 900;
    line-height: 0.95;
    letter-spacing: -.03em;
    margin-bottom: 16px;
    animation: hero-rise .7s var(--ease) .15s both;
  }
  .hero-title span { color: var(--verde-claro); }
  .hero-subtitle {
    font-family: 'Fraunces', serif;
    font-size: clamp(15px, 1.8vw, 21px);
    font-weight: 300;
    font-style: italic;
    color: rgba(255,255,255,0.62);
    margin-bottom: 40px;
    max-width: 660px;
    line-height: 1.45;
    animation: hero-rise .7s var(--ease) .25s both;
  }
  .hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    animation: hero-rise .7s var(--ease) .35s both;
  }
  .badge {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 9.5px;
    letter-spacing: .06em;
    padding: 5px 12px;
    border-radius: 3px;
    border: 1px solid rgba(255,255,255,0.15);
    color: rgba(255,255,255,0.65);
    text-transform: uppercase;
  }
  .badge.destaque {
    background: rgba(92,198,123,0.12);
    border-color: rgba(92,198,123,0.35);
    color: var(--verde-claro);
  }
  .hero-pdf-cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    animation: hero-fade .8s var(--ease) .4s both;
  }
  .hero-brand-lockup {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 22px;
    border-radius: 18px;
    background: linear-gradient(160deg, rgba(5, 16, 10, 0.74) 0%, rgba(15, 40, 24, 0.58) 100%);
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 18px 45px rgba(0,0,0,0.24);
    backdrop-filter: blur(8px);
  }
  .hero-brand-lockup img {
    display: block;
    width: auto;
    height: 92px;
  }
  .hero-main-btn {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 9px;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: white;
    background: rgba(92,198,123,0.14);
    border: 1px solid rgba(92,198,123,0.5);
    padding: 8px 14px;
    border-radius: 4px;
    text-decoration: none;
    text-align: center;
    font-weight: 700;
    transition: background .2s var(--ease), border-color .2s var(--ease);
  }
  .hero-main-btn:hover {
    background: rgba(92,198,123,0.24);
    border-color: rgba(126,221,159,0.72);
  }
  .hero-pdf-btn {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 9px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #0a2e17;
    background: var(--verde-claro);
    padding: 8px 18px;
    border-radius: 4px;
    text-decoration: none;
    text-align: center;
    font-weight: 700;
    transition: background .2s var(--ease);
  }
  .hero-pdf-btn:hover { background: #7edd9f; }
  .hero-pdf-label {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 8px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.3);
    text-align: center;
  }

  /* ─── STATS BAR ─── */
  .stats-bar {
    background: linear-gradient(160deg, #0d1a10 0%, #0a1510 100%);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    position: relative;
    animation: hero-fade .6s var(--ease) .5s both;
  }
  /* Gradient top accent */
  .stats-bar::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1.5px;
    background: linear-gradient(90deg, transparent, var(--verde-claro) 30%, var(--verde-claro) 70%, transparent);
  }
  .stat-cell {
    padding: 22px 28px;
    border-right: 1px solid rgba(255,255,255,0.05);
    text-align: center;
  }
  .stat-cell:last-child { border-right: none; }
  .stat-val {
    font-family: 'Fraunces', serif;
    font-size: 34px;
    font-weight: 900;
    color: var(--verde-claro);
    line-height: 1;
    margin-bottom: 6px;
    letter-spacing: -.01em;
  }
  .stat-lbl {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 9px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.35);
    line-height: 1.4;
  }
  .quick-proof {
    background: linear-gradient(160deg, #0a1510 0%, #0f1a14 100%);
    border-top: 1px solid rgba(92,198,123,0.12);
    border-bottom: 1px solid rgba(92,198,123,0.12);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
  }
  .quick-proof-intro {
    grid-column: 1 / -1;
    font-family: 'IBM Plex Mono', monospace;
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.52);
    padding: 12px 22px;
    border-bottom: 1px solid rgba(92,198,123,0.1);
    background: rgba(255,255,255,0.01);
  }
  .quick-proof-card {
    text-decoration: none;
    background: rgba(255,255,255,0.01);
    padding: 18px 22px 20px;
    transition: background .2s var(--ease);
  }
  .quick-proof-card:hover {
    background: rgba(92,198,123,0.08);
  }
  .quick-proof-label {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 9px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.4);
    margin-bottom: 6px;
  }
  .quick-proof-title {
    font-family: 'Fraunces', serif;
    font-size: 18px;
    font-weight: 700;
    color: #d8f0e1;
    margin-bottom: 6px;
    line-height: 1.2;
  }
  .quick-proof-sub {
    font-size: 12px;
    color: rgba(255,255,255,0.55);
    line-height: 1.5;
  }

  /* ─── MAIN LAYOUT ─── */
  .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 52px 32px;
  }

  /* ─── SECTION HEADERS ─── */
  .section-label {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 9.5px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #8a9e8e;
    margin-bottom: 10px;
  }
  .section-heading {
    font-family: 'Fraunces', serif;
    font-size: 28px;
    font-weight: 700;
    color: var(--cinza-dark);
    margin-bottom: 8px;
    letter-spacing: -.01em;
  }
  .section-sub {
    font-size: 14px;
    color: var(--cinza-mid);
    margin-bottom: 36px;
    max-width: 600px;
    line-height: 1.65;
  }

  /* ─── ROTAS POR PERFIL ─── */
  .rotas-grid {
    display: block;
    margin-bottom: 60px;
  }
  .rota-tabs {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 16px;
  }
  .rota-tab {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
    border: 1px solid rgba(26,107,58,0.2);
    background: white;
    color: #4f6658;
    border-radius: 6px;
    padding: 8px 12px;
    cursor: pointer;
    transition: all .2s var(--ease);
  }
  .rota-tab:hover {
    border-color: rgba(26,107,58,0.4);
    color: var(--verde);
  }
  .rota-tab.active {
    background: var(--verde);
    border-color: var(--verde);
    color: white;
  }
  .rota-card {
    background: white;
    border-radius: 12px;
    border: 1px solid rgba(223,217,207,0.8);
    overflow: hidden;
    transition: box-shadow .25s var(--ease), transform .25s var(--ease);
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
    display: none;
    max-width: 860px;
  }
  .rota-card.active { display: block; }
  .rota-card:hover {
    box-shadow: 0 8px 28px rgba(0,0,0,0.09);
    transform: translateY(-3px);
  }
  .rota-header {
    padding: 20px 24px 16px;
    border-bottom: 1px solid var(--linha);
  }
  .rota-icon { font-size: 26px; margin-bottom: 10px; }
  .rota-perfil {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 9px;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: #8a9e8e;
    margin-bottom: 4px;
  }
  .rota-titulo {
    font-family: 'Fraunces', serif;
    font-size: 17px;
    font-weight: 700;
    color: var(--cinza-dark);
    margin-bottom: 5px;
  }
  .rota-desc {
    font-size: 12px;
    color: var(--cinza-mid);
    line-height: 1.55;
  }
  .rota-steps { padding: 16px 24px 20px; }
  .rota-step {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
    text-decoration: none;
    border-radius: 5px;
    transition: background .2s, padding-left .2s;
  }
  .rota-step:hover { background: var(--verde-pale); padding-left: 6px; margin-left: -6px; }
  .step-num {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 9px;
    font-weight: 700;
    color: white;
    background: var(--verde);
    border-radius: 3px;
    padding: 2px 6px;
    min-width: 28px;
    text-align: center;
    flex-shrink: 0;
  }
  .step-num.amarelo { background: var(--amarelo); }
  .step-num.azul    { background: var(--azul); }
  .step-label { font-size: 12px; color: var(--cinza-dark); font-weight: 500; line-height: 1.3; }
  .step-sub   { font-size: 10px; color: var(--cinza-light); }
  .rota-arrow { font-size: 10px; color: var(--cinza-light); padding: 0 4px; }
  .rota-next-btn {
    display: block;
    margin: 0 24px 22px;
    font-family: 'IBM Plex Mono', monospace;
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
    color: #0a2e17;
    background: var(--verde-claro);
    border-radius: 6px;
    padding: 11px 14px;
    text-align: center;
    font-weight: 700;
    transition: background .2s var(--ease);
  }
  .rota-next-btn:hover { background: #7edd9f; }

  /* ─── DIVIDER ─── */
  .divider {
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--linha) 20%, var(--linha) 80%, transparent);
    margin: 12px 0 48px;
  }

  /* ─── CHAPTERS GRID ─── */
  .caps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 14px;
  }
  .cap-card {
    background: white;
    border: 1px solid rgba(223,217,207,0.8);
    border-radius: 12px;
    padding: 20px 22px 18px;
    text-decoration: none;
    color: inherit;
    display: block;
    position: relative;
    overflow: hidden;
    transition: box-shadow .25s var(--ease), transform .25s var(--ease);
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
  }
  /* Top accent bar — thinner, more refined */
  .cap-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--verde-dark), var(--verde-claro));
  }
  .cap-card.amarelo::before { background: linear-gradient(90deg, #7a5800, var(--amarelo)); }
  .cap-card.azul::before    { background: linear-gradient(90deg, #0f2e6a, var(--azul)); }
  .cap-card.vermelho::before { background: linear-gradient(90deg, #7a1a14, var(--vermelho)); }
  .cap-card:hover {
    box-shadow: 0 8px 28px rgba(0,0,0,0.1);
    transform: translateY(-3px);
  }
  /* Números dos capítulos — cor sólida, legível, decorativa */
  .cap-num {
    font-family: 'Fraunces', serif;
    font-size: 40px;
    font-weight: 900;
    color: #b8d4c0;
    line-height: 1;
    margin-bottom: 10px;
    transition: color .25s var(--ease);
    user-select: none;
  }
  .cap-card:hover .cap-num               { color: #6aab8e; }
  .cap-card.amarelo .cap-num             { color: #e8d4a0; }
  .cap-card.amarelo:hover .cap-num       { color: #c8960a; }
  .cap-card.azul .cap-num                { color: #b8cce8; }
  .cap-card.azul:hover .cap-num          { color: #4a7ab8; }
  .cap-card.vermelho .cap-num            { color: #e8beba; }
  .cap-card.vermelho:hover .cap-num      { color: #c04040; }
  .cap-titulo    { font-family: 'Fraunces', serif; font-size: 15px; font-weight: 700; color: var(--cinza-dark); margin-bottom: 4px; line-height: 1.25; }
  .cap-subtitulo { font-size: 11px; color: #8a9e8e; line-height: 1.4; margin-bottom: 12px; }
  .cap-tags { display: flex; flex-wrap: wrap; gap: 4px; }
  .cap-tag {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 9px;
    letter-spacing: .04em;
    padding: 2px 7px;
    border-radius: 3px;
    background: var(--verde-pale);
    color: var(--verde);
  }
  .cap-card.amarelo .cap-tag  { background: var(--amarelo-pale); color: var(--amarelo); }
  .cap-card.azul .cap-tag     { background: var(--azul-pale);    color: var(--azul); }
  .cap-card.vermelho .cap-tag { background: #fdf0ee;             color: var(--vermelho); }

  /* ─── PDF CARD ─── */
  .pdf-banner {
    background: linear-gradient(160deg, #0f1a14 0%, #0a1510 100%);
    border-radius: 14px;
    padding: 28px 36px;
    display: flex;
    align-items: center;
    gap: 32px;
    margin-bottom: 60px;
    border: 1px solid rgba(92,198,123,0.12);
    box-shadow: 0 4px 20px rgba(0,0,0,0.12);
  }
  .pdf-icon {
    font-size: 36px;
    flex-shrink: 0;
  }
  .pdf-info { flex: 1; }
  .pdf-title {
    font-family: 'Fraunces', serif;
    font-size: 19px;
    font-weight: 700;
    color: white;
    margin-bottom: 4px;
  }
  .pdf-desc {
    font-size: 13px;
    color: rgba(255,255,255,0.45);
    line-height: 1.55;
  }
  .pdf-meta {
    display: flex;
    gap: 10px;
    margin-top: 12px;
  }
  .pdf-chip {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 9px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.35);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 3px;
    padding: 3px 8px;
  }
  .pdf-btn {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    background: var(--verde-claro);
    color: #0a2e17;
    padding: 12px 24px;
    border-radius: 4px;
    text-decoration: none;
    flex-shrink: 0;
    transition: background .2s var(--ease);
  }
  .pdf-btn:hover { background: #7edd9f; }

  /* ─── GATE BANNER ─── */
  .gate-banner {
    background: linear-gradient(160deg, #091a0e 0%, #112a18 55%, #0d2014 100%);
    border-radius: 14px;
    padding: 28px 36px;
    display: flex;
    align-items: center;
    gap: 32px;
    margin-bottom: 32px;
    border: 1px solid rgba(92,198,123,0.18);
    box-shadow: 0 4px 20px rgba(0,0,0,0.14);
    position: relative;
    overflow: hidden;
  }
  /* Ghost watermark */
  .gate-banner::before {
    content: 'GATE';
    position: absolute;
    right: -8px;
    top: 50%;
    transform: translateY(-50%);
    font-family: 'Fraunces', serif;
    font-size: 110px;
    font-weight: 900;
    color: rgba(92,198,123,0.04);
    letter-spacing: -4px;
    pointer-events: none;
    user-select: none;
    line-height: 1;
  }
  .gate-badge {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--verde-claro);
    background: rgba(92,198,123,0.1);
    border: 1px solid rgba(92,198,123,0.25);
    border-radius: 3px;
    padding: 6px 14px;
    flex-shrink: 0;
    white-space: nowrap;
  }
  .gate-info { flex: 1; }
  .gate-title {
    font-family: 'Fraunces', serif;
    font-size: 19px;
    font-weight: 700;
    color: white;
    margin-bottom: 4px;
  }
  .gate-desc {
    font-size: 13px;
    color: rgba(255,255,255,0.45);
    line-height: 1.55;
  }
  .gate-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 12px;
  }
  .gate-chip {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 9px;
    letter-spacing: .06em;
    text-transform: uppercase;
    border-radius: 3px;
    padding: 3px 8px;
    border: 1px solid rgba(255,255,255,0.08);
    color: rgba(255,255,255,0.35);
  }
  .gate-chip-soja  { color: #7edd9f; border-color: rgba(126,221,159,0.25); }
  .gate-chip-arroz { color: #a8d8ff; border-color: rgba(168,216,255,0.25); }
  .gate-chip-feijao{ color: #ff9a72; border-color: rgba(255,154,114,0.25); }
  .gate-chip-milho { color: #ffd166; border-color: rgba(255,209,102,0.25); }
  .gate-chip-cafe  { color: #c8a07a; border-color: rgba(200,160,122,0.25); }
  .gate-btn {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    background: var(--verde-claro);
    color: #081510;
    padding: 12px 24px;
    border-radius: 4px;
    text-decoration: none;
    flex-shrink: 0;
    transition: background .2s var(--ease);
    position: relative;
    z-index: 1;
  }
  .gate-btn:hover { background: #7edd9f; }

  /* ─── ENSAIOS CONSOLIDADOS BANNER ─── */
  .consolidado-banner {
    background: linear-gradient(160deg, #0b161f 0%, #0c2130 58%, #0a1822 100%);
    border-radius: 14px;
    padding: 28px 36px;
    display: flex;
    align-items: center;
    gap: 32px;
    margin-bottom: 32px;
    border: 1px solid rgba(114, 176, 222, 0.22);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.14);
  }
  .consolidado-badge {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #b7dcf5;
    background: rgba(114, 176, 222, 0.14);
    border: 1px solid rgba(114, 176, 222, 0.35);
    border-radius: 3px;
    padding: 6px 14px;
    flex-shrink: 0;
    white-space: nowrap;
  }
  .consolidado-info { flex: 1; }
  .consolidado-title {
    font-family: 'Fraunces', serif;
    font-size: 19px;
    font-weight: 700;
    color: #f3f9ff;
    margin-bottom: 4px;
  }
  .consolidado-desc {
    font-size: 13px;
    color: rgba(232, 243, 252, 0.65);
    line-height: 1.55;
  }
  .consolidado-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 12px;
  }
  .consolidado-chip {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 9px;
    letter-spacing: .06em;
    text-transform: uppercase;
    border-radius: 3px;
    padding: 3px 8px;
    border: 1px solid rgba(183, 220, 245, 0.22);
    color: rgba(202, 231, 252, 0.8);
  }
  .consolidado-btn {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    background: #9fd2f4;
    color: #082334;
    padding: 12px 24px;
    border-radius: 4px;
    text-decoration: none;
    flex-shrink: 0;
    transition: background .2s var(--ease);
  }
  .consolidado-btn:hover { background: #b7dcf5; }

  /* ─── POR CULTURA SECTION ─── */
  .culturas-section {
    background: linear-gradient(160deg, #081510 0%, #0f2416 55%, #0a1c0f 100%);
    border-radius: 16px;
    padding: 48px 44px;
    margin-bottom: 60px;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(92,198,123,0.08);
    box-shadow: 0 8px 40px rgba(0,0,0,0.15);
  }
  .culturas-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
      radial-gradient(ellipse 80% 60% at 90% 10%, rgba(92,198,123,0.06) 0%, transparent 60%),
      repeating-linear-gradient(90deg, rgba(255,255,255,0.015) 0px, rgba(255,255,255,0.015) 1px, transparent 1px, transparent 80px),
      repeating-linear-gradient(0deg,  rgba(255,255,255,0.015) 0px, rgba(255,255,255,0.015) 1px, transparent 1px, transparent 80px);
    pointer-events: none;
  }
  .culturas-header {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 32px;
    gap: 16px;
  }
  .culturas-label {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 10px;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.35);
    margin-bottom: 10px;
  }
  .culturas-title {
    font-family: 'Fraunces', serif;
    font-size: 28px;
    font-weight: 700;
    color: white;
    margin-bottom: 6px;
  }
  .culturas-sub {
    font-size: 13px;
    color: rgba(255,255,255,0.45);
    max-width: 480px;
    line-height: 1.55;
  }
  .culturas-print-note {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 9px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.3);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 6px;
    padding: 8px 14px;
    white-space: nowrap;
    flex-shrink: 0;
  }

  .culturas-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 14px;
  }

  .cultura-card {
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none;
    display: block;
    transition: transform .25s var(--ease), box-shadow .25s var(--ease);
    border: 1px solid rgba(255,255,255,0.06);
  }
  .cultura-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 48px rgba(0,0,0,0.45);
  }
  .cultura-card-header {
    padding: 20px 18px 16px;
    position: relative;
  }
  .cultura-card.soja    .cultura-card-header { background: linear-gradient(135deg,var(--soja-bg),#1a6b3a); }
  .cultura-card.milho   .cultura-card-header { background: linear-gradient(135deg,var(--milho-bg),#7a4e00); }
  .cultura-card.feijao  .cultura-card-header { background: linear-gradient(135deg,var(--feijao-bg),#8b2000); }
  .cultura-card.algodao .cultura-card-header { background: linear-gradient(135deg,var(--algodao-bg),#2c4a6e); }
  .cultura-card.cafe    .cultura-card-header { background: linear-gradient(135deg,var(--cafe-bg),#4a2c17); }
  .cultura-card.arroz   .cultura-card-header { background: linear-gradient(135deg,var(--arroz-bg),#1a3a5a); }

  .cultura-emoji { font-size: 26px; margin-bottom: 10px; display: block; }
  .cultura-nome {
    font-family: 'Fraunces', serif;
    font-size: 16px;
    font-weight: 700;
    color: white;
    margin-bottom: 4px;
  }
  .cultura-janela {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 8px;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 10px;
  }
  .cultura-card.soja    .cultura-janela { color: rgba(126,221,159,0.7); }
  .cultura-card.milho   .cultura-janela { color: rgba(255,209,102,0.7); }
  .cultura-card.feijao  .cultura-janela { color: rgba(255,154,114,0.7); }
  .cultura-card.algodao .cultura-janela { color: rgba(122,184,245,0.7); }
  .cultura-card.cafe    .cultura-janela { color: rgba(200,160,122,0.7); }
  .cultura-card.arroz   .cultura-janela { color: rgba(168,216,255,0.7); }

  .cultura-kpi {
    font-family: 'Fraunces', serif;
    font-size: 22px;
    font-weight: 900;
    line-height: 1;
    margin-bottom: 2px;
  }
  .cultura-card.soja    .cultura-kpi { color: var(--soja-accent); }
  .cultura-card.milho   .cultura-kpi { color: var(--milho-accent); }
  .cultura-card.feijao  .cultura-kpi { color: var(--feijao-accent); }
  .cultura-card.algodao .cultura-kpi { color: var(--algodao-accent); }
  .cultura-card.cafe    .cultura-kpi { color: var(--cafe-accent); }
  .cultura-card.arroz   .cultura-kpi { color: var(--arroz-accent); }

  .cultura-kpi-label {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 8px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.45);
    margin-bottom: 14px;
  }
  .cultura-roi {
    display: inline-block;
    font-family: 'IBM Plex Mono', monospace;
    font-size: 9px;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 4px 8px;
    border-radius: 4px;
    background: rgba(255,255,255,0.08);
    color: rgba(255,255,255,0.6);
    border: 1px solid rgba(255,255,255,0.12);
  }

  .cultura-card-footer {
    padding: 12px 18px;
    background: rgba(0,0,0,0.35);
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .cultura-cta {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 9px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.5);
  }
  .cultura-arrow {
    font-size: 14px;
    color: rgba(255,255,255,0.3);
    transition: color .15s, transform .15s;
  }
  .cultura-card:hover .cultura-arrow {
    color: rgba(255,255,255,0.8);
    transform: translateX(3px);
  }

  /* ─── SOBRE O DOSSIÊ ─── */
  .sobre {
    background: linear-gradient(160deg, #0f1a14 0%, #0a1510 100%);
    color: white;
    border-radius: 14px;
    padding: 40px 44px;
    margin-top: 52px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
    border: 1px solid rgba(92,198,123,0.1);
    box-shadow: 0 4px 24px rgba(0,0,0,0.1);
  }
  .sobre-titulo { font-family: 'Fraunces', serif; font-size: 21px; font-weight: 700; margin-bottom: 12px; color: white; }
  .sobre-texto  { font-size: 13px; color: rgba(255,255,255,0.55); line-height: 1.7; }
  .sobre-lista  { list-style: none; }
  .sobre-lista li {
    font-size: 12px;
    color: rgba(255,255,255,0.55);
    padding: 7px 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    display: flex;
    gap: 10px;
    align-items: flex-start;
  }
  .sobre-lista li::before {
    content: '→';
    color: var(--verde-claro);
    font-family: 'IBM Plex Mono', monospace;
    font-size: 10px;
    flex-shrink: 0;
    margin-top: 2px;
  }

  /* ─── FOOTER ─── */
  .footer {
    background: linear-gradient(160deg, #0f1a14 0%, #0a1510 100%);
    color: rgba(255,255,255,0.28);
    font-family: 'IBM Plex Mono', monospace;
    font-size: 10px;
    letter-spacing: .08em;
    text-align: center;
    padding: 24px;
    margin-top: 60px;
    border-top: 1px solid rgba(92,198,123,0.1);
  }
  .footer-brand-logo {
    height: 18px;
    width: auto;
    margin-right: 8px;
    vertical-align: middle;
  }
  .footer span { color: var(--verde-claro); }
  .footer-divider {
    color: rgba(255,255,255,0.2) !important;
    margin: 0 6px;
  }
  .footer-admin-link {
    color: #9ce4b5;
    text-decoration: none;
    border-bottom: 1px solid rgba(156,228,181,0.35);
    padding-bottom: 1px;
    transition: color .16s ease, border-color .16s ease;
  }
  .footer-admin-link:hover {
    color: #c8f4d8;
    border-color: rgba(200,244,216,0.7);
  }

  .admin-access-modal {
    position: fixed;
    inset: 0;
    z-index: 1400;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 20px;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  .admin-access-modal.hidden { display: none; }
  .admin-access-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(4, 14, 9, 0.72);
    backdrop-filter: blur(2px);
  }
  .admin-access-dialog {
    position: relative;
    width: min(520px, calc(100vw - 28px));
    max-height: calc(100vh - 40px);
    max-height: calc(100dvh - 40px);
    background: linear-gradient(160deg, #0f1d14 0%, #0b1611 100%);
    border: 1px solid rgba(92,198,123,0.26);
    border-radius: 14px;
    padding: 20px 18px 16px;
    color: #f2fbf5;
    box-shadow: 0 24px 60px rgba(0,0,0,0.45);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .admin-access-close {
    position: absolute;
    top: 10px;
    right: 10px;
    border: 1px solid rgba(255,255,255,0.2);
    background: rgba(255,255,255,0.06);
    color: #e8f8ee;
    border-radius: 6px;
    width: 28px;
    height: 28px;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
  }
  .admin-access-eyebrow {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: rgba(158,226,184,0.72);
    margin-bottom: 8px;
  }
  .admin-access-title {
    font-family: 'Fraunces', serif;
    font-size: 28px;
    line-height: 1.05;
    margin-bottom: 6px;
  }
  .admin-access-sub {
    font-size: 13px;
    color: rgba(229,245,236,0.7);
    margin-bottom: 14px;
    line-height: 1.45;
  }
  .admin-access-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 8px;
    margin-bottom: 12px;
  }
  .admin-access-tab {
    border: 1px solid rgba(141,221,171,0.24);
    background: rgba(255,255,255,0.03);
    color: rgba(227,248,236,0.72);
    border-radius: 8px;
    padding: 8px 10px;
    font-family: 'IBM Plex Mono', monospace;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
    cursor: pointer;
  }
  .admin-access-tab.active {
    background: rgba(45,138,80,0.2);
    border-color: rgba(141,221,171,0.52);
    color: #d4f7e0;
  }
  .admin-access-form {
    display: grid;
    gap: 10px;
  }
  .admin-access-form.hidden { display: none; }
  .admin-access-form label {
    display: grid;
    gap: 6px;
    font-size: 12px;
    color: rgba(227,245,236,0.86);
  }
  .admin-access-form input {
    width: 100%;
    border: 1px solid rgba(128,206,158,0.35);
    background: rgba(255,255,255,0.04);
    color: #effbf3;
    border-radius: 8px;
    padding: 10px 11px;
    font-size: 14px;
  }
  .admin-access-form input:focus {
    outline: none;
    border-color: rgba(162,237,190,0.75);
    box-shadow: 0 0 0 2px rgba(92,198,123,0.2);
  }
  .admin-access-submit {
    margin-top: 2px;
    border: 0;
    border-radius: 9px;
    background: linear-gradient(180deg, #2d8a50, #1a6b3a);
    color: white;
    padding: 11px 12px;
    font-family: 'IBM Plex Mono', monospace;
    font-size: 11px;
    letter-spacing: .09em;
    text-transform: uppercase;
    cursor: pointer;
  }
  .admin-access-submit:disabled {
    opacity: .7;
    cursor: wait;
  }
  .admin-access-link {
    justify-self: start;
    background: transparent;
    border: 0;
    padding: 0;
    margin-top: -2px;
    color: #9fe3b8;
    font-family: 'IBM Plex Mono', monospace;
    font-size: 10px;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  .admin-access-status {
    margin-top: 12px;
    font-size: 12px;
    color: rgba(230,245,236,.78);
    min-height: 18px;
  }
  body.admin-modal-open { overflow: hidden; }
  .metrics-panel {
    position: fixed;
    right: 14px;
    bottom: 14px;
    width: min(360px, calc(100vw - 28px));
    background: rgba(8, 18, 12, 0.96);
    border: 1px solid rgba(92,198,123,0.28);
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.35);
    padding: 12px;
    z-index: 999;
  }
  .metrics-panel.hidden { display: none; }
  .metrics-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
  }
  .metrics-title {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #bfe8cd;
  }
  .metrics-clear {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 9px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #d7efe0;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 4px;
    padding: 5px 8px;
    cursor: pointer;
  }
  .metrics-list {
    max-height: 230px;
    overflow: auto;
    display: grid;
    gap: 6px;
  }
  .metrics-item {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    padding: 7px 8px;
    border-radius: 6px;
    background: rgba(255,255,255,0.04);
  }
  .metrics-key {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 10px;
    color: rgba(255,255,255,0.72);
  }
  .metrics-val {
    font-family: 'Fraunces', serif;
    font-size: 18px;
    color: #8ce3ac;
    line-height: 1;
  }
  .metrics-empty {
    font-size: 12px;
    color: rgba(255,255,255,0.6);
  }

  /* ─── CARD REVEAL (controlado por main.js) ─── */
  .ap-card-hidden {
    opacity: 0;
    transform: translateY(18px);
    transition:
      opacity  .55s var(--ease) calc(var(--i, 0) * 0.09s),
      transform .55s var(--ease) calc(var(--i, 0) * 0.09s);
  }
  .ap-card-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }

  /* ─── DATA TICKER ─── */
  .data-ticker {
    background: linear-gradient(90deg, #0a1510 0%, #0f1a14 50%, #0a1510 100%);
    overflow: hidden;
    white-space: nowrap;
    height: 32px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(92,198,123,0.1);
    position: relative;
  }
  .data-ticker::before,
  .data-ticker::after {
    content: '';
    position: absolute;
    top: 0; bottom: 0;
    width: 60px;
    z-index: 2;
    pointer-events: none;
  }
  .data-ticker::before { left:  0; background: linear-gradient(90deg, #0a1510, transparent); }
  .data-ticker::after  { right: 0; background: linear-gradient(270deg, #0a1510, transparent); }
  .ticker-track {
    display: inline-flex;
    gap: 0;
    animation: ticker-scroll 28s linear infinite;
    will-change: transform;
  }
  .ticker-item {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 9px;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.25);
    padding: 0 28px;
    flex-shrink: 0;
  }
  .ticker-item b { color: var(--verde-claro); font-weight: 600; }
  .ticker-sep { color: rgba(92,198,123,0.3); padding: 0 4px; }
  @keyframes ticker-scroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
  }
  @media (prefers-reduced-motion: reduce) {
    .ticker-track { animation: none; }
  }

  /* ─── PARTÍCULAS FLUTUANTES NO HERO ─── */
  .hero-particles {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
  }
  .hero-particles span {
    position: absolute;
    border-radius: 50%;
    background: var(--verde-claro);
    animation: float-p var(--dur, 9s) var(--delay, 0s) infinite ease-in-out;
    will-change: transform, opacity;
  }
  @keyframes float-p {
    0%   { opacity: 0;               transform: translateY(0)    scale(1); }
    15%  { opacity: var(--op, .07);  }
    85%  { opacity: var(--op, .07);  }
    100% { opacity: 0;               transform: translateY(-90px) scale(0.75); }
  }
  /* Losangos via rotate */
  .hero-particles span.diamond { border-radius: 2px; transform: rotate(45deg); }
  @media (prefers-reduced-motion: reduce) {
    .hero-particles { display: none; }
  }

  /* ─── WAVE SEPARATOR ─── */
  .hero-wave {
    display: block;
    line-height: 0;
    background: linear-gradient(180deg, #0f2e1a 0%, #1a5c32 100%);
    margin-top: -1px;
  }
  .hero-wave svg { display: block; width: 100%; height: 52px; }

  /* ─── LINHA DECORATIVA NO HERO ─── */
  .hero-deco-line {
    position: absolute;
    right: 280px;
    top: 0; bottom: 0;
    width: 1px;
    background: linear-gradient(180deg,
      transparent 0%,
      rgba(92,198,123,0.18) 20%,
      rgba(92,198,123,0.35) 50%,
      rgba(92,198,123,0.18) 80%,
      transparent 100%
    );
    pointer-events: none;
  }

  /* ─── RESPONSIVE ─── */
  @media (max-width: 1100px) {
    .culturas-grid { grid-template-columns: repeat(3, 1fr); }
  }
  @media (max-width: 900px) {
    .hero { padding: 48px 24px 40px; }
    .hero-inner { grid-template-columns: 1fr; }
    .topnav-brand-logo { height: 20px; }
    .hero-pdf-cta { flex-direction: column; align-items: flex-start; }
    .hero-main-btn { order: 1; width: 100%; }
    .hero-pdf-btn { order: 2; width: 100%; }
    .hero-pdf-label { order: 3; text-align: left; }
    .hero-brand-lockup {
      order: 4;
      align-self: stretch;
      justify-content: flex-start;
      padding: 12px 14px;
    }
    .hero-brand-lockup img { height: 72px; }
    .stats-bar { grid-template-columns: repeat(2, 1fr); }
    .quick-proof { grid-template-columns: 1fr; }
    .quick-proof-intro { font-size: 9px; padding: 10px 18px; }
    .rotas-grid { margin-bottom: 44px; }
    .caps-grid  { grid-template-columns: repeat(2, 1fr); }
    .culturas-grid { grid-template-columns: repeat(2, 1fr); }
    .sobre { grid-template-columns: 1fr; gap: 24px; padding: 28px 24px; }
    .container { padding: 32px 20px; }
    .culturas-section { padding: 32px 24px; }
    .culturas-header { flex-direction: column; align-items: flex-start; }
    .pdf-banner { flex-direction: column; align-items: flex-start; gap: 20px; padding: 24px; }
    .gate-banner { flex-direction: column; align-items: flex-start; gap: 16px; padding: 24px; }
    .consolidado-banner { flex-direction: column; align-items: flex-start; gap: 16px; padding: 24px; }
    .gate-banner::before { display: none; }
    .topnav { padding: 0 20px; gap: 10px; }
    .topnav-toggle { display: inline-flex; }
    .topnav-links {
      display: none;
      position: absolute;
      top: 56px;
      left: 0;
      right: 0;
      flex-direction: column;
      align-items: flex-start;
      gap: 4px;
      padding: 12px 20px 14px;
      background: #0a1510;
      border-bottom: 1px solid rgba(92,198,123,0.15);
      box-shadow: 0 10px 28px rgba(0,0,0,0.35);
      z-index: 105;
    }
    .topnav-links.open { display: flex; }
    .topnav-links a {
      width: 100%;
      padding: 8px 10px;
      border-radius: 5px;
    }
    .topnav-mobile-only { display: list-item; }
    .topnav-pdf {
      display: none;
    }
  }
  @media (max-width: 560px) {
    .hero-brand-lockup img { height: 48px; }
    .rota-tabs {
      flex-wrap: nowrap;
      overflow-x: auto;
      overflow-y: hidden;
      padding-bottom: 4px;
      scrollbar-width: thin;
      -webkit-overflow-scrolling: touch;
    }
    .rota-tab {
      flex: 0 0 auto;
      white-space: nowrap;
    }
    .caps-grid { grid-template-columns: 1fr; }
    .culturas-grid { grid-template-columns: repeat(2, 1fr); }
    .stats-bar { grid-template-columns: repeat(2, 1fr); }
    .quick-proof-card { padding: 16px 18px; }
    .footer {
      line-height: 1.65;
      padding: 20px 16px;
    }
    .footer-brand-logo {
      display: block;
      margin: 0 auto 10px;
      height: 16px;
    }
    .metrics-panel { right: 8px; bottom: 8px; width: calc(100vw - 16px); }
    .admin-access-dialog {
      width: calc(100vw - 20px);
      max-height: calc(100vh - 20px);
      max-height: calc(100dvh - 20px);
      padding: 18px 14px 14px;
    }
    .admin-access-title { font-size: 24px; }
  }
  @media (max-width: 400px) {
    .hero-brand-lockup img { height: 42px; }
    .culturas-grid { grid-template-columns: 1fr; }
  }
