/* ── ROOT ───────────────────────────────────────────── */
:root {
  --bg:       #0b0c0e;
  --bg2:      #111214;
  --bg3:      #18191c;
  --border:   rgba(255,255,255,.07);
  --accent:   #E8BE34;
  --accent2:  #ffad2b;
  --text:     #f0f0f0;
  --muted:    #8a8a8a;
  --radius:   14px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Outfit',sans-serif;
  background:var(--bg);
  color:var(--text);
  overflow-x:hidden;
}

/* ── SCROLL OFFSET (compensar navbar fixa) ──────────── */
#inicio, #historia, #historia-putei, #destaques,
#edicao, #parcerias, #imprensa, #contactos, #faqs {
  scroll-margin-top: 85px;
}
 
/* ── NAVBAR ─────────────────────────────────────────── */
.site-nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:.75rem 0;
  background:rgba(11,12,14,.85);
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--border);
  transition:background .3s;
}
.navbar-brand{
  font-size:1.25rem;font-weight:700;letter-spacing:-.5px;
  color:var(--text)!important;text-decoration:none;
}
.navbar-brand span{color:var(--accent)}
.nav-logo{
  height:58px;width:auto;
  object-fit:contain;
  display:block;
}
.nav-link{
  color:var(--muted)!important;font-size:1.2rem;font-weight:500;
  letter-spacing:.03em;transition:color .2s;padding:.4rem .9rem!important;
}
.nav-link:hover,.nav-link.active{color:var(--text)!important}
.dropdown-menu{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--radius);padding:.5rem;margin-top:.5rem!important;
}
.dropdown-item{
  color:var(--muted);font-size:.83rem;border-radius:8px;padding:.45rem .8rem;
}
.dropdown-item:hover{background:rgba(255,255,255,.06);color:var(--text)}
.navbar-toggler-icon{
  filter:invert(1)
}

/* ── HERO ───────────────────────────────────────────── */
#inicio {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  padding-top: 5rem;
  background-color: #0b0c0e;
}

/* Tratamento da Imagem */
.hero-image-wrap {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(11,12,14,0.6), rgba(11,12,14,0.9));
  z-index: 1;
}

/* Elementos Visuais */
.hero-glow {
  position: absolute;
  top: -20%;
  left: 50%;
  transform: translateX(-50%);
  width: 700px;
  height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(232,255,71,.12) 0%, transparent 70%);
  pointer-events: none;
  z-index: 1;
}

.hero-dots {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none;
  opacity: .5;
  z-index: 1;
}

/* Tipografia */
.hero-title {
  font-size: clamp(3.5rem, 10vw, 8.5rem);
  font-weight: 900;
  line-height: .95;
  letter-spacing: -.04em;
  color: #ffffff;
  position: relative;
  z-index: 2;
}

.hero-title .outline {
  -webkit-text-stroke: 2px #ffffff;
  color: transparent;
}

.hero-title .accent-word {
  color: #E8BE34; 
}

.hero-year {
  font-size: .9rem;
  font-weight: 500;
  letter-spacing: .18em;
  color: #cccccc;
  text-transform: uppercase;
}

.hero-desc {
  font-size: 1.1rem;
  color: #cccccc;
  line-height: 1.7;
}

/* Botões */
.btn-accent {
  display: inline-block;
  padding: .7rem 1.6rem;
  background: #E8BE34;
  color: #0b0c0e;
  font-weight: 700;
  font-size: .85rem;
  border-radius: 50px;
  text-decoration: none;
  transition: all .2s;
}

.btn-light-outline {
  display: inline-block;
  padding: .7rem 1.6rem;
  border: 1px solid rgba(255,255,255,.2);
  color: #ffffff;
  font-weight: 500;
  font-size: .85rem;
  border-radius: 50px;
  text-decoration: none;
  transition: all .2s;
}

.btn-accent:hover, .btn-light-outline:hover {
  transform: translateY(-2px);
  opacity: 0.9;
}

