.se02-mobile-flow,
.home-mobile-solutions-title,
.home-mobile-swipe-hint,
.home-mobile-case-hint {
    display: none;
}

@media (max-width: 767px) {
    .merged-home {
        --home-mobile-gutter: 18px;
    }

    .merged-home .section-eyebrow {
        font-size: 11px;
        letter-spacing: 0.2em;
    }

    /* Keep the hero legible while showing more of the original video on mobile. */
    .merged-hero__video {
        opacity: 0.86;
        filter: saturate(0.98) contrast(1.02) brightness(0.94);
    }

    .merged-hero__media::after {
        background:
            linear-gradient(180deg, rgba(5, 6, 10, 0.1) 0%, rgba(5, 6, 10, 0.28) 48%, rgba(5, 6, 10, 0.58) 100%),
            radial-gradient(circle at 18% 22%, rgba(0, 232, 104, 0.1), transparent 0 26%);
    }

    /* Start here: make the first decision screen quicker to scan. */
    .home-needs {
        min-height: 0;
        padding: 76px 0;
    }

    .home-needs__header {
        gap: 14px;
        margin-bottom: 22px;
        padding-bottom: 24px;
    }

    .home-needs__header h2 {
        margin-top: 9px;
        font-size: clamp(30px, 8.5vw, 34px);
        line-height: 1.16;
    }

    .home-needs__grid {
        gap: 10px;
    }

    .home-need-card {
        grid-template-columns: 40px minmax(0, 1fr) 18px;
        gap: 12px;
        min-height: 116px;
        padding: 18px;
        border-radius: 18px;
        box-shadow: 0 8px 24px rgba(17, 17, 17, 0.035);
    }

    .home-need-card__icon {
        width: 40px;
        height: 40px;
    }

    .home-need-card__copy strong {
        margin: 1px 0 6px;
        font-size: 18px;
        line-height: 1.32;
    }

    .home-need-card__copy > span {
        font-size: 12px;
        line-height: 1.55;
    }

    /* Use the same expanding transition as desktop instead of a separate mobile card section. */
    .se02,
    .se02__pin {
        height: 100vh;
        height: 100svh;
        min-height: 620px;
    }

    .se02 {
        overflow: hidden;
        background: #fff;
    }

    .se02__pin {
        position: relative;
        overflow: hidden;
    }

    .se02 .bgwrap {
        background: #050505;
        clip-path: circle(calc(4% + (var(--se02-progress) * 130%)) at 50% 50%);
    }

    .se02 .cover {
        display: flex;
        height: 100%;
        padding: 0 var(--home-mobile-gutter) 42px;
        color: #fff;
        mix-blend-mode: difference;
    }

    .se02__eyebrow {
        position: absolute;
        top: 92px;
        left: 50%;
        transform: translateX(-50%);
        margin: 0;
    }

    .se02 .txtmotion {
        display: flex;
    }

    .se02-mobile-flow {
        display: none;
    }

    .se02-mobile-flow h2 {
        margin: 0;
        color: #fff;
        font-size: clamp(34px, 9.8vw, 40px);
        font-weight: 850;
        letter-spacing: -0.055em;
        line-height: 1.08;
    }

    .se02-mobile-flow > p {
        max-width: 330px;
        margin: 18px 0 28px;
        color: rgba(255, 255, 255, 0.62);
        font-size: 14px;
        line-height: 1.65;
        word-break: keep-all;
    }

    .se02-mobile-flow ol {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .se02-mobile-flow li {
        display: grid;
        min-height: 106px;
        padding: 16px;
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 18px;
        background: #191d19;
    }

    .se02-mobile-flow li span {
        color: #5bb761;
        font-size: 10px;
        font-weight: 850;
        letter-spacing: 0.12em;
    }

    .se02-mobile-flow li strong {
        align-self: end;
        color: #fff;
        font-size: 17px;
        letter-spacing: -0.035em;
    }

    .se02-mobile-flow li small {
        margin-top: 3px;
        color: rgba(255, 255, 255, 0.48);
        font-size: 11px;
    }

    /* Keep Values compact and visually connected to the flow band. */
    .merged-values {
        padding-bottom: 72px;
    }

    .merged-values .space {
        padding-top: 76px;
        padding-bottom: 18px;
    }

    .contactSlider.merged-principles {
        padding-top: 16px;
    }

    .merged-principles .swiper-slide {
        min-height: 198px;
    }

    /* Solutions: shorter heading, swipeable primary cards, compact support card. */
    .merged-handly-source {
        padding-bottom: 78px;
        overflow: hidden;
    }

    .merged-handly-source__lead {
        padding-top: 78px;
        margin-bottom: 32px;
    }

    .merged-handly-source__lead > h2:not(.home-mobile-solutions-title) {
        display: none;
    }

    .merged-handly-source__lead .home-mobile-solutions-title {
        display: block;
        margin-top: 12px;
        color: #343734;
        font-size: clamp(31px, 8.8vw, 36px);
        line-height: 1.15;
        letter-spacing: -0.055em;
    }

    .merged-handly-source__lead p:last-child,
    .merged-handly-source__device p {
        margin-top: 17px;
        font-size: 14px;
        line-height: 1.65;
        word-break: keep-all;
    }

    .merged-handly-source__lead p br,
    .merged-handly-source__device p br {
        display: none;
    }

    .merged-handly-source__card-grid:not(.merged-handly-source__card-grid--secondary) {
        display: flex;
        gap: 12px;
        margin-right: calc(var(--home-mobile-gutter) * -1);
        padding-right: var(--home-mobile-gutter);
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
    }

    .merged-handly-source__card-grid:not(.merged-handly-source__card-grid--secondary)::-webkit-scrollbar,
    .home-cases__grid::-webkit-scrollbar {
        display: none;
    }

    .merged-handly-source__card-grid:not(.merged-handly-source__card-grid--secondary) > section {
        flex: 0 0 min(86vw, 340px);
        scroll-snap-align: start;
    }

    .merged-handly-source__card-grid:not(.merged-handly-source__card-grid--secondary) .rooms_prd-card-container,
    .merged-handly-source__card-grid:not(.merged-handly-source__card-grid--secondary) .desk_prd-card-container,
    .desk_prd-card--operations .desk_prd-card-container {
        min-height: 410px;
        border-radius: 22px;
    }

    .merged-handly-source__card-grid:not(.merged-handly-source__card-grid--secondary) .rooms_prd-card-content,
    .merged-handly-source__card-grid:not(.merged-handly-source__card-grid--secondary) .desk_prd-card-content,
    .desk_prd-card--operations .desk_prd-card-content {
        align-items: flex-end;
        padding: 22px 16px;
    }

    .rooms_prd-card-text,
    .desk_prd-card-text {
        width: 100%;
        max-width: none;
        padding: 19px;
        border-radius: 19px;
        background: rgba(255, 255, 255, 0.9);
    }

    .rooms_prd-category,
    .desk_prd-category {
        margin-bottom: 10px;
        padding: 7px 10px;
        font-size: 10px;
    }

    .rooms_prd-title,
    .desk_prd-title {
        margin-bottom: 9px;
        font-size: 22px;
        line-height: 1.2;
    }

    .rooms_prd-description,
    .desk_prd-description {
        margin-bottom: 13px;
    }

    .rooms_prd-description p,
    .desk_prd-description p {
        font-size: 13px;
        line-height: 1.55;
    }

    .solution-feature-list {
        gap: 5px;
        margin-bottom: 13px;
    }

    .solution-feature-list li {
        padding: 5px 7px;
        font-size: 10px;
    }

    .rooms_prd-cta-btn,
    .desk_prd-cta-btn {
        justify-content: center;
        width: 100%;
        min-height: 48px;
        padding: 0 16px;
        font-size: 14px;
    }

    .home-mobile-swipe-hint {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 8px;
        margin: 13px 0 0;
        color: #6e736e;
        font-size: 11px;
        font-weight: 700;
    }

    .home-mobile-swipe-hint span {
        color: #4ea756;
        font-size: 16px;
    }

    .merged-handly-source__device {
        margin-top: 62px;
    }

    .merged-handly-source__device h2 {
        font-size: 30px;
        line-height: 1.16;
    }

    .merged-handly-source__card-grid--secondary {
        margin-top: 22px;
    }

    /* These duplicate information already delivered by the mobile decision and solution sections. */
    #about,
    #experience {
        display: none;
    }

    /* Selected work: preserve rich cards without stacking three long panels. */
    .home-cases {
        padding: 78px 0 84px;
    }

    .home-cases__header {
        gap: 18px;
        margin-bottom: 30px;
    }

    .home-cases__header h2 {
        margin-top: 13px;
        font-size: clamp(32px, 9vw, 36px);
        line-height: 1.12;
    }

    .home-cases__intro {
        gap: 14px;
    }

    .home-cases__intro p {
        font-size: 14px;
        line-height: 1.65;
    }

    .home-cases__grid {
        display: flex;
        gap: 12px;
        margin-right: calc(var(--home-mobile-gutter) * -1);
        padding-right: var(--home-mobile-gutter);
        overflow-x: auto;
        overflow-y: clip;
        scroll-snap-type: x mandatory;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
    }

    .home-mobile-case-hint {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 8px;
        margin: -12px 0 14px;
        color: #687068;
        font-size: 11px;
        font-weight: 750;
    }

    .home-mobile-case-hint span {
        color: #4ea756;
        font-size: 16px;
    }

    .home-case-card {
        flex: 0 0 min(84vw, 330px);
        scroll-snap-align: start;
        border-radius: 20px;
    }

    .home-cases__grid .home-case-card.reveal {
        opacity: 1;
        transform: none;
    }

    .home-case-card__body {
        padding: 22px 18px;
    }

    .home-case-card__body h3 {
        margin: 8px 0 15px;
        font-size: 23px;
    }

    .home-case-card__body dl > div {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 9px;
        padding: 11px 0;
    }

    .home-case-card__body dd {
        font-size: 12px;
        line-height: 1.55;
    }

    /* Why Hicoding: a compact 2x2 proof grid. */
    .hicoding-process-section {
        padding: 78px 0 84px;
    }

    .hicoding-process__header {
        gap: 18px;
        margin-bottom: 24px;
        padding-bottom: 30px;
    }

    .hicoding-process__eyebrow {
        margin-bottom: 14px;
    }

    .hicoding-process__heading {
        font-size: clamp(31px, 8.7vw, 36px);
        line-height: 1.12;
    }

    .hicoding-process__header-right p {
        font-size: 14px;
        line-height: 1.65;
    }

    .hicoding-process__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .hicoding-process__card {
        min-height: 204px;
        padding: 18px 14px;
        border-radius: 18px;
    }

    .hicoding-process__card-icon {
        width: 42px;
        height: 42px;
        margin-bottom: 18px;
        border-radius: 12px;
    }

    .hicoding-process__card-body h3 {
        margin-bottom: 8px;
        font-size: 15px;
    }

    .hicoding-process__card-metric {
        margin: 0;
        font-size: 16px;
        line-height: 1.35;
        word-break: keep-all;
    }

    .hicoding-process__card-desc {
        display: none;
    }

    .hicoding-process__card-watermark {
        right: 8px;
        bottom: -4px;
        font-size: 62px;
    }

    /* Guide and contact share the same mobile spacing rhythm. */
    .home-guides {
        padding: 78px 0 82px;
    }

    .home-guides__header {
        gap: 16px;
        margin-bottom: 28px;
    }

    .home-guides__header h2 {
        margin-top: 13px;
        font-size: clamp(32px, 9vw, 36px);
    }

    .home-faq-item summary {
        min-height: 76px;
        padding: 17px 0;
    }

    .home-faq-item__question {
        font-size: 17px;
        line-height: 1.42;
    }

    .Web3UX_section__xGzAf {
        padding: 78px 0 84px;
    }

    .web3ux-inner {
        gap: 0;
    }

    .web3ux-copy h2 {
        font-size: clamp(33px, 9.4vw, 38px);
        line-height: 1.12;
    }

    .web3ux-copy__desc {
        display: none;
    }

    .hicoding-inquiry__tags {
        display: none;
    }

    .home-contact-actions {
        margin-top: 22px;
    }

    .home-contact-actions a {
        min-height: 52px;
    }

    .Web3UX_section__xGzAf .web3ux-desc {
        display: block;
        margin-top: 24px;
    }

    .Web3UX_section__xGzAf.is-contact-open .home-contact-detail .hicoding-inquiry {
        animation: home-mobile-form-in 0.28s ease both;
    }

    .hicoding-inquiry {
        padding: 18px;
        border-radius: 22px;
    }

    .hicoding-inquiry--quick .hicoding-inquiry__intro > strong {
        display: none;
    }

    .hicoding-inquiry--quick .hicoding-inquiry__footer {
        margin-top: 0;
    }

    .web3ux-desc .hicoding-inquiry--quick .hicoding-inquiry__privacy {
        margin: 8px 0 0;
        color: rgba(17, 17, 17, 0.52);
        font-size: clamp(8px, 2.35vw, 9.5px);
        line-height: 1.4;
        letter-spacing: -0.035em;
        white-space: nowrap;
    }

    .web3ux-desc .hicoding-inquiry--quick .hicoding-inquiry__privacy a {
        display: inline;
        min-width: 0;
        min-height: 0;
    }

    .hicoding-inquiry__field input,
    .hicoding-inquiry__field select,
    .hicoding-inquiry__field textarea {
        min-height: 52px;
    }
}

@keyframes home-mobile-form-in {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 359px) {
    .merged-home {
        --home-mobile-gutter: 16px;
    }

    .se02-mobile-flow li,
    .hicoding-process__card {
        padding-left: 12px;
        padding-right: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .Web3UX_section__xGzAf.is-contact-open .home-contact-detail .hicoding-inquiry {
        animation: none;
    }
}
