@media (max-width: 1180px) {
    :root { --header-height: 104px; }

    .site-header__inner { width: min(100% - 48px, 1140px); gap: 24px; }
    .site-logo img { width: 168px; }
    .primary-nav { gap: clamp(18px, 2vw, 30px); }
    .primary-nav > a:not(.button) { font-size: 15px; }
    .button { min-height: 50px; padding-inline: 19px; font-size: 15px; }
    .footer-grid { grid-template-columns: 1.1fr .8fr 1fr 1.15fr; gap: 34px; }
    .footer-about p, .footer-nav a, .footer-contact a { font-size: 16px; }
    .home-hero { padding-block: 84px 72px; }
    .home-hero__inner { width: min(100% - 48px, 1040px); grid-template-columns: minmax(0, 1fr) minmax(390px, .9fr); gap: clamp(42px, 6vw, 72px); }
    .hero-copy h1 { font-size: clamp(52px, 5.4vw, 64px); line-height: 1.02; }
    .hero-media { width: 100%; }
    .who-we-are { padding-block: 76px 108px; }
    .who-we-are__inner { width: min(100% - 48px, 1040px); grid-template-columns: minmax(390px, .95fr) minmax(0, 1fr); gap: clamp(42px, 6vw, 68px); }
    .who-we-are__media { width: 100%; }
    .experience-card { left: 44%; width: min(63%, 329px); }
    .who-we-are__content h2 { font-size: clamp(38px, 4vw, 44px); line-height: 1.02; }
    .who-we-are__features { grid-template-columns: 1fr; gap: 14px; }
    .core-services { padding-block: 64px 78px; }
    .core-services__inner { width: min(100% - 48px, 1040px); }
    .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .why-choose-us { padding-block: 82px 78px; }
    .why-choose-us__inner { width: min(100% - 48px, 1040px); }
    .benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 58px; }
    .software-expertise { padding-block: 82px 78px; }
    .software-expertise__inner { width: min(100% - 48px, 1040px); }
    .software-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .workflow-section { padding-block: 82px 88px; }
    .workflow-section__inner { width: min(100% - 48px, 1040px); }
    .workflow-timeline { gap: 18px; }
    .workflow-step__content { padding-inline: 18px; }
}

@media (max-width: 900px) {
    .vision-mission-values { padding-block: 68px; }
    .vision-mission-values__inner { width: min(100% - 40px, 720px); grid-template-columns: 1fr; gap: 20px; }
    .vmv-card { min-height: 0; }

    .more-services { padding-block: 78px; }
    .more-services__inner { width: min(100% - 40px, 720px); }
    .more-services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 58px; }
    .services-cta { padding-block: 82px; }
    .services-cta__inner { width: min(100% - 48px, 1040px); min-height: 300px; }
    .platforms-section { padding-block: 82px; }
    .platforms-section__inner { width: min(100% - 40px, 720px); }
    .platforms-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 58px; }
    .tool-cta { padding-block: 82px; }
    .tool-cta__inner { width: min(100% - 40px, 720px); }
}

