.hero-split--packages .hero-floating-card {
    width: min(240px, 70%);
    padding: var(--space-3);
}

.hero-split--packages .hero-floating-title {
    font-size: var(--font-size-sm);
    margin-bottom: var(--space-1);
}

.hero-split--packages .hero-floating-meta,
.hero-split--packages .hero-floating-cta,
.hero-split--packages .hero-floating-cta p {
    font-size: var(--font-size-xs);
    line-height: var(--line-height-normal);
}

.hero-split--packages .hero-floating-cta p {
    margin-bottom: var(--space-3);
}

.hero-split--packages .hero-floating-btn {
    margin-top: 0;
    padding: 8px 16px;
    font-size: var(--font-size-xs);
}

.package-card--highlight {
    border-color: rgba(203, 170, 112, 0.9) !important;
    box-shadow: 0 18px 45px rgba(130, 101, 54, 0.16);
}

.package-card--highlight .package-pill {
    border-color: rgba(203, 170, 112, 0.9);
    color: var(--gray-700);
}

@media (min-width: 601px) {
    .package-column-toggle {
        cursor: default;
        pointer-events: none;
    }
}

@media (max-width: 768px) {
    .hero-split--packages .hero-floating-card {
        width: 100%;
    }
}

@media (max-width: 1024px) {
    .section-packages-hero,
    .section-packages-list,
    .section-packages-benefits,
    .section-packages-consultation {
        padding-top: var(--space-10);
        padding-bottom: var(--space-10);
    }

    .hero-split--packages .hero-panel {
        min-height: 0;
    }

    .hero-split--packages .hero-title {
        max-width: none;
    }
}

@media (max-width: 768px) {
    body.layout-shell {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
        overflow-x: clip;
    }

    .section-packages-hero,
    .section-packages-list,
    .section-packages-benefits,
    .section-packages-consultation {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        padding-top: var(--space-8);
        padding-bottom: var(--space-8);
    }

    .layout-main,
    .section-packages-hero .container,
    .section-packages-list .container,
    .section-packages-benefits .container,
    .section-packages-consultation .container,
    .hero-split--packages,
    .hero-split--packages > *,
    .packages-grid--detailed,
    .packages-grid--detailed > *,
    .package-card,
    .package-card > *,
    .package-columns,
    .package-columns > *,
    .benefits-grid,
    .benefits-grid > *,
    .cta-band--packages,
    .cta-band--packages > * {
        min-width: 0;
        max-width: 100%;
    }

    .hero-split--packages {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--space-5);
    }

    .hero-split--packages .hero-panel {
        padding: var(--space-5);
        border-radius: 20px;
    }

    .hero-split--packages .hero-title {
        font-size: clamp(2rem, 8vw, 2.5rem);
        margin-bottom: var(--space-3);
    }

    .hero-split--packages .hero-copy {
        font-size: var(--font-size-base);
        line-height: var(--line-height-normal);
        margin-bottom: var(--space-5);
    }

    .hero-split--packages .hero-actions {
        gap: var(--space-2);
    }

    .hero-split--packages .hero-meta {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--space-3);
        margin-top: var(--space-5);
    }

    .hero-media-frame {
        border-radius: 22px;
    }

    .hero-media-frame .hero-media-img {
        min-height: 0;
        max-height: none;
        height: clamp(220px, 68vw, 360px);
    }

    .hero-split--packages .hero-floating-card {
        margin-top: var(--space-3);
        border-radius: 16px;
    }

    .section-header {
        gap: var(--space-3);
        margin-bottom: var(--space-6);
    }

    .section-heading {
        font-size: var(--font-size-2xl);
    }

    .section-intro,
    .package-description {
        font-size: var(--font-size-base);
        line-height: var(--line-height-normal);
    }

    .packages-grid--detailed {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--space-5);
    }

    .package-card {
        border-radius: 18px;
        padding: var(--space-5);
        gap: var(--space-3);
    }

    .package-heading {
        flex-direction: column;
        gap: var(--space-2);
    }

    .package-name {
        font-size: var(--font-size-xl);
    }

    .package-pill {
        align-self: flex-start;
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
        line-height: 1.45;
    }

    .package-media,
    .package-media--side {
        max-height: none;
        margin-top: var(--space-2);
        margin-bottom: var(--space-2);
    }

    .package-media-img {
        height: 210px;
        max-height: none;
    }

    .package-columns {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--space-4);
        margin-top: var(--space-2);
    }

    .package-description,
    .package-list li,
    .package-note,
    .section-intro,
    .cta-band-copy {
        overflow-wrap: anywhere;
    }

    .package-col-title {
        margin-bottom: var(--space-1);
    }

    .package-list {
        font-size: var(--font-size-sm);
        line-height: 1.55;
    }

    .package-note {
        border-radius: 14px;
        padding: var(--space-3);
        line-height: 1.5;
    }

    .benefits-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--space-4);
    }

    .benefit-card {
        border-radius: 18px;
        padding: var(--space-5);
    }

    .benefit-list--inline {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: var(--space-2);
    }

    .benefit-list--inline li {
        width: 100%;
    }

    .cta-band--packages {
        padding: var(--space-5);
        border-radius: 20px;
    }

    .cta-band--packages .cta-band-actions {
        width: 100%;
        flex-direction: column;
    }

    .cta-band--packages .btn {
        width: 100%;
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
        text-align: center;
    }

    .hero-split--packages .btn,
    .package-cta .btn {
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
        text-align: center;
    }
}

