/*
Theme Name: NEXORA
Theme URI: https://example.test
Author: NEXORA
Description: Tema editorial de bloques, mobile-first y sin page builder.
Version: 0.6.0
Requires at least: 7.1
Requires PHP: 8.2
Text Domain: nexora
*/

:root {
  --nx-shadow-card: 0 16px 40px rgba(10, 13, 18, 0.13);
  --nx-header-height: 4.5rem;
  --nx-section-accent: var(--wp--preset--color--brand);
  --nx-black: #05050a;
  --nx-black-soft: #111118;
  --nx-violet: #7257ff;
  --nx-violet-bright: #a996ff;
  --nx-violet-pale: #eeeaff;
  --nx-white: #fff;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  background: var(--wp--preset--color--surface);
  color: var(--wp--preset--color--ink);
  text-rendering: optimizeLegibility;
}

a {
  text-underline-offset: 0.18em;
  text-decoration-thickness: 0.08em;
}

a:hover { color: var(--wp--preset--color--brand-strong); }

:focus-visible {
  outline: 3px solid var(--wp--preset--color--focus);
  outline-offset: 3px;
}

.nx-skip-link {
  background: var(--wp--preset--color--ink);
  color: var(--wp--preset--color--surface);
  left: 1rem;
  padding: 0.75rem 1rem;
  position: fixed;
  top: -5rem;
  z-index: 9999;
}

.nx-skip-link:focus { top: 1rem; }

.nx-preview-notice {
  background: #241447;
  border-bottom: 3px solid var(--nx-violet-bright);
  color: #fff;
  font-size: 0.82rem;
  line-height: 1.5;
}

.nx-preview-notice__inner {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.8rem;
  margin: 0 auto;
  max-width: 80rem;
  padding: 0.55rem 1rem;
}

.nx-preview-notice strong {
  color: #fff;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.nx-utility {
  background: #05070b;
  border-bottom: 1px solid rgba(255, 255, 255, 0.13);
  color: #d6dae1;
  font-size: 0.68rem;
  letter-spacing: 0.07em;
}

.nx-utility .alignwide { min-height: 2rem; }
.nx-utility p { margin-block: 0.35rem; }
.nx-utility a { color: inherit; text-decoration: none; }
.nx-utility strong { color: #fff; letter-spacing: 0.12em; }

.nx-main-header {
  background: rgba(255, 255, 255, 0.98);
  border-bottom: 1px solid var(--wp--preset--color--border);
}

.nx-main-header .wp-block-site-title {
  font-size: clamp(1.65rem, 5vw, 2.65rem);
  font-weight: 900;
  letter-spacing: 0.32em;
  line-height: 1;
  margin: 0;
}

.nx-main-header .wp-block-site-title a { text-decoration: none; }

.nx-brand-lockup { gap: 0.9rem; }

.nx-brand-lockup img {
  display: block;
  height: 2.5rem;
  width: 2.5rem;
}

.nx-edition-note {
  color: var(--wp--preset--color--ink-soft);
  font-size: 0.72rem;
  letter-spacing: 0.02em;
  line-height: 1.45;
  text-align: right;
}

.nx-edition-note p { margin: 0; }
.nx-edition-note span { color: var(--wp--preset--color--muted); }

.nx-section-nav {
  background: var(--nx-black);
  border-bottom: 3px solid var(--nx-violet);
  position: sticky;
  top: 0;
  z-index: 100;
}

.nx-primary-nav {
  color: #fff;
  font-size: 0.78rem;
  font-weight: 800;
  min-height: 3.05rem;
  text-transform: uppercase;
}

.nx-primary-nav .wp-block-navigation-item__content { color: inherit; text-decoration: none; }
.nx-primary-nav .wp-block-navigation-item__content:hover { color: var(--nx-violet-bright); }
.nx-primary-nav .wp-block-navigation__responsive-container-open { color: #fff; }

.nx-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
  background: var(--nx-black);
  color: #fff;
  padding: 1.25rem 1.5rem;
}

.nx-primary-nav .is-menu-open .wp-block-navigation__responsive-container-content,
.nx-primary-nav .is-menu-open .wp-block-navigation__container {
  align-items: flex-start !important;
  justify-content: flex-start !important;
  width: 100%;
}

.nx-primary-nav .is-menu-open .wp-block-navigation-item {
  text-align: left;
  width: 100%;
}

.nx-trending {
  background: #fff;
  border-bottom: 1px solid var(--wp--preset--color--border);
  overflow-x: auto;
  scrollbar-width: thin;
}

.nx-trending .wp-block-group {
  min-width: max-content;
  padding-block: 0.7rem;
}

.nx-trending-label {
  background: var(--nx-violet);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  padding: 0.32rem 0.58rem;
  text-transform: uppercase;
}

.nx-trending a { font-size: 0.77rem; font-weight: 800; text-decoration: none; text-transform: uppercase; }

.nx-section-kicker,
.nx-card-kicker {
  color: var(--wp--preset--color--brand-strong);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.nx-newsroom {
  background: var(--nx-white);
  overflow: hidden;
  padding-block: clamp(1.35rem, 3vw, 2.5rem);
  position: relative;
}

.nx-newsroom::before {
  background: linear-gradient(90deg, transparent, var(--nx-violet), transparent);
  content: '';
  height: 1px;
  left: -35%;
  opacity: 0.7;
  position: absolute;
  top: 0;
  width: 42%;
}

.nx-effects-ready .nx-newsroom::before { animation: nx-scan 9s cubic-bezier(0.6, 0, 0.4, 1) infinite; }

body.category-ahora,
body.tax-nx_section.term-ahora { --nx-section-accent: var(--wp--preset--color--section-now); }
body.category-economia,
body.tax-nx_section.term-economia { --nx-section-accent: var(--wp--preset--color--section-economy); }
body.category-tecnologia,
body.tax-nx_section.term-tecnologia { --nx-section-accent: var(--wp--preset--color--section-tech); }
body.category-entretenimiento,
body.tax-nx_section.term-entretenimiento { --nx-section-accent: var(--wp--preset--color--section-entertainment); }
body.category-motor,
body.tax-nx_section.term-motor { --nx-section-accent: var(--wp--preset--color--section-motor); }
body.category-viajes,
body.tax-nx_section.term-viajes { --nx-section-accent: var(--wp--preset--color--section-travel); }
body.category-vida,
body.tax-nx_section.term-vida { --nx-section-accent: var(--wp--preset--color--section-life); }

.nx-archive-intro {
  border-top: 0.4rem solid var(--nx-section-accent);
  margin-top: clamp(2rem, 5vw, 4rem);
  padding-top: clamp(1.5rem, 4vw, 3rem);
}

.nx-archive-intro .nx-section-kicker { color: var(--nx-section-accent); }

.nx-archive-intro .taxonomy-description {
  color: var(--wp--preset--color--ink-soft);
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  max-width: 46rem;
}

.nx-hero-grid .wp-block-post-template {
  display: grid;
  gap: clamp(1.25rem, 3vw, 2rem);
  grid-template-columns: minmax(0, 1.55fr) minmax(17rem, 0.75fr);
}

.nx-lead-grid .wp-block-post:first-child .wp-block-post-title { font-size: clamp(2rem, 4.5vw, 4rem) !important; }
.nx-lead-grid .wp-block-post:not(:first-child) .wp-block-post-title { font-size: clamp(1.35rem, 2.4vw, 2rem) !important; }
.nx-lead-grid .wp-block-post:first-child .wp-block-post-featured-image { box-shadow: var(--nx-shadow-card); }

.nx-lead-stories {
  --nx-pointer-x: 58%;
  --nx-pointer-y: 22rem;
  isolation: isolate;
  margin-top: 0;
  position: relative;
}

.nx-lead-stories::before {
  background: radial-gradient(32rem circle at var(--nx-pointer-x) var(--nx-pointer-y), rgba(114, 87, 255, 0.12), transparent 72%);
  content: '';
  inset: -2rem;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity 350ms ease;
  z-index: -1;
}

.nx-effects-ready .nx-lead-stories:hover::before { opacity: 1; }

.nx-news-lead__top {
  display: grid;
  gap: clamp(1.25rem, 2.5vw, 2rem);
  grid-template-columns: minmax(0, 3fr) minmax(16rem, 1fr);
}

.nx-news-lead .nx-home-card--lead {
  border-bottom: 1px solid var(--nx-black);
  border-top: 0.42rem solid var(--nx-violet);
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.8fr);
  padding-bottom: 0;
}

.nx-news-lead .nx-home-card--lead .nx-home-card__media { min-height: 27rem; }

.nx-news-lead .nx-home-card--lead .nx-home-card__media img,
.nx-news-lead .nx-home-card--lead .nx-home-card__placeholder {
  height: 100%;
  object-fit: cover;
}

.nx-news-lead .nx-home-card--lead .nx-home-card__content {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.25rem, 3vw, 2.25rem);
}

