/* ============================================================================
   JOCKEY CLUB DE PERNAMBUCO — styles.css
   Tema: burgundy + pergaminho + latão · "O templo do turfe brasileiro" (1859)
   Um único arquivo (1 request) organizado por seções.
   ========================================================================== */

/* ---------- FONTS (self-host, variable, latin) --------------------------- */
@font-face {
  font-family: 'Playfair Display';
  src: url('/assets/fonts/playfair-latin.woff2') format('woff2');
  font-weight: 400 900; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('/assets/fonts/inter-latin.woff2') format('woff2');
  font-weight: 100 900; font-style: normal; font-display: swap;
}

/* ---------- DESIGN TOKENS ------------------------------------------------ */
:root {
  /* Marca */
  --wine-900:#3E0C17;
  --wine-800:#4B0E1C;
  --wine-700:#5C1122;   /* primary */
  --wine-600:#7A1F2B;   /* secondary */
  --wine-500:#8E2A38;
  --brass-600:#886618;  /* latão escuro p/ TEXTO sobre claro — AA 4.7:1 */
  --brass:   #C79A3E;   /* accent (sobre superfícies escuras/vinho) */
  --brass-300:#E0C583;
  --brass-100:#F1E4C4;
  --espresso:#2E2A24;   /* accent-2 */

  /* Superfícies (pergaminho) */
  --parch:  #F7F1E4;    /* bg */
  --parch-2:#FBF7EE;
  --parch-3:#EFE6D2;
  --line:   #E2D6BC;    /* hairline sobre pergaminho */
  --line-strong:#D3C29E;

  /* Texto */
  --ink:    #2E2A24;
  --ink-soft:#5A5347;
  --ink-mute:#6B6252;   /* AA 5.3:1 sobre pergaminho (texto secundário) */
  --on-wine:#F3E7D6;
  --on-wine-mute:#C9A9A9;

  /* Estados */
  --ok:#2F7D4F; --warn:#B26A17; --danger:#9C2A2A; --info:#5C1122;

  /* Tipografia */
  --serif:'Playfair Display', Georgia, 'Times New Roman', serif;
  --sans:'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --fs-base:1rem;

  /* Espaço (8px) */
  --s1:.25rem; --s2:.5rem; --s3:.75rem; --s4:1rem; --s5:1.5rem;
  --s6:2rem; --s7:3rem; --s8:4rem; --s9:6rem;

  /* Raio / sombra */
  --r-sm:6px; --r:10px; --r-lg:14px;
  --sh-1:0 1px 2px rgba(46,42,36,.08), 0 1px 1px rgba(46,42,36,.06);
  --sh-2:0 6px 18px rgba(46,42,36,.10), 0 2px 6px rgba(46,42,36,.07);
  --sh-3:0 18px 44px rgba(46,42,36,.16);
  --sh-wine:0 14px 40px rgba(62,12,23,.34);

  --wrap:1200px;
  --header-h:76px;

  /* Motivos decorativos (turfe): ferradura + linha de chegada quadriculada */
  --motif-shoe-brass:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M30 22 A35 35 0 1 0 70 22' fill='none' stroke='%23C79A3E' stroke-width='12' stroke-linecap='round'/%3E%3Cg fill='%23C79A3E'%3E%3Ccircle cx='24.5' cy='42' r='2.3'/%3E%3Ccircle cx='21.5' cy='58' r='2.3'/%3E%3Ccircle cx='24' cy='74' r='2.3'/%3E%3Ccircle cx='75.5' cy='42' r='2.3'/%3E%3Ccircle cx='78.5' cy='58' r='2.3'/%3E%3Ccircle cx='76' cy='74' r='2.3'/%3E%3C/g%3E%3C/svg%3E");
  --motif-shoe-wine:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M30 22 A35 35 0 1 0 70 22' fill='none' stroke='%235C1122' stroke-width='12' stroke-linecap='round'/%3E%3Cg fill='%235C1122'%3E%3Ccircle cx='24.5' cy='42' r='2.3'/%3E%3Ccircle cx='21.5' cy='58' r='2.3'/%3E%3Ccircle cx='24' cy='74' r='2.3'/%3E%3Ccircle cx='75.5' cy='42' r='2.3'/%3E%3Ccircle cx='78.5' cy='58' r='2.3'/%3E%3Ccircle cx='76' cy='74' r='2.3'/%3E%3C/g%3E%3C/svg%3E");
  --motif-finish:repeating-conic-gradient(var(--parch) 0 25%, var(--espresso) 0 50%) 0 0/12px 12px;
}

/* ---------- RESET / BASE ------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}   /* atributo hidden vence classes de componente (modais, menu, to-top) */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0; font-family:var(--sans); font-size:var(--fs-base); line-height:1.65;
  color:var(--ink); background:var(--parch);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img,svg,video{max-width:100%; height:auto; display:block}
h1,h2,h3,h4{font-family:var(--serif); line-height:1.15; overflow-wrap:break-word; color:var(--wine-700); margin:0 0 .5em; font-weight:700}
h1{font-size:clamp(2.25rem,1.6rem + 2.6vw,3.75rem)}   /* 36–60 px */
h2{font-size:clamp(1.75rem,1.35rem + 1.6vw,2.5rem)}  /* 28–40 px */
h3{font-size:clamp(1.2rem,2.2vw,1.5rem)}
p{margin:0 0 1rem}
a{color:var(--wine-600); text-decoration:none}
a:hover{color:var(--brass-600)}
ul,ol{margin:0 0 1rem; padding-left:1.2rem}
strong{color:var(--ink)}
hr{border:0; border-top:1px solid var(--line); margin:var(--s6) 0}
:focus-visible{outline:3px solid var(--wine-600); outline-offset:2px; border-radius:2px}
.hero :focus-visible,.pagehero :focus-visible,.section--wine :focus-visible,.site-footer :focus-visible,.card--wine :focus-visible,.gp-spotlight :focus-visible{outline-color:var(--brass-300)}
.icon{width:1.15em; height:1.15em; flex:0 0 auto; vertical-align:-.18em}

.skip-link{
  position:absolute; left:8px; top:-60px; z-index:200; background:var(--wine-700);
  color:var(--on-wine); padding:.6rem 1rem; border-radius:var(--r); transition:top .2s;
}
.skip-link:focus{top:8px; color:var(--on-wine)}