@media (max-width: 480px) {
    .vision-mission-values { padding-block: 52px; }
    .vision-mission-values__inner { width: calc(100% - 32px); gap: 16px; }
    .vmv-card { padding: 26px 24px; }
    .vmv-card h2 { margin: 27px 0 15px; font-size: 19px; }
    .vmv-card p { font-size: 14px; line-height: 22px; }

    .more-services { padding-block: 58px; }
    .more-services__inner { width: calc(100% - 32px); }
    .more-services__heading p { font-size: 11px; line-height: 16px; letter-spacing: .16em; }
    .more-services__heading p::before { width: 42px; }
    .more-services__heading h2 { margin: 18px 0 17px; font-size: clamp(34px, 10vw, 42px); line-height: 1.05; }
    .more-services__heading > span { width: 58px; height: 3px; }
    .more-services__grid { grid-template-columns: 1fr; gap: 16px; margin-top: 42px; }
    .more-service-card { min-height: 0; padding: 26px 24px; }
    .more-service-card__icon { width: 48px; height: 48px; }
    .more-service-card__icon img { width: 24px; height: 24px; }
    .more-service-card h3 { margin: 26px 0 14px; font-size: 17px; line-height: 23px; }
    .more-service-card p { font-size: 15px; line-height: 22px; }
    .services-cta { padding-block: 60px; }
    .services-cta__inner { width: calc(100% - 32px); min-height: 0; padding: 52px 22px; }
    .services-cta h2 { font-size: clamp(32px, 9vw, 42px); }
    .services-cta p { margin: 17px 0 24px; font-size: 14px; line-height: 21px; }
    .services-cta a { width: 100%; min-height: 56px; padding-inline: 20px; font-size: 16px; }
    .platforms-section { padding-block: 60px; }
    .platforms-section__inner { width: calc(100% - 32px); }
    .platforms-section__heading p { font-size: 11px; line-height: 16px; letter-spacing: .16em; }
    .platforms-section__heading p::before { width: 42px; }
    .platforms-section__heading h2 { margin: 18px 0 15px; font-size: clamp(34px, 10vw, 42px); line-height: 1.05; }
    .platforms-section__heading > span { font-size: 14px; line-height: 21px; }
    .platforms-section__desktop-break { display: none; }
    .platforms-grid { grid-template-columns: 1fr; gap: 16px; margin-top: 42px; }
    .platform-card { min-height: 0; padding: 25px 24px; }
    .platform-card__title { gap: 16px; }
    .platform-card__icon { width: 48px; height: 48px; flex-basis: 48px; }
    .platform-card__icon img { width: 24px; height: 24px; }
    .platform-card h3 { font-size: 17px; line-height: 23px; }
    .platform-card__tags { gap: 8px; margin-top: 24px; }
    .platform-card__tags li { min-height: 23px; padding: 3px 12px; font-size: 12px; line-height: 15px; }
    .tool-cta { padding-block: 60px; }
    .tool-cta__inner { width: calc(100% - 32px); }
    .tool-cta p { font-size: 11px; line-height: 16px; letter-spacing: .16em; }
    .tool-cta p::before { width: 42px; }
    .tool-cta h2 { margin: 20px 0 15px; font-size: clamp(34px, 10vw, 42px); line-height: 1.05; }
    .tool-cta > .tool-cta__inner > span { font-size: 14px; line-height: 21px; }
    .tool-cta__desktop-break { display: none; }
    .tool-cta a { width: 100%; min-height: 56px; margin-top: 30px; padding-inline: 20px; font-size: 16px; }
}

@media (max-height: 540px) and (orientation: landscape) and (max-width: 900px) {
    .vision-mission-values { padding-block: 48px; }
    .vision-mission-values__inner { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
    .vmv-card { min-height: 200px; padding: 18px; }
    .vmv-card__icon { width: 42px; height: 42px; }
    .vmv-card__icon img { width: 22px; height: 22px; }
    .vmv-card h2 { margin: 20px 0 12px; font-size: 15px; line-height: 20px; }
    .vmv-card p { font-size: 13px; line-height: 18px; }
}

@media (max-width: 900px) {
    .policy-content { padding-block: 72px 90px; }
    .policy-content__inner { width: min(100% - 40px, 720px); }
    .policy-intro { max-width: none; margin-bottom: 42px; }
    .policy-layout { grid-template-columns: 1fr; gap: 38px; }
    .policy-toc { position: static; }
    .policy-toc nav { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 22px; }
}

@media (max-width: 480px) {
    .policy-content { padding-block: 54px 68px; }
    .policy-content__inner { width: calc(100% - 32px); }
    .policy-intro { margin-bottom: 32px; padding: 23px 20px; font-size: 15px; line-height: 23px; }
    .policy-toc { padding: 20px; }
    .policy-toc nav { grid-template-columns: 1fr; }
    .policy-articles article { padding-block: 28px; }
    .policy-articles article > span { font-size: 11px; line-height: 16px; }
    .policy-articles h2 { margin: 7px 0 12px; font-size: 23px; line-height: 29px; }
    .policy-articles article > p { font-size: 14px; line-height: 22px; }
    .policy-contact-card { margin-top: 8px; padding: 28px 24px !important; }
}

@media (max-width: 900px) {
    :root { --header-height: 88px; }

    .site-header__inner { width: min(100% - 40px, 860px); }
    .site-logo img { width: 156px; }
    .menu-toggle {
        display: grid;
        width: 46px;
        height: 46px;
        padding: 11px;
        border: 1px solid #d5d9e1;
        border-radius: 6px;
        color: var(--ink);
        background: #fff;
        cursor: pointer;
        place-content: center;
        gap: 5px;
    }

    .menu-toggle span {
        display: block;
        width: 21px;
        height: 2px;
        background: currentColor;
        transition: transform .2s ease, opacity .2s ease;
    }

    .menu-toggle[aria-expanded='true'] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .menu-toggle[aria-expanded='true'] span:nth-child(2) { opacity: 0; }
    .menu-toggle[aria-expanded='true'] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

    .primary-nav {
        position: absolute;
        top: calc(100% + 1px);
        right: 0;
        left: 0;
        display: grid;
        visibility: hidden;
        padding: 14px 20px 24px;
        border-bottom: 1px solid var(--line);
        background: #fff;
        box-shadow: 0 14px 20px rgba(16, 35, 68, .1);
        opacity: 0;
        transform: translateY(-12px);
        transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
    }

    .primary-nav.is-open { visibility: visible; opacity: 1; transform: translateY(0); }
    .primary-nav > a:not(.button) { padding: 13px 0; font-family: 'DM Sans', Arial, sans-serif; font-weight: 600; }
    .primary-nav > a:not(.button)::after { right: auto; width: 42px; bottom: 8px; }
    .button--header { width: 100%; margin-top: 8px; }
    body.menu-open { overflow: hidden; }
    .site-footer__inner { width: min(100% - 48px, 860px); padding-block: 62px 38px; }
    .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 64px; }
    .footer-bottom { margin-top: 44px; padding-top: 30px; }
    .home-hero { padding-block: 72px 68px; }
    .home-hero__inner { width: min(100% - 40px, 720px); grid-template-columns: 1fr; gap: 72px; }
    .hero-copy { padding-top: 0; }
    .hero-copy h1 { max-width: 620px; font-size: clamp(48px, 9vw, 64px); }
    .hero-description { max-width: 630px; }
    .hero-media { width: min(100%, 560px); justify-self: center; }
    .who-we-are { padding-block: 70px 92px; }
    .who-we-are__inner { width: min(100% - 40px, 720px); grid-template-columns: 1fr; gap: 108px; }
    .who-we-are__media { width: min(100%, 560px); justify-self: center; }
    .experience-card { bottom: -65px; left: 38%; width: min(66%, 329px); }
    .who-we-are__content h2 { font-size: clamp(40px, 7vw, 48px); line-height: 1.04; }
    .who-we-are__features { max-width: 580px; }
    .core-services__inner { width: min(100% - 40px, 720px); }
    .core-services__heading h2 { font-size: 42px; line-height: 46px; }
    .why-choose-us__inner { width: min(100% - 40px, 720px); }
    .why-choose-us__heading h2 { font-size: 42px; line-height: 46px; }
    .software-expertise__inner { width: min(100% - 40px, 720px); }
    .software-expertise__heading h2 { font-size: 42px; line-height: 46px; }
    .software-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .workflow-section__inner { width: min(100% - 40px, 720px); }
    .workflow-section__heading h2 { font-size: 42px; line-height: 46px; }
    .workflow-timeline { grid-template-columns: 1fr; gap: 22px; margin-top: 58px; padding-left: 54px; }
    .workflow-timeline::before { top: 30px; bottom: 30px; left: 29px; width: 2px; height: auto; }
    .workflow-step { text-align: left; }
    .workflow-step__icon { position: absolute; top: 22px; left: -55px; margin: 0; }
    .workflow-step__content { min-height: 0; margin: 0; padding: 27px 28px 27px 32px; }
    .workflow-step h3 { margin: 0 0 12px; }
}

