/**
 * 🕷️ ANT TEA GAMES — Manifesto Variant Styles
 * 
 * Red/black constructivist, militant aesthetic
 */

/* Root Variables - Constructivist Palette */
:root {
  --constructivist-red: #ff0000;
  --constructivist-black: #000000;
  --constructivist-white: #ffffff;
  --constructivist-gray: #333333;
  --constructivist-dark-gray: #1a1a1a;
  --constructivist-accent: #cc0000;
  
  /* Manifesto Variant Colors */
  --manifesto-primary: var(--constructivist-red);
  --manifesto-secondary: var(--constructivist-black);
  --manifesto-accent: var(--constructivist-gray);
  --manifesto-text: var(--constructivist-white);
  --manifesto-bg: var(--constructivist-black);
}

/* Base Styles - Constructivist Foundation */
body {
  background: var(--manifesto-bg);
  color: var(--manifesto-text);
  font-family: 'Arial Black', Arial, sans-serif;
  margin: 0;
  padding: 0;
  line-height: 1.4;
  position: relative;
  overflow-x: hidden;
}

/* Constructivist Geometric Background Elements */
body::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: 
    /* Red wedge triangle */
    linear-gradient(45deg, transparent 49%, var(--constructivist-red) 49%, var(--constructivist-red) 51%, transparent 51%),
    /* White circle */
    radial-gradient(circle at 20% 80%, var(--constructivist-white) 0%, var(--constructivist-white) 8%, transparent 8%),
    /* Diagonal constructivist lines */
    repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(255,0,0,0.1) 2px, rgba(255,0,0,0.1) 4px),
    repeating-linear-gradient(-45deg, transparent, transparent 3px, rgba(255,255,255,0.05) 3px, rgba(255,255,255,0.05) 6px);
  background-size: 200px 200px, 300px 300px, 50px 50px, 80px 80px;
  pointer-events: none;
  z-index: -1;
  animation: constructivistShift 20s linear infinite;
}

@keyframes constructivistShift {
  0% { transform: translate(0, 0) rotate(0deg); }
  100% { transform: translate(-50px, -50px) rotate(360deg); }
}

/* Constructivist Corner Elements */
body::after {
  content: '';
  position: fixed;
  top: 0;
  right: 0;
  width: 100px;
  height: 100px;
  background: linear-gradient(45deg, var(--constructivist-red) 0%, var(--constructivist-red) 50%, transparent 50%);
  z-index: 1;
  pointer-events: none;
}

/* Navigation - Constructivist Design */
.manifesto-nav {
  background: var(--constructivist-black);
  border-bottom: 6px solid var(--constructivist-red);
  padding: 1.5rem 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  overflow: hidden;
}

.manifesto-nav::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: 
    /* Constructivist diagonal stripes */
    repeating-linear-gradient(45deg, transparent, transparent 8px, rgba(255,0,0,0.1) 8px, rgba(255,0,0,0.1) 16px),
    /* Geometric corner elements */
    linear-gradient(45deg, var(--constructivist-red) 0%, var(--constructivist-red) 2px, transparent 2px);
  pointer-events: none;
  z-index: 0;
}

.manifesto-nav::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 60px;
  height: 100%;
  background: linear-gradient(45deg, var(--constructivist-red) 0%, var(--constructivist-red) 50%, transparent 50%);
  z-index: 0;
}

.brand-text {
  font-size: 1.8rem;
  font-weight: 900;
  color: var(--constructivist-red);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  position: relative;
  z-index: 2;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
  transform: skew(-5deg);
}

.brand-subtitle {
  font-size: 0.9rem;
  color: var(--constructivist-white);
  margin-left: 0.5rem;
  position: relative;
  z-index: 2;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.nav-links {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 1.5rem;
  position: relative;
  z-index: 2;
}

.nav-links a {
  color: var(--constructivist-white);
  text-decoration: none;
  text-transform: uppercase;
  font-weight: 900;
  font-size: 0.9rem;
  letter-spacing: 0.05em;
  padding: 0.5rem 1rem;
  border: 2px solid transparent;
  transition: all 0.3s ease;
  position: relative;
  transform: skew(-2deg);
}

.nav-links a::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--constructivist-red);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
  z-index: -1;
}

