/* ==========================================================================
   Mi Vida en USA — Main Stylesheet v4.0.0
   PREMIUM EDITORIAL BRAND SYSTEM

   Typography: Raleway 600-900 (headings) · Outfit 400-600 (body + micro UI)
   Art Direction: Cinematic Editorial / Immigration Journal
   Philosophy: Breathtaking. Immersive. Award-winning. Unforgettable.
   ========================================================================== */

/* ==========================================================================
   DESIGN TOKENS
   ========================================================================== */
:root {
  /* USA Palette — Old Glory */
  --usa-red:     #B22234;
  --usa-blue:    #3C3B6E;
  --usa-white:   #FFFFFF;
  --usa-border-w: 4px;

  /* Palette — richer, more contrast */
  --c-navy:       #0D1B2A;
  --c-navy-deep:  #070F1A;
  --c-navy-mid:   #1B2D45;
  --c-red:        #E63946;
  --c-red-dark:   #C1121F;
  --c-red-soft:   #FF6B6B;
  --c-gold:       #D4A855;
  --c-gold-light: #F0D78C;
  --c-offwhite:   #EDE8E0;
  --c-cream:      #F5F1EB;
  --c-white:      #FFFFFF;
  --c-gray-50:    #FAFAFA;
  --c-gray-100:   #F4F4F5;
  --c-gray-200:   #E4E4E7;
  --c-gray-300:   #D4D4D8;
  --c-gray-400:   #A1A1AA;
  --c-gray-500:   #71717A;
  --c-gray-600:   #52525B;
  --c-gray-700:   #3F3F46;
  --c-gray-800:   #27272A;
  --c-gray-900:   #18181B;

  /* Semantic */
  --c-accent:       var(--c-red);
  --c-text:         #1A1A2E;
  --c-text-light:   #6B7280;
  --c-text-heading:  var(--c-navy);
  --c-link:         var(--c-red);
  --c-link-hover:   var(--c-red-dark);
  --c-bg:           #F3EFE8;
  --c-surface:      var(--c-white);

  /* Typography — TWO families only */
  --ff-heading: 'Raleway', 'Segoe UI', system-ui, sans-serif;
  --ff-body:    'Outfit', 'Segoe UI', system-ui, sans-serif;

  /* Type scale — more dramatic */
  --fs-xs:      clamp(0.65rem, 0.6rem + 0.2vw, 0.75rem);
  --fs-sm:      clamp(0.8rem, 0.75rem + 0.25vw, 0.88rem);
  --fs-base:    clamp(0.95rem, 0.9rem + 0.3vw, 1.08rem);
  --fs-md:      clamp(1.1rem, 1rem + 0.5vw, 1.35rem);
  --fs-lg:      clamp(1.4rem, 1.1rem + 1vw, 2rem);
  --fs-xl:      clamp(1.8rem, 1.3rem + 1.8vw, 2.8rem);
  --fs-2xl:     clamp(2.2rem, 1.6rem + 2.5vw, 3.8rem);
  --fs-3xl:     clamp(3rem, 2rem + 4vw, 5.5rem);
  --fs-display: clamp(4rem, 2.5rem + 6vw, 8rem);

  /* Line height */
  --lh-tight: 1.05;
  --lh-snug:  1.2;
  --lh-body:  1.72;

  /* Spacing */
  --sp-xs:  0.25rem;
  --sp-sm:  0.5rem;
  --sp-md:  1rem;
  --sp-lg:  1.5rem;
  --sp-xl:  2rem;
  --sp-2xl: 3rem;
  --sp-3xl: 5rem;
  --sp-4xl: 7rem;
  --sp-5xl: 10rem;

  /* Layout */
  --max-w:         1320px;
  --max-w-narrow:  820px;
  --max-w-reading: 780px;
  --sidebar-w:     340px;
  --gap:           clamp(1.5rem, 2vw, 2.5rem);

  /* Border + Radius */
  --radius:    8px;
  --radius-lg: 14px;
  --radius-xl: 20px;
  --radius-2xl: 28px;
  --border-light:  1px solid var(--c-gray-200);
  --border-subtle: 1px solid rgba(13,27,42,0.05);

  /* Shadows — editorial depth */
  --shadow-sm:         0 1px 3px rgba(13,27,42,0.06);
  --shadow-md:         0 4px 16px rgba(13,27,42,0.08);
  --shadow-lg:         0 12px 40px rgba(13,27,42,0.1);
  --shadow-xl:         0 20px 60px rgba(13,27,42,0.14);
  --shadow-card:       0 2px 8px rgba(13,27,42,0.04);
  --shadow-card-hover: 0 12px 36px rgba(13,27,42,0.12);
  --shadow-dramatic:   0 30px 80px rgba(13,27,42,0.18);

  /* Transitions */
  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --dur-fast:   200ms;
  --dur-normal: 400ms;
  --dur-slow:   700ms;
  --dur-cinematic: 1200ms;

  /* Z-index */
  --z-base:     1;
  --z-dropdown: 100;
  --z-sticky:   200;
  --z-overlay:  300;
  --z-modal:    400;
  --z-toast:    500;

  /* Art direction */
  --stripe-h:       3px;
  --stamp-size:     56px;
  --timeline-dot:   8px;
  --timeline-rail-w: 1.5px;
}

/* ==========================================================================
   RESET & BASE
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--ff-body);
  font-size: var(--fs-base);
  font-weight: 400;
  line-height: var(--lh-body);
  color: var(--c-text);
  background-color: var(--c-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}
img, video, svg { max-width: 100%; height: auto; display: block; }
::selection { background: rgba(230,57,70,0.15); color: var(--c-navy); }
a { color: var(--c-link); text-decoration: none; transition: color var(--dur-fast) var(--ease-smooth); }
a:hover { color: var(--c-link-hover); }

h1,h2,h3,h4,h5,h6 {
  font-family: var(--ff-heading);
  color: var(--c-text-heading);
  line-height: var(--lh-snug);
  font-weight: 700;
}
h1 { letter-spacing: -0.04em; }
h2 { letter-spacing: -0.025em; }

/* Micro UI label — Outfit uppercase, wide tracking */
.ui-label,
.pill {
  font-family: var(--ff-body);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;white-space:nowrap; }
.skip-link { position:absolute;top:var(--sp-sm);left:-999px;background:var(--c-navy);color:var(--c-white);padding:var(--sp-sm) var(--sp-md);border-radius:var(--radius);z-index:var(--z-toast);font-weight:600;font-size:var(--fs-sm); }
.skip-link:focus { left:var(--sp-md);outline:2px solid var(--c-red);outline-offset:2px;color:var(--c-white); }
:focus-visible { outline:2px solid var(--c-navy);outline-offset:2px; }
a:focus-visible { border-radius:2px; }

.container { width:100%;max-width:var(--max-w);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.5rem); }
.container--narrow { max-width:var(--max-w-narrow);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.5rem); }
.container--wide { max-width:1480px;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.5rem); }

/* ==========================================================================
   ART DIRECTION: STAMP — subtle, structural
   ========================================================================== */
.stamp {
  width: var(--stamp-size);
  height: var(--stamp-size);
  border-radius: 50%;
  border: 1.5px dashed rgba(230,57,70,0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  opacity: 0.35;
  transform: rotate(-12deg);
  flex-shrink: 0;
}
.stamp::after {
  content: '';
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  border: 1px solid rgba(230,57,70,0.15);
}
.stamp span {
  font-family: var(--ff-body);
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--c-red);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  line-height: 1;
}
.stamp--hero {
  width: 72px;
  height: 72px;
  position: absolute;
  top: var(--sp-xl);
  right: var(--sp-xl);
  transform: rotate(-18deg);
  border-color: rgba(255,255,255,0.12);
  opacity: 0.2;
}
.stamp--hero::after { border-color: rgba(255,255,255,0.06); }
.stamp--hero span { color: rgba(255,255,255,0.3); }

.stamp-watermark {
  position: absolute;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  border: 2px dashed rgba(255,255,255,0.08);
  right: -40px;
  top: 50%;
  transform: translateY(-50%) rotate(-22deg);
  pointer-events: none;
  z-index: 2;
}
.stamp-watermark::after {
  content: '';
  position: absolute;
  inset: 12px;
  border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,0.05);
}

/* ==========================================================================
   ART DIRECTION: TIMELINE RAIL
   ========================================================================== */
.timeline-rail {
  position: relative;
  padding-left: calc(var(--timeline-dot) + var(--sp-lg));
}
.timeline-rail::before {
  content: '';
  position: absolute;
  top: 4px;
  bottom: 4px;
  left: calc(var(--timeline-dot) / 2 - var(--timeline-rail-w) / 2);
  width: var(--timeline-rail-w);
  background: var(--c-gray-300);
  border-radius: 1px;
}

/* ==========================================================================
   ART DIRECTION: STRIPE TOKENS
   ========================================================================== */
.stripe-token { display:flex;height:var(--stripe-h); }
.stripe-token .s-navy { flex:3;background:var(--usa-blue); }
.stripe-token .s-red { flex:2;background:var(--usa-red); }
.stripe-token .s-offwhite { flex:1;background:var(--usa-white);border:0.5px solid var(--c-gray-200); }

.stripe-accent { display:flex;height:var(--usa-border-w);width:48px;border-radius:2px;overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,0.1); }
.stripe-accent .s-navy { flex:1;background:var(--usa-blue); }
.stripe-accent .s-red { flex:1;background:var(--usa-red); }
.stripe-accent .s-offwhite { flex:1;background:var(--usa-white);border-top:0.5px solid var(--c-gray-200); }

.stripe-divider { display:flex;height:var(--usa-border-w);margin:var(--sp-3xl) 0;overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,0.1); }
.stripe-divider .s-navy { flex:1;background:var(--usa-blue); }
.stripe-divider .s-red { flex:1;background:var(--usa-red); }
.stripe-divider .s-offwhite { flex:1;background:var(--usa-white); }

/* ==========================================================================
   TOPIC CHIPS — Outfit uppercase
   ========================================================================== */
.topic-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0.45em 1.1em;
  font-family: var(--ff-body);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.7);
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 100px;
  text-decoration: none;
  transition: all var(--dur-fast);
  backdrop-filter: blur(4px);
}
.topic-chip::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--c-red);
  flex-shrink: 0;
}
.topic-chip:hover {
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.25);
  color: var(--c-white);
  transform: translateY(-1px);
}
.topic-chip--light {
  color: var(--c-navy);
  background: rgba(13,27,42,0.04);
  border-color: rgba(13,27,42,0.1);
}
.topic-chip--light:hover {
  background: rgba(13,27,42,0.08);
  color: var(--c-navy);
}
/* Topic chips inside hero (dark background) */
.hero .topic-chip {
  color: rgba(255,255,255,0.8);
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.12);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.hero .topic-chip::before { background:rgba(255,255,255,0.25); }
.hero .topic-chip:hover {
  color: var(--c-white);
  background: rgba(255,255,255,0.15);
  border-color: rgba(255,255,255,0.25);
  box-shadow: 0 4px 16px rgba(0,0,0,0.2);
  transform: translateY(-2px);
}

.reading-progress { position:fixed;top:0;left:0;width:0;height:3px;background:linear-gradient(90deg,var(--c-red),var(--c-gold));z-index:var(--z-toast);transition:width 50ms linear; }

/* ==========================================================================
   BUTTONS — bold, confident
   ========================================================================== */
.btn {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-sm);
  padding: 0.85em 2em;
  border-radius: 100px;
  font-family: var(--ff-body);
  font-size: var(--fs-sm);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  border: none;
  transition: all var(--dur-normal) var(--ease-out);
  position: relative;
  line-height: 1.4;
}
.btn svg { flex-shrink:0; }
.btn--primary {
  background: var(--c-red);
  color: var(--c-white);
  box-shadow: 0 4px 16px rgba(230,57,70,0.3);
}
.btn--primary:hover {
  background: var(--c-red-dark);
  color: var(--c-white);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(230,57,70,0.35);
}
.btn--outline {
  background: transparent;
  color: var(--c-white);
  border: 1.5px solid rgba(255,255,255,0.3);
  backdrop-filter: blur(4px);
}
.btn--outline:hover {
  background: rgba(255,255,255,0.1);
  border-color: rgba(255,255,255,0.5);
  color: var(--c-white);
  transform: translateY(-1px);
}
.btn--dark { background:var(--c-navy);color:var(--c-white); }
.btn--dark:hover { background:var(--c-navy-deep);color:var(--c-white);transform:translateY(-2px);box-shadow:var(--shadow-lg); }
.btn--ghost { background:transparent;color:var(--c-navy);border:1.5px solid var(--c-gray-300); }
.btn--ghost:hover { border-color:var(--c-navy);background:rgba(13,27,42,0.03);transform:translateY(-1px); }
.btn--sm { padding:0.55em 1.2em;font-size:var(--fs-xs); }
.btn--lg { padding:1em 2.6em;font-size:var(--fs-sm);letter-spacing:0.06em; }
.btn--lg { padding:1em 2.5em;font-size:var(--fs-sm); }
.btn:focus-visible { outline:2px solid var(--c-navy);outline-offset:2px; }

/* ==========================================================================
   SITE HEADER — top bar: socials | nav | search
   ========================================================================== */
.site-header {
  position: relative;
  top: 0;
  z-index: var(--z-sticky);
  background: rgba(255,255,255,0.95);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  transition: box-shadow var(--dur-fast) var(--ease-smooth);
}
.site-header.scrolled { box-shadow: 0 1px 0 var(--c-gray-200), 0 4px 20px rgba(0,0,0,0.04); }
.site-header__inner { display:flex;align-items:center;gap:var(--sp-lg);padding-block:var(--sp-md); }

/* Header socials (left) */
.header-socials { display:flex;gap:var(--sp-sm);flex-shrink:0;min-width:60px; }
.header-socials a {
  color: var(--c-gray-700);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  transition: color var(--dur-fast);
}
.header-socials a:hover { color: var(--c-navy); }

/* Site branding section (below header, front page only) */
.site-branding {
  background: var(--c-white);
  padding: var(--sp-3xl) 0 var(--sp-2xl);
  text-align: center;
  border-bottom: var(--border-light);
}
.site-branding__inner { display:flex;flex-direction:column;align-items:center; }
.site-branding__logo img {
  max-height: 160px;
  width: auto;
  margin-bottom: var(--sp-lg);
}
.site-branding__title {
  font-family: var(--ff-heading);
  font-size: clamp(2.2rem, 1.8rem + 2vw, 3.8rem);
  font-weight: 900;
  letter-spacing: 0.04em;
  line-height: 1.1;
  margin-bottom: var(--sp-md);
}
.site-branding__title a { text-decoration:none; }
.site-branding__title-dark { color: var(--c-gray-700); }
.site-branding__title-red { color: var(--c-red); }

.site-branding__dots {
  display: flex;
  gap: 6px;
  margin-bottom: var(--sp-md);
}
.site-branding__dots span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-gray-300);
}
.site-branding__dots span:nth-child(3) { background: var(--c-red); }

.site-branding__tagline {
  font-family: var(--ff-body);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--c-text-light);
  max-width: 600px;
}

/* Site logo fallback in header (for non-front pages) */
.site-logo {
  font-family: var(--ff-heading);
  font-size: var(--fs-lg);
  font-weight: 900;
  color: var(--c-navy);
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  letter-spacing: -0.03em;
  display: none; /* Hidden; branding section handles this on front page */
}
.site-logo:hover { color: var(--c-navy); }
.site-logo img { height: 40px; width: auto; }
.site-logo__text { font-size: clamp(1.15rem, 1rem + 0.5vw, 1.5rem); }

.nav-toggle { display:none;background:none;border:none;cursor:pointer;padding:var(--sp-xs);color:var(--c-navy); }
.nav-toggle .icon-close { display:none; }
.nav-toggle[aria-expanded="true"] .icon-menu { display:none; }
.nav-toggle[aria-expanded="true"] .icon-close { display:block; }

.main-nav { flex:1; }
.main-nav ul { list-style:none;display:flex;gap:0;justify-content:center; }
.main-nav li { position:relative; }
.main-nav a {
  display: block;
  padding: var(--sp-sm) var(--sp-md);
  font-family: var(--ff-body);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--c-gray-600);
  border-radius: var(--radius);
  transition: color var(--dur-fast);
}
.main-nav a:hover { color: var(--c-navy); }
.main-nav .current-menu-item>a,.main-nav .current_page_item>a { color: var(--c-red); }
.main-nav .current-menu-item>a::after,.main-nav .current_page_item>a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 18px;
  height: 3px;
  background: var(--c-red);
  border-radius: 2px;
}
.main-nav .sub-menu { position:absolute;top:100%;left:0;background:var(--c-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);min-width:220px;padding:var(--sp-sm);flex-direction:column;display:none;z-index:var(--z-dropdown);border:var(--border-subtle); }
.main-nav li:hover>.sub-menu { display:flex; }

/* Header actions: CTA + search */
.header-actions { display:flex;align-items:center;gap:var(--sp-md);flex-shrink:0; }
.header-cta { white-space:nowrap; }
@media (max-width: 768px) { .header-cta { display:none; } }

.header-search { position:relative;flex-shrink:0; }
.header-search__toggle { background:none;border:none;cursor:pointer;color:var(--c-gray-500);padding:var(--sp-xs);border-radius:var(--radius);transition:color var(--dur-fast);display:flex;align-items:center; }
.header-search__toggle:hover { color:var(--c-navy); }
.header-search__form {
  position:absolute;top:100%;right:0;
  display:flex;align-items:center;
  background:var(--c-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);
  padding:var(--sp-sm);margin-top:var(--sp-sm);
  opacity:0;visibility:hidden;transform:translateY(-8px) scale(0.96);
  transition:opacity var(--dur-base) var(--ease-smooth),transform var(--dur-base) var(--ease-smooth),visibility 0s linear var(--dur-base);
}
.header-search__form.is-open {
  opacity:1;visibility:visible;transform:translateY(0) scale(1);
  transition:opacity var(--dur-base) var(--ease-smooth),transform var(--dur-base) var(--ease-spring),visibility 0s linear 0s;
}
.header-search__form input { border:var(--border-light);border-radius:var(--radius) 0 0 var(--radius);padding:var(--sp-sm) var(--sp-md);font:inherit;min-width:220px;outline:none;transition:border-color var(--dur-fast); }
.header-search__form input:focus { border-color:var(--c-navy); }
.header-search__form button { background:var(--c-navy);color:var(--c-white);border:none;padding:var(--sp-sm) var(--sp-md);border-radius:0 var(--radius) var(--radius) 0;cursor:pointer;font-weight:600;transition:background var(--dur-fast); }
.header-search__form button:hover { background:var(--c-red); }


/* ==========================================================================
   HERO — SPECTACULAR CINEMATIC FULL-BLEED
   ========================================================================== */

/* ---- Keyframes ---- */
@keyframes heroGlowDrift {
  0%, 100% { transform: translate(0, 0) scale(1); }
  33% { transform: translate(30px, -20px) scale(1.1); }
  66% { transform: translate(-20px, 15px) scale(0.95); }
}
@keyframes heroGlowPulse {
  0%, 100% { opacity: 0.5; transform: scale(1); }
  50% { opacity: 0.8; transform: scale(1.15); }
}
@keyframes shimmerSlide {
  0% { transform: translateX(-100%) skewX(-15deg); }
  100% { transform: translateX(200%) skewX(-15deg); }
}
@keyframes floatUp {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
@keyframes gradientShift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
@keyframes heroParticle {
  0% { transform: translateY(0) scale(1); opacity: 0.3; }
  50% { opacity: 0.7; }
  100% { transform: translateY(-100vh) scale(0); opacity: 0; }
}
@keyframes borderGlow {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 1; }
}

.hero {
  position: relative;
  display: flex;
  align-items: center;
  background: var(--c-navy-deep);
  color: var(--c-white);
  overflow: hidden;
  padding: clamp(3.5rem, 7vw, 6.5rem) 0 clamp(4.5rem, 9vw, 7.5rem);
  min-height: 69vh;
  min-height: 69svh;
}

/* Animated multi-layer gradient */
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 140% 90% at 10% 50%, rgba(230,57,70,0.1) 0%, transparent 55%),
    radial-gradient(ellipse 100% 120% at 90% 20%, rgba(212,168,85,0.08) 0%, transparent 45%),
    radial-gradient(circle at 50% 120%, rgba(230,57,70,0.05) 0%, transparent 40%),
    linear-gradient(160deg, rgba(3,8,16,0.7) 0%, rgba(15,27,51,0.55) 20%, rgba(27,42,74,0.45) 40%, rgba(22,38,64,0.50) 65%, rgba(15,27,51,0.6) 85%, rgba(3,8,16,0.7) 100%);
  z-index: 1;
}

/* Noise */
.hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
  background-size: 200px;
  z-index: 2;
  pointer-events: none;
}

/* Horizontal light lines */
.hero__accent-lines {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
}
.hero__accent-line {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.07) 30%, rgba(255,255,255,0.07) 70%, transparent 100%);
}
.hero__accent-line:nth-child(1) { top: 20%; left: 0; right: 0; }
.hero__accent-line:nth-child(2) { top: 40%; left: 10%; right: 10%; }
.hero__accent-line:nth-child(3) { top: 60%; left: 5%; right: 5%; }
.hero__accent-line:nth-child(4) { top: 80%; left: 15%; right: 15%; }

/* Floating particles */
.hero__particles {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
}
.hero__particle {
  position: absolute;
  width: 2px; height: 2px;
  border-radius: 50%;
  background: rgba(255,255,255,0.3);
}
.hero__particle:nth-child(1) { left: 10%; bottom: 0; animation: heroParticle 8s linear infinite; }
.hero__particle:nth-child(2) { left: 25%; bottom: 0; animation: heroParticle 12s linear infinite 2s; }
.hero__particle:nth-child(3) { left: 50%; bottom: 0; animation: heroParticle 10s linear infinite 4s; width: 3px; height: 3px; }
.hero__particle:nth-child(4) { left: 70%; bottom: 0; animation: heroParticle 14s linear infinite 1s; }
.hero__particle:nth-child(5) { left: 85%; bottom: 0; animation: heroParticle 9s linear infinite 6s; }
.hero__particle:nth-child(6) { left: 40%; bottom: 0; animation: heroParticle 11s linear infinite 3s; width: 1.5px; height: 1.5px; }

/* Grid layout */
.hero__grid {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: 1fr 480px;
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: center;
}
.hero__content { text-align: left; }

/* Animated glow orbs */
.hero__glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(120px);
  pointer-events: none;
  z-index: 2;
}
.hero__glow--1 {
  width: 600px; height: 600px;
  top: -150px; left: -150px;
  background: radial-gradient(circle, rgba(230,57,70,0.25) 0%, transparent 65%);
  animation: heroGlowDrift 12s ease-in-out infinite;
}
.hero__glow--2 {
  width: 500px; height: 500px;
  bottom: -120px; right: 5%;
  background: radial-gradient(circle, rgba(212,168,85,0.2) 0%, transparent 65%);
  animation: heroGlowDrift 15s ease-in-out infinite reverse;
}
.hero__glow--3 {
  width: 400px; height: 400px;
  top: 30%; right: 30%;
  background: radial-gradient(circle, rgba(27,45,69,0.4) 0%, transparent 65%);
  animation: heroGlowPulse 8s ease-in-out infinite;
}

/* Watermark */
.hero__issue-number {
  position: absolute;
  top: 50%; right: -20px;
  transform: translateY(-50%) rotate(-90deg);
  font-family: var(--ff-heading);
  font-size: clamp(8rem, 12vw, 14rem);
  font-weight: 900;
  letter-spacing: -0.06em;
  color: rgba(255,255,255,0.04);
  pointer-events: none;
  z-index: 2;
  line-height: 1;
}

/* Diagonal */
.hero__diagonal {
  position: absolute;
  bottom: -1px; left: 0; right: 0;
  z-index: 4;
  height: 80px;
}
.hero__diagonal svg { display: block; width: 100%; height: 100%; }

/* Micro label */
.hero__micro-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--ff-body);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--c-gold);
  margin-bottom: var(--sp-xl);
}
.hero__micro-label::before { display: none; }
.hero__micro-label::after {
  content: '';
  width: 48px;
  height: 1px;
  background: linear-gradient(90deg, var(--c-gold), transparent);
  flex-shrink: 0;
}

/* Title — giant, dramatic */
.hero__title {
  font-family: var(--ff-heading);
  font-size: clamp(2.4rem, 5vw, 4.2rem);
  font-weight: 900;
  color: var(--c-white);
  margin-bottom: var(--sp-lg);
  letter-spacing: -0.04em;
  line-height: 1.06;
  text-shadow: 0 2px 40px rgba(0,0,0,0.3);
}
.hero__title em {
  font-style: normal;
  display: block;
  background: linear-gradient(135deg, var(--c-gold), var(--c-gold-light), var(--c-gold));
  background-size: 200% 200%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: gradientShift 4s ease-in-out infinite;
}

/* Stripe */
.hero__title-stripe {
  display: flex;
  height: 4px;
  width: 0;
  max-width: 90px;
  margin: 0 0 var(--sp-xl);
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 0 12px rgba(230,57,70,0.3);
}
.hero__title-stripe .s-navy { flex:1;background:var(--usa-blue); }
.hero__title-stripe .s-red { flex:1;background:var(--usa-red); }
.hero__title-stripe .s-offwhite { flex:1;background:var(--usa-white); }

/* Subtitle */
.hero__subtitle {
  font-size: var(--fs-md);
  line-height: var(--lh-body);
  color: rgba(255,255,255,0.55);
  margin-bottom: var(--sp-2xl);
  max-width: 520px;
  font-weight: 400;
}

/* Chips */
.hero__chips {
  display: flex;
  gap: var(--sp-sm);
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-bottom: var(--sp-2xl);
}

/* CTAs */
.hero__ctas { display:flex;gap:var(--sp-md);flex-wrap:wrap;justify-content:flex-start; }

/* Trust signals under CTAs */
.hero__trust-signals {
  display: flex;
  gap: var(--sp-xl);
  flex-wrap: wrap;
  margin-top: var(--sp-2xl);
}
.hero__trust-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--ff-body);
  font-size: var(--fs-xs);
  font-weight: 500;
  letter-spacing: 0.06em;
  color: rgba(255,255,255,0.35);
}
.hero__trust-item svg { opacity: 0.5; }

/* Primary CTA — shimmering */
.hero__ctas .btn--primary.btn--lg {
  font-size: var(--fs-sm);
  padding: 0.9em 2.2em;
  box-shadow: 0 4px 24px rgba(230,57,70,0.35), 0 0 0 1px rgba(230,57,70,0.1);
  position: relative;
  overflow: hidden;
}
.hero__ctas .btn--primary.btn--lg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
  animation: shimmerSlide 3s ease-in-out infinite;
}
.hero__ctas .btn--primary.btn--lg:hover {
  box-shadow: 0 8px 40px rgba(230,57,70,0.5), 0 0 0 1px rgba(230,57,70,0.2);
  transform: translateY(-2px) scale(1.03);
}

/* Featured column */
.hero__featured {
  position: relative;
  z-index: 1;
  animation: floatUp 6s ease-in-out infinite;
}

.hero__bg-effects,.hero__noise-overlay,.hero__scanlines,.hero__gradient-drift { display:block; }
.hero__badge {
  display: inline-block;
  padding: 0.35em 1.1em;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 100px;
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: var(--sp-lg);
}

/* ==========================================================================
   FEATURED CARD — Ultra-cinematic glassmorphism
   ========================================================================== */
.featured-card {
  background: linear-gradient(145deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.02) 100%);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: var(--radius-2xl);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.12);
  transition: transform var(--dur-cinematic) var(--ease-out), box-shadow var(--dur-cinematic);
  position: relative;
  box-shadow:
    0 8px 32px rgba(0,0,0,0.3),
    0 32px 80px rgba(0,0,0,0.2),
    inset 0 1px 0 rgba(255,255,255,0.1),
    0 0 0 1px rgba(255,255,255,0.05);
}
/* Animated gradient border */
.featured-card::after {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: var(--radius-2xl);
  padding: 1px;
  background: linear-gradient(135deg, rgba(255,255,255,0.15) 0%, transparent 40%, transparent 60%, rgba(212,168,85,0.2) 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: 5;
  animation: borderGlow 3s ease-in-out infinite;
}
.featured-card:hover {
  transform: translateY(-12px) rotate(-0.5deg) scale(1.02);
  box-shadow:
    0 32px 80px rgba(0,0,0,0.45),
    0 60px 120px rgba(0,0,0,0.2),
    inset 0 1px 0 rgba(255,255,255,0.15),
    0 0 80px rgba(230,57,70,0.08);
}
.featured-card__depth {
  position: absolute;
  inset: 6px;
  border: 1px solid rgba(255,255,255,0.04);
  border-radius: calc(var(--radius-2xl) - 4px);
  pointer-events: none;
  z-index: 1;
}
.featured-card__link { display:block;text-decoration:none;color:inherit; }
.featured-card__img { position:relative;aspect-ratio:16/10;overflow:hidden; }
.featured-card__img img {
  width:100%;height:100%;object-fit:cover;
  transition: transform var(--dur-cinematic) var(--ease-out), filter var(--dur-cinematic);
}
.featured-card:hover .featured-card__img img { transform:scale(1.08);filter:brightness(1.05) saturate(1.1); }
.featured-card__img-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0) 30%, rgba(0,0,0,0.2) 100%),
    linear-gradient(135deg, rgba(230,57,70,0.05) 0%, transparent 50%);
  pointer-events: none; z-index: 1;
}
/* Shimmer on hover */
.featured-card__img::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(135deg, transparent 40%, rgba(255,255,255,0.08) 50%, transparent 60%);
  z-index: 2;
  opacity: 0;
  transition: opacity var(--dur-slow);
}
.featured-card:hover .featured-card__img::after { opacity: 1; }