@media (max-width: 480px) {
    :root { --header-height: 76px; }
    .site-header__inner { width: calc(100% - 32px); }
    .site-logo img { width: 135px; }
    .menu-toggle { width: 42px; height: 42px; }
    .primary-nav { padding-right: 16px; padding-left: 16px; }
    .site-footer__inner { width: calc(100% - 32px); padding-block: 48px 28px; }
    .footer-grid { grid-template-columns: 1fr; gap: 38px; }
    .footer-logo img { width: 180px; }
    .footer-about p { margin-top: 18px; font-size: 16px; }
    .footer-grid h2 { margin-bottom: 17px; font-size: 17px; }
    .footer-nav, .footer-contact { gap: 12px; }
    .footer-bottom { flex-direction: column; align-items: flex-start; gap: 16px; margin-top: 38px; padding-top: 25px; font-size: 13px; }
    .whatsapp-chat { right: 16px; bottom: 16px; min-width: 0; min-height: 47px; padding: 9px 18px; font-size: 16px; }
    .whatsapp-chat img { width: 27px; height: 27px; }
    .home-hero { padding-block: 54px 52px; }
    .home-hero__inner { width: calc(100% - 32px); gap: 54px; }
    .hero-eyebrow { font-size: 11px; line-height: 16px; letter-spacing: .16em; }
    .hero-copy h1 { margin: 20px 0 22px; font-size: clamp(40px, 12.5vw, 56px); line-height: .98; letter-spacing: -.05em; }
    .hero-lead { font-size: 17px; line-height: 25px; }
    .hero-description { margin-top: 15px; font-size: 15px; line-height: 22px; }
    .hero-actions { flex-direction: column; align-items: stretch; gap: 12px; margin-top: 30px; }
    .hero-button, .hero-button--primary, .hero-button--secondary { width: 100%; min-height: 52px; }
    .hero-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 42px 0 0; gap: 12px; }
    .hero-stats dt { font-size: 25px; line-height: 30px; }
    .hero-stats dd { font-size: 12px; line-height: 17px; }
    .hero-media::before { top: -15px; left: -12px; width: 58px; height: 58px; border-width: 3px; }
    .hero-media::after { right: -12px; bottom: -15px; width: 58px; height: 58px; border-width: 3px; }
    .who-we-are { padding-block: 54px 70px; }
    .who-we-are__inner { width: calc(100% - 32px); gap: 92px; }
    .experience-card { bottom: -52px; left: 27%; width: 73%; min-height: 126px; padding: 27px 25px 20px; }
    .experience-card strong { font-size: 34px; line-height: 36px; }
    .experience-card p { margin-top: 7px; font-size: 13px; line-height: 18px; }
    .section-eyebrow { font-size: 11px; line-height: 16px; letter-spacing: .16em; }
    .who-we-are__content h2 { margin: 17px 0 18px; font-size: clamp(34px, 10vw, 44px); line-height: 1.04; }
    .section-rule { width: 58px; height: 3px; }
    .who-we-are__description { margin-top: 30px; font-size: 15px; line-height: 22px; }
    .who-we-are__features { grid-template-columns: 1fr; gap: 13px; margin-top: 28px; }
    .who-we-are__features li { gap: 15px; font-size: 15px; white-space: normal; }
    .who-we-are__features img { width: 19px; height: 19px; }
    .core-services { padding-block: 52px 60px; }
    .core-services__inner { width: calc(100% - 32px); }
    .core-services__eyebrow { font-size: 11px; line-height: 16px; letter-spacing: .16em; }
    .core-services__heading h2 { margin-block: 16px 17px; font-size: clamp(34px, 10vw, 42px); line-height: 1.05; }
    .core-services__rule { width: 58px; height: 3px; }
    .core-services__heading > p:last-child { margin-top: 30px; font-size: 15px; line-height: 22px; }
    .service-grid { grid-template-columns: 1fr; gap: 16px; margin-top: 32px; }
    .service-card { min-height: 0; padding: 24px; }
    .service-icon-box { width: 48px; height: 48px; }
    .service-card h3 { margin: 25px 0 14px; font-size: 17px; line-height: 23px; }
    .service-card p { font-size: 15px; line-height: 22px; }
    .why-choose-us { padding-block: 68px 60px; }
    .why-choose-us__inner { width: calc(100% - 32px); }
    .why-choose-us__heading p { font-size: 11px; line-height: 16px; letter-spacing: .16em; }
    .why-choose-us__heading h2 { margin-block: 16px 17px; font-size: clamp(34px, 10vw, 42px); line-height: 1.05; }
    .why-choose-us__heading > span { width: 58px; height: 3px; }
    .benefit-grid { grid-template-columns: 1fr; gap: 16px; margin-top: 48px; }
    .benefit-card { min-height: 0; padding: 26px 24px; }
    .benefit-card h3 { margin: 24px 0 13px; font-size: 17px; line-height: 23px; }
    .benefit-card p { font-size: 15px; line-height: 22px; }
    .software-expertise { padding-block: 68px 60px; }
    .software-expertise__inner { width: calc(100% - 32px); }
    .software-expertise__heading > p:first-child { font-size: 11px; line-height: 16px; letter-spacing: .16em; }
    .software-expertise__heading h2 { margin-block: 16px 17px; font-size: clamp(34px, 10vw, 42px); line-height: 1.05; }
    .software-expertise__heading > span { width: 58px; height: 3px; }
    .software-expertise__heading > p:last-child { margin-top: 30px; font-size: 15px; line-height: 22px; }
    .software-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 34px; }
    .software-card { min-height: 110px; }
    .software-card img { max-width: 108px; max-height: 65px; }
    .workflow-section { padding-block: 68px 64px; }
    .workflow-section__inner { width: calc(100% - 32px); }
    .workflow-section__heading > p { font-size: 11px; line-height: 16px; letter-spacing: .16em; }
    .workflow-section__heading h2 { margin-block: 16px 17px; font-size: clamp(34px, 10vw, 42px); line-height: 1.05; }
    .workflow-section__heading > span { width: 58px; height: 3px; }
    .workflow-timeline { margin-top: 48px; padding-left: 44px; }
    .workflow-timeline::before { left: 23px; }
    .workflow-step__icon { top: 18px; left: -45px; width: 52px; height: 52px; border-width: 4px; }
    .workflow-step__icon img { width: 22px; height: 22px; }
    .workflow-step__content { padding: 23px 22px 23px 26px; }
    .workflow-step__number { top: 16px; right: 18px; font-size: 11px; }
    .workflow-step h3 { font-size: 17px; line-height: 23px; }
    .workflow-step p { font-size: 15px; line-height: 22px; }
}

