.hero-home {
    position: relative;
    padding-block: 4.2rem 3.6rem;
}

.hero-home::before {
    content: "";
    position: absolute;
    inset: 1.2rem 0 0;
    border-radius: 0 0 42px 42px;
    background:
        linear-gradient(110deg, rgba(248, 242, 232, 0.82) 8%, rgba(248, 242, 232, 0.45) 42%, rgba(255, 255, 255, 0.14) 100%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(79, 138, 120, 0.08)),
        url('../img/sunrise.jpg') center center / cover no-repeat;
    box-shadow: inset 0 -40px 80px rgba(255, 255, 255, 0.18);
}

.hero-home .hero-grid {
    position: relative;
    z-index: 1;
    gap: 2.2rem;
    padding: 2.1rem;
    border-radius: var(--radius-xl);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.32), rgba(255, 255, 255, 0.08));
    border: 1px solid rgba(255, 255, 255, 0.26);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(10px);
}

.hero-home-copy {
    padding: 2rem 2.15rem;
    border-radius: 30px;
    background: rgba(255, 252, 246, 0.74);
    border: 1px solid rgba(255, 255, 255, 0.34);
    box-shadow: 0 18px 34px rgba(114, 132, 123, 0.12);
}

.hero-home-copy .lead {
    max-width: 58ch;
    color: #536662;
}

.hero-home-card {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(246, 251, 247, 0.8));
    border-color: rgba(105, 162, 143, 0.12);
}

.hero-scene {
    position: relative;
    padding-block: 4rem 2.6rem;
}

.hero-scene::before {
    content: "";
    position: absolute;
    inset: 1rem 0 0;
    border-radius: 0 0 38px 38px;
    background:
        linear-gradient(115deg, rgba(250, 245, 236, 0.9) 10%, rgba(250, 245, 236, 0.52) 45%, rgba(255, 255, 255, 0.18) 100%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(105, 162, 143, 0.08)),
        url('../img/sunrise.jpg') center center / cover no-repeat;
    box-shadow: inset 0 -30px 70px rgba(255, 255, 255, 0.2);
}

.hero-scene-panel {
    position: relative;
    z-index: 1;
    padding: 2.1rem 2.3rem;
    border-radius: 30px;
    background: rgba(255, 252, 247, 0.76);
    border: 1px solid rgba(255, 255, 255, 0.34);
    box-shadow: 0 20px 36px rgba(114, 132, 123, 0.12);
    backdrop-filter: blur(8px);
}

.hero-scene-panel .lead {
    max-width: 56ch;
    color: #536662;
}

.card,
.hero-card,
.prose-card,
.card-offer,
.hero-home-copy,
.hero-scene-panel,
.footer-grid > div,
.brand,
.brand span {
    min-width: 0;
}

.hero h1,
.hero-compact h1,
.section h2,
.card h2,
.card h3,
.site-footer h3,
.lead,
.card p,
.prose-card p,
.prose-card li,
.note-block p,
.note-block strong,
.review-card footer,
.footer-grid p,
.footer-grid a,
.text-link,
.selection-note,
.brand strong,
.brand small {
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
}

.meta-row span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.offer-hero-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.9fr);
    gap: 2rem;
    align-items: center;
}

.offer-hero-copy {
    min-width: 0;
}

.offer-hero-visual {
    padding: 0;
    overflow: hidden;
}

.offer-hero-image {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

@media (max-width: 900px) {
    .hero-home::before {
        inset: 0.8rem 0 0;
        border-radius: 0 0 28px 28px;
    }

    .hero-home .hero-grid {
        padding: 1rem;
    }

    .hero-home-copy,
    .hero-scene-panel {
        padding: 1.5rem;
    }

    .hero-scene::before {
        inset: 0.8rem 0 0;
        border-radius: 0 0 26px 26px;
    }

    .offer-hero-layout {
        grid-template-columns: 1fr;
    }
}