.featured-card__badge {
  position: absolute;
  top: var(--sp-lg); left: var(--sp-lg);
  background: var(--c-red);
  color: var(--c-white);
  padding: 0.4em 1.1em;
  border-radius: 100px;
  font-family: var(--ff-body);
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  z-index: 3;
  box-shadow: 0 4px 16px rgba(230,57,70,0.4);
  backdrop-filter: blur(8px);
}
.featured-card__meta-rail {
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 36px;
  background: rgba(0,0,0,0.3);
  backdrop-filter: blur(8px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--sp-lg);
  z-index: 3;
}
.featured-card__meta-rail span {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-family: var(--ff-body);
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.25);
  white-space: nowrap;
}
.featured-card__body { padding:var(--sp-xl) var(--sp-xl) var(--sp-2xl);position:relative;z-index:1; }
.featured-card__label {
  font-family: var(--ff-body);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--c-gold);
  margin-bottom: var(--sp-sm);
}
.featured-card__title { font-family:var(--ff-heading);font-size:var(--fs-lg);font-weight:800;color:var(--c-white);margin-bottom:var(--sp-sm);letter-spacing:-0.02em;line-height:1.2; }
.featured-card__title a { color:inherit; }
.featured-card__title a:hover { color:rgba(255,255,255,0.85); }
.featured-card__excerpt { font-size:var(--fs-sm);color:rgba(255,255,255,0.5);line-height:var(--lh-body);margin-bottom:var(--sp-md); }
.featured-card__meta {
  display: flex; gap: var(--sp-md);
  font-family: var(--ff-body);
  font-size: var(--fs-xs); font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: rgba(255,255,255,0.3); margin-bottom: var(--sp-lg);
}
.featured-card__meta span { display:flex;align-items:center;gap:4px; }
.featured-card__cta-row { margin-top:0; }
.featured-card__cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0.65em 1.5em;
  background: linear-gradient(135deg, var(--c-red) 0%, #d41b2d 100%);
  color: var(--c-white);
  font-family: var(--ff-body);
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: 100px;
  transition: all var(--dur-normal) var(--ease-out);
  box-shadow: 0 4px 16px rgba(230,57,70,0.3);
  position: relative;
  overflow: hidden;
}
.featured-card__cta-btn::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transform: translateX(-100%);
  transition: transform 0.6s ease;
}
.featured-card:hover .featured-card__cta-btn::before { transform: translateX(100%); }
.featured-card:hover .featured-card__cta-btn {
  box-shadow: 0 8px 28px rgba(230,57,70,0.5);
  transform: translateX(4px);
}
.featured-card__cta { margin-top:var(--sp-lg); }
.featured-card--skeleton { background:rgba(255,255,255,0.03);border-color:rgba(255,255,255,0.05); }

/* Legacy */
.hero__center { max-width:720px;margin-inline:auto;text-align:center; }
.hero-style--cinematic-briefing .hero { background:linear-gradient(160deg,#050a14 0%,#0d1b2a 50%,#070f1a 100%); }

/* ==========================================================================
   TRUST STRIP — cleaner, bolder
   ========================================================================== */
.trust-strip { background:var(--c-white);border-bottom:var(--border-light);padding:var(--sp-xl) 0;position:relative;z-index:3; }
.trust-strip__grid { display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-lg); }
.trust-strip__item {
  display: flex;
  align-items: center;
  gap: var(--sp-md);
  padding: var(--sp-lg) var(--sp-xl);
  border-radius: var(--radius-lg);
  text-decoration: none;
  color: var(--c-text);
  transition: all var(--dur-normal) var(--ease-out);
  border: var(--border-subtle);
}
.trust-strip__item:hover { background:var(--c-gray-50);color:var(--c-text);transform:translateY(-2px);box-shadow:var(--shadow-md); }
.trust-strip__icon { width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);flex-shrink:0; }
.trust-strip__item:nth-child(1) .trust-strip__icon { background:rgba(13,27,42,0.06);color:var(--c-navy); }
.trust-strip__item:nth-child(2) .trust-strip__icon { background:rgba(230,57,70,0.06);color:var(--c-red); }
.trust-strip__item:nth-child(3) .trust-strip__icon { background:rgba(34,197,94,0.06);color:#16a34a; }
.trust-strip__label { display:block;font-family:var(--ff-heading);font-weight:800;font-size:var(--fs-sm);color:var(--c-navy); }
.trust-strip__desc { display:block;font-size:var(--fs-xs);color:var(--c-text-light);margin-top:2px; }

/* Skeleton */
@keyframes skeletonShimmer { 0%{background-position:200% 0} 100%{background-position:-200% 0} }
.skeleton { background:linear-gradient(90deg,var(--c-gray-200) 25%,var(--c-gray-100) 37%,var(--c-gray-200) 63%);background-size:400% 100%;animation:skeletonShimmer 2s ease-in-out infinite;border-radius:var(--radius); }
.skeleton--img { aspect-ratio:16/10;width:100%; }
.skeleton--text { height:16px;width:80%;margin-bottom:var(--sp-sm); }
.skeleton--text-lg { height:24px;width:90%; }
.skeleton--text-sm { height:12px;width:50%; }

/* ==========================================================================
   SECTIONS — Dramatic chapter headers
   ========================================================================== */
.section { padding:var(--sp-4xl) 0; }

.section__header {
  margin-bottom: var(--sp-2xl);
  position: relative;
}
.section__title {
  font-family: var(--ff-heading);
  font-size: var(--fs-xl);
  font-weight: 800;
  color: var(--c-text-heading);
  margin-bottom: var(--sp-sm);
  letter-spacing: -0.03em;
}
.section__overline {
  font-family: var(--ff-body);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-red);
  margin-bottom: var(--sp-sm);
  display: block;
}

.layout-with-sidebar { display:grid;grid-template-columns:1fr var(--sidebar-w);gap:clamp(2.5rem,4vw,4rem);align-items:start; }
.breadcrumbs {
  font-family: var(--ff-body);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c-text-light);
  padding: var(--sp-md) 0;
  border-bottom: var(--border-light);
}
.breadcrumbs a { color:var(--c-text-light); }
.breadcrumbs a:hover { color:var(--c-navy); }
.breadcrumbs .separator { margin:0 var(--sp-sm);color:var(--c-gray-400); }

/* ==========================================================================
   MODULE: "Empieza por aquí" — SPECTACULAR
   ========================================================================== */
@keyframes cardShine {
  0% { left: -80%; }
  100% { left: 120%; }
}
.module-start {
  padding: var(--sp-5xl) 0 var(--sp-4xl);
  background: linear-gradient(180deg, var(--c-cream) 0%, var(--c-white) 30%, var(--c-white) 70%, var(--c-cream) 100%);
  position: relative;
  overflow: hidden;
}
/* Decorative bg circles */
.module-start::before {
  content: '';
  position: absolute;
  width: 500px; height: 500px;
  top: -200px; right: -100px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(230,57,70,0.03) 0%, transparent 70%);
  pointer-events: none;
}
.module-start::after {
  content: '';
  position: absolute;
  width: 400px; height: 400px;
  bottom: -150px; left: -80px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(13,27,42,0.03) 0%, transparent 70%);
  pointer-events: none;
}
.module-start__header { text-align:center;margin-bottom:var(--sp-3xl);position:relative;z-index:1; }
.module-start__overline {
  font-family: var(--ff-body);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--c-red);
  margin-bottom: var(--sp-md);
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.module-start__overline::before,
.module-start__overline::after {
  content: '';
  width: 28px;
  height: 1px;
  background: var(--c-red);
}
.module-start__title {
  font-family: var(--ff-heading);
  font-size: var(--fs-2xl);
  font-weight: 900;
  color: var(--c-text-heading);
  margin-bottom: var(--sp-md);
  letter-spacing: -0.04em;
}
.module-start__subtitle { font-size:var(--fs-md);color:var(--c-text-light);max-width:560px;margin-inline:auto; }
.module-start__grid { display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-xl);position:relative;z-index:1; }

/* Step cards — spectacular with glow effects */
.step-card {
  display: block;
  text-decoration: none;
  color: var(--c-text);
  padding: var(--sp-3xl) var(--sp-xl) var(--sp-2xl);
  background: var(--c-white);
  border: 1px solid rgba(13,27,42,0.06);
  border-radius: var(--radius-2xl);
  text-align: center;
  transition: all var(--dur-slow) var(--ease-out);
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(13,27,42,0.04), 0 8px 32px rgba(13,27,42,0.02);
}
/* Top accent bar */
.step-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  border-radius: 0 0 4px 4px;
  transform: scaleX(0.3);
  transform-origin: center;
  transition: transform var(--dur-slow) var(--ease-out);
}
/* Hover shine sweep */
.step-card::after {
  content: '';
  position: absolute;
  top: 0; width: 50%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.6), transparent);
  left: -80%;
  pointer-events: none;
  transition: none;
}
.step-card:nth-child(1)::before { background: linear-gradient(90deg, var(--c-navy-mid), var(--c-navy)); }
.step-card:nth-child(2)::before { background: linear-gradient(90deg, var(--c-red), #d41b2d); }
.step-card:nth-child(3)::before { background: linear-gradient(90deg, #198754, #0f5132); }
.step-card:hover {
  border-color: rgba(13,27,42,0.08);
  color: var(--c-text);
  transform: translateY(-10px);
  box-shadow:
    0 20px 60px rgba(13,27,42,0.12),
    0 40px 100px rgba(13,27,42,0.04);
}
.step-card:hover::before { transform: scaleX(1); }
.step-card:hover::after { animation: cardShine 0.8s ease-out forwards; }

.step-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px; height: 52px;
  border-radius: 50%;
  margin: 0 auto var(--sp-md);
  opacity: 0.12;
}
.step-card:nth-child(1) .step-card__icon { color: var(--c-navy); }
.step-card:nth-child(2) .step-card__icon { color: var(--c-red); }
.step-card:nth-child(3) .step-card__icon { color: #16a34a; }
.step-card:hover .step-card__icon { opacity: 0.25; }

/* Number badge — larger, glowing */
.step-card__number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 68px;
  height: 68px;
  border-radius: 50%;
  font-family: var(--ff-heading);
  font-size: var(--fs-lg);
  font-weight: 900;
  margin: 0 auto var(--sp-xl);
  color: var(--c-white);
  position: relative;
}
/* Glow ring behind number */
.step-card__number::before {
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  opacity: 0;
  transition: opacity var(--dur-slow);
}
.step-card:hover .step-card__number::before { opacity: 1; }
.step-card:nth-child(1) .step-card__number { background: linear-gradient(135deg, var(--c-navy-mid), var(--c-navy)); box-shadow: 0 4px 16px rgba(13,27,42,0.2); }
.step-card:nth-child(1) .step-card__number::before { background: rgba(13,27,42,0.08); }
.step-card:nth-child(2) .step-card__number { background: linear-gradient(135deg, var(--c-red), #d41b2d); box-shadow: 0 4px 16px rgba(230,57,70,0.25); }
.step-card:nth-child(2) .step-card__number::before { background: rgba(230,57,70,0.08); }
.step-card:nth-child(3) .step-card__number { background: linear-gradient(135deg, #198754, #0f5132); box-shadow: 0 4px 16px rgba(22,163,74,0.2); }
.step-card:nth-child(3) .step-card__number::before { background: rgba(22,163,74,0.08); }
.step-card__title { font-family:var(--ff-heading);font-size:var(--fs-md);font-weight:800;color:var(--c-text-heading);margin-bottom:var(--sp-sm);letter-spacing:-0.02em; }
.step-card__desc { font-size:var(--fs-sm);color:var(--c-text-light);line-height:var(--lh-body); }
/* CTA arrow — appears on hover */
.step-card__arrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: var(--sp-lg);
  font-family: var(--ff-body);
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(8px);
  transition: all var(--dur-normal) var(--ease-out);
}
.step-card:nth-child(1) .step-card__arrow { color: var(--c-navy); }
.step-card:nth-child(2) .step-card__arrow { color: var(--c-red); }
.step-card:nth-child(3) .step-card__arrow { color: #16a34a; }
.step-card:hover .step-card__arrow { opacity: 1; transform: translateY(0); }

/* Stripe divider */
.stripe-divider {
  display: flex;
  height: var(--usa-border-w);
  border-radius: 2px;
  overflow: hidden;
  max-width: 120px;
  margin: var(--sp-3xl) auto;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.stripe-divider .s-navy { flex:1;background:var(--usa-blue); }
.stripe-divider .s-red { flex:1;background:var(--usa-red); }
.stripe-divider .s-offwhite { flex:1;background:var(--usa-white); }

/* ==========================================================================
   MODULE: "Pilares" — full-bleed dramatic tiles
   ========================================================================== */
.module-pilares { padding:var(--sp-3xl) 0;background:var(--c-bg); }
.module-pilares__header { margin-bottom:var(--sp-2xl); }
.module-pilares__grid { display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-lg); }
.pilar-tile {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 320px;
  padding: var(--sp-2xl) var(--sp-xl);
  border-radius: var(--radius-xl);
  text-decoration: none;
  color: var(--c-white);
  position: relative;
  overflow: hidden;
  transition: all var(--dur-slow) var(--ease-out);
}
.pilar-tile:nth-child(1) { background:linear-gradient(135deg, #0D1B2A 0%, #1B2D45 100%); }
.pilar-tile:nth-child(2) { background:linear-gradient(135deg, #C1121F 0%, #E63946 100%); }
.pilar-tile:nth-child(3) { background:linear-gradient(135deg, #0f5132 0%, #198754 100%); }
.pilar-tile:hover { transform:translateY(-6px);color:var(--c-white);box-shadow:var(--shadow-dramatic); }
.pilar-tile::after {
  content: '';
  position: absolute;
  top: -50%;
  right: -30%;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  border: 2px dashed rgba(255,255,255,0.06);
  pointer-events: none;
}
.pilar-tile__icon { margin-bottom:var(--sp-lg);opacity:0.4; }
.pilar-tile__title { font-family:var(--ff-heading);font-size:var(--fs-xl);font-weight:900;color:var(--c-white);margin-bottom:var(--sp-xs);letter-spacing:-0.03em; }
.pilar-tile__count { font-family:var(--ff-body);font-size:var(--fs-xs);font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.4); }

/* ==========================================================================
   MODULE: "Más leído" — bold ranking
   ========================================================================== */
.module-trending { padding:var(--sp-3xl) 0; }
.module-trending__header { margin-bottom:var(--sp-xl); }
.module-trending__list { display:flex;flex-direction:column; }
.trending-item {
  display: flex;
  align-items: center;
  gap: var(--sp-lg);
  padding: var(--sp-lg) var(--sp-md);
  text-decoration: none;
  color: var(--c-text);
  border-bottom: 1px solid var(--c-gray-200);
  transition: all var(--dur-fast);
  border-radius: var(--radius);
  margin: 0 calc(-1 * var(--sp-md));
}
.trending-item:first-child { padding-top:var(--sp-sm); }
.trending-item:last-child { border-bottom:none; }
.trending-item:hover { color:var(--c-red);background:rgba(230,57,70,0.02); }
.trending-item__rank {
  font-family: var(--ff-heading);
  font-size: var(--fs-2xl);
  font-weight: 900;
  color: var(--c-gray-200);
  min-width: 56px;
  line-height: 1;
  letter-spacing: -0.04em;
  transition: color var(--dur-normal);
}
.trending-item:hover .trending-item__rank { color:var(--c-red-soft); }
.trending-item__img { width:60px;height:60px;border-radius:var(--radius-lg);overflow:hidden;flex-shrink:0; }
.trending-item__img img { width:100%;height:100%;object-fit:cover; }
.trending-item__body { flex:1;min-width:0; }
.trending-item__cat { font-family:var(--ff-body);font-size:var(--fs-xs);font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--c-red);margin-bottom:2px;display:block; }
.trending-item__title { font-family:var(--ff-heading);font-size:var(--fs-sm);font-weight:800;color:var(--c-text-heading);line-height:var(--lh-snug); }
.trending-item:hover .trending-item__title { color:var(--c-red); }
.trending-item__meta { font-family:var(--ff-body);font-size:var(--fs-xs);font-weight:500;letter-spacing:0.04em;color:var(--c-gray-500);margin-top:3px; }

/* ==========================================================================
   CARD A: Cover Card (hero tile)
   ========================================================================== */
.post-hero-tile { border-radius:var(--radius-xl);overflow:hidden;margin-bottom:var(--sp-xl); }
.post-hero-tile__link { display:block;position:relative;color:var(--c-white); }
.post-hero-tile__img { aspect-ratio:16/10;overflow:hidden; }
.post-hero-tile__img img { width:100%;height:100%;object-fit:cover;transition:transform var(--dur-cinematic) var(--ease-out); }
.post-hero-tile:hover .post-hero-tile__img img { transform:scale(1.04); }
.post-hero-tile__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(7,15,26,0.92) 0%, rgba(7,15,26,0.3) 45%, transparent 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: var(--sp-2xl);
}
.post-hero-tile__cat { display:inline-block;width:fit-content;background:var(--c-red);color:var(--c-white);padding:0.3em 0.9em;border-radius:100px;font-family:var(--ff-body);font-size:var(--fs-xs);font-weight:600;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:var(--sp-sm); }
.post-hero-tile__title { font-family:var(--ff-heading);font-size:var(--fs-xl);font-weight:800;color:var(--c-white);margin-bottom:var(--sp-sm);letter-spacing:-0.02em; }
.post-hero-tile__excerpt { font-size:var(--fs-sm);color:rgba(255,255,255,0.65);max-width:600px;line-height:var(--lh-body); }
.post-hero-tile__meta { display:flex;gap:var(--sp-md);margin-top:var(--sp-md);font-family:var(--ff-body);font-size:var(--fs-xs);font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,255,255,0.4); }
.post-hero-tile__meta span { display:flex;align-items:center;gap:4px; }

/* ==========================================================================
   CARD B: Medium Card — crisp
   ========================================================================== */
.posts-medium-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-xl);margin-bottom:var(--sp-2xl); }
.card {
  background: var(--c-surface);
  border-radius: var(--radius-xl);
  overflow: hidden;
  border: 1px solid var(--c-gray-200);
  transition: all var(--dur-normal) var(--ease-out);
  position: relative;
}
.card:hover { border-color:var(--c-gray-300);transform:translateY(-4px);box-shadow:var(--shadow-card-hover); }
.card__img { display:block;aspect-ratio:16/10;overflow:hidden; }
.card__img img { width:100%;height:100%;object-fit:cover;transition:transform var(--dur-cinematic) var(--ease-out); }
.card:hover .card__img img { transform:scale(1.03); }
.card__body { padding:var(--sp-lg) var(--sp-xl); }
.card__cat { display:inline-block;padding:0.25em 0.75em;border-radius:100px;font-family:var(--ff-body);font-size:var(--fs-xs);font-weight:600;letter-spacing:0.1em;text-transform:uppercase;background:rgba(13,27,42,0.05);color:var(--c-navy);margin-bottom:var(--sp-sm); }
.card__cat:hover { background:rgba(13,27,42,0.1);color:var(--c-navy); }
.card__title { font-family:var(--ff-heading);font-size:var(--fs-md);font-weight:800;margin-bottom:var(--sp-sm);line-height:var(--lh-snug); }
.card__title a { color:var(--c-text-heading); }
.card__title a:hover { color:var(--c-red); }
.card__excerpt { font-size:var(--fs-sm);color:var(--c-text-light);line-height:var(--lh-body);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden; }
.card__meta { display:flex;gap:var(--sp-md);margin-top:var(--sp-md);font-family:var(--ff-body);font-size:var(--fs-xs);font-weight:500;letter-spacing:0.04em;color:var(--c-gray-500); }
.card__meta span { display:flex;align-items:center;gap:4px; }

/* ==========================================================================
   CARD C: Compact with timeline
   ========================================================================== */
.posts-compact {
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  padding-left: calc(var(--timeline-dot) + var(--sp-xl));
}
.posts-compact::before {
  content: '';
  position: absolute;
  top: var(--sp-lg);
  bottom: var(--sp-lg);
  left: calc(var(--timeline-dot) / 2);
  width: var(--timeline-rail-w);
  transform: translateX(-50%);
  background: var(--c-gray-200);
  border-radius: 1px;
}
.compact-post {
  display: flex;
  gap: var(--sp-md);
  padding: var(--sp-md);
  background: var(--c-surface);
  border-radius: var(--radius-lg);
  transition: all var(--dur-fast);
  position: relative;
  margin-bottom: var(--sp-sm);
  border: 1px solid transparent;
}
.compact-post::before {
  content: '';
  position: absolute;
  left: calc(-1 * var(--sp-xl) - var(--timeline-dot) / 2);
  top: 50%;
  transform: translate(-50%, -50%);
  width: var(--timeline-dot);
  height: var(--timeline-dot);
  border-radius: 50%;
  background: var(--c-gray-300);
  transition: background var(--dur-fast);
}
.compact-post:first-child::before { background:var(--c-red); }
.compact-post:hover { background:var(--c-gray-50);border-color:var(--c-gray-200);transform:translateX(4px); }
.compact-post:hover::before { background:var(--c-red); }
/* rank removed in v3.1 */
.compact-post__img { width:112px;min-width:112px;aspect-ratio:16/11;border-radius:var(--radius-lg);overflow:hidden; }
.compact-post__img img { width:100%;height:100%;object-fit:cover; }
.compact-post__body { flex:1;display:flex;flex-direction:column;justify-content:center; }
.compact-post__title { font-family:var(--ff-heading);font-size:var(--fs-sm);font-weight:800;line-height:var(--lh-snug);margin-bottom:var(--sp-xs); }
.compact-post__title a { color:var(--c-text-heading); }
.compact-post__title a:hover { color:var(--c-red); }
.compact-post__excerpt { font-size:var(--fs-xs);color:var(--c-text-light);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }
.compact-post__meta { font-family:var(--ff-body);font-size:var(--fs-xs);font-weight:500;letter-spacing:0.04em;color:var(--c-gray-500);margin-top:var(--sp-xs); }
.compact-post__arrow { color:var(--c-gray-300);display:flex;align-items:center;flex-shrink:0;transition:all var(--dur-fast); }
.compact-post:hover .compact-post__arrow { color:var(--c-red);transform:translateX(3px); }

.archive-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-xl); }
.pagination { display:flex;gap:var(--sp-sm);justify-content:center;margin-top:var(--sp-2xl);flex-wrap:wrap; }
.pagination a,.pagination span { display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 var(--sp-sm);border-radius:100px;font-family:var(--ff-body);font-size:var(--fs-sm);font-weight:600;border:var(--border-light);color:var(--c-text);transition:all var(--dur-fast); }
.pagination a:hover { background:var(--c-navy);color:var(--c-white);border-color:var(--c-navy); }
.pagination .current { background:var(--c-navy);color:var(--c-white);border-color:var(--c-navy); }

/* ==========================================================================
   SIDEBAR — Editorial panel
   ========================================================================== */
.sidebar { display:flex;flex-direction:column;gap:var(--sp-xl); }
.sidebar--sticky { position:sticky;top:80px; }
.widget { background:var(--c-surface);border-radius:var(--radius-xl);padding:var(--sp-xl);border:var(--border-subtle); }
.widget__title {
  font-family: var(--ff-body);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: var(--sp-lg);
  padding-bottom: var(--sp-sm);
  color: var(--c-text-light);
  border-bottom: 1px solid var(--c-gray-200);
}
.widget-about__avatar { width:72px;height:72px;border-radius:var(--radius-lg);margin-bottom:var(--sp-md);object-fit:cover; }
.widget-about__bio { font-size:var(--fs-sm);color:var(--c-text-light);line-height:var(--lh-body); }
.widget-cats ul { list-style:none; }
.widget-cats li a { display:flex;justify-content:space-between;padding:var(--sp-sm) 0;border-bottom:1px solid var(--c-gray-100);font-size:var(--fs-sm);color:var(--c-text);transition:color var(--dur-fast); }
.widget-cats li a:hover { color:var(--c-red); }
.widget-cats .count { background:var(--c-gray-100);padding:0.15em 0.65em;border-radius:100px;font-family:var(--ff-body);font-size:var(--fs-xs);font-weight:600;color:var(--c-gray-600); }
.widget-posts-list { list-style:none;counter-reset:rank; }
.widget-posts-list li {
  display: flex;
  gap: var(--sp-sm);
  padding: var(--sp-sm) 0;
  border-bottom: 1px solid var(--c-gray-100);
  align-items: center;
}
.widget-posts-list li:last-child { border-bottom:none; }
.widget-posts-list li::before {
  counter-increment: rank;
  content: counter(rank, decimal-leading-zero);
  font-family: var(--ff-heading);
  font-size: var(--fs-md);
  font-weight: 900;
  color: var(--c-gray-200);
  min-width: 28px;
  line-height: 1;
}
.widget-posts-list__img { width:48px;min-width:48px;aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden; }
.widget-posts-list__img img { width:100%;height:100%;object-fit:cover; }
.widget-posts-list__title { font-family:var(--ff-heading);font-size:var(--fs-sm);font-weight:700;line-height:var(--lh-snug); }
.widget-posts-list__title a { color:var(--c-text); }
.widget-posts-list__title a:hover { color:var(--c-red); }
.widget-posts-list__meta { font-size:var(--fs-xs);color:var(--c-gray-500);margin-top:2px; }

/* Newsletter widget */
/* Badge widget */
.widget-badge { padding:0;border:none;background:none; }
.widget-badge__inner {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0.4em 1em;
  background: var(--c-navy);
  color: rgba(255,255,255,0.6);
  border-radius: 100px;
  font-family: var(--ff-body);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.06em;
}
.widget-badge__inner svg { color: var(--c-gold); }

.widget-newsletter { background:var(--c-navy);color:var(--c-white);border:none;position:relative;overflow:hidden; }
.widget-newsletter::before {
  content: '';
  position: absolute;
  top: -40%;
  right: -30%;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  border: 2px dashed rgba(255,255,255,0.04);
  pointer-events: none;
}
.widget-newsletter .widget__title { color:rgba(255,255,255,0.4);border-bottom-color:rgba(255,255,255,0.08); }
.widget-newsletter__text { font-size:var(--fs-sm);color:rgba(255,255,255,0.6);margin-bottom:var(--sp-md); }
.widget-newsletter__form { display:flex;flex-direction:column;gap:var(--sp-sm); }
.widget-newsletter__form input { background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.12);color:var(--c-white);padding:0.8em var(--sp-md);border-radius:100px;font:inherit;transition:border-color var(--dur-fast); }
.widget-newsletter__form input::placeholder { color:rgba(255,255,255,0.3); }
.widget-newsletter__form input:focus { outline:none;border-color:rgba(255,255,255,0.3); }
.widget-newsletter__form button { background:var(--c-red);color:var(--c-white);border:none;padding:0.8em var(--sp-md);border-radius:100px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;font-size:var(--fs-xs);cursor:pointer;transition:all var(--dur-fast); }
.widget-newsletter__form button:hover { background:var(--c-red-dark);transform:translateY(-1px); }
.widget-newsletter__privacy { font-size:var(--fs-xs);color:rgba(255,255,255,0.25);margin-top:var(--sp-xs); }
.widget-essential-links ul { list-style:none; }
.widget-essential-links li a { display:block;padding:var(--sp-sm) 0;font-size:var(--fs-sm);color:var(--c-text);border-bottom:1px solid var(--c-gray-100);transition:color var(--dur-fast); }
.widget-essential-links li a:hover { color:var(--c-red); }

/* ==========================================================================
   SINGLE POST — editorial (base styles for non-cinematic fallback)
   ========================================================================== */
.single-header { position:relative;background:var(--c-navy);color:var(--c-white);padding:clamp(4rem,8vw,8rem) 0 clamp(3rem,5vw,5rem);overflow:hidden; }
.single-header__bg { position:absolute;inset:0; }
.single-header__bg::after { content:'';position:absolute;inset:0;background:linear-gradient(to top,var(--c-navy-deep) 0%,rgba(13,27,42,0.7) 50%,rgba(13,27,42,0.4) 100%); }
.single-header__bg img { width:100%;height:100%;object-fit:cover;opacity:0.35; }
.single-header__content { position:relative;z-index:var(--z-base);max-width:var(--max-w-narrow);margin-inline:auto; }
.single-header__cat { display:inline-block;margin-bottom:var(--sp-md); }
.single-header__cat a { background:var(--c-red);color:var(--c-white);padding:0.3em 0.9em;border-radius:100px;font-family:var(--ff-body);font-size:var(--fs-xs);font-weight:600;letter-spacing:0.08em;text-transform:uppercase; }
.single-header__title { font-family:var(--ff-heading);font-size:var(--fs-2xl);font-weight:800;color:var(--c-white);margin-bottom:var(--sp-lg);letter-spacing:-0.03em; }
.single-header__meta { display:flex;gap:var(--sp-md);flex-wrap:wrap;font-family:var(--ff-body);font-size:var(--fs-xs);font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,255,255,0.45); }
.single-header__meta span { display:flex;align-items:center;gap:4px; }

.toc { background:var(--c-gray-50);border-radius:var(--radius-xl);padding:var(--sp-lg);border:var(--border-subtle);border-left:3px solid var(--c-navy); }
.toc__toggle { display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;font:inherit;font-family:var(--ff-heading);font-weight:800;color:var(--c-text-heading);cursor:pointer;padding:0; }
.toc__toggle svg { transition:transform var(--dur-fast); }
.toc__toggle[aria-expanded="false"] svg { transform:rotate(-90deg); }
.toc__list { list-style:decimal;padding-left:var(--sp-lg);margin-top:var(--sp-md); }
.toc__list li { padding:var(--sp-xs) 0;font-size:var(--fs-sm); }
.toc__list a { color:var(--c-text-light); }
.toc__list a:hover { color:var(--c-red); }
.toc-h3 { padding-left:var(--sp-lg); }

.post-content { max-width:var(--max-w-reading);margin:var(--sp-2xl) auto;padding:0 clamp(1rem,3vw,2rem); }
.post-content > p:first-of-type::first-letter {
  float: left;
  font-family: var(--ff-heading);
  font-size: clamp(3.5rem, 3rem + 2vw, 5rem);
  font-weight: 900;
  line-height: 0.78;
  padding-right: 0.1em;
  padding-top: 0.06em;
  color: var(--c-navy);
}
.post-content h2 { font-family:var(--ff-heading);font-size:var(--fs-xl);font-weight:800;margin:var(--sp-3xl) 0 var(--sp-lg);letter-spacing:-0.02em; }
.post-content h3 { font-family:var(--ff-heading);font-size:var(--fs-lg);font-weight:800;margin:var(--sp-2xl) 0 var(--sp-md); }
.post-content p { margin-bottom:var(--sp-lg); }
.post-content ul,.post-content ol { margin-bottom:var(--sp-lg);padding-left:var(--sp-xl); }
.post-content li { margin-bottom:var(--sp-sm); }
.post-content pre { background:var(--c-gray-900);color:var(--c-gray-100);padding:var(--sp-lg);border-radius:var(--radius-lg);overflow-x:auto;font-size:var(--fs-sm);margin-bottom:var(--sp-lg); }
.post-content code { font-size:0.9em;background:var(--c-gray-100);padding:0.15em 0.4em;border-radius:4px; }
.post-content pre code { background:none;padding:0; }
.post-content img { border-radius:var(--radius-lg);margin:var(--sp-lg) 0; }
.post-content a { text-decoration:underline;text-decoration-color:rgba(230,57,70,0.25);text-underline-offset:3px;transition:text-decoration-color var(--dur-fast); }
.post-content a:hover { text-decoration-color:var(--c-red); }
.post-content blockquote { border-left:3px solid var(--c-red);padding:var(--sp-lg) var(--sp-xl);margin:var(--sp-xl) 0;background:var(--c-gray-50);border-radius:0 var(--radius-lg) var(--radius-lg) 0;font-style:italic;color:var(--c-gray-700); }
.post-content blockquote cite { display:block;margin-top:var(--sp-md);font-style:normal;font-size:var(--fs-sm);font-weight:600;color:var(--c-navy); }
.post-content blockquote cite::before { content:'— '; }
.wp-block-group.is-style-callout-tip { padding:var(--sp-lg);border-radius:var(--radius-lg);margin:var(--sp-xl) 0;border-left:3px solid #22c55e;background:#f0fdf4; }
.wp-block-group.is-style-callout-warning { padding:var(--sp-lg);border-radius:var(--radius-lg);margin:var(--sp-xl) 0;border-left:3px solid #f59e0b;background:#fffbeb; }

.author-box { display:flex;gap:var(--sp-lg);padding:var(--sp-xl);background:var(--c-surface);border-radius:var(--radius-xl);margin:var(--sp-3xl) 0;border:var(--border-subtle); }
.author-box__avatar { width:72px;height:72px;border-radius:50%;flex-shrink:0; }
.author-box__name { font-family:var(--ff-heading);font-size:var(--fs-md);font-weight:800;color:var(--c-text-heading);margin-bottom:var(--sp-xs); }
.author-box__bio { font-size:var(--fs-sm);color:var(--c-text-light); }
.related-posts { margin:var(--sp-3xl) 0; }
.related-posts__grid { display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-lg); }
.post-nav { display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-lg);margin:var(--sp-3xl) 0;padding:var(--sp-xl) 0;border-top:var(--border-light);border-bottom:var(--border-light); }
.post-nav__item { display:flex;gap:var(--sp-md);align-items:center; }
.post-nav__item--next { flex-direction:row-reverse;text-align:right; }
.post-nav__thumb { width:60px;height:60px;border-radius:var(--radius-lg);overflow:hidden;flex-shrink:0; }
.post-nav__thumb img { width:100%;height:100%;object-fit:cover; }
.post-nav__label { font-family:var(--ff-body);font-size:var(--fs-xs);font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--c-text-light); }
.post-nav__title { margin-top:var(--sp-xs); }
.post-nav__title a { font-family:var(--ff-heading);font-size:var(--fs-sm);font-weight:700;color:var(--c-text-heading);line-height:var(--lh-snug); }
.post-nav__title a:hover { color:var(--c-red); }

.comments-area { background:var(--c-surface);border-radius:var(--radius-xl);padding:var(--sp-xl);border:var(--border-subtle); }
.comment-list { list-style:none; }
.comment-list .comment { padding:var(--sp-lg);margin-bottom:var(--sp-md);background:var(--c-gray-50);border-radius:var(--radius-xl); }
.comment-list .comment .children { margin-top:var(--sp-md);padding-left:var(--sp-lg);border-left:2px solid var(--c-gray-200); }
.comment-list .comment .children .comment { background:var(--c-white); }
.comment-list .comment-body { font-size:var(--fs-sm);line-height:var(--lh-body); }
.comment-list .comment-author { font-family:var(--ff-heading);font-weight:700;font-size:var(--fs-sm); }
.comment-list .comment-author img { border-radius:50%;margin-right:var(--sp-sm);display:inline-block;vertical-align:middle; }
.comment-list .comment-metadata { font-size:var(--fs-xs);color:var(--c-text-light);margin-bottom:var(--sp-sm); }
.comment-list .reply a { font-size:var(--fs-xs);color:var(--c-red);font-weight:600; }
.comment-respond { margin-top:var(--sp-xl);padding-top:var(--sp-xl);border-top:var(--border-light); }
.comment-respond .comment-reply-title { font-family:var(--ff-heading);font-size:var(--fs-lg);font-weight:800;color:var(--c-text-heading);margin-bottom:var(--sp-lg); }
.comment-respond label { display:block;font-size:var(--fs-sm);font-weight:600;margin-bottom:var(--sp-xs); }
.comment-respond input[type="text"],.comment-respond input[type="email"],.comment-respond input[type="url"],.comment-respond textarea { width:100%;padding:0.8em var(--sp-md);border:var(--border-light);border-radius:var(--radius-lg);font:inherit;margin-bottom:var(--sp-md);transition:border-color var(--dur-fast); }
.comment-respond input:focus,.comment-respond textarea:focus { outline:none;border-color:var(--c-navy); }
.comment-respond .submit { background:var(--c-red);color:var(--c-white);border:none;padding:0.8em var(--sp-2xl);border-radius:100px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;cursor:pointer;transition:all var(--dur-fast); }
.comment-respond .submit:hover { background:var(--c-red-dark);transform:translateY(-1px); }

/* Pages, Archive, Error */
.page-content { max-width:var(--max-w-narrow);margin:var(--sp-3xl) auto;padding:0 clamp(1rem,3vw,2rem); }
.page-content h1 { margin-bottom:var(--sp-lg); }
.page-header-simple { background:var(--c-navy);color:var(--c-white);padding:var(--sp-3xl) 0; }
.page-header-simple h1 { font-family:var(--ff-heading);font-size:var(--fs-2xl);font-weight:800;color:var(--c-white); }
.error-404-content { max-width:600px;margin:var(--sp-4xl) auto;text-align:center;padding:0 var(--sp-md); }
.error-404__illustration { margin-bottom:var(--sp-xl); }
.search-form-large { display:flex;margin-top:var(--sp-lg);max-width:500px;margin-inline:auto; }
.search-form-large input { flex:1;border:var(--border-light);border-radius:100px 0 0 100px;padding:var(--sp-md) var(--sp-lg);font:inherit; }
.search-form-large input:focus { outline:none;border-color:var(--c-navy); }
.search-form-large button { background:var(--c-navy);color:var(--c-white);border:none;padding:var(--sp-md) var(--sp-xl);border-radius:0 100px 100px 0;font-weight:600;cursor:pointer; }

.archive-header { background:var(--c-navy);color:var(--c-white);padding:var(--sp-3xl) 0 var(--sp-2xl);position:relative; }
.archive-header::after { content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--c-navy),var(--c-red),var(--c-gold)); }
.archive-header__overline { display:block;font-family:var(--ff-body);font-size:var(--fs-xs);font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--c-gold);margin-bottom:var(--sp-sm); }
.archive-header__title { font-family:var(--ff-heading);font-size:var(--fs-2xl);font-weight:900;color:var(--c-white);margin-bottom:var(--sp-sm);letter-spacing:-0.03em; }
.archive-header__desc { font-size:var(--fs-md);color:rgba(255,255,255,0.55);max-width:560px; }

