@media (max-width: 1040px) {
    .site-header__inner { width: 100%; padding-left: 24px; }
    .site-header__actions { gap: 6px; }
    .header-action { min-width: 88px; min-height: 36px; padding: 8px 10px; font-size: 12px; }
}

@media (max-width: 767px) {
    body { background: #fff; }
    .site-header__inner { min-height: 64px; padding-left: 18px; }
    .site-brand { gap: 6px; font-size: 14px; }
    .site-brand__logo { width: min(140px, calc(100vw - 200px)); }
    .site-brand__product { display: none; }
    .site-brand__mark { width: 13px; height: 13px; }
    .site-brand__mark::after { top: 4px; left: 4px; width: 6px; height: 6px; }
    .site-header__actions { gap: 4px; }
    .header-action { min-width: 56px; min-height: 34px; padding: 7px 5px; font-size: 10px; letter-spacing: 0; }

    .site-footer__inner { display: block; width: calc(100% - 32px); min-height: 0; padding: 24px 0; text-align: center; }
    .site-brand--footer { justify-content: center; }
    .site-footer__links { justify-content: center; margin: 18px 0; gap: 17px; }
    .site-footer p { text-align: center; }

    .page-shell { width: 100%; }
    .home { padding: 0; }
    .home-visual { margin: 0; }
    /* Keep the exported mobile artboards' blank tail outside the visible visual canvas. */
    .home-visual__image { aspect-ratio: 2250 / 3776; }
    .home-visual__image img { height: 100%; object-fit: cover; object-position: top left; }
    .home-visual__actions { gap: 16px; padding: 8px 10px; }
    .home-visual__actions .button { width: calc(50% - 8px); min-height: 38px; padding: 8px 10px; font-size: 14px; }
    .home-visual__actions--two .button { flex: 0 0 calc(50% - 8px); }

    .diagnosis-page,
    .information-page { padding: 6px 12px 28px; }
    .diagnosis-hero { min-height: clamp(200px, 36vw, 270px); }
    .diagnosis-hero__content { width: 80%; padding: clamp(23px, 3.4vw, 29px) 0 16px clamp(18px, 2.6vw, 22px); }
    .diagnosis-hero__eyebrow { font-size: clamp(23px, 4.4vw, 34px); }
    .diagnosis-hero__title { margin-top: 4px; font-size: clamp(30px, 6.4vw, 48px); letter-spacing: 0; }
    .diagnosis-hero__title span { font-size: clamp(31px, 8vw, 62px); }
    .diagnosis-hero__description { margin-top: clamp(12px, 1.9vw, 14px); font-size: clamp(12px, 2.1vw, 16px); letter-spacing: .02em; line-height: 1.45; }
    .diagnosis-hero__photo { width: 49%; }
    .information-layout .form-card { margin-top: 6px; padding: 0 16px 14px; }
    .information-layout .form-card__title { margin: 0 -16px; padding: 10px 15px; font-size: 13px; }
    .information-layout .form-card__lead { margin: 13px 0; font-size: 11px; }
    .information-layout .form-field { grid-template-columns: 105px minmax(0, 1fr); margin: 8px 0; }
    .information-layout .form-field__label { font-size: 11px; }
    .information-layout .form-field input,
    .information-layout .form-field select { padding: 7px; }
    .diagnosis-result { padding: 16px 12px 15px; }
    .diagnosis-result__summary { gap: 10px; align-items: flex-start; }
    .diagnosis-result__alert { width: 43px; height: 38px; font-size: 24px; padding-top: 10px; }
    .diagnosis-result__eyebrow { margin-top: 1px; font-size: 11px; }
    .diagnosis-result__title { font-size: clamp(18px, 5.4vw, 23px); line-height: 1.3; }
    .diagnosis-result__message { margin: 14px 0 10px; padding: 7px 8px; font-size: clamp(13px, 3.8vw, 16px); }
    .diagnosis-result__description { font-size: 11px; letter-spacing: 0; line-height: 1.6; }
    .diagnosis-question { grid-template-columns: 29px minmax(0, 1fr) 50px 50px; column-gap: 6px; margin: 0 9px; padding: 10px 0; }
    .diagnosis-question__number { width: 29px; height: 29px; font-size: 12px; }
    .diagnosis-question__text { font-size: 11px; white-space: normal; }
    .diagnosis-question__answer { gap: 2px; font-size: 10px; }
    .diagnosis-form__guide { padding: 13px; font-size: 12px; }
    .diagnosis-form__submit { width: calc(100% - 18px); min-height: 44px; margin: 13px auto; }
    .diagnosis-form__submit b { right: 16px; }
    .feature-summary article { padding: 0 5px; }
    .feature-summary b { font-size: 27px; }
    .feature-summary h2 { font-size: 11px; }
    .feature-summary p { font-size: 9px; }

    .form-card { margin-top: 10px; padding: 0 16px 14px; }
    .form-card__title { margin: 0 -16px; font-size: 13px; }
    .contact-page .form-card__lead { margin: 7px 0; font-size: 10px; }
    .contact-page .form-field input,
    .contact-page .form-field select { padding: 4px 7px; }
    .form-field { grid-template-columns: 105px minmax(0, 1fr); column-gap: 7px; row-gap: 3px; margin: 8px 0; }
    .form-field__label { font-size: 11px; }
    .form-field input,
    .form-field select,
    .form-field textarea { padding: 7px; }
    .form-field__error { margin: 0; font-size: 10px; }
    .button--contact-submit,
    .button--information-submit { width: 100%; min-width: 0; padding-right: 46px; padding-left: 46px; }
    .button--contact-submit .button__icon,
    .button--information-submit .button__icon { left: 18%; font-size: 24px; }
    .button--contact-submit .button__label,
    .button--information-submit .button__label { font-size: 15px; }
    .button--contact-submit b,
    .button--information-submit b { right: 15px; font-size: 24px; }
    .contact-page { padding: 6px 12px 20px; }
    .confirmation-list div { grid-template-columns: 100px 1fr; }
    .confirmation-list dt,
    .confirmation-list dd { padding: 9px; font-size: 11px; }
    .confirmation-actions { flex-direction: column; }
    .confirmation-actions .button { width: 100%; }

    .result-page,
    .complete-page { min-height: 430px; padding: 40px 14px; }
    .result-card { padding: 34px 20px; }
    .result-card h1 { font-size: 23px; }
}
