.manifesto {
  position: relative;
  overflow: hidden;
  padding: var(--sp-10) var(--sp-5);
}

.manifesto::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 42% 80% at 12% 50%, rgba(250, 58, 127, 0.14), transparent 72%),
    radial-gradient(ellipse 38% 70% at 90% 52%, rgba(0, 202, 253, 0.11), transparent 74%);
  pointer-events: none;
}

.manifesto-inner {
  position: relative;
  z-index: 1;
  max-width: 1080px;
  margin: 0 auto;
  padding: clamp(42px, 5.5vw, 68px) clamp(28px, 6vw, 80px);
  overflow: hidden;
  border: 1px solid var(--border-color);
  border-radius: var(--r-modal);
  background: linear-gradient(130deg, rgba(250, 58, 127, 0.12), var(--surface-elevated) 42%, rgba(0, 202, 253, 0.08));
  box-shadow: var(--shadow-tinted), inset 0 1px rgba(255, 255, 255, 0.08);
  text-align: center;
}
.manifesto-inner::before,
.manifesto-inner::after {
  content: '';
  position: absolute;
  width: 230px;
  height: 230px;
  border: 1px solid var(--primary-soft-2);
  border-radius: 50%;
  pointer-events: none;
}
.manifesto-inner::before { top: -170px; left: -130px; }
.manifesto-inner::after { right: -150px; bottom: -170px; border-color: rgba(0, 202, 253, 0.18); }

.eyebrow-link {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--primary);
  text-decoration: none;
  transition: color var(--t-base) var(--ease), transform var(--t-base) var(--ease);
}
.eyebrow-link::after { content: '→'; font-size: 14px; transition: transform var(--t-base) var(--ease); }
.eyebrow-link:hover { color: var(--text-main); transform: translateX(2px); }
.eyebrow-link:hover::after { transform: translateX(3px); }

.manifesto-quote {
  position: relative;
  z-index: 1;
  max-width: none;
  margin: var(--sp-5) auto var(--sp-7);
  border: 0;
  color: var(--text-main);
}
.manifesto-quote-mark {
  display: block;
  height: 44px;
  color: var(--primary);
  font-family: Georgia, serif;
  font-size: 80px;
  font-weight: var(--fw-bold);
  line-height: 1;
}
.manifesto-quote p {
  margin-top: var(--sp-3);
  color: var(--text-main);
  max-width: 100%;
  font-size: clamp(25px, 3.15vw, 39px);
  font-weight: var(--fw-black);
  letter-spacing: -0.045em;
  line-height: 1.18;
  text-wrap: balance;
}

.manifesto-foot { position: relative; z-index: 1; display: flex; justify-content: center; }
.manifesto-more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 17px;
  border: 1px solid var(--primary-soft-2);
  border-radius: var(--r-pill);
  background: var(--primary-soft);
  color: var(--primary);
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
  text-decoration: none;
  transition: transform var(--t-base) var(--ease), background var(--t-base) var(--ease), border-color var(--t-base) var(--ease);
}
.manifesto-more::after { content: '→'; transition: transform var(--t-base) var(--ease); }
.manifesto-more:hover { transform: translateY(-2px); border-color: var(--primary); background: rgba(250, 58, 127, 0.19); }
.manifesto-more:hover::after { transform: translateX(3px); }

@media (max-width: 640px) {
  .manifesto { padding: var(--sp-8) var(--sp-4); }
  .manifesto-inner { padding: var(--sp-7) var(--sp-5); border-radius: var(--r-card); }
  .manifesto-quote { margin-bottom: var(--sp-6); }
  .manifesto-quote p { font-size: clamp(24px, 7.2vw, 32px); line-height: 1.2; }
}