/* Archive filter pills */
.archive-filters { display:none; background:var(--c-white);border-bottom:var(--border-light);padding:var(--sp-lg) 0;position:sticky;top:60px;z-index:var(--z-sticky); }
.archive-filters__pills { display:flex;gap:var(--sp-sm);flex-wrap:wrap; }
.topic-chip--active { background:var(--c-navy) !important;color:var(--c-white) !important;border-color:var(--c-navy) !important; }

/* ==========================================================================
   FOOTER — Grounded, dramatic
   ========================================================================== */
.site-footer { background:var(--c-navy-deep);color:rgba(255,255,255,0.65); }
.footer-stripe { display:flex;height:var(--usa-border-w);box-shadow:0 2px 4px rgba(0,0,0,0.1); }
.footer-stripe .s-navy { flex:1;background:var(--usa-blue); }
.footer-stripe .s-red { flex:1;background:var(--usa-red); }
.footer-stripe .s-offwhite { flex:1;background:var(--usa-white); }
.footer__main { padding:var(--sp-4xl) 0 var(--sp-3xl);position:relative; }
.footer__noise { display:none; }
.footer__grid { display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--sp-2xl);position:relative; }
.footer__title { font-family:var(--ff-body);font-size:var(--fs-xs);font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.35);margin-bottom:var(--sp-lg); }
.footer__about p { font-size:var(--fs-sm);line-height:var(--lh-body); }
.footer__manifiesto { font-style:italic;color:rgba(255,255,255,0.5);border-left:2px solid rgba(255,255,255,0.1);padding-left:var(--sp-md);margin-bottom:var(--sp-lg); }
.footer__about .footer__title { font-family:var(--ff-heading);font-size:var(--fs-lg);font-weight:900;letter-spacing:-0.02em;text-transform:none;color:var(--c-white); }

/* Footer about — logo */
.footer__about-logo {
  display: inline-block;
  margin-bottom: var(--sp-md);
  transition: opacity 0.3s;
}
.footer__about-logo:hover { opacity: 0.8; }
.footer__about-logo img {
  max-height: 56px;
  width: auto;
  filter: brightness(0) invert(1);
  opacity: 0.9;
}

/* Footer about — decorative stripe */
.footer__about-stripe {
  display: flex;
  gap: 4px;
  margin-bottom: var(--sp-lg);
}
.footer__about-stripe span:nth-child(1) {
  width: 28px; height: 3px;
  background: var(--usa-blue);
  border-radius: 2px;
}
.footer__about-stripe span:nth-child(2) {
  width: 12px; height: 3px;
  background: var(--c-white);
  border-radius: 2px;
  opacity: 0.25;
}
.footer__about-stripe span:nth-child(3) {
  width: 28px; height: 3px;
  background: var(--usa-red);
  border-radius: 2px;
}

/* Footer about — stats */
.footer__about-stats {
  display: flex;
  gap: var(--sp-lg);
  padding: var(--sp-md) 0;
  margin-bottom: var(--sp-sm);
  border-top: 1px solid rgba(255,255,255,0.06);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.footer__about-stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.footer__about-stat-value {
  font-family: var(--ff-heading);
  font-size: var(--fs-base);
  font-weight: 900;
  color: var(--c-white);
  letter-spacing: -0.02em;
}
.footer__about-stat-label {
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.3);
}
.footer__social { display:flex;gap:var(--sp-md);margin-top:var(--sp-lg); }
.footer__social a { color:rgba(255,255,255,0.35);width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(255,255,255,0.08);transition:all var(--dur-fast); }
.footer__social a:hover { color:var(--c-white);border-color:rgba(255,255,255,0.25);transform:translateY(-2px); }
.footer__search { margin-top:var(--sp-xl); }
.footer__search-form { display:flex; }
.footer__search-form input { flex:1;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);color:var(--c-white);padding:0.7em var(--sp-md);border-radius:100px 0 0 100px;font:inherit;font-size:var(--fs-sm);transition:border-color var(--dur-fast); }
.footer__search-form input::placeholder { color:rgba(255,255,255,0.2); }
.footer__search-form input:focus { outline:none;border-color:rgba(255,255,255,0.2); }
.footer__search-form button { background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.5);border:none;padding:0.7em var(--sp-md);border-radius:0 100px 100px 0;cursor:pointer;transition:all var(--dur-fast); }
.footer__search-form button:hover { background:rgba(255,255,255,0.12); }

/* Footer latest posts with thumbnails */
.footer__posts-list { list-style:none; }
.footer__posts-list li { padding:var(--sp-sm) 0;border-bottom:1px solid rgba(255,255,255,0.05); }
.footer__posts-list a { color:rgba(255,255,255,0.65);font-size:var(--fs-sm); }
.footer__posts-list a:hover { color:var(--c-white); }
.footer__posts-list .meta { display:block;font-size:var(--fs-xs);color:rgba(255,255,255,0.2);margin-top:2px; }
.footer__posts-list--thumbs li { display:flex;gap:var(--sp-sm);align-items:flex-start; }
.footer__post-thumb { flex-shrink:0;width:52px;height:52px;border-radius:var(--radius);overflow:hidden;display:block; }
.footer__post-thumb img { width:100%;height:100%;object-fit:cover; }

/* Footer resources with icons */
.footer__resources-list { list-style:none; }
.footer__resources-list li { margin-bottom:var(--sp-md); }
.footer__resources-list a { display:flex;align-items:center;gap:var(--sp-sm);color:rgba(255,255,255,0.65);text-decoration:none;transition:color var(--dur-fast); }
.footer__resources-list a:hover { color:var(--c-white); }
.footer__resource-icon {
  width:36px;height:36px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-shrink:0;
  background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);transition:all var(--dur-fast);
}
.footer__resources-list a:hover .footer__resource-icon { background:rgba(255,255,255,0.1);transform:scale(1.05); }
.footer__resource-icon--uscis { color:#3b82f6; }
.footer__resource-icon--irs { color:#16a34a; }
.footer__resource-icon--usagov { color:#d97706; }
.footer__resource-icon--ssa { color:#8b5cf6; }
.footer__resource-text { display:flex;flex-direction:column; }
.footer__resource-text strong { font-size:var(--fs-sm);color:rgba(255,255,255,0.8);font-weight:600; }
.footer__resource-text small { font-size:var(--fs-xs);color:rgba(255,255,255,0.3);line-height:1.4; }

/* Footer X feed embed */
.footer__xfeed-embed { margin-bottom:var(--sp-md);max-height:300px;overflow:hidden;border-radius:var(--radius-lg);background:rgba(255,255,255,0.03); }
.footer__xfeed-follow {
  display:inline-flex;align-items:center;gap:var(--sp-xs);
  font-size:var(--fs-sm);font-weight:600;color:rgba(255,255,255,0.45);
  padding:var(--sp-xs) var(--sp-md);border:1px solid rgba(255,255,255,0.1);border-radius:100px;
  transition:all var(--dur-fast);
}
.footer__xfeed-follow:hover { color:var(--c-white);border-color:rgba(255,255,255,0.25); }

/* Legacy compat */
.footer__links { display:none; }
.footer__bottom { border-top:1px solid rgba(255,255,255,0.05);padding:var(--sp-lg) 0;font-size:var(--fs-xs);color:rgba(255,255,255,0.2); }
.footer__bottom-inner { display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-sm); }
.footer__version { background:rgba(255,255,255,0.05);padding:0.15em 0.6em;border-radius:100px;font-family:var(--ff-body);font-weight:600; }

/* ==========================================================================
   CHANGELOG
   ========================================================================== */
.changelog-page { padding:var(--sp-3xl) 0 var(--sp-4xl); }
.changelog-page__header { text-align:center;margin-bottom:var(--sp-3xl); }
.changelog-page__title { font-family:var(--ff-heading);font-size:var(--fs-2xl);font-weight:900;margin-bottom:var(--sp-sm); }
.changelog-page__subtitle { font-size:var(--fs-md);color:var(--c-text-light); }
.changelog-page__header .stripe-accent { margin-inline:auto; }
.changelog-page__current { margin-top:var(--sp-lg); }
.changelog-timeline { position:relative;padding-left:var(--sp-2xl); }
.changelog-entry { position:relative;padding-bottom:var(--sp-2xl);display:flex;gap:var(--sp-xl); }
.changelog-entry:last-child { padding-bottom:0; }
.changelog-entry__marker { position:absolute;left:calc(-1 * var(--sp-2xl));display:flex;flex-direction:column;align-items:center; }
.changelog-entry__dot { width:14px;height:14px;border-radius:50%;background:var(--c-gray-300);border:3px solid var(--c-bg);box-shadow:0 0 0 1.5px var(--c-gray-300);flex-shrink:0;z-index:1; }
.changelog-entry--latest .changelog-entry__dot { background:var(--c-red);box-shadow:0 0 0 1.5px var(--c-red); }
.changelog-entry__line { width:1.5px;flex:1;background:var(--c-gray-200);margin-top:var(--sp-xs); }
.changelog-entry__content { background:var(--c-surface);border-radius:var(--radius-xl);padding:var(--sp-xl);border:var(--border-subtle);flex:1;transition:border-color var(--dur-fast); }
.changelog-entry__content:hover { border-color:var(--c-gray-300); }
.changelog-entry--latest .changelog-entry__content { border-left:3px solid var(--c-red); }
.changelog-entry__header { display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--sp-md);flex-wrap:wrap;gap:var(--sp-sm); }
.changelog-entry__version-row { display:flex;align-items:center;gap:var(--sp-sm); }
.changelog-entry__version { font-family:var(--ff-heading);font-size:var(--fs-md);font-weight:800;color:var(--c-navy); }
.changelog-entry__date { font-size:var(--fs-xs);color:var(--c-text-light); }
.changelog-entry__title { font-family:var(--ff-heading);font-size:var(--fs-lg);font-weight:800;margin-bottom:var(--sp-md);color:var(--c-text-heading); }
.changelog__badge { display:inline-block;padding:0.2em 0.7em;border-radius:100px;font-family:var(--ff-body);font-size:var(--fs-xs);font-weight:600;letter-spacing:0.04em; }
.changelog__badge--feature { background:rgba(34,197,94,0.08);color:#16a34a; }
.changelog__badge--fix { background:rgba(239,68,68,0.08);color:#dc2626; }
.changelog__badge--improvement { background:rgba(59,130,246,0.08);color:#2563eb; }
.changelog-entry__changes { list-style:none;padding:0; }
.changelog-entry__changes li { position:relative;padding:var(--sp-xs) 0 var(--sp-xs) var(--sp-lg);font-size:var(--fs-sm);color:var(--c-text);line-height:1.6; }
.changelog-entry__changes li::before { content:'';position:absolute;left:0;top:0.7em;width:5px;height:5px;border-radius:50%;background:var(--c-gray-300); }
.changelog-entry--latest .changelog-entry__changes li::before { background:var(--c-red); }

/* ==========================================================================
   REVEAL ANIMATION SYSTEM v4.0 — @keyframes driven, bulletproof
   ========================================================================== */

/* ---- Keyframe definitions ---- */
@keyframes revealUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes revealRight {
  from {
    opacity: 0;
    transform: translateX(40px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes revealStamp {
  from {
    opacity: 0;
    transform: scale(0.5) rotate(-35deg);
  }
  to {
    opacity: 0.25;
    transform: scale(1) rotate(-22deg);
  }
}

/* ---- Fallback: if JS fails, everything is visible ---- */
.reveal-up, .reveal-right, .reveal-stamp {
  opacity: 1;
}

/* ---- Hidden state: only when JS adds reveal-ready ---- */
body.reveal-ready .reveal-up,
body.reveal-ready .reveal-right,
body.reveal-ready .reveal-stamp {
  opacity: 0;
}

/* ================================================================
   HERO — Auto-animate on page load via CSS animation.
   No JS trigger needed. The animation-delay creates the stagger.
   animation-fill-mode: both keeps them hidden before delay starts
   and visible after animation ends.
   ================================================================ */

/* Hero .reveal-up elements: staggered entrance */
body.reveal-ready .hero__content .hero__micro-label.reveal-up {
  animation: revealUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.2s both;
}
body.reveal-ready .hero__content .hero__title.reveal-up {
  animation: revealUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.4s both;
}
body.reveal-ready .hero__content .hero__subtitle.reveal-up {
  animation: revealUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.6s both;
}
body.reveal-ready .hero__content .hero__ctas.reveal-up {
  animation: revealUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.8s both;
}
body.reveal-ready .hero__content .hero__trust-signals.reveal-up {
  animation: revealUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) 1.0s both;
}

/* Hero featured card — slide from right */
body.reveal-ready .hero__featured.reveal-right {
  animation: revealRight 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.7s both;
}

/* Hero stamps */
body.reveal-ready .hero .stamp-watermark.reveal-stamp {
  animation: revealStamp 1.2s cubic-bezier(0.16, 1, 0.3, 1) 1.2s both;
}
body.reveal-ready .hero .stamp--hero.reveal-stamp {
  animation: revealStamp 1.2s cubic-bezier(0.16, 1, 0.3, 1) 1.4s both;
}

/* ================================================================
   SINGLE POST HERO — same auto-animate approach
   ================================================================ */
body.reveal-ready .single-hero .reveal-up {
  animation: revealUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) both;
}
body.reveal-ready .single-hero .reveal-up:nth-child(1) { animation-delay: 0.15s; }
body.reveal-ready .single-hero .reveal-up:nth-child(2) { animation-delay: 0.3s; }
body.reveal-ready .single-hero .reveal-up:nth-child(3) { animation-delay: 0.45s; }
body.reveal-ready .single-hero .reveal-up:nth-child(4) { animation-delay: 0.6s; }
body.reveal-ready .single-hero .reveal-up:nth-child(5) { animation-delay: 0.75s; }

/* ================================================================
   SCROLL REVEALS — triggered by IntersectionObserver adding
   .is-visible class. Uses same keyframes.
   ================================================================ */
body.reveal-ready .reveal-up.is-visible {
  animation: revealUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) both;
}
body.reveal-ready .reveal-right.is-visible {
  animation: revealRight 0.7s cubic-bezier(0.16, 1, 0.3, 1) both;
}
body.reveal-ready .reveal-stamp.is-visible {
  animation: revealStamp 1.2s cubic-bezier(0.16, 1, 0.3, 1) both;
}

/* ---- Reduced motion: no animations, instant show ---- */
@media (prefers-reduced-motion: reduce) {
  .reveal-up, .reveal-right, .reveal-stamp {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
}
html.no-reveal .reveal-up,
html.no-reveal .reveal-right,
html.no-reveal .reveal-stamp {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

/* CLS Prevention */
.featured-card__img,.post-hero-tile__img,.card__img { aspect-ratio:16/10; }
.compact-post__img,.widget-posts-list__img { aspect-ratio:1; }
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:0.01ms !important;transition-duration:0.01ms !important; }
  .site-header { backdrop-filter:none;background:rgba(255,255,255,0.98); }
}
body.perf-reduced .card:hover,body.perf-reduced .compact-post:hover,body.perf-reduced .featured-card:hover { transform:none; }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1024px) {
  .layout-with-sidebar { grid-template-columns:1fr; }
  .sidebar--sticky { position:static; }
  .hero { padding:clamp(3.5rem,7vw,6rem) 0 clamp(4.5rem,9vw,7rem);min-height:auto; }
  .hero__grid { grid-template-columns:1fr;gap:var(--sp-2xl);text-align:center; }
  .hero__content { text-align:center; }
  .hero__micro-label { justify-content:center; }
  .hero__title em { display:inline; }
  .hero__title-stripe { margin-inline:auto; }
  .hero__subtitle { margin-inline:auto; }
  .hero__chips { justify-content:center; }
  .hero__ctas { justify-content:center; }
  .hero__trust-signals { justify-content:center; }
  .hero__featured { max-width:480px;margin-inline:auto;animation:none; }
  .hero__issue-number { display:none; }
  .hero__particles { display:none; }
  .hero__accent-lines { display:none; }
  .module-start__grid { grid-template-columns:1fr;max-width:420px;margin-inline:auto; }
  .site-branding { padding:var(--sp-2xl) 0 var(--sp-xl); }
  .site-branding__logo img { max-height:120px; }
  .footer__grid { grid-template-columns:repeat(2,1fr); }
  .related-posts__grid { grid-template-columns:repeat(2,1fr); }
  .module-pilares__grid { grid-template-columns:1fr; }
  .featured-card__meta-rail { display:none; }
}
@media (max-width: 768px) {
  .nav-toggle { display:block; }
  .main-nav { position:fixed;inset:0;top:60px;background:var(--c-white);z-index:var(--z-overlay);padding:var(--sp-lg);transform:translateX(100%);transition:transform var(--dur-normal) var(--ease-out); }
  .main-nav.is-open { transform:translateX(0); }
  .main-nav ul { flex-direction:column;gap:0; }
  .main-nav a { padding:var(--sp-md);font-size:var(--fs-md);border-bottom:var(--border-light);letter-spacing:0.06em; }
  .main-nav .sub-menu { position:static;box-shadow:none;padding-left:var(--sp-lg); }
  .posts-medium-grid,.archive-grid,.post-nav,.related-posts__grid { grid-template-columns:1fr; }
  .trust-strip__grid { grid-template-columns:1fr; }
  .module-start__grid { grid-template-columns:1fr; }
  .footer__grid { grid-template-columns:1fr; }
  .stamp-watermark { display:none; }
}
@media (max-width: 480px) {
  .hero__ctas { flex-direction:column; }
  .hero__ctas .btn { width:100%;justify-content:center; }
  .author-box { flex-direction:column;text-align:center;align-items:center; }
}

@supports (container-type: inline-size) {
  .posts-main { container-type:inline-size;container-name:posts; }
  @container posts (max-width: 500px) {
    .posts-medium-grid,.archive-grid { grid-template-columns:1fr; }
  }
}

/* ==========================================================================
   USA PATRIOT DESIGN SYSTEM
   ========================================================================== */

/* Old Glory HR — continuous tri-color ribbon */
hr {
  border: none;
  height: var(--usa-border-w);
  background: linear-gradient(to right, var(--usa-blue) 33%, var(--usa-white) 33%, var(--usa-white) 66%, var(--usa-red) 66%);
  margin: 2em 0;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* Patriotic text selection */
::selection {
  background: var(--usa-blue);
  color: var(--usa-white);
}
::-moz-selection {
  background: var(--usa-blue);
  color: var(--usa-white);
}

/* USA Window Controls — Mac-style dots (blue, white, red) */
.usa-window-controls {
  display: flex;
  gap: 6px;
  padding: 10px 14px;
}
.usa-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  display: inline-block;
  transition: transform 0.2s, box-shadow 0.2s;
}
.usa-dot:hover {
  transform: scale(1.2);
  box-shadow: 0 0 6px rgba(0,0,0,0.15);
}
.usa-dot.red { background-color: var(--usa-red); }
.usa-dot.white { background-color: var(--usa-white); border: 1px solid #ccc; }
.usa-dot.blue { background-color: var(--usa-blue); }

/* USA Header Accent — official institution border */
.usa-header-accent {
  border-top: 5px solid var(--usa-blue);
  border-bottom: 3px solid var(--usa-red);
}

/* ==========================================================================
   v4.2 ADDITIONS
   ========================================================================== */

/* Constitution Background in Hero */
.hero__constitution-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.hero__constitution-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.35;
  mix-blend-mode: luminosity;
  filter: sepia(0.2) contrast(1.1);
}

/* ========== COMMAND CENTER SEARCH OVERLAY ========== */
.search-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 12vh;
}
.search-overlay[hidden] { display: none; }
.search-overlay__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(6,14,24,0.6);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.search-overlay__panel {
  position: relative;
  z-index: 1;
  background: var(--c-white);
  border-radius: var(--radius-xl);
  box-shadow: 0 25px 80px rgba(0,0,0,0.25);
  width: 90%;
  max-width: 640px;
  overflow: hidden;
  animation: cmdSlideIn 0.25s var(--ease-out);
}
@keyframes cmdSlideIn {
  from { opacity: 0; transform: translateY(-20px) scale(0.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.search-overlay__form {
  display: flex;
  align-items: center;
  gap: var(--sp-md);
  padding: var(--sp-lg) var(--sp-xl);
  border-bottom: var(--border-light);
}
.search-overlay__icon { color: var(--c-gray-400); flex-shrink: 0; }
.search-overlay__form input {
  flex: 1;
  border: none;
  outline: none;
  font: inherit;
  font-size: var(--fs-md);
  font-weight: 500;
  color: var(--c-text);
  background: transparent;
}
.search-overlay__form input::placeholder { color: var(--c-gray-400); }
.search-overlay__kbd {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 24px;
  padding: 0 6px;
  background: var(--c-gray-100);
  border: 1px solid var(--c-gray-200);
  border-radius: 6px;
  font-size: 0.65rem;
  font-weight: 700;
  color: var(--c-gray-500);
  font-family: var(--ff-body);
}
.search-overlay__recent {
  padding: var(--sp-lg) var(--sp-xl);
  max-height: 360px;
  overflow-y: auto;
}
.search-overlay__recent h4 {
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--c-text-light);
  margin-bottom: var(--sp-md);
}
.search-overlay__recent ul { list-style: none; }
.search-overlay__recent li { margin-bottom: 2px; }
.search-overlay__recent a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--sp-sm) var(--sp-md);
  border-radius: var(--radius);
  color: var(--c-text);
  transition: background var(--dur-fast);
}
.search-overlay__recent a:hover { background: var(--c-gray-50); color: var(--c-text); }
.search-overlay__post-title { font-weight: 600; font-size: var(--fs-sm); }
.search-overlay__post-meta { font-size: var(--fs-xs); color: var(--c-text-light); }

/* ========== MODULE: SURVIVAL CARDS — ARTISTIC ========== */
.module-survival {
  padding: var(--sp-5xl) 0 var(--sp-4xl);
  background: linear-gradient(180deg, var(--c-bg) 0%, var(--c-white) 30%, var(--c-white) 70%, var(--c-bg) 100%);
  position: relative;
  overflow: hidden;
}
.module-survival::before {
  content: '';
  position: absolute;
  width: 500px; height: 500px;
  top: -200px; right: -100px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(230,57,70,0.03) 0%, transparent 70%);
  pointer-events: none;
}
.module-survival__header {
  text-align: center;
  margin-bottom: var(--sp-3xl);
}
.module-survival__overline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--ff-body);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-red);
  margin-bottom: var(--sp-md);
}
.module-survival__overline::before,
.module-survival__overline::after {
  content: '';
  width: 28px;
  height: 1px;
  background: var(--c-red);
}
.module-survival__title {
  font-family: var(--ff-heading);
  font-size: var(--fs-2xl);
  font-weight: 900;
  color: var(--c-text-heading);
  letter-spacing: -0.04em;
}
.module-survival__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--sp-lg);
}