.nx-news-lead__brief {
  background:
    radial-gradient(circle at 88% 12%, rgba(114, 87, 255, 0.32), transparent 42%),
    var(--nx-black);
  border: 1px solid rgba(169, 150, 255, 0.35);
  color: var(--nx-white);
  min-height: 27rem;
  overflow: hidden;
  padding: clamp(1.4rem, 2.4vw, 2rem);
  position: relative;
}

.nx-news-lead__brief > *:not(.nx-news-lead__orbit) { position: relative; z-index: 1; }

.nx-news-lead__orbit {
  border: 1px solid rgba(169, 150, 255, 0.22);
  height: 17rem;
  pointer-events: none;
  position: absolute;
  right: -9rem;
  top: -6rem;
  transform: rotate(18deg);
  width: 17rem;
}

.nx-news-lead__orbit--two {
  border-color: rgba(255, 255, 255, 0.09);
  height: 11rem;
  right: -4rem;
  top: -2rem;
  transform: rotate(48deg);
  width: 11rem;
}

.nx-effects-ready .nx-news-lead__orbit--one { animation: nx-orbit 16s linear infinite; }
.nx-effects-ready .nx-news-lead__orbit--two { animation: nx-orbit-reverse 21s linear infinite; }

.nx-news-lead__eyebrow {
  align-items: center;
  color: var(--nx-violet-bright);
  display: flex;
  font-size: 0.7rem;
  font-weight: 900;
  gap: 0.55rem;
  letter-spacing: 0.12em;
  margin: 0 0 1.3rem;
  text-transform: uppercase;
}

.nx-news-lead__eyebrow span {
  background: var(--nx-violet);
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(114, 87, 255, 0.16);
  height: 0.5rem;
  width: 0.5rem;
}

.nx-news-lead__brief h2 {
  color: inherit;
  font-family: var(--wp--preset--font-family--editorial);
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 0.98;
  margin: 0 0 1.6rem;
}

.nx-news-lead__brief ul { list-style: none; margin: 0; padding: 0; }

.nx-news-lead__brief li {
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  display: grid;
  gap: 0.18rem;
  padding-block: 0.75rem;
}

.nx-news-lead__brief li strong { color: var(--nx-violet-bright); font-size: 0.8rem; text-transform: uppercase; }
.nx-news-lead__brief li span { color: rgba(255, 255, 255, 0.72); font-size: 0.78rem; line-height: 1.45; }