/* Short landscape screens keep the menu usable without hiding links below the viewport. */
@media (max-height: 540px) and (orientation: landscape) and (max-width: 900px) {
    :root { --header-height: 68px; }
    .site-logo img { width: 130px; }
    .primary-nav { max-height: calc(100vh - var(--header-height)); overflow-y: auto; padding-block: 8px 14px; }
    .primary-nav > a:not(.button) { padding-block: 8px; }
    .button { min-height: 44px; }
    .site-footer__inner { padding-top: 38px; }
    .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 42px; }
    .footer-about { grid-column: 1 / -1; }
    .footer-about p { max-width: 560px; }
    .footer-grid h2 { margin-bottom: 12px; font-size: 15px; }
    .footer-nav, .footer-contact { gap: 8px; }
    .footer-nav a, .footer-contact a { font-size: 14px; }
    .footer-contact img { width: 17px; height: 17px; }
    .footer-bottom { margin-top: 30px; padding-top: 20px; }
    .whatsapp-chat { right: 14px; bottom: 12px; min-width: 0; min-height: 42px; padding: 7px 15px; font-size: 14px; }
    .home-hero { padding-block: 34px 42px; }
    .home-hero__inner { grid-template-columns: minmax(0, 1fr) minmax(260px, 390px); align-items: center; gap: 40px; }
    .hero-copy h1 { font-size: clamp(36px, 6vw, 50px); }
    .hero-lead { font-size: 16px; line-height: 22px; }
    .hero-description { font-size: 14px; line-height: 20px; }
    .hero-actions { flex-direction: row; margin-top: 24px; }
    .hero-button, .hero-button--primary, .hero-button--secondary { width: auto; flex: 1; min-height: 44px; }
    .hero-stats { margin-top: 30px; }
    .hero-media::before { top: -12px; left: -10px; }
    .hero-media::after { right: -10px; bottom: -12px; }
    .who-we-are { padding-block: 38px 54px; }
    .who-we-are__inner { grid-template-columns: minmax(260px, 390px) minmax(0, 1fr); align-items: center; gap: 40px; }
    .experience-card { bottom: -42px; left: 27%; min-height: 104px; padding: 18px 20px; }
    .experience-card strong { font-size: 28px; line-height: 31px; }
    .experience-card p { font-size: 12px; line-height: 16px; }
    .section-eyebrow { font-size: 11px; }
    .who-we-are__content h2 { font-size: clamp(31px, 4.8vw, 42px); }
    .who-we-are__description { margin-top: 24px; font-size: 14px; line-height: 20px; }
    .who-we-are__features { gap: 10px 18px; margin-top: 24px; }
    .who-we-are__features li { gap: 11px; font-size: 13px; line-height: 17px; }
    .who-we-are__features img { width: 17px; height: 17px; }
    .core-services { padding-block: 38px 48px; }
    .core-services__heading h2 { font-size: clamp(30px, 4.7vw, 40px); }
    .core-services__heading > p:last-child { margin-top: 22px; font-size: 14px; line-height: 20px; }
    .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 26px; }
    .service-card { padding: 18px; }
    .service-icon-box { width: 42px; height: 42px; }
    .service-icon-box img { width: 23px; height: 23px; }
    .service-card h3 { margin: 20px 0 12px; font-size: 15px; line-height: 20px; }
    .service-card p { font-size: 13px; line-height: 18px; }
    .why-choose-us { padding-block: 48px; }
    .why-choose-us__heading h2 { font-size: clamp(30px, 4.7vw, 40px); }
    .benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 34px; }
    .benefit-card { padding: 20px 15px; }
    .benefit-icon { width: 42px; height: 42px; }
    .benefit-icon img { width: 21px; height: 21px; }
    .benefit-card h3 { margin: 19px 0 10px; font-size: 15px; line-height: 20px; }
    .benefit-card p { font-size: 13px; line-height: 18px; }
    .software-expertise { padding-block: 48px; }
    .software-expertise__heading h2 { font-size: clamp(30px, 4.7vw, 40px); }
    .software-expertise__heading > p:last-child { margin-top: 22px; font-size: 14px; line-height: 20px; }
    .software-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 26px; }
    .software-card { min-height: 76px; padding: 10px; }
    .software-card img { max-width: 75px; max-height: 46px; }
    .workflow-section { padding-block: 48px; }
    .workflow-section__heading h2 { font-size: clamp(30px, 4.7vw, 40px); }
    .workflow-timeline { margin-top: 34px; padding-left: 34px; gap: 16px; }
    .workflow-timeline::before { left: 17px; }
    .workflow-step__icon { top: 14px; left: -36px; width: 43px; height: 43px; border-width: 3px; }
    .workflow-step__icon img { width: 19px; height: 19px; }
    .workflow-step__content { padding: 18px 18px 18px 22px; }
    .workflow-step h3 { margin-bottom: 9px; font-size: 15px; line-height: 20px; }
    .workflow-step p { font-size: 13px; line-height: 18px; }
}