/* Survival card — spectacular artistic design */
@keyframes cardFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}
.survival-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  text-decoration: none;
  color: var(--c-text);
  padding: var(--sp-2xl) var(--sp-lg) var(--sp-xl);
  background: var(--c-white);
  border: 1px solid rgba(13,27,42,0.06);
  border-radius: var(--radius-2xl);
  transition: all 0.5s var(--ease-out);
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(13,27,42,0.03);
}
.survival-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: var(--usa-border-w);
  background: linear-gradient(90deg, var(--usa-blue), var(--usa-red));
  transform: scaleX(0);
  transition: transform 0.5s var(--ease-out);
}
.survival-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 0%, rgba(230,57,70,0.04) 0%, transparent 60%);
  opacity: 0;
  transition: opacity 0.5s;
}
.survival-card:hover {
  border-color: rgba(13,27,42,0.08);
  color: var(--c-text);
  transform: translateY(-8px);
  box-shadow: 0 20px 60px rgba(13,27,42,0.1), 0 8px 24px rgba(13,27,42,0.06);
}
.survival-card:hover::before { transform: scaleX(1); }
.survival-card:hover::after { opacity: 1; }

.survival-card__emoji {
  font-size: 2.2rem;
  line-height: 1;
  margin-bottom: var(--sp-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--c-gray-50);
  border: 1px solid var(--c-gray-200);
  transition: all 0.4s var(--ease-out);
  position: relative;
  z-index: 1;
}
.survival-card:hover .survival-card__emoji {
  transform: scale(1.1);
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
  border-color: transparent;
  background: var(--c-white);
}
.survival-card__title {
  font-family: var(--ff-heading);
  font-size: var(--fs-sm);
  font-weight: 800;
  color: var(--c-text-heading);
  margin-bottom: var(--sp-xs);
  letter-spacing: -0.01em;
  position: relative;
  z-index: 1;
}
.survival-card__desc {
  font-size: var(--fs-xs);
  color: var(--c-text-light);
  line-height: 1.5;
  position: relative;
  z-index: 1;
}
.survival-card__arrow {
  margin-top: var(--sp-md);
  color: var(--c-red);
  opacity: 0;
  transform: translateX(-4px);
  transition: all 0.4s var(--ease-out);
  position: relative;
  z-index: 1;
}
.survival-card:hover .survival-card__arrow {
  opacity: 1;
  transform: translateX(0);
}

/* ========== MODULE: NEWSLETTER — Spectacular with Constitution bg ========== */
.module-newsletter {
  padding: var(--sp-5xl) 0;
  background: var(--c-navy-deep);
  position: relative;
  overflow: hidden;
}
.module-newsletter__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.module-newsletter__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.25;
  mix-blend-mode: luminosity;
  filter: sepia(0.2) contrast(1.1);
}
.module-newsletter::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 100% at 50% 50%, rgba(230,57,70,0.06) 0%, transparent 60%),
    radial-gradient(ellipse 120% 80% at 20% 80%, rgba(212,168,85,0.05) 0%, transparent 50%);
  z-index: 1;
}
.module-newsletter__inner {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 640px;
  margin-inline: auto;
}
.module-newsletter__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0.4em 1.2em;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 100px;
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--c-gold);
  margin-bottom: var(--sp-xl);
}
.module-newsletter__title {
  font-family: var(--ff-heading);
  font-size: var(--fs-2xl);
  font-weight: 900;
  color: var(--c-white);
  margin-bottom: var(--sp-lg);
  letter-spacing: -0.03em;
}
.module-newsletter__desc {
  font-size: var(--fs-md);
  color: rgba(255,255,255,0.5);
  line-height: var(--lh-body);
  margin-bottom: var(--sp-2xl);
}
.module-newsletter__input-group {
  display: flex;
  gap: var(--sp-sm);
  max-width: 520px;
  margin-inline: auto;
}
.module-newsletter__input-group input {
  flex: 1;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  color: var(--c-white);
  padding: 1em var(--sp-xl);
  border-radius: 100px;
  font: inherit;
  font-size: var(--fs-sm);
  transition: border-color var(--dur-fast);
}
.module-newsletter__input-group input::placeholder { color: rgba(255,255,255,0.3); }
.module-newsletter__input-group input:focus { outline: none; border-color: rgba(255,255,255,0.35); }
.module-newsletter__trust {
  display: flex;
  justify-content: center;
  gap: var(--sp-xl);
  margin-top: var(--sp-xl);
}
.module-newsletter__trust span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: var(--fs-xs);
  font-weight: 500;
  color: rgba(255,255,255,0.3);
}
.module-newsletter__trust svg { opacity: 0.5; }

/* ========== SIDEBAR WIDGETS — USA Mac Window Style ========== */
.sidebar-widget, .widget {
  background: var(--c-white);
  background-image: url("data:image/svg+xml,%3Csvg width='6' height='6' viewBox='0 0 6 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000000' fill-opacity='0.015'%3E%3Cpath d='M5 0h1L0 6V5zM6 5v1H5z'/%3E%3C/g%3E%3C/svg%3E");
  border-radius: var(--radius-xl);
  border: 1px solid rgba(13,27,42,0.08);
  box-shadow: 0 2px 12px rgba(13,27,42,0.05);
  overflow: hidden;
  transition: box-shadow var(--dur-normal), border-color var(--dur-normal);
}
.sidebar-widget:hover, .widget:hover {
  box-shadow: 0 6px 24px rgba(13,27,42,0.08);
  border-color: rgba(13,27,42,0.1);
}
/* Window title bar with dots */
.sidebar-widget__title, .widget__title {
  font-family: var(--ff-body);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--c-text-light);
  margin: 0;
  padding: var(--sp-md) var(--sp-lg);
  background: var(--c-gray-50);
  border-bottom: 1px solid var(--c-gray-200);
  display: flex;
  align-items: center;
  gap: 6px;
  position: relative;
}
/* USA dots before title */
.sidebar-widget__title::before, .widget__title::before {
  content: '';
  display: inline-flex;
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--usa-blue);
  box-shadow:
    16px 0 0 0 var(--usa-white),
    16px 0 0 1.5px #999,
    32px 0 0 0 var(--usa-red);
  margin-right: 38px;
  flex-shrink: 0;
}
/* Content padding inside widget */
.sidebar-widget__body, .sidebar-widget > *:not(.sidebar-widget__title):not(.usa-window-controls) {
  padding: var(--sp-lg);
}
/* Fix: ensure nested content in widgets has proper padding */
.sidebar-progress,
.sidebar-toc,
.sidebar-share,
.sidebar-actions,
.sidebar-popular,
.sidebar-resources {
  padding: 0;
}
.sidebar-progress > *:not(.sidebar-widget__title),
.sidebar-toc > *:not(.sidebar-widget__title),
.sidebar-share > *:not(.sidebar-widget__title),
.sidebar-actions > *:not(.sidebar-widget__title),
.sidebar-popular > *:not(.sidebar-widget__title),
.sidebar-resources > *:not(.sidebar-widget__title) {
  padding-left: var(--sp-lg);
  padding-right: var(--sp-lg);
}
.sidebar-progress > *:not(.sidebar-widget__title):first-of-type { padding-top: var(--sp-lg); }
.sidebar-progress > *:not(.sidebar-widget__title):last-child,
.sidebar-toc > *:not(.sidebar-widget__title):last-child,
.sidebar-share > *:not(.sidebar-widget__title):last-child,
.sidebar-actions > *:not(.sidebar-widget__title):last-child,
.sidebar-popular > *:not(.sidebar-widget__title):last-child,
.sidebar-resources > *:not(.sidebar-widget__title):last-child {
  padding-bottom: var(--sp-lg);
}

/* Front-page sidebar widgets */
.widget { padding: 0; }
.widget > *:not(.widget__title) { padding: 0 var(--sp-lg); }
.widget > *:not(.widget__title):first-of-type { padding-top: var(--sp-lg); }
.widget > *:not(.widget__title):last-child { padding-bottom: var(--sp-lg); }
.widget-posts-list { padding-left: var(--sp-lg); padding-right: var(--sp-lg); }
.widget-essential-links ul { list-style:none; padding: 0 var(--sp-lg) var(--sp-lg); }
.widget-essential-links ul li { margin-bottom: var(--sp-xs); }
.widget-essential-links ul li a { display:block; padding:var(--sp-xs) var(--sp-sm); border-radius:var(--radius); font-size:var(--fs-sm); font-weight:500; color:var(--c-text); transition:all var(--dur-fast); }
.widget-essential-links ul li a:hover { background:var(--c-gray-50); color:var(--usa-blue); }
.widget-resources__list { list-style: none; }
.widget-resources__list li { margin-bottom: var(--sp-sm); }
.widget-resources__list a {
  display: flex;
  align-items: center;
  gap: var(--sp-sm);
  padding: var(--sp-sm);
  border-radius: var(--radius);
  color: var(--c-text);
  transition: all var(--dur-fast);
}
.widget-resources__list a:hover { background: var(--c-gray-50); color: var(--c-text); }
.widget-resources__list strong { font-size: var(--fs-sm); font-weight: 700; color: var(--c-navy); }
.widget-resources__list small { font-size: var(--fs-xs); color: var(--c-text-light); margin-left: var(--sp-xs); }

/* Newsletter widget — USA dark window */
.widget-newsletter, .sidebar-newsletter {
  background: linear-gradient(135deg, var(--usa-blue) 0%, #1a1940 50%, var(--c-navy-deep) 100%);
  color: var(--c-white);
  border: 1px solid rgba(60,59,110,0.3);
  position: relative;
  overflow: hidden;
  text-align: center;
}
.widget-newsletter::before {
  content: '';
  position: absolute;
  top: -40%; right: -30%;
  width: 200px; height: 200px;
  border-radius: 50%;
  border: 2px dashed rgba(255,255,255,0.06);
  pointer-events: none;
}
.widget-newsletter__icon {
  font-size: 2rem;
  margin-bottom: var(--sp-sm);
  padding-top: var(--sp-lg);
}
.widget-newsletter .widget__title,
.sidebar-newsletter .sidebar-widget__title {
  background: rgba(0,0,0,0.2);
  border-bottom-color: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.5);
  text-align: left;
}
.widget-newsletter .widget__title::before,
.sidebar-newsletter .sidebar-widget__title::before {
  background: var(--usa-blue);
  box-shadow: 16px 0 0 rgba(255,255,255,0.6), 16px 0 0 0 1px rgba(255,255,255,0.2), 32px 0 0 0 var(--usa-red);
  filter: brightness(1.3);
}
.widget-newsletter__text { font-size: var(--fs-sm); color: rgba(255,255,255,0.6); margin-bottom: var(--sp-md); padding: 0 var(--sp-lg); }
.widget-newsletter__form { display: flex; flex-direction: column; gap: var(--sp-sm); }
.widget-newsletter__form input {
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.12);
  color: var(--c-white);
  padding: 0.8em var(--sp-md);
  border-radius: 100px;
  font: inherit;
  transition: border-color var(--dur-fast);
}
.widget-newsletter__form input::placeholder { color: rgba(255,255,255,0.3); }
.widget-newsletter__form input:focus { outline: none; border-color: rgba(255,255,255,0.3); }
.widget-newsletter__form button {
  background: var(--c-red);
  color: var(--c-white);
  border: none;
  padding: 0.8em var(--sp-md);
  border-radius: 100px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: var(--fs-xs);
  cursor: pointer;
  transition: all var(--dur-fast);
}
.widget-newsletter__form button:hover { background: var(--c-red-dark); transform: translateY(-1px); }
.widget-newsletter__privacy { font-size: var(--fs-xs); color: rgba(255,255,255,0.25); margin-top: var(--sp-xs); }

/* ========== BACK TO TOP — global ========== */
.back-to-top {
  position: fixed;
  bottom: var(--sp-xl);
  right: var(--sp-xl);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--c-navy);
  color: var(--c-white);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-lg);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all var(--dur-normal) var(--ease-out);
  z-index: var(--z-sticky);
}
.back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.back-to-top:hover {
  background: var(--c-red);
  transform: translateY(-3px);
  box-shadow: var(--shadow-xl);
}

/* Responsive additions */
@media (max-width: 1024px) {
  .module-survival__grid { grid-template-columns: repeat(2, 1fr); }
  .module-newsletter__input-group { flex-direction: column; }
}
@media (max-width: 768px) {
  .module-survival__grid { grid-template-columns: repeat(2, 1fr); }
  .module-newsletter__input-group { flex-direction: column; }
  .search-overlay { padding-top: 5vh; }
  .search-overlay__panel { width: 95%; }
}
@media (max-width: 480px) {
  .module-survival__grid { grid-template-columns: 1fr 1fr; }
}
.hero::before{
	background:radial-gradient(ellipse 140% 90% at 10% 50%, rgba(230, 57, 70, 0.1) 0%, transparent 55%), radial-gradient(ellipse 100% 120% at 90% 20%, rgba(212, 168, 85, 0.08) 0%, transparent 45%), radial-gradient(circle at 50% 120%, rgba(230, 57, 70, 0.05) 0%, transparent 40%), linear-gradient(160deg, rgba(3, 8, 16, 0.7) 0%, rgba(15, 27, 51, 0.55) 20%, rgb(26 41 73 / 88%) 40%, rgb(22 38 64 / 85%) 65%, rgb(15 27 51 / 91%) 85%, rgb(3 8 16) 100%);
}
.hero__glow--1 {
    background: radial-gradient(circle, rgb(230 57 70 / 50%) 0%, transparent 65%);
}
.hero__glow--2 {
    background: radial-gradient(circle, rgb(212 168 85) 0%, transparent 65%);

}
.hero__glow--3 {
    background: radial-gradient(circle, rgb(255 255 255) 0%, transparent 65%);

}
.module-survival{background:var(--c-bg);
}
.hero__diagonal{height:105px}

	.module-survival::before{
		display:none;
	}
.sidebar-widget__title::before, .widget__title::before {
    background: #5771f5;
    box-shadow: 16px 0 0 0 #f0f0f0, 32px 0 0 0 var(--usa-red);
}
.sidebar-widget__title, .widget__title{
	    background: linear-gradient(135deg, var(--usa-blue) 0%, #1a1940 50%, var(--c-navy-deep) 100%);color:var(--c-bg);
}
.single-hero{min-height: clamp(38vh, 56vh, 56vh);}
.article-sidebar,.article-sidebar__inner{overflow:visible;}
.single-hero__scroll-hint{color:white;}


/* Akismet privacy notice as an infobox */
p.akismet_comment_form_privacy_notice{
  position: relative;
  margin: 24px 0 18px;
  padding: 12px 14px 12px 44px;
  border: 1px solid rgba(0,0,0,.12);
  border-left-width: 4px;
  border-left-color: #2b6cb0; /* accent */
  border-radius: 10px;

  background: rgba(43,108,176,.08);
  color: inherit;

  font-size: 0.95rem;
  line-height: 1.45;

  /* keep it readable if the container is narrow */
  word-wrap: break-word;
  overflow-wrap: anywhere;
}

/* Optional “info” icon bubble */
p.akismet_comment_form_privacy_notice::before{
  content: "i";
  position: absolute;
  left: 14px;
  top: 12px;
  width: 22px;
  height: 22px;
  border-radius: 999px;

  display: grid;
  place-items: center;

  font-weight: 800;
  font-size: 0.9rem;

  background: #2b6cb0;
  color: #fff;
  box-shadow: 0 6px 16px rgba(0,0,0,.12);
}

/* Link styling inside the infobox */
p.akismet_comment_form_privacy_notice a{
  color: #2b6cb0;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
}

p.akismet_comment_form_privacy_notice a:hover{
  text-decoration-thickness: 2px;
}

/* Subtle emphasis for strong text if present */
p.akismet_comment_form_privacy_notice strong{
  font-weight: 700;
}

/* Dark mode friendliness */
@media (prefers-color-scheme: dark){
  p.akismet_comment_form_privacy_notice{
    border-color: rgba(255,255,255,.14);
    background: rgba(43,108,176,.18);
  }
}
/* ==========================================================================
   v5.0.0 ADDITIONS
   ========================================================================== */

/* --- CSS for elements moved from inline styles --- */
.compact-post__cat {
  display: inline-block;
  margin-bottom: var(--sp-xs);
  font-size: var(--fs-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-red);
  text-decoration: none;
}
.compact-post__cat:hover {
  color: var(--c-red-dark);
}

.error-404__suggested {
  margin-top: var(--sp-2xl);
  text-align: left;
}
.error-404__suggested-title {
  font-size: var(--fs-lg);
  margin-bottom: var(--sp-lg);
}
.error-404__actions {
  margin-top: var(--sp-xl);
}

.page-content__body {
  margin-top: var(--sp-xl);
}

/* --- Footer stripe fix (classes already defined, but ensure s- classes work without inline) --- */
.footer-stripe .s-navy   { background: var(--c-navy); }
.footer-stripe .s-red    { background: var(--c-red); }
.footer-stripe .s-offwhite { background: var(--c-offwhite); }

/* ==========================================================================
   PRINT STYLESHEET
   ========================================================================== */
@media print {
  /* Hide non-essential UI */
  .site-header,
  .site-branding,
  .reading-progress,
  .search-overlay,
  .back-to-top,
  .article-sidebar,
  .sidebar,
  .article-share-bar,
  .article-newsletter,
  .related-posts,
  .post-nav,
  .comments-section,
  .site-footer,
  .hero,
  .module-survival,
  .module-newsletter,
  .breadcrumbs,
  .toc--inline,
  .single-hero__scroll-hint,
  .single-hero__glow,
  .single-hero__particles,
  .stamp-watermark,
  .footer-stripe,
  .skip-link,
  #backToTop,
  #backToTopGlobal {
    display: none !important;
  }

  /* Reset backgrounds */
  body {
    background: #fff !important;
    color: #000 !important;
    font-size: 12pt;
    line-height: 1.6;
  }

  /* Ensure content is full width */
  .container,
  .single-layout,
  .single-main-col,
  .article-content {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Show URLs after links */
  .article-body a[href]::after {
    content: " (" attr(href) ")";
    font-size: 0.85em;
    color: #555;
    word-break: break-all;
  }
  .article-body a[href^="#"]::after,
  .article-body a[href^="javascript"]::after {
    content: "";
  }

  /* Hero section: show title/meta only */
  .single-hero {
    background: none !important;
    position: relative;
    min-height: auto;
    padding: 1rem 0;
  }
  .single-hero__bg,
  .single-hero__vignette {
    display: none !important;
  }
  .single-hero__content {
    position: relative;
    color: #000 !important;
  }

  /* Images: reasonable size */
  img {
    max-width: 100% !important;
    page-break-inside: avoid;
  }

  /* Avoid page breaks inside key elements */
  h1, h2, h3, h4, h5, h6 {
    page-break-after: avoid;
  }
  pre, blockquote, table, figure {
    page-break-inside: avoid;
  }
}

/* ==========================================================================
   v5.0.0 — SPECTACULAR WIDGET & PAGE REVAMP
   ========================================================================== */

/* SIDEBAR NEWSLETTER */
.widget-newsletter { background:linear-gradient(145deg,#0D1B2A 0%,#1a1040 40%,#0a0a1a 100%)!important; border:1px solid rgba(230,57,70,0.15)!important; position:relative; overflow:hidden; padding:0!important; }
.widget-newsletter__bg-pattern { position:absolute;inset:0; background-image:radial-gradient(circle at 20% 80%,rgba(230,57,70,0.08) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(60,59,110,0.15) 0%,transparent 50%); pointer-events:none; }
.widget-newsletter__glow { position:absolute; width:120px;height:120px; border-radius:50%; background:radial-gradient(circle,rgba(230,57,70,0.2),transparent 70%); top:-30px;right:-30px; filter:blur(30px); animation:nl-glow 4s ease-in-out infinite alternate; pointer-events:none; }
@keyframes nl-glow { 0%{opacity:.5;transform:scale(1)} 100%{opacity:1;transform:scale(1.3)} }
.widget-newsletter__content { position:relative;z-index:1; padding:var(--sp-xl); text-align:center; }
.widget-newsletter__badge { display:inline-flex;align-items:center;gap:6px; padding:.35em 1em; background:rgba(230,57,70,0.15); border:1px solid rgba(230,57,70,0.25); border-radius:100px; font-size:var(--fs-xs);font-weight:600; color:var(--c-red-soft); letter-spacing:.08em;text-transform:uppercase; margin-bottom:var(--sp-md); }
.widget-newsletter__pulse { width:6px;height:6px; background:var(--c-red); border-radius:50%; animation:pulse-dot 2s ease-in-out infinite; }
@keyframes pulse-dot { 0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(230,57,70,.6)} 50%{opacity:.7;box-shadow:0 0 0 6px rgba(230,57,70,0)} }
.widget-newsletter__heading { font-family:var(--ff-heading); font-size:var(--fs-md); font-weight:800; color:var(--c-white); line-height:var(--lh-snug); margin-bottom:var(--sp-sm); }
.widget-newsletter__desc { font-size:var(--fs-sm); color:rgba(255,255,255,.5); line-height:var(--lh-body); margin-bottom:var(--sp-lg); padding:0!important; }
.widget-newsletter__input-wrap { display:flex; border-radius:100px; overflow:hidden; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.05); transition:border-color .3s; }
.widget-newsletter__input-wrap:focus-within { border-color:rgba(230,57,70,.5); box-shadow:0 0 0 3px rgba(230,57,70,.1); }
.widget-newsletter__input-wrap input { flex:1; background:transparent!important; border:none!important; color:var(--c-white); padding:.85em var(--sp-lg)!important; font:inherit; font-size:var(--fs-sm); border-radius:0!important; }
.widget-newsletter__input-wrap input::placeholder { color:rgba(255,255,255,.3); }
.widget-newsletter__input-wrap input:focus { outline:none; }
.widget-newsletter__input-wrap button { background:var(--c-red); color:var(--c-white); border:none; width:48px;min-width:48px; display:flex;align-items:center;justify-content:center; cursor:pointer; transition:background .3s; }
.widget-newsletter__input-wrap button:hover { background:var(--c-red-dark); }
.widget-newsletter__success { display:flex;align-items:center;justify-content:center;gap:var(--sp-sm); padding:var(--sp-md); color:#4ade80; font-weight:600; }
.widget-newsletter__trust { display:flex;justify-content:center;gap:var(--sp-lg); margin-top:var(--sp-md); font-size:var(--fs-xs); color:rgba(255,255,255,.25); }
.widget-newsletter__trust span { display:flex;align-items:center;gap:4px; }

/* SIDEBAR POPULAR */
.widget-popular__list { list-style:none; display:flex; flex-direction:column; gap:var(--sp-xs); padding:0 var(--sp-lg) var(--sp-lg); }
.widget-popular__item { display:flex; align-items:stretch; gap:var(--sp-sm); padding:var(--sp-sm); border-radius:var(--radius); transition:all .3s ease; }
.widget-popular__item:hover { background:var(--c-gray-50); transform:translateX(4px); }
.widget-popular__rank { font-family:var(--ff-heading); font-size:var(--fs-lg); font-weight:900; color:var(--c-gray-200); min-width:36px; display:flex; align-items:center; justify-content:center; line-height:1; transition:color .3s; }
.widget-popular__item:first-child .widget-popular__rank { color:var(--c-red); }
.widget-popular__item:nth-child(2) .widget-popular__rank { color:var(--c-navy-mid); }
.widget-popular__item:nth-child(3) .widget-popular__rank { color:var(--c-gold); }
.widget-popular__content { display:flex; align-items:center; gap:var(--sp-sm); flex:1; min-width:0; }
.widget-popular__thumb { width:52px;min-width:52px;height:52px; border-radius:var(--radius); overflow:hidden; border:2px solid var(--c-gray-100); transition:border-color .3s; }
.widget-popular__item:hover .widget-popular__thumb { border-color:var(--c-red); }
.widget-popular__thumb img { width:100%;height:100%;object-fit:cover; }
.widget-popular__text { min-width:0; }
.widget-popular__title { display:-webkit-box; font-family:var(--ff-heading); font-size:var(--fs-sm); font-weight:700; line-height:var(--lh-snug); color:var(--c-text); overflow:hidden; text-overflow:ellipsis; -webkit-line-clamp:2; -webkit-box-orient:vertical; transition:color .3s; }
.widget-popular__title:hover { color:var(--c-red); }
.widget-popular__meta { display:flex;align-items:center;gap:4px; font-size:var(--fs-xs); color:var(--c-gray-500); margin-top:2px; }

/* SIDEBAR RESOURCES */
.widget-resources__grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-sm); padding:0 var(--sp-lg) var(--sp-lg); }
.widget-resource-card { display:flex; flex-direction:column; align-items:center; gap:var(--sp-xs); padding:var(--sp-md) var(--sp-sm); border-radius:var(--radius-lg); border:1px solid var(--c-gray-200); text-align:center; transition:all .3s ease; position:relative; overflow:hidden; }
.widget-resource-card:hover { border-color:var(--c-red); transform:translateY(-3px); box-shadow:0 8px 25px rgba(230,57,70,.1); }
.widget-resource-card__icon { width:40px;height:40px; display:flex;align-items:center;justify-content:center; border-radius:var(--radius); background:var(--c-gray-50); color:var(--c-navy); transition:all .3s; }
.widget-resource-card:hover .widget-resource-card__icon { background:var(--c-red); color:var(--c-white); }
.widget-resource-card__text strong { display:block; font-size:var(--fs-sm); font-weight:800; color:var(--c-navy); }
.widget-resource-card__text span { font-size:var(--fs-xs); color:var(--c-text-light); }
.widget-resource-card__arrow { position:absolute; top:var(--sp-xs);right:var(--sp-xs); opacity:0; transform:translateX(-4px); transition:all .3s; color:var(--c-red); }
.widget-resource-card:hover .widget-resource-card__arrow { opacity:1; transform:translateX(0); }

/* LOAD MORE */
.load-more-wrap { text-align:center; padding:var(--sp-2xl) 0; }
.load-more-btn { min-width:240px; position:relative; overflow:hidden; }
.load-more-spinner { display:flex;justify-content:center;gap:8px; padding:var(--sp-lg); }
.spinner-dot { width:10px;height:10px; border-radius:50%; background:var(--c-navy); animation:sp-bounce 1.4s ease-in-out infinite both; }
.spinner-dot:nth-child(2) { animation-delay:.16s; }
.spinner-dot:nth-child(3) { animation-delay:.32s; }
@keyframes sp-bounce { 0%,80%,100%{transform:scale(.4);opacity:.4} 40%{transform:scale(1);opacity:1} }

/* FOOTER LEGAL */
.footer__legal { display:flex; gap:var(--sp-md); flex-wrap:wrap; }
.footer__legal a { font-size:var(--fs-xs); color:rgba(255,255,255,.4); transition:color .3s; }
.footer__legal a:hover { color:var(--c-white); }