.nx-news-lead__brief-link {
  color: var(--nx-white);
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 800;
  gap: 0.4rem;
  margin-top: 1.15rem;
  text-decoration: none;
  text-transform: uppercase;
}

.nx-news-lead__brief-link:hover { color: var(--nx-violet-bright); }

.nx-news-lead__secondary {
  border-bottom: 1px solid var(--nx-black);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: clamp(1.25rem, 2.5vw, 2rem);
}

.nx-news-lead__secondary .nx-home-card--rail {
  border-bottom: 0;
  border-right: 1px solid var(--wp--preset--color--border);
  display: block;
  padding: 0 clamp(1rem, 2vw, 1.5rem) 1.25rem;
}

.nx-news-lead__secondary .nx-home-card--rail:first-child { padding-left: 0; }
.nx-news-lead__secondary .nx-home-card--rail:last-child { border-right: 0; padding-right: 0; }
.nx-news-lead__secondary .nx-home-card__content { padding-top: 0.8rem; }
.nx-news-lead__secondary .nx-home-card--rail h3 { font-size: clamp(1.3rem, 2vw, 1.75rem); }
.nx-news-lead__secondary .nx-home-card__media img,
.nx-news-lead__secondary .nx-home-card__placeholder { aspect-ratio: 16 / 9; height: auto; }

.nx-home-card {
  border-bottom: 1px solid var(--wp--preset--color--border);
  min-width: 0;
  padding-bottom: 1.15rem;
}

.nx-home-card__media {
  background: linear-gradient(145deg, var(--nx-black-soft), var(--nx-violet));
  display: block;
  overflow: hidden;
  position: relative;
}

.nx-home-card__media::after {
  background: linear-gradient(125deg, transparent 40%, rgba(169, 150, 255, 0.18), transparent 62%);
  content: '';
  inset: 0;
  opacity: 0;
  position: absolute;
  transform: translateX(-35%);
  transition: opacity 350ms ease, transform 600ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.nx-home-card__media img {
  aspect-ratio: 16 / 9;
  display: block;
  height: auto;
  object-fit: cover;
  transition: transform 220ms ease;
  width: 100%;
}

.nx-home-card:hover .nx-home-card__media img { transform: scale(1.035); }
.nx-home-card:hover .nx-home-card__media::after { opacity: 1; transform: translateX(35%); }

.nx-home-card__placeholder {
  align-items: center;
  aspect-ratio: 16 / 9;
  color: rgba(255, 255, 255, 0.9);
  display: flex;
  font-family: var(--wp--preset--font-family--editorial);
  font-size: clamp(3rem, 8vw, 7rem);
  font-weight: 700;
  justify-content: center;
}

.nx-home-card__content { padding-top: 0.9rem; }
.nx-home-card .nx-card-kicker { margin-block: 0 0.42rem; }
.nx-home-card .nx-card-kicker a { color: var(--nx-lane-accent, var(--nx-violet)); text-decoration: none; }

.nx-home-card h2,
.nx-home-card h3,
.nx-home-card h4 {
  font-family: var(--wp--preset--font-family--editorial);
  line-height: 1.04;
  margin-block: 0;
}

.nx-home-card h2 a,
.nx-home-card h3 a,
.nx-home-card h4 a { color: inherit; text-decoration: none; }

.nx-home-card__excerpt {
  color: var(--wp--preset--color--ink-soft);
  line-height: 1.5;
  margin-block: 0.7rem 0;
}

.nx-home-card__meta {
  align-items: center;
  color: var(--wp--preset--color--muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.72rem;
  gap: 0.35rem;
  margin-block: 0.75rem 0;
  text-transform: uppercase;
}

.nx-home-card--lead h2 { font-size: clamp(2rem, 3.5vw, 3.35rem); }

.nx-home-card--rail {
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(7rem, 0.72fr) minmax(0, 1fr);
}

.nx-home-card--rail .nx-home-card__content { padding-top: 0; }
.nx-home-card--rail h3 { font-size: clamp(1.15rem, 2vw, 1.55rem); }
.nx-home-card--rail .nx-home-card__media img,
.nx-home-card--rail .nx-home-card__placeholder { aspect-ratio: 4 / 3; height: 100%; }

.nx-topic-lane {
  border-top: 0.28rem solid var(--nx-lane-accent);
  margin-block: clamp(2.75rem, 5vw, 4.75rem);
  padding-top: 1rem;
  position: relative;
}

.nx-topic-lane::before {
  background: var(--nx-lane-accent);
  content: '';
  height: 0.28rem;
  left: 0;
  position: absolute;
  top: -0.28rem;
  transform: scaleX(0);
  transform-origin: left;
  width: 100%;
}

.nx-effects-ready .nx-topic-lane.is-visible::before { animation: nx-line-reveal 900ms cubic-bezier(0.2, 0.75, 0.25, 1) both; }

.nx-topic-lane__header {
  align-items: end;
  display: grid;
  gap: 1rem 2rem;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-bottom: 1.35rem;
}

.nx-topic-lane__header .nx-section-kicker { color: var(--nx-lane-accent); margin-block: 0 0.25rem; }
.nx-topic-lane__header h2 { font-size: clamp(1.85rem, 3vw, 3rem); margin: 0; }
.nx-topic-lane__header p:not(.nx-section-kicker) { color: var(--wp--preset--color--muted); margin-block: 0.45rem 0; max-width: 48rem; }

.nx-topic-lane__more {
  border-bottom: 2px solid var(--nx-lane-accent);
  color: var(--wp--preset--color--ink);
  font-size: 0.78rem;
  font-weight: 800;
  padding-bottom: 0.25rem;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.nx-topic-lane__grid { display: grid; gap: 1.5rem; }
.nx-topic-lane--grid .nx-topic-lane__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nx-topic-lane--feature .nx-topic-lane__grid { grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, 0.8fr)); }
.nx-topic-lane--feature .nx-home-card--feature { grid-row: span 2; }
.nx-home-card--feature h3 { font-size: clamp(1.8rem, 3.4vw, 3rem); }
.nx-home-card--grid h3,
.nx-home-card--feature ~ .nx-home-card h3 { font-size: clamp(1.25rem, 2vw, 1.65rem); }

.nx-lane-duo {
  align-items: start;
  gap: clamp(2rem, 5vw, 4rem);
  margin-block: clamp(2.75rem, 5vw, 4.75rem);
}

.nx-lane-duo .nx-topic-lane { margin-block: 0; }
.nx-topic-lane--compact .nx-topic-lane__header { grid-template-columns: 1fr; }
.nx-topic-lane--compact .nx-topic-lane__more { justify-self: start; }
.nx-topic-lane--compact .nx-topic-lane__grid { grid-template-columns: 1fr; }

.nx-home-card--compact {
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr);
  padding-bottom: 1rem;
}

