body {
        font-family: 'Inter', system-ui, sans-serif;
    }

    .font-display {
        font-family: 'Playfair Display', Georgia, serif;
    }

    /* Hero Section Stacking Context */
    .hero-container {
        position: relative;
    }

    .hero-text {
        position: relative;
        z-index: 1;
    }

    .hero-image {
        position: relative;
        z-index: 10;
    }

    /* Word fill initial state — driven by FasterMotion */
    .word-fill {
        opacity: 0.3;
    }

    .subtitle-text {
        opacity: 0.3;
    }

    /* Line-reveal initial state — hidden until FM triggers */
    [data-animate="line"] {
        opacity: 0;
        transform: translateY(40px);
    }

    /* Ladder items initial state — hidden until FM triggers */
    .ladder-item {
        opacity: 0;
        transform: translateY(30px);
    }

    /* Scroll effect for text going behind image */
    .scroll-text {
        transition: transform 0.3s ease-out;
    }

    /* Sticky Book Consultation Button */
    .book-consultation-btn {
        position: fixed;
        bottom: 24px;
        right: 24px;
        z-index: 1000;
        background: transparent;
        border: 2px solid currentColor;
        padding: 16px 24px;
        border-radius: 50px;
        font-weight: 600;
        font-size: 14px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        text-decoration: none;
        display: none;
        opacity: 0;
        color: #000;
        mix-blend-mode: difference;
        transition: opacity 0.3s ease, transform 0.3s ease;
    }

    .book-consultation-btn.show {
        display: inline-block;
        opacity: 1;
    }

    .book-consultation-btn:hover {
        transform: scale(1.05);
        /* Disable difference blend on hover so the brand red renders as actual red */
        mix-blend-mode: normal;
        background: #C8102E;
        border-color: #C8102E;
        color: #ffffff;
    }

    @media (max-width: 478px) {
        .book-consultation-btn {
            display: none !important;
        }
    }

    /* Method Section - Card Stacking */
    .pillar-section {
        will-change: transform;
    }

    /* Method Header when pinned */
    #method-header {
        padding: 2rem 0;
        z-index: 100;
    }