.nav-links a:hover::before,
.nav-links a.active::before {
  transform: scaleX(1);
}

.nav-links a:hover,
.nav-links a.active {
  color: var(--constructivist-white);
  border-color: var(--constructivist-red);
  transform: skew(-2deg) scale(1.05);
}

/* Hero Section */
.manifesto-hero {
  background: linear-gradient(45deg, #000 0%, #333 25%, #000 50%, #333 75%, #000 100%);
  background-size: 30px 30px;
  padding: 4rem 2rem;
  text-align: center;
}

.hero-title {
  font-size: 3rem;
  font-weight: bold;
  color: var(--manifesto-primary);
  text-transform: uppercase;
  margin: 0 0 1rem 0;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
}

.hero-subtitle {
  font-size: 1.2rem;
  color: var(--manifesto-text);
  margin: 0 0 2rem 0;
}

.revolutionary-actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
}

.revolution-btn,
.philosophy-btn {
  background: var(--manifesto-primary);
  color: var(--manifesto-text);
  border: none;
  padding: 1rem 2rem;
  font-size: 1rem;
  font-weight: bold;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.3s;
}

.revolution-btn:hover,
.philosophy-btn:hover {
  background: #cc0000;
}

/* Manifesto Content */
.manifesto-content {
  padding: 4rem 2rem;
  max-width: 800px;
  margin: 0 auto;
}

.manifesto-content h2 {
  color: var(--manifesto-primary);
  font-size: 2rem;
  text-transform: uppercase;
  margin: 2rem 0 1rem 0;
  border-bottom: 2px solid var(--manifesto-primary);
  padding-bottom: 0.5rem;
}

.manifesto-content p {
  font-size: 1.1rem;
  margin: 1rem 0;
  line-height: 1.6;
}

/* Actions Section */
.actions-section {
  background: var(--manifesto-accent);
  padding: 4rem 2rem;
}

.actions-section h2 {
  color: var(--manifesto-primary);
  font-size: 2rem;
  text-transform: uppercase;
  text-align: center;
  margin: 0 0 2rem 0;
}

.action-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
  max-width: 1000px;
  margin: 0 auto;
}

.action-card {
  background: var(--manifesto-bg);
  border: 2px solid var(--manifesto-primary);
  padding: 2rem;
  text-align: center;
}

.action-card h3 {
  color: var(--manifesto-primary);
  font-size: 1.5rem;
  text-transform: uppercase;
  margin: 0 0 1rem 0;
}

.action-link {
  display: inline-block;
  background: var(--manifesto-primary);
  color: var(--manifesto-text);
  text-decoration: none;
  padding: 0.8rem 1.5rem;
  font-weight: bold;
  text-transform: uppercase;
  margin-top: 1rem;
  transition: background 0.3s;
}

.action-link:hover {
  background: #cc0000;
}

/* Footer */
.manifesto-footer {
  background: var(--manifesto-bg);
  border-top: 3px solid var(--manifesto-primary);
  padding: 2rem;
  text-align: center;
}

.manifesto-footer p {
  margin: 0.5rem 0;
  font-weight: bold;
  text-transform: uppercase;
}

.manifesto-footer p:first-child {
  color: var(--manifesto-primary);
  font-size: 1.2rem;
}

/* Revolutionary Manifesto Page Styles - Constructivist */
.manifesto-header {
  background: var(--constructivist-black);
  padding: 6rem 2rem;
  text-align: center;
  position: relative;
  overflow: hidden;
  min-height: 60vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.manifesto-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: 
    /* Large red wedge triangle */
    linear-gradient(45deg, transparent 48%, var(--constructivist-red) 48%, var(--constructivist-red) 52%, transparent 52%),
    /* White circle */
    radial-gradient(circle at 80% 20%, var(--constructivist-white) 0%, var(--constructivist-white) 12%, transparent 12%),
    /* Constructivist grid */
    repeating-linear-gradient(0deg, transparent, transparent 20px, rgba(255,0,0,0.1) 20px, rgba(255,0,0,0.1) 21px),
    repeating-linear-gradient(90deg, transparent, transparent 20px, rgba(255,0,0,0.1) 20px, rgba(255,0,0,0.1) 21px);
  background-size: 400px 400px, 200px 200px, 100px 100px, 100px 100px;
  animation: constructivistHeaderShift 15s linear infinite;
  z-index: 0;
}

