@media (max-width: 1180px) {
  .brand {
    min-width: auto;
  }

  .brand-logo {
    width: 225px;
    max-width: 24vw;
    height: 54px;
  }

  .primary-nav {
    gap: 16px;
  }

  .product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .service-value-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .service-modules-grid,
  .service-reasons-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .flow-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

}

@media (max-width: 1023px) {
  :root {
    --header-height: 66px;
    --section-space: 72px;
  }

  .container {
    width: min(100% - 36px, var(--container));
  }

  .header-inner {
    width: min(100% - 30px, 1260px);
  }

  .primary-nav {
    position: fixed;
    inset: var(--header-height) 0 auto 0;
    display: none;
    height: calc(100svh - var(--header-height));
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    padding: 24px 28px;
    background: rgba(8, 8, 8, 0.98);
    border-top: 1px solid var(--color-border);
  }

  body.menu-open .primary-nav {
    display: flex;
  }

  .primary-nav a {
    min-height: 52px;
    display: flex;
    align-items: center;
    padding: 0;
    border-bottom: 1px solid rgba(214, 166, 79, 0.14);
    font-size: 1rem;
  }

  .primary-nav a::after {
    display: none;
  }

  .nav-dropdown {
    border-bottom: 1px solid rgba(214, 166, 79, 0.14);
  }

  .nav-dropdown-toggle {
    width: 100%;
    min-height: 52px;
    justify-content: space-between;
    font-size: 1rem;
  }

  .nav-dropdown-menu {
    position: static;
    display: none;
    min-width: 0;
    border: 0;
    border-top: 1px solid rgba(214, 166, 79, 0.14);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.035);
    box-shadow: none;
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

  .nav-dropdown.is-open .nav-dropdown-menu {
    display: grid;
  }

  .primary-nav .nav-dropdown-menu a {
    min-height: 46px;
    padding-left: 18px;
    color: var(--color-text);
  }

  .menu-toggle {
    display: block;
  }

  .header-cta {
    display: none;
  }

  .hero h1 {
    font-size: 2.8rem;
  }

  .section-heading-split,
  .business-layout,
  .lead-layout,
  .insights-layout,
  .overseas-hero-grid,
  .overseas-table-pair,
  .content-grid,
  .contact-layout {
    grid-template-columns: 1fr;
  }

  .section-heading-split p {
    margin-top: 0;
  }

  .why-grid,
  .product-grid,
  .business-cards,
  .service-grid,
  .insights-grid,
  .service-value-grid,
  .service-modes-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-commercial-grid,
  .overseas-flow-grid,
  .service-flow-line,
  .service-flow-notes {
    grid-template-columns: 1fr;
  }

  .overseas-card-grid,
  .overseas-region-grid,
  .page-card-grid,
  .region-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .article-row-copy {
    padding: 24px;
  }

  .lead-partner-card {
    min-height: 360px;
  }

  .lead-partner-visual {
    max-width: 720px;
  }

  .process-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .process-step:not(:last-child)::after {
    display: none;
  }

  .side-asset img,
  .lead-visual img {
    aspect-ratio: 1672 / 941;
  }

  .service-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-module-card {
    min-height: 400px;
  }

  .section-insights .insights-heading p {
    white-space: normal;
  }

  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  :root {
    --header-height: 62px;
    --section-space: 56px;
    --grid-gap: 16px;
  }

  .container {
    width: min(100% - 28px, var(--container));
  }

  .header-inner {
    width: min(100% - 24px, 1260px);
    gap: 12px;
  }

  .brand-logo {
    width: 172px;
    max-width: 46vw;
    height: 44px;
  }

  .brand-mark {
    grid-template-columns: repeat(2, 10px);
    grid-template-rows: repeat(2, 9px);
  }

  .brand-mark span {
    border-left-width: 10px;
    border-right-width: 10px;
    border-bottom-width: 18px;
  }

  .language-switch {
    display: none;
  }

  body.menu-open .language-switch {
    position: fixed;
    z-index: 1001;
    left: 28px;
    right: 28px;
    bottom: 24px;
    display: flex;
    justify-content: center;
    background: rgba(8, 8, 8, 0.95);
  }

  .hero,
  .hero-slider,
  .hero-slide {
    height: auto;
    min-height: 560px;
    max-height: none;
  }

  .hero-slide {
    background-position: center;
  }

  .hero-content {
    width: min(100% - 28px, var(--container));
    padding: 72px 0 92px;
  }

  .hero h1 {
    font-size: 2.05rem;
    line-height: 1.16;
  }

  .hero p {
    font-size: 0.98rem;
    line-height: 1.75;
  }

  .hero-tags {
    gap: 8px;
  }

  .hero-tags span {
    min-height: 32px;
    font-size: 0.78rem;
  }

  .section-heading h2 {
    font-size: 1.6rem;
  }

  .section-heading p {
    font-size: 0.96rem;
    line-height: 1.7;
  }

  .product-grid,
  .why-grid,
  .business-cards,
  .service-grid,
  .service-value-grid,
  .service-modules-grid,
  .service-modes-grid,
  .service-reasons-grid,
  .service-flow-bridge,
  .insights-grid,
  .process-rail,
  .service-facts,
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .product-card,
  .why-card,
  .service-card,
  .service-module-card,
  .service-value-card,
  .service-mode-card,
  .service-reason-card {
    min-height: auto;
  }

  .services-detail-heading h1,
  .services-detail-heading h2 {
    font-size: 1.86rem;
  }

  .service-overview-card,
  .service-flow-panel,
  .service-contact-strip {
    padding: 22px;
  }

  .service-module-card {
    padding: 22px;
  }

  .service-commercial-grid {
    gap: 24px;
  }

  .service-contact-strip {
    align-items: stretch;
    flex-direction: column;
  }

  .overseas-cta-strip,
  .cta-band {
    align-items: stretch;
    flex-direction: column;
  }

  .service-contact-strip .button {
    width: 100%;
  }

  .service-fee-table {
    overflow-x: auto;
  }

  .service-fee-table table {
    min-width: 620px;
  }

  .product-card.image-card {
    min-height: 300px;
  }

  .product-list {
    font-size: 0.88rem;
  }

  .business-card {
    grid-template-columns: 1fr;
  }

  .business-card h3 {
    min-height: auto;
  }

  .insight-card {
    min-height: auto;
  }

  .insight-card-media {
    min-height: 190px;
  }

  .insight-card-copy {
    padding: 20px;
  }

  .insight-modal {
    padding: 14px;
  }

  .insight-modal-panel {
    max-height: calc(100svh - 28px);
    padding: 28px 20px 22px;
  }

  .insight-modal-panel h2 {
    padding-right: 42px;
    font-size: 1.42rem;
  }

  .asset-strip img,
  .wide-media img,
  .side-asset img,
  .lead-visual img {
    aspect-ratio: 1672 / 941;
  }

  .lead-panel {
    padding: 22px;
  }

  .lead-partner-card {
    min-height: auto;
    padding: 28px;
  }

  .lead-partner-card h2 {
    font-size: 1.72rem;
  }

  .lead-partner-card p {
    font-size: 0.98rem;
  }

  .lead-partner-visual {
    margin-top: 24px;
    border-radius: 14px 4px 14px 4px;
  }

  .content-card,
  .content-side-card,
  .contact-card {
    padding: 24px;
  }

  .content-facts,
  .overseas-card-grid,
  .overseas-region-grid,
  .overseas-flow-grid,
  .contact-qr-grid,
  .page-card-grid,
  .region-grid,
  .flow-grid {
    grid-template-columns: 1fr;
  }

  .overseas-page .content-hero h1 {
    font-size: 2.05rem;
  }

  .content-hero h1.verification-title {
    white-space: nowrap;
    font-size: 1.42rem;
  }

  .overseas-toc {
    position: relative;
    top: auto;
  }

  .overseas-toc a,
  .overseas-facts span {
    width: 100%;
    justify-content: center;
  }

  .overseas-section h2,
  .overseas-cta-strip h2,
  .cta-band h2 {
    font-size: 1.34rem;
  }

  .chip-grid,
  .contact-grid {
    grid-template-columns: 1fr;
  }

  .lead-submit {
    width: 100%;
  }

  .footer-bottom {
    justify-content: flex-start;
  }

  .footer-qr-card img {
    width: 86px;
    height: 86px;
  }
}