/* ── STATS + HISTÓRIA COMBINADOS ────────────────────── */
.sec-stats-historia{
  background:var(--bg);
  padding:6rem 0;
}
.stats-historia-grid{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:3rem;
  align-items:start;
}
@media(max-width:860px){
  .stats-historia-grid{grid-template-columns:1fr}
}

/* stats column */
.stats-col{
  display:flex;flex-direction:column;gap:1rem;
  position:sticky;top:6rem;
}
.stat-card{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--radius);padding:1.5rem 1.5rem 1.25rem;
  text-align:center;
  transition:border-color .25s;
}
.stat-card:hover{border-color:rgba(232,255,71,.25)}
.stat-card .stat-num{font-size:2.4rem;font-weight:900;color:var(--accent);line-height:1}
.stat-card .stat-label{font-size:.72rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-top:.35rem}


/* ── BOTÕES HISTÓRIA ────────────────────────────────── */
.historia-btn {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1.5rem;
  text-decoration: none;
  color: var(--text);
  transition: border-color .25s, transform .25s, background .25s;
  cursor: pointer;
}
.historia-btn:hover {
  border-color: var(--accent);
  background: rgba(232,190,52,.06);
  transform: translateY(-3px);
  color: var(--text);
}
.historia-btn__icon {
  font-size: 2rem;
  flex-shrink: 0;
  width: 52px; height: 52px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.05);
  border-radius: 50%;
}
.historia-btn__text {
  font-size: .9rem;
  line-height: 1.4;
}
.historia-btn__text strong {
  font-size: 1.05rem;
  color: var(--accent);
  display: block;
}
 

.stats-bar{
  background:var(--bg3);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.stat-cell{
  padding:2rem 1rem;text-align:center;
  border-right:1px solid var(--border);
}
.stat-cell:last-child{border-right:none}
.stat-num{font-size:2.2rem;font-weight:900;color:var(--accent);line-height:1}
.stat-label{font-size:.75rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-top:.3rem}

/* ── SECTION COMMONS ────────────────────────────────── */
section,.section-block{padding:6rem 0}
.eyebrow{
  font-size:.90rem;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--accent);
}
.section-title{
  font-size:clamp(1.8rem,4vw,3rem);font-weight:900;
  line-height:1.05;letter-spacing:-.03em;
}
.section-heading{
  font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;
  letter-spacing:-.03em;line-height:1.1;
}
.body-text{color:var(--muted);font-size:1.1rem;line-height:1.75;text-align: justify}

/* ── HISTÓRIA ───────────────────────────────────────── */
#historia{background:var(--bg)}
.img-box{
  border-radius:var(--radius);aspect-ratio:1;
  display:flex;align-items:center;justify-content:center;
  font-size:2.5rem;overflow:hidden;
}
.img-box img{width:100%;height:100%;object-fit:cover}
.img-box.c1{background:#1a1c20}
.img-box.c2{background:#141618}
.img-box.c3{background:#1e1f23}
.img-box.c4{background:#16181b}

/* ── História Full ───────────────────────────────────────── */
#historia-puto{background:var(--bg2)}
.historia-full-layout {
  display: flex;
  gap: 3rem;
  align-items: flex-start;
}
 
.historia-text-col {
  flex: 0 0 58%;
  max-width: 58%;
}
 
.historia-img-col {
  flex: 0 0 38%;
  max-width: 38%;

}
 
.historia-img-single {
  width: 100%;
  height: 520px;
  object-fit: cover;
  border-radius: var(--radius);
  display: block;
}
 
@media(max-width: 768px) {
  .historia-full-layout {
    flex-direction: column;
  }
  .historia-text-col,
  .historia-img-col {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .historia-img-single {
    height: 260px;
  }
}

/* ── DIVIDER ────────────────────────────────────────── */
.section-divider{
  height:1px;background:var(--border);
  margin:0 2rem;
}

/* ── 1ª EDIÇÃO ──────────────────────────────────────── */
#edicao{background:var(--bg)}
.page-hero-sub{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--radius);padding:3rem;margin-bottom:4rem;
  position:relative;overflow:hidden;
}
.page-hero-sub::before{
  content:'1ª';
  position:absolute;right:2rem;top:50%;transform:translateY(-50%);
  font-size:10rem;font-weight:900;
  color:rgba(232,255,71,.05);line-height:1;pointer-events:none;
}
.edicao-meta{
  display:flex;flex-wrap:wrap;gap:.75rem;
}
.meta-pill{
  background:rgba(255,255,255,.05);border:1px solid var(--border);
  border-radius:50px;padding:.35rem 1rem;
  font-size:.78rem;color:var(--muted);
}
.meta-pill strong{color:var(--text)}

.stats-row{
  display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;
  margin-bottom:3rem;
}
@media(max-width:768px){.stats-row{grid-template-columns:repeat(2,1fr)}}
.stat-box{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--radius);padding:1.5rem 1rem;text-align:center;
}
.stat-box .num{font-size:2rem;font-weight:900;color:var(--accent);line-height:1}
.stat-box .lbl{font-size:.72rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-top:.3rem}

/* ── ORGANIZAÇÃO ─────────────────────────────────────── */
.org-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;
}
.org-card{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--radius);padding:1.5rem;
  display:flex;align-items:center;gap:1rem;
  transition:border-color .2s;
}
.org-card:hover{border-color:rgba(232,255,71,.2)}
.org-avatar{
  width:42px;height:42px;border-radius:50%;
  background:rgba(255,255,255,.06);
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;flex-shrink:0;
  overflow:hidden;
}
.org-avatar img{
  width:100%;height:100%;
  object-fit:cover;object-position:center;
  border-radius:50%;
  display:block;
}
.org-name{font-weight:600;font-size:.9rem}
.org-role{font-size:.75rem;color:var(--muted)}
.org-year{font-size:.7rem;color:var(--accent);margin-top:.2rem}

/* ── FOTO EQUIPA ─────────────────────────────────────────── */
.equipa-foto-wrap {
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--border);
}
 
