/* Paleta vínica: notas de ouro, xisto e verde */
:root{
  --vin-ink: #e9e6dc;
  --vin-bg: rgba(255,255,255,.03);
  --vin-ouro: var(--gold);
  --vin-xisto: #2a354c;
}

/* ===== SEÇÃO 1 — Panorama & Terroir (3 fotos) ===== */
.vin-panorama{ padding: 22px 0 10px; }
.vin-iso{
  position: relative; height: 110px; margin: 6px 0 12px;
  border: 1px solid rgba(217,182,111,.12); border-radius: 14px; overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02));
}
/* isóbaras: linhas suaves com máscara nas bordas para não “cortar” texto */
.vin-iso::before,
.vin-iso::after{
  content:""; position:absolute; inset: 8px; border-radius: 12px;
  background:
    repeating-linear-gradient(165deg, rgba(217,182,111,.12) 0 2px, transparent 2px 22px),
    repeating-linear-gradient(15deg, rgba(143,180,201,.12) 0 2px, transparent 2px 28px);
  -webkit-mask-image: linear-gradient(180deg, #000 0 75%, transparent 100%);
          mask-image: linear-gradient(180deg, #000 0 75%, transparent 100%);
}
.vin-iso::after{ opacity:.4; transform: translateY(6px); }

.vin-terroir{
  display: grid; gap: 14px; grid-template-columns: repeat(12, 1fr);
}
.vin-tile{
  grid-column: span 4;
  background: var(--vin-bg); border: 1px solid rgba(217,182,111,.16);
  border-radius: 16px; padding: 12px; box-shadow: var(--shadow-sm);
  transition: transform .25s var(--easing), border-color .25s;
}
.vin-tile:hover{ transform: translateY(-3px); border-color: rgba(217,182,111,.28); }
.vin-nota{
  margin-top: 10px; color: var(--vin-ink);
  border: 1px dashed rgba(217,182,111,.25); border-radius: 12px; padding: 10px 12px;
}

/* ===== SEÇÃO 2 — Castas (2 fotos) ===== */
.vin-castas{ padding: 22px 0 10px; }
.vin-castas-wrap{
  display: grid; gap: 16px; grid-template-columns: 1fr .9fr; align-items: start;
  border: 1px solid rgba(217,182,111,.12); border-radius: 16px; padding: 12px; background: var(--vin-bg);
}
.vin-casta-tokens{
  list-style: none; margin: 0; padding: 0; display: grid; gap: 10px;
}
.vin-casta-tokens li{
  display: grid; gap: 2px; align-content: start;
  padding: 10px 12px; border-radius: 12px;
  border: 1px solid rgba(217,182,111,.16); background: rgba(255,255,255,.03);
  transform: rotate(-1deg); transition: transform .25s var(--easing), box-shadow .25s;
}
.vin-casta-tokens li:hover{ transform: rotate(0deg) translateY(-2px); box-shadow: 0 16px 36px rgba(0,0,0,.35); }
.vin-casta-tokens b{ color: var(--vin-ouro); }
.vin-casta-tokens span{ color: var(--vin-ink); font-size: .95rem; }

.vin-castas-fotos{ display: grid; gap: 10px; }
.vin-castas-fotos figure{
  margin: 0; padding: 10px; border-radius: 12px; background: var(--vin-bg);
  border: 1px solid rgba(217,182,111,.16);
}

/* ===== SEÇÃO 3 — Métodos Antigos (2 fotos) ===== */
.vin-metodos{ padding: 22px 0 10px; }
.vin-friso{
  position: relative; height: 90px; margin: 6px 0 12px;
  border: 1px solid rgba(217,182,111,.12); border-radius: 14px; overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02)),
    repeating-linear-gradient(135deg, rgba(217,182,111,.10) 0 6px, transparent 6px 12px),
    repeating-linear-gradient(45deg, rgba(217,182,111,.08) 0 6px, transparent 6px 12px);
  -webkit-mask-image: linear-gradient(180deg, #000 0 78%, transparent 100%);
          mask-image: linear-gradient(180deg, #000 0 78%, transparent 100%);
}
.vin-met-grid{
  display: grid; gap: 14px; grid-template-columns: repeat(12, 1fr); align-items: start;
}
.vin-met-item{
  grid-column: span 6;
  background: var(--vin-bg); border: 1px solid rgba(217,182,111,.16);
  border-radius: 16px; padding: 12px; box-shadow: var(--shadow-sm);
  transition: transform .25s var(--easing), border-color .25s;
}
.vin-met-item:hover{ transform: translateY(-3px); border-color: rgba(217,182,111,.28); }
.vin-met-nota{
  margin-top: 10px; color: var(--vin-ink);
  border: 1px dashed rgba(217,182,111,.25); border-radius: 12px; padding: 10px 12px;
}

/* ===== Responsivo (1–3) ===== */
@media (max-width: 1024px){
  .vin-tile{ grid-column: span 6; }
  .vin-castas-wrap{ grid-template-columns: 1fr; }
  .vin-met-item{ grid-column: span 12; }
}
@media (max-width: 720px){
  .vin-iso{ height: 96px; }
  .vin-friso{ height: 84px; }
  .vin-tile{ grid-column: 1 / -1; }
}
/* ===== SEÇÃO 4 — Regiões Atlânticas (2 fotos) ===== */
.vin-atlantico{ padding: 22px 0 10px; }
.atl-board{
  position: relative; height: 100px; margin: 6px 0 12px;
  border: 1px solid rgba(217,182,111,.12); border-radius: 14px; overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02));
}
/* brisas suaves com máscara para não invadir o texto abaixo */
.atl-board::before,
.atl-board::after{
  content:""; position:absolute; inset:8px; border-radius:12px;
  background:
    repeating-linear-gradient(165deg, rgba(143,180,201,.12) 0 2px, transparent 2px 26px),
    repeating-linear-gradient(15deg, rgba(217,182,111,.10) 0 2px, transparent 2px 32px);
  animation: vento 10s linear infinite;
  -webkit-mask-image: linear-gradient(180deg, #000 0 78%, transparent 100%);
          mask-image: linear-gradient(180deg, #000 0 78%, transparent 100%);
}
.atl-board::after{ opacity:.5; animation-duration: 14s; transform: translateY(4px); }

@keyframes vento{ to{ transform: translateX(12%);} }

.atl-grid{ display: grid; gap: 14px; grid-template-columns: repeat(12, 1fr); }
.atl-item{
  grid-column: span 6;
  background: var(--vin-bg); border: 1px solid rgba(217,182,111,.16);
  border-radius: 16px; padding: 12px; box-shadow: var(--shadow-sm);
  transition: transform .25s var(--easing), border-color .25s;
}
.atl-item:hover{ transform: translateY(-3px); border-color: rgba(217,182,111,.28); }
.atl-nota{
  margin-top: 10px; color: var(--vin-ink);
  border: 1px dashed rgba(217,182,111,.25); border-radius: 12px; padding: 10px 12px;
}

/* ===== SEÇÃO 5 — Espumantes & Fortificados (3 fotos) ===== */
.vin-bolhas{ padding: 22px 0 10px; }
.bolha-canvas{
  position: relative; height: 110px; margin: 6px 0 12px;
  border: 1px solid rgba(217,182,111,.12); border-radius: 14px; overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02));
}
.bolha-canvas::before,
.bolha-canvas::after{
  content:""; position:absolute; inset:8px; border-radius:12px;
  background:
    radial-gradient(10px 10px at 10% 70%, rgba(217,182,111,.35), transparent 60%),
    radial-gradient(8px 8px   at 18% 40%, rgba(217,182,111,.25), transparent 60%),
    radial-gradient(12px 12px at 34% 60%, rgba(217,182,111,.30), transparent 60%),
    radial-gradient(9px 9px   at 52% 30%, rgba(217,182,111,.28), transparent 60%),
    radial-gradient(10px 10px at 70% 50%, rgba(217,182,111,.32), transparent 60%),
    radial-gradient(7px 7px   at 84% 35%, rgba(217,182,111,.25), transparent 60%);
  animation: borbulha 9s ease-in-out infinite;
  -webkit-mask-image: linear-gradient(180deg, #000 0 76%, transparent 100%);
          mask-image: linear-gradient(180deg, #000 0 76%, transparent 100%);
}
.bolha-canvas::after{ animation-duration: 12s; opacity:.5; }

@keyframes borbulha{
  0%,100%{ transform: translateY(6px) scale(.98); }
  50%{ transform: translateY(-6px) scale(1.02); }
}

.bolha-grid{ display: grid; gap: 14px; grid-template-columns: repeat(12, 1fr); }
.bolha-item{
  grid-column: span 4;
  background: var(--vin-bg); border: 1px solid rgba(217,182,111,.16);
  border-radius: 16px; padding: 12px; box-shadow: var(--shadow-sm);
  transition: transform .25s var(--easing), border-color .25s;
}
.bolha-item:hover{ transform: translateY(-3px); border-color: rgba(217,182,111,.28); }
.bolha-nota{
  margin-top: 10px; color: var(--vin-ink);
  border: 1px dashed rgba(217,182,111,.25); border-radius: 12px; padding: 10px 12px;
}

/* ===== SEÇÃO 6 — Maturação & Serviço (2 fotos) ===== */
.vin-maturacao{ padding: 22px 0 10px; }
.barrica-friso{
  position: relative; height: 90px; margin: 6px 0 12px;
  border: 1px solid rgba(217,182,111,.12); border-radius: 14px; overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02)),
    repeating-linear-gradient(90deg, rgba(143,180,201,.08) 0 6px, transparent 6px 12px),
    repeating-linear-gradient(0deg, rgba(217,182,111,.10) 0 6px, transparent 6px 12px);
  -webkit-mask-image: linear-gradient(180deg, #000 0 78%, transparent 100%);
          mask-image: linear-gradient(180deg, #000 0 78%, transparent 100%);
}

.mat-grid{ display: grid; gap: 14px; grid-template-columns: repeat(12, 1fr); }
.mat-item{
  grid-column: span 6;
  background: var(--vin-bg); border: 1px solid rgba(217,182,111,.16);
  border-radius: 16px; padding: 12px; box-shadow: var(--shadow-sm);
  transition: transform .25s var(--easing), border-color .25s;
}
.mat-item:hover{ transform: translateY(-3px); border-color: rgba(217,182,111,.28); }
.mat-nota{
  margin-top: 10px; color: var(--vin-ink);
  border: 1px dashed rgba(217,182,111,.25); border-radius: 12px; padding: 10px 12px;
}

/* ===== Responsivo (4–6) ===== */
@media (max-width: 1024px){
  .atl-item{ grid-column: span 12; }
  .bolha-item{ grid-column: span 6; }
  .mat-item{ grid-column: span 12; }
}
@media (max-width: 720px){
  .atl-board{ height: 92px; }
  .bolha-canvas{ height: 96px; }
  .barrica-friso{ height: 84px; }
  .bolha-item{ grid-column: 1 / -1; }
}
/* ===== SEÇÃO 7 — Douro (3 fotos, carrossel) ===== */
.vin-douro{ padding: 22px 0 10px; }
.douro-canvas{
  position: relative; height: 100px; margin: 6px 0 12px;
  border: 1px solid rgba(217,182,111,.12); border-radius: 14px; overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02));
}
.douro-canvas::before{
  content:""; position:absolute; inset: 8px; border-radius: 12px;
  background:
    repeating-linear-gradient(0deg, rgba(143,180,201,.10) 0 2px, transparent 2px 22px),
    repeating-linear-gradient(90deg, rgba(217,182,111,.10) 0 2px, transparent 2px 26px);
  /* máscara: a faixa some no fim para não conflitar com texto */
  -webkit-mask-image: linear-gradient(180deg, #000 0 76%, transparent 100%);
          mask-image: linear-gradient(180deg, #000 0 76%, transparent 100%);
}
.vin7-head{ display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:8px; }
.vin7-head .hint{ font-size:.9rem; opacity:.8; }

.vin7-track{
  display:grid; grid-auto-flow:column; grid-auto-columns:min(310px, 80%);
  gap:14px; padding: 10px;
  overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory;
  border:1px solid rgba(217,182,111,.12); border-radius:16px;
  background: var(--vin-bg);
}
.vin7-card{ scroll-snap-align:start; }
.vin7-card figure{
  margin:0; padding:10px; border-radius:12px; background: var(--vin-bg);
  border:1px solid rgba(217,182,111,.16); transition: transform .25s var(--easing), box-shadow .25s;
}
.vin7-card figure:hover{ transform: translateY(-3px); box-shadow: 0 16px 36px rgba(0,0,0,.35); }

/* ===== SEÇÃO 8 — Dão & Bairrada ===== */
.vin-interior{ padding: 22px 0 10px; }
.inter-wrap{
  display:grid; gap:16px; grid-template-columns: .9fr 1fr; align-items:start;
  border:1px solid rgba(217,182,111,.12); border-radius:16px; padding:12px; background: var(--vin-bg);
}
.inter-tokens{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.inter-tokens li{
  padding:10px 12px; border-radius:12px; background: rgba(255,255,255,.03);
  border:1px solid rgba(217,182,111,.16); transform: rotate(-1deg);
  transition: transform .25s var(--easing), box-shadow .25s;
}
.inter-tokens li:hover{ transform: rotate(0deg) translateY(-2px); box-shadow: 0 16px 36px rgba(0,0,0,.35); }
.inter-tokens b{ color: var(--vin-ouro); }
.inter-tokens span{ color: var(--vin-ink); }

.inter-fotos{ display:grid; gap:10px; }
.inter-fotos figure{
  margin:0; padding:10px; border-radius:12px; background: var(--vin-bg);
  border:1px solid rgba(217,182,111,.16);
}

/* ===== SEÇÃO 9 — Alentejo & Tejo ===== */
.vin-planicies{ padding: 22px 0 10px; }
.plan-board{
  position: relative; height: 90px; margin: 6px 0 12px;
  border: 1px solid rgba(217,182,111,.12); border-radius: 14px; overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02)),
    radial-gradient(600px 220px at 5% -40%, rgba(217,182,111,.08), transparent 60%);
}
.plan-board::before{
  /* “mapa térmico” suave, com máscara para não cruzar o conteúdo seguinte */
  content:""; position:absolute; inset:8px; border-radius:12px;
  background:
    repeating-linear-gradient(0deg, rgba(217,182,111,.10) 0 6px, transparent 6px 12px),
    repeating-linear-gradient(90deg, rgba(143,180,201,.10) 0 6px, transparent 6px 12px);
  -webkit-mask-image: linear-gradient(180deg, #000 0 78%, transparent 100%);
          mask-image: linear-gradient(180deg, #000 0 78%, transparent 100%);
  opacity:.85;
}
.plan-grid{ display:grid; gap:14px; grid-template-columns: repeat(12, 1fr); }
.plan-item{
  grid-column: span 6;
  background: var(--vin-bg); border:1px solid rgba(217,182,111,.16);
  border-radius:16px; padding:12px; box-shadow: var(--shadow-sm);
  transition: transform .25s var(--easing), border-color .25s;
}
.plan-item:hover{ transform: translateY(-3px); border-color: rgba(217,182,111,.28); }

/* ===== Responsivo (7–9) ===== */
@media (max-width: 1024px){
  .inter-wrap{ grid-template-columns: 1fr; }
  .plan-item{ grid-column: span 12; }
}
@media (max-width: 720px){
  .vin7-track{ grid-auto-columns: 85%; }
  .douro-canvas{ height: 96px; }
  .plan-board{ height: 84px; }
}
/* глобально для этой страницы: фото не шире 350px */
.site-main figure > img{ display:block; width:100%; max-width:350px; height:auto; margin:0 auto; }

/* ===== SEÇÃO 10 — Ilhas Atlânticas (3 fotos) ===== */
.vin-ilhas{ padding: 22px 0 10px; }
.ilhas-canvas{
  position: relative; height: 110px; margin: 6px 0 12px;
  border: 1px solid rgba(217,182,111,.12); border-radius: 14px; overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02));
}
.ilhas-canvas::before{
  /* anéis vulcânicos subtis com máscara para não cruzar o conteúdo seguinte */
  content:""; position:absolute; inset:8px; border-radius:12px;
  background:
    radial-gradient(closest-side, rgba(143,180,201,.12), transparent 70%) center/40% 70% no-repeat,
    radial-gradient(closest-side, rgba(217,182,111,.10), transparent 70%) 70% 60%/30% 60% no-repeat,
    radial-gradient(closest-side, rgba(143,180,201,.12), transparent 70%) 25% 35%/22% 50% no-repeat;
  -webkit-mask-image: linear-gradient(180deg, #000 0 76%, transparent 100%);
          mask-image: linear-gradient(180deg, #000 0 76%, transparent 100%);
  opacity:.85;
}
.ilhas-grid{ display:grid; gap:14px; grid-template-columns: repeat(12, 1fr); }
.ilhas-item{
  grid-column: span 4;
  background: var(--vin-bg); border: 1px solid rgba(217,182,111,.16);
  border-radius: 16px; padding: 12px; box-shadow: var(--shadow-sm);
  transition: transform .25s var(--easing), border-color .25s;
}
.ilhas-item:hover{ transform: translateY(-3px); border-color: rgba(217,182,111,.28); }

/* ===== SEÇÃO 11 — Península de Setúbal (2 fotos) ===== */
.vin-setubal{ padding: 22px 0 10px; }
.set-board{
  position: relative; height: 100px; margin: 6px 0 12px;
  border: 1px solid rgba(217,182,111,.12); border-radius: 14px; overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02));
}
.set-board::before,
.set-board::after{
  /* ondas suaves do Sado/Arrábida, discretas e mascaradas */
  content:""; position:absolute; inset:8px; border-radius:12px;
  background:
    repeating-linear-gradient(165deg, rgba(143,180,201,.12) 0 2px, transparent 2px 28px),
    repeating-linear-gradient(15deg, rgba(217,182,111,.10) 0 2px, transparent 2px 28px);
  animation: vento 12s linear infinite;
  -webkit-mask-image: linear-gradient(180deg, #000 0 78%, transparent 100%);
          mask-image: linear-gradient(180deg, #000 0 78%, transparent 100%);
}
.set-board::after{ opacity:.45; animation-duration: 16s; transform: translateY(4px); }

.set-grid{ display:grid; gap:14px; grid-template-columns: repeat(12, 1fr); }
.set-item{
  grid-column: span 6; background: var(--vin-bg);
  border:1px solid rgba(217,182,111,.16); border-radius:16px; padding:12px;
  transition: transform .25s var(--easing), border-color .25s;
}
.set-item:hover{ transform: translateY(-3px); border-color: rgba(217,182,111,.28); }

/* ===== SEÇÃO 12 — Altitude Interior (2 fotos) ===== */
.vin-altitude{ padding: 22px 0 10px; }
.alt-profile{
  position: relative; height: 100px; margin: 6px 0 12px;
  border: 1px solid rgba(217,182,111,.12); border-radius: 14px; overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02));
}
.alt-profile::before{
  /* silhueta de serra: linhas quebradas com leve máscara nas pontas */
  content:""; position:absolute; inset:8px; border-radius:12px;
  background:
    linear-gradient( to right, rgba(217,182,111,.35) 0 0 ) left center / 100% 2px no-repeat;
  -webkit-mask-image: linear-gradient(90deg, transparent 0 16px, #000 16px calc(100% - 16px), transparent calc(100% - 16px));
          mask-image: linear-gradient(90deg, transparent 0 16px, #000 16px calc(100% - 16px), transparent calc(100% - 16px));
}
.alt-profile::after{
  /* pontos como picos */
  content:""; position:absolute; left:12%; top:48%;
  width:76%; height:0; border-top:2px dashed rgba(217,182,111,.35);
  -webkit-mask-image: linear-gradient(90deg, transparent 0 18px, #000 18px calc(100% - 18px), transparent calc(100% - 18px));
          mask-image: linear-gradient(90deg, transparent 0 18px, #000 18px calc(100% - 18px), transparent calc(100% - 18px));
  opacity:.6;
}

.alt-grid{ display:grid; gap:14px; grid-template-columns: repeat(12, 1fr); }
.alt-item{
  grid-column: span 6;
  background: var(--vin-bg); border:1px solid rgba(217,182,111,.16);
  border-radius:16px; padding:12px; box-shadow: var(--shadow-sm);
  transition: transform .25s var(--easing), border-color .25s;
}
.alt-item:hover{ transform: translateY(-3px); border-color: rgba(217,182,111,.28); }

/* ===== Responsivo (10–12) ===== */
@media (max-width: 1024px){
  .ilhas-item{ grid-column: span 6; }
  .set-item, .alt-item{ grid-column: span 12; }
}
@media (max-width: 720px){
  .ilhas-canvas, .set-board, .alt-profile{ height: 92px; }
  .ilhas-item{ grid-column: 1 / -1; }
}
/* ===== SEÇÃO 13 — Serviço & Harmonização (2 fotos) ===== */
.vin-servico{ padding: 22px 0 10px; }
.serv-wrap{
  display: grid; gap: 16px; grid-template-columns: .9fr 1fr; align-items: start;
  border: 1px solid rgba(217,182,111,.12); border-radius: 16px; padding: 12px; background: var(--vin-bg);
}
.serv-tokens{
  list-style: none; margin: 0; padding: 0; display: grid; gap: 10px;
}
.serv-tokens li{
  padding: 10px 12px; border-radius: 12px;
  border: 1px solid rgba(217,182,111,.16); background: rgba(255,255,255,.03);
  transform: rotate(-1deg);
  transition: transform .25s var(--easing), box-shadow .25s;
}
.serv-tokens li:hover{ transform: rotate(0deg) translateY(-2px); box-shadow: 0 16px 36px rgba(0,0,0,.35); }
.serv-tokens b{ color: var(--vin-ouro); }
.serv-tokens span{ color: var(--vin-ink); }

.serv-fotos{ display: grid; gap: 10px; }
.serv-fotos figure{
  margin: 0; padding: 10px; border-radius: 12px; background: var(--vin-bg);
  border: 1px solid rgba(217,182,111,.16);
}
.serv-nota{
  margin-top: 10px; color: var(--vin-ink);
  border: 1px dashed rgba(217,182,111,.25); border-radius: 12px; padding: 10px 12px;
}

/* ===== SEÇÃO 14 — Passagem (sem fotos) ===== */
.vin-passagem{ padding: 22px 0 18px; }
.vpass-grid{ display: grid; gap: 16px; grid-template-columns: repeat(12, 1fr); }
.vpass-card{
  grid-column: span 6; position: relative; overflow: hidden; text-decoration: none;
  border: 1px solid rgba(217,182,111,.16); border-radius: 16px;
  background: rgba(255,255,255,.03);
  transition: transform .25s var(--easing), box-shadow .25s, border-color .25s;
  color: var(--vin-ink);
}
.vpass-card::before{
  content:""; position: absolute; right: -28px; top: -28px; width: 120px; height: 120px; border-radius: 50%;
  background:
    conic-gradient(from 0deg, rgba(217,182,111,.18) 0 25%, transparent 25% 50%, rgba(217,182,111,.18) 50% 75%, transparent 75% 100%),
    radial-gradient(closest-side, rgba(255,255,255,.04), rgba(0,0,0,.35));
  border: 1px solid rgba(217,182,111,.22);
  opacity: .7; filter: blur(.2px);
}
.vpass-card:hover{ transform: translateY(-3px); border-color: rgba(217,182,111,.28); box-shadow: 0 16px 36px rgba(0,0,0,.35); }
.vpass-inner{ padding: 14px 16px 18px; position: relative; z-index: 1; }
.vpass-inner h3{ margin: 0 0 6px; font-family: "Noto Serif", serif; }
.vpass-inner p{ margin: 0 0 10px; color: #e7e1d4; }
.vpass-cta{
  display: inline-block; font-size: .9rem; color: var(--vin-ouro);
  border: 1px solid rgba(217,182,111,.35); border-radius: 999px; padding: 6px 10px;
}
.vpass-cta:hover{ background: rgba(217,182,111,.12); }

/* variações */
.vpass-coz{ background: linear-gradient(180deg, rgba(160,120,120,.08), rgba(255,255,255,.03)); }
.vpass-arq{ background: linear-gradient(180deg, rgba(139,160,190,.06), rgba(255,255,255,.03)); }

/* ===== Responsivo (13–14) ===== */
@media (max-width: 1024px){
  .serv-wrap{ grid-template-columns: 1fr; }
  .vpass-card{ grid-column: span 12; }
}
@media (max-width: 720px){
  .vpass-card{ grid-column: 1 / -1; }
}
