.qapture-placeholder {
    max-width: 960px;
    margin: 0 auto;
    padding: 8rem 1.5rem;
}

.qapture-news-list,
.qapture-faq-list {
    margin-top: 2rem;
}

.qapture-news-list li + li,
.qapture-faq-list dt + dt {
    margin-top: 1rem;
}

.qapture-faq-list dd {
    margin: 0.5rem 0 1.5rem;
}

.qapture-single-article {
    max-width: 960px;
    margin: 0 auto;
    padding: 8rem 1.5rem;
}

.qapture-single-header {
    margin-bottom: 2rem;
}

.qapture-single-date {
    margin-bottom: 0.75rem;
    color: #777;
}

.qapture-contact-form-shell .qapture-cf7-form {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.qapture-contact-form-shell .qapture-cf7-field label {
    display: block;
    margin-bottom: 0.5rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: rgb(51, 51, 51);
}

.qapture-contact-form-shell .qapture-cf7-field br,
.qapture-contact-form-shell .qapture-cf7-submit br,
.qapture-contact-form-shell .wpcf7-form p > br {
    display: none;
}

.qapture-contact-form-shell .qapture-required,
.qapture-contact-form-shell .qapture-optional,
.qapture-contact-form-shell .qapture-note {
    display: inline-block;
    vertical-align: middle;
}

.qapture-contact-form-shell .qapture-required {
    margin-left: 0.5rem;
    padding: 0.15rem 0.5rem;
    border-radius: 2px;
    background: rgb(192, 57, 43);
    color: rgb(255, 255, 255);
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.qapture-contact-form-shell .qapture-optional {
    margin-left: 0.5rem;
    padding: 0.15rem 0.5rem;
    border-radius: 2px;
    background: rgb(240, 237, 232);
    color: rgb(136, 136, 136);
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.qapture-contact-form-shell .qapture-note {
    margin-left: 0.5rem;
    color: rgb(153, 153, 153);
    font-size: 0.72rem;
    font-weight: 400;
}

.qapture-contact-form-shell .wpcf7-form-control-wrap {
    display: block;
}

.qapture-contact-form-shell input[type="text"],
.qapture-contact-form-shell input[type="email"],
.qapture-contact-form-shell input[type="tel"],
.qapture-contact-form-shell select,
.qapture-contact-form-shell textarea {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid rgb(216, 212, 204);
    border-radius: 2px;
    outline: none;
    background: rgb(255, 255, 255);
    color: rgb(51, 51, 51);
    font-family: var(--font-noto-serif);
    font-size: 0.88rem;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.qapture-contact-form-shell select {
    padding-right: 2.5rem;
    appearance: none;
    color: rgb(102, 102, 102);
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none'/%3E%3C/svg%3E")
        right 1rem center / 12px 8px no-repeat,
        rgb(255, 255, 255);
}

.qapture-contact-form-shell textarea {
    height: 168px;
    min-height: 168px;
    resize: none;
}

.qapture-contact-form-shell input:focus,
.qapture-contact-form-shell select:focus,
.qapture-contact-form-shell textarea:focus {
    border-color: rgba(180, 140, 40, 0.72);
    box-shadow: 0 0 0 3px rgba(212, 168, 67, 0.12);
}

.qapture-contact-form-shell .qapture-cf7-submit {
    padding-top: 0.5rem;
}

.qapture-contact-form-shell .wpcf7-submit {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 2rem;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark, #b8922a) 100%);
    color: rgb(255, 255, 255);
    font-family: var(--font-noto-serif);
    font-size: 0.92rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    transition: opacity 0.2s, box-shadow 0.2s, transform 0.15s;
}

.qapture-contact-form-shell .wpcf7-submit:hover {
    opacity: 0.95;
    box-shadow: 0 8px 22px rgba(180, 140, 40, 0.22);
}

.qapture-contact-form-shell .wpcf7-spinner {
    margin: 0.75rem auto 0;
    display: block;
}

.qapture-contact-form-shell .wpcf7-not-valid-tip {
    margin-top: 0.45rem;
    color: rgb(192, 57, 43);
    font-size: 0.74rem;
    line-height: 1.6;
}

.qapture-contact-form-shell .wpcf7 form.invalid .wpcf7-response-output,
.qapture-contact-form-shell .wpcf7 form.failed .wpcf7-response-output,
.qapture-contact-form-shell .wpcf7 form.sent .wpcf7-response-output {
    margin: 1.25rem 0 0;
    padding: 0.9rem 1rem;
    border-radius: 2px;
    font-size: 0.82rem;
    line-height: 1.8;
}

.qapture-contact-form-shell .wpcf7 form.sent .wpcf7-response-output {
    border-color: rgba(45, 110, 45, 0.2);
    background: rgba(45, 110, 45, 0.08);
    color: rgb(45, 110, 45);
}

.qapture-contact-form-shell .wpcf7 form.invalid .wpcf7-response-output,
.qapture-contact-form-shell .wpcf7 form.failed .wpcf7-response-output {
    border-color: rgba(192, 57, 43, 0.18);
    background: rgba(192, 57, 43, 0.06);
    color: rgb(142, 36, 28);
}

.qapture-contact-form-empty {
    padding: 1.25rem 1.4rem;
    border: 1px dashed rgba(180, 140, 40, 0.28);
    background: rgba(212, 168, 67, 0.06);
    color: rgb(102, 102, 102);
    font-size: 0.84rem;
    line-height: 1.9;
}

.qapture-contact-form-empty p + p {
    margin-top: 0.6rem;
}

.corporate-message-desktop-line {
    display: block;
}

.corporate-message-mobile-break {
    display: none;
}

.qapture-hero-layout {
    display: grid;
    grid-template-columns: 55% 45%;
    grid-template-areas:
        "copy mockup"
        "text mockup"
        "highlights mockup"
        "cta mockup";
}

.qapture-hero-copy {
    grid-area: copy;
}

.qapture-hero-text {
    grid-area: text;
}

.qapture-hero-mockup {
    grid-area: mockup;
}

.qapture-hero-highlights {
    grid-area: highlights;
}

.qapture-hero-cta {
    grid-area: cta;
}

.qapture-hero-mobile {
    display: none;
}

.qapture-front-page .app-dl-grid {
    grid-template-columns: 1fr clamp(235px, 31vw, 340px);
    grid-template-areas:
        "copy mockup"
        "actions mockup";
    gap: clamp(0.15rem, 0.8vw, 0.55rem);
    align-items: center;
}

.qapture-front-page .app-dl-copy {
    grid-area: copy;
}

.qapture-front-page .app-dl-mockup {
    grid-area: mockup;
}

.qapture-front-page .app-dl-actions-wrap {
    grid-area: actions;
}

.qapture-front-page .app-dl-google-play-sp {
    display: none;
}

@media (max-width: 767px) {
    .qapture-front-page .qapture-hero-desktop {
        display: none !important;
    }

    .qapture-front-page .qapture-hero-mobile {
        display: flex !important;
        flex-direction: column;
        gap: 1rem;
        width: 100%;
    }

    .qapture-front-page [data-loc="client/src/pages/Home.tsx:205"] {
        min-height: auto !important;
        align-items: flex-start !important;
        padding-top: 74px !important;
        padding-bottom: 2.25rem !important;
    }

    .qapture-front-page [data-loc="client/src/pages/Home.tsx:327"] {
        display: none !important;
    }

    .qapture-front-page .qapture-hero-mobile-copy h1 {
        line-height: 1.2 !important;
        margin-bottom: 0 !important;
    }

    .qapture-front-page .qapture-hero-mobile-text {
        display: flex;
        flex-direction: column;
        gap: 0.55rem;
    }

    .qapture-front-page .qapture-hero-mobile-mockup {
        padding-top: 0.5rem;
    }

    .qapture-front-page .qapture-hero-mobile-mockup img {
        display: block;
        width: min(100%, 320px);
        margin: 0 auto;
        filter: drop-shadow(rgba(0, 0, 0, 0.24) 0px 12px 26px) drop-shadow(rgba(0, 0, 0, 0.14) 0px 3px 10px);
    }

    .qapture-front-page .qapture-hero-mobile-highlights {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 0.5rem !important;
    }

    .qapture-front-page .qapture-hero-mobile-highlights .luxury-badge {
        width: 100%;
        min-width: 0;
        padding: 0.75rem 0.5rem !important;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        gap: 0.45rem;
        text-align: center;
    }

    .qapture-front-page .qapture-hero-mobile-highlights .luxury-badge-icon {
        width: 2.4rem;
        height: 2.4rem;
    }

    .qapture-front-page .qapture-hero-mobile-highlights .luxury-badge-label {
        font-size: 0.74rem;
        line-height: 1.4;
    }

    .qapture-front-page .qapture-hero-mobile-highlights .luxury-badge-sub {
        font-size: 0.58rem;
        line-height: 1.35;
    }

    .qapture-front-page .qapture-hero-mobile-cta {
        display: block;
    }

    .qapture-front-page .qapture-hero-mobile-cta a {
        display: flex !important;
        width: 100% !important;
        min-height: 48px !important;
        padding: 0.95rem 1.2rem !important;
        font-size: 0.95rem !important;
        letter-spacing: 0.04em !important;
        white-space: normal !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .qapture-front-page [data-loc="client/src/pages/Home.tsx:1431"],
    .qapture-front-page [data-loc="client/src/pages/Home.tsx:1446"] {
        white-space: normal !important;
        overflow-wrap: anywhere;
    }

    .qapture-front-page [data-loc="client/src/pages/Home.tsx:1541"] {
        grid-template-columns: 3.5rem minmax(0, 1fr) !important;
        gap: 0 1rem !important;
    }

    .qapture-front-page [data-loc="client/src/pages/Home.tsx:1591"] {
        min-width: 0;
    }

    .qapture-front-page [data-loc="client/src/pages/Home.tsx:1592"],
    .qapture-front-page [data-loc="client/src/pages/Home.tsx:1605"] {
        max-width: none !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .qapture-front-page [data-loc="client/src/pages/Home.tsx:498"] {
        padding: 2.5rem 1rem !important;
    }

    .qapture-front-page [data-loc="client/src/pages/Home.tsx:1196"] {
        white-space: normal !important;
        overflow-wrap: anywhere;
    }

    .qapture-front-page [data-loc="client/src/pages/Home.tsx:1247"] {
        min-width: 0;
        padding: 2rem 1rem !important;
    }

    .qapture-front-page [data-loc="client/src/pages/Home.tsx:1319"],
    .qapture-front-page [data-loc="client/src/pages/Home.tsx:1332"],
    .qapture-front-page [data-loc="client/src/pages/Home.tsx:1357"] {
        max-width: 100% !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .qapture-front-page [data-loc="client/src/pages/Home.tsx:1346"] {
        display: inline-flex !important;
        max-width: 100% !important;
        flex-wrap: wrap;
    }

    .qapture-front-page .app-dl-grid {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "copy"
            "mockup"
            "actions" !important;
        gap: 1rem !important;
    }

    .qapture-front-page .app-dl-copy,
    .qapture-front-page .app-dl-mockup,
    .qapture-front-page .app-dl-actions-wrap {
        min-width: 0;
    }

    .qapture-front-page .app-dl-mockup {
        justify-content: center !important;
        transform: none !important;
        margin-top: 0 !important;
    }

    .qapture-front-page .app-dl-mockup img {
        max-width: min(100%, 260px) !important;
        margin: 0 auto;
    }

    .qapture-front-page .app-dl-actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        align-items: center !important;
        margin-top: 0 !important;
        margin-bottom: 1rem !important;
        transform: none !important;
    }

    .qapture-front-page .app-dl-actions > a {
        width: 100%;
        justify-content: center !important;
    }

    .qapture-front-page .app-dl-actions > a img,
    .qapture-front-page .app-dl-actions > a > div {
        width: 100%;
    }

    .qapture-front-page .app-dl-actions > a img {
        object-fit: contain;
    }

    .qapture-front-page .app-dl-google-play-pc {
        display: none !important;
    }

    .qapture-front-page .app-dl-google-play-sp {
        display: block !important;
        height: 52px !important;
        width: 100% !important;
        margin-top: 0 !important;
    }

    .qapture-front-page .app-dl-note {
        max-width: 100% !important;
    }

    .qapture-services-page [data-loc="client/src/pages/Services.tsx:642"] {
        grid-template-columns: 1fr !important;
        gap: 1.25rem !important;
    }

    .qapture-services-page [data-loc="client/src/pages/Services.tsx:302"] {
        max-width: none !important;
        width: 100% !important;
    }

    .qapture-services-page [data-loc="client/src/pages/Services.tsx:642"] > [data-loc="client/src/pages/Services.tsx:652"] {
        order: 2 !important;
        min-width: 0;
    }

    .qapture-services-page [data-loc="client/src/pages/Services.tsx:642"] > [data-loc="client/src/pages/Services.tsx:808"] {
        order: 1 !important;
    }

    .qapture-news-page [data-loc="client/src/pages/News.tsx:257"] {
        gap: 0.45rem !important;
        margin-bottom: 1.6rem !important;
        padding-bottom: 0.9rem !important;
    }

    .qapture-news-page [data-loc="client/src/pages/News.tsx:238"] {
        text-align: center !important;
        margin-inline: auto !important;
    }

    .qapture-news-page [data-loc="client/src/pages/News.tsx:268"] {
        display: inline-flex !important;
        width: auto !important;
        max-width: max-content !important;
        min-height: 40px !important;
        padding: 0.5rem 0.85rem !important;
        font-size: 0.74rem !important;
        align-items: center;
        justify-content: center;
        white-space: nowrap;
        flex: 0 0 auto;
    }

    .qapture-news-page [data-loc="client/src/pages/News.tsx:90"] {
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "meta meta"
            "content arrow" !important;
        gap: 0.75rem !important;
        padding: 1rem 0 !important;
        align-items: start !important;
    }

    .qapture-news-page [data-loc="client/src/pages/News.tsx:105"] {
        grid-area: meta;
        flex-direction: row !important;
        align-items: center !important;
        flex-wrap: wrap;
        gap: 0.35rem !important;
        padding-top: 0 !important;
        min-width: 0;
    }

    .qapture-news-page [data-loc="client/src/pages/News.tsx:65"] {
        display: inline-flex !important;
        width: fit-content !important;
        max-width: 100% !important;
        white-space: nowrap;
    }

    .qapture-news-page [data-loc="client/src/pages/News.tsx:120"] {
        grid-area: content;
        min-width: 0;
    }

    .qapture-news-page [data-loc="client/src/pages/News.tsx:121"] {
        font-size: 0.95rem !important;
        line-height: 1.6 !important;
    }

    .qapture-news-page [data-loc="client/src/pages/News.tsx:152"] {
        grid-area: arrow;
        padding-top: 0 !important;
        align-self: center;
        justify-self: end;
    }

    .qapture-news-detail-page [data-loc="client/src/pages/NewsDetail.tsx:186"] {
        max-width: none !important;
        width: 100% !important;
    }

    .qapture-about-page .corporate-message-title {
        width: 100%;
        max-width: none !important;
    }

    .qapture-about-page [data-loc="client/src/pages/About.tsx:94"] {
        white-space: normal !important;
        overflow-wrap: anywhere;
        max-width: none !important;
    }

    .qapture-about-page [data-loc="client/src/components/Navigation.tsx:39"] {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 999 !important;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        backface-visibility: hidden;
    }

    .qapture-about-page .corporate-message-desktop-line {
        display: inline;
    }

    .qapture-about-page .corporate-message-mobile-break {
        display: block;
    }
}