.equipa-foto {
  width: 100%;
  max-height: 500px;
  object-fit: cover;
  display: block;
}

/* ── MATERIAIS (inscrições, Poster, Convite) ────────────────────── */
.materiais-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
 
.material-card {
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1.5rem;
  text-align: center;
  transition: border-color .25s, transform .25s;
}
 
.material-card:hover {
  border-color: rgba(232,255,71,.25);
  transform: translateY(-3px);
}
 
.material-img-wrap {
  width: 100%;
  height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  background: var(--bg2);
  border-radius: calc(var(--radius) - 4px);
  overflow: hidden;
}
 
.material-img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}
 
.material-label {
  font-weight: 700;
  font-size: .9rem;
  color: var(--text);
}

/* ── VÍDEO + DESCRIÇÃO ───────────────────────────────────── */
.video-desc-layout {
  display: flex;
  gap: 2.5rem;
  align-items: center;
}
 
.video-desc-layout .video-wrapper {
  flex: 0 0 58%;
  max-width: 58%;
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--bg3);
  border: 1px solid var(--border);
}
 
.video-player {
  width: 100%;
  height: 340px;
  display: block;
  background: #000;
}
 
.video-desc {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
 
.video-desc-title {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--accent);
  margin-bottom: .75rem;
}
 
