
[hidden]{display:none !important;}

/* Base visual premium · Provincia José María Benito Serra */
:root{
  --site-rose:#b65574;
  --site-gold:#c9a45f;
  --site-deep:#203347;
  --site-ink:#233343;
  --site-muted:#5f6f7d;
  --site-sand:#f7f1ea;
  --site-paper:#fffdfa;
  --site-line:rgba(35,51,67,.10);
  --site-shadow:0 18px 44px rgba(35,51,67,.10);
  --site-shadow-soft:0 10px 24px rgba(35,51,67,.08);
}

body{
  color:var(--site-ink);
}

body.page-shell{ background:linear-gradient(180deg,#fbf7f2 0%, #f7fafb 50%, #fffdfb 100%); }

.header-v2{
  position:sticky;
  top:0;
  z-index:60;
  backdrop-filter: blur(14px);
  background:rgba(255,251,247,.82);
  border-bottom:1px solid rgba(35,51,67,.08);
}
.header-inner-v2{ min-height:84px; }
.brand-v2{ display:flex; align-items:center; }
.brand-logo-v2{ height:58px; width:auto; object-fit:contain; }
.nav-v2 a{
  border:none;
  background:transparent;
  border-radius:999px;
  padding:10px 14px;
  color:var(--site-ink);
  font-weight:700;
}
.nav-v2 a:hover,
.nav-v2 a.active{
  background:rgba(182,85,116,.08);
  color:var(--site-deep);
}
.nav-colabora{
  background:linear-gradient(135deg,var(--site-rose),#cb8e68) !important;
  color:#fff !important;
  box-shadow:0 12px 24px rgba(182,85,116,.22);
}
.mobile-panel-v2{ padding-top:0; }
.mobile-nav-stack{ padding:4px 0 12px; }
.mobile-nav-stack a{ width:100%; text-align:left; }

.hero-v2{
  padding:0;
  position:relative;
  overflow:hidden;
}
.hero-v2 .hero-bgs{ position:absolute; inset:0; }
.hero-v2 .hero-bg{
  position:absolute; inset:0;
  background-size:cover;
  background-position:center;
  transition:opacity 1.3s ease;
}
.hero-v2 .hero-overlay{
  position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(25,34,48,.72) 0%, rgba(25,34,48,.50) 34%, rgba(25,34,48,.20) 58%, rgba(25,34,48,.08) 100%),
             linear-gradient(180deg, rgba(20,29,41,.08) 0%, rgba(20,29,41,.18) 100%);
}
.hero-v2 .container{ position:relative; z-index:1; }
.home-hero{ min-height:88vh; display:flex; align-items:center; }
.hero-v2-grid{
  display:grid;
  grid-template-columns: minmax(0,1.12fr) minmax(320px,.88fr);
  gap:28px;
  align-items:start;
  padding:108px 0 176px;
}
.hero-copy{ color:#fff; max-width:760px; }
.hero-copy .kicker{
  display:inline-flex; align-items:center; gap:10px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  margin-bottom:18px;
}
.kicker-dot{ width:8px; height:8px; border-radius:50%; background:var(--site-gold); display:inline-block; }
.hero-title{
  font-size:clamp(2.6rem, 5vw, 4.9rem);
  line-height:0.98;
  margin:0 0 18px;
  color:#fff;
  letter-spacing:-.04em;
}
.hero-lead{
  font-size:1.12rem;
  line-height:1.72;
  max-width:64ch;
  color:rgba(255,255,255,.92);
  margin:0 0 24px;
}
.btn-row.tight{ gap:12px; flex-wrap:wrap; }
.btn-row.tight .btn{ box-shadow:none; }
.hero-stat-panel{
  background:rgba(255,252,249,.94);
  border:1px solid rgba(255,255,255,.3);
  border-radius:28px;
  padding:24px;
  box-shadow:var(--site-shadow);
}
.hero-stat-panel .eyebrow{ color:var(--site-rose); text-transform:uppercase; letter-spacing:.12em; font-size:.78rem; font-weight:800; }
.hero-stat-panel h3{ margin:10px 0 12px; font-size:1.5rem; line-height:1.16; }
.hero-stat-panel p{ margin:0; color:var(--site-muted); }
.stat-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  margin-top:20px;
}
.stat-pill{
  background:var(--site-paper);
  border:1px solid var(--site-line);
  border-radius:20px;
  padding:16px 14px;
  text-align:center;
}
.stat-pill strong{ display:block; font-size:1.5rem; color:var(--site-deep); }
.stat-pill span{ display:block; margin-top:6px; color:var(--site-muted); font-size:.92rem; }

.page-hero{ padding:40px 0 24px; }
.page-hero .container{ position:relative; }
.page-hero-inner{
  border-radius:28px;
  padding:42px 42px 38px;
  background:linear-gradient(135deg, rgba(255,255,255,.88), rgba(255,245,238,.94));
  border:1px solid rgba(35,51,67,.08);
  box-shadow:var(--site-shadow-soft);
}
.page-hero h1{ margin:10px 0 12px; font-size:clamp(2.2rem,4vw,3.6rem); line-height:1.02; }
.page-hero p{ max-width:72ch; color:var(--site-muted); }
.page-hero .hero-anchor-row{ display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }

.section-v2{ padding:76px 0; position:relative; }
.section-v2.section-soft{ background:linear-gradient(180deg, rgba(255,255,255,.86), rgba(248,244,238,.9)); }
.section-v2.section-cream{ background:linear-gradient(180deg, #f8f1e8, #fcf9f4); }
.section-v2.section-accent{ background:linear-gradient(135deg, rgba(182,85,116,.07), rgba(201,164,95,.08)); }
.section-v2 .section-head{ max-width:760px; margin-bottom:32px; }
.section-v2 .section-head.center{ text-align:center; margin-left:auto; margin-right:auto; }
.eyebrow{
  display:inline-block;
  margin-bottom:10px;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--site-rose);
}
.section-title{
  margin:0;
  font-size:clamp(2rem,3.6vw,3rem);
  line-height:1.05;
  letter-spacing:-.03em;
}
.section-text,
.section-head p{
  color:var(--site-muted);
  font-size:1.02rem;
  line-height:1.75;
}
.split-grid{
  display:grid;
  grid-template-columns: minmax(0,1.02fr) minmax(320px,.98fr);
  gap:28px;
  align-items:center;
}
.info-card,
.story-card,
.contact-card,
.surface-card{
  background:rgba(255,255,255,.9);
  border:1px solid var(--site-line);
  border-radius:26px;
  padding:28px;
  box-shadow:var(--site-shadow-soft);
}
.media-card{
  min-height:420px;
  border-radius:28px;
  overflow:hidden;
  box-shadow:var(--site-shadow-soft);
  position:relative;
}
.media-card img{ width:100%; height:100%; object-fit:cover; display:block; }
.media-card::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 35%, rgba(19,29,41,.14) 100%);
}
.note-list{ display:grid; gap:14px; margin-top:22px; }
.note-item{ display:flex; gap:12px; align-items:flex-start; }
.note-item strong{ color:var(--site-deep); display:block; margin-bottom:4px; }
.note-icon{
  width:36px; height:36px; flex:none;
  display:grid; place-items:center;
  background:rgba(182,85,116,.12);
  border-radius:14px;
  color:var(--site-rose);
  font-weight:800;
}

.stats-band{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:28px;
}
.band-card{
  padding:22px;
  border-radius:24px;
  background:#fff;
  border:1px solid var(--site-line);
  box-shadow:var(--site-shadow-soft);
}
.band-card strong{ display:block; font-size:2rem; line-height:1; color:var(--site-deep); }
.band-card span{ display:block; margin-top:8px; color:var(--site-muted); font-weight:700; }

.country-grid,
.card-grid,
.activity-grid,
.value-grid,
.form-grid,
.dual-grid{
  display:grid;
  gap:18px;
}
.country-grid{ grid-template-columns:repeat(3, minmax(0,1fr)); }
.card-grid{ grid-template-columns:repeat(3, minmax(0,1fr)); }
.activity-grid{ grid-template-columns:repeat(3, minmax(0,1fr)); }
.value-grid{ grid-template-columns:repeat(3, minmax(0,1fr)); }
.dual-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
.card-v2,
.country-card,
.activity-card,
.value-card{
  background:rgba(255,255,255,.94);
  border:1px solid var(--site-line);
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--site-shadow-soft);
}
.card-v2 .card-media,
.activity-card .card-media{ aspect-ratio: 1.08 / .78; overflow:hidden; }
.card-v2 .card-media img,
.activity-card .card-media img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.card-v2:hover .card-media img,
.activity-card:hover .card-media img{ transform:scale(1.04); }
.card-body{ padding:22px; }
.card-body h3{ margin:0 0 10px; font-size:1.2rem; }
.card-body p{ margin:0; color:var(--site-muted); }
.card-meta{ display:inline-block; margin-bottom:12px; color:var(--site-rose); font-weight:800; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; }
.card-link-arrow{ display:inline-flex; align-items:center; gap:8px; margin-top:16px; color:var(--site-deep); font-weight:800; }
.country-card{ padding:22px; }
.country-card h3{ margin:0 0 8px; }
.country-card p{ margin:0; color:var(--site-muted); }

