.new-patients-hero {
    background:
        linear-gradient(90deg, rgba(23, 38, 90, 0.9), rgba(23, 38, 90, 0.58)),
        url("https://images.unsplash.com/photo-1629909613654-28e377c37b09?auto=format&fit=crop&w=1800&q=85") center / cover;
}

.patient-special,
.first-visit,
.family-care,
.patient-details {
    padding: 92px 0;
}

.patient-special__grid,
.family-care__grid,
.patient-details__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr);
    gap: 58px;
    align-items: stretch;
}

.patient-special__offer {
    padding: 38px;
    color: var(--color-white);
    background: var(--color-teal-dark);
    border-radius: var(--radius);
    box-shadow: var(--shadow-soft);
}

.patient-special__offer .eyebrow {
    color: var(--color-sky);
}

.patient-special__price {
    margin: 12px 0 8px;
    color: var(--color-gold);
    font-family: var(--font-display);
    font-size: clamp(4rem, 8vw, 7rem);
    font-weight: 700;
    line-height: 0.9;
}

.patient-special__offer h2,
.patient-special__copy h2,
.family-care h2,
.patient-details h2 {
    margin: 0;
    color: var(--color-ink);
    font-family: var(--font-display);
    font-size: clamp(2rem, 4vw, 3.4rem);
    line-height: 1.08;
}

.patient-special__offer h2 {
    margin-bottom: 28px;
    color: var(--color-white);
    font-size: clamp(1.8rem, 3.2vw, 2.8rem);
}

.patient-special__offer .btn-primary {
    color: var(--color-ink);
    background: var(--color-gold);
}

.patient-special__copy p,
.family-care p,
.patient-details p,
.visit-step p {
    color: var(--color-muted);
}

.first-visit {
    background: linear-gradient(180deg, var(--color-cream), #ffffff);
}

.first-visit__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    align-items: flex-start;
}

.first-visit__image,
.family-care__image {
    margin: 0;
    overflow: hidden;
    border-radius: var(--radius);
    box-shadow: var(--shadow-soft);
}

.first-visit__image {
    position: sticky;
    top: 130px;
}

.first-visit__image img,
.family-care__image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 520px;
    object-fit: cover;
}

.visit-steps {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding-bottom: 10px;
}

.visit-step {
    padding: 28px;
    background: var(--color-white);
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    box-shadow: 0 8px 20px rgba(19, 51, 63, 0.05);
    scroll-snap-align: start;
}

.visit-step span {
    display: inline-grid;
    width: 44px;
    height: 44px;
    margin-bottom: 22px;
    place-items: center;
    color: var(--color-teal);
    background: var(--color-teal-soft);
    border-radius: 999px;
    font-weight: 800;
}

.visit-step h3,
.family-care__panel h3,
.patient-details__notice h3 {
    margin: 0 0 12px;
    color: var(--color-ink);
    font-family: var(--font-display);
    font-size: 1.5rem;
    line-height: 1.1;
}

.visit-step p {
    margin: 0;
}

.family-care {
    background: var(--color-teal-soft);
}

.family-care__content {
    display: grid;
    gap: 26px;
}

.family-care__panel,
.patient-details__notice {
    padding: 34px;
    background: var(--color-teal-soft);
    border: 1px solid rgba(33, 51, 108, 0.14);
    border-radius: var(--radius);
}

.family-care__panel {
    background: #fff;
}

.family-care__panel .btn {
    margin-top: 12px;
}

.patient-details {
    background: #fff;
}

.patient-details__grid {
    align-items: start;
    grid-template-columns: 1fr;
    gap: 24px;
}

.patient-details__note,
.patient-details__notice {
    min-height: 100%;
}

.patient-details__note {
    padding: 34px;
    background: var(--color-white);
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    box-shadow: 0 8px 20px rgba(19, 51, 63, 0.05);
}

.patient-details__note p,
.patient-details__notice p {
    font-size: 0.95rem;
}

@media (max-width: 1120px) {
    .first-visit__grid {
        grid-template-columns: 1fr;
    }

    .first-visit__image {
        position: static;
    }

    .first-visit__image img {
        min-height: 420px;
    }
}

@media (max-width: 980px) {
    .patient-special__grid,
    .family-care__grid,
    .patient-details__grid {
        grid-template-columns: 1fr;
    }

    .family-care__image {
        order: -1;
    }

    .family-care__image img {
        min-height: 420px;
    }
}

@media (max-width: 700px) {
    .patient-special,
    .first-visit,
    .family-care,
    .patient-details {
        padding: 64px 0;
    }

    .visit-steps {
        margin-right: -20px;
        padding-right: 20px;
    }

    .visit-step {
        flex-basis: min(280px, 82vw);
    }

    .first-visit__image img,
    .family-care__image img {
        min-height: 320px;
    }

    .patient-special__offer,
    .family-care__panel,
    .patient-details__note,
    .patient-details__notice {
        padding: 28px;
    }
}