@media(max-width: 768px) {
  .video-desc-layout {
    flex-direction: column;
  }
  .video-desc-layout .video-wrapper {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .video-player {
    height: 220px;
  }
}
 
/* ── EM BREVE placeholder (vídeos) ──────────────────────── */
.em-breve-placeholder {
  width: 100%;
  height: 340px;
  min-height: 340px;
  background: #000;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  border-radius: var(--radius);
}
 
.em-breve-icon {
  font-size: 3rem;
  opacity: .5;
}
 
.em-breve-text {
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: .08em;
  opacity: .8;
}
 
.video-wrapper:has(.em-breve-placeholder) {
  background: #000;
  border: none;
  height: 340px;
  min-height: 340px;
}

/* ── OPINIÃO 1ª EDIÇÃO ───────────────────────────────────── */
.opiniao-card {
  padding-top: 6rem;
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 3rem;
  text-align: center;
}

/* ── CAROUSEL ───────────────────────────────────────── */
.carousel-wrapper{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--radius);overflow:hidden;
  position:relative;
}
.carousel-item-custom{
  aspect-ratio:16/9;background:#1a1c20;
  display:flex;align-items:center;justify-content:center;
  font-size:3rem;color:rgba(255,255,255,.15);
  position:relative;
}
.carousel-item-custom.c1{background:#171a1e}
.carousel-item-custom.c2{background:#1a1d22}
.carousel-item-custom.c3{background:#191c20}
.carousel-item-custom.c4{background:#1c1f24}
.carousel-item-custom.c5{background:#161920}
.carousel-item-custom.c6{background:#161920}
.carousel-item-custom.c7{background:#161920}
.carousel-item-custom.c8{background:#161920}
.carousel-counter{
  position:absolute;top:1rem;right:1.2rem;z-index:10;
  font-size:.75rem;font-weight:600;color:rgba(255,255,255,.5);
  letter-spacing:.05em;
}
.carousel-control-prev,.carousel-control-next{
  width:10%;
}
.carousel-caption{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(transparent,rgba(0,0,0,.7));
  padding:2rem 1.5rem 1.5rem;text-align:left;
}
.carousel-caption h3{font-size:1.1rem;font-weight:700;margin-bottom:.25rem}
.carousel-caption p{font-size:.82rem;color:rgba(255,255,255,.7);margin:0}
.carousel-indicators [data-bs-target]{
  background-color:var(--accent);width:6px;height:6px;
  border-radius:50%;border:none;opacity:.4;
}
.carousel-indicators .active{opacity:1}

/* ── EM BREVE GALERIA ────────────────────────────────────── */
.em-breve-galeria {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
}
 
.em-breve-galeria-text {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: .08em;
  opacity: .7;
}

/* ── VALORES ─────────────────────────────────────────── */
.valor-card{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--radius);padding:1.75rem;height:100%;
  transition:border-color .25s,transform .25s;
}
.valor-card:hover{border-color:rgba(232,255,71,.2);transform:translateY(-3px)}
.valor-icon{font-size:1.75rem;margin-bottom:1rem}
.valor-title{font-weight:700;margin-bottom:.5rem}
.valor-text{font-size:.85rem;color:var(--muted);line-height:1.7}

/* ── FOOTER ─────────────────────────────────────────── */
footer{border-top:1px solid var(--border)}
.footer-top{padding:3.5rem 0}
.footer-brand{font-size:1.3rem;font-weight:700;margin-bottom:.35rem}
.footer-brand span{color:var(--accent)}
.footer-school{font-size:.78rem;color:var(--muted)}
.footer-desc{font-size:.82rem;color:var(--muted);line-height:1.7}
.footer-heading{
  font-size:.7rem;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;color:var(--muted);margin-bottom:.9rem;
}
.footer-links{list-style:none;padding:0}
.footer-links li{margin-bottom:.5rem}
.footer-links a{
  color:var(--muted);text-decoration:none;font-size:.85rem;
  transition:color .2s;
}
.footer-links a:hover{color:var(--text)}
.footer-apoio{
  border-top:1px solid rgba(255,255,255,.07);
  padding:1.5rem 0;
  text-align:center;
}
.footer-apoio__label{
  font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);margin-bottom:1rem;
}
.footer-apoio__logos{
  display:flex;justify-content:center;align-items:center;gap:2rem;flex-wrap:wrap;
}
.footer-apoio__img{
  height:48px;width:auto;
  filter:brightness(0) invert(.7);
  transition:filter .25s;
}
.footer-apoio__img:hover{filter:brightness(1) invert(0);}
 
.footer-bottom{
  padding:1.25rem 0;border-top:1px solid var(--border);
  font-size:.78rem;color:var(--muted);
}


/* ── SCROLL ANIMATIONS ──────────────────────────────── */
.fade-up{
  opacity:1;transform:none;
  transition:opacity .65s ease,transform .65s ease;
}
.fade-up.visible{opacity:1;transform:none}

/* ── FOTO PLACEHOLDERS ───────────────────────────────── */
.img-placeholder{
  width:100%;height:100%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:.5rem;
  background:repeating-linear-gradient(
    45deg,
    rgba(255,255,255,.02) 0px,
    rgba(255,255,255,.02) 2px,
    transparent 2px,
    transparent 12px
  );
}
.img-ph-icon{font-size:1.6rem;opacity:.35}
.img-ph-text{
  font-size:.68rem;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:rgba(255,255,255,.25);
  text-align:center;padding:0 .5rem;
}
.img-placeholder--lg .img-ph-icon{font-size:2.2rem;opacity:.25}
.img-placeholder--lg .img-ph-text{font-size:.72rem}

/* ── PARCERIAS ───────────────────────────────────────── */
.sec-parcerias{background:var(--bg)}

.parceiros-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:1rem;margin-bottom:3rem;
}
.parceiro-card{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--radius);padding:2rem 1.5rem;
  text-align:center;width:200px;
  transition:border-color .25s,transform .25s;
}
.parceiro-card:hover{border-color:rgba(232,255,71,.25);transform:translateY(-3px)}
.parceiro-card--placeholder{opacity:.7}
.parceiro-logo{
  height:90px;width:100%;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1rem;
}
.parceiro-logo img{
  max-height:80px;max-width:100%;
  object-fit:contain;display:block;
}
.parceiro-tipo{font-size:.75rem;color:var(--accent);font-weight:600;letter-spacing:.06em;text-transform:uppercase}

.parceiro-card--add{
  border-style:dashed;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.parceiro-add-icon{
  font-size:2rem;font-weight:200;color:var(--muted);margin-bottom:.5rem;line-height:1;
}
.parceiro-add-text{font-size:.82rem;color:var(--muted)}

.parcerias-cta{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--radius);padding:2.5rem;text-align:center;
}
.parcerias-cta__text{font-size:1.25rem;font-weight:800;margin-bottom:.5rem}

/* ── FOOTER AUTORIA ──────────────────────────────────── */
.footer-autoria{
  font-size:.75rem;color:var(--muted);
}
.footer-autoria strong{color:rgba(255,255,255,.5)}

/* ── QR CODE ─────────────────────────────────────────── */
.qr-wrap{
  margin-top:3rem;
  display:flex;flex-direction:column;align-items:center;
  text-align:center;
}
.qr-eyebrow{
  font-size:.72rem;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--accent);margin-bottom:.35rem;
}
.qr-title{font-size:1.4rem;font-weight:800;margin-bottom:.35rem}
.qr-desc{font-size:.83rem;color:var(--muted);margin-bottom:1.5rem}

.qr-box{
  position:relative;
  width:220px;height:220px;
  border-radius:16px;overflow:hidden;
  border:1px solid var(--border);
  cursor:pointer;
}
/* blurred QR underneath */
.qr-img{
  display:block;width:100%;height:100%;
  filter:blur(12px) brightness(.5);
  transition:filter .45s cubic-bezier(.4,0,.2,1);
  user-select:none;pointer-events:none;
}
/* cover overlay */
.qr-cover{
  position:absolute;inset:0;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:.6rem;
  background:rgba(11,12,14,.55);
  backdrop-filter:blur(2px);
  transition:opacity .35s ease;
}
.qr-cover__icon{
  font-size:2rem;opacity:.6;
  animation:pulse 2.4s ease-in-out infinite;
}
.qr-cover__text{
  font-size:.75rem;font-weight:600;color:rgba(255,255,255,.5);
  letter-spacing:.06em;text-transform:uppercase;
}

.qr-side-by-side {
  display: flex;
  justify-content: center;
  gap: 4rem;
  flex-wrap: wrap;
}

@keyframes pulse{
  0%,100%{opacity:.5;transform:scale(1)}
  50%{opacity:1;transform:scale(1.08)}
}

/* reveal on hover */
.qr-box:hover .qr-img{filter:blur(0) brightness(1)}
.qr-box:hover .qr-cover{opacity:0;pointer-events:none}

.qr-url{
  margin-top:.9rem;font-size:.78rem;color:var(--muted);
  font-weight:500;letter-spacing:.05em;
}

/* ── IMPRENSA ────────────────────────────────────────── */
.sec-imprensa{background:var(--bg2)}

.press-grid{
  display:flex;flex-wrap:wrap;justify-content:center;
  gap:1rem;margin-bottom:3rem;
}
.press-card{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--radius);padding:1.75rem;width:300px;
  display:flex;gap:1.25rem;align-items:flex-start;
  transition:border-color .25s,transform .25s;
}
.press-card:hover{border-color:rgba(232,255,71,.25);transform:translateY(-3px)}
.press-card__icon{font-size:1.75rem;flex-shrink:0;line-height:1}
.press-card__title{font-weight:700;font-size:.95rem;margin-bottom:.4rem}
.press-card__text{font-size:.82rem;color:var(--muted);line-height:1.65;margin-bottom:.75rem}
.press-card__link{
  font-size:.78rem;font-weight:700;color:var(--accent);
  text-decoration:none;letter-spacing:.04em;
  transition:opacity .2s;
}
.press-card__link:hover{opacity:.75}

.factsheet{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--radius);padding:2.5rem;
  margin-bottom:2rem;
}
.factsheet__header{margin-bottom:2rem}
.factsheet__title{font-size:1.3rem;font-weight:800;margin-top:.35rem}
.factsheet__grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1.5rem;
}
.factsheet__num{font-size:2.2rem;font-weight:900;color:var(--accent);line-height:1}
.factsheet__lbl{font-size:.75rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:.3rem}