@keyframes constructivistHeaderShift {
  0% { transform: translate(0, 0) rotate(0deg); }
  100% { transform: translate(-100px, -100px) rotate(180deg); }
}

.manifesto-header::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 150px;
  height: 150px;
  background: linear-gradient(45deg, var(--constructivist-red) 0%, var(--constructivist-red) 50%, transparent 50%);
  z-index: 1;
}


.header-content {
  position: relative;
  z-index: 2;
}

.manifesto-title {
  font-size: 5rem;
  font-weight: 900;
  color: var(--constructivist-red);
  text-transform: uppercase;
  margin: 0 0 2rem 0;
  text-shadow: 4px 4px 8px rgba(0,0,0,0.9);
  animation: constructivistTitlePulse 3s ease-in-out infinite;
  letter-spacing: 0.1em;
  transform: skew(-3deg);
  position: relative;
  z-index: 3;
}

.manifesto-title::before {
  content: '';
  position: absolute;
  top: -10px;
  left: -20px;
  right: -20px;
  bottom: -10px;
  background: linear-gradient(45deg, var(--constructivist-red) 0%, transparent 50%);
  z-index: -1;
  opacity: 0.3;
  animation: constructivistTitleBackground 4s ease-in-out infinite;
}

@keyframes constructivistTitleBackground {
  0%, 100% { transform: skew(-3deg) scale(1); opacity: 0.3; }
  50% { transform: skew(-3deg) scale(1.05); opacity: 0.6; }
}

@keyframes constructivistTitlePulse {
  0%, 100% { 
    text-shadow: 4px 4px 8px rgba(0,0,0,0.9), 0 0 30px rgba(255,0,0,0.6);
    transform: skew(-3deg) scale(1);
  }
  50% { 
    text-shadow: 4px 4px 8px rgba(0,0,0,0.9), 0 0 60px rgba(255,0,0,1);
    transform: skew(-3deg) scale(1.02);
  }
}

.revolutionary-subtitle {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  font-size: 1.8rem;
  font-weight: 900;
  position: relative;
  z-index: 3;
  margin: 2rem 0;
}

.revolutionary-subtitle::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, transparent, var(--constructivist-red), transparent);
  transform: translateY(-50%);
  z-index: -1;
}

.glitch-text {
  color: var(--manifesto-primary);
  animation: glitch 2s infinite;
}

@keyframes glitch {
  0%, 100% { transform: translate(0); }
  20% { transform: translate(-2px, 2px); }
  40% { transform: translate(-2px, -2px); }
  60% { transform: translate(2px, 2px); }
  80% { transform: translate(2px, -2px); }
}

.equals {
  color: var(--manifesto-text);
  font-size: 2rem;
  animation: pulse 1.5s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.2); }
}

.revolution-text {
  color: var(--manifesto-primary);
  text-transform: uppercase;
  animation: revolutionShake 1s ease-in-out infinite;
}

@keyframes revolutionShake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-1px); }
  75% { transform: translateX(1px); }
}

.revolutionary-symbols {
  display: flex;
  justify-content: center;
  gap: 2rem;
  margin-top: 2rem;
  position: relative;
  z-index: 2;
}

.symbol {
  font-size: 2rem;
  animation: symbolFloat 3s ease-in-out infinite;
}

.symbol:nth-child(1) { animation-delay: 0s; }
.symbol:nth-child(2) { animation-delay: 0.5s; }
.symbol:nth-child(3) { animation-delay: 1s; }
.symbol:nth-child(4) { animation-delay: 1.5s; }

@keyframes symbolFloat {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-10px) rotate(180deg); }
}

/* Manifesto Text Styling */
.manifesto-main {
  background: var(--manifesto-bg);
  padding: 0;
}

.manifesto-text-section {
  padding: 4rem 2rem;
  max-width: 1000px;
  margin: 0 auto;
}

