/* Scoped Senior Home Care Guide. No Bootstrap or icon-font dependency. */

.gn-guide {
    --gn-purple: #9c1a83;
    --gn-teal: #006b73;
    --gn-text: #172337;
    --gn-muted: #45546a;
    --gn-border: #e5e9ed;
    --gn-soft: #f5f3f9;
    font-family: Arial, Helvetica, sans-serif;
    color: var(--gn-text);
    background: #fff;
    line-height: 1.6;
    font-size: 16px;
}

    .gn-guide,
    .gn-guide * {
        box-sizing: border-box;
    }

        .gn-guide .gn-guide-container {
            width: calc(100% - 80px);
            max-width: 1240px;
            margin-left: auto;
            margin-right: auto;
        }

        .gn-guide h1,
        .gn-guide h2 {
            font-family: Georgia, 'Times New Roman', serif;
            color: var(--gn-text);
            font-weight: 700;
            letter-spacing: -.035em;
            line-height: 1.13;
            text-transform: none;
        }

        .gn-guide h2 {
            font-size: clamp(1.9rem, 2.7vw, 2.8rem);
            margin: 0 0 20px;
        }

        .gn-guide h3 {
            color: var(--gn-teal);
            font-size: 1.15rem;
            line-height: 1.3;
            margin: 0 0 12px;
            font-weight: 700;
        }

        .gn-guide p {
            margin: 0 0 18px;
            font-size: 1.05rem;
            line-height: 1.55;
        }

        .gn-guide a {
            color: var(--gn-teal);
        }

        .gn-guide .gn-guide-icon {
            display: inline-block;
            flex-shrink: 0;
            width: 24px;
            height: 24px;
            vertical-align: middle;
        }

        .gn-guide a:focus-visible,
        .gn-guide button:focus-visible,
        .gn-guide summary:focus-visible {
            outline: 3px solid #006b73;
            outline-offset: 4px;
        }

        .gn-guide [id] {
            scroll-margin-top: 24px;
        }

        .gn-guide .gn-guide-header {
            background: #fff;
            border-bottom: 1px solid var(--gn-border);
            position: relative;
            z-index: 5;
        }

        .gn-guide .gn-guide-header-inner {
            height: 78px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
        }

        .gn-guide .gn-guide-logo {
            display: flex;
            align-items: center;
            width: 155px;
            flex-shrink: 0;
            text-decoration: none;
        }

            .gn-guide .gn-guide-logo img {
                display: block;
                width: 155px;
                height: auto;
                max-height: 64px;
                object-fit: contain;
            }

        .gn-guide .gn-guide-nav {
            display: flex;
            align-items: center;
            gap: 30px;
        }

            .gn-guide .gn-guide-nav a {
                font-size: .88rem;
                text-decoration: none;
                color: var(--gn-text);
            }

                .gn-guide .gn-guide-nav a:hover {
                    color: var(--gn-purple);
                }

        .gn-guide .gn-guide-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            min-height: 58px;
            padding: 14px 24px;
            border: 1px solid transparent;
            border-radius: 17px;
            font-size: 1rem;
            font-weight: 700;
            text-decoration: none;
            line-height: 1.25;
            transition: background-color .2s, box-shadow .2s;
            white-space: normal;
            text-align: center;
        }

        .gn-guide .gn-guide-btn-primary {
            background: var(--gn-purple);
            color: #fff;
            box-shadow: 0 7px 16px #9c1a8314;
        }

            .gn-guide .gn-guide-btn-primary:hover {
                background: #80106d;
                color: #fff;
            }

        .gn-guide .gn-guide-btn-secondary {
            background: #fff;
            color: var(--gn-teal);
            border-color: #c8dadd;
            box-shadow: 0 5px 12px #1723370b;
        }

            .gn-guide .gn-guide-btn-secondary:hover {
                background: #eaf5f6;
                color: var(--gn-teal);
            }

        .gn-guide .gn-guide-header-call {
            min-height: 48px;
            border-radius: 12px;
            padding: 12px 22px;
            font-size: .95rem;
        }

            .gn-guide .gn-guide-header-call .gn-guide-icon {
                width: 20px;
                height: 20px;
            }

        .gn-guide .gn-guide-menu-toggle {
            display: none;
            border: 0;
            color: var(--gn-text);
            background: transparent;
            min-width: 44px;
            min-height: 44px;
            padding: 10px;
            cursor: pointer;
        }

        .gn-guide .gn-guide-hero {
            position: relative;
            isolation: isolate;
            background: #f0eee5;
            overflow: hidden;
        }

        .gn-guide .gn-guide-hero-picture {
            position: absolute;
            inset: 0;
            z-index: -2;
        }

            .gn-guide .gn-guide-hero-picture img {
                width: 100%;
                height: 100%;
                display: block;
                object-fit: cover;
                object-position: 66% 45%;
            }

        .gn-guide .gn-guide-hero:after {
            content: '';
            position: absolute;
            inset: 0;
            z-index: -1;
            background: linear-gradient(90deg, rgba(248, 245, 237, .75) 0%, rgba(248, 245, 237, .55) 34%, rgba(248, 245, 237, .12) 59%, transparent 73%);
        }

        .gn-guide .gn-guide-hero-inner {
            min-height: 525px;
            position: relative;
            display: flex;
            align-items: center;
            padding: 65px 0 80px;
        }

        .gn-guide .gn-guide-hero-content {
            width: 69%;
            max-width: 805px;
            position: relative;
            z-index: 1;
        }

        .gn-guide .gn-guide-eyebrow {
            font-size: .85rem;
            letter-spacing: .17em;
            text-transform: uppercase;
            font-weight: 700;
            color: #00576a;
            margin: 0 0 16px;
            line-height: 1.3;
        }

        .gn-guide h1 {
            font-size: clamp(2.7rem, 4.45vw, 4.25rem);
            margin: 0 0 20px;
            line-height: 1.03;
        }

            .gn-guide h1 > span {
                display: block;
            }

        .gn-guide .gn-guide-title-accent {
            color: var(--gn-purple);
        }

        .gn-guide .gn-guide-lede {
            max-width: 580px;
            font-size: 1.13rem;
            line-height: 1.5;
            margin: 0;
        }

        .gn-guide .gn-guide-buttons {
            display: flex;
            flex-wrap: wrap;
            gap: 16px;
            margin-top: 28px;
        }

        .gn-guide .gn-guide-care-card {
            position: absolute;
            right: 0;
            bottom: 46px;
            width: 360px;
            padding: 22px 20px;
            display: grid;
            grid-template-columns: 48px minmax(0, 1fr);
            gap: 16px;
            border: 1px solid #fff;
            border-radius: 22px;
            background: rgba(255, 255, 255, .96);
            box-shadow: 0 8px 24px #1723370e;
            z-index: 2;
        }

            .gn-guide .gn-guide-care-card h2 {
                font-family: Arial, Helvetica, sans-serif;
                color: var(--gn-purple);
                font-size: 1.35rem;
                letter-spacing: -.02em;
                line-height: 1.25;
                margin: 0 0 7px;
            }

            .gn-guide .gn-guide-care-card p {
                font-size: .87rem;
                line-height: 1.45;
                margin: 0 0 12px;
                color: var(--gn-muted);
            }

            .gn-guide .gn-guide-care-card a {
                color: var(--gn-purple);
                font-weight: 700;
                font-size: .86rem;
                line-height: 1.3;
                text-decoration: underline;
                text-underline-offset: 2px;
            }

                .gn-guide .gn-guide-care-card a .gn-guide-icon {
                    width: 17px;
                    height: 17px;
                }

        .gn-guide .gn-guide-phone-circle {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 48px;
            height: 48px;
            background: var(--gn-purple);
            color: #fff;
            border-radius: 50%;
        }

        .gn-guide .gn-guide-facts {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            position: relative;
            margin-top: -26px;
            z-index: 3;
            background: #fff;
            border: 1px solid var(--gn-border);
            border-radius: 20px;
            box-shadow: 0 5px 16px #1723370b;
            overflow: hidden;
        }

        .gn-guide .gn-guide-fact {
            padding: 23px 26px;
            display: flex;
            gap: 17px;
            align-items: center;
            border-right: 1px solid var(--gn-border);
        }

            .gn-guide .gn-guide-fact:last-child {
                border-right: 0;
            }

        .gn-guide .gn-guide-fact-icon {
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            background: #f0f7f8;
            color: var(--gn-teal);
            height: 65px;
            width: 65px;
            border-radius: 50%;
        }

            .gn-guide .gn-guide-fact-icon .gn-guide-icon {
                width: 40px;
                height: 40px;
            }

        .gn-guide .gn-guide-fact strong {
            display: block;
            color: var(--gn-purple);
            font-size: 1.25rem;
            line-height: 1.2;
            margin-bottom: 4px;
        }

        .gn-guide .gn-guide-fact div > span {
            display: block;
            font-size: .87rem;
            color: var(--gn-muted);
            line-height: 1.4;
            max-width: 150px;
        }

        .gn-guide .gn-guide-section {
            padding: 48px 0;
            border-bottom: 1px solid var(--gn-border);
        }

        .gn-guide .gn-guide-section-label {
            font-size: .72rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .14em;
            color: #1a3456;
            margin: 0 0 10px;
            line-height: 1.2;
        }

        .gn-guide .gn-guide-split {
            display: grid;
            grid-template-columns: 1.08fr 1fr;
            gap: 42px;
            align-items: center;
        }

        .gn-guide .gn-guide-photo {
            display: block;
            width: 100%;
            height: auto;
            object-fit: cover;
            border-radius: 18px;
        }

        .gn-guide .gn-guide-intro {
            padding: 35px 0 38px;
            border-bottom: 0;
        }

            .gn-guide .gn-guide-intro .gn-guide-photo {
                height: 355px;
                object-position: center;
            }

        .gn-guide .gn-guide-home-callout {
            display: flex;
            align-items: center;
            gap: 25px;
            background: #edf6f8;
            border-radius: 16px;
            padding: 20px 24px;
        }

            .gn-guide .gn-guide-home-callout .gn-guide-icon {
                width: 48px;
                height: 48px;
                color: #173d6b;
            }

            .gn-guide .gn-guide-home-callout p {
                font-size: .95rem;
                color: #244466;
                margin: 0;
                line-height: 1.5;
            }

        .gn-guide .gn-guide-benefits {
            background: linear-gradient(110deg, #f3f1f8, #f8f8fb);
            border: 0;
            padding: 36px 0;
        }

        .gn-guide .gn-guide-benefits-layout {
            display: grid;
            grid-template-columns: 1.4fr 1fr;
            gap: 34px;
            align-items: center;
        }

        .gn-guide .gn-guide-benefits h2 {
            font-size: clamp(1.8rem, 2.5vw, 2.35rem);
            margin-bottom: 12px;
        }

        .gn-guide .gn-guide-benefits .gn-guide-photo {
            height: 330px;
        }

        .gn-guide .gn-guide-benefit-grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 10px;
            margin: 15px 0;
        }

            .gn-guide .gn-guide-benefit-grid > div {
                background: #fff;
                border: 1px solid var(--gn-border);
                border-radius: 13px;
                padding: 15px 10px;
                text-align: center;
                display: flex;
                flex-direction: column;
                align-items: center;
                gap: 9px;
                font-size: .85rem;
                line-height: 1.35;
            }

            .gn-guide .gn-guide-benefit-grid .gn-guide-icon {
                color: var(--gn-purple);
                width: 30px;
                height: 30px;
            }

            .gn-guide .gn-guide-benefit-grid > div:nth-child(even) .gn-guide-icon {
                color: var(--gn-teal);
            }

        .gn-guide .gn-guide-checklist {
            list-style: none;
            padding: 0;
            margin: 20px 0;
            display: grid;
            gap: 10px;
        }

            .gn-guide .gn-guide-checklist li {
                position: relative;
                padding-left: 27px;
                line-height: 1.55;
            }

                .gn-guide .gn-guide-checklist li:before {
                    content: '\2713';
                    position: absolute;
                    left: 0;
                    color: var(--gn-teal);
                    font-weight: 700;
                }

        .gn-guide .gn-guide-benefits .gn-guide-checklist {
            font-size: .91rem;
            margin-bottom: 0;
        }

        .gn-guide .gn-guide-toc {
            margin-top: 36px;
            margin-bottom: 16px;
            padding: 25px 30px;
            background: #f7f8fa;
            border: 1px solid var(--gn-border);
            border-radius: 18px;
        }

            .gn-guide .gn-guide-toc h2 {
                font-family: Arial, Helvetica, sans-serif;
                font-size: 1.15rem;
                letter-spacing: 0;
                margin: 0 0 15px;
                color: var(--gn-teal);
            }

        .gn-guide .gn-guide-toc-links {
            display: flex;
            flex-wrap: wrap;
            gap: 9px;
        }

            .gn-guide .gn-guide-toc-links a {
                display: block;
                padding: 7px 12px;
                border: 1px solid #dae5e7;
                background: #fff;
                border-radius: 8px;
                font-size: .85rem;
                font-weight: 700;
                text-decoration: none;
            }

                .gn-guide .gn-guide-toc-links a:hover {
                    border-color: var(--gn-purple);
                    color: var(--gn-purple);
                }

        .gn-guide .gn-guide-layout {
            display: grid;
            grid-template-columns: 245px minmax(0, 1fr);
            gap: 42px;
            align-items: start;
            margin-bottom: 50px;
        }

        .gn-guide .gn-guide-sidebar {
            position: sticky;
            top: 25px;
            padding-top: 36px;
        }

        .gn-guide .gn-guide-sidebar-box {
            border: 1px solid var(--gn-border);
            border-radius: 16px;
            padding: 23px;
            background: #fff;
        }

            .gn-guide .gn-guide-sidebar-box h2 {
                font-family: Arial, Helvetica, sans-serif;
                font-size: 1.12rem;
                letter-spacing: 0;
                margin: 0 0 10px;
            }

            .gn-guide .gn-guide-sidebar-box a {
                display: block;
                padding: 9px 0;
                border-bottom: 1px solid var(--gn-border);
                font-size: .86rem;
                text-decoration: none;
                color: var(--gn-muted);
            }

                .gn-guide .gn-guide-sidebar-box a:hover,
                .gn-guide .gn-guide-sidebar-box a[aria-current] {
                    color: var(--gn-purple);
                }

            .gn-guide .gn-guide-sidebar-box .gn-guide-sidebar-cta {
                padding: 12px;
                margin-top: 18px;
                background: var(--gn-teal);
                color: #fff;
                border: 0;
                border-radius: 10px;
                text-align: center;
                font-weight: 700;
            }

        .gn-guide .gn-guide-compare,
        .gn-guide .gn-guide-payment-grid,
        .gn-guide .gn-guide-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 16px;
            margin: 25px 0;
        }

            .gn-guide .gn-guide-compare > div,
            .gn-guide .gn-guide-payment-grid > div,
            .gn-guide .gn-guide-card {
                padding: 24px;
                border: 1px solid var(--gn-border);
                border-radius: 16px;
                background: #fff;
            }

        .gn-guide ul {
            padding-left: 22px;
        }

        .gn-guide li {
            margin: 6px 0;
        }

        .gn-guide .gn-guide-payment-grid {
            grid-template-columns: repeat(4, minmax(0, 1fr));
        }

            .gn-guide .gn-guide-payment-grid > div {
                padding: 20px 15px;
                background: #f8f5fa;
            }

            .gn-guide .gn-guide-payment-grid strong {
                display: block;
                color: var(--gn-purple);
                margin-bottom: 7px;
            }

            .gn-guide .gn-guide-payment-grid span {
                font-size: .9rem;
                line-height: 1.4;
                display: block;
            }

        .gn-guide .gn-guide-note {
            color: var(--gn-muted);
            font-size: .93rem;
            background: #f1f7f8;
            border-radius: 12px;
            padding: 18px;
        }

        .gn-guide .gn-guide-callout {
            border-left: 4px solid var(--gn-purple);
            background: #f8f5fa;
            padding: 23px 25px;
            border-radius: 0 14px 14px 0;
            margin: 22px 0;
        }

            .gn-guide .gn-guide-callout p {
                margin: 0;
            }

        .gn-guide .gn-guide-service-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 12px;
            margin-top: 25px;
        }

            .gn-guide .gn-guide-service-grid a {
                padding: 17px;
                background: #f0f7f8;
                border: 1px solid #d9e7e9;
                border-radius: 12px;
                font-size: .95rem;
                font-weight: 700;
                text-decoration: none;
                line-height: 1.4;
            }

                .gn-guide .gn-guide-service-grid a:hover {
                    color: var(--gn-purple);
                    background: #f8f3f8;
                }

        .gn-guide .gn-guide-support-photo {
            height: 290px;
            object-position: 50% 35%;
            margin: 25px 0;
        }

        .gn-guide .gn-guide-timeline {
            display: grid;
            gap: 12px;
            margin-top: 25px;
        }

            .gn-guide .gn-guide-timeline > div {
                display: flex;
                align-items: center;
                gap: 18px;
                padding: 15px 20px;
                background: #f7f8fa;
                border: 1px solid var(--gn-border);
                border-radius: 13px;
            }

            .gn-guide .gn-guide-timeline strong {
                display: flex;
                align-items: center;
                justify-content: center;
                width: 38px;
                height: 38px;
                flex-shrink: 0;
                border-radius: 50%;
                background: var(--gn-purple);
                color: #fff;
            }

        .gn-guide details {
            border: 1px solid var(--gn-border);
            border-radius: 12px;
            padding: 18px 22px;
            margin: 12px 0;
            background: #fff;
        }

        .gn-guide summary {
            cursor: pointer;
            color: var(--gn-teal);
            font-weight: 700;
            line-height: 1.45;
        }

        .gn-guide details p {
            margin: 14px 0 0;
        }

        .gn-guide .gn-guide-final {
            border-radius: 22px;
            background: linear-gradient(120deg, #f7edf5, #edf7f7);
            padding: 38px 30px;
            margin: 38px 0 20px;
            text-align: center;
        }

            .gn-guide .gn-guide-final h2 {
                color: var(--gn-purple);
            }

            .gn-guide .gn-guide-final .gn-guide-buttons {
                justify-content: center;
            }

        .gn-guide .gn-guide-mobile-cta {
            display: none;
        }

        .gn-guide .gn-guide-back-to-top {
            display: flex;
            align-items: center;
            justify-content: center;
            position: fixed;
            bottom: 24px;
            right: 24px;
            background: var(--gn-purple);
            color: #fff;
            width: 46px;
            height: 46px;
            border-radius: 50%;
            box-shadow: 0 4px 18px #17233722;
            z-index: 25;
            text-decoration: none;
            opacity: 0;
            visibility: hidden;
            transition: opacity .2s, visibility .2s;
        }

            .gn-guide .gn-guide-back-to-top.show {
                opacity: 1;
                visibility: visible;
            }

            .gn-guide .gn-guide-back-to-top .gn-guide-icon {
                width: 24px;
                height: 24px;
            }

                .gn-guide .gn-guide-back-to-top .gn-guide-icon path {
                    stroke-width: 3.5px;
                }

        .gn-guide .gn-guide-footer {
            padding: 24px 0;
            text-align: center;
        }

@media (min-width: 1100px) {
    .gn-guide h1 > span {
        white-space: nowrap;
    }
}

@media (max-width: 1199px) {
    .gn-guide .gn-guide-nav {
        gap: 17px;
    }

    .gn-guide .gn-guide-fact {
        padding: 20px 18px;
        gap: 12px;
    }

    .gn-guide .gn-guide-fact-icon {
        width: 50px;
        height: 50px;
    }

        .gn-guide .gn-guide-fact-icon .gn-guide-icon {
            width: 32px;
            height: 32px;
        }

    .gn-guide .gn-guide-care-card {
        width: 310px;
        padding: 19px 17px;
        gap: 12px;
    }

    .gn-guide .gn-guide-hero-content {
        width: 68%;
    }

    .gn-guide .gn-guide-lede {
        max-width: 480px;
    }

    .gn-guide .gn-guide-btn {
        padding: 14px 18px;
    }

    .gn-guide .gn-guide-payment-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .gn-guide .gn-guide-container {
        width: calc(100% - 48px);
    }

    .gn-guide .gn-guide-header-inner {
        height: 70px;
    }

    .gn-guide .gn-guide-logo,
    .gn-guide .gn-guide-logo img {
        width: 135px;
    }

    .gn-guide .gn-guide-menu-toggle {
        display: block;
    }

    .gn-guide .gn-guide-header-call {
        margin-left: auto;
    }

    .gn-guide .gn-guide-nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        background: #fff;
        border-bottom: 1px solid var(--gn-border);
        box-shadow: 0 12px 20px #1723370e;
        padding: 10px 24px;
    }

        .gn-guide .gn-guide-nav.is-open {
            display: flex;
        }

        .gn-guide .gn-guide-nav a {
            padding: 12px;
        }

    .gn-guide .gn-guide-hero-inner {
        min-height: 470px;
        padding: 42px 0 145px;
    }

    .gn-guide .gn-guide-hero-content {
        width: 78%;
        max-width: 620px;
    }

    .gn-guide h1 {
        font-size: clamp(2.6rem, 5vw, 3.3rem);
    }

    .gn-guide .gn-guide-hero-picture img {
        object-position: 70% 50%;
    }

    .gn-guide .gn-guide-care-card {
        bottom: 35px;
        width: 330px;
    }

        .gn-guide .gn-guide-care-card p {
            font-size: .82rem;
        }

    .gn-guide .gn-guide-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gn-guide .gn-guide-fact:nth-child(2) {
        border-right: 0;
    }

    .gn-guide .gn-guide-fact:nth-child(-n+2) {
        border-bottom: 1px solid var(--gn-border);
    }

    .gn-guide .gn-guide-split {
        gap: 28px;
    }

    .gn-guide .gn-guide-intro .gn-guide-photo {
        height: 320px;
    }

    .gn-guide .gn-guide-benefits-layout {
        grid-template-columns: 1.2fr 1fr;
        gap: 24px;
    }

    .gn-guide .gn-guide-benefit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gn-guide .gn-guide-benefits .gn-guide-photo {
        height: 390px;
    }

    .gn-guide .gn-guide-layout {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .gn-guide .gn-guide-sidebar {
        display: none;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .gn-guide .gn-guide-hero-inner {
        display: block;
        padding: 42px 0 50px;
    }

    .gn-guide .gn-guide-care-card {
        position: relative;
        margin: 28px 0 0 auto;
        bottom: auto;
        right: auto;
    }

    .gn-guide .gn-guide-hero-content {
        width: 100%;
        max-width: 620px;
    }
}

@media (max-width: 767px) {
    .gn-guide .gn-guide-container {
        width: calc(100% - 32px);
    }

    .gn-guide .gn-guide-header-inner {
        height: 65px;
    }

    .gn-guide .gn-guide-logo,
    .gn-guide .gn-guide-logo img {
        width: 120px;
    }

    .gn-guide .gn-guide-header-call {
        display: none;
    }

    .gn-guide .gn-guide-menu-toggle {
        margin-left: auto;
    }

    .gn-guide .gn-guide-hero {
        background: #f7f6f2;
        overflow: visible;
    }

    .gn-guide .gn-guide-hero-picture {
        position: relative;
        inset: auto;
        display: block;
        height: 240px;
        z-index: auto;
    }

        .gn-guide .gn-guide-hero-picture img {
            object-position: 85% 38%;
        }

    .gn-guide .gn-guide-hero:after {
        inset: 150px 0 auto;
        height: 92px;
        background: linear-gradient(transparent, #f7f6f2);
        z-index: 0;
        pointer-events: none;
    }

    .gn-guide .gn-guide-hero-inner {
        display: block;
        min-height: 0;
        padding: 0 0 18px;
        margin-top: -10px;
        z-index: 1;
    }

    .gn-guide .gn-guide-hero-content {
        width: 100%;
        max-width: none;
    }

    .gn-guide .gn-guide-eyebrow {
        font-size: .72rem;
        margin-bottom: 10px;
        letter-spacing: .14em;
    }

    .gn-guide h1 {
        font-size: clamp(2rem, 6.8vw, 2.8rem);
        line-height: 1.06;
        margin-bottom: 13px;
        letter-spacing: -.045em;
    }

    .gn-guide .gn-guide-lede {
        font-size: 1rem;
        max-width: 100%;
        line-height: 1.5;
    }

    .gn-guide .gn-guide-buttons {
        flex-direction: column;
        gap: 10px;
        margin-top: 16px;
    }

    .gn-guide .gn-guide-btn {
        width: 100%;
        min-height: 48px;
        padding: 12px 16px;
        border-radius: 13px;
        font-size: .93rem;
    }

    .gn-guide .gn-guide-care-card {
        position: static;
        width: 100%;
        margin-top: 18px;
        padding: 19px 17px;
        border-radius: 18px;
        gap: 14px;
    }

        .gn-guide .gn-guide-care-card h2 {
            font-size: 1.2rem;
        }

        .gn-guide .gn-guide-care-card p {
            font-size: .85rem;
            line-height: 1.45;
            margin-bottom: 10px;
        }

        .gn-guide .gn-guide-care-card a {
            font-size: .87rem;
        }

    .gn-guide .gn-guide-facts {
        grid-template-columns: 1fr;
        margin-top: 0;
        gap: 12px;
        overflow: visible;
        border: 0;
        background: transparent;
        border-radius: 0;
        box-shadow: none;
        margin-bottom: 6px;
    }

    .gn-guide .gn-guide-fact {
        background: #fff;
        border: 1px solid var(--gn-border) !important;
        border-radius: 16px;
        padding: 16px 20px;
        box-shadow: 0 4px 12px #17233708;
        gap: 19px;
    }

    .gn-guide .gn-guide-fact-icon {
        width: 54px;
        height: 54px;
    }

    .gn-guide .gn-guide-fact strong {
        font-size: 1.15rem;
    }

    .gn-guide .gn-guide-fact div > span {
        font-size: .88rem;
        max-width: none;
    }

    .gn-guide .gn-guide-main {
        padding-bottom: 80px;
    }

    .gn-guide .gn-guide-split,
    .gn-guide .gn-guide-benefits-layout {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .gn-guide .gn-guide-intro {
        padding: 30px 0;
    }

        .gn-guide .gn-guide-intro .gn-guide-photo {
            height: 260px;
        }

    .gn-guide h2 {
        font-size: 1.9rem;
        margin-bottom: 15px;
    }

    .gn-guide p {
        font-size: 1rem;
    }

    .gn-guide .gn-guide-home-callout {
        gap: 18px;
        padding: 18px;
    }

        .gn-guide .gn-guide-home-callout .gn-guide-icon {
            width: 38px;
            height: 38px;
        }

    .gn-guide .gn-guide-benefits {
        padding: 28px 0;
    }

        .gn-guide .gn-guide-benefits .gn-guide-photo {
            height: 255px;
        }

    .gn-guide .gn-guide-benefit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gn-guide .gn-guide-toc {
        padding: 22px 18px;
        margin-top: 28px;
    }

    .gn-guide .gn-guide-toc-links a {
        font-size: .81rem;
    }

    .gn-guide .gn-guide-section {
        padding: 32px 0;
    }

    .gn-guide .gn-guide-compare,
    .gn-guide .gn-guide-grid {
        grid-template-columns: 1fr;
    }

    .gn-guide .gn-guide-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
    }

        .gn-guide .gn-guide-service-grid a {
            font-size: .88rem;
            padding: 14px 12px;
        }

    .gn-guide .gn-guide-support-photo {
        height: 260px;
    }

    .gn-guide .gn-guide-mobile-cta {
        position: fixed;
        z-index: 30;
        bottom: 0;
        left: 0;
        right: 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
        background: rgba(255, 255, 255, .98);
        border-top: 1px solid var(--gn-border);
        box-shadow: 0 -4px 18px #17233712;
    }

        .gn-guide .gn-guide-mobile-cta a {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            min-height: 48px;
            background: var(--gn-teal);
            color: #fff;
            border-radius: 9px;
            text-decoration: none;
            font-size: .92rem;
            font-weight: 700;
            line-height: 1.2;
        }

            .gn-guide .gn-guide-mobile-cta a:last-child {
                background: var(--gn-purple);
            }

        .gn-guide .gn-guide-mobile-cta .gn-guide-icon {
            width: 20px;
            height: 20px;
        }

    .gn-guide .gn-guide-back-to-top {
        bottom: calc(82px + env(safe-area-inset-bottom));
        right: 16px;
        width: 42px;
        height: 42px;
    }

    .gn-guide .gn-guide-final {
        padding: 30px 20px;
    }

    .gn-guide .gn-guide-layout {
        margin-bottom: 0;
    }
}

@media (max-width: 359px) {
    .gn-guide h1 {
        font-size: 1.92rem;
    }

    .gn-guide .gn-guide-hero-picture {
        height: 215px;
    }

    .gn-guide .gn-guide-service-grid,
    .gn-guide .gn-guide-payment-grid {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gn-guide * {
        transition: none !important;
    }
}