@media (max-width: 900px) {
    .contact-section { padding-block: 72px 78px; }
    .contact-page-section { padding-block: 92px 78px; }
    .contact-section__inner { width: min(100% - 40px, 720px); }
    .contact-section__heading h1, .contact-section__heading h2 { font-size: 42px; line-height: 46px; }
    .contact-layout { grid-template-columns: 1fr; gap: 30px; margin-top: 58px; }
    .contact-map { height: 270px; }
}

@media (max-width: 480px) {
    .contact-section { padding-block: 60px; }
    .contact-page-section { padding-block: 64px 60px; }
    .contact-section__inner { width: calc(100% - 32px); }
    .contact-section__heading > p { font-size: 11px; line-height: 16px; letter-spacing: .16em; }
    .contact-section__heading h1, .contact-section__heading h2 { margin-block: 16px 17px; font-size: clamp(33px, 9.5vw, 42px); line-height: 1.06; }
    .contact-section__heading > span { width: 58px; height: 3px; }
    .contact-layout { gap: 24px; margin-top: 48px; }
    .contact-details { gap: 14px; }
    .contact-detail { min-height: 88px; gap: 13px; padding: 16px; }
    .contact-detail__icon { width: 38px; height: 38px; flex-basis: 38px; }
    .contact-detail small { font-size: 13px; }
    .contact-detail strong { font-size: 13px; line-height: 19px; }
    .contact-map { height: 230px; }
    .contact-form { min-height: 0; padding: 18px; }
    .contact-form__grid { grid-template-columns: 1fr; gap: 18px; }
    .contact-form label { font-size: 15px; }
    .contact-form__full { margin-top: 18px; }
    .contact-form textarea { height: 120px; }
    .contact-form__submit { width: 100%; margin-top: 22px; }
}