.manifesto-block {
  margin: 4rem 0;
  padding: 3rem;
  border: 4px solid var(--constructivist-red);
  background: var(--constructivist-black);
  position: relative;
  animation: constructivistBlockAppear 1.5s ease-out;
  transform: skew(-1deg);
  overflow: hidden;
}

.manifesto-block::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: 
    /* Constructivist diagonal elements */
    linear-gradient(45deg, transparent 48%, rgba(255,0,0,0.1) 48%, rgba(255,0,0,0.1) 52%, transparent 52%),
    /* Geometric corner accents */
    linear-gradient(135deg, var(--constructivist-red) 0%, var(--constructivist-red) 2px, transparent 2px);
  background-size: 100px 100px, 50px 50px;
  z-index: 0;
  animation: constructivistBlockPattern 8s linear infinite;
}

@keyframes constructivistBlockPattern {
  0% { transform: translate(0, 0); }
  100% { transform: translate(-50px, -50px); }
}

.manifesto-block::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 80px;
  height: 80px;
  background: linear-gradient(45deg, var(--constructivist-red) 0%, var(--constructivist-red) 50%, transparent 50%);
  z-index: 1;
}

@keyframes constructivistBlockAppear {
  from { 
    opacity: 0; 
    transform: translateY(30px) skew(-1deg) scale(0.95); 
  }
  to { 
    opacity: 1; 
    transform: translateY(0) skew(-1deg) scale(1); 
  }
}

.manifesto-block:nth-child(odd) {
  border-left: 6px solid var(--manifesto-primary);
}

.manifesto-block:nth-child(even) {
  border-right: 6px solid var(--manifesto-primary);
}

.manifesto-heading {
  font-size: 2.5rem;
  color: var(--manifesto-primary);
  text-transform: uppercase;
  text-align: center;
  margin: 0 0 2rem 0;
  font-weight: 900;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
}

.manifesto-line {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin: 1rem 0;
  font-size: 1.2rem;
  font-weight: bold;
}

.word {
  color: var(--constructivist-white);
  padding: 0.4rem 0.8rem;
  border: 2px solid transparent;
  transition: all 0.4s ease;
  cursor: pointer;
  position: relative;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transform: skew(-1deg);
  z-index: 2;
}

.word::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--constructivist-red);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
  z-index: -1;
}

.word:hover::before {
  transform: scaleX(1);
}

.word:hover {
  color: var(--constructivist-white);
  border-color: var(--constructivist-red);
  transform: skew(-1deg) scale(1.1);
  text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
}

.emphasis-block {
  background: linear-gradient(135deg, rgba(255,0,0,0.2) 0%, rgba(0,0,0,0.3) 100%);
  border: 3px solid var(--manifesto-primary);
  animation: emphasisPulse 2s ease-in-out infinite;
}

@keyframes emphasisPulse {
  0%, 100% { box-shadow: 0 0 20px rgba(255,0,0,0.3); }
  50% { box-shadow: 0 0 40px rgba(255,0,0,0.6); }
}

.emphasis {
  color: var(--manifesto-primary);
  font-size: 1.4rem;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
  animation: emphasisGlow 1.5s ease-in-out infinite alternate;
}

@keyframes emphasisGlow {
  from { text-shadow: 2px 2px 4px rgba(0,0,0,0.8), 0 0 10px rgba(255,0,0,0.5); }
  to { text-shadow: 2px 2px 4px rgba(0,0,0,0.8), 0 0 20px rgba(255,0,0,0.8); }
}

.final-block {
  background: linear-gradient(135deg, rgba(255,0,0,0.3) 0%, rgba(0,0,0,0.4) 100%);
  border: 4px solid var(--manifesto-primary);
  animation: finalBlockGlow 3s ease-in-out infinite;
}

@keyframes finalBlockGlow {
  0%, 100% { 
    box-shadow: 0 0 30px rgba(255,0,0,0.4);
    transform: scale(1);
  }
  50% { 
    box-shadow: 0 0 60px rgba(255,0,0,0.8);
    transform: scale(1.02);
  }
}

.final {
  color: var(--manifesto-primary);
  font-size: 1.6rem;
  font-weight: 900;
  text-shadow: 3px 3px 6px rgba(0,0,0,0.8);
  animation: finalWordPulse 2s ease-in-out infinite;
}