/* ---------- LAYOUT ------------------------------------------------------- */
.wrap{width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:clamp(1rem,3.2vw,2.5rem)}   /* 16 / 24 / 32–40 px */
.section{padding-block:var(--s8)}
.section--tight{padding-block:var(--s7)}
.section--parch-2{background:var(--parch-2)}
.section--wine{background:var(--wine-700); color:var(--on-wine)}
.section--wine h1,.section--wine h2,.section--wine h3{color:var(--brass-100)}
.grid{display:grid; gap:var(--s5)}
.muted{color:var(--ink-mute)}
.center{text-align:center}
.mt-0{margin-top:0}.mb-0{margin-bottom:0}
.flow>*+*{margin-top:var(--s4)}

/* Cabeçalho de seção — motivo "plaqueta gravada" (SIGNATURE #1/#3) */
.eyebrow{
  display:inline-flex; align-items:center; gap:.5rem; font-family:var(--sans);
  font-size:.74rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  color:var(--brass-600); margin-bottom:.6rem;
}
.eyebrow::before{content:""; width:26px; height:2px; background:var(--brass); opacity:.8}
.section-head{max-width:62ch; margin-bottom:var(--s6)}
.section-head.center{margin-inline:auto}
.accent{color:var(--brass-600)}          /* palavra-acento em latão (SIGNATURE #3) */
.section--wine .accent{color:var(--brass)}

/* Moldura de rublo duplo em latão (SIGNATURE #1) */
.brass-frame{position:relative; border:1px solid var(--brass); border-radius:var(--r)}
.brass-frame::after{
  content:""; position:absolute; inset:4px; border:1px solid color-mix(in srgb,var(--brass) 55%,transparent);
  border-radius:calc(var(--r) - 3px); pointer-events:none;
}
.rule-brass{height:0; border-top:1px solid var(--brass); position:relative}
.rule-brass::after{content:""; position:absolute; left:0; right:0; top:3px; border-top:1px solid color-mix(in srgb,var(--brass) 45%,transparent)}

