/* Mobile layout for the AI invitation page, matched to the approved prototype. */

@media (max-width: 768px) {
    .subpage[data-page="invitation"] {
        background: #071d68;
    }

    .subpage[data-page="invitation"] .feature-hero {
        align-items: flex-start;
        width: 100%;
        height: min(120vw, 450px);
        min-height: 0;
        padding: 38px 0 0;
        background-color: transparent;
        background-image: url('../img/subpages/invitation/banner-mobile.webp') !important;
        background-position: 93% bottom;
        background-size: cover;
    }

    .subpage[data-page="invitation"] .feature-hero .container {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0 10px;
    }

    .subpage[data-page="invitation"] .feature-hero-content {
        align-items: center;
        width: 100%;
        max-width: none;
        text-align: center;
    }

    .subpage[data-page="invitation"] .feature-hero h1 {
        margin: 0 0 5px;
        font-size: 35px;
        line-height: 1.25;
        text-shadow: 0 3px 15px rgba(0, 16, 78, 0.35);
    }

    .subpage[data-page="invitation"] .feature-hero p {
        max-width: 355px;
        margin: 0;
        font-size: 14px;
        line-height: 1.6;
    }

    .subpage[data-page="invitation"] .feature-hero .btn-hero {
        align-self: center;
        width: 132px;
        min-width: 132px;
        margin: 20px 0 0;
        padding: 7px 12px;
        font-size: 16px;
        line-height: 1.25;
    }

    .subpage[data-page="invitation"] .feature-content {
        padding: 28px 0 34px;
        background-color: #071d68;
        background-position: center bottom;
    }

    .subpage[data-page="invitation"] .feature-content > .container {
        padding-right: 20px;
        padding-left: 20px;
    }

    .subpage[data-page="invitation"] .feature-list {
        gap: 28px;
    }

    .subpage[data-page="invitation"] .feature-row,
    .subpage[data-page="invitation"] .feature-row.is-reversed {
        grid-template-columns: minmax(0, 1fr);
        gap: 22px;
        min-height: 0;
        padding: 18px 18px 24px;
    }

    .subpage[data-page="invitation"] .feature-row:nth-child(1) {
        min-height: 369px;
    }

    .subpage[data-page="invitation"] .feature-row:nth-child(2) {
        min-height: 429px;
    }

    .subpage[data-page="invitation"] .feature-row:nth-child(3) {
        min-height: 440px;
    }

    .subpage[data-page="invitation"] .feature-row.is-framed {
        border-color: rgba(111, 160, 255, 0.28);
        border-radius: 18px;
        background: rgba(6, 29, 102, 0.12);
        box-shadow: inset 0 0 24px rgba(73, 129, 255, 0.04);
    }

    .subpage[data-page="invitation"] .feature-row.is-framed:hover,
    .subpage[data-page="invitation"] .feature-content .feature-row.reveal-on-scroll.is-visible:hover {
        transform: none;
        border-color: rgba(111, 160, 255, 0.28);
        background: rgba(6, 29, 102, 0.12);
        box-shadow: inset 0 0 24px rgba(73, 129, 255, 0.04);
    }

    .subpage[data-page="invitation"] .feature-row.is-reversed .feature-visual {
        order: 1;
    }

    .subpage[data-page="invitation"] .feature-row.is-reversed .feature-copy {
        order: 2;
    }

    .subpage[data-page="invitation"] .feature-visual {
        height: 150px;
    }

    .subpage[data-page="invitation"] .feature-row:nth-child(2) .feature-visual {
        height: 170px;
    }

    .subpage[data-page="invitation"] .feature-row:nth-child(3) .feature-visual {
        height: 179px;
    }

    .subpage[data-page="invitation"] .feature-visual img {
        width: min(100%, 210px);
        max-width: 210px;
        max-height: 150px;
    }

    .subpage[data-page="invitation"] .feature-row:nth-child(2) .feature-visual img {
        width: min(100%, 235px);
        max-width: 235px;
        max-height: 170px;
    }

    .subpage[data-page="invitation"] .feature-row:nth-child(3) .feature-visual img {
        width: min(100%, 260px);
        max-width: 260px;
        max-height: 179px;
    }

    .subpage[data-page="invitation"] .feature-row.is-framed:hover .feature-visual img {
        transform: none;
        filter: none;
    }

    .subpage[data-page="invitation"] .feature-content .feature-row.reveal-on-scroll,
    .subpage[data-page="invitation"] .feature-content .feature-row.reveal-on-scroll.is-visible {
        opacity: 1;
        transform: none;
        transition: border-color 0.35s ease, background 0.35s ease, box-shadow 0.35s ease;
    }

    .subpage[data-page="invitation"] .feature-copy h2 {
        margin: 0 0 10px;
        font-size: 20px;
        line-height: 1.35;
        text-align: center;
    }

    .subpage[data-page="invitation"] .feature-copy p {
        font-size: 12px;
        line-height: 1.75;
        text-align: justify;
    }

    .subpage[data-page="invitation"] .process {
        padding: 80px 0 28px;
    }

    .subpage[data-page="invitation"] .process .container {
        padding-right: 34px;
        padding-left: 34px;
    }

    .subpage[data-page="invitation"] .process-wrapper {
        padding: 0;
    }

    .subpage[data-page="invitation"] .process-title {
        margin-bottom: 18px;
        font-size: 22px;
    }

    .subpage[data-page="invitation"] .process-cards {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .subpage[data-page="invitation"] .process-card {
        min-height: 95px;
    }

}

@media (max-width: 350px) {
    .subpage[data-page="invitation"] .feature-hero h1 {
        font-size: 31px;
    }

    .subpage[data-page="invitation"] .feature-hero p {
        font-size: 14px;
    }

}