@keyframes finalWordPulse {
  0%, 100% { 
    text-shadow: 3px 3px 6px rgba(0,0,0,0.8), 0 0 15px rgba(255,0,0,0.6);
    transform: scale(1);
  }
  50% { 
    text-shadow: 3px 3px 6px rgba(0,0,0,0.8), 0 0 30px rgba(255,0,0,1);
    transform: scale(1.05);
  }
}

/* Revolutionary Actions Section */
.revolutionary-actions-section {
  background: var(--manifesto-accent);
  padding: 4rem 2rem;
  border-top: 4px solid var(--manifesto-primary);
  border-bottom: 4px solid var(--manifesto-primary);
}

.actions-title {
  color: var(--manifesto-primary);
  font-size: 2.5rem;
  text-transform: uppercase;
  text-align: center;
  margin: 0 0 3rem 0;
  font-weight: 900;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
  animation: titleShake 2s ease-in-out infinite;
}

@keyframes titleShake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-2px); }
  75% { transform: translateX(2px); }
}

.revolutionary-card {
  background: var(--manifesto-bg);
  border: 3px solid var(--manifesto-primary);
  padding: 2rem;
  text-align: center;
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
  animation: cardFloat 4s ease-in-out infinite;
}

.revolutionary-card:nth-child(1) { animation-delay: 0s; }
.revolutionary-card:nth-child(2) { animation-delay: 1s; }
.revolutionary-card:nth-child(3) { animation-delay: 2s; }

@keyframes cardFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

.revolutionary-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,0,0,0.2), transparent);
  transition: left 0.5s ease;
}

.revolutionary-card:hover::before {
  left: 100%;
}

.revolutionary-card:hover {
  transform: scale(1.05);
  box-shadow: 0 0 30px rgba(255,0,0,0.5);
}