/* ABOUT PAGE */
.about-hero { position:relative; padding:var(--sp-4xl) 0 var(--sp-3xl); background:linear-gradient(150deg,var(--c-navy) 0%,#1a1040 50%,var(--c-navy-deep) 100%); color:var(--c-white); overflow:hidden; }
.about-hero__bg-pattern { position:absolute;inset:0; background-image:radial-gradient(circle at 30% 70%,rgba(230,57,70,.06) 0%,transparent 50%),radial-gradient(circle at 70% 30%,rgba(60,59,110,.1) 0%,transparent 50%); }
.about-hero__glow { position:absolute; border-radius:50%; filter:blur(80px); pointer-events:none; }
.about-hero__glow--1 { width:300px;height:300px; background:rgba(230,57,70,.1); top:-100px;left:-50px; }
.about-hero__glow--2 { width:200px;height:200px; background:rgba(60,59,110,.15); bottom:-50px;right:10%; }
.about-hero__grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-3xl); align-items:center; }
.about-hero__overline { display:inline-flex;align-items:center;gap:6px; font-size:var(--fs-xs); font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--c-red-soft); margin-bottom:var(--sp-lg); }
.about-hero__title { font-family:var(--ff-heading); font-size:var(--fs-2xl); font-weight:900; line-height:var(--lh-tight); margin-bottom:var(--sp-lg); }
.about-hero__title em { color:var(--c-gold); font-style:italic; }
.about-hero__subtitle { font-size:var(--fs-md); color:rgba(255,255,255,.6); line-height:var(--lh-body); }
.about-hero__photo-frame { position:relative; }
.about-hero__photo-placeholder { aspect-ratio:3/4; background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,.02)); border:2px dashed rgba(255,255,255,.15); border-radius:var(--radius-xl); display:flex;flex-direction:column; align-items:center;justify-content:center; gap:var(--sp-sm); color:rgba(255,255,255,.3); max-width:360px; margin-left:auto; }
.about-hero__photo-label { font-size:var(--fs-md); font-weight:700; }
.about-hero__photo-hint { font-size:var(--fs-xs); }
.about-hero__photo-accent { position:absolute; top:-12px;left:-12px; width:80px;height:80px; border-top:3px solid var(--c-red); border-left:3px solid var(--c-red); border-radius:var(--radius) 0 0 0; }
.about-hero__photo-stamp { position:absolute; bottom:var(--sp-lg);right:var(--sp-md); background:var(--c-navy); border:2px solid var(--c-red); border-radius:var(--radius); padding:var(--sp-xs) var(--sp-sm); display:flex;align-items:center;gap:4px; font-family:var(--ff-heading); font-weight:900; font-size:var(--fs-xs); color:var(--c-white); letter-spacing:.1em; }
.about-journey { padding:var(--sp-4xl) 0; }
.about-journey__header { text-align:center; margin-bottom:var(--sp-3xl); }
.about-journey__overline { display:inline-flex;align-items:center;gap:6px; font-size:var(--fs-xs);font-weight:600; text-transform:uppercase;letter-spacing:.12em; color:var(--c-text-light); margin-bottom:var(--sp-md); }
.about-journey__title { font-family:var(--ff-heading); font-size:var(--fs-xl); font-weight:900; color:var(--c-navy); }
.about-timeline { position:relative; max-width:700px; margin:0 auto; padding-left:60px; }
.about-timeline::before { content:''; position:absolute; left:28px;top:0;bottom:0; width:2px; background:linear-gradient(to bottom,var(--c-gray-200),var(--c-red),var(--c-navy)); }
.about-timeline__item { position:relative; margin-bottom:var(--sp-2xl); }
.about-timeline__marker { position:absolute; left:-48px;top:0; width:40px;height:40px; border-radius:50%; background:var(--c-surface); border:2px solid var(--c-gray-200); display:flex;align-items:center;justify-content:center; z-index:1; }
.about-timeline__item--current .about-timeline__marker { border-color:var(--c-red); box-shadow:0 0 0 4px rgba(230,57,70,.15); }
.about-timeline__flag { font-size:1.2rem; }
.about-timeline__card { background:var(--c-surface); border:var(--border-subtle); border-radius:var(--radius-xl); padding:var(--sp-xl); transition:all .3s; }
.about-timeline__card:hover { border-color:var(--c-red); box-shadow:var(--shadow-md); }
.about-timeline__period { display:inline-block; font-size:var(--fs-xs);font-weight:700; text-transform:uppercase;letter-spacing:.1em; color:var(--c-red); margin-bottom:var(--sp-xs); }
.about-timeline__card-title { font-family:var(--ff-heading); font-size:var(--fs-md); font-weight:800; margin-bottom:var(--sp-sm); }
.about-timeline__card p { font-size:var(--fs-sm); color:var(--c-text-light); line-height:var(--lh-body); }
.about-why { padding:var(--sp-4xl) 0; background:var(--c-gray-50); }
.about-why__grid { display:grid; grid-template-columns:1.2fr 1fr; gap:var(--sp-3xl); align-items:start; }
.about-why__overline { display:inline-flex;align-items:center;gap:6px; font-size:var(--fs-xs);font-weight:600; text-transform:uppercase;letter-spacing:.12em; color:var(--c-text-light); margin-bottom:var(--sp-md); }
.about-why__title { font-family:var(--ff-heading); font-size:var(--fs-xl); font-weight:900; color:var(--c-navy); margin-bottom:var(--sp-sm); }
.about-why__reasons { margin-top:var(--sp-xl); }
.about-why__reason { display:flex;gap:var(--sp-lg); margin-bottom:var(--sp-xl); }
.about-why__reason-num { font-family:var(--ff-heading); font-size:var(--fs-2xl); font-weight:900; color:var(--c-gray-200); line-height:1; min-width:50px; }
.about-why__reason h4 { font-family:var(--ff-heading); font-weight:800; margin-bottom:var(--sp-xs); }
.about-why__reason p { font-size:var(--fs-sm); color:var(--c-text-light); line-height:var(--lh-body); }
.about-why__values { display:flex;flex-direction:column;gap:var(--sp-lg); }
.about-value-card { background:var(--c-surface); border:var(--border-subtle); border-radius:var(--radius-xl); padding:var(--sp-xl); transition:all .3s; }
.about-value-card:hover { border-color:var(--c-red); transform:translateY(-3px); box-shadow:var(--shadow-md); }
.about-value-card__icon { width:48px;height:48px; display:flex;align-items:center;justify-content:center; border-radius:var(--radius); background:var(--c-gray-50); color:var(--c-red); margin-bottom:var(--sp-md); }
.about-value-card h4 { font-family:var(--ff-heading); font-weight:800; margin-bottom:var(--sp-xs); }
.about-value-card p { font-size:var(--fs-sm); color:var(--c-text-light); line-height:var(--lh-body); }
.about-cta { padding:var(--sp-4xl) 0; }
.about-cta__card { background:var(--c-surface); border:var(--border-subtle); border-radius:var(--radius-2xl); padding:var(--sp-3xl); text-align:center; max-width:700px; margin:0 auto; }
.about-cta__disclaimer { background:var(--c-gray-50); border-radius:var(--radius-lg); padding:var(--sp-lg); margin-bottom:var(--sp-2xl); font-size:var(--fs-sm); color:var(--c-text-light); line-height:var(--lh-body); }
.about-cta__disclaimer p { display:flex;align-items:flex-start;gap:var(--sp-sm); margin:0; }
.about-cta__card h2 { font-family:var(--ff-heading); font-size:var(--fs-xl); font-weight:900; margin-bottom:var(--sp-sm); }
.about-cta__thanks { font-size:var(--fs-lg); font-weight:700; color:var(--c-red); margin:var(--sp-lg) 0; }
.about-cta__buttons { display:flex;gap:var(--sp-md);justify-content:center; }

/* EMPIEZA AQUÍ */
.start-hero { position:relative; padding:var(--sp-4xl) 0 var(--sp-3xl); background:linear-gradient(150deg,var(--c-navy) 0%,#0a1628 50%,var(--c-navy-deep) 100%); color:var(--c-white); overflow:hidden; text-align:center; }
.start-hero__bg { position:absolute;inset:0; background-image:radial-gradient(circle at 50% 50%,rgba(230,57,70,.06) 0%,transparent 60%); }
.start-hero__glow { position:absolute; border-radius:50%; filter:blur(80px); pointer-events:none; }
.start-hero__glow--1 { width:400px;height:400px; background:rgba(230,57,70,.08); top:-150px;left:20%; }
.start-hero__glow--2 { width:300px;height:300px; background:rgba(60,59,110,.1); bottom:-100px;right:15%; }
.start-hero__badge { display:inline-flex;align-items:center;gap:6px; padding:.4em 1.2em; background:rgba(230,57,70,.12); border:1px solid rgba(230,57,70,.25); border-radius:100px; font-size:var(--fs-xs);font-weight:600; color:var(--c-red-soft); text-transform:uppercase;letter-spacing:.08em; margin-bottom:var(--sp-lg); }
.start-hero__title { font-family:var(--ff-heading); font-size:var(--fs-2xl); font-weight:900; line-height:var(--lh-tight); max-width:700px; margin:0 auto var(--sp-lg); }
.start-hero__desc { font-size:var(--fs-md); color:rgba(255,255,255,.6); max-width:600px; margin:0 auto var(--sp-2xl); line-height:var(--lh-body); }
.start-hero__stats { display:flex;justify-content:center;gap:var(--sp-3xl); }
.start-hero__stat { text-align:center; }
.start-hero__stat-num { display:block; font-family:var(--ff-heading); font-size:var(--fs-xl); font-weight:900; color:var(--c-red-soft); }
.start-hero__stat-label { font-size:var(--fs-xs); color:rgba(255,255,255,.4); text-transform:uppercase; letter-spacing:.1em; }
.start-phase { padding:var(--sp-4xl) 0; }
.start-phase--alt { background:var(--c-gray-50); }
.start-phase__header { display:flex;align-items:flex-start;gap:var(--sp-xl); margin-bottom:var(--sp-xl); }
.start-phase__num { font-family:var(--ff-heading); font-size:var(--fs-3xl); font-weight:900; color:var(--c-gray-200); line-height:1; }
.start-phase__overline { font-size:var(--fs-xs);font-weight:600; text-transform:uppercase;letter-spacing:.12em; color:var(--c-red); display:block; margin-bottom:var(--sp-xs); }
.start-phase__title { font-family:var(--ff-heading); font-size:var(--fs-xl); font-weight:900; color:var(--c-navy); }
.start-steps-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-xl); }
.start-step { background:var(--c-surface); border:var(--border-subtle); border-radius:var(--radius-xl); padding:var(--sp-xl); position:relative; overflow:hidden; transition:all .3s; }
.start-step:hover { border-color:var(--c-red); transform:translateY(-4px); box-shadow:0 12px 40px rgba(13,27,42,.08); }
.start-step__icon { width:48px;height:48px; display:flex;align-items:center;justify-content:center; border-radius:var(--radius); background:var(--c-gray-50); color:var(--c-navy); margin-bottom:var(--sp-md); transition:all .3s; }
.start-step:hover .start-step__icon { background:var(--c-red); color:var(--c-white); }
.start-step__num { position:absolute; top:var(--sp-md);right:var(--sp-md); font-family:var(--ff-heading); font-size:var(--fs-lg); font-weight:900; color:var(--c-gray-100); transition:color .3s; }
.start-step:hover .start-step__num { color:rgba(230,57,70,.15); }
.start-step h3 { font-family:var(--ff-heading); font-size:var(--fs-md); font-weight:800; margin-bottom:var(--sp-sm); }
.start-step p { font-size:var(--fs-sm); color:var(--c-text-light); line-height:var(--lh-body); }
.start-step__tags { display:flex;flex-wrap:wrap;gap:var(--sp-xs); margin-top:var(--sp-md); }
.start-step__tags span { padding:.2em .7em; background:var(--c-gray-50); border-radius:100px; font-size:var(--fs-xs); font-weight:600; color:var(--c-navy); }
.start-infographic { padding:var(--sp-4xl) 0; background:linear-gradient(135deg,var(--c-navy) 0%,#1a1040 100%); color:var(--c-white); }
.start-infographic__card { max-width:700px; margin:0 auto; text-align:center; }
.start-infographic__title { font-family:var(--ff-heading); font-size:var(--fs-xl); font-weight:900; margin-bottom:var(--sp-sm); }
.start-checklist { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-sm); text-align:left; margin-top:var(--sp-2xl); }
.start-checklist__item { display:flex;align-items:center;gap:var(--sp-sm); padding:var(--sp-sm) var(--sp-md); background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); border-radius:var(--radius); font-size:var(--fs-sm); color:rgba(255,255,255,.8); transition:all .3s; cursor:default; }
.start-checklist__item:hover { background:rgba(255,255,255,.08); border-color:rgba(230,57,70,.3); }
.start-checklist__box { width:24px;min-width:24px;height:24px; display:flex;align-items:center;justify-content:center; border-radius:var(--radius); background:rgba(255,255,255,.08); color:var(--c-red-soft); }
.start-cta { padding:var(--sp-4xl) 0; text-align:center; }
.start-cta__inner { max-width:600px; margin:0 auto; }
.start-cta__inner h2 { font-family:var(--ff-heading); font-size:var(--fs-xl); font-weight:900; margin-bottom:var(--sp-sm); }
.start-cta__inner p { color:var(--c-text-light); margin-bottom:var(--sp-xl); }
.start-cta__buttons { display:flex;gap:var(--sp-md);justify-content:center; }

/* CONTACT PAGE */
.contact-hero { position:relative; padding:var(--sp-3xl) 0; background:linear-gradient(150deg,var(--c-navy) 0%,#1a1040 100%); color:var(--c-white); text-align:center; overflow:hidden; }
.contact-hero__bg { position:absolute;inset:0; background-image:radial-gradient(circle at 50% 80%,rgba(230,57,70,.06),transparent 60%); }
.contact-hero__overline { display:inline-flex;align-items:center;gap:6px; font-size:var(--fs-xs);font-weight:600; text-transform:uppercase;letter-spacing:.12em; color:var(--c-red-soft); margin-bottom:var(--sp-md); }
.contact-hero__title { font-family:var(--ff-heading); font-size:var(--fs-2xl); font-weight:900; margin-bottom:var(--sp-md); }
.contact-hero__desc { font-size:var(--fs-md); color:rgba(255,255,255,.6); max-width:500px; margin:0 auto; }
.contact-main { padding:var(--sp-4xl) 0; }
.contact-main > .container { display:grid; grid-template-columns:1.5fr 1fr; gap:var(--sp-3xl); align-items:start; }
.contact-letter__paper { background:var(--c-white); border-radius:var(--radius-xl); border:1px solid var(--c-gray-200); padding:var(--sp-3xl); position:relative; box-shadow:0 20px 60px rgba(13,27,42,.06); }
.contact-letter__paper::before { content:''; position:absolute; top:0;left:var(--sp-3xl);right:var(--sp-3xl); height:3px; background:linear-gradient(90deg,var(--c-navy),var(--c-red),var(--c-offwhite)); border-radius:0 0 2px 2px; }
.contact-letter__header { display:flex; justify-content:space-between; align-items:flex-start; padding-bottom:var(--sp-xl); border-bottom:1px solid var(--c-gray-100); margin-bottom:var(--sp-xl); }
.contact-letter__stamp { width:64px;height:64px; border:2px solid var(--c-red); border-radius:var(--radius); display:flex;align-items:center;justify-content:center; transform:rotate(-8deg); }
.contact-letter__stamp-inner { text-align:center; font-family:var(--ff-heading); font-weight:900; font-size:var(--fs-sm); color:var(--c-red); letter-spacing:.15em; }
.contact-letter__to,.contact-letter__date { text-align:right; }
.contact-letter__label { display:block; font-size:var(--fs-xs); color:var(--c-text-light); text-transform:uppercase; letter-spacing:.08em; margin-bottom:2px; }
.contact-letter__greeting { font-family:var(--ff-heading); font-size:var(--fs-md); font-style:italic; color:var(--c-navy); margin-bottom:var(--sp-xl); }
.contact-letter__body { margin-bottom:var(--sp-xl); }
.contact-letter__body .wpcf7-form p { margin-bottom:var(--sp-md); }
.contact-letter__body .wpcf7-form input[type="text"],.contact-letter__body .wpcf7-form input[type="email"],.contact-letter__body .wpcf7-form textarea { width:100%; background:var(--c-gray-50); border:1px solid var(--c-gray-200); border-radius:var(--radius); padding:.85em var(--sp-md); font:inherit; font-size:var(--fs-sm); transition:all .3s; }
.contact-letter__body .wpcf7-form input:focus,.contact-letter__body .wpcf7-form textarea:focus { outline:none; border-color:var(--c-red); background:var(--c-white); box-shadow:0 0 0 3px rgba(230,57,70,.08); }
.contact-letter__body .wpcf7-form textarea { min-height:160px; resize:vertical; }
.contact-letter__body .wpcf7-form input[type="submit"] { background:var(--c-navy); color:var(--c-white); border:none; padding:.85em var(--sp-2xl); border-radius:var(--radius); font:inherit; font-weight:700; font-size:var(--fs-sm); letter-spacing:.06em; cursor:pointer; transition:all .3s; }
.contact-letter__body .wpcf7-form input[type="submit"]:hover { background:var(--c-red); transform:translateY(-2px); }
.contact-letter__cf7-notice { background:var(--c-gray-50); border:1px dashed var(--c-gray-200); border-radius:var(--radius-lg); padding:var(--sp-xl); text-align:center; color:var(--c-text-light); }
.contact-letter__footer { border-top:1px solid var(--c-gray-100); padding-top:var(--sp-xl); color:var(--c-text-light); font-style:italic; }
.contact-letter__signature { margin-top:var(--sp-md); }
.contact-letter__signature-name { display:block; font-family:var(--ff-heading); font-size:var(--fs-lg); font-weight:900; font-style:normal; color:var(--c-navy); }
.contact-letter__signature-location { display:flex;align-items:center;gap:4px; font-size:var(--fs-xs); color:var(--c-text-light); font-style:normal; margin-top:var(--sp-xs); }
.contact-info__card { background:var(--c-surface); border:var(--border-subtle); border-radius:var(--radius-xl); padding:var(--sp-xl); position:sticky; top:100px; }
.contact-info__card h3 { font-family:var(--ff-heading); font-size:var(--fs-md); font-weight:800; margin-bottom:var(--sp-sm); }
.contact-info__channels { display:flex;flex-direction:column;gap:var(--sp-sm); margin-top:var(--sp-xl); }
.contact-info__channel { display:flex;align-items:center;gap:var(--sp-md); padding:var(--sp-md); border:1px solid var(--c-gray-200); border-radius:var(--radius); transition:all .3s; color:var(--c-text); }
.contact-info__channel:hover { border-color:var(--c-red); transform:translateX(4px); }
.contact-info__channel strong { display:block; font-size:var(--fs-sm); }
.contact-info__channel span { font-size:var(--fs-xs); color:var(--c-text-light); }
.contact-info__note { margin-top:var(--sp-xl); padding:var(--sp-md); background:var(--c-gray-50); border-radius:var(--radius); }
.contact-info__note p { display:flex;align-items:flex-start;gap:var(--sp-sm); font-size:var(--fs-xs); color:var(--c-text-light); margin:0; }

/* RESPONSIVE */
@media (max-width:768px) {
  .about-hero__grid,.about-why__grid,.contact-main > .container { grid-template-columns:1fr; }
  .start-steps-grid,.start-checklist { grid-template-columns:1fr; }
  .about-timeline { padding-left:40px; }
  .about-timeline::before { left:18px; }
  .about-timeline__marker { left:-35px; width:32px;height:32px; }
  .start-hero__stats { gap:var(--sp-xl); }
  .widget-resources__grid { grid-template-columns:1fr; }
}

/* ==========================================================================
   FOOTER X PROFILE CARD (replaces broken Twitter embed)
   ========================================================================== */
.footer__xcard {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius-lg);
  padding: var(--sp-lg);
  transition: border-color 0.3s;
}
.footer__xcard:hover {
  border-color: rgba(255,255,255,0.15);
}
.footer__xcard-header {
  display: flex;
  align-items: center;
  gap: var(--sp-md);
  margin-bottom: var(--sp-md);
}
.footer__xcard-avatar {
  width: 48px; height: 48px;
  border-radius: 50%;
  background: rgba(255,255,255,0.08);
  display: flex; align-items: center; justify-content: center;
  color: var(--c-white);
  flex-shrink: 0;
}
.footer__xcard-name {
  display: block;
  font-family: var(--ff-heading);
  font-weight: 800;
  font-size: var(--fs-sm);
  color: var(--c-white);
}
.footer__xcard-handle {
  font-size: var(--fs-xs);
  color: rgba(255,255,255,0.4);
}
.footer__xcard-bio {
  font-size: var(--fs-sm);
  color: rgba(255,255,255,0.5);
  line-height: var(--lh-body);
  margin-bottom: var(--sp-lg);
}
.footer__xcard-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0.6em 1.4em;
  background: var(--c-white);
  color: var(--c-navy);
  border-radius: 100px;
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: 0.04em;
  transition: all 0.3s;
}
.footer__xcard-btn:hover {
  background: var(--c-red);
  color: var(--c-white);
  transform: translateY(-1px);
}
.footer__xcard-posts {
  margin-top: var(--sp-lg);
  padding-top: var(--sp-md);
  border-top: 1px solid rgba(255,255,255,0.06);
}
.footer__xcard-post {
  display: flex;
  align-items: center;
  gap: var(--sp-sm);
  padding: var(--sp-sm) 0;
  font-size: var(--fs-sm);
  color: rgba(255,255,255,0.5);
  transition: all 0.3s;
}
.footer__xcard-post:hover {
  color: var(--c-white);
}
.footer__xcard-post-icon {
  width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  border-radius: var(--radius);
  background: rgba(255,255,255,0.06);
  flex-shrink: 0;
}
.footer__xcard-post-arrow {
  margin-left: auto;
  opacity: 0;
  transform: translateX(-4px);
  transition: all 0.3s;
}
.footer__xcard-post:hover .footer__xcard-post-arrow {
  opacity: 1;
  transform: translateX(0);
}

/* ==========================================================================
   v5.0.0 VISUAL AUDIT FIXES
   ========================================================================== */

/* ---- ABOUT HERO: fix title overflow, bigger breathing room ---- */
.about-hero { padding: var(--sp-4xl) 0 var(--sp-4xl); }
.about-hero__grid { grid-template-columns: 1.3fr 0.7fr; gap: var(--sp-2xl); }
.about-hero__title {
  font-size: clamp(1.8rem, 1.2rem + 2vw, 2.8rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
}
.about-hero__subtitle { font-size: var(--fs-base); }

/* ---- ABOUT PHOTO: fix accent positioning ---- */
.about-hero__photo-accent {
  top: -8px; left: -8px;
  width: 60px; height: 60px;
}
.about-hero__photo-stamp {
  bottom: var(--sp-md); right: var(--sp-sm);
}
.about-hero__photo-placeholder {
  min-height: 340px;
}

/* ---- ABOUT TIMELINE: bigger markers, thicker line ---- */
.about-timeline::before { width: 3px; left: 27px; }
.about-timeline__marker { width: 44px; height: 44px; left: -50px; }
.about-timeline__flag { font-size: 1.4rem; }
.about-timeline__card { padding: var(--sp-xl) var(--sp-xl); }
.about-timeline__card-title { font-size: var(--fs-base); }
.about-timeline__period {
  background: rgba(230,57,70,0.08);
  padding: 0.2em 0.8em;
  border-radius: 100px;
}

/* ---- ABOUT "POR QUÉ": value cards need visible content ---- */
.about-value-card {
  padding: var(--sp-xl) var(--sp-lg);
  border-left: 3px solid var(--c-gray-200);
  border-radius: 0 var(--radius-xl) var(--radius-xl) 0;
}
.about-value-card:hover { border-left-color: var(--c-red); }
.about-value-card__icon {
  width: 44px; height: 44px;
  background: linear-gradient(135deg, rgba(230,57,70,0.08), rgba(230,57,70,0.02));
  border: 1px solid rgba(230,57,70,0.1);
}
.about-value-card p {
  font-size: var(--fs-sm);
  color: var(--c-text-light);
  line-height: 1.6;
}

/* ---- ABOUT REASON NUMBERS: bigger, more impactful ---- */
.about-why__reason-num {
  font-size: clamp(2rem, 3vw, 3.5rem);
  color: var(--c-gray-100);
  min-width: 60px;
  background: linear-gradient(180deg, var(--c-red), var(--c-navy));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  opacity: 0.25;
}

/* ---- ABOUT CTA: more visual punch ---- */
.about-cta__card {
  border: none;
  background: linear-gradient(145deg, #fefcfb, #fff5f2);
  box-shadow: 0 20px 60px rgba(13,27,42,0.06), 0 1px 0 rgba(230,57,70,0.1);
  position: relative;
  overflow: hidden;
}
.about-cta__card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--c-navy), var(--c-red), var(--c-gold));
}
.about-cta__card h2 { color: var(--c-navy); }
.about-cta__thanks {
  font-family: var(--ff-heading);
  font-size: var(--fs-lg);
}

/* ---- ABOUT STRIPE ACCENT: make visible ---- */
.about-journey .stripe-accent,
.about-why .stripe-accent,
.about-cta .stripe-accent {
  width: 60px;
  height: 3px;
  margin: var(--sp-md) auto;
}
/* For non-centered sections */
.about-why .stripe-accent {
  margin-left: 0;
}

/* ---- CONTACT HERO: fix title visibility ---- */
.contact-hero {
  padding: var(--sp-3xl) 0 var(--sp-2xl);
  background: linear-gradient(150deg, var(--c-navy) 0%, #131030 60%, #0D1B2A 100%);
}
.contact-hero__title {
  font-size: clamp(1.8rem, 1.2rem + 2vw, 3rem);
  color: var(--c-white);
  text-shadow: 0 2px 20px rgba(0,0,0,0.3);
}
.contact-hero__desc { color: rgba(255,255,255,0.7); }

/* ---- CONTACT LETTER: more polished paper effect ---- */
.contact-letter__paper {
  padding: var(--sp-2xl) var(--sp-2xl) var(--sp-xl);
  background: #fffdfb;
  box-shadow:
    0 1px 3px rgba(0,0,0,0.04),
    0 8px 30px rgba(13,27,42,0.06),
    0 30px 60px rgba(13,27,42,0.04);
}
.contact-letter__paper::before { height: 4px; left: 0; right: 0; border-radius: var(--radius-xl) var(--radius-xl) 0 0; }
.contact-letter__paper::after {
  content: '';
  position: absolute;
  left: var(--sp-3xl); top: 0; bottom: 0;
  width: 1px;
  background: repeating-linear-gradient(
    to bottom,
    transparent 0px,
    transparent 26px,
    rgba(200,180,170,0.2) 26px,
    rgba(200,180,170,0.2) 27px
  );
  pointer-events: none;
}
/* Lined paper effect */
.contact-letter__body {
  background-image: repeating-linear-gradient(
    transparent 0px,
    transparent 31px,
    rgba(200,180,170,0.12) 31px,
    rgba(200,180,170,0.12) 32px
  );
  background-size: 100% 32px;
  padding-top: var(--sp-sm);
}

/* ---- CONTACT FORM: styled inputs ---- */
.contact-letter__body .wpcf7-form p { margin-bottom: var(--sp-md); }
.contact-letter__body .wpcf7-form label {
  font-family: var(--ff-heading);
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--c-navy);
  display: block;
  margin-bottom: var(--sp-xs);
}
.contact-letter__body .wpcf7-form input[type="text"],
.contact-letter__body .wpcf7-form input[type="email"],
.contact-letter__body .wpcf7-form textarea {
  width: 100%;
  background: rgba(255,255,255,0.8);
  border: 1px solid var(--c-gray-200);
  border-radius: var(--radius);
  padding: 0.9em var(--sp-md);
  font: inherit;
  font-size: var(--fs-sm);
  color: var(--c-text);
  transition: all 0.3s;
}
.contact-letter__body .wpcf7-form input:focus,
.contact-letter__body .wpcf7-form textarea:focus {
  outline: none;
  border-color: var(--c-red);
  background: var(--c-white);
  box-shadow: 0 0 0 3px rgba(230,57,70,0.08);
}
.contact-letter__body .wpcf7-form textarea {
  min-height: 180px;
  resize: vertical;
}
.contact-letter__body .wpcf7-form input[type="submit"] {
  background: var(--c-navy);
  color: var(--c-white);
  border: none;
  padding: 0.9em var(--sp-2xl);
  border-radius: 100px;
  font: inherit;
  font-weight: 700;
  font-size: var(--fs-sm);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.3s;
  position: relative;
  overflow: hidden;
}
.contact-letter__body .wpcf7-form input[type="submit"]:hover {
  background: var(--c-red);
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(230,57,70,0.3);
}

/* ---- CONTACT STAMP: more decorative ---- */
.contact-letter__stamp {
  width: 72px; height: 72px;
  border: 3px solid var(--c-red);
  border-radius: var(--radius);
  position: relative;
  transform: rotate(-6deg);
}
.contact-letter__stamp::before {
  content: '';
  position: absolute; inset: 3px;
  border: 1px dashed rgba(230,57,70,0.3);
  border-radius: calc(var(--radius) - 3px);
}
.contact-letter__stamp-inner {
  font-family: var(--ff-heading);
  font-weight: 900;
  font-size: var(--fs-md);
  color: var(--c-red);
  letter-spacing: 0.2em;
}

/* ---- CONTACT SIDEBAR: always show helpful content even without social links ---- */
.contact-info__card {
  padding: var(--sp-xl) var(--sp-lg);
  border-left: 3px solid var(--c-red);
  border-radius: 0 var(--radius-xl) var(--radius-xl) 0;
}
.contact-info__card h3 {
  font-size: var(--fs-base);
}
.contact-info__note {
  background: linear-gradient(135deg, rgba(230,57,70,0.04), rgba(13,27,42,0.02));
  border: 1px solid rgba(230,57,70,0.08);
  border-radius: var(--radius);
  padding: var(--sp-md);
}
.contact-info__channel {
  padding: var(--sp-md) var(--sp-lg);
  border-radius: var(--radius-lg);
}
.contact-info__channel:hover {
  background: var(--c-gray-50);
}

/* ---- CONTACT: greeting styling ---- */
.contact-letter__greeting p {
  font-family: var(--ff-heading);
  font-size: var(--fs-md);
  font-style: italic;
  color: var(--c-navy);
  padding-bottom: var(--sp-md);
  border-bottom: 1px solid rgba(200,180,170,0.2);
}

/* ---- CONTACT SIGNATURE: more impactful ---- */
.contact-letter__signature-name {
  font-size: clamp(1.5rem, 2vw, 2rem);
  letter-spacing: -0.02em;
}