.presence-map{
  background:linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,245,236,.94));
  border:1px solid var(--site-line);
  border-radius:28px;
  padding:28px;
  box-shadow:var(--site-shadow-soft);
}
.map-shell{
  border-radius:24px;
  min-height:320px;
  padding:26px;
  background:
    radial-gradient(circle at 30% 30%, rgba(182,85,116,.10), transparent 22%),
    radial-gradient(circle at 65% 48%, rgba(201,164,95,.15), transparent 22%),
    radial-gradient(circle at 80% 28%, rgba(60,117,173,.11), transparent 18%),
    linear-gradient(180deg, #f8fbfd 0%, #f6f2ea 100%);
  position:relative;
  overflow:hidden;
}
.map-label{
  position:absolute;
  padding:8px 12px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(35,51,67,.08);
  border-radius:999px;
  box-shadow:0 8px 18px rgba(35,51,67,.08);
  font-weight:700;
  color:var(--site-deep);
}
.map-label.small{ font-size:.86rem; }
.map-label.am{ top:27%; left:16%; }
.map-label.mx{ top:36%; left:21%; }
.map-label.caribe{ top:39%; left:33%; }
.map-label.usa{ top:23%; left:27%; }
.map-label.ph{ top:43%; right:19%; }
.map-label.id{ top:55%; right:23%; }
.map-note{ margin-top:16px; color:var(--site-muted); }

.vocational-banner,
.colabora-banner{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);
  gap:22px;
  align-items:center;
  padding:30px;
  border-radius:32px;
  background:linear-gradient(135deg, rgba(39,58,78,.96), rgba(86,57,86,.92));
  color:#fff;
  box-shadow:var(--site-shadow);
}
.vocational-banner p,
.colabora-banner p{ color:rgba(255,255,255,.82); margin:0; }
.vocational-banner .eyebrow,
.colabora-banner .eyebrow{ color:#f0c98b; }
.banner-panel{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  border-radius:24px;
  padding:22px;
}
.banner-panel ul{ margin:0; padding-left:18px; }
.banner-panel li{ margin:8px 0; }

.gallery-strip{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}
.gallery-strip a{ display:block; overflow:hidden; border-radius:20px; box-shadow:var(--site-shadow-soft); }
.gallery-strip img{ width:100%; height:210px; object-fit:cover; display:block; transition:transform .6s ease; }
.gallery-strip a:hover img{ transform:scale(1.06); }

.contact-layout{
  display:grid;
  grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);
  gap:22px;
}
.contact-list{ display:grid; gap:14px; margin-top:20px; }
.contact-line{ display:flex; gap:12px; align-items:flex-start; }
.contact-line strong{ display:block; margin-bottom:4px; color:var(--site-deep); }
.form-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.form-grid .full{ grid-column:1 / -1; }
.field label{ display:block; font-weight:700; margin-bottom:8px; }
.field input,
.field textarea{
  width:100%;
  border-radius:16px;
  border:1px solid rgba(35,51,67,.12);
  background:#fff;
  padding:14px 16px;
  font:inherit;
  color:var(--site-deep);
}
.field textarea{ min-height:160px; resize:vertical; }
.field input:focus,
.field textarea:focus{ outline:none; border-color:rgba(182,85,116,.5); box-shadow:0 0 0 4px rgba(182,85,116,.10); }
.alert{
  margin-bottom:18px;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid transparent;
}
.alert.success{ background:rgba(62,154,116,.12); border-color:rgba(62,154,116,.25); color:#17523b; }
.alert.error{ background:rgba(192,77,77,.12); border-color:rgba(192,77,77,.24); color:#7a2230; }
.small-text{ font-size:.92rem; color:var(--site-muted); }

.footer-v2{
  margin-top:0;
  background:linear-gradient(180deg, #182433 0%, #1f2e41 100%);
  color:#fff;
}
.footer-v2 .container{ padding-top:32px; padding-bottom:24px; }
.footer-top,
.footer-columns{
  display:grid;
  gap:22px;
}
.footer-top{ grid-template-columns:minmax(0,1fr) auto; align-items:center; padding-bottom:22px; border-bottom:1px solid rgba(255,255,255,.08); }
.footer-brand-block{ display:flex; align-items:center; gap:18px; }
.footer-v2 .footer-logo{ width:160px; height:auto; }
.footer-v2 .footer-title{ font-size:1.1rem; font-weight:800; }
.footer-v2 .footer-desc,
.footer-v2 p,
.footer-v2 small{ color:rgba(255,255,255,.72); }
.footer-columns{ grid-template-columns:repeat(3,minmax(0,1fr)); padding:22px 0; }
.footer-links-list{ display:grid; gap:8px; }
.footer-v2 a{ color:#fff; opacity:.9; }
.footer-v2 a:hover{ opacity:1; }
.footer-bottom-v2{ border-top:1px solid rgba(255,255,255,.08); padding-top:16px; display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; }

.anchor-card{ display:grid; gap:18px; }
.anchor-card .anchor-link{ font-weight:800; color:var(--site-deep); }
.text-link{ color:var(--site-deep); font-weight:800; }
.chip-row{ display:flex; flex-wrap:wrap; gap:10px; }
.chip{ padding:10px 14px; border-radius:999px; background:rgba(182,85,116,.10); color:var(--site-deep); font-weight:700; }

.redirect-body{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:24px;
  background:linear-gradient(180deg,#fbf7f2,#f5fafb);
}
.redirect-card{
  max-width:560px;
  background:#fff;
  border:1px solid var(--site-line);
  border-radius:28px;
  padding:28px;
  box-shadow:var(--site-shadow-soft);
  text-align:center;
}
.redirect-card p{ color:var(--site-muted); }

@media (max-width: 1080px){
  .country-grid,
  .card-grid,
  .activity-grid,
  .value-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gallery-strip{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width: 920px){
  .hero-v2-grid,
  .split-grid,
  .contact-layout,
  .vocational-banner,
  .colabora-banner,
  .footer-top,
  .footer-columns,
  .page-hero-inner,
  .dual-grid{
    grid-template-columns:1fr;
  }
  .home-hero{ min-height:auto; }
  .hero-v2-grid{ padding:92px 0 48px; }
  .page-hero-inner{ padding:28px; }
}

@media (max-width: 760px){
  .section-v2{ padding:60px 0; }
  .country-grid,
  .card-grid,
  .activity-grid,
  .value-grid,
  .stats-band,
  .form-grid,
  .stat-grid,
  .gallery-strip{ grid-template-columns:1fr; }
  .gallery-strip img{ height:260px; }
  .hero-title{ font-size:clamp(2.3rem, 12vw, 3.5rem); }
  .hero-stat-panel,
  .info-card,
  .story-card,
  .contact-card,
  .surface-card,
  .country-card,
  .card-body,
  .banner-panel,
  .page-hero-inner,
  .band-card{ padding:22px; }
  .media-card{ min-height:300px; }
}

/* Sprint 2 — presencia y proyectos con contenido real por países */
.overview-grid,
.pending-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.country-card-overview{ display:flex; flex-direction:column; gap:12px; }
.country-card-top,
.country-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.status-pill{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  font-size:.78rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  white-space:nowrap;
}
.status-pill.is-integrated{
  background:rgba(63,133,98,.12);
  color:#2f6a4f;
  border:1px solid rgba(63,133,98,.16);
}
.status-pill.is-pending{
  background:rgba(182,85,116,.12);
  color:var(--site-rose);
  border:1px solid rgba(182,85,116,.12);
}
.country-card-overview.is-integrated{ border-color:rgba(63,133,98,.18); }
.country-card-overview.is-pending{ border-color:rgba(182,85,116,.14); }
.inline-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:800;
  color:var(--site-deep);
  margin-top:auto;
}
.inline-link::after{ content:'→'; }
.country-split{ align-items:stretch; }
.country-media-card{ min-height:100%; }
.mini-section{ margin-top:20px; }
.mini-section h3,
.mini-section h4{
  margin:0 0 10px;
  font-size:1rem;
  color:var(--site-deep);
}
.badge-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.soft-badge{
  display:inline-flex;
  align-items:center;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(35,51,67,.05);
  color:var(--site-ink);
  border:1px solid rgba(35,51,67,.08);
  font-size:.92rem;
  line-height:1.3;
}
.info-bullets{
  margin:0;
  padding-left:20px;
  display:grid;
  gap:10px;
  color:var(--site-muted);
  line-height:1.68;
}
.info-bullets.compact{ gap:8px; }
.info-bullets li::marker{ color:var(--site-rose); }
.country-project-block + .country-project-block{
  margin-top:42px;
}
.country-project-head{
  display:grid;
  grid-template-columns:minmax(0,.46fr) minmax(0,.54fr);
  gap:22px;
  align-items:end;
  margin-bottom:24px;
}
.country-project-head h2{
  margin:0;
  font-size:clamp(1.8rem,3vw,2.5rem);
  line-height:1.06;
}
.country-project-head p{
  margin:0;
  color:var(--site-muted);
  line-height:1.75;
}
.project-grid-extended{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.project-card-extended .card-body{ display:flex; flex-direction:column; height:100%; }
.project-card-extended .mini-section{ margin-top:18px; }
.project-card-extended .card-body p{ line-height:1.72; }

@media (max-width: 1100px){
  .country-project-head,
  .overview-grid,
  .pending-grid{ grid-template-columns:1fr; }
}

@media (max-width: 900px){
  .project-grid-extended,
  .overview-grid,
  .pending-grid{ grid-template-columns:1fr; }
  .country-title-row,
  .country-card-top{ flex-direction:column; align-items:flex-start; }
}

/* Sprint 3 — historia/carisma y pastoral vocacional con contenido real */
.quote-panel{
  padding:18px 20px;
  border-radius:22px;
  background:linear-gradient(135deg, rgba(182,85,116,.10), rgba(201,164,95,.12));
  border:1px solid rgba(182,85,116,.12);
  color:var(--site-deep);
  box-shadow:var(--site-shadow-soft);
}
.quote-panel p{
  margin:0;
  font-size:1.12rem;
  line-height:1.7;
  font-weight:700;
}


/* Sprint 4 — fichas internas de proyectos */
.detail-breadcrumbs{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px; font-weight:700; color:var(--site-muted); }
.detail-breadcrumbs a{ color:var(--site-deep); }
.detail-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);
  gap:24px;
  align-items:stretch;
}
.detail-side-card{
  background:rgba(255,255,255,.94);
  border:1px solid var(--site-line);
  border-radius:28px;
  padding:26px;
  box-shadow:var(--site-shadow-soft);
}
.detail-side-card h3{ margin:0 0 12px; font-size:1.2rem; }
.fact-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:22px; }
.fact-card{ background:#fff; border:1px solid var(--site-line); border-radius:22px; padding:18px; box-shadow:var(--site-shadow-soft); }
.fact-card strong{ display:block; font-size:1.02rem; color:var(--site-deep); }
.fact-card span{ display:block; margin-top:8px; color:var(--site-muted); line-height:1.6; }
.detail-columns{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.detail-gallery{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.detail-gallery a{ display:block; overflow:hidden; border-radius:18px; box-shadow:var(--site-shadow-soft); }
.detail-gallery img{ width:100%; height:230px; object-fit:cover; display:block; transition:transform .6s ease; }
.detail-gallery a:hover img{ transform:scale(1.05); }
.detail-cta-panel{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:center; padding:26px; border-radius:28px; background:linear-gradient(135deg, rgba(35,51,67,.96), rgba(112,69,94,.92)); color:#fff; box-shadow:var(--site-shadow); }
.detail-cta-panel p{ margin:0; color:rgba(255,255,255,.84); }
.detail-cta-panel .btn{ white-space:nowrap; }
.info-bullets strong{ color:var(--site-deep); }
@media (max-width: 980px){
  .detail-hero-grid,
  .detail-cta-panel,
  .detail-columns,
  .fact-grid{ grid-template-columns:1fr; }
}
@media (max-width: 760px){
  .detail-gallery{ grid-template-columns:1fr; }
  .detail-gallery img{ height:260px; }
}


.overview-links{ display:flex; flex-wrap:wrap; gap:12px; margin-top:18px; }
.link-card-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.link-card-grid.one-col{ grid-template-columns:minmax(0,1fr); }
.link-card-grid .card-v2{ height:100%; }
.note-stack{ display:grid; gap:16px; }
.note-tile{ padding:18px 20px; border:1px solid var(--site-line); border-radius:22px; background:rgba(255,255,255,.86); box-shadow:var(--site-shadow-soft); }
.note-tile strong{ display:block; margin-bottom:6px; color:var(--site-deep); }
.detail-bullets{ display:grid; gap:12px; margin:0; padding-left:20px; color:var(--site-muted); line-height:1.72; }
@media (max-width: 860px){
  .link-card-grid{ grid-template-columns:1fr; }
}


/* Sprint 5 — fichas de comunidades */
.card-link-arrow{ display:inline-flex; align-items:center; gap:6px; color:var(--site-rose); font-weight:800; }
.card-link-arrow:hover{ color:var(--site-deep); }
body.redirect-body{
  min-height:100vh;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#fbf7f2 0%, #f7fafb 50%, #fffdfb 100%);
  padding:24px;
}
.redirect-card{
  max-width:520px;
  text-align:center;
  background:#fff;
  border:1px solid var(--site-line);
  border-radius:28px;
  padding:34px 28px;
  box-shadow:var(--site-shadow-soft);
}
.redirect-card h1{ margin-top:0; }
.redirect-card p{ color:var(--site-muted); }


/* Sprint 6 — actividades/eventos y galería */
.activity-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:10px 0 14px;
  color:var(--site-muted);
  font-size:.92rem;
  font-weight:700;
}
.activity-meta span{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(35,51,67,.05);
  border:1px solid rgba(35,51,67,.08);
}
.activity-feature-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,.94fr);
  gap:24px;
  align-items:stretch;
}
.activity-grid-rich{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.collection-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.collection-card{
  background:rgba(255,255,255,.94);
  border:1px solid var(--site-line);
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--site-shadow-soft);
}
.collection-card .card-media{ aspect-ratio:1.12/.78; overflow:hidden; }
.collection-card .card-media img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.collection-card:hover .card-media img{ transform:scale(1.04); }
.collection-card .card-body{ padding:24px; }
.gallery-filters-rich{ margin-bottom:18px; }
.anchor-target{ scroll-margin-top:120px; }

@media (max-width: 980px){
  .activity-feature-grid,
  .activity-grid-rich,
  .collection-grid{ grid-template-columns:1fr; }
}


/* Sprint 9 — incorporación de material restante útil */
.video-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.video-card{
  background:rgba(255,255,255,.96);
  border:1px solid var(--site-line);
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--site-shadow-soft);
}
.video-frame{
  background:#111;
}
.video-frame video{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  background:#111;
}
.video-meta{
  display:grid;
  gap:8px;
  padding:18px 20px 22px;
}
.video-meta strong{
  color:var(--site-deep);
  font-size:1rem;
  line-height:1.4;
}
.video-meta span{
  color:var(--site-muted);
  line-height:1.65;
}
@media (max-width: 1100px){
  .video-grid{ grid-template-columns:1fr; }
}


/* Acabamento visual premium */
body.page-shell{
  background:
    radial-gradient(circle at top left, rgba(201,164,95,.10), transparent 20%),
    radial-gradient(circle at 85% 12%, rgba(182,85,116,.08), transparent 16%),
    linear-gradient(180deg,#fbf7f2 0%, #f7fafb 46%, #fffdfb 100%);
}
.header-v2::after{
  content:'';
  position:absolute;
  left:0; right:0; bottom:-1px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(201,164,95,.45), transparent);
}
.nav-v2 a{
  position:relative;
  transition:background .25s ease, color .25s ease, transform .25s ease;
}
.nav-v2 a::after{
  content:'';
  position:absolute;
  left:14px; right:14px; bottom:7px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--site-rose), var(--site-gold));
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .25s ease;
}
.nav-v2 a:hover::after,
.nav-v2 a.active::after{ transform:scaleX(1); }
.nav-v2 a:hover{ transform:translateY(-1px); }
.hero-v2::before,
.page-hero::before,
.section-v2::before{
  content:'';
  position:absolute;
  pointer-events:none;
}
.hero-v2::before{
  width:520px; height:520px;
  right:-160px; top:-160px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.18), transparent 68%);
}
.page-hero{ padding:48px 0 26px; }
.page-hero-inner{
  position:relative;
  overflow:hidden;
  padding:50px 46px 42px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,244,236,.96)),
    linear-gradient(180deg, rgba(255,255,255,.8), rgba(255,255,255,.84));
}
.page-hero-inner::before{
  content:'';
  position:absolute;
  inset:auto auto -40px -20px;
  width:240px; height:240px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(201,164,95,.16), transparent 70%);
}
.page-hero-inner::after{
  content:'';
  position:absolute;
  top:-70px; right:-40px;
  width:220px; height:220px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(182,85,116,.12), transparent 70%);
}
html[data-page="home"] .hero-stat-panel{
  background:linear-gradient(180deg, rgba(255,252,249,.95), rgba(255,247,241,.98));
}
.card-v2,
.country-card,
.activity-card,
.value-card,
.collection-card,
.video-card,
.info-card,
.story-card,
.contact-card,
.surface-card,
.hero-stat-panel,
.presence-map,
.band-card,
.fact-card,
.note-tile,
.detail-side-card{
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.card-v2:hover,
.country-card:hover,
.activity-card:hover,
.value-card:hover,
.collection-card:hover,
.video-card:hover,
.info-card:hover,
.story-card:hover,
.contact-card:hover,
.surface-card:hover,
.band-card:hover,
.note-tile:hover,
.detail-side-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 52px rgba(35,51,67,.14);
  border-color:rgba(201,164,95,.22);
}
.section-v2 .section-head{ position:relative; }
.section-v2 .section-head::after{
  content:'';
  display:block;
  width:72px; height:3px;
  margin-top:18px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--site-rose), var(--site-gold));
}
.section-v2 .section-head.center::after{ margin-left:auto; margin-right:auto; }
.gallery-strip a,
.detail-gallery a{ border:1px solid rgba(255,255,255,.68); }
.video-meta strong{ font-size:1.05rem; }
.footer-v2{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 15% 20%, rgba(201,164,95,.18), transparent 25%),
    linear-gradient(180deg, #182433 0%, #1d2b3d 100%);
}
.footer-v2::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.03), transparent);
  pointer-events:none;
}
.footer-top{ padding-bottom:26px; }
.footer-v2 .btn.primary{ background:linear-gradient(135deg,var(--site-rose),#cb8e68); }
@media (max-width: 920px){ .page-hero-inner{ padding:34px 28px 30px; } }

/* Sprint 14 · Hero vídeo, mapa real e header fixo */
.header-v2{
  position:fixed;
  left:0;
  right:0;
  top:0;
  width:100%;
  z-index:120;
  background:rgba(255,251,247,.88);
  box-shadow:0 10px 30px rgba(35,51,67,.08);
}
.header-v2.is-scrolled{
  background:rgba(255,251,247,.94);
  box-shadow:0 16px 34px rgba(35,51,67,.12);
}
body.page-shell main{ padding-top:84px; }

.hero-bgs-video{
  overflow:hidden;
  background:
    radial-gradient(circle at 16% 22%, rgba(255,255,255,.11), transparent 20%),
    radial-gradient(circle at 82% 18%, rgba(255,255,255,.08), transparent 18%),
    linear-gradient(180deg, #223244 0%, #2b4158 100%);
}
.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  background:transparent;
}
.hero-bgs-video::after{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 20% 24%, rgba(255,255,255,.06), transparent 28%);
  pointer-events:none;
}
.hero-sound-toggle{
  margin-top:16px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  border:none;
  border-radius:999px;
  padding:11px 16px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.24);
  color:#fff;
  font-weight:800;
  box-shadow:0 12px 24px rgba(17,26,37,.16);
  cursor:pointer;
}
.hero-sound-toggle::before{
  content:'🔈';
  font-size:1rem;
  line-height:1;
}
.hero-sound-toggle.is-active{
  background:rgba(255,255,255,.24);
}
.hero-sound-toggle.is-active::before{ content:'🔊'; }
.hero-sound-toggle:hover{ transform:translateY(-1px); }