@media (max-height: 540px) and (orientation: landscape) and (max-width: 900px) {
    .contact-section { padding-block: 48px; }
    .contact-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-top: 34px; }
    .contact-details { gap: 12px; }
    .contact-detail { min-height: 66px; padding: 12px; }
    .contact-detail__icon { width: 32px; height: 32px; flex-basis: 32px; }
    .contact-detail__icon img { width: 17px; height: 17px; }
    .contact-detail small, .contact-detail strong { font-size: 12px; line-height: 16px; }
    .contact-map { height: 200px; }
    .contact-form { min-height: 330px; padding: 14px; }
    .contact-form__grid { gap: 14px; }
    .contact-form__full, .contact-form__submit { margin-top: 16px; }
    .contact-form textarea { height: 78px; }
}

@media (max-width: 1180px) {
    .testimonials { padding-block: 82px 78px; }
    .testimonials__inner { width: min(100% - 48px, 1040px); }
    .testimonial-card { padding-right: 26px; padding-left: 26px; }
    .testimonial-card figcaption { right: 26px; left: 26px; }
    .testimonial-card figcaption span { white-space: normal; }
}

@media (max-width: 900px) {
    .about-hero { min-height: 360px; background-position: center center; }
    .about-hero__content { width: min(100% - 40px, 720px); }
    .about-hero h1 { font-size: clamp(43px, 7vw, 56px); }
    .about-hero__lead { font-size: 17px; line-height: 25px; }
    .about-hero__desktop-break { display: none; }
    .services-hero { min-height: 360px; background-position: center center; }
    .services-hero__content { width: min(100% - 40px, 720px); }
    .services-hero h1 { font-size: clamp(43px, 7vw, 56px); }
    .services-hero__lead { font-size: 16px; line-height: 1.42857em; }
    .services-hero__desktop-break { display: none; }
    .service-detail { padding-block: 78px; }
    .service-detail__inner { width: min(100% - 40px, 720px); grid-template-columns: 1fr; gap: 42px; }
    .service-detail__media { width: min(100%, 560px); justify-self: center; }
    .service-detail__content { padding-top: 0; }
    .service-detail--reverse .service-detail__media, .service-detail--reverse .service-detail__content { order: initial; }
    .service-detail__content h2 { font-size: clamp(40px, 7vw, 48px); }
    .about-story { padding-block: 78px; }
    .about-story__inner { width: min(100% - 40px, 720px); grid-template-columns: 1fr; gap: 50px; }
    .about-story__media { width: min(100%, 560px); justify-self: center; }
    .about-story__content h2 { font-size: clamp(40px, 7vw, 48px); }
    .about-numbers { padding-block: 78px; }
    .about-numbers__inner { width: min(100% - 40px, 720px); }
    .about-numbers__heading h2 { font-size: 42px; line-height: 46px; }
    .about-numbers__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 58px; }
    .about-team { padding-block: 78px; }
    .about-team__inner { width: min(100% - 40px, 720px); grid-template-columns: 1fr; gap: 50px; }
    .about-team__media { width: min(100%, 560px); justify-self: center; }
    .about-team__content h2 { font-size: clamp(40px, 7vw, 48px); }
    .testimonials__inner { width: min(100% - 40px, 720px); }
    .testimonials__heading h2 { font-size: 42px; line-height: 46px; }
    .testimonial-grid { grid-template-columns: 1fr; gap: 20px; margin-top: 58px; }
    .testimonial-card { height: 300px; }
}