/* ---- GENERAL: bigger stripe accent utility ---- */
.stripe-accent {
  width: 50px;
  height: 3px;
  display: flex;
  gap: 4px;
}
.stripe-accent span {
  flex: 1;
  border-radius: 2px;
}

/* ---- ABOUT/CONTACT HERO on mobile ---- */
@media (max-width: 768px) {
  .about-hero__grid { grid-template-columns: 1fr; }
  .about-hero__photo-placeholder { max-width: 260px; margin: 0 auto; min-height: 280px; }
  .about-hero__title { font-size: clamp(1.5rem, 5vw, 2rem); }
  .contact-main > .container { grid-template-columns: 1fr; }
  .contact-letter__paper { padding: var(--sp-xl) var(--sp-lg); }
  .about-why__grid { grid-template-columns: 1fr; }
}

/* ---- Contact sidebar topics list ---- */
.contact-info__what {
  margin-top: var(--sp-xl);
  padding-top: var(--sp-lg);
  border-top: 1px solid var(--c-gray-100);
}
.contact-info__what h4 {
  font-family: var(--ff-heading);
  font-size: var(--fs-sm);
  font-weight: 800;
  color: var(--c-navy);
  margin-bottom: var(--sp-md);
}
.contact-info__topics {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--sp-sm);
}
.contact-info__topics li {
  display: flex;
  align-items: center;
  gap: var(--sp-sm);
  font-size: var(--fs-sm);
  color: var(--c-text-light);
  padding: var(--sp-xs) 0;
}
.contact-info__topics li svg {
  color: var(--c-red);
  flex-shrink: 0;
}

/* ---- ABOUT: Culture Shock section ---- */
.about-shocks {
  padding: var(--sp-4xl) 0;
  background: linear-gradient(135deg, var(--c-navy) 0%, #131030 100%);
  color: var(--c-white);
}
.about-shocks__header { text-align: center; margin-bottom: var(--sp-3xl); }
.about-shocks__overline {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: var(--fs-xs); font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--c-red-soft); margin-bottom: var(--sp-md);
}
.about-shocks__title {
  font-family: var(--ff-heading); font-size: var(--fs-xl); font-weight: 900;
}
.about-shocks .stripe-accent { margin: var(--sp-md) auto; }
.about-shocks .stripe-accent span { background: rgba(255,255,255,0.2); }

.about-shocks__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-lg);
}
.about-shock-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius-xl);
  padding: var(--sp-xl);
  transition: all 0.3s;
}
.about-shock-card:hover {
  background: rgba(255,255,255,0.07);
  border-color: rgba(230,57,70,0.3);
  transform: translateY(-4px);
}
.about-shock-card__emoji,
.about-shock-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  margin-bottom: var(--sp-lg);
  color: var(--c-red-soft);
  background: rgba(230,57,70,.08);
  border-radius: 50%;
  border: 2px solid rgba(230,57,70,.12);
  position: relative;
  transition: all 0.5s cubic-bezier(.4,0,.2,1);
  font-size: 0;
}
.about-shock-card__icon::before {
  content: '';
  position: absolute;
  inset: -5px;
  border-radius: 50%;
  border: 1px dashed rgba(230,57,70,.15);
  animation: shockPulse 3s ease-in-out infinite;
}
@keyframes shockPulse {
  0%, 100% { opacity: 0.3; transform: scale(1); }
  50% { opacity: 0.7; transform: scale(1.06); }
}
.about-shock-card__icon svg {
  width: 36px;
  height: 36px;
}
.about-shock-card:hover .about-shock-card__emoji,
.about-shock-card:hover .about-shock-card__icon {
  background: var(--c-red);
  color: var(--c-white);
  border-color: var(--c-red);
  transform: scale(1.1) rotate(-3deg);
  box-shadow: 0 8px 28px rgba(230,57,70,.4);
}
.about-shock-card:hover .about-shock-card__icon::before { opacity: 0; }
.about-shock-card h4 {
  font-family: var(--ff-heading);
  font-weight: 800;
  font-size: var(--fs-sm);
  margin-bottom: var(--sp-xs);
  color: var(--c-white);
}
.about-shock-card p {
  font-size: var(--fs-sm);
  color: rgba(255,255,255,0.5);
  line-height: var(--lh-body);
}
@media (max-width: 768px) {
  .about-shocks__grid { grid-template-columns: 1fr; }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .about-shocks__grid { grid-template-columns: repeat(2, 1fr); }
}

/* ==========================================================================
   v5.0 ITERATION 2 — Hero, overlines, CTA, reasons
   ========================================================================== */

/* ---- ABOUT HERO OVERLINE: gold color ---- */
.about-hero__overline {
  color: var(--c-gold) !important;
}
.about-hero__overline svg { color: var(--c-gold); }

/* ---- HERO META: country journey bar ---- */
.about-hero__meta {
  display: flex;
  align-items: center;
  gap: var(--sp-sm);
  margin-top: var(--sp-xl);
  padding-top: var(--sp-lg);
  border-top: 1px solid rgba(255,255,255,0.08);
}
.about-hero__meta-item {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: rgba(255,255,255,0.7);
}
.about-hero__meta-sep {
  color: var(--c-gold);
  font-size: var(--fs-sm);
  opacity: 0.5;
}

/* ---- OVERLINES: survival style with lines ---- */
.about-journey__overline,
.about-shocks__overline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--ff-body);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-red);
  margin-bottom: var(--sp-md);
}
.about-journey__overline > span:empty,
.about-shocks__overline > span:empty {
  display: block;
  width: 28px;
  height: 1px;
  background: currentColor;
}
/* shocks overline on dark bg */
.about-shocks__overline {
  color: var(--c-red-soft);
}

/* ---- ABOUT WHY: 4 reasons, visually stunning ---- */
.about-why__reasons {
  margin-top: var(--sp-xl);
  display: flex;
  flex-direction: column;
  gap: var(--sp-lg);
}
.about-why__reason {
  display: flex;
  gap: var(--sp-lg);
  padding: var(--sp-lg);
  border-radius: var(--radius-xl);
  border: 1px solid var(--c-gray-100);
  background: var(--c-white);
  transition: all 0.3s;
}
.about-why__reason:hover {
  border-color: var(--c-red);
  box-shadow: 0 8px 30px rgba(230,57,70,0.06);
  transform: translateX(6px);
}
.about-why__reason-num {
  font-family: var(--ff-heading);
  font-size: clamp(1.5rem, 2vw, 2rem) !important;
  font-weight: 900;
  min-width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius);
  background: var(--c-gray-50) !important;
  color: var(--c-navy) !important;
  -webkit-text-fill-color: var(--c-navy) !important;
  background-clip: unset !important;
  -webkit-background-clip: unset !important;
  opacity: 1 !important;
  line-height: 1;
  flex-shrink: 0;
  transition: all 0.3s;
}
.about-why__reason:hover .about-why__reason-num {
  background: var(--c-red) !important;
  color: var(--c-white) !important;
  -webkit-text-fill-color: var(--c-white) !important;
}
.about-why__reason h4 {
  font-family: var(--ff-heading);
  font-weight: 800;
  font-size: var(--fs-base);
  margin-bottom: var(--sp-xs);
  color: var(--c-navy);
}
.about-why__reason p {
  font-size: var(--fs-sm);
  color: var(--c-text-light);
  line-height: 1.65;
}

/* ---- ABOUT CTA: cinematic dark section ---- */
.about-cta {
  position: relative;
  padding: var(--sp-4xl) 0;
  background: linear-gradient(150deg, var(--c-navy) 0%, #131030 50%, var(--c-navy-deep) 100%);
  color: var(--c-white);
  text-align: center;
  overflow: hidden;
}
.about-cta__bg {
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 30% 80%, rgba(230,57,70,0.06) 0%, transparent 50%),
    radial-gradient(circle at 70% 20%, rgba(212,175,55,0.04) 0%, transparent 50%);
  pointer-events: none;
}
.about-cta__inner {
  position: relative;
  z-index: 1;
  max-width: 650px;
  margin: 0 auto;
}
.about-cta__overline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--ff-body);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-red-soft);
  margin-bottom: var(--sp-lg);
}
.about-cta__overline > span:empty {
  display: block;
  width: 28px;
  height: 1px;
  background: currentColor;
}
.about-cta__title {
  font-family: var(--ff-heading);
  font-size: clamp(1.8rem, 1.2rem + 2vw, 2.8rem);
  font-weight: 900;
  line-height: 1.15;
  margin-bottom: var(--sp-lg);
  letter-spacing: -0.02em;
}
.about-cta__text {
  font-size: var(--fs-md);
  color: rgba(255,255,255,0.6);
  line-height: 1.65;
  margin-bottom: var(--sp-xl);
}
.about-cta .about-cta__disclaimer {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius-lg);
  padding: var(--sp-md) var(--sp-lg);
  margin-bottom: var(--sp-xl);
  font-size: var(--fs-xs);
  color: rgba(255,255,255,0.35);
  text-align: left;
}
.about-cta .about-cta__disclaimer p { display: flex; align-items: flex-start; gap: var(--sp-sm); margin: 0; }
.about-cta__thanks {
  font-family: var(--ff-heading);
  font-size: var(--fs-lg);
  font-weight: 900;
  color: var(--c-gold);
  margin-bottom: var(--sp-xl);
}
.about-cta__signature {
  margin-bottom: var(--sp-2xl);
}
.about-cta__sig-name {
  display: block;
  font-family: var(--ff-heading);
  font-size: clamp(1.5rem, 2vw, 2.2rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  margin-bottom: var(--sp-xs);
}
.about-cta__sig-from {
  font-size: var(--fs-xs);
  color: rgba(255,255,255,0.35);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.about-cta__buttons {
  display: flex;
  gap: var(--sp-md);
  justify-content: center;
}
.btn--outline-light {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-sm);
  padding: 0.85em var(--sp-2xl);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 100px;
  color: var(--c-white);
  font-weight: 600;
  font-size: var(--fs-sm);
  transition: all 0.3s;
}
.btn--outline-light:hover {
  border-color: var(--c-white);
  background: rgba(255,255,255,0.08);
}

/* ---- TWITTER EMBED in footer ---- */
.footer__xfeed-embed {
  max-height: 280px;
  overflow: hidden;
  border-radius: var(--radius-lg);
  margin-bottom: var(--sp-md);
}
.footer__xfeed-embed .twitter-timeline {
  display: block;
}

/* ==========================================================================
   v5.0 ITERATION 3 — MC4WP, badge, X feed, title parity
   ========================================================================== */

/* ---- NEWSLETTER BADGE: gold instead of red ---- */
.widget-newsletter__badge {
  background: rgba(212,175,55,0.12) !important;
  border-color: rgba(212,175,55,0.25) !important;
  color: var(--c-gold) !important;
}
.widget-newsletter__pulse {
  background: var(--c-gold) !important;
  animation: pulse-dot-gold 2s ease-in-out infinite;
}
@keyframes pulse-dot-gold {
  0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(212,175,55,0.6); }
  50% { opacity: 0.7; box-shadow: 0 0 0 6px rgba(212,175,55,0); }
}

/* ---- MC4WP FORM STYLING — sidebar newsletter ---- */
.widget-newsletter__form-wrap {
  padding: 0 var(--sp-lg);
}
.widget-newsletter__form-wrap .mc4wp-form {
  display: flex;
  flex-direction: column;
  gap: var(--sp-sm);
}
.widget-newsletter__form-wrap .mc4wp-form input[type="email"] {
  width: 100%;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.12);
  color: var(--c-white);
  padding: 0.85em var(--sp-lg);
  border-radius: 100px;
  font: inherit;
  font-size: var(--fs-sm);
  transition: all 0.3s;
}
.widget-newsletter__form-wrap .mc4wp-form input[type="email"]::placeholder {
  color: rgba(255,255,255,0.3);
}
.widget-newsletter__form-wrap .mc4wp-form input[type="email"]:focus {
  outline: none;
  border-color: rgba(212,175,55,0.5);
  box-shadow: 0 0 0 3px rgba(212,175,55,0.1);
}
.widget-newsletter__form-wrap .mc4wp-form input[type="submit"],
.widget-newsletter__form-wrap .mc4wp-form button[type="submit"] {
  background: var(--c-red);
  color: var(--c-white);
  border: none;
  padding: 0.85em var(--sp-2xl);
  border-radius: 100px;
  font: inherit;
  font-weight: 700;
  font-size: var(--fs-xs);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.3s;
  width: 100%;
}
.widget-newsletter__form-wrap .mc4wp-form input[type="submit"]:hover,
.widget-newsletter__form-wrap .mc4wp-form button[type="submit"]:hover {
  background: var(--c-red-dark);
  transform: translateY(-1px);
}
/* MC4WP success/error messages */
.widget-newsletter__form-wrap .mc4wp-alert {
  padding: var(--sp-sm) var(--sp-md);
  border-radius: var(--radius);
  font-size: var(--fs-sm);
  text-align: center;
  margin-top: var(--sp-sm);
}
.widget-newsletter__form-wrap .mc4wp-success {
  background: rgba(22,163,106,0.15);
  color: #4ade80;
  border: 1px solid rgba(22,163,106,0.25);
}
.widget-newsletter__form-wrap .mc4wp-error {
  background: rgba(230,57,70,0.15);
  color: var(--c-red-soft);
  border: 1px solid rgba(230,57,70,0.25);
}
.widget-newsletter__fallback {
  font-size: var(--fs-xs);
  color: rgba(255,255,255,0.3);
  text-align: center;
  padding: var(--sp-md) 0;
}

/* ---- MC4WP FORM STYLING — article newsletter (single post) ---- */
.article-newsletter__form-wrap .mc4wp-form {
  display: flex;
  gap: var(--sp-sm);
  flex-wrap: wrap;
}
.article-newsletter__form-wrap .mc4wp-form input[type="email"] {
  flex: 1;
  min-width: 200px;
  background: var(--c-white);
  border: 1px solid var(--c-gray-200);
  color: var(--c-text);
  padding: 0.85em var(--sp-lg);
  border-radius: 100px;
  font: inherit;
  font-size: var(--fs-sm);
  transition: all 0.3s;
}
.article-newsletter__form-wrap .mc4wp-form input[type="email"]:focus {
  outline: none;
  border-color: var(--c-red);
  box-shadow: 0 0 0 3px rgba(230,57,70,0.08);
}
.article-newsletter__form-wrap .mc4wp-form input[type="submit"],
.article-newsletter__form-wrap .mc4wp-form button[type="submit"] {
  background: var(--c-navy);
  color: var(--c-white);
  border: none;
  padding: 0.85em var(--sp-2xl);
  border-radius: 100px;
  font: inherit;
  font-weight: 700;
  font-size: var(--fs-sm);
  cursor: pointer;
  transition: all 0.3s;
}
.article-newsletter__form-wrap .mc4wp-form input[type="submit"]:hover,
.article-newsletter__form-wrap .mc4wp-form button[type="submit"]:hover {
  background: var(--c-red);
  transform: translateY(-1px);
}
.article-newsletter__form-wrap .mc4wp-alert {
  width: 100%;
  padding: var(--sp-sm) var(--sp-md);
  border-radius: var(--radius);
  font-size: var(--fs-sm);
  text-align: center;
}
.article-newsletter__form-wrap .mc4wp-success {
  background: rgba(22,163,106,0.08);
  color: #16a34a;
  border: 1px solid rgba(22,163,106,0.2);
}
.article-newsletter__form-wrap .mc4wp-error {
  background: rgba(230,57,70,0.08);
  color: var(--c-red);
  border: 1px solid rgba(230,57,70,0.15);
}

/* ---- MC4WP form labels — hide or style ---- */
.widget-newsletter__form-wrap .mc4wp-form label,
.article-newsletter__form-wrap .mc4wp-form label {
  display: none; /* mc4wp labels are redundant with placeholders */
}
.widget-newsletter__form-wrap .mc4wp-form p,
.article-newsletter__form-wrap .mc4wp-form p {
  margin: 0;
}

/* ---- X FEED: ensure embed visible, fallback works ---- */
.footer__xfeed-embed {
  max-height: 300px;
  overflow: hidden;
  border-radius: var(--radius-lg);
  margin-bottom: var(--sp-sm);
  background: rgba(255,255,255,0.03);
  min-height: 100px;
}
.footer__xfeed-embed a {
  color: rgba(255,255,255,0.4);
  font-size: var(--fs-sm);
  display: block;
  padding: var(--sp-md);
  text-align: center;
}
/* Fallback card — always styled even when hidden */
.footer__xcard {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius-lg);
  padding: var(--sp-lg);
  transition: border-color 0.3s;
}
.footer__xcard:hover {
  border-color: rgba(255,255,255,0.15);
}

/* ---- SIDEBAR-WIDGET__TITLE on single post sidebar ---- */
/* Ensure full parity with .widget__title from the shared block */
.sidebar-widget__title {
  font-family: var(--ff-body);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin: 0;
  padding: var(--sp-md) var(--sp-lg);
  border-bottom: 1px solid var(--c-gray-200);
  display: flex;
  align-items: center;
  gap: 6px;
  position: relative;
}

/* ---- MC4WP inside front-page module-newsletter ---- */
.module-newsletter__input-group .mc4wp-form {
  display: flex;
  gap: var(--sp-sm);
  width: 100%;
  flex-wrap: wrap;
}
.module-newsletter__input-group .mc4wp-form p {
  display: contents;
  margin: 0;
}
.module-newsletter__input-group .mc4wp-form label {
  display: none;
}
.module-newsletter__input-group .mc4wp-form input[type="email"] {
  flex: 1;
  min-width: 240px;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.15);
  color: var(--c-white);
  padding: 0.95em var(--sp-xl);
  border-radius: 100px;
  font: inherit;
  font-size: var(--fs-base);
  transition: all 0.3s;
}
.module-newsletter__input-group .mc4wp-form input[type="email"]::placeholder {
  color: rgba(255,255,255,0.35);
}
.module-newsletter__input-group .mc4wp-form input[type="email"]:focus {
  outline: none;
  border-color: rgba(255,255,255,0.35);
  background: rgba(255,255,255,0.12);
}
.module-newsletter__input-group .mc4wp-form input[type="submit"],
.module-newsletter__input-group .mc4wp-form button[type="submit"] {
  background: var(--c-red);
  color: var(--c-white);
  border: none;
  padding: 0.95em var(--sp-2xl);
  border-radius: 100px;
  font: inherit;
  font-weight: 700;
  font-size: var(--fs-sm);
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: all 0.3s;
}
.module-newsletter__input-group .mc4wp-form input[type="submit"]:hover,
.module-newsletter__input-group .mc4wp-form button[type="submit"]:hover {
  background: var(--c-red-dark);
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(230,57,70,0.4);
}
.module-newsletter__input-group .mc4wp-alert {
  width: 100%;
  padding: var(--sp-sm) var(--sp-md);
  border-radius: var(--radius);
  font-size: var(--fs-sm);
  text-align: center;
  margin-top: var(--sp-sm);
}
.module-newsletter__input-group .mc4wp-success {
  background: rgba(22,163,106,0.15);
  color: #4ade80;
  border: 1px solid rgba(22,163,106,0.25);
}
.module-newsletter__input-group .mc4wp-error {
  background: rgba(230,57,70,0.15);
  color: var(--c-red-soft);
  border: 1px solid rgba(230,57,70,0.25);
}
@media (max-width: 600px) {
  .module-newsletter__input-group .mc4wp-form { flex-direction: column; }
  .module-newsletter__input-group .mc4wp-form input[type="email"] { min-width: 0; }
}

/* ---- MC4WP AJAX form messages ---- */
.mveu-form-msg {
  padding: var(--sp-sm) var(--sp-md);
  border-radius: var(--radius);
  font-size: var(--fs-sm);
  font-weight: 600;
  text-align: center;
  margin-top: var(--sp-sm);
  animation: msg-slide-in 0.3s ease;
}
@keyframes msg-slide-in {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}
.mveu-form-msg--success {
  background: rgba(22,163,106,0.12);
  color: #4ade80;
  border: 1px solid rgba(22,163,106,0.2);
}
.mveu-form-msg--error {
  background: rgba(230,57,70,0.12);
  color: var(--c-red-soft);
  border: 1px solid rgba(230,57,70,0.2);
}
/* Light background contexts */
.article-newsletter .mveu-form-msg--success {
  background: rgba(22,163,106,0.06);
  color: #16a34a;
}
.article-newsletter .mveu-form-msg--error {
  background: rgba(230,57,70,0.06);
  color: var(--c-red);
}

/* ==========================================================================
   SUBSCRIPTIONS PAGE
   ========================================================================== */
.subs-hero { position:relative; padding:var(--sp-4xl) 0 var(--sp-3xl); background:linear-gradient(150deg,var(--c-navy) 0%,#0a1628 50%,var(--c-navy-deep) 100%); color:var(--c-white); overflow:hidden; text-align:center; }
.subs-hero__bg { position:absolute;inset:0; background-image:radial-gradient(ellipse at 50% 120%,rgba(230,57,70,.1) 0%,transparent 60%); }
.subs-hero__glow { position:absolute; border-radius:50%; filter:blur(80px); pointer-events:none; }
.subs-hero__glow--1 { width:400px;height:400px; background:rgba(212,175,55,.06); top:-150px;left:20%; }
.subs-hero__glow--2 { width:350px;height:350px; background:rgba(230,57,70,.06); bottom:-100px;right:15%; }
.subs-hero__badge { display:inline-flex;align-items:center;gap:6px; padding:.4em 1.2em; background:rgba(212,175,55,.12); border:1px solid rgba(212,175,55,.25); border-radius:100px; font-size:var(--fs-xs);font-weight:600; color:var(--c-gold); text-transform:uppercase;letter-spacing:.08em; margin-bottom:var(--sp-lg); }
.subs-hero__title { font-family:var(--ff-heading); font-size:clamp(1.8rem,1.2rem + 2.5vw,3rem); font-weight:900; line-height:1.12; max-width:700px; margin:0 auto var(--sp-lg); letter-spacing:-.02em; }
.subs-hero__desc { font-size:var(--fs-md); color:rgba(255,255,255,.55); max-width:600px; margin:0 auto; line-height:1.65; }

/* Benefits */
.subs-benefits { padding:var(--sp-4xl) 0; }
.subs-benefits__header { text-align:center; margin-bottom:var(--sp-3xl); }
.subs-benefits__overline { display:inline-flex;align-items:center;gap:8px; font-size:var(--fs-xs);font-weight:600; text-transform:uppercase;letter-spacing:.14em; color:var(--c-red); margin-bottom:var(--sp-md); }
.subs-benefits__overline > span:empty { display:block;width:28px;height:1px;background:currentColor; }
.subs-benefits__title { font-family:var(--ff-heading); font-size:var(--fs-xl); font-weight:900; color:var(--c-navy); }
.subs-benefits__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:var(--sp-xl); }
.subs-benefit { background:var(--c-surface); border:var(--border-subtle); border-radius:var(--radius-xl); padding:var(--sp-xl); position:relative; overflow:hidden; transition:all .3s; }
.subs-benefit:hover { border-color:var(--c-red); transform:translateY(-4px); box-shadow:0 12px 40px rgba(13,27,42,.08); }
.subs-benefit__icon-wrap { display:flex;align-items:center;gap:var(--sp-md); margin-bottom:var(--sp-lg); color:var(--c-navy); }
.subs-benefit__num { font-family:var(--ff-heading); font-size:var(--fs-lg); font-weight:900; color:var(--c-gray-200); }
.subs-benefit:hover .subs-benefit__num { color:var(--c-red); }
.subs-benefit h3 { font-family:var(--ff-heading); font-size:var(--fs-base); font-weight:800; margin-bottom:var(--sp-sm); }
.subs-benefit p { font-size:var(--fs-sm); color:var(--c-text-light); line-height:1.65; }

/* Form sections */
.subs-form-section { padding:var(--sp-3xl) 0; }
.subs-form-section--subscribe { position:relative; background:linear-gradient(135deg,var(--c-navy) 0%,#131030 100%); color:var(--c-white); }
.subs-form-section__bg { position:absolute;inset:0; background-image:radial-gradient(circle at 30% 70%,rgba(230,57,70,.06),transparent 50%); }
.subs-form-section--unsub { background:var(--c-gray-50); }
.subs-form-card { max-width:640px; margin:0 auto; position:relative; z-index:1; }
.subs-form-card__header { display:flex; align-items:flex-start; gap:var(--sp-lg); margin-bottom:var(--sp-xl); }
.subs-form-card__icon { width:56px;height:56px; display:flex;align-items:center;justify-content:center; border-radius:var(--radius-lg); flex-shrink:0; }
.subs-form-card__icon--sub { background:rgba(230,57,70,.15); color:var(--c-red-soft); }
.subs-form-card__icon--unsub { background:var(--c-gray-200); color:var(--c-text-light); }
.subs-form-card__header h2 { font-family:var(--ff-heading); font-size:var(--fs-lg); font-weight:900; margin-bottom:var(--sp-xs); }
.subs-form-card--subscribe .subs-form-card__header h2 { color:var(--c-white); }
.subs-form-card__header p { font-size:var(--fs-sm); opacity:.6; }

/* Subscribe form (mc4wp) styling in dark context */
.subs-form-card--subscribe .mc4wp-form { display:flex;gap:var(--sp-sm); flex-wrap:wrap; }
.subs-form-card--subscribe .mc4wp-form p { display:contents; margin:0; }
.subs-form-card--subscribe .mc4wp-form label { display:none; }
.subs-form-card--subscribe .mc4wp-form input[type="email"] { flex:1;min-width:240px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); color:var(--c-white); padding:.95em var(--sp-xl); border-radius:100px; font:inherit;font-size:var(--fs-sm); transition:all .3s; }
.subs-form-card--subscribe .mc4wp-form input[type="email"]::placeholder { color:rgba(255,255,255,.3); }
.subs-form-card--subscribe .mc4wp-form input[type="email"]:focus { outline:none; border-color:rgba(230,57,70,.5); box-shadow:0 0 0 3px rgba(230,57,70,.1); }
.subs-form-card--subscribe .mc4wp-form input[type="submit"],
.subs-form-card--subscribe .mc4wp-form button[type="submit"] { background:var(--c-red); color:var(--c-white); border:none; padding:.95em var(--sp-2xl); border-radius:100px; font:inherit;font-weight:700;font-size:var(--fs-sm); letter-spacing:.04em; cursor:pointer; transition:all .3s; }
.subs-form-card--subscribe .mc4wp-form input[type="submit"]:hover,
.subs-form-card--subscribe .mc4wp-form button[type="submit"]:hover { background:var(--c-red-dark); transform:translateY(-2px); box-shadow:0 4px 15px rgba(230,57,70,.4); }

/* Unsubscribe form */
.subs-unsub-form__row { display:flex; gap:var(--sp-sm); }
.subs-unsub-form input[type="email"] { flex:1; background:var(--c-white); border:1px solid var(--c-gray-200); color:var(--c-text); padding:.9em var(--sp-lg); border-radius:100px; font:inherit;font-size:var(--fs-sm); transition:all .3s; }
.subs-unsub-form input[type="email"]:focus { outline:none; border-color:var(--c-navy); box-shadow:0 0 0 3px rgba(13,27,42,.06); }

/* Form card footers */
.subs-form-card__footer { display:flex; gap:var(--sp-lg); flex-wrap:wrap; margin-top:var(--sp-lg); font-size:var(--fs-xs); }
.subs-form-card--subscribe .subs-form-card__footer { color:rgba(255,255,255,.25); }
.subs-form-card--subscribe .subs-form-card__footer span { display:flex;align-items:center;gap:4px; }
.subs-form-card__footer--muted { color:var(--c-text-light); font-size:var(--fs-xs); }
.subs-form-card__fallback { font-size:var(--fs-sm); opacity:.4; text-align:center; padding:var(--sp-lg) 0; }

/* Messages in dark context */
.subs-form-card--subscribe .mveu-form-msg--success { background:rgba(22,163,106,.15); color:#4ade80; border:1px solid rgba(22,163,106,.25); }
.subs-form-card--subscribe .mveu-form-msg--error { background:rgba(230,57,70,.15); color:var(--c-red-soft); border:1px solid rgba(230,57,70,.25); }

/* FAQ */
.subs-faq { padding:var(--sp-4xl) 0; }
.subs-faq__title { font-family:var(--ff-heading); font-size:var(--fs-xl); font-weight:900; text-align:center; margin-bottom:var(--sp-2xl); color:var(--c-navy); }
.subs-faq__grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-lg); max-width:800px; margin:0 auto; }
.subs-faq__item { background:var(--c-surface); border:var(--border-subtle); border-radius:var(--radius-xl); padding:var(--sp-xl); transition:all .3s; }
.subs-faq__item:hover { border-color:var(--c-red); }
.subs-faq__item h4 { font-family:var(--ff-heading); font-weight:800; margin-bottom:var(--sp-xs); font-size:var(--fs-sm); }
.subs-faq__item p { font-size:var(--fs-sm); color:var(--c-text-light); line-height:1.6; }

/* ==========================================================================
   ARCHIVE — Empty & end states
   ========================================================================== */
.archive-empty { text-align:center; padding:var(--sp-4xl) var(--sp-xl); }
.archive-empty__emoji { font-size:4rem; display:block; margin-bottom:var(--sp-lg); }
.archive-empty__title { font-family:var(--ff-heading); font-size:var(--fs-lg); font-weight:900; margin-bottom:var(--sp-md); color:var(--c-navy); }
.archive-empty p { color:var(--c-text-light); margin-bottom:var(--sp-xl); }
.archive-end-msg { text-align:center; padding:var(--sp-xl) 0; }
.archive-end-msg p { font-size:var(--fs-sm); color:var(--c-gray-400); font-style:italic; }

/* ==========================================================================
   FRONT-PAGE newsletter CTA button
   ========================================================================== */
.module-newsletter__cta-btn {
  display:inline-flex !important;
  align-items:center;
  gap:var(--sp-sm);
  padding:1em var(--sp-2xl) !important;
  border-radius:100px !important;
  font-size:var(--fs-base) !important;
  font-weight:700;
  letter-spacing:.02em;
  transition:all .3s;
  position:relative;
  overflow:hidden;
}
.module-newsletter__cta-btn::after {
  content:'';
  position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);
  transform:translateX(-100%);
}
.module-newsletter__cta-btn:hover::after {
  animation:shimmer 1.5s infinite;
}
@keyframes shimmer { 100%{transform:translateX(100%)} }
.module-newsletter__cta-btn:hover {
  transform:translateY(-2px);
  box-shadow:0 8px 25px rgba(230,57,70,.35);
}