.nx-home-card--compact:first-child { grid-template-columns: minmax(9rem, 0.75fr) minmax(0, 1fr); }
.nx-home-card--compact:first-child .nx-home-card__content { padding-top: 0; }
.nx-home-card--compact h3 { font-size: clamp(1.2rem, 2.2vw, 1.65rem); }
.nx-home-card--compact:not(:first-child) .nx-card-kicker { display: none; }

.nx-hero-grid .wp-block-post:first-child {
  grid-row: span 2;
}

.nx-card {
  border-bottom: 1px solid var(--wp--preset--color--border);
  padding-bottom: 1.25rem;
}

.nx-card .wp-block-post-featured-image {
  aspect-ratio: 16 / 10;
  background: linear-gradient(135deg, #ececf5, #f8f8fb);
  margin-bottom: 1rem;
  overflow: hidden;
}

.nx-card .wp-block-post-featured-image img {
  height: 100%;
  object-fit: cover;
  transition: transform 220ms ease;
  width: 100%;
}

.nx-card:hover .wp-block-post-featured-image img { transform: scale(1.015); }

.nx-card .wp-block-post-title {
  font-family: var(--wp--preset--font-family--editorial);
  line-height: 1.06;
  margin-block: 0.4rem 0.6rem;
}

.nx-card .wp-block-post-title a { text-decoration: none; }

.nx-card-meta {
  color: var(--wp--preset--color--muted);
  font-size: 0.78rem;
}

.nx-latest-grid .wp-block-post-template {
  display: grid;
  gap: 2rem 1.5rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nx-archive-grid {
  margin-block: 2rem 4rem;
}

.nx-pagination {
  border-top: 1px solid var(--wp--preset--color--border);
  margin-top: 2.5rem;
  padding-top: 1.25rem;
}

.nx-pagination a { font-weight: 700; }

.nx-empty-state {
  background: var(--wp--preset--color--paper);
  border-left: 0.35rem solid var(--nx-section-accent);
  grid-column: 1 / -1;
  margin-block: 1rem 3rem;
  padding: clamp(1.5rem, 4vw, 3rem);
}

.nx-empty-state h2 { margin-top: 0; }

.nx-author-profile {
  align-items: center;
  border-bottom: 1px solid var(--wp--preset--color--border);
  display: grid;
  gap: clamp(1.5rem, 4vw, 3rem);
  grid-template-columns: 7rem minmax(0, 1fr);
  margin-block: clamp(2rem, 6vw, 5rem) 3rem;
  padding-bottom: 2.5rem;
}

.nx-author-initials {
  align-items: center;
  aspect-ratio: 1;
  background: var(--wp--preset--color--ink);
  border-radius: 4px;
  color: var(--wp--preset--color--surface);
  display: flex;
  font-family: var(--wp--preset--font-family--editorial);
  font-size: 2.2rem;
  font-weight: 700;
  justify-content: center;
}

.nx-author-copy h1 {
  font-size: clamp(2.25rem, 6vw, 4.8rem);
  margin-block: 0.2rem 0.75rem;
}

.nx-author-bio {
  color: var(--wp--preset--color--ink-soft);
  font-size: clamp(1.05rem, 2vw, 1.2rem);
  max-width: 44rem;
}

.nx-author-count,
.nx-search-header > p:not(.nx-section-kicker) {
  color: var(--wp--preset--color--muted);
}

.nx-search-landing,
.nx-error-page {
  min-height: 58vh;
  padding-block: clamp(3rem, 9vw, 8rem);
}

.nx-search-landing > *,
.nx-error-page > * { max-width: 48rem; }

.nx-search-form {
  margin-block: 1.5rem;
  max-width: 46rem;
}

.nx-search-form .wp-block-search__input,
.nx-search-form .wp-block-search__button {
  min-height: 3.25rem;
}

.nx-search-form .wp-block-search__input {
  border: 1px solid var(--wp--preset--color--ink);
  border-radius: 4px 0 0 4px;
  font-size: 1rem;
  padding-inline: 1rem;
}

.nx-search-form .wp-block-search__button {
  border-radius: 0 4px 4px 0;
  margin-left: 0;
  padding-inline: 1.5rem;
}

.nx-error-links {
  gap: 0.75rem 1.5rem;
  margin-top: 2rem;
}

.nx-error-links a { font-weight: 700; }

.nx-section-heading {
  align-items: baseline;
  border-top: 3px solid var(--wp--preset--color--ink);
  display: flex;
  justify-content: space-between;
  padding-top: 0.8rem;
}

.nx-section-heading h2 { margin: 0; }

.nx-newsletter {
  background:
    radial-gradient(circle at 86% 18%, rgba(114, 87, 255, 0.35), transparent 26rem),
    var(--nx-black);
  border: 1px solid rgba(114, 87, 255, 0.38);
  box-shadow: 0 28px 70px rgba(5, 5, 10, 0.2);
  color: var(--wp--preset--color--surface);
  overflow: hidden;
  padding: clamp(1.5rem, 5vw, 3rem);
  position: relative;
}

.nx-newsletter::after {
  background: transparent;
  border: 1px solid rgba(169, 150, 255, 0.25);
  content: '';
  height: 14rem;
  opacity: 1;
  position: absolute;
  right: -6rem;
  top: -7rem;
  transform: rotate(28deg);
  width: 14rem;
}

.nx-newsletter h2,
.nx-newsletter a { color: inherit; }

.nx-newsletter .wp-element-button {
  background: var(--wp--preset--color--surface);
  color: var(--wp--preset--color--ink);
  display: inline-block;
  font-weight: 800;
  position: relative;
  text-decoration: none;
  z-index: 1;
}

.nx-effects-ready .nx-topic-lane,
.nx-effects-ready .nx-lane-duo,
.nx-effects-ready .nx-newsletter,
.nx-effects-ready .nx-section-feed,
.nx-effects-ready .nx-explainer-card,
.nx-effects-ready .nx-utility-card,
.nx-effects-ready .nx-live-brief {
  opacity: 0;
  transform: translateY(2rem);
  transition: opacity 700ms ease, transform 850ms cubic-bezier(0.2, 0.75, 0.25, 1);
}

.nx-effects-ready .nx-topic-lane.is-visible,
.nx-effects-ready .nx-lane-duo.is-visible,
.nx-effects-ready .nx-newsletter.is-visible,
.nx-effects-ready .nx-section-feed.is-visible,
.nx-effects-ready .nx-explainer-card.is-visible,
.nx-effects-ready .nx-utility-card.is-visible,
.nx-effects-ready .nx-live-brief.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@keyframes nx-scan {
  0%, 18% { left: -42%; opacity: 0; }
  24% { opacity: 0.75; }
  62% { left: 100%; opacity: 0.75; }
  68%, 100% { left: 100%; opacity: 0; }
}

@keyframes nx-orbit {
  to { transform: rotate(378deg); }
}

@keyframes nx-orbit-reverse {
  to { transform: rotate(-312deg); }
}

@keyframes nx-line-reveal {
  to { transform: scaleX(1); }
}

.nx-section-stage {
  background:
    linear-gradient(90deg, rgba(114, 87, 255, 0.08) 1px, transparent 1px),
    linear-gradient(rgba(114, 87, 255, 0.08) 1px, transparent 1px),
    radial-gradient(circle at 88% 18%, rgba(114, 87, 255, 0.4), transparent 24rem),
    var(--nx-black);
  background-size: 3rem 3rem, 3rem 3rem, auto, auto;
  color: var(--nx-white);
  overflow: hidden;
  padding-block: clamp(2.75rem, 7vw, 6rem);
  position: relative;
}

.nx-section-stage::after {
  border: 1px solid rgba(169, 150, 255, 0.24);
  content: '';
  height: 20rem;
  position: absolute;
  right: -8rem;
  top: -11rem;
  transform: rotate(34deg);
  width: 20rem;
}

.nx-section-stage__inner { margin-left: max(1rem, calc((100% - 1180px) / 2)) !important; }
.nx-section-stage .nx-section-kicker { color: var(--nx-violet-bright); }
.nx-section-stage h1 { color: inherit; font-size: clamp(3.25rem, 8vw, 7.5rem) !important; line-height: 0.85; margin-block: 0.65rem 1rem; max-width: 10ch; }
.nx-section-stage .taxonomy-description { color: rgba(255, 255, 255, 0.78); font-size: clamp(1.05rem, 2vw, 1.3rem); max-width: 44rem; }
.nx-section-stage__promise { border-left: 3px solid var(--nx-violet); color: rgba(255, 255, 255, 0.64); font-size: 0.82rem; margin-top: 1.75rem; max-width: 34rem; padding-left: 1rem; }

.nx-section-feed { margin-block: clamp(2.25rem, 5vw, 4.5rem); }
.nx-section-feed .wp-block-post-template { display: grid; gap: clamp(1.25rem, 2.5vw, 2rem); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nx-section-card { border-top: 3px solid var(--nx-violet); margin: 0; min-width: 0; padding-top: 0.7rem; }
.nx-section-card .wp-block-post-featured-image { margin: 0 0 1rem; overflow: hidden; }
.nx-section-card .wp-block-post-featured-image img { transition: transform 420ms ease; }
.nx-section-card:hover .wp-block-post-featured-image img { transform: scale(1.025); }
.nx-section-card .wp-block-post-title { font-family: var(--wp--preset--font-family--editorial); font-size: clamp(1.35rem, 2vw, 1.85rem) !important; line-height: 1.04; margin-block: 0.45rem 0.6rem; }
.nx-section-card .wp-block-post-title a { text-decoration: none; }
.nx-section-card .wp-block-post-excerpt { color: var(--wp--preset--color--ink-soft); font-size: 0.9rem; }
.nx-section-feed .wp-block-post:first-child { grid-column: span 2; grid-row: span 2; }
.nx-section-feed .wp-block-post:first-child .wp-block-post-title { font-size: clamp(2.25rem, 4.5vw, 4.25rem) !important; max-width: 17ch; }
.nx-section-feed .wp-block-post:first-child .wp-block-post-excerpt { font-size: 1rem; max-width: 45rem; }

.nx-module-kicker {
  color: var(--nx-violet);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  margin-block: 0 0.65rem;
  text-transform: uppercase;
}

.nx-explainer-card,
.nx-utility-card,
.nx-live-brief {
  margin-block: clamp(2rem, 5vw, 3.5rem);
}

.nx-explainer-card {
  background:
    radial-gradient(circle at 92% 8%, rgba(114, 87, 255, 0.4), transparent 16rem),
    var(--nx-black);
  border: 1px solid rgba(169, 150, 255, 0.34);
  color: var(--nx-white);
  overflow: hidden;
  padding: clamp(1.5rem, 4vw, 3rem);
  position: relative;
}

.nx-explainer-card::after {
  border: 1px solid rgba(169, 150, 255, 0.18);
  content: '';
  height: 12rem;
  position: absolute;
  right: -6rem;
  top: -7rem;
  transform: rotate(45deg);
  width: 12rem;
}

.nx-explainer-card h2 { color: inherit; font-size: clamp(2rem, 4vw, 3.5rem); line-height: 0.98; margin-block: 0 1rem; max-width: 18ch; }
.nx-explainer-card__answer { color: rgba(255, 255, 255, 0.88); font-size: clamp(1.05rem, 2vw, 1.25rem); line-height: 1.55; max-width: 42rem; }
.nx-explainer-card__evidence { border-top: 1px solid rgba(255, 255, 255, 0.16); color: rgba(255, 255, 255, 0.64); font-size: 0.8rem; margin-top: 1.5rem; padding-top: 1rem; }

.nx-utility-card { background: var(--nx-violet-pale); border-left: 0.4rem solid var(--nx-violet); padding: clamp(1.5rem, 4vw, 2.75rem); }
.nx-utility-card h2 { font-size: clamp(1.8rem, 3vw, 2.75rem); margin-block: 0 0.65rem; }
.nx-utility-card__summary { color: var(--wp--preset--color--ink-soft); max-width: 42rem; }
.nx-utility-card ol { counter-reset: nx-steps; display: grid; gap: 0; list-style: none; margin: 1.5rem 0 0; padding: 0; }
.nx-utility-card li { align-items: start; border-top: 1px solid rgba(5, 5, 10, 0.14); counter-increment: nx-steps; display: grid; gap: 1rem; grid-template-columns: 2rem minmax(0, 1fr); padding-block: 0.9rem; }
.nx-utility-card li::before { color: var(--nx-violet); content: counter(nx-steps, decimal-leading-zero); font-size: 0.75rem; font-weight: 900; }
.nx-utility-card__validity { color: var(--wp--preset--color--muted); font-size: 0.75rem; margin-bottom: 0; }

.nx-live-brief { border-bottom: 1px solid var(--nx-black); border-top: 0.35rem solid var(--nx-violet); padding-top: 1rem; }
.nx-live-brief__header { align-items: end; display: flex; gap: 1rem; justify-content: space-between; }
.nx-live-brief__header h2 { font-size: clamp(1.9rem, 3vw, 2.8rem); margin: 0; }
.nx-live-brief__header time { color: var(--wp--preset--color--muted); font-size: 0.72rem; text-transform: uppercase; }
.nx-live-brief .nx-module-kicker { align-items: center; display: flex; gap: 0.5rem; }
.nx-live-brief .nx-module-kicker span { background: var(--nx-violet); border-radius: 50%; box-shadow: 0 0 0 5px rgba(114, 87, 255, 0.12); height: 0.5rem; width: 0.5rem; }
.nx-live-brief__summary { color: var(--wp--preset--color--ink-soft); max-width: 46rem; }
.nx-live-brief__timeline { list-style: none; margin: 1.5rem 0 0; padding: 0; }
.nx-live-brief__timeline li { border-top: 1px solid var(--wp--preset--color--border); display: grid; gap: 0.5rem 1rem; grid-template-columns: 4rem minmax(0, 1fr) auto; padding-block: 1rem; }
.nx-live-brief__timeline time { color: var(--nx-violet); font-size: 0.78rem; font-weight: 900; }
.nx-live-brief__timeline p { margin: 0; }
.nx-live-brief__timeline a,
.nx-live-brief__timeline span { color: var(--wp--preset--color--muted); font-size: 0.72rem; }

.nx-article-header {
  border-bottom: 1px solid var(--wp--preset--color--border);
  padding-block: clamp(2rem, 7vw, 5.5rem) 2rem;
}

.nx-article-header h1 { max-width: 18ch; }

.nx-breadcrumb {
  color: var(--wp--preset--color--muted);
  font-size: 0.78rem;
  margin-bottom: 1.5rem;
}

.nx-breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nx-breadcrumb li {
  align-items: center;
  display: flex;
  gap: 0.35rem;
}

.nx-breadcrumb li:not(:last-child)::after {
  color: var(--wp--preset--color--border);
  content: '›';
  font-size: 1rem;
}

.nx-breadcrumb [aria-current='page'] {
  max-width: 36ch;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nx-article-dek {
  color: var(--wp--preset--color--ink-soft);
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  line-height: 1.45;
  max-width: 48rem;
}

.nx-article-meta {
  align-items: center;
  color: var(--wp--preset--color--muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.8rem;
  gap: 0.45rem 1.1rem;
  margin-top: 1.5rem;
}

.nx-article-meta a { font-weight: 700; }

.nx-article-shell {
  display: flex;
  flex-direction: column;
}

.nx-article-brief {
  background: linear-gradient(135deg, #f5f2ff, var(--wp--preset--color--paper));
  border-left: 0.35rem solid var(--wp--preset--color--brand);
  margin-bottom: 1.5rem;
  padding: clamp(1.25rem, 4vw, 2rem);
}

.nx-context-strip {
  border-block: 1px solid var(--wp--preset--color--border);
  margin-bottom: 1.5rem;
  padding-block: 1.25rem;
}

.nx-context-strip__header {
  align-items: center;
  display: grid;
  gap: 0.25rem 1rem;
  grid-template-columns: minmax(0, 1fr) auto;
}

.nx-context-strip__header .nx-section-kicker {
  grid-column: 1 / -1;
  margin: 0;
}

.nx-context-strip__header h2 {
  font-size: clamp(1.45rem, 3vw, 2rem);
  margin: 0;
}

.nx-context-status {
  background: var(--wp--preset--color--paper);
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  padding: 0.35rem 0.65rem;
  text-transform: uppercase;
  white-space: nowrap;
}

.nx-context-status--developing { background: #fff4e5; border-color: #f5c16c; color: #8a4b08; }
.nx-context-status--updated { background: #eef4ff; border-color: #b2ccff; color: #1849a9; }
.nx-context-status--confirmed,
.nx-context-status--closed { background: #ecfdf3; border-color: #abefc6; color: #067647; }

.nx-context-strip__grid {
  display: grid;
  gap: 1rem 1.5rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-block: 1.25rem 0;
}

.nx-context-strip__grid div {
  border-left: 3px solid var(--nx-section-accent);
  padding-left: 1rem;
}

.nx-context-strip__grid dt {
  color: var(--wp--preset--color--muted);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nx-context-strip__grid dd {
  color: var(--wp--preset--color--ink-soft);
  line-height: 1.55;
  margin: 0.35rem 0 0;
}

.nx-context-strip__verified {
  color: var(--wp--preset--color--muted);
  font-size: 0.75rem;
  margin: 1rem 0 0;
}

.nx-impact-card {
  background: var(--wp--preset--color--ink);
  border-top: 0.35rem solid var(--nx-section-accent);
  color: var(--wp--preset--color--surface);
  margin-bottom: 1.5rem;
  padding: clamp(1.25rem, 4vw, 2rem);
}

.nx-impact-card .nx-section-kicker { color: #c9c3ff; margin-top: 0; }

.nx-impact-card h2 {
  color: inherit;
  font-size: clamp(1.65rem, 4vw, 2.2rem);
  margin-block: 0.25rem 1rem;
}

.nx-impact-card h3 {
  color: inherit;
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  margin-top: 1.25rem;
  text-transform: uppercase;
}

.nx-impact-card ul { margin-bottom: 0; padding-left: 1.25rem; }
.nx-impact-card li + li { margin-top: 0.55rem; }

.nx-impact-card__exceptions {
  border-top: 1px solid rgba(255, 255, 255, 0.25);
  color: #e5e2ef;
  font-size: 0.88rem;
  margin: 1.25rem 0 0;
  padding-top: 1rem;
}

.nx-article-brief h2 {
  font-size: clamp(1.65rem, 4vw, 2.2rem);
  margin-block: 0.25rem 0.75rem;
}

.nx-article-brief h3 {
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  margin-top: 1.25rem;
  text-transform: uppercase;
}

.nx-article-brief__summary {
  color: var(--wp--preset--color--ink-soft);
  font-size: 1.05rem;
}

.nx-article-brief ul,
.nx-article-methodology ul {
  margin-bottom: 0;
  padding-left: 1.25rem;
}

.nx-article-brief li + li,
.nx-article-methodology li + li { margin-top: 0.65rem; }

.nx-article-share {
  align-items: center;
  border-block: 1px solid var(--wp--preset--color--border);
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  margin-bottom: 2rem;
  padding-block: 0.9rem;
}

.nx-article-share__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.nx-article-share a,
.nx-article-share button {
  background: transparent;
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 999px;
  color: var(--wp--preset--color--ink);
  cursor: pointer;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 0.45rem 0.7rem;
  text-decoration: none;
}

.nx-article-share a:hover,
.nx-article-share button:hover {
  border-color: var(--wp--preset--color--brand);
  color: var(--wp--preset--color--brand-strong);
}

.nx-share-status {
  color: var(--wp--preset--color--muted);
  font-size: 0.75rem;
  margin: 0;
  min-height: 1em;
  width: 100%;
}

.nx-article-body {
  font-size: clamp(1.06rem, 1.4vw, 1.18rem);
  line-height: 1.72;
}

.nx-article-body > * { margin-block: 0 1.45em; }
.nx-article-body h2 { margin-top: 2.2em; }
.nx-article-body blockquote { border-left: 4px solid var(--wp--preset--color--brand); padding-left: 1.25rem; }

.nx-source-list,
.nx-correction-notice,
.nx-article-methodology {
  border-top: 1px solid var(--wp--preset--color--border);
  margin-top: 2.5rem;
  padding-top: 1.5rem;
}

.nx-source-list h2,
.nx-correction-notice h2,
.nx-article-methodology h2 { font-size: 1.25rem; }
.nx-source-list li { margin-bottom: 0.7rem; }

.nx-source-tag {
  background: var(--wp--preset--color--paper);
  border-radius: 999px;
  color: var(--wp--preset--color--ink-soft);
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  margin-left: 0.4rem;
  padding: 0.2rem 0.5rem;
  text-transform: uppercase;
}

.nx-source-tag--verified { color: #166534; }
.nx-correction-notice { border-left: 4px solid var(--wp--preset--color--brand); padding-left: 1.25rem; }
.nx-correction-notice__item + .nx-correction-notice__item { border-top: 1px solid var(--wp--preset--color--border); margin-top: 1rem; padding-top: 1rem; }
.nx-correction-notice__date { color: var(--wp--preset--color--ink-soft); font-size: 0.85rem; }

.nx-article-methodology {
  background: var(--wp--preset--color--paper);
  border-left: 4px solid var(--wp--preset--color--ink);
  padding: 1.35rem 1.5rem;
}

.nx-article-methodology h2 { margin-block: 0.25rem 0.75rem; }
.nx-article-methodology p:last-child { margin-bottom: 0; }
.nx-article-topics { border-top: 1px solid var(--wp--preset--color--border); margin-top: 2rem; padding-top: 1rem; }
.nx-article-newsletter { margin-top: 2.5rem; }

.nx-related-stories {
  margin-top: clamp(3rem, 7vw, 5rem);
  width: min(100% - 2rem, 1180px);
}

.nx-related-stories__grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 1.5rem;
}

.nx-related-card {
  border-bottom: 1px solid var(--wp--preset--color--border);
  padding-bottom: 1.25rem;
}

.nx-related-card h3 {
  font-family: var(--wp--preset--font-family--editorial);
  font-size: clamp(1.3rem, 2vw, 1.65rem);
  line-height: 1.1;
  margin-block: 0.5rem 0.75rem;
}

.nx-related-card h3 a { text-decoration: none; }
.nx-related-card time { color: var(--wp--preset--color--muted); font-size: 0.75rem; }

.nx-footer {
  background: var(--wp--preset--color--ink);
  color: var(--wp--preset--color--surface);
  margin-top: clamp(4rem, 8vw, 7rem);
  padding-block: 3rem;
}

.nx-footer a { color: inherit; }

@media (max-width: 900px) {
  .nx-hero-grid .wp-block-post-template,
  .nx-latest-grid .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nx-hero-grid .wp-block-post:first-child { grid-column: 1 / -1; grid-row: auto; }
  .nx-news-lead__top { grid-template-columns: 1fr; }
  .nx-news-lead__brief { min-height: 0; }
  .nx-home-card--rail { display: block; }
  .nx-home-card--rail .nx-home-card__content { padding-top: 0.85rem; }
  .nx-topic-lane--feature .nx-topic-lane__grid,
  .nx-topic-lane--grid .nx-topic-lane__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nx-topic-lane--feature .nx-home-card--feature { grid-column: 1 / -1; grid-row: auto; }
  .nx-related-stories__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nx-section-feed .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nx-section-feed .wp-block-post:first-child { grid-column: 1 / -1; grid-row: auto; }
}

@media (max-width: 620px) {
  .nx-utility { display: none; }
  .nx-edition-note { display: none; }
  .nx-main-header .wp-block-site-title { letter-spacing: 0.18em; }
  .nx-section-nav { position: sticky; }
  .nx-primary-nav { min-height: 2.8rem; }
  .nx-hero-grid .wp-block-post-template,
  .nx-latest-grid .wp-block-post-template { grid-template-columns: 1fr; }
  .nx-newsroom { padding-block: 1rem 1.5rem; }
  .nx-news-lead .nx-home-card--lead { grid-template-columns: 1fr; }
  .nx-news-lead .nx-home-card--lead .nx-home-card__media { min-height: 0; }
  .nx-news-lead__secondary { grid-template-columns: 1fr; }
  .nx-news-lead__secondary .nx-home-card--rail {
    border-bottom: 1px solid var(--wp--preset--color--border);
    border-right: 0;
    display: grid;
    grid-template-columns: minmax(7rem, 0.65fr) minmax(0, 1fr);
    padding: 1rem 0;
  }
  .nx-news-lead__secondary .nx-home-card__content { padding-top: 0; }
  .nx-home-card--rail { display: grid; grid-template-columns: minmax(7rem, 0.65fr) minmax(0, 1fr); }
  .nx-home-card--rail .nx-home-card__content { padding-top: 0; }
  .nx-topic-lane__header { align-items: start; grid-template-columns: 1fr; }
  .nx-topic-lane__more { justify-self: start; }
  .nx-topic-lane--feature .nx-topic-lane__grid,
  .nx-topic-lane--grid .nx-topic-lane__grid { grid-template-columns: 1fr; }
  .nx-home-card--compact:first-child { grid-template-columns: 1fr; }
  .nx-home-card--compact:first-child .nx-home-card__content { padding-top: 0.85rem; }
  .nx-card .wp-block-post-title { font-size: 1.55rem !important; }
  .nx-author-profile { grid-template-columns: 4.5rem minmax(0, 1fr); }
  .nx-author-initials { font-size: 1.5rem; }
  .nx-search-form .wp-block-search__inside-wrapper { flex-wrap: wrap; }
  .nx-search-form .wp-block-search__input,
  .nx-search-form .wp-block-search__button { border-radius: 4px; width: 100%; }
  .nx-search-form .wp-block-search__button { margin: 0.5rem 0 0; }
  .nx-article-meta { align-items: flex-start; flex-direction: column; }
  .nx-article-share { align-items: flex-start; flex-direction: column; }
  .nx-context-strip__header { align-items: flex-start; grid-template-columns: 1fr; }
  .nx-context-status { justify-self: start; margin-top: 0.35rem; }
  .nx-context-strip__grid { grid-template-columns: 1fr; }
  .nx-related-stories__grid { grid-template-columns: 1fr; }
  .nx-section-stage { padding-block: 2.75rem; }
  .nx-section-stage h1 { font-size: clamp(3rem, 17vw, 4.5rem) !important; }
  .nx-section-feed .wp-block-post-template { grid-template-columns: 1fr; }
  .nx-section-feed .wp-block-post:first-child { grid-column: auto; }
  .nx-live-brief__header { align-items: start; flex-direction: column; }
  .nx-live-brief__timeline li { grid-template-columns: 3.25rem minmax(0, 1fr); }
  .nx-live-brief__timeline a,
  .nx-live-brief__timeline span { grid-column: 2; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