/* ── GALERIA IMPRENSA ───────────────────────────────── */
.imprensa-galeria { margin: 3rem 0; }
.imprensa-galeria__grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
}
.imprensa-galeria__item {
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  width: 260px;
  transition: border-color .25s, transform .25s;
}
.imprensa-galeria__item:hover {
  border-color: rgba(232,255,71,.25);
  transform: translateY(-3px);
}
.imprensa-galeria__img {
  width: 100%;
  height: 340px;
  object-fit: cover;
  object-position: top;
  display: block;
}
.imprensa-galeria__caption {
  padding: .75rem 1rem;
  font-size: .8rem;
  color: var(--muted);
  text-align: center;
}
 
.press-contact{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--radius);padding:2.5rem;
  text-align:center;
}
.press-contact__label{
  font-size:.72rem;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;
}
.press-contact__name{font-size:1.25rem;font-weight:800;margin-bottom:.3rem}
.press-contact__detail{font-size:.85rem;color:var(--muted)}

/* ── CONTACTOS ───────────────────────────────────────── */
.sec-contactos{background:var(--bg2)}

.contact-layout{
  display:grid;grid-template-columns:1fr 1.6fr;gap:2rem;
}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr}}

.contact-info{display:flex;flex-direction:column;gap:.75rem}
.contact-info-card{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--radius);padding:1.25rem 1.5rem;
  display:flex;align-items:flex-start;gap:1rem;
  transition:border-color .2s;
}
.contact-info-card:hover{border-color:rgba(232,255,71,.2)}
.contact-info-icon{font-size:1.3rem;flex-shrink:0;margin-top:.05rem}
.contact-info-title{font-weight:700;font-size:.88rem;margin-bottom:.25rem}
.contact-info-text{font-size:.82rem;color:var(--muted);line-height:1.55}

