/* Homepage — three pillars of the BEST method. */

body.home .home-pillars {
    --pillars-ink: #2a1345;
    --pillars-violet: #6f528e;
    --pillars-gold: #c09645;
    position: relative;
    background:
        radial-gradient(circle at 12% 12%, rgba(224, 127, 164, 0.1), transparent 34%),
        radial-gradient(circle at 88% 40%, rgba(205, 171, 238, 0.12), transparent 36%),
        #fffafd;
    color: var(--graphite-text);
}

body.home .home-pillars__inner {
    width: min(1480px, calc(100% - 64px));
    margin: 0 auto;
    padding: clamp(76px, 8vw, 124px) 0 clamp(64px, 7vw, 104px);
}

body.home .home-pillars__heading {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(360px, 1fr);
    gap: clamp(48px, 8vw, 132px);
    align-items: end;
    margin-bottom: clamp(54px, 6vw, 86px);
}

body.home .home-pillars__eyebrow {
    display: block;
    margin-bottom: 18px;
    color: var(--pillars-gold);
    font-family: var(--k-poster, 'Oswald', 'Arial Narrow', sans-serif);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

body.home .home-pillars h2 {
    margin: 0 !important;
    color: var(--pillars-ink) !important;
    font-family: var(--k-poster, 'Oswald', 'Arial Narrow', sans-serif) !important;
    font-size: clamp(2.6rem, 2rem + 3.4vw, 5.25rem) !important;
    font-weight: 600 !important;
    line-height: 0.96 !important;
    letter-spacing: -0.025em !important;
    text-transform: none !important;
}

body.home .home-pillars h2 em {
    color: var(--pillars-gold);
    font-family: var(--serif-header) !important;
    font-weight: 600;
    text-transform: none;
    white-space: nowrap;
}

body.home .home-pillars__intro {
    margin: 0;
    padding: 0 0 30px;
    border-bottom: 1px solid rgba(192, 150, 69, 0.42);
    color: #4d405a;
    font-family: var(--sans-body);
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.75;
}

body.home .home-pillars__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid rgba(192, 150, 69, 0.28);
    border-bottom: 1px solid rgba(192, 150, 69, 0.28);
}

body.home .home-pillar {
    min-width: 0;
    padding: clamp(38px, 4vw, 62px) clamp(28px, 3.6vw, 58px) clamp(48px, 5vw, 72px);
    border-left: 1px solid rgba(192, 150, 69, 0.3);
}

body.home .home-pillar:first-child {
    border-left: 0;
}

body.home .home-pillar img {
    display: block;
    width: clamp(148px, 11vw, 168px);
    height: clamp(148px, 11vw, 168px);
    margin: 0 auto 28px;
    object-fit: contain;
    transform-origin: 50% 50%;
    filter: drop-shadow(0 12px 18px rgba(42, 19, 69, 0.12));
    will-change: transform;
}

body.home .home-pillar:nth-child(1) img {
    animation: home-pillar-float 5.8s ease-in-out infinite;
}

body.home .home-pillar:nth-child(2) img {
    animation: home-pillar-breathe 5.2s ease-in-out -1.4s infinite;
}

body.home .home-pillar:nth-child(3) img {
    animation: home-pillar-balance 7.2s ease-in-out -2.1s infinite;
}

@keyframes home-pillar-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

@keyframes home-pillar-breathe {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-5px) scale(1.045); }
}

@keyframes home-pillar-balance {
    0%, 100% { transform: rotate(-2.5deg) translateY(0); }
    50% { transform: rotate(2.5deg) translateY(-5px); }
}

body.home .home-pillar h3 {
    min-height: 2.15em;
    margin: 0 0 28px !important;
    color: var(--pillars-ink) !important;
    font-family: var(--k-poster, 'Oswald', 'Arial Narrow', sans-serif) !important;
    font-size: clamp(1.65rem, 1.25rem + 0.7vw, 2.15rem) !important;
    font-weight: 600 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.01em !important;
    text-transform: none !important;
}

body.home .home-pillar h3::after {
    content: '';
    display: block;
    width: 64px;
    height: 2px;
    margin-top: 24px;
    background: var(--pillars-gold);
}

body.home .home-pillar p {
    margin: 0;
    color: #554a5e;
    font-family: var(--sans-body);
    font-size: 1.05rem;
    font-weight: 500;
    line-height: 1.72;
}

body.home .home-pillars__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    margin: 0;
    padding: clamp(42px, 5vw, 70px) 0 0;
}

body.home .home-pillars__stats > div {
    text-align: center;
}

body.home .home-pillars__stats dt {
    margin: 0;
    color: var(--pillars-violet);
    font-family: var(--k-poster, 'Oswald', 'Arial Narrow', sans-serif);
    font-size: clamp(2.8rem, 2rem + 2.2vw, 4.7rem);
    font-weight: 600;
    line-height: 1;
}

body.home .home-pillars__stats dd {
    margin: 14px 0 0;
    color: #54445f;
    font-family: var(--sans-body);
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    line-height: 1.4;
    text-transform: uppercase;
}

@media (max-width: 980px) {
    body.home .home-pillars__heading {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    body.home .home-pillars__grid {
        grid-template-columns: 1fr;
    }

    body.home .home-pillar,
    body.home .home-pillar:first-child {
        border-left: 0;
        border-top: 1px solid rgba(192, 150, 69, 0.3);
    }

    body.home .home-pillar:first-child {
        border-top: 0;
    }

    body.home .home-pillar h3 {
        min-height: 0;
    }
}

@media (max-width: 720px) {
    body.home .home-pillars__inner {
        width: min(100% - 32px, 1480px);
        padding: 64px 0 56px;
    }

    body.home .home-pillars__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 42px;
    }

    body.home .home-pillars__stats dd {
        font-size: 0.78rem;
        letter-spacing: 0.11em;
    }

    body.home .home-pillar img {
        width: 148px;
        height: 148px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.home .home-pillar img {
        animation: none !important;
        will-change: auto;
    }
}