/* ---------- BOTÕES ------------------------------------------------------- */
.btn{
  --btn-bg:var(--wine-700); --btn-fg:#fff; --btn-bd:var(--wine-700);
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  font-family:var(--sans); font-weight:600; font-size:.98rem; line-height:1.25; text-align:center;
  min-height:48px; max-width:100%; padding:.75rem 1.4rem; border-radius:var(--r); cursor:pointer;
  background:var(--btn-bg); color:var(--btn-fg); border:1.5px solid var(--btn-bd);
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease, color .2s ease; text-decoration:none;
}
.btn:hover{transform:translateY(-2px); box-shadow:var(--sh-2); color:var(--btn-fg)}
.btn:active{transform:translateY(0)}
.btn:disabled,.btn[disabled]{opacity:.45; cursor:not-allowed; filter:grayscale(.35)}
.btn:disabled:hover,.btn[disabled]:hover{transform:none; box-shadow:none}
.btn--accent{--btn-bg:var(--brass); --btn-fg:var(--espresso); --btn-bd:var(--brass-600); box-shadow:var(--sh-1)}
.btn--accent:hover{--btn-bg:var(--brass-300)}
.btn--ghost{--btn-bg:transparent; --btn-fg:var(--wine-700); --btn-bd:var(--brass-600)}   /* borda ≥ 3:1 sobre pergaminho */
.btn--ghost:hover{--btn-bg:var(--parch-3); --btn-fg:var(--wine-700)}
.btn--on-wine{--btn-bg:transparent; --btn-fg:var(--on-wine); --btn-bd:color-mix(in srgb,var(--brass) 60%,transparent)}
.btn--on-wine:hover{--btn-bg:rgba(255,255,255,.08); --btn-fg:#fff}
.btn--lg{padding:.9rem 1.7rem; font-size:1.05rem; min-height:52px}
.btn--block{width:100%}

/* ---------- BADGES / PILLS ---------------------------------------------- */
.badge{
  display:inline-flex; align-items:center; gap:.4rem; font-size:.78rem; font-weight:700;
  padding:.28rem .6rem; border-radius:999px; letter-spacing:.02em;
}
.badge--18{background:var(--wine-700); color:#fff; border:1.5px solid var(--brass)}
.badge--brass{background:var(--brass-100); color:var(--brass-600); border:1px solid var(--brass-300)}
.badge--wine{background:color-mix(in srgb,var(--wine-700) 12%,transparent); color:var(--wine-700)}

/* ---------- CARDS -------------------------------------------------------- */
.card{
  background:var(--parch-2); border:1px solid var(--line); border-radius:var(--r-lg);
  padding:var(--s5); box-shadow:var(--sh-1); transition:transform .2s ease, box-shadow .25s ease, border-color .2s;
}
.card--link:hover{transform:translateY(-4px); box-shadow:var(--sh-2); border-color:var(--brass-300)}
.card--wine{background:linear-gradient(160deg,var(--wine-700),var(--wine-900)); color:var(--on-wine); border-color:var(--wine-800)}
.card--wine h1,.card--wine h2,.card--wine h3{color:var(--brass-100)}
/* strong herda --ink (escuro); sobre superfícies vinho isso fica ilegível */
.site-footer strong,
.card--wine strong,
.section--wine strong,
.hero strong{color:var(--brass-100)}
.card__ico{
  display:grid; place-items:center; width:3rem; height:3rem; border-radius:var(--r);
  background:var(--wine-700); color:var(--brass-100); margin-bottom:var(--s3);
  transition:transform .2s ease, background .2s ease;
}
.card__ico .icon{width:1.5rem;height:1.5rem}
.card--link:hover .card__ico{transform:translateY(-2px) rotate(-4deg); background:var(--wine-600)}

/* ---------- HERO --------------------------------------------------------- */
.hero{position:relative; background:var(--wine-700); color:var(--on-wine); overflow:hidden}
/* Camada de foto (corrida no Hipódromo da Madalena). Degrada para --wine-800 se ausente. */
.hero__bg{position:absolute; inset:0; z-index:0; background-color:var(--wine-800)}
.hero__art{position:absolute; inset:0; z-index:0}
.hero__bg::before{z-index:1}
.hero__bg > span{z-index:2}
.hero__art img{width:100%; height:100%; object-fit:cover; object-position:center right}
.hero__bg::before{ 
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(60% 55% at 80% 12%, rgba(199,154,62,.20), transparent 60%),
    linear-gradient(95deg, rgba(62,12,23,.94) 0%, rgba(62,12,23,.82) 44%, rgba(62,12,23,.46) 78%, rgba(62,12,23,.32) 100%),
    linear-gradient(160deg, rgba(123,31,43,.40), rgba(62,12,23,.64));
}

/* Marca-d'água de ferradura (motivo turfe) no hero */
.hero__bg span{
  position:absolute; left:-70px; bottom:-70px; width:min(400px,50vw); aspect-ratio:1; opacity:.1;
  background:no-repeat center/contain var(--motif-shoe-brass);
}

/* Linha de chegada (bandeira quadriculada) na borda inferior do hero */
.hero::after{content:""; position:absolute; left:0; right:0; bottom:0; height:12px; z-index:1;
  background:var(--motif-finish); box-shadow:0 -1px 0 rgba(199,154,62,.5)}
.hero__inner{position:relative; z-index:1; padding-block:clamp(var(--s7),8vw,var(--s9))}
.hero__content{min-width:0; max-width:60ch}
.hero__ribbon{
  display:inline-flex; align-items:center; gap:.5rem; font-size:.8rem; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase; color:var(--brass);
  border:1px solid color-mix(in srgb,var(--brass) 55%,transparent);
  padding:.34rem .8rem; border-radius:999px; margin-bottom:var(--s5);
}
.hero h1{color:#fff; margin-bottom:var(--s4)}
.hero h1 .accent{color:var(--brass)}
.hero__lead{font-size:1.18rem; color:var(--on-wine); max-width:52ch; margin-bottom:var(--s6)}
.hero__cta{display:flex; flex-wrap:wrap; gap:var(--s3); align-items:center}
.hero__note{margin-top:var(--s5); font-size:.9rem; color:var(--on-wine); max-width:52ch}

/* Selo do clube (imagem aprovada) */
.seal{position:relative; z-index:1; width:min(300px,42vw); aspect-ratio:1; margin-inline:auto}

.seal-svg{display:block; width:100%; height:100%; line-height:0}
.seal-img{display:block; width:100%; height:100%; object-fit:contain}

/* ---------- TABELAS (programa/resultados) -------------------------------- */
.table-wrap{overflow-x:auto; border:1px solid var(--line); border-radius:var(--r-lg); background:var(--parch-2)}
table.data{width:100%; border-collapse:collapse; min-width:640px}
table.data th,table.data td{padding:.8rem 1rem; text-align:left; border-bottom:1px solid var(--line)}
table.data thead th{
  background:var(--wine-700); color:var(--brass-100); font-family:var(--sans);
  font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; font-weight:700;
}
table.data tbody tr:hover{background:var(--parch-3)}
table.data tbody tr:last-child td{border-bottom:0}
.num{font-variant-numeric:tabular-nums}

/* ---------- RESPONSIVO --------------------------------------------------- */
.cols-2{grid-template-columns:repeat(2,1fr)}
.cols-3{grid-template-columns:repeat(3,1fr)}
.cols-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:1024px){.cols-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:820px){
  .cols-3,.cols-2{grid-template-columns:1fr}
  .cols-4{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:520px){.cols-4{grid-template-columns:1fr}}

/* ---------- LOGO --------------------------------------------------------- */
.logo{display:inline-flex; align-items:center; gap:.7rem; text-decoration:none}
.logo__name{max-width:18ch}   /* mantém o wordmark em 2 linhas controladas, sem esmagar */
.logo__mark{width:44px; height:44px; flex:0 0 auto; color:var(--brass); display:block}
.logo__mark .seal-svg{width:100%; height:100%}
.logo__text{display:flex; flex-direction:column; line-height:1}
.logo__name{font-family:var(--serif); font-weight:700; font-size:1.16rem; color:var(--wine-700); letter-spacing:.01em}
.logo__amp{font-style:italic; font-weight:500; color:var(--brass-600)}
.logo__sub{font-size:.66rem; letter-spacing:.13em; text-transform:uppercase; color:var(--ink-mute); margin-top:.28rem}
.logo--light .logo__name{color:#fff}
.logo--light .logo__sub{color:var(--on-wine-mute)}
.logo--light .logo__amp{color:var(--brass)}

/* ---------- HEADER ------------------------------------------------------- */
.site-header{position:sticky; top:0; z-index:100; background:var(--parch-2);
  border-bottom:1px solid var(--line); box-shadow:0 1px 0 rgba(199,154,62,.35)}
.site-header::after{content:""; display:block; height:2px;
  background:linear-gradient(90deg,transparent,var(--brass),transparent)}
.site-header > .wrap{max-width:1340px}   /* header pode ser mais largo que o conteúdo */
.site-header__row{display:flex; align-items:center; gap:var(--s4); min-height:var(--header-h)}

.mainnav{margin-left:auto}
.mainnav ul{display:flex; gap:.3rem; list-style:none; margin:0; padding:0}
.mainnav a{display:inline-flex; align-items:center; min-height:44px; padding:.55rem .8rem; border-radius:var(--r); font-weight:600;
  font-size:.94rem; color:var(--ink-soft); position:relative; white-space:nowrap}
.mainnav a:hover{color:var(--wine-700); background:var(--parch-3)}
.mainnav a[aria-current]{color:var(--wine-700)}
.mainnav a[aria-current]::after{content:""; position:absolute; left:.8rem; right:.8rem; bottom:.28rem;
  height:2px; background:var(--brass)}

.btn--sm{padding:.5rem .9rem; font-size:.9rem; min-height:44px}

/* ---------- FOOTER ------------------------------------------------------- */
.site-footer{background:var(--wine-900); color:var(--on-wine); padding-block:var(--s8) var(--s6); margin-top:var(--s8)}
.site-footer a{color:var(--on-wine)}
.site-footer a:hover{color:var(--brass-300)}

.site-footer__blurb{color:var(--on-wine); font-size:.95rem; max-width:52ch; margin-top:var(--s4)}

.site-footer__bottom{display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem;
  padding-top:var(--s5); margin-top:var(--s5); border-top:1px solid rgba(199,154,62,.25); font-size:.875rem}
.site-footer__bottom p{margin:0}
.site-footer__bottom .muted{color:var(--on-wine-mute)}

/* ---------- TO-TOP ------------------------------------------------------- */
.to-top{position:fixed; right:1.2rem; bottom:1.2rem; z-index:120; width:46px; height:46px;
  border-radius:50%; border:1.5px solid var(--brass-600); background:var(--wine-700); color:var(--brass-100);
  cursor:pointer; display:grid; place-items:center; box-shadow:var(--sh-2);
  opacity:0; visibility:hidden; transition:transform .2s, opacity .2s, visibility .2s}
.to-top.is-visible{opacity:1; visibility:visible}
.to-top .icon{width:20px; height:20px}
.no-js .to-top{display:none}
.to-top:hover{transform:translateY(-3px)}

/* ---------- HOME: HERO --------------------------------------------------- */
.hero__layout{display:grid; grid-template-columns:1.15fr .85fr; gap:var(--s6); align-items:center}
.hero .seal{color:var(--brass)}
.hero .seal-img{filter:drop-shadow(0 8px 24px rgba(0,0,0,.35))}
@media (max-width:900px){
  .hero__layout{grid-template-columns:1fr}
  .hero .seal{display:none}
}

/* GP spotlight */
.gp-spotlight{position:relative; display:grid; grid-template-columns:1.2fr .8fr; gap:var(--s6); align-items:center;
  padding:var(--s7); border-radius:var(--r-lg); overflow:hidden;
  background:
    linear-gradient(120deg, rgba(62,12,23,.92) 0%, rgba(92,17,34,.80) 52%, rgba(46,42,36,.90) 100%),
    var(--wine-800) image-set(
      url("/assets/img/gp-finish-800.avif") type("image/avif"),
      url("/assets/img/gp-finish-800.webp") type("image/webp"),
      url("/assets/img/gp-finish-800.jpg") type("image/jpeg")) center/cover no-repeat}
/* Faixa de chegada quadriculada no topo do destaque do GP */
.gp-spotlight::before{content:""; position:absolute; left:0; right:0; top:0; height:10px;
  background:var(--motif-finish); opacity:.9}
.gp-spotlight .gp-badge{display:block; width:130px; height:130px; margin-inline:auto; color:var(--brass)}
/* selo dourado sobre superfícies vinho muito escuras: realça o brilho */
.gp-spotlight .gp-badge .seal-img,
.site-footer .logo__mark .seal-img{filter:brightness(1.5) saturate(1.05)}
.gp-spotlight__facts{display:flex; gap:var(--s5); flex-wrap:wrap; margin-top:var(--s4)}
.gp-fact{display:flex; flex-direction:column}
.gp-fact b{font-family:var(--serif); font-size:1.5rem; color:var(--brass)}
.gp-fact span{font-size:.8rem; color:var(--on-wine-mute); text-transform:uppercase; letter-spacing:.08em}
@media (max-width:760px){.gp-spotlight{grid-template-columns:1fr; padding:var(--s5)} .gp-spotlight__art{display:none}}

/* Product tiles */
.tiles{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s4)}
.tile{display:flex; gap:var(--s3); align-items:flex-start}
.tile h3{margin-bottom:.2rem; font-size:1.15rem}
.tile p{margin:0; font-size:.9rem; color:var(--ink-soft)}
.tile__arrow{margin-left:auto; color:var(--brass-600); transition:transform .2s}
.card--link:hover .tile__arrow{transform:translateX(4px)}
@media (max-width:820px){.tiles{grid-template-columns:1fr}}

.section--wine{position:relative; overflow:hidden}
.section--wine::after{content:""; position:absolute; right:-60px; bottom:-80px; width:min(320px,38vw); aspect-ratio:1;
  background:no-repeat center/contain var(--motif-shoe-brass); opacity:.08; pointer-events:none; z-index:0}
.section--wine .wrap{position:relative; z-index:1}

/* ---------- HEADER RESPONSIVO ------------------------------------------- */
@media (max-width:1023px){.mainnav{display:none}}
@media (min-width:1024px){.nav-mobile{display:none}}

@media (max-width:560px){
  
  .logo__sub{display:none}
  .logo__name{font-size:1rem}
  .hero__cta .btn{flex:1 1 auto}
}
@media (max-width:380px){
  .logo__name{font-size:.92rem}
  .logo__mark{width:38px; height:38px}
}

.pagehero{position:relative; background-color:var(--wine-800); color:var(--on-wine); padding-block:clamp(var(--s6),5vw,var(--s7)); overflow:hidden; isolation:isolate}
.pagehero__art{position:absolute; inset:0; z-index:-1}
.pagehero__art img{width:100%; height:100%; object-fit:cover; object-position:center 40%}
.pagehero:not(.pagehero--foto)::before{content:""; position:absolute; right:-50px; bottom:-70px; width:min(300px,40vw); aspect-ratio:1; z-index:0;
  background:no-repeat center/contain var(--motif-shoe-brass); opacity:.1; pointer-events:none}

.pagehero::after{content:""; position:absolute; inset:0; z-index:0;
  background:linear-gradient(120deg, rgba(62,12,23,.90) 0%, rgba(92,17,34,.82) 55%, rgba(62,12,23,.88) 100%)}
.pagehero > .wrap{position:relative; z-index:1}

.pagehero .eyebrow{color:var(--brass)}
.pagehero h1{color:#fff; margin-bottom:.4rem}
.pagehero h1 .accent{color:var(--brass)}
.pagehero__lead{color:var(--on-wine); max-width:62ch; margin:0; font-size:1.08rem}

.notice{display:flex; align-items:flex-start; gap:.7rem; padding:var(--s4); border-radius:var(--r); background:var(--parch-2)}
.notice .icon{color:var(--brass-600); flex:0 0 auto; width:22px; height:22px}

@media (max-width:640px){ .grid.cols-3{grid-template-columns:1fr}}

/* História — timeline */
.timeline{list-style:none; margin:0; padding:0; max-width:820px; margin-inline:auto; position:relative}
.timeline::before{content:""; position:absolute; left:120px; top:8px; bottom:8px; width:2px; background:var(--line-strong)}
.timeline__item{display:grid; grid-template-columns:120px 1fr; gap:var(--s5); padding-bottom:var(--s5); position:relative}
.timeline__year{font-family:var(--serif); font-weight:700; color:var(--wine-700); text-align:right; padding-right:1.4rem; position:relative}
.timeline__year::after{content:""; position:absolute; right:-6px; top:.35rem; width:12px; height:12px; border-radius:50%; background:var(--brass); border:2px solid var(--parch-2); box-shadow:0 0 0 2px var(--brass)}
.timeline__card{background:var(--parch-2); border:1px solid var(--line); border-radius:var(--r); padding:var(--s4); box-shadow:var(--sh-1)}
.timeline__card strong{color:var(--wine-700); display:block; margin-bottom:.2rem}
@media (max-width:600px){
  .timeline::before{left:8px}
  .timeline__item{grid-template-columns:1fr; gap:.4rem; padding-left:32px}
  .timeline__year{text-align:left; padding-right:0}
  .timeline__year::after{left:-28px; right:auto}
}

/* Legal */
.legal{display:grid; grid-template-columns:250px 1fr; gap:var(--s7); align-items:start}
.legal__toc{position:sticky; top:calc(var(--header-h) + 16px)}
.legal__toc-title{font-weight:700; color:var(--wine-700); margin-bottom:.6rem; font-size:.9rem; letter-spacing:.04em; text-transform:uppercase}
.legal__toc ol{list-style:none; margin:0 0 var(--s4); padding:0; display:grid; gap:.35rem}
.legal__toc a{display:block; min-height:36px; font-size:.9rem; color:var(--ink-soft); padding:.25rem 0 .25rem .7rem; border-left:2px solid var(--line)}
.legal__toc a:hover{color:var(--wine-700); border-color:var(--brass)}

.legal__body{max-width:72ch}
.legal__intro{font-size:1.05rem; color:var(--ink-soft); border-left:3px solid var(--brass); padding-left:var(--s4); margin-bottom:var(--s6)}

.legal__section{margin-bottom:var(--s6); scroll-margin-top:calc(var(--header-h) + 16px)}
.legal__section h2{display:flex; align-items:center; gap:.6rem; font-size:1.4rem}
.legal__num{display:inline-grid; place-items:center; width:1.9rem; height:1.9rem; flex:0 0 auto; font-family:var(--sans);
  font-size:.9rem; font-weight:700; color:var(--espresso); background:var(--brass-100); border:1px solid var(--brass-300); border-radius:50%}
.legal__section ul{padding-left:1.2rem}
.legal__section li{margin-bottom:.4rem}
.legal__foot{border-top:1px solid var(--line); padding-top:var(--s4); margin-top:var(--s6); font-size:.9rem}
@media (max-width:860px){.legal{grid-template-columns:1fr} .legal__toc{position:static; border-bottom:1px solid var(--line); padding-bottom:var(--s4)}}

.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0}

/* Notice em variante de alerta */
.notice{border:1px solid var(--line)}
.notice--alerta{border-color:color-mix(in srgb,var(--warn) 45%,transparent);
  background:color-mix(in srgb,var(--warn) 10%,transparent)}
.notice--alerta .icon{color:var(--warn)}

/* ---------- RODAPÉ (nova estrutura) -------------------------------------- */
.site-footer__brandrow{display:grid; grid-template-columns:auto 1fr; gap:var(--s5); align-items:center;
  padding-bottom:var(--s6); border-bottom:1px solid rgba(199,154,62,.25)}
.site-footer__brandrow .site-footer__blurb{margin-top:0}
.site-footer__cols{display:grid; grid-template-columns:repeat(4,1fr); gap:var(--s6); padding-block:var(--s6)}

.site-footer__data{color:var(--on-wine-mute); line-height:1.5}

.site-footer__avisos{display:flex; align-items:flex-start; gap:.8rem; padding:var(--s4) var(--s5);
  margin-top:var(--s5); border:1px solid var(--brass-600); border-radius:var(--r-lg); background:rgba(0,0,0,.22)}
.site-footer__avisos p{margin:0; color:var(--brass-100); font-weight:600; font-size:.95rem}
.site-footer__avisos a{color:var(--brass-300); text-decoration:underline}

@media (max-width:1024px){.site-footer__cols{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){
  .site-footer__cols{grid-template-columns:1fr; gap:var(--s5)}
  .site-footer__brandrow{grid-template-columns:1fr}
}

.faq{max-width:74ch}

.faq__item{border:1px solid var(--line); border-radius:var(--r); background:var(--parch-2); margin-bottom:.6rem}
.faq__item summary{display:flex; align-items:center; justify-content:space-between; gap:1rem; cursor:pointer; min-height:48px;
  padding:.9rem 1.1rem; font-weight:600; color:var(--wine-700); list-style:none}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary .icon{flex:0 0 auto; color:var(--brass-600); transition:transform .2s}
.faq__item[open] summary .icon{transform:rotate(180deg)}
.faq__item summary:hover{background:var(--parch-3)}
.faq__resposta{padding:0 1.1rem 1rem; color:var(--ink-soft); font-size:1rem}
.faq__resposta p{margin:0}

/* ---------- LEGAL: versão na barra lateral ------------------------------ */
.legal__versao{font-size:.8rem; margin-top:var(--s4); padding-top:var(--s3); border-top:1px solid var(--line)}
.legal__section table.data{margin-block:var(--s4)}
.legal__section .notice{margin-block:var(--s4)}
.legal__section code{background:var(--parch-3); padding:.1rem .35rem; border-radius:var(--r-sm); font-size:.9em}
.legal__section ol{padding-left:1.2rem}
.legal__section ol li{margin-bottom:.4rem}

.pagehero a:not(.btn),
.hero a:not(.btn),
.section--wine a:not(.btn),
.card--wine a:not(.btn),
.gp-spotlight a:not(.btn){color:var(--brass-300); text-decoration:underline; text-underline-offset:2px}
.pagehero a:not(.btn):hover,
.hero a:not(.btn):hover,
.section--wine a:not(.btn):hover,
.card--wine a:not(.btn):hover,
.gp-spotlight a:not(.btn):hover{color:#fff}

.pagehero strong,
.gp-spotlight strong{color:var(--brass-100)}

.badge--brass{color:#6E520F}

.grid > *,
.legal > *{min-width:0}
.legal{grid-template-columns:250px minmax(0,1fr)}
@media (max-width:860px){.legal{grid-template-columns:minmax(0,1fr)}}
.table-wrap{max-width:100%}


/* ============================================================================
   PORTAL INFORMATIVO — componentes (mesmos tokens: vinho, pergaminho, latão)
   ========================================================================== */
body{min-width:320px}
.site-header{transition:box-shadow .2s ease}
.site-header.is-scrolled{box-shadow:var(--sh-2)}
.wrap--narrow{max-width:820px}
.mt{margin-top:var(--s4)} .mt-lg{margin-top:var(--s6)}
.acoes{margin-top:var(--s5); margin-bottom:0}
.lead{font-size:1.08rem; color:var(--ink-soft)}
.section--wine .lead,.section--wine p{color:var(--on-wine)}
.prose{max-width:68ch; min-width:0}
.prose p{margin:0 0 1rem}
.btn-row{display:flex; flex-wrap:wrap; gap:var(--s3)}
.btn .icon{width:18px; height:18px}
@media (max-width:480px){.btn-row .btn,.hero__cta .btn{width:100%}}
.card h3{font-size:1.15rem; display:flex; align-items:center; gap:.5rem}
.card h3 .icon{color:var(--brass-600)}
.card p{color:var(--ink-soft); font-size:.98rem}
.card p:last-child{margin-bottom:0}
.card--wine p{color:var(--on-wine)}
.card--wine h3 .icon{color:var(--brass)}
.tile__txt{min-width:0}
.tile h3{display:block}

/* Menu móvel: <details> nativo, painel vinho sob o cabeçalho (não modal) */
.nav-mobile{margin-left:auto}
.nav-mobile > summary{
  list-style:none; display:inline-flex; align-items:center; gap:.45rem; cursor:pointer;
  min-height:44px; min-width:44px; padding:.45rem .8rem; border-radius:var(--r);
  border:1.5px solid var(--brass-600); color:var(--wine-700); font-weight:600; font-size:.95rem;
  transition:background .2s ease}
.nav-mobile > summary::-webkit-details-marker{display:none}
.nav-mobile > summary:hover{background:var(--parch-3)}
.nav-toggle .icon{width:22px; height:22px}
.nav-toggle__close{display:none}
.nav-mobile[open] .nav-toggle__open{display:none}
.nav-mobile[open] .nav-toggle__close{display:inline-flex}
.nav-mobile__panel{
  position:absolute; left:0; right:0; top:100%; z-index:110;
  max-height:calc(100vh - var(--header-h)); overflow-y:auto;
  background:linear-gradient(160deg,var(--wine-700),var(--wine-900)); color:var(--on-wine);
  border-top:2px solid var(--brass); box-shadow:var(--sh-wine);
  padding:var(--s3) clamp(1rem,3.2vw,2.5rem) var(--s5)}
.nav-mobile__panel ul{list-style:none; margin:0; padding:0}
.nav-mobile__panel a{display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:48px;
  padding:.7rem .2rem; color:var(--on-wine); border-bottom:1px solid rgba(199,154,62,.22); font-weight:600; font-size:1rem}
.nav-mobile__panel a .icon{color:var(--brass); width:18px; height:18px}
.nav-mobile__panel a:hover{color:#fff}
.nav-mobile__panel a[aria-current]{color:var(--brass-300)}
.nav-mobile__panel :focus-visible{outline-color:var(--brass-300)}
.nav-mobile__meta{margin:var(--s4) 0 0; font-size:.9rem; color:var(--on-wine)}
.site-header{position:sticky}
.site-header__row{position:static}
@media (max-width:440px){.nav-toggle__label{display:none}}

/* Trilha no cabeçalho de página */
.breadcrumb{display:flex; flex-wrap:wrap; align-items:center; gap:.4rem; font-size:.9rem; color:var(--on-wine); margin-bottom:var(--s4)}
.breadcrumb .sep{opacity:.6}

/* Herói: painel de atalhos */
.hero__panel{background:rgba(62,12,23,.55); border:1px solid color-mix(in srgb,var(--brass) 45%,transparent);
  border-radius:var(--r-lg); padding:var(--s5); min-width:0}
.hero__panel h2{font-size:1.2rem; color:var(--brass-100); margin-bottom:var(--s3)}
.hero .hero__panel a{display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:48px;
  padding:.7rem .2rem; border-top:1px solid rgba(199,154,62,.25); color:var(--on-wine); text-decoration:none; font-weight:600}
.hero .hero__panel a:first-of-type{border-top:0}
.hero .hero__panel a .icon{color:var(--brass)}
.hero .hero__panel a:hover{color:#fff}
.hero__panel small{display:block; margin-top:var(--s3); font-size:.875rem; color:var(--on-wine)}
@media (max-width:900px){.hero__panel{display:none}}

/* Estado vazio */
.estado-vazio{display:grid; gap:.6rem; justify-items:start; padding:clamp(1.25rem,3vw,2rem);
  border:1px solid var(--line); border-radius:var(--r-lg); background:var(--parch-2); box-shadow:var(--sh-1)}
.estado-vazio > .icon{width:32px; height:32px; color:var(--wine-600)}
.estado-vazio h3{font-size:1.25rem; margin:0}
.estado-vazio p{max-width:62ch; margin:0; color:var(--ink-soft)}
.section--parch-2 .estado-vazio{background:#fff}

/* Avisos */
.aviso-idade{display:flex; gap:.8rem; align-items:flex-start; padding:var(--s4); margin-top:var(--s4);
  border:1px solid var(--brass-300); border-radius:var(--r); background:var(--brass-100)}
.aviso-idade p{margin:0; color:var(--espresso); font-size:.95rem}
.aviso-idade .badge{flex:0 0 auto; margin-top:.1rem}
.aviso-externo{font-size:.9rem; color:var(--ink-mute); margin:var(--s3) 0 .4rem}
.section--wine .aviso-externo,.card--wine .aviso-externo{color:var(--on-wine)}
.nota-fonte{display:flex; gap:.6rem; align-items:flex-start; margin:var(--s4) 0; padding:var(--s3) var(--s4);
  border-left:3px solid var(--brass); background:var(--parch-3); border-radius:0 var(--r) var(--r) 0; color:var(--ink-soft); font-size:.95rem}
.nota-fonte .icon{color:var(--brass-600); margin-top:.2rem}
.cta-externo{margin:0 0 var(--s4)}

/* Programas publicados (details) */
.programas{display:grid; gap:var(--s4)}
.programa{border:1px solid var(--line); border-radius:var(--r-lg); background:var(--parch-2); box-shadow:var(--sh-1);
  overflow:hidden; scroll-margin-top:calc(var(--header-h) + 1rem)}
.programa[open]{border-color:var(--brass-300)}
.programa__head{list-style:none; cursor:pointer; display:grid; grid-template-columns:auto minmax(0,1fr); gap:.5rem 1.25rem; align-items:center; padding:1rem 1.25rem}
.programa__head::-webkit-details-marker{display:none}
.programa__data{display:grid; place-items:center; min-width:4.4rem; padding:.5rem .6rem; border-radius:var(--r);
  background:var(--wine-700); color:var(--brass-100); text-align:center; line-height:1.1}
.programa__data b{font-family:var(--serif); font-size:1.6rem; color:#fff}
.programa__data span{font-size:.8rem; text-transform:uppercase; letter-spacing:.08em}
.programa__info{min-width:0}
.programa__titulo{display:block; font-family:var(--serif); font-size:1.2rem; font-weight:700; color:var(--wine-700)}
.programa__meta{display:flex; flex-wrap:wrap; gap:.3rem 1rem; margin-top:.3rem; font-size:.9rem; color:var(--ink-mute)}
.programa__meta span{display:inline-flex; align-items:center; gap:.35rem}
.programa__acao{grid-column:1 / -1; display:inline-flex; align-items:center; gap:.4rem; font-weight:600; color:var(--wine-600); font-size:.95rem; min-height:32px}
.programa__acao .icon{transition:transform .2s ease}
.programa[open] .programa__acao .icon{transform:rotate(180deg)}
.programa__acao .quando-aberto,.programa[open] .programa__acao .quando-fechado{display:none}
.programa[open] .programa__acao .quando-aberto{display:inline}
.programa__body{border-top:1px solid var(--line); padding:1rem 1.25rem 1.25rem}
.programa__fonte{font-size:.9rem; color:var(--ink-mute); margin:.75rem 0 0; overflow-wrap:anywhere}
.pareo-num{display:inline-grid; place-items:center; width:2rem; height:2rem; border-radius:50%; font-weight:800; font-size:.9rem;
  color:var(--wine-900); background:radial-gradient(circle at 50% 35%, var(--brass-300), var(--brass) 60%, var(--brass-600) 100%);
  border:1.5px solid var(--brass-600)}
.lista-simples{list-style:none; margin:0; padding:0}
@media (min-width:720px){.programa__head{grid-template-columns:auto minmax(0,1fr) auto} .programa__acao{grid-column:auto}}

/* Resultados por reunião (details) */
.reuniao{border:1px solid var(--line); border-radius:var(--r-lg); background:var(--parch-2); box-shadow:var(--sh-1); overflow:hidden;
  margin-bottom:var(--s4); scroll-margin-top:calc(var(--header-h) + 1rem)}
.reuniao__head{list-style:none; cursor:pointer; display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1rem; padding:1rem 1.25rem; background:var(--parch-3)}
.reuniao__head::-webkit-details-marker{display:none}
.reuniao__head h3{font-size:1.1rem; margin:0 auto 0 0}
.reuniao__head .meta{display:flex; flex-wrap:wrap; gap:.3rem .9rem; font-size:.9rem; color:var(--ink-mute)}
.reuniao__body{padding:1rem 1.25rem 1.25rem; display:grid; gap:1rem}
table.data caption{text-align:left; padding:.8rem 1rem .4rem; font-weight:700; color:var(--wine-700)}
.table-wrap:focus-visible{outline:3px solid var(--wine-600); outline-offset:2px}

/* Filtros (só quando há base local) */
.filtros{display:flex; flex-wrap:wrap; gap:.75rem 1rem; align-items:flex-end; margin-bottom:var(--s5); padding:1rem 1.2rem;
  border:1px solid var(--line); border-radius:var(--r-lg); background:var(--parch-2)}
.filtros .campo{display:flex; flex-direction:column; gap:.35rem; min-width:0}
.filtros label{font-size:.9rem; font-weight:600; color:var(--ink)}
.filtros select{min-height:44px; padding:.5rem .8rem; border:1.5px solid var(--brass-600); border-radius:var(--r); background:#fff; color:var(--ink); font:inherit}
.filtros__acoes{display:flex; flex-wrap:wrap; gap:.5rem; align-items:center}
.filtros__limpar{display:inline-flex; align-items:center; min-height:44px; padding:0 .5rem; font-weight:600; text-decoration:underline}
@media (max-width:480px){.filtros .campo,.filtros select,.filtros__acoes,.filtros__acoes .btn{width:100%}}

/* Documentos */
.doc-list{display:grid; gap:var(--s4)}
.doc{display:grid; grid-template-columns:auto minmax(0,1fr); gap:.25rem 1rem; align-items:start; padding:var(--s5);
  border:1px solid var(--line); border-radius:var(--r-lg); background:var(--parch-2); box-shadow:var(--sh-1)}
.doc > .icon{width:28px; height:28px; color:var(--wine-600); margin-top:.2rem}
.doc h3{font-size:1.25rem; margin-bottom:.5rem}
.doc dl{display:grid; gap:.35rem; margin:0; font-size:.95rem}
.doc dl div{display:grid; grid-template-columns:minmax(0,13rem) minmax(0,1fr); gap:.2rem 1rem}
.doc dt{font-weight:600; color:var(--ink)}
.doc dd{margin:0; color:var(--ink-soft); overflow-wrap:anywhere}
.doc__acao{margin:.75rem 0 0}
@media (max-width:600px){.doc{grid-template-columns:minmax(0,1fr)} .doc dl div{grid-template-columns:minmax(0,1fr)}}

/* Termos (definições) */
.termos{display:grid; gap:0 2rem; margin:var(--s4) 0}
.termos div{padding:.8rem 0; border-top:1px solid var(--line); min-width:0}
.termos dt{font-family:var(--serif); font-weight:700; font-size:1.08rem; color:var(--wine-700)}
.termos dd{margin:.25rem 0 0; color:var(--ink-soft)}
@media (min-width:720px){.termos{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Foto + texto */
.media-split{display:grid; gap:clamp(1.5rem,4vw,3rem); align-items:center}
.media-split > *{min-width:0}
.media-split .foto{display:block; border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-3); aspect-ratio:4 / 3}
.media-split .foto img{width:100%; height:100%; object-fit:cover}
.seal--sobre{width:min(280px,70%)}
@media (min-width:900px){.media-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} .media-split--inv .foto{order:-1}}
@media (max-width:899px){.seal--sobre{display:none}}

/* Grandes prêmios */
.gp-card{display:flex; flex-direction:column; gap:.6rem}
.gp-card .badge{align-self:flex-start}
.gp-card h3{font-size:1.3rem; margin:0}
.gp-card p{margin:0}
.gp-card--destaque{border-color:var(--brass); box-shadow:var(--sh-2)}
.gp-card__dados{display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; margin:.4rem 0 0; font-size:.95rem}
.gp-card__dados dt{font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-mute); font-weight:700}
.gp-card__dados dd{margin:0; font-family:var(--serif); font-size:1.15rem; color:var(--wine-700); font-weight:700}
.gp-spotlight{color:var(--on-wine)}
.gp-spotlight h2{color:#fff}
.gp-spotlight p{color:var(--on-wine)}
.gp-spotlight .eyebrow{color:var(--brass)}
.gp-fact span{color:var(--on-wine)}

/* Apoio / contato / erro */
.support-card{padding:var(--s5)}
.support-card h3{font-size:1.2rem}
.contato-bloco h2{font-size:1.5rem; margin-top:.2rem}
.contato-bloco p{margin:0 0 .5rem}
.contact-line{display:flex; align-items:center; gap:.5rem; margin:.75rem 0; overflow-wrap:anywhere}
.contact-line .icon{color:var(--brass-600); flex:0 0 auto}
.erro{min-height:50vh; display:grid; place-items:center; text-align:center}
.erro .wrap{display:grid; gap:var(--s4); justify-items:center}
.erro h1{font-size:clamp(2.25rem,1.6rem + 2.6vw,3rem); margin:0}
.erro p{max-width:52ch; margin:0}
.erro .btn-row{justify-content:center}
.erro .aviso-externo{margin:0}

/* Rodapé */
.site-footer__h{font-family:var(--sans); color:var(--brass-100); font-size:.875rem; letter-spacing:.12em; text-transform:uppercase; margin:0 0 .9rem}
.site-footer__col{min-width:0}
.site-footer__col ul{list-style:none; margin:0; padding:0; display:grid; gap:.15rem}
.site-footer__col ul a{display:inline-flex; align-items:center; min-height:36px; font-size:.95rem}
.site-footer__data p{margin:0 0 .45rem; font-size:.9rem; color:var(--on-wine); overflow-wrap:anywhere}
.site-footer__data a{text-decoration:underline}
.site-footer__avisos .badge--18{flex:0 0 auto; background:var(--brass); color:var(--espresso); border-color:var(--brass-300)}

/* Movimento reduzido */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.001ms !important; animation-duration:.001ms !important; animation-iteration-count:1 !important}
  .btn:hover,.card--link:hover,.to-top:hover{transform:none}
}
.tile .card__ico{flex:0 0 3rem; margin-bottom:0}
.tile__arrow .icon{width:20px; height:20px}

/* ---------- 18+ NO PRIMEIRO ECRÃ ------------------------------------------ */
.hero__18{display:flex; gap:.75rem; align-items:flex-start; margin-top:var(--s4); max-width:56ch;
  padding:.75rem 1rem; border:1px solid color-mix(in srgb,var(--brass) 55%,transparent); border-radius:var(--r);
  background:rgba(62,12,23,.55); font-size:.95rem; line-height:1.5; color:var(--on-wine)}
.hero__18 .badge--18{flex:0 0 auto; margin-top:.05rem}
.hero__18 strong{color:#fff}
.hero__18 a{color:var(--brass-300); font-weight:600; text-decoration:underline; text-underline-offset:2px}
.hero__18 a:hover{color:#fff}

/* ---------- PUBLICAÇÕES OFICIAIS (links para a fonte) ---------------------- */
.publicacoes{list-style:none; margin:var(--s5) 0 0; padding:0; display:grid; gap:var(--s4)}
.publicacao{display:grid; grid-template-columns:auto minmax(0,1fr); gap:var(--s4); align-items:start;
  padding:clamp(1rem,2.5vw,1.25rem); background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--sh-1)}
.publicacao__data{display:grid; place-items:center; min-width:4.5rem; padding:.5rem .6rem; border-radius:var(--r);
  background:var(--wine-700); color:var(--brass-300); text-align:center; line-height:1.15}
.publicacao__data b{font-family:var(--serif); font-size:1.6rem; color:#fff}
.publicacao__data span{font-size:.8rem}
.publicacao__corpo{min-width:0}
.publicacao__tags{display:flex; flex-wrap:wrap; gap:.4rem; margin:0 0 .4rem}
.publicacao__tags .badge{background:var(--brass-100); color:var(--brass-600); border:1px solid var(--brass-300)}
.publicacao__tags .badge--arquivo{background:var(--parch-3); color:var(--ink-soft); border-color:var(--line-strong)}
.publicacao h3{font-size:1.125rem; margin:0; overflow-wrap:anywhere}
.publicacao h3 a{color:var(--wine-700); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px}
.publicacao h3 a:hover{color:var(--wine-500)}
.publicacao h3 .icon{width:16px; height:16px; vertical-align:-2px}
.publicacao__meta{margin:.4rem 0 0; font-size:.875rem; color:var(--ink-mute)}
.publicacao__nota{margin:.35rem 0 0; font-size:.9375rem; color:var(--ink-soft)}
@media (max-width:420px){.publicacao{grid-template-columns:minmax(0,1fr)} .publicacao__data{justify-self:start}}

/* ---------- FONTE NO CARTÃO DE GRANDE PRÊMIO ------------------------------ */
.gp-card__fonte{margin-top:var(--s3); font-size:.875rem; color:var(--ink-mute); display:flex; gap:.4rem; align-items:flex-start}
.gp-card__fonte a{color:var(--wine-700); font-weight:600; text-decoration:underline; text-underline-offset:2px}
.gp-card__fonte .icon{width:16px; height:16px; flex:0 0 auto; margin-top:.15rem}
