/* Comunicación únicamente. Reutiliza tokens, títulos, chips, nav y botones globales. */
.communication-page { --communication-secondary: #53636b; overflow-wrap: anywhere; scroll-margin-top: 80px; }
.communication-page .communication-hero {
  height: 450px !important;
  min-height: 450px !important;
  max-height: 450px !important;
  padding: 0 !important;
  background:
    radial-gradient(circle at 18% 18%, rgba(229,104,35,.07), transparent 28%),
    linear-gradient(150deg, #f5f6f5 0%, var(--muted) 68%);
}
.communication-hero h1 { max-width: 58rem; margin: .8rem auto 1.15rem; text-wrap: balance; }
.communication-hero p { max-width: 46rem; margin: auto; color: var(--communication-secondary); font-size: 1.08rem; line-height: 1.65; }
.communication-page .science-section { padding: 4rem 0; scroll-margin-top: 145px; }
.communication-page .science-heading { margin-bottom: 2rem; }
.communication-page .science-heading p { color: var(--communication-secondary); }
.communication-page #campanas { padding: 3.25rem 0; background: #f4f5f4; }
.communication-page #tema-en-foco { padding-bottom: 3.5rem; }
.communication-page + footer { margin-top: 0; }
.communication-page .science-section-nav a { position: relative; color: var(--communication-secondary); transition: color .18s ease, background-color .18s ease; }
.communication-page .science-section-nav a.is-active,
.communication-page .science-section-nav a[aria-current="location"] { color: var(--primary); background: rgba(229,104,35,.09); }
.communication-page .science-section-nav a.is-active::after,
.communication-page .science-section-nav a[aria-current="location"]::after { content: ""; position: absolute; left: .8rem; right: .8rem; bottom: .22rem; height: 2px; border-radius: 999px; background: var(--primary); }
.communication-page .communication-filters { justify-content: center; gap: .65rem; }
.communication-page .science-library-chip { min-height: 44px; font-size: .9rem; }
.communication-note { color: var(--communication-secondary); font-size: .9rem; line-height: 1.6; margin: 1rem 0; }
.communication-filters + .communication-note { text-align: center; }
.communication-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.35rem; width: 100%; align-items: stretch; }
.communication-grid:has(> :only-child) { grid-template-columns: minmax(0,1fr); max-width: 31rem; margin-inline: auto; }
.communication-grid:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2,minmax(0,1fr)); max-width: 49rem; margin-inline: auto; }
.communication-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--border); border-radius: 1rem; overflow: hidden; background: var(--card); box-shadow: 0 4px 16px rgba(25,69,91,.035); transition: transform .22s ease, box-shadow .22s ease; }
.communication-media { aspect-ratio: 16/7.5; background: #e9edec; overflow: hidden; display: grid; place-items: center; padding: 1rem; border-bottom: 1px solid var(--border); }
.communication-media:has(img) { padding: 0; }
.communication-media > [data-communication-image] { width: 100%; height: 100%; min-height: 0; object-fit: contain; transition: transform .35s ease; }
.communication-media-failed { padding: 1rem !important; }
.communication-media-fallback { background: linear-gradient(145deg,#edf0ef 0%,#e3e8e6 100%); }
.communication-image-fallback:not([hidden]) { width: 100%; height: 100%; display: grid; place-items: center; background: linear-gradient(145deg,#edf0ef 0%,#e3e8e6 100%); }
.communication-fallback { width: min(78%,17rem); min-height: 5.6rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .65rem; border-top: 1px solid rgba(25,69,91,.16); border-bottom: 1px solid rgba(25,69,91,.16); }
.communication-fallback img { width: 5.5rem; height: auto; opacity: .68; filter: grayscale(.2); }
.communication-fallback span { color: #617078; font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.communication-card-body { padding: 1.5rem; display: flex; flex-direction: column; gap: .85rem; flex: 1; }
.communication-card-body > .section-kicker { align-self: flex-start; }
.communication-card h3 { font-size: 1.25rem; line-height: 1.35; font-weight: 700; }
.communication-card p { font-size: .95rem; line-height: 1.65; color: var(--communication-secondary); }
.communication-card-meta { display: flex; flex-wrap: wrap; gap: .6rem 1rem; align-items: center; color: var(--communication-secondary); font-size: .875rem; }
.communication-card-meta .badge { white-space: normal; }
.communication-card .btn { align-self: flex-start; margin-top: auto; }
.communication-card-actions { margin-top: auto; display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; }
.communication-card-actions .btn { margin-top: 0; }
.communication-pdf { font-size: .9rem; text-decoration: underline; text-underline-offset: 3px; }
.communication-source { font-size: .875rem !important; }
.communication-more { display: flex; justify-content: center; margin-top: 1.5rem; }
.communication-more:has([hidden]) { display: none; }
.communication-page .btn { white-space: normal; max-width: 100%; text-align: center; }
.communication-page summary { cursor: pointer; font-weight: 600; }
.communication-feature-body p { white-space: pre-line; margin-top: 1rem; }
.communication-page .btn:disabled { color: var(--communication-secondary); background: var(--muted); cursor: not-allowed; transform: none; box-shadow: none; }
.communication-focus { border-top: 3px solid var(--primary); }
.communication-feature { display: grid; grid-template-columns: minmax(0,.76fr) minmax(0,1.24fr); border: 1px solid var(--border); border-radius: 1.25rem; overflow: hidden; background: var(--card); }
.communication-feature .communication-media { aspect-ratio: auto; min-height: 240px; max-height: 340px; border: 0; }
.communication-feature-copy { padding: clamp(1.5rem,2.6vw,2.1rem); align-self: center; }
.communication-feature h3 { font-size: clamp(1.4rem,2vw,1.75rem); line-height: 1.3; margin: .85rem 0; font-weight: 700; }
.communication-feature p { font-size: 1rem; line-height: 1.68; color: var(--communication-secondary); }
.communication-feature-body { margin-top: 1.15rem; padding-top: 1.15rem; border-top: 1px solid var(--border); }
.communication-resources { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.35rem; margin-top: 1.35rem; }
.communication-resources[data-count="1"] { max-width: 31rem; margin-inline: auto; grid-template-columns: minmax(0,1fr); }
.communication-resources[data-count="2"] { max-width: 49rem; margin-inline: auto; grid-template-columns: repeat(2,minmax(0,1fr)); }
.communication-resources .communication-media { max-height: 220px; }
.communication-page :is(a,button,summary,[tabindex]):focus-visible { outline: 2px solid var(--foreground); outline-offset: 4px; }
.communication-page .communication-reveal-pending { opacity: 0; transform: translateY(12px); }
.communication-page [data-communication-reveal] { transition: opacity .45s ease, transform .45s ease; }
@media (hover:hover) {
  .communication-card:hover { transform: translateY(-3px); box-shadow: 0 8px 22px rgba(25,69,91,.07); }
  .communication-card:hover > .communication-media > [data-communication-image] { transform: scale(1.025); }
}
@media (max-width:1023px) {
  .communication-grid,.communication-resources { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .communication-page .communication-hero { height: 425px !important; min-height: 425px !important; max-height: 425px !important; }
}
@media (max-width:720px) {
  .communication-page .communication-hero { height: auto !important; min-height: 410px !important; max-height: none !important; padding: 2.75rem 0 !important; }
  .communication-hero h1 { font-size: clamp(2rem,8vw,3rem); line-height: 1.08; }
  .communication-hero p { font-size: 1rem; }
  .communication-page .science-section { padding: 3.25rem 0; }
  .communication-page #campanas { padding: 2.75rem 0; }
  .communication-page .science-heading { margin-bottom: 1.65rem; }
  .communication-grid,.communication-feature,.communication-resources,
  .communication-grid:has(> :nth-child(2):last-child),.communication-resources[data-count="2"] { grid-template-columns: minmax(0,1fr); }
  .communication-feature .communication-media { min-height: 180px; }
  .communication-page .science-section-nav-inner { flex-wrap: wrap; }
  .communication-page .science-section-nav a { font-size: .85rem; padding: .6rem .55rem; }
  .communication-page .science-section { scroll-margin-top: 155px; }
}
@media (prefers-reduced-motion:reduce) {
  html:has(.communication-page) { scroll-behavior: auto; }
  .communication-page *, .communication-page *::before, .communication-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .communication-page .communication-reveal-pending { opacity: 1; transform: none; }
  .communication-page .communication-card:hover,.communication-page .communication-card:hover > .communication-media > [data-communication-image],.communication-page .btn:hover { transform: none !important; }
}