/* Responsive */
@media (max-width:768px) {
  .subs-benefits__grid { grid-template-columns:1fr; }
  .subs-faq__grid { grid-template-columns:1fr; }
  .subs-form-card--subscribe .mc4wp-form { flex-direction:column; }
  .subs-unsub-form__row { flex-direction:column; }
}

/* ==========================================================================
   LEGAL PAGES — Cookies, Privacy, Terms
   Spectacular infographic editorial design
   ========================================================================== */

/* ---------- LEGAL HERO ---------- */
.legal-hero {
  position: relative;
  padding: clamp(4rem, 8vw, 7rem) 0 clamp(3rem, 6vw, 5rem);
  background: var(--c-navy);
  color: var(--c-white);
  overflow: hidden;
}
.legal-hero__glow {
  position: absolute; border-radius: 50%;
  filter: blur(100px); opacity: 0.15; pointer-events: none;
}
.legal-hero__glow--1 { width: 500px; height: 500px; top: -200px; right: -100px; background: var(--c-red); }
.legal-hero__glow--2 { width: 400px; height: 400px; bottom: -150px; left: -80px; background: var(--c-gold); }
.legal-hero--cookies .legal-hero__glow--1 { background: var(--c-gold); }
.legal-hero--privacy .legal-hero__glow--1 { background: var(--c-red); }
.legal-hero--terms .legal-hero__glow--1 { background: var(--c-red-soft); }
.legal-hero__content { max-width: 680px; position: relative; z-index: 1; }
.legal-hero__badge {
  display: inline-flex; align-items: center; gap: 0.4rem;
  font-family: var(--ff-body); font-size: var(--fs-xs);
  text-transform: uppercase; letter-spacing: 0.15em; font-weight: 600;
  color: var(--c-gold); margin-bottom: 1rem;
}
.legal-hero__title {
  font-family: var(--ff-heading); font-weight: 900;
  font-size: clamp(2.2rem, 5vw, 3.6rem);
  line-height: 1.1; margin: 0 0 1rem;
}
.legal-hero__title em {
  font-style: normal;
  background: linear-gradient(135deg, var(--c-red-soft), var(--c-gold-light));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
}
.legal-hero__subtitle {
  font-size: var(--fs-lg); line-height: 1.6;
  color: rgba(255,255,255,0.8); margin: 0 0 1.5rem;
}
.legal-hero__meta {
  display: flex; gap: 1.5rem; flex-wrap: wrap;
  font-size: var(--fs-xs); color: rgba(255,255,255,0.5);
}
.legal-hero__meta-item { display: inline-flex; align-items: center; gap: 0.3rem; }
.legal-hero__meta-item svg { opacity: 0.6; }

/* ---------- TABLE OF CONTENTS ---------- */
.legal-toc { padding: 2rem 0; }
.legal-toc__card {
  background: var(--c-surface);
  border: 1px solid var(--c-gray-200);
  border-radius: 12px;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}
.legal-toc__title {
  display: flex; align-items: center; gap: 0.5rem;
  font-family: var(--ff-heading); font-weight: 700;
  font-size: var(--fs-lg); margin: 0 0 1rem; color: var(--c-navy);
}
.legal-toc__nav ol {
  list-style: none; padding: 0; margin: 0;
  display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 0.5rem;
  counter-reset: toc-counter;
}
.legal-toc__nav li { counter-increment: toc-counter; }
.legal-toc__nav a {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.6rem 1rem; border-radius: 8px;
  font-size: var(--fs-sm); color: var(--c-text);
  text-decoration: none; transition: background 0.2s, color 0.2s;
}
.legal-toc__nav a::before {
  content: counter(toc-counter, decimal-leading-zero);
  font-family: var(--ff-heading); font-weight: 700;
  font-size: var(--fs-xs); color: var(--c-red); min-width: 24px;
}
.legal-toc__nav a:hover { background: var(--c-gray-100); color: var(--c-red); }

/* ---------- LEGAL SECTIONS ---------- */
.legal-section { padding: clamp(3rem, 5vw, 5rem) 0; }
.legal-section--alt { background: var(--c-gray-50); }
.legal-section__header {
  display: flex; align-items: baseline; gap: 1rem;
  margin-bottom: 1.5rem; padding-bottom: 1rem;
  border-bottom: 2px solid var(--c-gray-200);
}
.legal-section__number {
  font-family: var(--ff-heading); font-weight: 900;
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  color: var(--c-red); line-height: 1; opacity: 0.25;
}
.legal-section__title {
  font-family: var(--ff-heading); font-weight: 800;
  font-size: clamp(1.4rem, 2.5vw, 2rem); color: var(--c-navy); margin: 0;
}
.legal-section__intro {
  font-size: var(--fs-lg); color: var(--c-text-light);
  max-width: 720px; margin-bottom: 2rem;
}
.legal-section__body p {
  font-size: var(--fs-base); line-height: 1.8;
  color: var(--c-text); max-width: 760px; margin-bottom: 1rem;
}

/* ---------- LEGAL CARDS ---------- */
.legal-cards { display: grid; gap: 1.5rem; margin-top: 1.5rem; }
.legal-cards--2 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.legal-cards--3 { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.legal-cards--4 { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.legal-card {
  background: var(--c-surface); border: 1px solid var(--c-gray-200);
  border-radius: 12px; padding: clamp(1.5rem, 2.5vw, 2rem);
  transition: transform 0.3s cubic-bezier(0.16,1,0.3,1), box-shadow 0.3s;
}
.legal-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 30px rgba(0,0,0,0.08);
}
.legal-card__icon-wrap {
  width: 48px; height: 48px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem; margin-bottom: 1rem;
}
.legal-card__icon-wrap--green { background: #E8F5E9; }
.legal-card__icon-wrap--blue { background: #E3F2FD; }
.legal-card__icon-wrap--gold { background: #FFF8E1; }
.legal-card__icon-wrap--red { background: #FFEBEE; }
.legal-card__title {
  font-family: var(--ff-heading); font-weight: 700;
  font-size: var(--fs-lg); color: var(--c-navy); margin: 0 0 0.5rem;
}
.legal-card__tag {
  display: inline-block; font-size: var(--fs-xs); font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.1em;
  padding: 0.2rem 0.6rem; border-radius: 20px; margin-bottom: 0.75rem;
}
.legal-card__tag--green { background: #E8F5E9; color: #2E7D32; }
.legal-card__tag--blue { background: #E3F2FD; color: #1565C0; }
.legal-card__tag--gold { background: #FFF8E1; color: #E65100; }
.legal-card__tag--red { background: #FFEBEE; color: #C62828; }
.legal-card p {
  font-size: var(--fs-sm); line-height: 1.65;
  color: var(--c-text-light); margin: 0 0 1rem;
}
.legal-card__list { list-style: none; padding: 0; margin: 0 0 1rem; }
.legal-card__list li {
  position: relative; padding-left: 1.2rem;
  font-size: var(--fs-sm); color: var(--c-text); line-height: 1.7;
}
.legal-card__list li::before {
  content: '\2022'; position: absolute; left: 0;
  color: var(--c-red); font-weight: 700;
}
.legal-card__duration {
  display: flex; align-items: center; gap: 0.3rem;
  font-size: var(--fs-xs); color: var(--c-text-light);
  padding-top: 0.75rem; border-top: 1px solid var(--c-gray-100);
}

/* ---------- INFOGRAPHIC FLOW ---------- */
.legal-infographic {
  background: var(--c-navy); border-radius: 16px;
  padding: clamp(2rem, 4vw, 3rem); margin-top: 2rem; color: var(--c-white);
}
.legal-infographic__title {
  font-family: var(--ff-heading); font-weight: 700;
  font-size: var(--fs-lg); margin: 0 0 2rem;
  text-align: center; color: var(--c-gold-light);
}
.legal-infographic__flow {
  display: flex; align-items: flex-start; justify-content: center;
  gap: 1rem; flex-wrap: wrap;
}
.legal-infographic__step { text-align: center; max-width: 160px; position: relative; }
.legal-infographic__step-icon {
  width: 56px; height: 56px; border-radius: 50%;
  background: rgba(255,255,255,0.1);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem; margin: 0 auto 0.75rem;
  border: 2px solid rgba(255,255,255,0.15);
}
.legal-infographic__step-num {
  position: absolute; top: -4px; right: calc(50% - 38px);
  width: 20px; height: 20px; border-radius: 50%; background: var(--c-red);
  font-size: 0.65rem; font-weight: 700;
  display: flex; align-items: center; justify-content: center; color: white;
}
.legal-infographic__step p {
  font-size: var(--fs-xs); line-height: 1.5;
  color: rgba(255,255,255,0.75); margin: 0;
}
.legal-infographic__arrow {
  font-size: 1.4rem; color: var(--c-gold);
  padding-top: 1rem; flex-shrink: 0;
}

/* ---------- LEGAL TABLE ---------- */
.legal-table-wrap {
  overflow-x: auto; margin-top: 1.5rem;
  border-radius: 12px; border: 1px solid var(--c-gray-200);
}
.legal-table { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); }
.legal-table thead { background: var(--c-navy); color: var(--c-white); }
.legal-table th {
  padding: 0.9rem 1rem; font-family: var(--ff-heading); font-weight: 600;
  text-align: left; font-size: var(--fs-xs);
  text-transform: uppercase; letter-spacing: 0.08em; white-space: nowrap;
}
.legal-table td {
  padding: 0.8rem 1rem; border-bottom: 1px solid var(--c-gray-100);
  vertical-align: top;
}
.legal-table tbody tr:last-child td { border-bottom: none; }
.legal-table tbody tr:hover { background: var(--c-gray-50); }
.legal-table code {
  background: var(--c-gray-100); padding: 0.15rem 0.4rem;
  border-radius: 4px; font-size: 0.8em;
}
.legal-table a { color: var(--c-red); text-decoration: none; font-weight: 600; }
.legal-table a:hover { text-decoration: underline; }

/* ---------- BROWSER GUIDE ---------- */
.legal-browser-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem; margin-top: 1.5rem;
}
.legal-browser-card {
  display: flex; flex-direction: column; align-items: center; gap: 0.5rem;
  padding: 1.5rem 1rem; background: var(--c-surface);
  border: 1px solid var(--c-gray-200); border-radius: 12px;
  text-decoration: none; color: var(--c-text); text-align: center;
  transition: transform 0.3s cubic-bezier(0.16,1,0.3,1), border-color 0.3s, box-shadow 0.3s;
}
.legal-browser-card:hover {
  transform: translateY(-3px); border-color: var(--c-red);
  box-shadow: 0 6px 20px rgba(0,0,0,0.06);
}
.legal-browser-card__icon { font-size: 2rem; }
.legal-browser-card__name {
  font-family: var(--ff-heading); font-weight: 700; font-size: var(--fs-base);
}
.legal-browser-card__hint { font-size: var(--fs-xs); color: var(--c-text-light); }

/* ---------- CALLOUT ---------- */
.legal-callout {
  display: flex; gap: 1rem; align-items: flex-start;
  background: var(--c-surface); border-left: 4px solid var(--c-gold);
  border-radius: 0 12px 12px 0;
  padding: 1.25rem 1.5rem; margin-top: 2rem;
}
.legal-callout--highlight { border-left-color: var(--c-red); background: #FFF5F5; }
.legal-callout__icon { font-size: 1.5rem; flex-shrink: 0; padding-top: 0.1rem; }
.legal-callout__content strong {
  display: block; font-family: var(--ff-heading);
  font-size: var(--fs-base); color: var(--c-navy); margin-bottom: 0.3rem;
}
.legal-callout__content p { font-size: var(--fs-sm); color: var(--c-text); margin: 0; line-height: 1.6; }

/* ---------- RIGHTS GRID ---------- */
.legal-rights-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.25rem; margin-top: 1.5rem;
}
.legal-right-card {
  background: var(--c-surface); border: 1px solid var(--c-gray-200);
  border-radius: 12px; padding: 1.5rem; text-align: center;
  transition: transform 0.3s cubic-bezier(0.16,1,0.3,1), border-color 0.3s;
}
.legal-right-card:hover { transform: translateY(-3px); border-color: var(--c-red); }
.legal-right-card__icon { font-size: 1.8rem; display: block; margin-bottom: 0.75rem; }
.legal-right-card h3 {
  font-family: var(--ff-heading); font-weight: 700;
  font-size: var(--fs-base); color: var(--c-navy); margin: 0 0 0.5rem;
}
.legal-right-card p { font-size: var(--fs-sm); color: var(--c-text-light); margin: 0; line-height: 1.5; }

/* ---------- CONTACT CARD ---------- */
.legal-contact-card {
  background: var(--c-surface); border: 1px solid var(--c-gray-200);
  border-radius: 12px; padding: clamp(1.5rem, 3vw, 2.5rem);
  margin-top: 1.5rem; text-align: center;
}
.legal-contact-card p { font-size: var(--fs-base); color: var(--c-text); max-width: 600px; margin: 0 auto 1.25rem; line-height: 1.7; }
.legal-contact-card__actions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; margin-bottom: 1rem; }
.legal-contact-card__note { font-size: var(--fs-xs); color: var(--c-text-light); margin-bottom: 0; }

/* ---------- ID CARD (privacy - data controller) ---------- */
.legal-id-card {
  background: var(--c-surface); border: 1px solid var(--c-gray-200);
  border-radius: 16px; overflow: hidden; margin-top: 1.5rem;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}
.legal-id-card__header {
  display: flex; align-items: center; gap: 1rem;
  padding: 1.5rem 2rem; background: var(--c-navy); color: var(--c-white);
}
.legal-id-card__avatar { font-size: 2.5rem; }
.legal-id-card__name {
  font-family: var(--ff-heading); font-weight: 700;
  font-size: var(--fs-lg); margin: 0;
}
.legal-id-card__role { font-size: var(--fs-xs); color: rgba(255,255,255,0.7); margin: 0.2rem 0 0; }
.legal-id-card__details { padding: 1.25rem 2rem; }
.legal-id-card__row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 0.65rem 0; border-bottom: 1px solid var(--c-gray-100);
}
.legal-id-card__row:last-child { border-bottom: none; }
.legal-id-card__label {
  font-size: var(--fs-xs); font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.1em; color: var(--c-text-light);
}
.legal-id-card__value { font-size: var(--fs-sm); color: var(--c-text); font-weight: 500; }
.legal-id-card__value a { color: var(--c-red); text-decoration: none; }
.legal-id-card__value a:hover { text-decoration: underline; }

/* ---------- DATA COLLECTION GRID ---------- */
.legal-data-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.25rem; margin-top: 1.5rem;
}
.legal-data-card {
  background: var(--c-surface); border: 1px solid var(--c-gray-200);
  border-radius: 12px; padding: 1.5rem;
  transition: transform 0.3s cubic-bezier(0.16,1,0.3,1), box-shadow 0.3s;
}
.legal-data-card:hover { transform: translateY(-3px); box-shadow: 0 6px 20px rgba(0,0,0,0.06); }
.legal-data-card__header {
  display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem;
}
.legal-data-card__icon { font-size: 1.5rem; }
.legal-data-card__header h3 {
  font-family: var(--ff-heading); font-weight: 700;
  font-size: var(--fs-base); color: var(--c-navy); margin: 0;
}
.legal-data-card ul { list-style: none; padding: 0; margin: 0 0 1rem; }
.legal-data-card li {
  position: relative; padding-left: 1.2rem;
  font-size: var(--fs-sm); color: var(--c-text); line-height: 1.8;
}
.legal-data-card li::before {
  content: '\2022'; position: absolute; left: 0; color: var(--c-red); font-weight: 700;
}
.legal-data-card__basis {
  display: inline-block; font-size: var(--fs-xs); font-weight: 600;
  color: var(--c-text-light); padding: 0.3rem 0.7rem;
  background: var(--c-gray-100); border-radius: 20px;
}

/* ---------- PURPOSE LIST ---------- */
.legal-purpose-list { margin-top: 1.5rem; }
.legal-purpose-item {
  display: flex; gap: 1.25rem; align-items: flex-start;
  padding: 1.25rem 0; border-bottom: 1px solid var(--c-gray-100);
}
.legal-purpose-item:last-child { border-bottom: none; }
.legal-purpose-item__num {
  flex-shrink: 0; width: 36px; height: 36px;
  border-radius: 50%; background: var(--c-red);
  color: var(--c-white); font-family: var(--ff-heading); font-weight: 700;
  font-size: var(--fs-sm);
  display: flex; align-items: center; justify-content: center;
}
.legal-purpose-item h3 {
  font-family: var(--ff-heading); font-weight: 700;
  font-size: var(--fs-base); color: var(--c-navy); margin: 0 0 0.3rem;
}
.legal-purpose-item p {
  font-size: var(--fs-sm); color: var(--c-text-light);
  margin: 0; line-height: 1.65;
}

/* ---------- SECURITY GRID ---------- */
.legal-security-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.25rem; margin-top: 1.5rem;
}
.legal-security-item {
  background: var(--c-surface); border: 1px solid var(--c-gray-200);
  border-radius: 12px; padding: 1.5rem;
  transition: transform 0.3s cubic-bezier(0.16,1,0.3,1);
}
.legal-security-item:hover { transform: translateY(-3px); }
.legal-security-item__icon { font-size: 1.8rem; display: block; margin-bottom: 0.75rem; }
.legal-security-item h3 {
  font-family: var(--ff-heading); font-weight: 700;
  font-size: var(--fs-base); color: var(--c-navy); margin: 0 0 0.4rem;
}
.legal-security-item p {
  font-size: var(--fs-sm); color: var(--c-text-light); margin: 0; line-height: 1.5;
}

/* ---------- DO / DON'T (terms) ---------- */
.legal-do-dont {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem; margin-top: 1.5rem;
}
.legal-do-dont__col {
  background: var(--c-surface); border-radius: 12px;
  padding: clamp(1.5rem, 2.5vw, 2rem);
  border: 2px solid transparent;
}
.legal-do-dont__col--do { border-color: #4CAF50; }
.legal-do-dont__col--dont { border-color: var(--c-red); }
.legal-do-dont__heading {
  display: flex; align-items: center; gap: 0.5rem;
  font-family: var(--ff-heading); font-weight: 700;
  font-size: var(--fs-lg); margin: 0 0 1rem;
}
.legal-do-dont__col--do .legal-do-dont__heading { color: #2E7D32; }
.legal-do-dont__col--dont .legal-do-dont__heading { color: #C62828; }
.legal-do-dont__col ul { list-style: none; padding: 0; margin: 0; }
.legal-do-dont__col li {
  position: relative; padding-left: 1.5rem;
  font-size: var(--fs-sm); color: var(--c-text); line-height: 1.8;
}
.legal-do-dont__col--do li::before { content: '\2713'; position: absolute; left: 0; color: #4CAF50; font-weight: 700; }
.legal-do-dont__col--dont li::before { content: '\2717'; position: absolute; left: 0; color: var(--c-red); font-weight: 700; }

/* ---------- PRINCIPLES (visual summary bar) ---------- */
.legal-principles {
  padding: clamp(2.5rem, 4vw, 4rem) 0;
  background: var(--c-surface);
  border-bottom: 1px solid var(--c-gray-200);
}
.legal-principles__title {
  font-family: var(--ff-heading); font-weight: 800;
  font-size: clamp(1.3rem, 2.5vw, 1.8rem);
  color: var(--c-navy); text-align: center; margin: 0 0 0.5rem;
}
.legal-principles__subtitle {
  font-size: var(--fs-sm); color: var(--c-text-light);
  text-align: center; margin: 0 0 2rem;
}
.legal-principles__grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.5rem;
}
.legal-principle { text-align: center; }
.legal-principle__icon { font-size: 2rem; display: block; margin-bottom: 0.75rem; }
.legal-principle h3 {
  font-family: var(--ff-heading); font-weight: 700;
  font-size: var(--fs-base); color: var(--c-navy); margin: 0 0 0.4rem;
}
.legal-principle p { font-size: var(--fs-sm); color: var(--c-text-light); margin: 0; line-height: 1.5; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 768px) {
  .legal-infographic__flow { flex-direction: column; align-items: center; }
  .legal-infographic__arrow { transform: rotate(90deg); padding: 0; }
  .legal-do-dont { grid-template-columns: 1fr; }
  .legal-toc__nav ol { grid-template-columns: 1fr; }
  .legal-id-card__header { flex-direction: column; text-align: center; }
  .legal-id-card__details { padding: 1rem 1.25rem; }
  .legal-id-card__row { flex-direction: column; gap: 0.2rem; }
}
@media (max-width: 480px) {
  .legal-cards--4 { grid-template-columns: 1fr; }
  .legal-browser-grid { grid-template-columns: repeat(2, 1fr); }
  .legal-rights-grid { grid-template-columns: 1fr; }
}

/* ==========================================================================
   v5.2.0 — SPECTACULAR REDESIGN ADDITIONS
   ========================================================================== */

/* ---------- SECTION TIGHT (reduced padding) ---------- */
.section--tight { padding: var(--sp-xl) 0 var(--sp-4xl); }

/* ---------- SURVIVAL CARDS: SVG Icon System ---------- */
.survival-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  margin-bottom: var(--sp-lg);
  color: var(--c-red);
  background: linear-gradient(135deg, rgba(230,57,70,.08), rgba(230,57,70,.02));
  border-radius: 50%;
  border: 2px solid rgba(230,57,70,.12);
  transition: all 0.4s cubic-bezier(.4,0,.2,1);
  position: relative;
}
.survival-card__icon::before {
  content: '';
  position: absolute;
  inset: -5px;
  border-radius: 50%;
  border: 1px dashed rgba(230,57,70,.12);
  transition: all 0.4s;
}
.survival-card__icon svg {
  width: 40px;
  height: 40px;
  transition: transform 0.4s cubic-bezier(.4,0,.2,1);
}
.survival-card:hover .survival-card__icon {
  background: linear-gradient(135deg, var(--c-red), var(--c-red-dark));
  color: var(--c-white);
  border-color: var(--c-red);
  transform: scale(1.1);
  box-shadow: 0 10px 30px rgba(230,57,70,.3);
}
.survival-card:hover .survival-card__icon::before { opacity: 0; }
.survival-card:hover .survival-card__icon svg {
  transform: scale(1.1) rotate(-3deg);
}

/* ---------- COMPACT POST: Magazine Card Redesign ---------- */
.compact-post {
  display: grid !important;
  grid-template-columns: 130px 1fr auto;
  gap: var(--sp-lg);
  align-items: center;
  padding: var(--sp-lg);
  background: var(--c-surface);
  border: 1px solid var(--c-gray-100);
  border-radius: var(--radius-xl);
  transition: all 0.35s cubic-bezier(.4,0,.2,1);
  position: relative;
  overflow: hidden;
  margin-bottom: var(--sp-md);
}
.compact-post::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 4px;
  background: linear-gradient(to bottom, var(--c-red), var(--c-gold));
  opacity: 0;
  transition: opacity 0.3s;
}
.compact-post:first-child::before { background: var(--c-red); }
.compact-post:hover {
  border-color: var(--c-gray-200);
  box-shadow: 0 8px 32px rgba(13,27,42,.08), 0 2px 8px rgba(13,27,42,.04);
  transform: translateY(-3px);
}
.compact-post:hover::before { opacity: 1; }
.compact-post__img {
  width: 130px !important;
  min-width: 130px !important;
  aspect-ratio: 4/3;
  border-radius: var(--radius-lg);
  overflow: hidden;
  position: relative;
}
.compact-post__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s cubic-bezier(.4,0,.2,1);
}
.compact-post:hover .compact-post__img img {
  transform: scale(1.08);
}
.compact-post__cat {
  display: inline-block;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--c-red);
  margin-bottom: 4px;
  text-decoration: none;
}
.compact-post__title {
  font-family: var(--ff-heading);
  font-size: var(--fs-base) !important;
  font-weight: 800 !important;
  line-height: var(--lh-snug);
  margin-bottom: 6px;
}
.compact-post__excerpt {
  font-size: var(--fs-sm) !important;
  color: var(--c-text-light);
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.compact-post__meta {
  font-size: var(--fs-xs);
  color: var(--c-gray-400);
  display: flex;
  align-items: center;
  gap: var(--sp-sm);
  margin-top: 6px;
}
.compact-post__arrow {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--c-gray-50);
  border-radius: 50%;
  color: var(--c-gray-400);
  transition: all 0.3s;
  flex-shrink: 0;
}
.compact-post:hover .compact-post__arrow {
  background: var(--c-red);
  color: var(--c-white);
  transform: translateX(2px);
}
@media (max-width: 640px) {
  .compact-post { grid-template-columns: 90px 1fr auto; gap: var(--sp-md); padding: var(--sp-md); }
  .compact-post__img { width: 90px !important; min-width: 90px !important; }
}

/* ---------- ARTICLE SHARE BAR: Spectacular ---------- */
.article-share-bar {
  margin-bottom: var(--sp-2xl);
  background: transparent !important;
  padding: 0 !important;
}
.article-share-bar__inner {
  background: linear-gradient(135deg, #fafafa 0%, #f5f0e8 100%);
  border: 1px solid var(--c-gray-200);
  border-radius: var(--radius-xl);
  padding: var(--sp-xl) var(--sp-2xl);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-xl);
}
.article-share-bar__header {
  display: flex;
  align-items: center;
  gap: var(--sp-md);
}
.article-share-bar__icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--c-navy) 0%, var(--usa-blue) 100%);
  color: var(--c-white);
  border-radius: var(--radius-lg);
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(13,27,42,.2);
}
.article-share-bar__icon::before {
  content: '';
  position: absolute;
  inset: 2px;
  border-radius: calc(var(--radius-lg) - 2px);
  border: 1px dashed rgba(255,255,255,.15);
}
.article-share-bar__icon::after {
  content: '';
  position: absolute;
  top: -50%; left: -50%;
  width: 200%; height: 200%;
  background: conic-gradient(from 0deg, transparent, rgba(255,255,255,.1), transparent);
  animation: shareIconSpin 4s linear infinite;
}
@keyframes shareIconSpin { to { transform: rotate(360deg); } }
.article-share-bar__icon svg {
  position: relative;
  z-index: 1;
}
.article-share-bar__label {
  font-family: var(--ff-heading) !important;
  font-size: var(--fs-base) !important;
  font-weight: 800 !important;
  color: var(--c-navy);
  display: block;
}
.article-share-bar__sublabel {
  font-size: var(--fs-xs);
  color: var(--c-text-light);
  display: block;
}
.article-share-bar__buttons {
  display: flex;
  gap: var(--sp-sm);
}
.share-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0.6em 1.1em;
  border-radius: 100px;
  font-size: var(--fs-xs);
  font-weight: 600;
  font-family: var(--ff-body);
  text-decoration: none;
  border: 2px solid transparent;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(.4,0,.2,1);
}
.share-btn span { white-space: nowrap; }
.share-btn--whatsapp {
  background: #e8f5e9;
  color: #25d366;
  border-color: #c8e6c9;
}
.share-btn--whatsapp:hover {
  background: #25d366;
  color: #fff;
  border-color: #25d366;
  box-shadow: 0 4px 16px rgba(37,211,102,.3);
  transform: translateY(-2px);
}
.share-btn--twitter {
  background: #e8f4fd;
  color: #1da1f2;
  border-color: #bbdefb;
}
.share-btn--twitter:hover {
  background: #1da1f2;
  color: #fff;
  border-color: #1da1f2;
  box-shadow: 0 4px 16px rgba(29,161,242,.3);
  transform: translateY(-2px);
}
.share-btn--facebook {
  background: #e8eaf6;
  color: #1877f2;
  border-color: #c5cae9;
}
.share-btn--facebook:hover {
  background: #1877f2;
  color: #fff;
  border-color: #1877f2;
  box-shadow: 0 4px 16px rgba(24,119,242,.3);
  transform: translateY(-2px);
}
.share-btn--copy {
  background: var(--c-gray-100);
  color: var(--c-gray-600);
  border-color: var(--c-gray-200);
}
.share-btn--copy:hover {
  background: var(--c-navy);
  color: #fff;
  border-color: var(--c-navy);
  transform: translateY(-2px);
}
@media (max-width: 768px) {
  .article-share-bar__inner { flex-direction: column; text-align: center; padding: var(--sp-lg); }
  .article-share-bar__buttons { flex-wrap: wrap; justify-content: center; }
  .share-btn span { display: none; }
  .share-btn { padding: 0.75em; }
}