@media (max-width: 480px) {
    .about-hero { min-height: 390px; background-position: center center; }
    .about-hero__content { width: calc(100% - 32px); }
    .about-hero__eyebrow { gap: 8px; font-size: 11px; letter-spacing: .16em; line-height: 16px; }
    .about-hero__eyebrow::before, .about-hero__eyebrow::after { width: 35px; }
    .about-hero h1 { margin: 22px 0 18px; font-size: clamp(38px, 11vw, 50px); line-height: 1.04; }
    .about-hero__lead { font-size: 15px; line-height: 23px; }
    .services-hero { min-height: 390px; background-position: center center; }
    .services-hero__content { width: calc(100% - 32px); }
    .services-hero__eyebrow { gap: 8px; font-size: 11px; letter-spacing: .16em; line-height: 16px; }
    .services-hero__eyebrow::before, .services-hero__eyebrow::after { width: 35px; }
    .services-hero h1 { margin: 22px 0 18px; font-size: clamp(38px, 11vw, 50px); line-height: 1.04; }
    .services-hero__lead { font-size: 15px; line-height: 23px; }
    .service-detail { padding-block: 60px; }
    .service-detail__inner { width: calc(100% - 32px); gap: 32px; }
    .service-detail__content h2 { margin: 30px 0 16px; font-size: clamp(34px, 10vw, 42px); line-height: 1.08; }
    .service-detail__lead { font-size: 14px; line-height: 22px; }
    .service-detail__features { grid-template-columns: 1fr; gap: 14px; margin-top: 28px; }
    .service-detail__features li { gap: 14px; font-size: 15px; white-space: normal; }
    .service-detail__link { margin-top: 28px; }
    .about-story { padding-block: 60px; }
    .about-story__inner { width: calc(100% - 32px); gap: 36px; }
    .about-story__eyebrow { gap: 8px; font-size: 11px; letter-spacing: .16em; line-height: 16px; }
    .about-story__eyebrow::before { width: 42px; }
    .about-story__content h2 { margin: 25px 0 22px; font-size: clamp(34px, 10vw, 42px); line-height: 1.08; }
    .about-story__content h2 br { display: none; }
    .about-story__copy p { font-size: 14px; line-height: 22px; }
    .about-story__features { grid-template-columns: 1fr; gap: 14px; margin-top: 30px; }
    .about-story__features li { gap: 14px; font-size: 15px; }
    .about-numbers { padding-block: 60px; }
    .about-numbers__inner { width: calc(100% - 32px); }
    .about-numbers__heading p { gap: 8px; font-size: 11px; letter-spacing: .16em; line-height: 16px; }
    .about-numbers__heading p::before { width: 42px; }
    .about-numbers__heading h2 { margin-top: 28px; font-size: clamp(34px, 10vw, 42px); line-height: 1.06; }
    .about-numbers__heading h2 br { display: none; }
    .about-numbers__grid { gap: 14px; margin-top: 46px; }
    .about-stat { min-height: 168px; padding: 24px 12px; }
    .about-stat img { width: 31px; height: 31px; margin-bottom: 16px; }
    .about-stat strong { font-size: 30px; line-height: 36px; }
    .about-stat span { margin-top: 5px; font-size: 12px; line-height: 17px; }
    .about-team { padding-block: 60px; }
    .about-team__inner { width: calc(100% - 32px); gap: 36px; }
    .about-team__eyebrow { gap: 8px; font-size: 11px; letter-spacing: .16em; line-height: 16px; }
    .about-team__eyebrow::before { width: 42px; }
    .about-team__content h2 { margin: 25px 0 18px; font-size: clamp(34px, 10vw, 42px); line-height: 1.08; }
    .about-team__content h2 br { display: none; }
    .about-team__content > p:last-of-type { font-size: 14px; line-height: 22px; }
    .about-team__cta { width: 100%; justify-content: center; margin-top: 28px; }
    .testimonials { padding-block: 68px 60px; }
    .testimonials__inner { width: calc(100% - 32px); }
    .testimonials__heading > p { font-size: 11px; line-height: 16px; letter-spacing: .16em; }
    .testimonials__heading h2 { margin-block: 16px 17px; font-size: clamp(34px, 10vw, 42px); line-height: 1.05; }
    .testimonials__heading > span { width: 58px; height: 3px; }
    .testimonial-grid { gap: 16px; margin-top: 48px; }
    .testimonial-card { height: 286px; padding: 34px 24px 26px; }
    .testimonial-quote { height: 20px; }
    .testimonial-card blockquote p { margin-top: 16px; font-size: 13px; line-height: 20px; }
    .testimonial-card figcaption { right: 24px; bottom: 26px; left: 24px; gap: 13px; padding-top: 22px; }
    .testimonial-card figcaption img { width: 54px; height: 54px; }
    .testimonial-card figcaption strong { font-size: 16px; line-height: 21px; }
    .testimonial-card figcaption span { font-size: 13px; line-height: 17px; }
}