.contact-form-wrap{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--radius);padding:2rem;
}
.contact-form-title{font-size:1.05rem;font-weight:700;margin-bottom:1.5rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
@media(max-width:500px){.form-row{grid-template-columns:1fr}}
.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.75rem}
.form-label-custom{font-size:.75rem;font-weight:600;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.form-input{
  background:rgba(255,255,255,.04);border:1px solid var(--border);
  border-radius:8px;padding:.65rem 1rem;
  color:var(--text);font-family:'Outfit',sans-serif;font-size:.88rem;
  outline:none;transition:border-color .2s;width:100%;
}
.form-input:focus{border-color:rgba(232,255,71,.4)}
.form-input::placeholder{color:var(--muted)}
.form-textarea{min-height:140px;resize:vertical}
.form-submit{
  border:none;cursor:pointer;width:100%;
  font-family:'Outfit',sans-serif;font-size:.88rem;
  padding:.8rem 1.6rem;margin-top:.25rem;
}

/* ── GOOGLE MAPS ─────────────────────────────────────── */
.maps-wrap{
  margin-top:2.5rem;
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--radius);overflow:hidden;
}
.maps-header{
  display:flex;justify-content:space-between;align-items:center;
  padding:1rem 1.5rem;
  border-bottom:1px solid var(--border);
}
.maps-label{
  font-size:.75rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);
}
.maps-open-link{
  font-size:.78rem;font-weight:700;color:var(--accent);
  text-decoration:none;letter-spacing:.04em;transition:opacity .2s;
}
.maps-open-link:hover{opacity:.7}
.maps-frame{
  width:100%;height:400px;
}
.maps-frame iframe{
  width:100%;height:100%;border:0;
  filter:grayscale(1) invert(1) brightness(.85) contrast(.9);
}