.map-shell--real{
  min-height:auto;
  padding:18px;
  background:linear-gradient(180deg, #f7fafb 0%, #f7f0e7 100%);
}
.map-real{
  display:block;
  width:100%;
  height:auto;
  border-radius:18px;
  box-shadow:inset 0 0 0 1px rgba(35,51,67,.06);
}
.map-shell--real .map-real{ background:#f6fbfd; }
.map-note{ margin-top:16px; }

/* remove old pseudo-map labels */
.map-shell .map-label{ display:none; }

@media (max-width: 920px){
  body.page-shell main{ padding-top:78px; }
  .home-hero{ min-height:auto; }
  .hero-v2-grid{ grid-template-columns:1fr; align-items:start; padding:98px 0 56px; }
  .hero-stat-panel{ max-width:520px; }
  .hero-video{ object-fit:contain; object-position:center center; }
}

@media (max-width: 640px){
  .hero-copy .kicker{ font-size:.82rem; }
  .hero-sound-toggle{ font-size:.95rem; }
  .map-shell--real{ padding:10px; }
  .hero-v2-grid{ padding:92px 0 40px; }
}

/* Sprint 16 · multilingue + AVI */
.header-tools{ display:flex; align-items:center; gap:14px; }
.lang-switch{ display:flex; align-items:center; gap:6px; }
.lang-pill{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:42px; height:38px; padding:0 12px; border-radius:999px;
  background:rgba(255,255,255,.84); border:1px solid rgba(35,51,67,.10);
  color:var(--site-ink); font-size:.82rem; font-weight:800; letter-spacing:.04em;
}
.lang-pill:hover{ transform:translateY(-1px); box-shadow:0 10px 20px rgba(35,51,67,.08); }
.lang-pill.is-current{ background:linear-gradient(135deg, rgba(195,113,133,.16), rgba(255,255,255,.96)); border-color:rgba(195,113,133,.28); color:var(--site-rose-deep); }
.lang-pill.is-soft{ opacity:.92; }
.mobile-lang-switch{ margin-top:14px; flex-wrap:wrap; }

.avi-widget{ position:fixed; right:22px; bottom:22px; z-index:190; display:flex; flex-direction:column; align-items:flex-end; gap:12px; }
.avi-launcher{
  display:inline-flex; align-items:center; gap:10px; border:none; cursor:pointer;
  padding:14px 18px; border-radius:999px; background:linear-gradient(135deg,var(--site-rose),#cb8e68);
  color:#fff; font-weight:800; box-shadow:0 18px 34px rgba(35,51,67,.18);
}
.avi-launcher-dot{ width:10px; height:10px; border-radius:999px; background:#fff; box-shadow:0 0 0 6px rgba(255,255,255,.16); }
.avi-panel{
  width:min(390px, calc(100vw - 24px)); max-height:min(72vh, 680px); overflow:hidden;
  border-radius:26px; background:rgba(255,251,247,.98); border:1px solid rgba(35,51,67,.08);
  box-shadow:0 28px 70px rgba(17,26,37,.24); display:flex; flex-direction:column;
}
.avi-panel-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:18px 18px 14px; border-bottom:1px solid rgba(35,51,67,.07); }
.avi-panel-head p{ margin:6px 0 0; color:var(--site-muted); font-size:.95rem; line-height:1.55; }
.avi-close{ border:none; background:rgba(35,51,67,.06); width:36px; height:36px; border-radius:999px; cursor:pointer; color:var(--site-ink); font-weight:700; }
.avi-quick-row{ padding:14px 18px 0; display:flex; flex-wrap:wrap; gap:8px; }
.avi-chip{ border:1px solid rgba(35,51,67,.10); background:#fff; border-radius:999px; padding:9px 12px; cursor:pointer; color:var(--site-ink); font-weight:700; font-size:.86rem; }
.avi-messages{ padding:16px 18px; overflow:auto; display:flex; flex-direction:column; gap:12px; min-height:210px; max-height:360px; }
.avi-message{ display:flex; }
.avi-message-user{ justify-content:flex-end; }
.avi-bubble{ max-width:92%; border-radius:18px; padding:12px 14px; line-height:1.55; font-size:.96rem; }
.avi-message-bot .avi-bubble{ background:#fff; border:1px solid rgba(35,51,67,.08); color:var(--site-ink); }
.avi-message-user .avi-bubble{ background:linear-gradient(135deg, rgba(195,113,133,.16), rgba(255,255,255,.98)); border:1px solid rgba(195,113,133,.22); }
.avi-answer-link{ display:inline-flex; align-items:center; margin-top:8px; font-weight:800; color:var(--site-rose-deep); }
.avi-form{ display:grid; grid-template-columns:1fr auto; gap:10px; padding:14px 18px 18px; border-top:1px solid rgba(35,51,67,.07); background:rgba(255,255,255,.78); }
.avi-form input{ min-width:0; border-radius:14px; border:1px solid rgba(35,51,67,.10); padding:12px 14px; font:inherit; }
.avi-form button{ border:none; border-radius:14px; padding:0 18px; background:linear-gradient(135deg,var(--site-rose),#cb8e68); color:#fff; font-weight:800; cursor:pointer; }

.translation-note{ margin-top:18px; padding:14px 16px; border-radius:18px; background:rgba(255,255,255,.72); border:1px solid rgba(35,51,67,.08); color:var(--site-muted); }
.translation-note strong{ color:var(--site-ink); }
.simple-list-card ul{ margin:0; padding-left:18px; color:var(--site-muted); line-height:1.7; }
.simple-list-card li + li{ margin-top:6px; }

@media (max-width: 1180px){
  .header-tools .lang-switch{ display:none; }
}
@media (max-width: 920px){
  .header-tools{ gap:10px; }
  .avi-widget{ right:14px; bottom:14px; }
  .avi-launcher{ padding:12px 16px; }
}
@media (max-width: 640px){
  .avi-panel{ width:min(100vw - 18px, 390px); }
  .avi-launcher{ padding:11px 14px; font-size:.92rem; }
}

/* Sprint 18 · idiomas en selector + AVI en esquina inferior */
.header-tools{ display:flex; align-items:center; gap:12px; }
.lang-select-wrap{ position:relative; }
.lang-select{
  appearance:none; -webkit-appearance:none; -moz-appearance:none;
  min-width:128px; height:42px; padding:0 38px 0 14px; border-radius:999px;
  border:1px solid rgba(35,51,67,.10); background:rgba(255,255,255,.92);
  color:var(--site-ink); font-weight:700; box-shadow:0 10px 20px rgba(35,51,67,.08);
  background-image:linear-gradient(45deg, transparent 50%, var(--site-rose-deep) 50%),linear-gradient(135deg, var(--site-rose-deep) 50%, transparent 50%);
  background-position:calc(100% - 19px) 17px, calc(100% - 13px) 17px;
  background-size:6px 6px, 6px 6px; background-repeat:no-repeat;
  cursor:pointer;
}
.mobile-lang-select-wrap{ margin-top:14px; width:100%; }
.mobile-lang-select-wrap .lang-select{ width:100%; }
.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; }

.avi-widget{ position:fixed; right:22px; bottom:22px; z-index:240; display:flex; flex-direction:column; align-items:flex-end; gap:12px; }
.avi-launcher{
  display:inline-flex; align-items:center; gap:10px; border:none; cursor:pointer;
  padding:6px 14px 6px 6px; border-radius:999px;
  background:linear-gradient(135deg, rgba(255,248,244,.98), rgba(255,255,255,.95));
  border:1px solid rgba(195,113,133,.18); box-shadow:0 18px 34px rgba(35,51,67,.16);
  color:var(--site-ink); font-weight:800;
}
.avi-launcher:hover{ transform:translateY(-1px); }
.avi-launcher-avatar, .avi-modal-avatar{ width:46px; height:46px; border-radius:999px; object-fit:cover; object-position:center; }
.avi-launcher-text{ white-space:nowrap; }
.avi-modal-backdrop{ position:fixed; inset:0; background:rgba(18,27,38,.24); z-index:280; backdrop-filter:blur(5px); }
.avi-modal{
  position:fixed; right:22px; bottom:94px; width:min(430px, calc(100vw - 24px));
  max-height:min(76vh, 720px); overflow:hidden; z-index:290;
  border-radius:28px; background:rgba(255,251,247,.99); border:1px solid rgba(35,51,67,.08);
  box-shadow:0 30px 90px rgba(17,26,37,.26); display:flex; flex-direction:column;
}
.avi-panel-head-modal{ padding:18px 18px 14px; }
.avi-head-identity{ display:flex; align-items:center; gap:14px; }
.avi-panel-head-modal strong{ display:block; font-size:1.35rem; line-height:1.1; }
.avi-panel-head-modal p{ margin:4px 0 0; color:var(--site-muted); font-size:1rem; }
.avi-close{ border:none; background:rgba(35,51,67,.06); width:36px; height:36px; border-radius:999px; cursor:pointer; color:var(--site-ink); font-weight:700; }
.avi-quick-row{ padding:14px 18px 0; display:flex; flex-wrap:wrap; gap:8px; }
.avi-chip{ border:1px solid rgba(35,51,67,.10); background:#fff; border-radius:999px; padding:9px 12px; cursor:pointer; color:var(--site-ink); font-weight:700; font-size:.86rem; }
.avi-messages{ padding:16px 18px; overflow:auto; display:flex; flex-direction:column; gap:12px; min-height:210px; max-height:360px; }
.avi-message{ display:flex; }
.avi-message-user{ justify-content:flex-end; }
.avi-bubble{ max-width:92%; border-radius:18px; padding:12px 14px; line-height:1.55; font-size:.96rem; }
.avi-message-bot .avi-bubble{ background:#fff; border:1px solid rgba(35,51,67,.08); color:var(--site-ink); }
.avi-message-user .avi-bubble{ background:linear-gradient(135deg, rgba(195,113,133,.16), rgba(255,255,255,.98)); border:1px solid rgba(195,113,133,.22); }
.avi-answer-link{ display:inline-flex; align-items:center; margin-top:8px; font-weight:800; color:var(--site-rose-deep); }
.avi-form{ display:grid; grid-template-columns:1fr auto; gap:10px; padding:14px 18px 18px; border-top:1px solid rgba(35,51,67,.07); background:rgba(255,255,255,.78); }
.avi-form input{ min-width:0; border-radius:14px; border:1px solid rgba(35,51,67,.10); padding:12px 14px; font:inherit; }
.avi-form button{ border:none; border-radius:14px; padding:0 18px; background:linear-gradient(135deg,var(--site-rose),#cb8e68); color:#fff; font-weight:800; cursor:pointer; }
body.avi-modal-open{ overflow:hidden; }

@media (max-width: 1180px){
  .avi-launcher-text{ display:none; }
  .lang-select{ min-width:112px; }
}
@media (max-width: 920px){
  .avi-modal{ right:12px; left:12px; bottom:82px; width:auto; }
  .avi-widget{ right:14px; bottom:14px; }
}
@media (max-width: 640px){
  .lang-select-wrap-desktop{ display:none; }
  .avi-launcher-avatar{ width:42px; height:42px; }
  .avi-modal{ bottom:76px; right:10px; left:10px; max-height:calc(100vh - 96px); }
  .avi-panel-head-modal strong{ font-size:1.22rem; }
}

/* Sprint 21 · modal grande para Oblata + enlaces de idioma consistentes */
.avi-modal-shell{position:fixed; inset:0; z-index:290; display:grid; place-items:center; padding:28px;}
.avi-modal-window{
  width:min(1120px, calc(100vw - 56px));
  max-height:calc(100vh - 56px);
  overflow:hidden;
  border-radius:30px;
  background:rgba(255,251,247,.985);
  border:1px solid rgba(35,51,67,.08);
  box-shadow:0 32px 90px rgba(17,26,37,.28);
  display:flex; flex-direction:column;
}
.avi-modal-topbar{
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  padding:18px 22px; border-bottom:1px solid rgba(35,51,67,.07); background:rgba(255,255,255,.78);
}
.avi-modal-branding{display:flex; align-items:center; gap:14px;}
.avi-modal-kicker{font-size:.78rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--site-muted); margin-bottom:4px;}
.avi-modal-topbar strong{display:block; font-size:1.5rem; line-height:1.05;}
.avi-modal-body{
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);
  gap:22px; padding:22px; overflow:auto;
}
.avi-hero-card{
  position:relative; min-height:520px; border-radius:28px; overflow:hidden; border:1px solid rgba(35,51,67,.08);
  background:
    linear-gradient(135deg, rgba(240,247,250,.96), rgba(254,250,246,.94)),
    url('../img/hero/presentacion_oblatas_poster.jpg') center/cover no-repeat;
}
.avi-hero-backdrop{position:absolute; inset:0; background:linear-gradient(135deg, rgba(15,29,47,.14), rgba(195,113,133,.10));}
.avi-hero-content{position:relative; z-index:1; height:100%; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:34px;}
.avi-hero-chip{display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:999px; background:rgba(255,255,255,.84); border:1px solid rgba(35,51,67,.08); color:var(--site-ink); font-size:.84rem; font-weight:800; margin-bottom:26px;}
.avi-hero-avatar-wrap{width:110px; height:110px; border-radius:999px; overflow:hidden; border:6px solid rgba(255,255,255,.85); box-shadow:0 18px 34px rgba(35,51,67,.16); margin-bottom:20px;}
.avi-hero-avatar{width:100%; height:100%; object-fit:cover; object-position:center;}
.avi-hero-card h2{margin:0 0 12px; font-size:clamp(2.2rem,4vw,3.8rem); line-height:.98; color:var(--site-ink); max-width:14ch;}
.avi-hero-card p{max-width:48ch; margin:0 0 22px; color:var(--site-muted); font-size:1.06rem; line-height:1.75; background:rgba(255,255,255,.72); padding:16px 18px; border-radius:20px; border:1px solid rgba(35,51,67,.06);}
.avi-quick-row-hero{padding:0; gap:10px;}
.avi-chat-card{display:flex; flex-direction:column; min-height:520px; border-radius:28px; overflow:hidden; border:1px solid rgba(35,51,67,.08); background:rgba(255,255,255,.84);}
.avi-chat-head{padding:20px 22px 12px; border-bottom:1px solid rgba(35,51,67,.07);}
.avi-chat-head strong{display:block; font-size:1.18rem;}
.avi-chat-head p{margin:4px 0 0; color:var(--site-muted);}
.avi-chat-card .avi-messages{padding:18px 22px; min-height:280px; max-height:none; flex:1;}
.avi-chat-card .avi-form{padding:18px 22px 22px; grid-template-columns:1fr auto; background:rgba(255,255,255,.92);}
.avi-widget [hidden]{display:none !important;}

@media (max-width: 1080px){
  .avi-modal-shell{padding:18px;}
  .avi-modal-window{width:min(100vw - 36px, 980px); max-height:calc(100vh - 36px);} 
  .avi-modal-body{grid-template-columns:1fr;}
  .avi-hero-card,.avi-chat-card{min-height:auto;}
  .avi-hero-card h2{max-width:none;}
}
@media (max-width: 640px){
  .avi-modal-shell{padding:10px;}
  .avi-modal-window{width:calc(100vw - 20px); max-height:calc(100vh - 20px); border-radius:24px;}
  .avi-modal-topbar{padding:14px 16px;}
  .avi-modal-body{padding:14px; gap:14px;}
  .avi-hero-content{padding:22px;}
  .avi-hero-avatar-wrap{width:82px; height:82px; margin-bottom:14px;}
  .avi-hero-card h2{font-size:2rem;}
  .avi-hero-card p{font-size:.98rem;}
  .avi-launcher-text{display:none;}
}

/* Oblata AI */

.avi-modal-actions{display:flex;align-items:center;gap:10px;}
.avi-resize,.avi-close{border:none;background:rgba(35,51,67,.06);width:40px;height:40px;border-radius:999px;cursor:pointer;color:var(--site-ink);font-weight:800;display:inline-flex;align-items:center;justify-content:center;transition:transform .2s ease, background .2s ease;}
.avi-resize:hover,.avi-close:hover{background:rgba(35,51,67,.1);transform:translateY(-1px);}
.avi-widget.is-expanded .avi-modal-window{width:min(96vw,1360px);max-height:calc(100vh - 20px);}
.avi-widget.is-expanded .avi-modal-body{grid-template-columns:minmax(280px, .9fr) minmax(480px, 1.25fr);}
.avi-widget.is-expanded .avi-chat-card{min-height:640px;}
.avi-widget.is-expanded .avi-chat-card .avi-messages{min-height:380px;}
.avi-widget.is-expanded .avi-hero-card h2{font-size:clamp(2.6rem,4.4vw,4.4rem);}
@media (max-width: 980px){
  .avi-widget.is-expanded .avi-modal-window{width:min(100vw - 20px, 1120px);max-height:calc(100vh - 20px);}
  .avi-widget.is-expanded .avi-modal-body{grid-template-columns:1fr;}
}

.avi-bubble.is-loading{opacity:.78;font-style:italic;position:relative;}
.avi-bubble.is-loading::after{content:"";display:inline-block;width:0.85rem;height:0.85rem;margin-left:0.5rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-0.15rem;animation:aviSpin .8s linear infinite;}
@keyframes aviSpin{to{transform:rotate(360deg);}}


/* Sprint 33 · Footer refinement */
.footer-v2 .container{ padding-top:36px; padding-bottom:26px; }
.footer-v2 .footer-top{ align-items:start; gap:28px; }
.footer-v2 .footer-brand-block{ gap:22px; }
.footer-v2 .footer-brand-copy{ max-width:620px; }
.footer-v2 .footer-logo{ width:152px; filter:drop-shadow(0 10px 24px rgba(0,0,0,.18)); }
.footer-v2 .footer-title,
.footer-v2 h4{ color:#f8fbff; }
.footer-v2 .footer-title{ font-size:1.22rem; font-weight:800; line-height:1.25; margin-bottom:6px; }
.footer-v2 .footer-desc{ font-size:1rem; line-height:1.7; color:rgba(255,255,255,.92); margin:0; }
.footer-v2 h4{ margin:0 0 14px; font-size:.84rem; letter-spacing:.14em; text-transform:uppercase; font-weight:800; opacity:.95; }
.footer-v2 p,
.footer-v2 small{ color:rgba(255,255,255,.90); line-height:1.75; }
.footer-v2 p{ margin:0; }
.footer-columns{ grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr) minmax(0,1fr); gap:34px; }
.footer-links-list{ gap:10px; align-content:start; }
.footer-links-list a,
.footer-v2 .text-link{ display:inline-block; text-decoration:none; color:#ffffff; font-weight:700; font-size:1rem; line-height:1.45; }
.footer-links-list a:hover,
.footer-v2 .text-link:hover{ color:#fff; text-decoration:underline; text-underline-offset:3px; }
.footer-v2 .btn{ min-height:46px; font-weight:800; }
.footer-cta-row{ display:flex; flex-wrap:wrap; justify-content:flex-end; gap:12px; }
.footer-bottom-v2{ align-items:center; }
.footer-bottom-v2 small{ color:rgba(255,255,255,.78); font-size:.95rem; }
@media (max-width: 920px){
  .footer-v2 .footer-top{ gap:20px; }
  .footer-cta-row{ justify-content:flex-start; }
  .footer-columns{ gap:24px; }
}


/* Sprint 35 footer actual logo and stronger contrast */
.footer-v2 .footer-logo-actual{width:176px; max-width:min(100%, 260px); background:rgba(255,255,255,.96); border:1px solid rgba(255,255,255,.18); border-radius:18px; padding:12px 14px; box-shadow:0 12px 26px rgba(0,0,0,.18);}
.footer-v2 .footer-top{grid-template-columns:minmax(0,1fr) auto; align-items:start;}
.footer-mark{display:flex; align-items:center; justify-content:center; padding:12px; border-radius:20px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.10); box-shadow:0 10px 28px rgba(0,0,0,.18); min-height:104px; min-width:248px;}
.footer-mark-logo{display:block; width:230px; max-width:100%; height:auto; opacity:1; filter:none;}
.footer-v2 .footer-title{color:#ffffff; text-shadow:0 1px 0 rgba(0,0,0,.16);}
.footer-v2 .footer-desc,.footer-v2 p,.footer-v2 small,.footer-v2 .footer-bottom-v2 small{color:rgba(255,255,255,.96)!important;}
.footer-v2 h4{color:#ffffff; opacity:1;}
.footer-bottom-v2{border-top:1px solid rgba(255,255,255,.12);}
.footer-bottom-v2 small{font-weight:600; letter-spacing:.01em; text-shadow:0 1px 0 rgba(0,0,0,.18);}
@media (max-width: 1040px){.footer-mark{min-width:0; width:100%; max-width:280px;}}
@media (max-width: 920px){.footer-v2 .footer-top{grid-template-columns:1fr;} .footer-cta-row{width:100%; justify-content:flex-start;} .footer-mark{order:3;}}
@media (max-width: 640px){.footer-v2 .footer-logo-actual{width:160px;} .footer-mark-logo{width:190px;} .footer-v2 .footer-title{font-size:1.08rem;} .footer-bottom-v2{gap:8px;}}


/* Sprint 36 · Footer clean-up */
.footer-v2 .footer-top{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:26px;}
.footer-v2 .footer-logo-actual{width:172px;max-width:100%;background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:10px 12px;box-shadow:0 10px 22px rgba(0,0,0,.16);}
.footer-v2 .footer-brand-block{gap:20px;align-items:center;}
.footer-v2 .footer-brand-copy{max-width:560px;}
.footer-v2 .footer-title{font-size:1.18rem;line-height:1.25;margin-bottom:6px;color:#fff;}
.footer-v2 .footer-desc{font-size:1rem;line-height:1.6;color:rgba(255,255,255,.94)!important;}
.footer-cta-row{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;}
.footer-cta-btn{min-height:0!important;height:48px;padding:0 20px;border-radius:999px;font-size:1rem;font-weight:800;box-shadow:none;}
.footer-cta-secondary{background:rgba(255,255,255,.18)!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important;}
.footer-cta-secondary:hover{background:rgba(255,255,255,.24)!important;}
.footer-mark,.footer-mark-logo{display:none!important;}
.footer-columns{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) minmax(0,1fr);gap:34px;padding:24px 0 22px;}
.footer-v2 h4{margin:0 0 12px;color:#fff!important;opacity:1;font-size:.82rem;letter-spacing:.16em;}
.footer-v2 p,.footer-v2 small,.footer-v2 .footer-bottom-v2 small{color:rgba(255,255,255,.94)!important;}
.footer-links-list a,.footer-v2 .text-link{font-size:1rem;font-weight:750;color:#fff;}
.footer-bottom-v2{border-top:1px solid rgba(255,255,255,.12);padding-top:18px;margin-top:4px;}
.footer-bottom-v2 small{font-size:.98rem;font-weight:650;text-shadow:0 1px 0 rgba(0,0,0,.2);}
@media (max-width: 1040px){
  .footer-v2 .footer-top{grid-template-columns:1fr;}
  .footer-cta-row{justify-content:flex-start;}
}
@media (max-width: 640px){
  .footer-v2 .footer-logo-actual{width:154px;}
  .footer-cta-btn{height:44px;padding:0 16px;font-size:.95rem;}
  .footer-v2 .footer-title{font-size:1.08rem;}
}

/* Sprint 37 - footer CTA fine tuning */
.footer-cta-row{gap:10px;}
.footer-cta-btn{
  min-height:0!important;
  height:42px;
  padding:0 18px;
  border-radius:999px;
  font-size:.96rem;
  font-weight:780;
  line-height:1;
  letter-spacing:0;
}
.footer-v2 .btn.primary.footer-cta-btn{
  background:linear-gradient(135deg,#c86f85,#d08a6e)!important;
}
.footer-cta-secondary{
  background:rgba(255,255,255,.20)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  color:rgba(255,255,255,.94)!important;
}
.footer-cta-secondary:hover{
  background:rgba(255,255,255,.24)!important;
}
@media (max-width: 640px){
  .footer-cta-row{gap:8px;}
  .footer-cta-btn{height:40px;padding:0 15px;font-size:.92rem;}
}

/* Sprint 38 - footer CTA true centering */
.footer-cta-row{
  align-items:center;
}
.footer-v2 .footer-top .footer-cta-row .footer-cta-btn,
.footer-cta-row .footer-cta-btn,
a.footer-cta-btn,
button.footer-cta-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  vertical-align:middle;
  line-height:1 !important;
  white-space:nowrap;
}
.footer-cta-row .footer-cta-btn span{
  display:inline-block;
  line-height:1 !important;
}

/* Sprint 39 - footer CTA optical centering fix */
.footer-v2 .footer-cta-row .footer-cta-btn,
.footer-v2 .footer-cta-row a.footer-cta-btn,
.footer-v2 .footer-cta-row .btn.footer-cta-btn {
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  text-align: center !important;
}
.footer-v2 .footer-cta-row .footer-cta-btn {
  box-sizing: border-box;
}
.footer-v2 .footer-cta-row .footer-cta-btn {
  padding-top: 2px !important;
}
@media (max-width: 640px){
  .footer-v2 .footer-cta-row .footer-cta-btn,
  .footer-v2 .footer-cta-row a.footer-cta-btn,
  .footer-v2 .footer-cta-row .btn.footer-cta-btn {
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 15px !important;
    padding-top: 2px !important;
  }
}


/* Sprint 40 · Footer CTA labels truly centered */
.footer-cta-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box;min-width:126px;height:44px!important;padding:0 16px!important;text-align:center!important;vertical-align:middle;line-height:1!important;}
.footer-cta-btn .footer-cta-label{display:block;width:100%;line-height:1!important;text-align:center!important;transform:translateY(1px);}
.footer-cta-secondary .footer-cta-label{transform:translateY(0.5px);}
@media (max-width:640px){.footer-cta-btn{min-width:118px;height:42px!important;padding:0 14px!important;}.footer-cta-btn .footer-cta-label{transform:translateY(.5px);}}


/* Sprint 41 · Footer top links without buttons */
.footer-top-links{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;}
.footer-top-link{display:inline-flex;align-items:center;text-decoration:none;font-weight:800;letter-spacing:.01em;line-height:1.2;padding:0;color:rgba(255,255,255,.94);background:none!important;border:none!important;box-shadow:none!important;min-width:0!important;height:auto!important;min-height:0!important;}
.footer-top-link:hover{color:#ffffff;text-decoration:underline;text-underline-offset:4px;}
.footer-top-link-primary{color:#f0a1ae;}
.footer-top-link-secondary{color:rgba(255,255,255,.82);}
.footer-top-sep{color:rgba(255,255,255,.34);font-weight:700;line-height:1;}
@media (max-width: 1040px){
  .footer-top-links{justify-content:flex-start;}
}
@media (max-width: 640px){
  .footer-top-links{gap:8px;}
  .footer-top-link{font-size:.96rem;}
}