/* ---------- SIDEBAR SHARE SOCIAL ---------- */
.sidebar-share-social__buttons {
  display: flex;
  gap: var(--sp-sm);
  padding: var(--sp-md) var(--sp-lg);
}
.sidebar-share-social__btn {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-lg);
  text-decoration: none;
  transition: all 0.3s;
  border: 2px solid;
}
.sidebar-share-social__btn--whatsapp {
  background: #e8f5e9;
  color: #25d366;
  border-color: #c8e6c9;
}
.sidebar-share-social__btn--whatsapp:hover {
  background: #25d366;
  color: #fff;
  border-color: #25d366;
}
.sidebar-share-social__btn--twitter {
  background: #e8f4fd;
  color: #1da1f2;
  border-color: #bbdefb;
}
.sidebar-share-social__btn--twitter:hover {
  background: #1da1f2;
  color: #fff;
  border-color: #1da1f2;
}
.sidebar-share-social__btn--facebook {
  background: #e8eaf6;
  color: #1877f2;
  border-color: #c5cae9;
}
.sidebar-share-social__btn--facebook:hover {
  background: #1877f2;
  color: #fff;
  border-color: #1877f2;
}

/* ---------- ARTICLE NEWSLETTER V2: Spectacular ---------- */
.article-newsletter-v2 {
  position: relative;
  margin-bottom: var(--sp-3xl);
  border-radius: var(--radius-xl);
  overflow: hidden;
  background: linear-gradient(150deg, var(--usa-blue) 0%, #1a1940 40%, var(--c-navy-deep) 100%);
}
.article-newsletter-v2__bg {
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 20% 80%, rgba(230,57,70,.1) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, rgba(212,168,85,.08) 0%, transparent 50%),
    repeating-linear-gradient(0deg, transparent, transparent 40px, rgba(255,255,255,.015) 40px, rgba(255,255,255,.015) 41px),
    repeating-linear-gradient(90deg, transparent, transparent 40px, rgba(255,255,255,.015) 40px, rgba(255,255,255,.015) 41px);
}
.article-newsletter-v2__glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
  pointer-events: none;
}
.article-newsletter-v2__glow--1 {
  width: 200px; height: 200px;
  background: rgba(230,57,70,.12);
  top: -60px; right: -40px;
}
.article-newsletter-v2__glow--2 {
  width: 150px; height: 150px;
  background: rgba(212,168,85,.1);
  bottom: -40px; left: -30px;
}
.article-newsletter-v2__content {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: var(--sp-3xl) var(--sp-2xl);
}
.article-newsletter-v2__badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 100px;
  padding: 6px 14px;
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--c-gold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: var(--sp-lg);
  backdrop-filter: blur(8px);
}
.article-newsletter-v2__title {
  font-family: var(--ff-heading);
  font-size: var(--fs-xl);
  font-weight: 900;
  color: var(--c-white);
  margin-bottom: var(--sp-md);
  line-height: var(--lh-snug);
}
.article-newsletter-v2__desc {
  font-size: var(--fs-sm);
  color: rgba(255,255,255,.55);
  max-width: 500px;
  margin-inline: auto;
  margin-bottom: var(--sp-xl);
  line-height: var(--lh-body);
}
.article-newsletter-v2__form-wrap .mc4wp-form input[type="email"] {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  color: #fff;
  border-radius: 100px;
  padding: 0.75em 1.25em;
}
.article-newsletter-v2__form-wrap .mc4wp-form input[type="email"]::placeholder { color: rgba(255,255,255,.35); }
.article-newsletter-v2__form-wrap .mc4wp-form input[type="submit"],
.article-newsletter-v2__form-wrap .mc4wp-form button {
  background: var(--c-red);
  color: #fff;
  border: none;
  border-radius: 100px;
  padding: 0.75em 1.5em;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s;
}
.article-newsletter-v2__form-wrap .mc4wp-form input[type="submit"]:hover,
.article-newsletter-v2__form-wrap .mc4wp-form button:hover {
  background: var(--c-red-dark);
  transform: translateY(-1px);
}
.article-newsletter-v2__trust {
  display: flex;
  justify-content: center;
  gap: var(--sp-lg);
  margin-top: var(--sp-lg);
  font-size: var(--fs-xs);
  color: rgba(255,255,255,.35);
}
.article-newsletter-v2__trust span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* ---------- ESSENTIAL LINKS: Infographic Cards ---------- */
.widget-essential-links ul {
  list-style: none !important;
  padding: var(--sp-md) var(--sp-lg) var(--sp-lg) !important;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-sm);
}
.widget-essential-links li a {
  display: flex !important;
  align-items: center;
  gap: var(--sp-md);
  padding: var(--sp-md) !important;
  background: var(--c-gray-50);
  border-radius: var(--radius-lg) !important;
  border: 1px solid var(--c-gray-100) !important;
  border-bottom: 1px solid var(--c-gray-100) !important;
  font-size: var(--fs-sm);
  color: var(--c-text);
  transition: all 0.3s cubic-bezier(.4,0,.2,1);
  position: relative;
  overflow: hidden;
}
.widget-essential-links li a::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--c-red);
  opacity: 0;
  transition: opacity 0.3s;
}
.widget-essential-links li a:hover {
  background: var(--c-white);
  border-color: var(--c-gray-200) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.06);
  transform: translateX(4px);
  color: var(--c-navy);
}
.widget-essential-links li a:hover::before { opacity: 1; }
.widget-essential-links li a svg {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  padding: 5px;
  background: rgba(230,57,70,.08);
  border-radius: var(--radius);
  color: var(--c-red);
  transition: all 0.3s;
}
.widget-essential-links li a:hover svg {
  background: var(--c-red);
  color: var(--c-white);
}

/* ---------- ABOUT HERO: Polaroid ---------- */
.about-hero__polaroid {
  position: relative;
  max-width: 320px;
  margin-left: auto;
  transform: rotate(3deg);
  transition: transform 0.5s cubic-bezier(.4,0,.2,1);
}
.about-hero__polaroid:hover {
  transform: rotate(0deg) scale(1.02);
}
.about-hero__polaroid-frame {
  background: #fff;
  padding: 12px 12px 0 12px;
  border-radius: 2px;
  box-shadow:
    0 4px 8px rgba(0,0,0,.15),
    0 16px 48px rgba(0,0,0,.2),
    inset 0 0 0 1px rgba(0,0,0,.05);
}
.about-hero__polaroid-img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  display: block;
  filter: contrast(1.05) saturate(0.95);
}
.about-hero__polaroid-caption {
  background: #fff;
  padding: 14px 12px 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.about-hero__polaroid-text {
  font-family: 'Outfit', sans-serif;
  font-size: 0.8rem;
  font-weight: 500;
  color: #333;
  font-style: italic;
}
.about-hero__polaroid-date {
  font-size: 0.7rem;
  color: #999;
}
.about-hero__polaroid-tape {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%) rotate(-2deg);
  width: 80px;
  height: 28px;
  background: rgba(255,235,180,.65);
  border-radius: 1px;
  box-shadow: 0 1px 3px rgba(0,0,0,.1);
}
@media (max-width: 768px) {
  .about-hero__polaroid { max-width: 240px; margin: 0 auto; transform: rotate(2deg); }
}

/* ---------- X PROFILE CARD: Show by default ---------- */
.footer__xcard {
  display: flex !important;
  flex-direction: column;
}

/* ==========================================================================
   v5.2.2 — FIXES & POLISH
   ========================================================================== */

/* ---------- SIDEBAR SHARE: Integrated in progress panel ---------- */
.sidebar-progress__share {
  margin-top: var(--sp-sm);
  padding-top: var(--sp-sm);
  border-top: 1px solid var(--c-gray-100);
}
.sidebar-progress__share-label {
  display: block;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--c-gray-400);
  margin-bottom: var(--sp-xs);
  text-align: center;
}
.sidebar-progress__share-btns {
  display: flex;
  justify-content: center;
  gap: var(--sp-sm);
}
.sidebar-share-btn {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(.4,0,.2,1);
}
.sidebar-share-btn--wa { background: #e8f5e9; color: #25d366; }
.sidebar-share-btn--wa:hover { background: #25d366; color: #fff; transform: scale(1.1); box-shadow: 0 4px 12px rgba(37,211,102,.3); }
.sidebar-share-btn--tw { background: #e3f2fd; color: #1da1f2; }
.sidebar-share-btn--tw:hover { background: #1da1f2; color: #fff; transform: scale(1.1); box-shadow: 0 4px 12px rgba(29,161,242,.3); }
.sidebar-share-btn--fb { background: #e8eaf6; color: #1877f2; }
.sidebar-share-btn--fb:hover { background: #1877f2; color: #fff; transform: scale(1.1); box-shadow: 0 4px 12px rgba(24,119,242,.3); }

/* ---------- ESSENTIAL LINKS: Better icons with bg ---------- */
.widget-essential-links li a {
  display: flex !important;
  align-items: center;
  gap: var(--sp-sm);
}
.widget-essential-links li a svg {
  width: 32px !important;
  height: 32px !important;
  padding: 7px;
  background: var(--c-gray-50);
  border-radius: var(--radius);
  border: 1px solid var(--c-gray-100);
  transition: all 0.3s;
  flex-shrink: 0;
}
.widget-essential-links li a:hover svg {
  background: var(--usa-blue);
  border-color: var(--usa-blue);
  color: var(--c-white);
}

/* ==========================================================================
   v1.0.1 — MOBILE RESPONSIVE FIXES & POLISH
   Comprehensive audit: every component tested 320px–768px
   ========================================================================== */

/* ---------- GLOBAL MOBILE FIXES ---------- */

/* Prevent horizontal overflow globally */
body { overflow-x: clip; }

/* Remove sticky hover on touch devices */
@media (hover: none) and (pointer: coarse) {
  .card:hover,
  .compact-post:hover,
  .featured-card:hover,
  .step-card:hover,
  .pilar-tile:hover,
  .survival-card:hover,
  .trending-item:hover,
  .about-shock-card:hover,
  .about-value-card:hover,
  .about-why__reason:hover,
  .legal-card:hover,
  .subs-benefit:hover,
  .start-step:hover,
  .widget-resource-card:hover {
    transform: none !important;
    box-shadow: inherit !important;
  }
  .featured-card:hover .featured-card__img img { transform: none; }
  .hero__featured { animation: none !important; }
}

/* Minimum tap target size for accessibility */
@media (max-width: 768px) {
  .main-nav a,
  .header-socials a,
  .footer__social a,
  .share-btn,
  .sidebar-share-btn,
  .back-to-top,
  .pagination a,
  .pagination span {
    min-height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

/* ---------- HEADER MOBILE ---------- */
@media (max-width: 768px) {
  .site-header__inner {
    padding-block: var(--sp-sm);
    gap: var(--sp-sm);
  }
  .header-socials {
    gap: 2px;
    min-width: auto;
  }
  .header-socials a {
    width: 36px;
    height: 36px;
  }
  .nav-toggle {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    order: -1;
  }
  .main-nav {
    top: 0;
    padding-top: 70px;
    background: var(--c-white);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .main-nav a {
    padding: var(--sp-md) var(--sp-lg);
    font-size: var(--fs-base);
    min-height: 48px;
    display: flex;
    align-items: center;
  }
  .main-nav .sub-menu {
    border-radius: 0;
    box-shadow: none;
    border: none;
    padding-left: var(--sp-xl);
    background: var(--c-gray-50);
  }
  .main-nav .sub-menu a {
    font-size: var(--fs-sm);
    padding: var(--sp-sm) var(--sp-md);
  }
  /* Body scroll lock when nav is open */
  body.nav-open { overflow: hidden; }
}

/* ---------- SITE BRANDING MOBILE ---------- */
@media (max-width: 768px) {
  .site-branding {
    padding: var(--sp-xl) 0 var(--sp-lg);
  }
  .site-branding__logo img {
    max-height: 80px;
    margin-bottom: var(--sp-md);
  }
  .site-branding__title {
    font-size: clamp(1.6rem, 1.2rem + 2vw, 2.2rem);
  }
  .site-branding__tagline {
    font-size: 0.6rem;
    letter-spacing: 0.1em;
    padding: 0 var(--sp-md);
  }
}

/* ---------- HERO MOBILE ---------- */
@media (max-width: 768px) {
  .hero {
    min-height: auto;
    padding: var(--sp-2xl) 0 var(--sp-3xl);
  }
  .hero__grid {
    grid-template-columns: 1fr;
    gap: var(--sp-xl);
    text-align: center;
  }
  .hero__content { text-align: center; }
  .hero__micro-label {
    justify-content: center;
    font-size: 0.6rem;
  }
  .hero__title {
    font-size: clamp(1.6rem, 1.2rem + 3vw, 2.4rem);
    margin-bottom: var(--sp-md);
  }
  .hero__title em { display: inline; }
  .hero__title-stripe {
    margin-inline: auto;
    max-width: 60px;
  }
  .hero__subtitle {
    font-size: var(--fs-sm);
    margin-inline: auto;
    margin-bottom: var(--sp-lg);
    max-width: 100%;
  }
  .hero__chips {
    justify-content: center;
    gap: var(--sp-xs);
    margin-bottom: var(--sp-lg);
  }
  .topic-chip {
    font-size: 0.6rem;
    padding: 0.35em 0.8em;
  }
  .hero__ctas {
    justify-content: center;
    flex-direction: column;
    align-items: center;
  }
  .hero__ctas .btn {
    width: 100%;
    max-width: 300px;
    justify-content: center;
  }
  .hero__trust-signals {
    justify-content: center;
    gap: var(--sp-md);
    margin-top: var(--sp-lg);
  }
  .hero__trust-item { font-size: 0.6rem; }
  .hero__featured {
    max-width: 100%;
    margin-inline: auto;
    animation: none;
  }
  .hero__glow--1,
  .hero__glow--2,
  .hero__glow--3 {
    display: none;
  }
  .hero__diagonal { height: 50px; }
  .stamp-watermark,
  .stamp--hero,
  .hero__issue-number,
  .hero__particles,
  .hero__accent-lines { display: none; }
}

/* ---------- FEATURED CARD MOBILE ---------- */
@media (max-width: 768px) {
  .featured-card {
    border-radius: var(--radius-xl);
  }
  .featured-card__body {
    padding: var(--sp-lg);
  }
  .featured-card__title {
    font-size: var(--fs-base);
  }
  .featured-card__excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .featured-card__meta-rail { display: none; }
  .featured-card__badge {
    top: var(--sp-md);
    left: var(--sp-md);
    font-size: 0.6rem;
    padding: 0.3em 0.8em;
  }
}

/* ---------- TRUST STRIP MOBILE ---------- */
@media (max-width: 768px) {
  .trust-strip {
    padding: var(--sp-md) 0;
  }
  .trust-strip__grid {
    grid-template-columns: 1fr;
    gap: var(--sp-sm);
  }
  .trust-strip__item {
    padding: var(--sp-md);
    gap: var(--sp-sm);
  }
  .trust-strip__icon {
    width: 40px;
    height: 40px;
  }
  .trust-strip__label { font-size: var(--fs-xs); }
  .trust-strip__desc { font-size: 0.65rem; }
}

/* ---------- MODULE: EMPIEZA POR AQUÍ MOBILE ---------- */
@media (max-width: 768px) {
  .module-start {
    padding: var(--sp-3xl) 0 var(--sp-2xl);
  }
  .module-start__header {
    margin-bottom: var(--sp-xl);
  }
  .module-start__title {
    font-size: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  }
  .module-start__subtitle {
    font-size: var(--fs-sm);
  }
  .module-start__grid {
    grid-template-columns: 1fr;
    max-width: 100%;
    gap: var(--sp-md);
  }
  .step-card {
    padding: var(--sp-xl) var(--sp-lg) var(--sp-lg);
  }
  .step-card__number {
    width: 56px;
    height: 56px;
    font-size: var(--fs-base);
  }
  .step-card__title { font-size: var(--fs-base); }
}

/* ---------- MODULE: PILARES MOBILE ---------- */
@media (max-width: 768px) {
  .module-pilares__grid {
    grid-template-columns: 1fr;
    gap: var(--sp-md);
  }
  .pilar-tile {
    min-height: 200px;
    padding: var(--sp-xl) var(--sp-lg);
  }
  .pilar-tile__title { font-size: var(--fs-lg); }
}

/* ---------- MODULE: TRENDING MOBILE ---------- */
@media (max-width: 768px) {
  .trending-item {
    gap: var(--sp-md);
    padding: var(--sp-md) var(--sp-sm);
  }
  .trending-item__rank {
    font-size: var(--fs-lg);
    min-width: 40px;
  }
  .trending-item__img {
    width: 48px;
    height: 48px;
  }
}

/* ---------- SURVIVAL CARDS MOBILE ---------- */
@media (max-width: 480px) {
  .module-survival__grid {
    grid-template-columns: 1fr;
    gap: var(--sp-md);
  }
  .survival-card {
    padding: var(--sp-xl) var(--sp-lg) var(--sp-lg);
  }
  .survival-card__icon {
    width: 64px;
    height: 64px;
  }
  .survival-card__icon svg {
    width: 32px;
    height: 32px;
  }
}

/* ---------- MODULE: NEWSLETTER MOBILE ---------- */
@media (max-width: 768px) {
  .module-newsletter {
    padding: var(--sp-3xl) 0;
  }
  .module-newsletter__title {
    font-size: clamp(1.4rem, 1.1rem + 1.5vw, 2rem);
  }
  .module-newsletter__desc {
    font-size: var(--fs-sm);
  }
  .module-newsletter__input-group {
    flex-direction: column;
    padding: 0 var(--sp-sm);
  }
  .module-newsletter__trust {
    flex-direction: column;
    align-items: center;
    gap: var(--sp-sm);
  }
}

/* ---------- CARDS MOBILE ---------- */
@media (max-width: 640px) {
  .posts-medium-grid {
    grid-template-columns: 1fr;
    gap: var(--sp-md);
  }
  .card__body {
    padding: var(--sp-md);
  }
  .card__title { font-size: var(--fs-base); }
  .archive-grid {
    grid-template-columns: 1fr;
    gap: var(--sp-md);
  }
}

/* ---------- COMPACT POSTS MOBILE ---------- */
@media (max-width: 480px) {
  .compact-post {
    grid-template-columns: 80px 1fr !important;
    gap: var(--sp-sm) !important;
    padding: var(--sp-sm) !important;
  }
  .compact-post__img {
    width: 80px !important;
    min-width: 80px !important;
  }
  .compact-post__title {
    font-size: var(--fs-sm) !important;
  }
  .compact-post__excerpt { display: none; }
  .compact-post__arrow { display: none; }
}

/* ---------- POST HERO TILE MOBILE ---------- */
@media (max-width: 768px) {
  .post-hero-tile__overlay {
    padding: var(--sp-lg);
  }
  .post-hero-tile__title {
    font-size: var(--fs-lg);
  }
  .post-hero-tile__excerpt { display: none; }
}

/* ---------- SIDEBAR MOBILE ---------- */
@media (max-width: 1024px) {
  .sidebar {
    gap: var(--sp-lg);
  }
  .widget {
    border-radius: var(--radius-lg);
  }
  .widget-popular__list {
    padding: 0 var(--sp-md) var(--sp-md);
  }
  .widget-resources__grid {
    grid-template-columns: 1fr;
  }
}

/* ---------- SINGLE POST MOBILE ---------- */
@media (max-width: 768px) {
  .single-hero {
    min-height: 35vh;
  }
  .single-hero__title {
    font-size: clamp(1.4rem, 1.1rem + 2vw, 2rem);
  }
  .single-hero__content {
    padding: var(--sp-2xl) 0 var(--sp-xl);
  }
  .single-hero__meta {
    flex-wrap: wrap;
    gap: var(--sp-sm);
  }
  .post-content {
    padding: 0 var(--sp-md);
  }
  .post-content h2 {
    font-size: var(--fs-lg);
    margin: var(--sp-2xl) 0 var(--sp-md);
  }
  .post-content h3 {
    font-size: var(--fs-md);
    margin: var(--sp-xl) 0 var(--sp-md);
  }
  .post-content > p:first-of-type::first-letter {
    font-size: clamp(2.5rem, 2rem + 1.5vw, 3.5rem);
  }
  .post-content blockquote {
    padding: var(--sp-md) var(--sp-lg);
    margin: var(--sp-lg) 0;
  }
  .post-content pre {
    padding: var(--sp-md);
    font-size: 0.8rem;
    border-radius: var(--radius);
  }
  .toc {
    margin: var(--sp-lg) var(--sp-md);
  }
  .author-box {
    flex-direction: column;
    text-align: center;
    align-items: center;
    padding: var(--sp-lg);
  }
  .post-nav {
    grid-template-columns: 1fr;
    gap: var(--sp-md);
  }
  .post-nav__item--next {
    flex-direction: row;
    text-align: left;
  }
  .related-posts__grid {
    grid-template-columns: 1fr;
    gap: var(--sp-md);
  }
}

/* ---------- ARTICLE SHARE BAR MOBILE ---------- */
@media (max-width: 768px) {
  .article-share-bar__inner {
    flex-direction: column;
    text-align: center;
    padding: var(--sp-lg);
    gap: var(--sp-md);
  }
  .article-share-bar__buttons {
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--sp-xs);
  }
  .share-btn {
    padding: 0.6em 0.8em;
    min-width: 44px;
    min-height: 44px;
  }
}
@media (max-width: 480px) {
  .share-btn span { display: none; }
  .share-btn { 
    padding: 0.7em;
    border-radius: 50%;
  }
}

/* ---------- COMMENTS MOBILE ---------- */
@media (max-width: 768px) {
  .comment-form__row {
    grid-template-columns: 1fr;
  }
  .comment-form-wrapper {
    padding: var(--sp-lg);
  }
  .comment-body {
    padding: var(--sp-md);
  }
  .comment-list .comment .children {
    padding-left: var(--sp-md);
  }
  .comment-respond {
    padding-top: var(--sp-lg);
  }
  .comment-respond .comment-reply-title {
    font-size: var(--fs-md);
  }
}

/* ---------- SEARCH OVERLAY MOBILE ---------- */
@media (max-width: 768px) {
  .search-overlay {
    padding-top: 2vh;
  }
  .search-overlay__panel {
    width: 96%;
    max-width: 100%;
    border-radius: var(--radius-lg);
  }
  .search-overlay__form {
    padding: var(--sp-md);
    gap: var(--sp-sm);
  }
  .search-overlay__form input {
    font-size: var(--fs-sm);
  }
  .search-overlay__kbd { display: none; }
  .search-overlay__recent {
    padding: var(--sp-md);
    max-height: 50vh;
  }
}

/* ---------- FOOTER MOBILE ---------- */
@media (max-width: 768px) {
  .footer__main {
    padding: var(--sp-2xl) 0 var(--sp-xl);
  }
  .footer__grid {
    grid-template-columns: 1fr;
    gap: var(--sp-xl);
  }
  .footer__about-stats {
    justify-content: center;
  }
  .footer__social {
    justify-content: center;
  }
  .footer__search-form {
    max-width: 100%;
  }
  .footer__bottom-inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--sp-md);
  }
  .footer__legal {
    justify-content: center;
  }
  .footer__xcard {
    margin-bottom: var(--sp-lg);
  }
}

/* ---------- PAGINATION MOBILE ---------- */
@media (max-width: 480px) {
  .pagination {
    gap: var(--sp-xs);
  }
  .pagination a, .pagination span {
    min-width: 40px;
    height: 40px;
    font-size: var(--fs-xs);
  }
}

/* ---------- ABOUT PAGE MOBILE ---------- */
@media (max-width: 768px) {
  .about-hero {
    padding: var(--sp-2xl) 0;
  }
  .about-hero__grid {
    grid-template-columns: 1fr;
    gap: var(--sp-xl);
    text-align: center;
  }
  .about-hero__title {
    font-size: clamp(1.4rem, 1.1rem + 2vw, 2rem);
  }
  .about-hero__polaroid {
    max-width: 200px;
    margin: 0 auto;
  }
  .about-timeline {
    padding-left: 36px;
  }
  .about-timeline::before {
    left: 15px;
  }
  .about-timeline__marker {
    left: -32px;
    width: 30px;
    height: 30px;
  }
  .about-timeline__card {
    padding: var(--sp-lg);
  }
  .about-why__grid {
    grid-template-columns: 1fr;
    gap: var(--sp-xl);
  }
  .about-why__reason {
    padding: var(--sp-md);
  }
  .about-shocks__grid {
    grid-template-columns: 1fr;
    gap: var(--sp-md);
  }
  .about-shock-card {
    padding: var(--sp-lg);
  }
  .about-cta__buttons {
    flex-direction: column;
    align-items: center;
  }
  .about-cta__title {
    font-size: clamp(1.3rem, 1rem + 1.5vw, 2rem);
  }
}

/* ---------- CONTACT PAGE MOBILE ---------- */
@media (max-width: 768px) {
  .contact-hero {
    padding: var(--sp-2xl) 0 var(--sp-xl);
  }
  .contact-hero__title {
    font-size: clamp(1.4rem, 1.1rem + 2vw, 2.2rem);
  }
  .contact-main > .container {
    grid-template-columns: 1fr;
    gap: var(--sp-xl);
  }
  .contact-letter__paper {
    padding: var(--sp-lg) var(--sp-md);
  }
  .contact-letter__paper::after { display: none; }
  .contact-letter__header {
    flex-direction: column;
    gap: var(--sp-md);
    align-items: flex-start;
  }
  .contact-letter__stamp {
    width: 56px;
    height: 56px;
  }
  .contact-letter__to, .contact-letter__date {
    text-align: left;
  }
  .contact-info__card {
    position: static;
  }
}

/* ---------- EMPIEZA AQUÍ PAGE MOBILE ---------- */
@media (max-width: 768px) {
  .start-hero__title {
    font-size: clamp(1.4rem, 1.1rem + 2vw, 2.2rem);
  }
  .start-hero__stats {
    flex-direction: column;
    gap: var(--sp-md);
  }
  .start-steps-grid {
    grid-template-columns: 1fr;
    gap: var(--sp-md);
  }
  .start-checklist {
    grid-template-columns: 1fr;
  }
  .start-cta__buttons {
    flex-direction: column;
    align-items: center;
  }
}

/* ---------- SUBSCRIPTIONS PAGE MOBILE ---------- */
@media (max-width: 768px) {
  .subs-hero__title {
    font-size: clamp(1.4rem, 1.1rem + 2vw, 2.2rem);
  }
  .subs-benefits__grid {
    grid-template-columns: 1fr;
  }
  .subs-faq__grid {
    grid-template-columns: 1fr;
  }
  .subs-form-card--subscribe .mc4wp-form {
    flex-direction: column;
  }
  .subs-unsub-form__row {
    flex-direction: column;
  }
}

/* ---------- LEGAL PAGES MOBILE ---------- */
@media (max-width: 768px) {
  .legal-hero__title {
    font-size: clamp(1.5rem, 1.1rem + 2vw, 2.4rem);
  }
  .legal-hero__subtitle {
    font-size: var(--fs-sm);
  }
  .legal-section__header {
    flex-direction: column;
    gap: var(--sp-sm);
  }
  .legal-table-wrap {
    margin: var(--sp-md) calc(-1 * var(--sp-md));
    border-radius: 0;
  }
  .legal-id-card__header {
    flex-direction: column;
    text-align: center;
  }
  .legal-id-card__details {
    padding: var(--sp-md);
  }
  .legal-id-card__row {
    flex-direction: column;
    gap: 2px;
  }
  .legal-infographic__flow {
    flex-direction: column;
    align-items: center;
  }
  .legal-infographic__arrow {
    transform: rotate(90deg);
  }
}

/* ---------- CHANGELOG MOBILE ---------- */
@media (max-width: 768px) {
  .changelog-page__title {
    font-size: clamp(1.4rem, 1.1rem + 1.5vw, 2rem);
  }
  .changelog-timeline {
    padding-left: var(--sp-xl);
  }
  .changelog-entry__header {
    flex-direction: column;
  }
  .changelog-entry__content {
    padding: var(--sp-lg);
  }
}

/* ---------- BACK TO TOP MOBILE ---------- */
@media (max-width: 768px) {
  .back-to-top {
    bottom: var(--sp-lg);
    right: var(--sp-lg);
    width: 44px;
    height: 44px;
  }
}

/* ---------- ARCHIVE MOBILE ---------- */
@media (max-width: 768px) {
  .archive-header {
    padding: var(--sp-2xl) 0 var(--sp-lg);
  }
  .archive-header__title {
    font-size: clamp(1.4rem, 1.1rem + 2vw, 2.2rem);
  }
}

/* ---------- 404 PAGE MOBILE ---------- */
@media (max-width: 768px) {
  .error-404-content {
    padding: 0 var(--sp-lg);
    margin: var(--sp-2xl) auto;
  }
  .search-form-large {
    flex-direction: column;
    gap: var(--sp-sm);
  }
  .search-form-large input {
    border-radius: 100px;
  }
  .search-form-large button {
    border-radius: 100px;
  }
}

/* ---------- LINE HEIGHT / READABILITY ---------- */
@media (max-width: 768px) {
  body {
    line-height: 1.75;
  }
  .post-content p,
  .post-content li {
    line-height: 1.8;
  }
}

/* ---------- NEWSLETTER WIDGET MOBILE ---------- */
@media (max-width: 768px) {
  .widget-newsletter__content {
    padding: var(--sp-lg);
  }
  .widget-newsletter__heading {
    font-size: var(--fs-base);
  }
  .widget-newsletter__input-wrap {
    flex-direction: column;
    border-radius: var(--radius-lg);
  }
  .widget-newsletter__input-wrap input {
    border-radius: var(--radius-lg) var(--radius-lg) 0 0 !important;
    padding: 0.75em var(--sp-md) !important;
  }
  .widget-newsletter__input-wrap button {
    width: 100%;
    height: 44px;
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  }
}

/* ---------- SAFE AREAS (notch devices) ---------- */
@supports (padding: env(safe-area-inset-bottom)) {
  .site-footer {
    padding-bottom: env(safe-area-inset-bottom);
  }
  .back-to-top {
    bottom: calc(var(--sp-lg) + env(safe-area-inset-bottom));
  }
  .main-nav.is-open {
    padding-bottom: env(safe-area-inset-bottom);
  }
}