@media (max-width: 1040px) {
      .nav {
        grid-template-columns: 1fr auto;
      }

      .nav-links {
        display: none;
      }

      .hero-top,
      .section-heading,
      .contact-card {
        grid-template-columns: 1fr;
      }

      .hero-aside {
        max-width: 650px;
      }

      .capability-row {
        grid-template-columns: repeat(2, 1fr);
      }

      .capability-row > * {
        border-bottom: 1px solid var(--line);
      }

      .capability-row > *:first-child {
        grid-column: span 2;
        padding-left: 22px;
      }

      .service-grid,
      .process-grid,
      .pricing-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .case-card,
      .about-grid,
      .trust-grid {
        grid-template-columns: 1fr;
      }

      .case-visual {
        min-height: 430px;
      }

      .portrait-placeholder {
        position: relative;
        top: 0;
        min-height: 620px;
      }

      .about-values {
        grid-template-columns: 1fr;
      }

      .contact-card {
        align-items: start;
      }

      .contact-aside {
        max-width: 580px;
      }
    }

    @media (max-width: 720px) {
      :root {
        --container: min(100% - 30px, 640px);
        --radius-lg: 24px;
        --radius-md: 18px;
      }

      .section {
        padding: 88px 0;
      }

      .site-header {
        position: relative;
      }

      .nav {
        min-height: 68px;
      }

      .brand span,
      .nav-actions .btn {
        display: none;
      }

      .hero {
        min-height: 0;
        padding-top: 54px;
      }

      h1 {
        font-size: clamp(50px, 15vw, 72px);
      }

      h2 {
        font-size: clamp(42px, 12vw, 60px);
      }

      .lead {
        margin-top: 22px;
        font-size: 18px;
      }

      .hero-top {
        gap: 34px;
      }

      .hero-aside p {
        font-size: 16px;
      }

      .hero-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
      }

      .hero-media {
        min-height: 510px;
        margin-top: 36px;
      }

      .hero-media::before {
        width: 270px;
        height: 270px;
      }

      .capability-row {
        grid-template-columns: 1fr;
      }

      .capability-row > *,
      .capability-row > *:first-child {
        grid-column: auto;
        min-height: 86px;
        padding: 19px 0;
        border-right: 0;
      }

      .section-heading {
        gap: 26px;
        margin-bottom: 44px;
      }

      .section-heading .note {
        font-size: 16px;
      }

      .work-grid,
      .audience-grid,
      .service-grid,
      .process-grid,
      .pricing-grid,
      .contact-links {
        grid-template-columns: 1fr;
      }

      .work-card,
      .work-card:nth-child(n) {
        grid-column: span 1;
        min-height: 0;
      }

      .work-visual {
        min-height: 360px;
      }

      .audience-card {
        min-height: 330px;
        padding: 30px;
      }

      .audience-card .number {
        margin-bottom: 74px;
      }

      .service-grid,
      .process-grid,
      .contact-links {
        border-left: 0;
      }

      .service-card,
      .process-card,
      .contact-link {
        border-left: 1px solid var(--line);
      }

      .service-card {
        min-height: 230px;
      }

      .service-icon {
        margin-bottom: 38px;
      }

      .case-card {
        min-height: 0;
      }

      .case-visual {
        min-height: 380px;
      }

      .case-content {
        padding: 31px;
      }

      .process-card {
        min-height: 230px;
      }

      .process-number {
        margin-bottom: 43px;
      }

      .portrait-placeholder {
        min-height: 520px;
      }

      .about-grid {
        gap: 52px;
      }

      .about-copy > p {
        font-size: 17px;
      }

      .certificate-card {
        grid-template-columns: 64px 1fr;
      }

      .certificate-card .arrow-link {
        display: none;
      }

      .pricing-grid {
        gap: 12px;
      }

      .price-card {
        min-height: 320px;
      }

      .pricing-note {
        grid-template-columns: 1fr;
      }

      summary {
        font-size: 20px;
      }

      .contact-section {
        padding-top: 84px;
      }

      .contact-card {
        gap: 46px;
        padding-bottom: 65px;
      }

      .contact-links {
        border-top-color: #3b3938;
      }

      .contact-link {
        border-color: #3b3938;
      }

      footer {
        gap: 16px;
        align-items: flex-start;
        flex-direction: column;
      }
    }
