@charset "utf-8";

@media (max-width: 1280px) {
    .yh-footer__slogan { font-size: 34px; }
    .yh-footer__contact-row { gap: 40px; grid-template-columns: minmax(430px, .95fr) minmax(300px, 1.05fr); }
    .yh-footer__statement { font-size: 54px; }
}

@media (max-width: 1024px) {
    :root { --yh-header: 78px; }

    .yh-section { padding-block: 110px; }
    .yh-section-head { gap: 36px; margin-bottom: 58px; }
    .yh-section-head h2 { font-size: 32px; }
    #business-title { font-size: 32px; }

    .yh-header__inner {
        width: calc(100% - 40px);
        height: 70px;
    }

    .yh-menu-toggle {
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 10px;
        min-width: 44px;
        min-height: 44px;
        padding: 10px 0 10px 12px;
        cursor: pointer;
    }

    .yh-menu-toggle__label {
        font-size: 13px;
        font-weight: 600;
    }

    .yh-menu-toggle__icon {
        position: relative;
        display: block;
        width: 28px;
        height: 20px;
    }

    .yh-menu-toggle__icon i {
        position: absolute;
        right: 0;
        width: 28px;
        height: 2px;
        background: currentColor;
        transition: transform .25s ease, top .25s ease, width .25s ease;
    }

    .yh-menu-toggle__icon i:first-child { top: 5px; }
    .yh-menu-toggle__icon i:last-child { top: 13px; width: 20px; }
    .yh-menu-toggle[aria-expanded="true"] .yh-menu-toggle__icon i:first-child { top: 9px; transform: rotate(45deg); }
    .yh-menu-toggle[aria-expanded="true"] .yh-menu-toggle__icon i:last-child { top: 9px; width: 28px; transform: rotate(-45deg); }

    .yh-navigation {
        position: fixed;
        inset: var(--yh-header) 20px auto;
        display: grid;
        height: auto;
        padding: 24px 28px 30px;
        border: 1px solid var(--yh-line);
        border-radius: 0 0 15px 15px;
        background: rgba(255, 255, 255, .98);
        box-shadow: 0 24px 44px rgba(10, 23, 28, .1);
        opacity: 0;
        pointer-events: none;
        transform: translateY(-12px);
        transition: opacity .25s ease, transform .25s ease;
    }

    .yh-header.is-scrolled .yh-navigation { top: 70px; }
    .yh-navigation.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); }
    .yh-navigation a { min-height: 48px; border-bottom: 1px solid var(--yh-line); font-size: 16px; }
    .yh-navigation a:not(.yh-navigation__contact)::after { display: none; }
    .yh-navigation__contact { justify-content: center; margin-top: 12px; border: 0 !important; }

    .yh-hero h1 { font-size: 38px; }
    .yh-hero__copy { max-width: 650px; }
    .yh-hero__inner { padding-bottom: 112px; }

    .yh-business-item { grid-template-columns: minmax(0, 1fr) minmax(330px, .85fr); gap: 46px; }
    .yh-business-item h3 { font-size: 34px; }

    .yh-service__list { grid-template-columns: 1fr; }
    .yh-service__list li:nth-child(odd) { padding-right: 0; border-right: 0; }
    .yh-service__list li:nth-child(even) { padding-left: 0; }

    .yh-footer__top { padding: 70px 0 60px; }
    .yh-footer__headline { align-items: flex-start; flex-direction: column; gap: 24px; }
    .yh-footer__slogan { font-size: 28px; }
    .yh-footer__capabilities { font-size: 18px; }
    .yh-footer__contact-row { grid-template-columns: 1fr; margin-top: 36px; gap: 30px; }
    .yh-footer__visual { min-height: 320px; }
    .yh-footer__bottom-top { flex-direction: column; gap: 24px; }
    .yh-footer__statement { font-size: 44px; text-align: left; }
    .yh-footer__bottom-bar { align-items: flex-start; flex-direction: column; gap: 12px; }
}

