/* Manifesto — intentionally spare, editorial, and open. */
.manifesto-main {
    padding-bottom: var(--w5-section-gap-small, 36px);
}

.manifesto-intro {
    max-width: 900px;
    margin: 0 auto;
    padding: 58px 24px 0;
    text-align: center;
}

.manifesto-intro__icon {
    display: block;
    width: clamp(108px, 10vw, 148px);
    height: auto;
    margin: 0 auto 1.25rem;
    object-fit: contain;
}

.manifesto-intro .kicker,
.manifesto-section .kicker {
    justify-content: center;
}

.manifesto-intro h1 {
    margin: .4rem 0 .7rem;
    font: 400 clamp(3.5rem, 7vw, 6.4rem)/.92 var(--display);
    letter-spacing: -.04em;
}

.manifesto-intro__lead {
    margin: 0;
    color: #aaa;
    font-size: clamp(1.08rem, 1.8vw, 1.35rem);
}

.manifesto-rule {
    width: min(900px, 90%);
    height: 1px;
    margin: clamp(38px, 5vw, 58px) auto;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.22) 22%, rgba(255,102,0,.72) 50%, rgba(255,255,255,.22) 78%, transparent);
}

.manifesto-reference {
    max-width: 820px;
    margin: 0 auto;
    padding: 0 24px clamp(36px, 5vw, 58px);
}

.manifesto-section {
    text-align: center;
}

.manifesto-section + .manifesto-section {
    margin-top: var(--w5-section-gap, clamp(38px, 4.2vw, 58px));
    padding-top: var(--w5-section-gap-small, clamp(26px, 3vw, 40px));
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.13), rgba(255,102,0,.45), rgba(255,255,255,.13), transparent) top center / 100% 1px no-repeat;
}

.manifesto-reference h2 {
    margin: .45rem 0 1.15rem;
    font: 400 clamp(2.2rem, 4vw, 3.8rem)/1 var(--display);
}

.manifesto-prose {
    max-width: 700px;
    margin: 0 auto;
}

.manifesto-prose p {
    margin: 0 0 1rem;
    color: #aaa;
    font-size: clamp(1.03rem, 1.4vw, 1.12rem);
    line-height: 1.75;
}

.manifesto-commandments {
    list-style: none;
    max-width: 730px;
    margin: 1.8rem auto 0;
    padding: 0;
    text-align: left;
}

.manifesto-commandments li {
    position: relative;
    margin: 0;
    padding: .82rem 0 .82rem 2rem;
    color: #bbb;
    font-size: clamp(1rem, 1.35vw, 1.1rem);
    line-height: 1.55;
    border-bottom: 1px solid rgba(255,255,255,.055);
}

.manifesto-commandments li:last-child {
    border-bottom: 0;
}

.manifesto-commandments li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 1rem;
    width: 16px;
    height: 16px;
    background: url("../assets/icons/scroll.png") center / contain no-repeat;
    opacity: .9;
}

.manifesto-warning {
    position: relative;
    max-width: 720px;
    margin: var(--w5-section-gap, clamp(38px, 4.2vw, 58px)) auto 0;
    padding: 1.6rem 2rem;
    border: 0;
    text-align: center;
    background: linear-gradient(90deg, transparent, rgba(255,102,0,.06) 20%, rgba(255,255,255,.035) 50%, rgba(255,102,0,.06) 80%, transparent);
}

.manifesto-warning::before,
.manifesto-warning::after {
    content: "";
    position: absolute;
    left: 12%;
    right: 12%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,102,0,.58), transparent);
}

.manifesto-warning::before { top: 0; }
.manifesto-warning::after { bottom: 0; }

.manifesto-warning p {
    margin: 0;
    color: #fff;
    font-size: clamp(1.02rem, 1.5vw, 1.14rem);
    font-style: italic;
    line-height: 1.65;
}

@media (max-width: 640px) {
    .manifesto-intro { padding-top: 42px; }
    .manifesto-reference { padding-inline: 18px; }
    .manifesto-commandments li { padding-left: 1.8rem; }
    .manifesto-warning { padding-inline: 1rem; }
}