/* Philosophy Section */
.philosophy-section {
  padding: 4rem 2rem;
  background: linear-gradient(135deg, #000 0%, #333 50%, #000 100%);
}

.philosophy-title {
  color: var(--manifesto-primary);
  font-size: 2.5rem;
  text-transform: uppercase;
  text-align: center;
  margin: 0 0 3rem 0;
  font-weight: 900;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
}

.philosophy-content {
  max-width: 800px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}

.philosophy-block {
  padding: 2rem;
  border: 2px solid var(--manifesto-primary);
  background: rgba(255,0,0,0.05);
  animation: philosophyAppear 1s ease-out;
}

@keyframes philosophyAppear {
  from { opacity: 0; transform: translateX(-20px); }
  to { opacity: 1; transform: translateX(0); }
}

.philosophy-block:nth-child(2) {
  animation-delay: 0.5s;
}

.philosophy-block p {
  font-size: 1.1rem;
  margin: 1rem 0;
  line-height: 1.6;
  color: var(--manifesto-text);
}

/* Enhanced Footer */
.manifesto-footer {
  background: var(--manifesto-bg);
  border-top: 4px solid var(--manifesto-primary);
  padding: 3rem 2rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.manifesto-footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: repeating-linear-gradient(
    90deg,
    transparent,
    transparent 20px,
    rgba(255, 0, 0, 0.1) 20px,
    rgba(255, 0, 0, 0.1) 21px
  );
  animation: footerScan 4s linear infinite;
}

@keyframes footerScan {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}

.footer-content {
  position: relative;
  z-index: 2;
}

.footer-main {
  color: var(--manifesto-primary);
  font-size: 1.5rem;
  font-weight: 900;
  text-transform: uppercase;
  margin: 0 0 1rem 0;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
  animation: footerGlow 2s ease-in-out infinite alternate;
}

@keyframes footerGlow {
  from { text-shadow: 2px 2px 4px rgba(0,0,0,0.8), 0 0 20px rgba(255,0,0,0.5); }
  to { text-shadow: 2px 2px 4px rgba(0,0,0,0.8), 0 0 40px rgba(255,0,0,0.8); }
}

.footer-sub {
  color: var(--manifesto-text);
  font-size: 1rem;
  margin: 0 0 2rem 0;
}

.footer-symbols {
  display: flex;
  justify-content: center;
  gap: 1rem;
}

.footer-symbols span {
  font-size: 1.5rem;
  animation: symbolSpin 3s linear infinite;
}

.footer-symbols span:nth-child(1) { animation-delay: 0s; }
.footer-symbols span:nth-child(2) { animation-delay: 0.5s; }
.footer-symbols span:nth-child(3) { animation-delay: 1s; }
.footer-symbols span:nth-child(4) { animation-delay: 1.5s; }

@keyframes symbolSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* Responsive */
@media (max-width: 768px) {
  .manifesto-nav {
    flex-direction: column;
    gap: 1rem;
  }
  
  .nav-links {
    gap: 1rem;
  }
  
  .manifesto-title {
    font-size: 2.5rem;
  }
  
  .revolutionary-subtitle {
    flex-direction: column;
    gap: 0.5rem;
  }
  
  .manifesto-line {
    justify-content: flex-start;
  }
  
  .philosophy-content {
    grid-template-columns: 1fr;
  }
  
  .revolutionary-actions {
    flex-direction: column;
    align-items: center;
  }
  
  .action-grid {
    grid-template-columns: 1fr;
  }
  
  .revolutionary-symbols {
    gap: 1rem;
  }
  
  .symbol {
    font-size: 1.5rem;
  }
}

/* Constructivist Geometric Elements */
.constructivist-elements {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}

.geometric-shape {
  position: absolute;
  animation: constructivistFloat 6s ease-in-out infinite;
}

.red-triangle {
  top: 20%;
  left: 10%;
  width: 0;
  height: 0;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-bottom: 50px solid var(--constructivist-red);
  animation-delay: 0s;
}

.white-circle {
  top: 60%;
  right: 15%;
  width: 40px;
  height: 40px;
  background: var(--constructivist-white);
  border-radius: 50%;
  animation-delay: 1.5s;
}

.red-square {
  bottom: 30%;
  left: 20%;
  width: 25px;
  height: 25px;
  background: var(--constructivist-red);
  transform: rotate(45deg);
  animation-delay: 3s;
}

.diagonal-line {
  top: 40%;
  right: 30%;
  width: 60px;
  height: 4px;
  background: var(--constructivist-red);
  transform: rotate(45deg);
  animation-delay: 4.5s;
}

@keyframes constructivistFloat {
  0%, 100% { 
    transform: translateY(0) rotate(0deg) scale(1);
    opacity: 0.7;
  }
  50% { 
    transform: translateY(-20px) rotate(180deg) scale(1.1);
    opacity: 1;
  }
}

/* Revolutionary Content Sections */
.revolutionary-declaration,
.propaganda-manifesto,
.swarm-manifesto,
.lies-manifesto {
  background: linear-gradient(135deg, rgba(255,0,0,0.1) 0%, rgba(0,0,0,0.2) 100%);
  border: 2px solid var(--manifesto-primary);
  padding: 2rem;
  margin: 2rem 0;
  text-align: center;
  animation: declarationPulse 3s ease-in-out infinite;
}

@keyframes declarationPulse {
  0%, 100% { 
    box-shadow: 0 0 20px rgba(255,0,0,0.2);
    transform: scale(1);
  }
  50% { 
    box-shadow: 0 0 40px rgba(255,0,0,0.4);
    transform: scale(1.01);
  }
}

.revolutionary-declaration h3,
.propaganda-manifesto h3,
.swarm-manifesto h3,
.lies-manifesto h3 {
  color: var(--manifesto-primary);
  font-size: 1.8rem;
  text-transform: uppercase;
  margin: 0 0 1rem 0;
  font-weight: 900;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
  animation: declarationGlow 2s ease-in-out infinite alternate;
}

@keyframes declarationGlow {
  from { text-shadow: 2px 2px 4px rgba(0,0,0,0.8), 0 0 15px rgba(255,0,0,0.5); }
  to { text-shadow: 2px 2px 4px rgba(0,0,0,0.8), 0 0 30px rgba(255,0,0,0.8); }
}

.revolutionary-declaration p,
.propaganda-manifesto p,
.swarm-manifesto p,
.lies-manifesto p {
  font-size: 1.1rem;
  line-height: 1.6;
  color: var(--manifesto-text);
  margin: 0;
}