/* ── FAQ'S ───────────────────────────────────────────── */
.sec-faqs{background:var(--bg)}

.faq-link{color:var(--accent);text-decoration:none}
.faq-link:hover{opacity:.75}

.faq-layout{
  display:grid;grid-template-columns:1fr 1fr;gap:2rem;
  margin-bottom:3rem;
}
@media(max-width:860px){.faq-layout{grid-template-columns:1fr}}

.faq-col{display:flex;flex-direction:column;gap:2rem}
.faq-group__label{
  font-size:.7rem;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;color:var(--muted);
  margin-bottom:.75rem;padding-bottom:.5rem;
  border-bottom:1px solid var(--border);
}
.faq-list{display:flex;flex-direction:column;gap:.5rem}

.faq-item{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--radius);overflow:hidden;
  transition:border-color .2s;
}
.faq-item[open]{border-color:rgba(232,255,71,.2)}
.faq-question{
  display:flex;justify-content:space-between;align-items:center;
  padding:1rem 1.25rem;cursor:pointer;
  font-size:.9rem;font-weight:600;list-style:none;
  gap:1rem;
}
.faq-question::-webkit-details-marker{display:none}
.faq-question:hover{color:var(--accent)}
.faq-icon{
  flex-shrink:0;font-size:1.1rem;font-weight:300;
  color:var(--muted);transition:transform .25s,color .2s;
  line-height:1;
}
.faq-item[open] .faq-icon{transform:rotate(45deg);color:var(--accent)}
.faq-answer{
  padding:0 1.25rem 1rem;
  font-size:.85rem;color:var(--muted);line-height:1.75;
}

.faq-cta{
  display:flex;align-items:center;justify-content:center;
  gap:1.5rem;flex-wrap:wrap;
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--radius);padding:2rem;
  text-align:center;
}
.faq-cta__text{font-size:1.05rem;font-weight:700}

/* ── META TABLE ─────────────────────────────────────── */
.meta-table{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--radius);padding:1.5rem;
}
.meta-table-row{
  display:flex;justify-content:space-between;align-items:center;
  padding-bottom:.75rem;margin-bottom:.75rem;
  border-bottom:1px solid var(--border);
}
.meta-table-row--last{
  padding-bottom:0;margin-bottom:0;border-bottom:none;
}
.meta-table-key{font-size:.8rem;color:var(--muted)}
.meta-table-val{font-size:.85rem;font-weight:600;text-align:right}

/* ── INTRO STRIP ─────────────────────────────────────── */
.intro-strip{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--radius);overflow:hidden;
}
.intro-strip__cell{padding:2rem}
.intro-strip__cell--border{border-right:1px solid var(--border)}
.intro-strip__label{
  font-size:.7rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);margin-bottom:.4rem;
}
.intro-strip__value{font-size:.9rem;line-height:1.5}

/* ── CAROUSEL EMOJI ──────────────────────────────────── */
.carousel-emoji{font-size:4rem;opacity:.15}

/* ── MISC UTILITIES ──────────────────────────────────── */
.muted-sm{font-size:.82rem;color:var(--muted)}

/* ── RESPONSIVE ─────────────────────────────────────── */
@media(max-width:576px){
  .hero-title{font-size:3.2rem}
  section,.section-block{padding:4rem 0}
}