@media (max-width: 480px) {
    .section-packages-hero,
    .section-packages-list,
    .section-packages-benefits,
    .section-packages-consultation {
        padding-top: var(--space-6);
        padding-bottom: var(--space-6);
    }

    .hero-split--packages .hero-panel,
    .package-card,
    .benefit-card,
    .cta-band--packages {
        padding: var(--space-4);
    }

    .hero-split--packages .hero-actions,
    .hero-split--packages .hero-actions .btn,
    .package-cta,
    .package-cta .btn {
        width: 100%;
    }

    .hero-split--packages .hero-actions .btn,
    .package-cta .btn {
        min-height: 42px;
    }

    .hero-split--packages .hero-meta {
        grid-template-columns: minmax(0, 1fr);
    }

    .hero-media-frame .hero-media-img,
    .package-media-img {
        height: 190px;
    }

    .hero-split--packages .hero-floating-card {
        padding: var(--space-3);
    }

    .package-pill {
        font-size: 0.68rem;
    }

    .package-cta--split {
        align-items: stretch;
    }
}

@media (max-width: 600px) {
    .package-columns {
        gap: var(--space-2);
    }

    .package-columns > .is-mobile-collapsible {
        overflow: hidden;
        border: 1px solid rgba(197, 164, 109, 0.5);
        border-radius: 12px;
        background: rgba(255, 255, 255, 0.44);
    }

    .package-column-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding: 12px;
        border: 0;
        background: transparent;
        color: var(--gray-700);
        font-family: var(--font-sans);
        font-size: var(--font-size-xs);
        font-weight: 500;
        letter-spacing: 0.14em;
        line-height: 1.4;
        text-align: left;
        text-transform: uppercase;
    }

    .package-column-toggle::after {
        content: "+";
        flex: 0 0 auto;
        margin-left: var(--space-3);
        color: var(--color-warning);
        font-size: 1.25rem;
        font-weight: 400;
        line-height: 1;
    }

    .is-mobile-collapsible.is-open .package-column-toggle {
        border-bottom: 1px solid rgba(197, 164, 109, 0.4);
    }

    .is-mobile-collapsible.is-open .package-column-toggle::after {
        content: "–";
    }

    .package-columns > .is-mobile-collapsible .package-list {
        display: none;
        margin: 0;
        padding: 0 12px 12px 1.8em;
    }

    .package-columns > .is-mobile-collapsible.is-open .package-list {
        display: block;
    }
}