@media (max-width: 768px) {
    .yh-section { padding-block: 80px; }
    .yh-section-head { grid-isplay: flex;
        flex-direction: column;
        align-items: flex-start; gap: 22px; margin-bottom: 46px; }
    .yh-section-head h2 { font-size: 26px; line-height: 1.4; }
    #business-title  { font-size: 26px; line-height: 1.4; }
    .yh-section-head > p { font-size: 16px; text-align: left;}
    .yh-section-head > p br { display: none; }
    .yh-kicker { font-size: 16px; }

    .yh-hero { min-height: 640px; }
    .yh-hero__inner { padding-bottom: 90px; }
    .yh-hero__copy { max-width: 560px; }
    .yh-hero__eyebrow { margin-bottom: 12px; font-size: 15px; }
    .yh-hero h1 { font-size: 28px; }
    .yh-hero__description { margin-top: 18px; font-size: 16px; }
    .yh-hero__actions { margin-top: 26px; }
    .yh-button { min-width: 165px; min-height: 48px; font-size: 15px; }
    .yh-hero__dots { bottom: 30px !important; }

    .yh-business-item,
    .yh-business-item:nth-child(even) {
        grid-template-columns: 1fr;
        gap: 34px;
        padding-block: 50px;
    }

    .yh-business-item:nth-child(even) .yh-business-item__media { order: initial; }
    .yh-business-item__media { height: min(62vw, 460px); }
    .yh-business-item h3 { font-size: 28px; }
    .yh-business-item__summary { font-size: 16px; }

    .yh-service__list li,
    .yh-service__list li:nth-child(odd),
    .yh-service__list li:nth-child(even) {
        grid-template-columns: 40px 1fr;
        gap: 12px;
        min-height: 0;
        padding: 25px 0;
    }

    .yh-service__list li p { grid-column: 2 / -1; }
    .yh-service__icon { width: 34px; height: 34px; }

    .yh-carousel-controls { justify-content: flex-start; }
    .yh-carousel-controls button { width: 44px; height: 44px; }
    .yh-certification .yh-section-head { margin-bottom: 38px; }
    .yh-certification__track { gap: 20px; }
    .yh-certificate { flex-basis: calc(100vw - 40px); }

    .yh-footer__top { padding: 56px 0 48px; }
    .yh-footer__label { font-size: 16px; }
    .yh-footer__slogan { font-size: 23px; }
    .yh-footer__contact-card { padding: 22px; }
    .yh-footer__phone { font-size: 26px; }
    .yh-footer__contact-card address { margin-top: 22px; font-size: 16px; }
    .yh-footer__contact-meta { font-size: 13px; }
    .yh-footer__visual { min-height: 280px; }
    .yh-footer__bottom { padding: 32px 0 40px; }
    .yh-footer__brand img { height: 40px; }
    .yh-footer__identity p { font-size: 13px; }
    .yh-footer__statement { font-size: 34px; }
    .yh-footer__bottom-bar { font-size: 13px; }
}

@media (max-width: 486px) {
    :root { --yh-header: 64px; }

    .yh-section { padding-block: 70px; }
    .yh-section-head { margin-bottom: 38px; }
    #business-title { font-size: 20px; }
    .yh-section-head h2 { font-size: 20px; }
    .yh-section-head > p { font-size: 15px; }
    .yh-kicker { margin-bottom: 10px; font-size: 15px; }

    .yh-header__inner {
        width: calc(100% - 24px);
        height: 50px;
        margin-top: 14px;
        padding-inline: 14px;
        border-radius: 12px;
    }

    .yh-header.is-scrolled .yh-header__inner { height: 50px; }
    .yh-brand img { height: 29px; }
    .yh-menu-toggle__label { display: none; }
    .yh-navigation { inset: var(--yh-header) 12px auto; padding: 20px; }
    .yh-header.is-scrolled .yh-navigation { top: 50px; }

    .yh-hero { min-height: 600px; }
    .yh-hero__slide img { object-position: 57% center; }
    .yh-hero__dim {
        background: linear-gradient(90deg, rgba(18, 24, 28, .82) 0%, rgba(18, 24, 28, .48) 64%, rgba(18, 24, 28, .24) 100%);
    }
    .yh-hero__inner { padding-bottom: 82px; }
    .yh-hero__eyebrow { font-size: 13px; }
    .yh-hero h1 { font-size: 23px; line-height: 1.38; }
    .yh-hero h1 span { white-space: nowrap; }
    .yh-hero__description { margin-top: 15px; font-size: 14px; line-height: 1.65; }
    .yh-hero__description br { display: none; }
    .yh-hero__actions { gap: 8px; margin-top: 22px; }
    .yh-button { flex: 1; min-width: 0; min-height: 44px; padding-inline: 13px; gap: 10px; font-size: 13px; }
    .yh-hero__dots { bottom: 24px !important; }

    .yh-business-item { gap: 28px; padding-block: 40px; }
    .yh-business-item__media { height: 68vw; min-height: 220px; border-radius: 10px; }
    .yh-business-item__number { top: 12px; left: 12px; width: 42px; height: 42px; font-size: 12px; }
    .yh-business-item__label { font-size: 14px; }
    .yh-business-item h3 { font-size: 24px; }
    .yh-business-item__summary { margin: 15px 0 24px; font-size: 15px; }
    .yh-business-item__facts { grid-template-columns: 1fr; gap: 20px; }

    .yh-service h3 { font-size: 18px; }
    .yh-service__list p { font-size: 13px; }

    .yh-certification__track { gap: 14px; }
    .yh-certificate figcaption { min-height: 58px; }
    .yh-certification__bar { margin-top: 32px; }

    .yh-footer__top { padding: 44px 0 36px; }
    .yh-footer__slogan { font-size: 20px; }
    .yh-footer__capabilities { font-size: 15px; }
    .yh-footer__contact-card { padding: 18px; }
    .yh-footer__contact-label { font-size: 16px; }
    .yh-footer__phone { font-size: 24px; }
    .yh-footer__contact-card address { font-size: 15px; }
    .yh-footer__contact-meta { display: grid; gap: 4px; font-size: 12px; }
    .yh-footer__visual { min-height: 220px; }
    .yh-footer__brand img { height: 36px; }
    .yh-footer__statement { font-size: 30px; }
    .yh-footer__bottom-bar { font-size: 12px; }
}