@media (max-height: 540px) and (orientation: landscape) and (max-width: 900px) {
    .about-hero { min-height: 290px; }
    .about-hero h1 { margin-block: 18px 13px; font-size: clamp(35px, 5vw, 48px); }
    .about-hero__lead { font-size: 14px; line-height: 20px; }
    .services-hero { min-height: 290px; }
    .services-hero h1 { margin-block: 18px 13px; font-size: clamp(35px, 5vw, 48px); }
    .services-hero__lead { font-size: 14px; line-height: 20px; }
    .service-detail { padding-block: 48px; }
    .service-detail__inner { grid-template-columns: minmax(260px, 390px) minmax(0, 1fr); align-items: center; gap: 40px; }
    .service-detail__media { width: 100%; }
    .service-detail__content h2 { margin: 24px 0 15px; font-size: clamp(31px, 4.8vw, 42px); }
    .service-detail__lead { font-size: 13px; line-height: 19px; }
    .service-detail__features { gap: 10px 18px; margin-top: 24px; }
    .service-detail__features li { gap: 11px; font-size: 13px; line-height: 17px; }
    .service-detail__features img { width: 17px; height: 17px; flex-basis: 17px; }
    .service-detail__link { margin-top: 24px; font-size: 14px; }
    .about-story { padding-block: 48px; }
    .about-story__inner { grid-template-columns: minmax(260px, 390px) minmax(0, 1fr); align-items: center; gap: 40px; }
    .about-story__media { width: 100%; }
    .about-story__content h2 { margin-block: 22px 18px; font-size: clamp(31px, 4.8vw, 42px); }
    .about-story__copy p { font-size: 13px; line-height: 19px; }
    .about-story__features { gap: 10px 18px; margin-top: 24px; }
    .about-story__features li { gap: 11px; font-size: 13px; line-height: 17px; }
    .about-story__features img { width: 17px; height: 17px; flex-basis: 17px; }
    .about-numbers { padding-block: 48px; }
    .about-numbers__heading h2 { margin-top: 25px; font-size: clamp(30px, 4.7vw, 40px); }
    .about-numbers__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 38px; }
    .about-stat { min-height: 142px; padding: 20px 10px; }
    .about-stat img { width: 28px; height: 28px; margin-bottom: 12px; }
    .about-stat strong { font-size: 27px; line-height: 32px; }
    .about-stat span { font-size: 11px; line-height: 15px; }
    .about-team { padding-block: 48px; }
    .about-team__inner { grid-template-columns: minmax(260px, 390px) minmax(0, 1fr); align-items: center; gap: 40px; }
    .about-team__media { width: 100%; }
    .about-team__content h2 { margin-block: 22px 15px; font-size: clamp(31px, 4.8vw, 42px); }
    .about-team__content > p:last-of-type { font-size: 13px; line-height: 19px; }
    .about-team__cta { min-height: 44px; margin-top: 24px; padding: 10px 20px; }
    .testimonials { padding-block: 48px; }
    .testimonials__heading h2 { font-size: clamp(30px, 4.7vw, 40px); }
    .testimonial-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 34px; }
    .testimonial-card { height: 235px; padding: 26px 18px 18px; }
    .testimonial-quote { height: 20px; }
    .testimonial-card blockquote p { margin-top: 12px; font-size: 12px; line-height: 17px; }
    .testimonial-card figcaption { right: 18px; bottom: 18px; left: 18px; gap: 10px; padding-top: 15px; }
    .testimonial-card figcaption img { width: 42px; height: 42px; }
    .testimonial-card figcaption strong { font-size: 14px; line-height: 18px; }
    .testimonial-card figcaption span { font-size: 11px; line-height: 14px; }
}
