/* Avalon Section 3 — Brand Story / Atelier + Testimonial & CTA */

.avalon-story {
    padding: 56px 0 64px;
    background: var(--avalon-bg);
}

.avalon-story__rule {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-bottom: 48px;
    color: var(--avalon-gold);
    font-family: var(--font-headline);
    font-size: 10px;
    font-weight: 400;
    letter-spacing: 0.38em;
    text-transform: uppercase;
}

.avalon-story__rule--bottom {
    margin-top: 48px;
    margin-bottom: 0;
}

.avalon-story__rule::before,
.avalon-story__rule::after {
    content: '';
    flex: 1;
    max-width: 280px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--avalon-rule) 15%, var(--avalon-gold-light) 50%, var(--avalon-rule) 85%, transparent);
}

.avalon-story__rule--bottom::before,
.avalon-story__rule--bottom::after {
    max-width: none;
}

.avalon-story__rule span {
    flex-shrink: 0;
}

.avalon-story__split {
    display: grid;
    grid-template-columns: 1fr 1px 1fr;
    gap: 0 48px;
    align-items: stretch;
    max-width: 1100px;
    margin: 0 auto;
}

.avalon-story__divider {
    width: 1px;
    background: linear-gradient(
        180deg,
        transparent 0%,
        rgba(201, 169, 110, 0.15) 8%,
        rgba(201, 169, 110, 0.55) 50%,
        rgba(201, 169, 110, 0.15) 92%,
        transparent 100%
    );
}

.avalon-story__col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 8px 12px;
}

.avalon-story__col--voice {
    align-items: center;
    text-align: center;
}

.avalon-story__eyebrow {
    margin: 0 0 14px;
    font-family: var(--font-headline);
    font-size: 10px;
    font-weight: 400;
    letter-spacing: 0.34em;
    text-transform: uppercase;
    color: var(--avalon-gold-light);
}

.avalon-story__headline {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(26px, 2.8vw, 34px);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #fff;
}

.avalon-story__gold-line {
    width: 48px;
    height: 1px;
    margin: 22px 0;
    background: linear-gradient(90deg, var(--avalon-gold-light), rgba(201, 169, 110, 0.2));
}

.avalon-story__gold-line--short {
    width: 32px;
    margin: 24px auto 20px;
}

.avalon-story__body {
    margin: 0;
    font-size: 15px;
    line-height: 1.75;
    color: var(--avalon-text-muted);
    max-width: 44ch;
}

.avalon-story__link {
    margin-top: 28px;
    font-family: var(--font-headline);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--avalon-gold);
    transition: color 0.2s, letter-spacing 0.2s;
}

.avalon-story__link::after {
    content: ' →';
    color: var(--avalon-gold-light);
}

.avalon-story__link:hover {
    color: var(--avalon-gold-light);
    letter-spacing: 0.28em;
}

.avalon-story__quote {
    margin: 0;
    padding: 0;
    border: none;
    max-width: 36ch;
}

.avalon-story__quote p {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(20px, 2vw, 26px);
    font-weight: 500;
    font-style: italic;
    line-height: 1.55;
    letter-spacing: 0.02em;
    color: var(--avalon-text);
}

.avalon-story__quote p::before {
    content: '\201C';
    color: var(--avalon-gold);
    font-style: normal;
    margin-right: 2px;
}

.avalon-story__quote p::after {
    content: '\201D';
    color: var(--avalon-gold);
    font-style: normal;
}

.avalon-story__cite {
    display: block;
    margin-top: 18px;
    font-family: var(--font-headline);
    font-size: 10px;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--avalon-text-muted);
}

.avalon-story__cta {
    display: inline-block;
    padding: 14px 32px;
    background: transparent;
    color: var(--avalon-gold-light);
    font-family: var(--font-headline);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    text-decoration: none;
    border: 1px solid rgba(201, 169, 110, 0.55);
    transition: background 0.25s, color 0.25s, border-color 0.25s;
}

.avalon-story__cta:hover {
    background: var(--avalon-gold);
    color: #12100e;
    border-color: var(--avalon-gold-light);
}

@media (max-width: 900px) {
    .avalon-story__split {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .avalon-story__divider {
        width: 100%;
        height: 1px;
        background: linear-gradient(
            90deg,
            transparent 0%,
            rgba(201, 169, 110, 0.15) 8%,
            rgba(201, 169, 110, 0.55) 50%,
            rgba(201, 169, 110, 0.15) 92%,
            transparent 100%
        );
    }

    .avalon-story__col--brand {
        align-items: center;
        text-align: center;
    }

    .avalon-story__gold-line {
        margin-left: auto;
        margin-right: auto;
    }

    .avalon-story__body {
        max-width: none;
    }
}
