:root {
      --bg: #f5f5f7;
      --surface: rgba(255,255,255,.84);
      --ink: #111318;
      --muted: #5d6673;
      --faint: #8a929e;
      --line: rgba(17,19,24,.08);
      --blue: #112f66;
      --accent: #1f73c9;
      --shadow: 0 24px 64px rgba(17,19,24,.07);
      --radius: 32px;
      --max: 1180px;
    }

    * { box-sizing: border-box; }

    html { scroll-behavior: auto; scroll-padding-top: 0; }
    #top,
    #home,
    section[id],
    article[id] { scroll-margin-top: 0; }
    body {
      margin: 0;
      color: var(--ink);
      background:
        radial-gradient(circle at 10% 4%, rgba(31,115,201,.08), transparent 24%),
        linear-gradient(180deg, #fcfcfd 0%, #f5f5f7 36%, #fbfbfd 100%);
      font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Inter, Roboto, Arial, sans-serif;
      -webkit-font-smoothing: antialiased;
      line-height: 1.5;
    }

    a { color: inherit; text-decoration: none; }
    img { display: block; max-width: 100%; }

    .wrap { width: min(calc(100% - 40px), var(--max)); margin: 0 auto; }

    header {
      position: sticky;
      top: 0;
      z-index: 20;
      background: rgba(245,245,247,.78);
      border-bottom: 1px solid var(--line);
      backdrop-filter: blur(18px);
    }

    .nav {
      min-height: 76px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }

    .brand {
      display: flex;
      align-items: center;
      gap: 14px;
      min-width: 0;
    }

    .brand img { width: 170px; height: auto; }

    .brand-copy {
      display: flex;
      flex-direction: column;
      gap: 2px;
    }

    .brand-copy strong { font-size: 19px; letter-spacing: -.02em; }

    .brand-copy span {
      font-size: 12.5px;
      color: var(--faint);
      text-transform: none;
      letter-spacing: .02em;
      font-weight: 650;
      line-height: 1.3;
      max-width: 420px;
    }

    nav {
      display: flex;
      align-items: center;
      gap: 22px;
      color: var(--muted);
      font-size: 14px;
      font-weight: 680;
    }

    nav a:hover { color: var(--ink); }

    .button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 48px;
      padding: 12px 18px;
      border-radius: 999px;
      background: var(--ink);
      color: white;
      font-weight: 760;
      white-space: nowrap;
      box-shadow: 0 12px 24px rgba(17,19,24,.15);
    }

    .hero { padding: 78px 0 48px; }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 9px 14px;
      border-radius: 999px;
      background: rgba(255,255,255,.80);
      border: 1px solid var(--line);
      color: var(--muted);
      font-size: 12px;
      font-weight: 820;
      letter-spacing: .10em;
      text-transform: uppercase;
      margin-bottom: 22px;
    }

    .dot {
      width: 8px;
      height: 8px;
      border-radius: 99px;
      background: var(--accent);
      box-shadow: 0 0 0 8px rgba(31,115,201,.10);
    }

    h1 {
      margin: 0;
      font-size: clamp(48px, 7vw, 88px);
      line-height: .92;
      letter-spacing: -.075em;
      font-weight: 730;
      max-width: 980px;
    }

    .lead {
      margin: 24px 0 0;
      max-width: 760px;
      color: var(--muted);
      font-size: clamp(18px, 2.2vw, 23px);
      letter-spacing: -.02em;
    }

    .hero-links {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 32px;
    }

    .chip {
      padding: 12px 16px;
      border-radius: 999px;
      background: rgba(255,255,255,.82);
      border: 1px solid var(--line);
      box-shadow: 0 10px 24px rgba(17,19,24,.05);
      font-weight: 720;
      color: var(--ink);
    }

    .section-head {
      padding: 10px 0 18px;
      display: grid;
      grid-template-columns: .8fr 1.2fr;
      gap: 28px;
      align-items: end;
    }

    .section-head span {
      color: var(--faint);
      font-size: 12px;
      font-weight: 820;
      text-transform: uppercase;
      letter-spacing: .12em;
      display: block;
      margin-bottom: 10px;
    }

    .section-head h2 {
      margin: 0;
      font-size: clamp(34px, 4.6vw, 58px);
      line-height: .96;
      letter-spacing: -.06em;
      font-weight: 730;
    }

    .section-head p {
      margin: 0;
      color: var(--muted);
      font-size: 18px;
    }


    /* v33: compact section labels matching the Engineering Solutions pill */
    .section-pill {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 9px 14px;
      border-radius: 999px;
      background: rgba(255,255,255,.80);
      border: 1px solid var(--line);
      color: var(--muted);
      font-size: 12px;
      font-weight: 820;
      letter-spacing: .10em;
      text-transform: uppercase;
      white-space: nowrap;
      box-shadow: 0 10px 24px rgba(17,19,24,.04);
    }

    .section-pill i {
      width: 8px;
      height: 8px;
      flex: 0 0 8px;
      border-radius: 99px;
      background: var(--accent);
      box-shadow: 0 0 0 8px rgba(31,115,201,.10);
    }

    .section-head.compact-head {
      align-items: center;
      padding-bottom: 20px;
    }

    .solutions { padding: 12px 0 30px; }

    .package {
      margin: 22px 0;
      padding: 24px;
      border-radius: 36px;
      background: var(--surface);
      border: 1px solid rgba(255,255,255,.88);
      box-shadow: var(--shadow);
      backdrop-filter: blur(16px);
    }

    .package-head {
      margin-bottom: 22px;
    }

    .title-line {
      display: flex;
      align-items: center;
      gap: 0;
      flex-wrap: nowrap;
      margin-bottom: 14px;
    }


    h3 {
      margin: 0;
      font-size: clamp(24px, 2.45vw, 36px);
      line-height: 1.05;
      letter-spacing: -.045em;
      font-weight: 730;
      color: var(--blue);
    }

    .package-head p {
      margin: 0;
      color: var(--muted);
      font-size: 16.5px;
      max-width: 1040px;
    }

    .package-body {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(390px, .86fr);
      gap: 14px;
      align-items: start;
    }

    .visual {
      border-radius: 26px;
      overflow: hidden;
      border: 1px solid var(--line);
      background: #eef2f6;
      align-self: start;
      line-height: 0;
    }

    .visual img {
      width: 100%;
      height: auto;
      object-fit: contain;
      display: block;
    }

    .info {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      align-self: start;
      align-content: start;
      grid-auto-rows: min-content;
    }

    .info-box {
      padding: 16px 18px;
      border-radius: 22px;
      background: rgba(255,255,255,.72);
      border: 1px solid var(--line);
      min-height: 0;
      height: auto;
      align-self: start;
    }

    .outputs-box {
      grid-column: 1 / -1;
    }

    .standards-box,
    .info > .info-box:last-child {
      align-self: start;
    }

    .info-box h4 {
      margin: 0 0 10px;
      color: var(--blue);
      font-size: 16px;
      letter-spacing: -.02em;
    }

    .info-box p {
      margin: 0;
      color: var(--muted);
      font-size: 14.5px;
      line-height: 1.5;
    }

    .info-box ul {
      list-style: none;
      margin: 0;
      padding: 0;
      display: grid;
      gap: 8px;
    }

    .info-box li {
      position: relative;
      padding-left: 18px;
      color: var(--ink);
      font-size: 14.5px;
    }

    .info-box li::before {
      content: "";
      position: absolute;
      left: 0;
      top: .62em;
      width: 6px;
      height: 6px;
      border-radius: 999px;
      background: var(--accent);
    }

    .apps {
      display: grid;
      grid-template-columns: 1fr;
      gap: 8px;
    }

    .app-card {
      display: grid;
      gap: 2px;
      align-content: start;
    }

    .app-card strong {
      color: var(--ink);
      font-size: 14px;
    }

    .app-card span {
      color: var(--muted);
      font-size: 13.5px;
    }


    .package-body {
      grid-template-areas: "visual info";
    }

    .visual { grid-area: visual; }
    .info { grid-area: info; }


    #p6 .visual img {
      width: 100%;
      height: auto;
      object-fit: contain;
      display: block;
    }

    #p9 .visual img {
      width: 100%;
      height: auto;
      object-fit: contain;
      display: block;
    }


    #p2 .visual img {
      width: 100%;
      height: auto;
      object-fit: contain;
      display: block;
    }


    #p1 .visual img {
      width: 100%;
      height: auto;
      object-fit: contain;
      display: block;
    }


    #p3 .visual img {
      width: 100%;
      height: auto;
      object-fit: contain;
      display: block;
    }


    .brand-copy span .brand-second-line {
      display: inline-block;
      margin-top: 2px;
    }

    #who-we-are h2 {
      white-space: nowrap;
    }


    #p5 .visual img {
      width: 100%;
      height: auto;
      object-fit: contain;
      display: block;
    }

    .industries { padding: 34px 0 24px; }

    .industry-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
    }

    .industry-card {
      padding: 26px;
      border-radius: 28px;
      background: var(--surface);
      border: 1px solid rgba(255,255,255,.88);
      box-shadow: var(--shadow);
    }

    .industry-card h3 {
      font-size: 28px;
      margin-bottom: 10px;
    }

    .industry-card p {
      margin: 0;
      color: var(--muted);
      font-size: 16px;
    }

    .cta { padding: 42px 0 78px; }

    .cta-box {
      border-radius: 36px;
      background: linear-gradient(145deg, #111318, #1a1d24);
      color: white;
      padding: 38px;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 24px;
      align-items: center;
      box-shadow: var(--shadow);
    }

    .cta-box h2 {
      margin: 0 0 12px;
      font-size: clamp(34px, 4vw, 52px);
      line-height: .98;
      letter-spacing: -.055em;
    }

    .cta-box p {
      margin: 0;
      max-width: 760px;
      color: rgba(255,255,255,.72);
      font-size: 18px;
    }

    .cta-box .button {
      background: white;
      color: #111318;
      box-shadow: none;
    }

    footer {
      padding: 26px 0 46px;
      color: var(--faint);
      font-size: 14px;
    }

    .footer {
      border-top: 1px solid var(--line);
      padding-top: 24px;
      display: flex;
      justify-content: space-between;
      gap: 18px;
      flex-wrap: wrap;
    }

    @media (max-width: 1020px) {
      .section-head,
      .package-body,
      .industry-grid,
      .cta-box {
        grid-template-columns: 1fr;
      }

      .package-body {
        grid-template-areas:
          "visual"
          "info";
      }

      .info {
        grid-template-columns: 1fr;
      }

      .outputs-box {
        grid-column: auto;
      }
    }

    @media (max-width: 760px) {
      .wrap { width: min(calc(100% - 26px), var(--max)); }
      nav { display: none; }
      .brand img { width: 144px; }
      .brand-copy { display: none; }
      .hero { padding-top: 48px; }
      .package { padding: 18px; }
      .title-line { gap: 0; }
      h3 { font-size: clamp(21px, 5.2vw, 28px); }
      .info { grid-template-columns: 1fr; gap: 10px; }
    }

    .band { padding: 26px 0 8px; }
    .feature-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 16px;
    }
    .feature-card {
      padding: 22px;
      border-radius: 26px;
      background: var(--surface);
      border: 1px solid rgba(255,255,255,.88);
      box-shadow: var(--shadow);
      backdrop-filter: blur(16px);
    }
    .feature-card h4 { margin: 0 0 8px; color: var(--blue); font-size: 17px; letter-spacing: -.02em; }
    .feature-card p { margin: 0; color: var(--muted); font-size: 14.5px; line-height: 1.55; }
    .stamp { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; align-items: center; }
    .stamp .lbl { font-size: 11px; font-weight: 820; letter-spacing: .12em; text-transform: uppercase; color: var(--faint); margin-right: 4px; }
    .stamp .chip { padding: 8px 13px; font-size: 13px; }
    .training { padding: 20px 0 24px; }
    .training-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
    .training-card {
      padding: 18px 20px;
      border-radius: 22px;
      background: rgba(255,255,255,.72);
      border: 1px solid var(--line);
    }
    .training-card .no { font-size: 12px; font-weight: 820; color: var(--accent); letter-spacing: .06em; }
    .training-card strong { display: block; margin: 4px 0 0; color: var(--ink); font-size: 15px; letter-spacing: -.02em; }
    @media (max-width: 1020px) {
      .feature-grid { grid-template-columns: 1fr 1fr; }
      .training-grid { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 640px) {
      .feature-grid, .training-grid { grid-template-columns: 1fr; }
    }
    .about-statement {
      margin: 4px 0 22px;
      font-size: clamp(19px, 2.1vw, 24px);
      line-height: 1.35;
      letter-spacing: -.02em;
      color: var(--ink);
      max-width: 900px;
      font-weight: 600;
    }
    .about-statement b { color: var(--blue); font-weight: 760; }
    .subsection-title {
      margin: 26px 0 14px;
      color: var(--blue);
      font-size: 18px;
      font-weight: 820;
      letter-spacing: .10em;
      text-transform: uppercase;
    }
    .sub-eyebrow { margin-top: 6px; }
.hero-links {
      display: grid !important;
      grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
      gap: 12px !important;
      max-width: 960px !important;
      align-items: stretch !important;
    }

    .hero-links .chip {
      width: 100% !important;
      text-align: center !important;
      justify-content: center !important;
    }

    @media (max-width: 760px) {
      .hero-links {
        grid-template-columns: 1fr !important;
      }
    }
.workflow-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      margin-top: 18px;
    }

    .workflow-step {
      border: 1px solid rgba(15, 23, 42, 0.10);
      border-radius: 18px;
      padding: 16px 16px;
      background: rgba(255,255,255,0.72);
      box-shadow: 0 12px 30px rgba(15, 23, 42, 0.045);
    }

    .workflow-step span {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 28px;
      height: 28px;
      border-radius: 999px;
      background: rgba(15, 49, 92, 0.08);
      color: var(--blue);
      font-weight: 800;
      font-size: 0.82rem;
      margin-bottom: 10px;
    }

    .workflow-step strong {
      display: block;
      color: var(--ink);
      font-size: 0.96rem;
      margin-bottom: 5px;
    }

    .workflow-step p {
      margin: 0;
      color: var(--muted);
      font-size: 0.9rem;
      line-height: 1.45;
    }

    .sector-router {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
      margin-top: 18px;
    }

    .sector-route {
      border: 1px solid rgba(15, 23, 42, 0.10);
      border-radius: 20px;
      padding: 18px;
      background: rgba(255,255,255,0.72);
      box-shadow: 0 14px 32px rgba(15, 23, 42, 0.05);
    }

    .sector-route strong {
      display: block;
      color: var(--ink);
      font-size: 1rem;
      margin-bottom: 7px;
    }

    .sector-route p {
      margin: 0 0 12px;
      color: var(--muted);
      line-height: 1.48;
      font-size: 0.92rem;
    }

    .mini-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 7px;
    }

    .mini-tags span {
      border: 1px solid rgba(15, 49, 92, 0.10);
      background: rgba(15, 49, 92, 0.055);
      color: var(--blue);
      border-radius: 999px;
      padding: 6px 9px;
      font-size: 0.78rem;
      font-weight: 700;
    }

    .proof-strip {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;
      margin-top: 18px;
    }

    .proof-card {
      border: 1px solid rgba(15, 23, 42, 0.10);
      border-radius: 18px;
      padding: 15px;
      background: rgba(255,255,255,0.72);
    }

    .proof-card strong {
      display: block;
      color: var(--ink);
      margin-bottom: 6px;
      font-size: 0.95rem;
    }

    .proof-card span {
      color: var(--muted);
      font-size: 0.88rem;
      line-height: 1.42;
      display: block;
    }

    @media (max-width: 860px) {
      .trigger-grid,
      .workflow-grid,
      .sector-router,
      .proof-strip {
        grid-template-columns: 1fr;
      }
    }

  
    .package-body {
      align-items: stretch;
    }

    .package .text {
      gap: 14px !important;
    }

    .package .info-box {
      padding: 18px 18px !important;
    }

    .package .info-box ul {
      margin-top: 8px !important;
    }

    .package .visual {
      align-self: stretch;
    }

    .package .visual img {
      height: 100%;
      max-height: 520px;
      object-fit: contain;
    }

    @media (max-width: 980px) {
      .package .visual img {
        height: auto;
        max-height: none;
      }
    }

  
    .package .visual {
      background: #ffffff !important;
    }

    .package .visual::before,
    .package .visual::after {
      background: transparent !important;
    }

  
    .stamp-row {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
      margin-top: 18px;
    }

    @media (max-width: 860px) {
      .stamp-row {
        grid-template-columns: 1fr;
      }
    }

  
    .package-body {
      align-items: start !important;
    }

    .package .visual {
      align-self: start !important;
      height: auto !important;
      min-height: 0 !important;
      padding: 0 !important;
      overflow: hidden !important;
      background: #ffffff !important;
    }

    .package .visual img {
      width: 100% !important;
      height: auto !important;
      max-height: none !important;
      object-fit: contain !important;
      display: block !important;
      margin: 0 !important;
    }

  
    .dual-heads {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
      margin-bottom: 14px;
    }

    .dual-head {
      padding: 0 2px;
    }

    .dual-head span {
      display: inline-block;
      font-size: 0.78rem;
      font-weight: 800;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--blue);
      margin-bottom: 6px;
    }

    .dual-head h3 {
      margin: 0;
      color: var(--ink);
      font-size: 1.15rem;
      line-height: 1.2;
    }

    #toolset-standards .stamp-row {
      display: grid;
      grid-template-columns: 1fr;
      gap: 14px;
      margin-top: 0;
    }

    #toolset-standards .stamp {
      min-height: 100%;
    }

    @media (max-width: 860px) {
      .dual-heads,
      #toolset-standards .stamp-row {
        grid-template-columns: 1fr;
      }
    }

  
    .solution-group {
      margin: 34px 0 18px;
      padding: 22px 24px;
      border: 1px solid rgba(15, 23, 42, 0.10);
      border-radius: 24px;
      background: rgba(255,255,255,0.74);
      box-shadow: 0 16px 36px rgba(15, 23, 42, 0.045);
    }

    .solution-group:first-of-type {
      margin-top: 18px;
    }

    .solution-group span {
      display: inline-block;
      font-size: 0.78rem;
      font-weight: 800;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--blue);
      margin-bottom: 7px;
    }

    .solution-group h3 {
      margin: 0 0 7px;
      color: var(--ink);
      font-size: clamp(1.25rem, 2vw, 1.65rem);
      line-height: 1.15;
    }

    .solution-group p {
      margin: 0;
      color: var(--muted);
      max-width: 900px;
      line-height: 1.55;
      font-size: 0.98rem;
    }

  
    .hero-solution-groups {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
      margin-top: 22px;
    }

    .hero-solution-group {
      border: 1px solid rgba(15, 23, 42, 0.10);
      border-radius: 20px;
      padding: 16px 16px 15px;
      background: rgba(255,255,255,0.72);
      box-shadow: 0 16px 36px rgba(15, 23, 42, 0.045);
    }

    .hero-solution-group strong {
      display: block;
      color: var(--ink);
      font-size: 0.98rem;
      margin-bottom: 10px;
    }

    .hero-solution-group .hero-links {
      margin-top: 0;
    }

    @media (max-width: 860px) {
      .hero-solution-groups {
        grid-template-columns: 1fr;
      }
    }

  
    /* v29 hero solution grouping refinement */
    .hero-solution-groups {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 18px !important;
      margin-top: 24px !important;
      max-width: 1040px !important;
    }

    .hero-solution-group {
      background: transparent !important;
      box-shadow: none !important;
      border: 0 !important;
      padding: 0 !important;
      border-radius: 0 !important;
    }

    .hero-group-head {
      margin: 0 0 10px !important;
      padding: 0 !important;
    }

    .hero-group-head span {
      display: inline-block !important;
      font-size: 0.78rem !important;
      font-weight: 800 !important;
      letter-spacing: 0.14em !important;
      text-transform: uppercase !important;
      color: var(--blue) !important;
      margin: 0 !important;
    }

    .hero-solution-group .hero-links {
      display: grid !important;
      grid-template-columns: repeat(4, minmax(0, auto)) !important;
      justify-content: start !important;
      gap: 10px !important;
      margin-top: 0 !important;
      max-width: 980px !important;
    }

    .hero-solution-group:first-child .hero-links {
      grid-template-columns: repeat(3, minmax(0, auto)) !important;
    }

    .hero-solution-group .chip {
      white-space: nowrap !important;
    }

    @media (max-width: 920px) {
      .hero-solution-group .hero-links,
      .hero-solution-group:first-child .hero-links {
        grid-template-columns: repeat(2, minmax(0, auto)) !important;
      }
    }

    @media (max-width: 560px) {
      .hero-solution-group .hero-links,
      .hero-solution-group:first-child .hero-links {
        grid-template-columns: 1fr !important;
      }
      .hero-solution-group .chip {
        white-space: normal !important;
      }
    }

  
    /* v30: hero Core / Extended side-by-side layout */
    .hero-solution-groups {
      display: grid !important;
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 28px !important;
      align-items: start !important;
      max-width: 1120px !important;
    }

    .hero-solution-group .hero-links {
      display: flex !important;
      flex-wrap: wrap !important;
      gap: 10px !important;
      max-width: 100% !important;
    }

    .hero-solution-group:first-child .hero-links {
      display: flex !important;
      flex-wrap: wrap !important;
    }

    @media (max-width: 860px) {
      .hero-solution-groups {
        grid-template-columns: 1fr !important;
      }
    }

  
    /* v31: compact solution chips / group boxes */
    .hero-solution-groups {
      display: grid !important;
      grid-template-columns: max-content max-content !important;
      gap: 34px !important;
      align-items: start !important;
      justify-content: start !important;
      max-width: 100% !important;
    }

    .hero-solution-group {
      width: fit-content !important;
      max-width: 520px !important;
    }

    .hero-solution-group .hero-links {
      display: flex !important;
      flex-wrap: wrap !important;
      gap: 8px !important;
      width: fit-content !important;
      max-width: 520px !important;
    }

    .hero-solution-group .chip {
      display: inline-flex !important;
      width: auto !important;
      flex: 0 0 auto !important;
      padding: 8px 12px !important;
      line-height: 1.15 !important;
      white-space: nowrap !important;
    }

    .solution-group {
      width: fit-content !important;
      max-width: 920px !important;
      padding: 18px 20px !important;
      margin-left: 0 !important;
      margin-right: auto !important;
      background: rgba(255,255,255,0.58) !important;
    }

    .solution-group p {
      max-width: 820px !important;
    }

    @media (max-width: 920px) {
      .hero-solution-groups {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
      }

      .hero-solution-group,
      .hero-solution-group .hero-links,
      .solution-group {
        width: 100% !important;
        max-width: 100% !important;
      }

      .hero-solution-group .chip {
        white-space: normal !important;
      }
    }

  

    /* v36: header anchors align section pill/title below sticky header */
    #top,
    #home,
    section[id],
    article[id] {
      scroll-margin-top: 116px;
    }

    @media (max-width: 760px) {
      html { scroll-padding-top: 96px; }
      #top, #home, section[id], article[id] { scroll-margin-top: 96px; }
    }

    /* v44: hero visual + torsional update */
    .hero-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.03fr) minmax(360px, 0.97fr);
      gap: 42px;
      align-items: center;
    }

    .hero-copy {
      min-width: 0;
    }

    .hero-media {
      min-width: 0;
    }

    .hero-media-card {
      position: relative;
      border-radius: 28px;
      overflow: hidden;
      background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,249,252,.92));
      border: 1px solid rgba(15,23,42,.10);
      box-shadow: 0 22px 48px rgba(15,23,42,.10);
    }

    .hero-media-card img {
      display: block;
      width: 100%;
      height: auto;
      aspect-ratio: 16 / 9;
      object-fit: cover;
    }

    .hero-media-note {
      position: absolute;
      left: 18px;
      bottom: 18px;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 10px 14px;
      border-radius: 999px;
      background: rgba(255,255,255,.86);
      border: 1px solid rgba(15,23,42,.10);
      box-shadow: 0 10px 24px rgba(17,19,24,.08);
      color: var(--ink);
      font-size: 12px;
      font-weight: 780;
      letter-spacing: .06em;
      text-transform: uppercase;
      backdrop-filter: blur(10px);
    }

    .hero-media-note i {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--accent);
      box-shadow: 0 0 0 8px rgba(31,115,201,.12);
      display: inline-block;
    }

    @media (max-width: 1120px) {
      .hero-grid {
        grid-template-columns: 1fr;
        gap: 28px;
      }
      .hero-media {
        order: -1;
      }
    }


    /* v45: compact hero and remove study examples */
    .hero {
      padding: 34px 0 28px !important;
    }

    .hero-grid {
      grid-template-columns: minmax(0, 0.98fr) minmax(320px, 0.86fr) !important;
      gap: 28px !important;
      align-items: center !important;
    }

    .hero h1 {
      font-size: clamp(34px, 4.3vw, 58px) !important;
      line-height: .94 !important;
      letter-spacing: -.06em !important;
      max-width: 760px !important;
    }

    .hero .lead {
      margin-top: 14px !important;
      max-width: 660px !important;
      font-size: clamp(14px, 1.35vw, 17px) !important;
      line-height: 1.46 !important;
      letter-spacing: -.012em !important;
    }

    .hero-support {
      margin-top: 10px !important;
      max-width: 660px !important;
      font-size: clamp(13px, 1.15vw, 15px) !important;
      line-height: 1.45 !important;
      color: var(--muted) !important;
    }

    .hero-solution-groups {
      margin-top: 16px !important;
      gap: 10px !important;
      max-width: 720px !important;
    }

    .hero-group-head {
      margin-bottom: 8px !important;
    }

    .hero-group-head span {
      font-size: 11px !important;
      line-height: 1.1 !important;
      padding: 0 0 0 14px !important;
    }

    .hero-group-head span::before {
      width: 7px !important;
      height: 7px !important;
    }

    .hero-links {
      gap: 8px !important;
      margin-top: 0 !important;
    }

    .chip {
      padding: 8px 11px !important;
      font-size: 12px !important;
      line-height: 1.05 !important;
      box-shadow: 0 7px 16px rgba(17,19,24,.04) !important;
    }

    .hero-media-card {
      border-radius: 22px !important;
      max-width: 540px !important;
      margin-left: auto !important;
    }

    .hero-media-card img {
      aspect-ratio: 16 / 9 !important;
      max-height: 335px !important;
      object-fit: cover !important;
    }

    .hero-media-note {
      left: 14px !important;
      bottom: 14px !important;
      padding: 8px 11px !important;
      font-size: 10px !important;
      letter-spacing: .055em !important;
    }

    @media (min-width: 1121px) and (max-height: 820px) {
      .hero { padding-top: 26px !important; padding-bottom: 22px !important; }
      .hero h1 { font-size: clamp(32px, 3.8vw, 50px) !important; }
      .hero .lead { font-size: 14px !important; line-height: 1.38 !important; }
      .hero-support { font-size: 13px !important; line-height: 1.35 !important; }
      .hero-media-card img { max-height: 300px !important; }
      .chip { padding: 7px 10px !important; font-size: 11.5px !important; }
      .hero-solution-groups { margin-top: 12px !important; }
    }

    @media (max-width: 1120px) {
      .hero-grid {
        grid-template-columns: 1fr !important;
      }
      .hero-media {
        order: 0 !important;
      }
      .hero-media-card {
        margin-left: 0 !important;
        max-width: 680px !important;
      }
    }


    /* v46: fit hero content into first viewport when Home / logo is clicked */
    .hero {
      padding: 26px 0 20px !important;
      min-height: calc(100vh - 112px) !important;
      display: flex !important;
      align-items: center !important;
      box-sizing: border-box !important;
    }

    .hero > .wrap {
      width: 100% !important;
    }

    .hero-grid {
      grid-template-columns: minmax(0, 0.98fr) minmax(330px, 0.86fr) !important;
      gap: 26px !important;
      align-items: center !important;
    }

    .hero h1 {
      font-size: clamp(32px, 4vw, 50px) !important;
      line-height: .94 !important;
      letter-spacing: -.058em !important;
      max-width: 650px !important;
    }

    .hero .lead {
      margin-top: 12px !important;
      max-width: 650px !important;
      font-size: clamp(13px, 1.18vw, 15px) !important;
      line-height: 1.42 !important;
      letter-spacing: -.01em !important;
    }

    .hero-support {
      margin-top: 9px !important;
      max-width: 650px !important;
      font-size: clamp(12.5px, 1.05vw, 14px) !important;
      line-height: 1.38 !important;
    }

    .hero-solution-groups {
      margin-top: 14px !important;
      gap: 9px !important;
      max-width: 100% !important;
      display: grid !important;
      grid-template-columns: 1fr 1fr !important;
      column-gap: 24px !important;
      align-items: start !important;
    }

    .hero-group-head {
      margin-bottom: 7px !important;
    }

    .hero-group-head span {
      font-size: 10.5px !important;
      letter-spacing: .16em !important;
      line-height: 1.05 !important;
    }

    .hero-links {
      gap: 7px !important;
      margin-top: 0 !important;
    }

    .chip {
      padding: 7px 10px !important;
      font-size: 11px !important;
      line-height: 1.05 !important;
      border-radius: 999px !important;
    }

    .hero-media-card {
      max-width: 545px !important;
      margin-left: auto !important;
      border-radius: 21px !important;
    }

    .hero-media-card img {
      aspect-ratio: 16 / 9 !important;
      max-height: 300px !important;
      object-fit: cover !important;
    }

    .hero-media-note {
      left: 13px !important;
      bottom: 13px !important;
      padding: 7px 10px !important;
      font-size: 9.5px !important;
      letter-spacing: .045em !important;
    }

    @media (max-width: 1120px) {
      .hero {
        min-height: auto !important;
        padding: 24px 0 24px !important;
      }
      .hero-grid {
        grid-template-columns: 1fr !important;
      }
      .hero-solution-groups {
        grid-template-columns: 1fr !important;
      }
      .hero-media-card {
        margin-left: 0 !important;
        max-width: 680px !important;
      }
    }

    @media (min-width: 1121px) and (max-height: 720px) {
      .hero { padding-top: 20px !important; padding-bottom: 16px !important; }
      .hero h1 { font-size: clamp(30px, 3.5vw, 44px) !important; }
      .hero .lead { font-size: 13px !important; line-height: 1.34 !important; margin-top: 10px !important; }
      .hero-support { font-size: 12.5px !important; line-height: 1.32 !important; margin-top: 8px !important; }
      .hero-media-card img { max-height: 270px !important; }
      .chip { padding: 6px 9px !important; font-size: 10.5px !important; }
      .hero-solution-groups { margin-top: 11px !important; gap: 7px !important; }
      .hero-group-head { margin-bottom: 6px !important; }
    }


    /* v47: hero width aligned with content cards, compact copy, reduced whitespace */
    .hero {
      padding: 22px 0 20px !important;
      min-height: calc(100vh - 112px) !important;
      display: flex !important;
      align-items: center !important;
      box-sizing: border-box !important;
    }

    .hero > .wrap {
      width: min(calc(100% - 40px), var(--max)) !important;
      margin: 0 auto !important;
      padding: 24px !important;
      border-radius: 36px !important;
      background: var(--surface) !important;
      border: 1px solid rgba(255,255,255,.88) !important;
      box-shadow: var(--shadow) !important;
      backdrop-filter: blur(16px) !important;
      box-sizing: border-box !important;
    }

    .hero-grid {
      grid-template-columns: minmax(0, 0.94fr) minmax(410px, 0.92fr) !important;
      gap: 24px !important;
      align-items: center !important;
    }

    .hero h1 {
      font-size: clamp(30px, 3.35vw, 44px) !important;
      line-height: .96 !important;
      letter-spacing: -.055em !important;
      max-width: 590px !important;
    }

    .hero .lead {
      margin-top: 12px !important;
      max-width: 580px !important;
      font-size: clamp(13.5px, 1.12vw, 15.5px) !important;
      line-height: 1.42 !important;
      letter-spacing: -.01em !important;
    }

    .hero-support {
      margin-top: 8px !important;
      max-width: 580px !important;
      font-size: clamp(12.5px, 1.02vw, 14px) !important;
      line-height: 1.38 !important;
    }

    .hero-solution-groups {
      margin-top: 14px !important;
      gap: 12px !important;
      max-width: 100% !important;
      grid-template-columns: 1fr 1fr !important;
      column-gap: 20px !important;
    }

    .hero-group-head {
      margin-bottom: 7px !important;
    }

    .hero-group-head span {
      font-size: 10px !important;
      letter-spacing: .15em !important;
      line-height: 1.05 !important;
    }

    .hero-links {
      gap: 7px !important;
      margin-top: 0 !important;
    }

    .chip {
      padding: 7px 10px !important;
      font-size: 10.8px !important;
      line-height: 1.04 !important;
      box-shadow: 0 7px 16px rgba(17,19,24,.04) !important;
    }

    .hero-media-card {
      width: 100% !important;
      max-width: none !important;
      margin-left: 0 !important;
      border-radius: 26px !important;
      box-shadow: 0 18px 38px rgba(15,23,42,.10) !important;
    }

    .hero-media-card img {
      aspect-ratio: 16 / 9 !important;
      max-height: 300px !important;
      width: 100% !important;
      object-fit: cover !important;
    }

    .hero-media-note {
      left: 13px !important;
      bottom: 13px !important;
      padding: 7px 10px !important;
      font-size: 9.5px !important;
      letter-spacing: .045em !important;
    }

    @media (min-width: 1121px) and (max-height: 760px) {
      .hero { padding: 16px 0 !important; }
      .hero > .wrap { padding: 20px !important; }
      .hero h1 { font-size: clamp(28px, 3vw, 38px) !important; }
      .hero .lead { font-size: 13px !important; line-height: 1.34 !important; margin-top: 9px !important; }
      .hero-support { font-size: 12px !important; line-height: 1.3 !important; margin-top: 7px !important; }
      .hero-media-card img { max-height: 270px !important; }
      .hero-solution-groups { margin-top: 10px !important; gap: 8px !important; }
      .chip { padding: 6px 9px !important; font-size: 10.3px !important; }
    }

    @media (max-width: 1120px) {
      .hero {
        min-height: auto !important;
        padding: 20px 0 !important;
      }
      .hero > .wrap {
        padding: 18px !important;
        border-radius: 28px !important;
      }
      .hero-grid {
        grid-template-columns: 1fr !important;
      }
      .hero-solution-groups {
        grid-template-columns: 1fr !important;
      }
      .hero-media-card {
        max-width: 680px !important;
      }
    }


    /* v48: remove hero dead space and align typography with solution sections */
    .hero {
      padding: 24px 0 12px !important;
      min-height: 0 !important;
      display: block !important;
      align-items: initial !important;
      box-sizing: border-box !important;
    }

    .hero > .wrap {
      width: min(calc(100% - 40px), var(--max)) !important;
      margin: 0 auto !important;
      padding: 24px !important;
      border-radius: 36px !important;
      background: var(--surface) !important;
      border: 1px solid rgba(255,255,255,.88) !important;
      box-shadow: var(--shadow) !important;
      backdrop-filter: blur(16px) !important;
      box-sizing: border-box !important;
    }

    .hero-grid {
      grid-template-columns: minmax(0, 1fr) minmax(390px, .86fr) !important;
      gap: 18px !important;
      align-items: center !important;
    }

    .hero h1 {
      font-size: clamp(24px, 2.45vw, 36px) !important;
      line-height: 1.05 !important;
      letter-spacing: -.045em !important;
      font-weight: 730 !important;
      color: var(--blue) !important;
      max-width: 720px !important;
    }

    .hero .lead {
      margin-top: 12px !important;
      max-width: 720px !important;
      color: var(--muted) !important;
      font-size: 16.5px !important;
      line-height: 1.5 !important;
      letter-spacing: 0 !important;
    }

    .hero-support {
      margin-top: 8px !important;
      max-width: 720px !important;
      color: var(--muted) !important;
      font-size: 16.5px !important;
      line-height: 1.5 !important;
      letter-spacing: 0 !important;
    }

    .hero-solution-groups {
      display: grid !important;
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 14px !important;
      margin-top: 18px !important;
      max-width: 760px !important;
    }

    .hero-group-head {
      margin-bottom: 9px !important;
    }

    .hero-group-head span {
      font-size: 11px !important;
      letter-spacing: .16em !important;
      line-height: 1.15 !important;
    }

    .hero-links {
      gap: 8px !important;
      margin-top: 0 !important;
    }

    .chip {
      padding: 8px 13px !important;
      font-size: 13px !important;
      line-height: 1.05 !important;
      box-shadow: 0 7px 16px rgba(17,19,24,.04) !important;
    }

    .hero-media-card {
      width: 100% !important;
      max-width: none !important;
      margin-left: 0 !important;
      border-radius: 26px !important;
      box-shadow: 0 18px 38px rgba(15,23,42,.10) !important;
    }

    .hero-media-card img {
      aspect-ratio: 16 / 9 !important;
      width: 100% !important;
      max-height: 315px !important;
      object-fit: cover !important;
    }

    .hero-media-note {
      left: 13px !important;
      bottom: 13px !important;
      padding: 7px 10px !important;
      font-size: 9.5px !important;
      letter-spacing: .045em !important;
    }

    @media (max-width: 1120px) {
      .hero {
        padding: 18px 0 10px !important;
      }
      .hero > .wrap {
        padding: 18px !important;
        border-radius: 28px !important;
      }
      .hero-grid {
        grid-template-columns: 1fr !important;
      }
      .hero-solution-groups {
        grid-template-columns: 1fr !important;
      }
      .hero-media-card {
        max-width: 680px !important;
      }
    }


    /* v52: training boxes without numbers + hero body typography aligned */
    .hero h1 {
      font-size: clamp(24px, 2.45vw, 36px) !important;
      line-height: 1.05 !important;
      letter-spacing: -.045em !important;
      font-weight: 730 !important;
      color: var(--blue) !important;
    }

    .hero .lead,
    .hero-support {
      font-size: 18px !important;
      line-height: 1.55 !important;
      letter-spacing: 0 !important;
      color: var(--muted) !important;
      max-width: 720px !important;
    }

    .training-grid {
      display: grid !important;
      grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
      gap: 12px !important;
      margin-top: 22px !important;
    }

    .training-item {
      min-height: 0 !important;
      padding: 13px 15px !important;
      border-radius: 999px !important;
      background: rgba(255,255,255,.82) !important;
      border: 1px solid var(--line) !important;
      box-shadow: 0 10px 24px rgba(17,19,24,.05) !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
    }

    .training-item span {
      display: none !important;
    }

    .training-item strong {
      color: var(--ink) !important;
      font-size: 13px !important;
      line-height: 1.16 !important;
      letter-spacing: -.01em !important;
      font-weight: 760 !important;
    }

    @media (max-width: 1100px) {
      .training-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      }
    }

    @media (max-width: 640px) {
      .training-grid {
        grid-template-columns: 1fr !important;
      }

      .hero .lead,
      .hero-support {
        font-size: 16px !important;
      }
    }


    /* v53: corporate contact section with address, map and campus view */
    .contact-corporate {
      padding: 28px 0 10px;
    }

    .contact-shell {
      width: min(calc(100% - 40px), var(--max));
      margin: 0 auto;
      padding: 24px;
      border-radius: 36px;
      background: var(--surface);
      border: 1px solid rgba(255,255,255,.88);
      box-shadow: var(--shadow);
      backdrop-filter: blur(16px);
    }

    .contact-head {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 18px;
      align-items: end;
      margin-bottom: 18px;
    }

    .contact-head h2 {
      margin: 0;
      color: var(--blue);
      font-size: clamp(24px, 2.4vw, 34px);
      line-height: 1.05;
      letter-spacing: -.04em;
    }

    .contact-head p {
      margin: 8px 0 0;
      max-width: 780px;
      font-size: 18px;
      line-height: 1.55;
      color: var(--muted);
    }

    .contact-grid {
      display: grid;
      grid-template-columns: 0.9fr 1.05fr 1fr;
      gap: 18px;
      align-items: stretch;
    }

    .contact-card {
      border-radius: 28px;
      background: rgba(255,255,255,.82);
      border: 1px solid var(--line);
      box-shadow: 0 12px 28px rgba(17,19,24,.05);
      padding: 18px;
      overflow: hidden;
    }

    .contact-card h3 {
      margin: 0 0 12px;
      color: var(--blue);
      font-size: 18px;
      line-height: 1.15;
      letter-spacing: -.02em;
    }

    .contact-list {
      display: grid;
      gap: 12px;
    }

    .contact-item {
      display: grid;
      gap: 4px;
    }

    .contact-label {
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--blue);
    }

    .contact-value {
      font-size: 16px;
      line-height: 1.5;
      color: var(--ink);
    }

    .contact-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 18px;
    }

    .ghost-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 46px;
      padding: 0 18px;
      border-radius: 999px;
      border: 1px solid var(--line);
      background: rgba(255,255,255,.82);
      color: var(--ink);
      font-weight: 760;
      box-shadow: 0 8px 18px rgba(17,19,24,.04);
    }

    .map-frame {
      width: 100%;
      height: 100%;
      min-height: 320px;
      border: 0;
      border-radius: 20px;
      display: block;
      background: #f4f6fa;
    }

    .campus-figure {
      display: grid;
      gap: 10px;
      height: 100%;
    }

    .campus-figure img {
      width: 100%;
      height: 320px;
      object-fit: cover;
      border-radius: 20px;
      display: block;
    }

    .campus-caption {
      font-size: 14px;
      line-height: 1.45;
      color: var(--muted);
    }

    @media (max-width: 1180px) {
      .contact-grid {
        grid-template-columns: 1fr;
      }
      .contact-head {
        grid-template-columns: 1fr;
      }
      .contact-head .button {
        width: fit-content;
      }
      .map-frame,
      .campus-figure img {
        min-height: 280px;
        height: 280px;
      }
    }

    @media (max-width: 720px) {
      .contact-shell {
        padding: 18px;
        border-radius: 28px;
      }
      .contact-head p {
        font-size: 16px;
      }
      .contact-value {
        font-size: 15px;
      }
    }


    /* v54: contact two-column layout */
    .contact-grid-two {
      grid-template-columns: 0.9fr 1.1fr !important;
    }

    @media (max-width: 980px) {
      .contact-grid-two {
        grid-template-columns: 1fr !important;
      }
    }


    /* v56: enlarge hero image by ~1.2x */
    .hero-grid {
      grid-template-columns: minmax(0, 0.94fr) minmax(468px, 1.03fr) !important;
      gap: 22px !important;
    }

    .hero-media-card {
      transform-origin: center center;
      width: 100% !important;
    }

    .hero-media-card img {
      max-height: 378px !important; /* 315 x 1.2 */
    }

    @media (max-width: 1120px) {
      .hero-media-card {
        max-width: 816px !important; /* 680 x 1.2 */
      }
      .hero-media-card img {
        max-height: 360px !important;
      }
    }


    /* v57: hero image adjusted to 1.1x + cleaner contact copy */
    .hero-grid {
      grid-template-columns: minmax(0, 0.97fr) minmax(429px, 0.95fr) !important;
      gap: 22px !important;
    }

    .hero-media-card img {
      max-height: 347px !important; /* 315 x 1.1 */
    }

    @media (max-width: 1120px) {
      .hero-media-card {
        max-width: 748px !important; /* 680 x 1.1 */
      }
      .hero-media-card img {
        max-height: 335px !important;
      }
    }


    /* v59: mobile responsiveness + TR/EN language switch */
    html { scroll-behavior: smooth; }
    header .nav, nav { flex-wrap: wrap !important; row-gap: 10px !important; }

    .lang-switch {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      padding: 4px;
      border-radius: 999px;
      background: rgba(255,255,255,.72);
      border: 1px solid var(--line);
      box-shadow: 0 8px 18px rgba(17,19,24,.04);
    }

    .lang-btn {
      border: 0;
      cursor: pointer;
      padding: 7px 10px;
      border-radius: 999px;
      background: transparent;
      color: var(--muted);
      font-weight: 800;
      font-size: 12px;
      letter-spacing: .04em;
    }

    .lang-btn.active { background: var(--blue); color: #fff; }

    @media (max-width: 980px) {
      header { position: sticky !important; }
      header .wrap, .nav-wrap, header > .wrap { align-items: flex-start !important; }
      nav {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
        margin-top: 10px !important;
      }
      nav a, nav .button {
        width: 100% !important;
        min-height: 40px !important;
        padding: 0 10px !important;
        text-align: center !important;
        justify-content: center !important;
        font-size: 12.5px !important;
      }
      .lang-switch { width: 100% !important; justify-content: center !important; grid-column: span 1; }
      .hero { padding-top: 14px !important; }
      .hero > .wrap, .contact-shell, .section-card, .package, .cta-box {
        width: min(calc(100% - 24px), var(--max)) !important;
        border-radius: 24px !important;
      }
      .hero-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
      .hero-media-card { max-width: none !important; }
      .hero-media-card img {
        height: auto !important;
        max-height: none !important;
        aspect-ratio: 16 / 9 !important;
      }
      .hero h1 { font-size: clamp(28px, 8vw, 40px) !important; }
      .hero .lead, .hero-support, .contact-head p { font-size: 16px !important; }
      .training-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
      .contact-grid, .contact-grid-two { grid-template-columns: 1fr !important; }
      .map-frame { height: 300px !important; min-height: 300px !important; }
      .cta-box { grid-template-columns: 1fr !important; gap: 18px !important; text-align: left !important; }
    }

    @media (max-width: 620px) {
      body { overflow-x: hidden !important; }
      header .wrap, .nav-wrap, header > .wrap {
        width: min(calc(100% - 20px), var(--max)) !important;
      }
      .brand, .logo { max-width: 100% !important; }
      nav { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
      nav a, nav .button { font-size: 11.8px !important; min-height: 38px !important; }
      .lang-switch { grid-column: span 2; }
      .hero > .wrap, .contact-shell, .section-card, .package, .cta-box {
        width: min(calc(100% - 18px), var(--max)) !important;
        padding: 16px !important;
        border-radius: 22px !important;
      }
      .hero h1 {
        font-size: clamp(26px, 9vw, 34px) !important;
        letter-spacing: -.04em !important;
      }
      .hero .lead, .hero-support { font-size: 15.5px !important; }
      .training-grid { grid-template-columns: 1fr !important; }
      .training-item { border-radius: 18px !important; }
      .contact-card { padding: 15px !important; border-radius: 20px !important; }
      .map-frame { height: 260px !important; min-height: 260px !important; }
      .footer { flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; }
    }


    /* v60: full Turkish language support refinements */
    .lang-switch { flex-shrink: 0; }
    nav a, nav .button { white-space: normal !important; }
    .training-item strong, .training-item span { word-break: normal; hyphens: auto; }
    @media (max-width: 620px) {
      .hero h1 { font-size: clamp(24px, 8.3vw, 32px) !important; }
      .contact-actions .ghost-button { width: 100% !important; }
    }


    /* v62: collapse only the content of Modeling/Applications boxes; keep v60 visual design */
    .info-box.detail-collapsible > h4 {
      cursor: pointer;
      user-select: none;
    }

    .info-box.detail-collapsible.is-collapsed > :not(h4) {
      display: none !important;
    }

    .info-box.detail-collapsible.is-collapsed > h4 {
      margin-bottom: 0 !important;
    }


    /* v63: fix training section to show all 5 training headings */
    .training-grid {
      display: grid !important;
      grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
      gap: 12px !important;
      align-items: stretch !important;
    }

    .training-item {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      min-height: 58px !important;
      padding: 13px 15px !important;
      border-radius: 999px !important;
      text-align: center !important;
    }

    .training-item strong {
      display: block !important;
      font-size: 13px !important;
      line-height: 1.16 !important;
      color: var(--ink) !important;
    }

    @media (max-width: 1180px) {
      .training-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      }
    }

    @media (max-width: 620px) {
      .training-grid {
        grid-template-columns: 1fr !important;
      }
      .training-item {
        border-radius: 18px !important;
      }
    }


    /* v64: content refinements without changing visual system */
    .problem-grid { margin-top: 18px; }
    .outcome-line {
      display: block;
      color: var(--blue);
      font-weight: 820;
      margin-bottom: 8px;
    }
    .training-package {
      flex-direction: column !important;
      gap: 7px !important;
      border-radius: 22px !important;
      min-height: 112px !important;
    }
    .training-package small {
      display: block;
      color: var(--muted);
      font-size: 11.5px;
      line-height: 1.35;
      font-weight: 650;
    }
    @media (max-width: 620px) {
      .training-package { min-height: 0 !important; }
    }


    /* v65: desktop header no-wrap + mobile responsive navigation */
    header .wrap,
    .nav-wrap,
    header > .wrap {
      flex-wrap: nowrap !important;
    }

    nav {
      flex-wrap: nowrap !important;
      gap: 18px !important;
      min-width: 0 !important;
    }

    nav a:not(.button) {
      white-space: nowrap !important;
      flex: 0 0 auto !important;
    }

    .lang-switch {
      flex: 0 0 auto !important;
      white-space: nowrap !important;
    }

    nav .button,
    header .button {
      flex: 0 0 auto !important;
      white-space: nowrap !important;
      min-width: max-content !important;
    }

    @media (min-width: 981px) and (max-width: 1220px) {
      header .wrap,
      .nav-wrap,
      header > .wrap {
        gap: 14px !important;
      }

      nav {
        gap: 10px !important;
      }

      nav a:not(.button) {
        font-size: 13px !important;
      }

      .lang-btn {
        padding: 6px 9px !important;
        font-size: 11.5px !important;
      }

      nav .button,
      header .button {
        min-height: 42px !important;
        padding: 0 16px !important;
        font-size: 12.5px !important;
      }

      .brand-title,
      .brand strong {
        font-size: 19px !important;
      }

      .brand-sub,
      .brand span {
        font-size: 12.5px !important;
        line-height: 1.25 !important;
      }
    }

    @media (min-width: 981px) and (max-width: 1080px) {
      nav {
        gap: 8px !important;
      }

      nav a:not(.button) {
        font-size: 12px !important;
      }

      nav .button,
      header .button {
        padding: 0 13px !important;
        font-size: 11.8px !important;
      }
    }

    @media (max-width: 980px) {
      header .wrap,
      .nav-wrap,
      header > .wrap {
        flex-wrap: wrap !important;
      }

      nav {
        flex-wrap: initial !important;
        width: 100% !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
      }

      nav a:not(.button),
      nav .button,
      header .button {
        white-space: normal !important;
        min-width: 0 !important;
        width: 100% !important;
      }

      .lang-switch {
        white-space: nowrap !important;
      }
    }

    @media (max-width: 620px) {
      nav {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      }

      .lang-switch {
        grid-column: span 2 !important;
      }
    }



    /* v71: no discuss CTA; language switch remains rightmost */
    @media (min-width: 981px) {
      nav .lang-switch {
        order: 100 !important;
        margin-left: 0 !important;
      }
    }


    /* v74: mobile header two-column layout */
    @media (max-width: 760px) {
      header .wrap,
      .nav-wrap,
      header > .wrap {
        display: grid !important;
        grid-template-columns: minmax(96px, 34%) minmax(0, 1fr) !important;
        align-items: start !important;
        gap: 10px !important;
        width: min(calc(100% - 16px), var(--max)) !important;
      }

      .brand,
      .logo,
      header .brand {
        grid-column: 1 !important;
        max-width: 100% !important;
        align-self: start !important;
      }

      .brand img,
      .logo img,
      header .brand img {
        max-width: 100% !important;
        height: auto !important;
      }

      .brand-title,
      .brand strong {
        font-size: 13px !important;
        line-height: 1.1 !important;
      }

      .brand-sub,
      .brand span {
        font-size: 9px !important;
        line-height: 1.18 !important;
      }

      nav {
        grid-column: 2 !important;
        width: 100% !important;
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: flex-end !important;
        align-items: center !important;
        gap: 6px 8px !important;
        margin-top: 0 !important;
      }

      nav a:not(.button) {
        width: auto !important;
        min-height: 28px !important;
        padding: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        color: var(--muted) !important;
        font-size: 11.2px !important;
        line-height: 1.1 !important;
        font-weight: 780 !important;
        white-space: nowrap !important;
      }

      nav a:not(.button):hover {
        color: var(--blue) !important;
      }

      .lang-switch {
        width: auto !important;
        grid-column: auto !important;
        flex: 0 0 auto !important;
        justify-content: flex-end !important;
        gap: 2px !important;
        padding: 2px !important;
        margin-left: 2px !important;
        border-radius: 999px !important;
        white-space: nowrap !important;
      }

      .lang-btn {
        min-width: 28px !important;
        padding: 5px 7px !important;
        font-size: 10.8px !important;
        line-height: 1 !important;
      }

      .hero {
        padding-top: 10px !important;
      }
    }

    @media (max-width: 460px) {
      header .wrap,
      .nav-wrap,
      header > .wrap {
        grid-template-columns: minmax(84px, 32%) minmax(0, 1fr) !important;
        gap: 8px !important;
      }

      nav {
        gap: 5px 7px !important;
      }

      nav a:not(.button) {
        font-size: 10.4px !important;
      }

      .lang-btn {
        min-width: 25px !important;
        padding: 4px 6px !important;
        font-size: 10px !important;
      }
    }

/* v85: commercial conversion layer */
.rapid-review { padding:0 0 42px; }
.rapid-review .review-shell { background:linear-gradient(135deg, #f4f8fc, #ffffff); border:1px solid rgba(12,58,104,.13); border-radius:22px; padding:26px 30px; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr); gap:24px; align-items:center; box-shadow:0 14px 34px rgba(19,54,89,.07); }
.rapid-review h2 { margin:0 0 7px; color:var(--blue); font-size:28px; letter-spacing:-.03em; }
.rapid-review p { margin:0; color:var(--muted); line-height:1.55; }
.review-meta { display:grid; gap:8px; color:var(--blue); font-weight:760; font-size:14px; }
.industry-card a { display:inline-block; margin-top:13px; color:var(--blue); font-weight:780; font-size:13px; }
#p4 .visual { aspect-ratio:16 / 9; background:url('../images/vibro_acoustic_gearbox_surface_velocity_v2_mesh.png') center / cover no-repeat; }
#p4 .visual img { display:none; }
@media (min-width:701px) {
  .hero-solution-groups { grid-template-columns:300px 220px !important; gap:12px !important; justify-content:start !important; }
  .hero-solution-group .hero-links { gap:8px !important; }
  .hero-solution-group:nth-child(2) .hero-group-head { white-space:nowrap !important; font-size:10.5px !important; letter-spacing:.07em !important; }
}
@media (min-width:1051px) {
  .hero-grid { grid-template-columns:minmax(0,1.16fr) minmax(350px,.84fr) !important; gap:28px !important; }
}
@media (max-width:1050px) {
  .hero-solution-groups { grid-template-columns:1fr !important; gap:12px !important; }
}
@media (max-width:700px) { .rapid-review .review-shell { grid-template-columns:1fr; padding:21px; } }


    /* v86: overlapping powertrain-NVH modal result and aligned hero solution groups */
    @media (min-width: 1121px) {
      .hero-media {
        position: relative !important;
        padding: 0 18px 38px 0 !important;
      }

      .hero-media-card:first-child {
        width: 100% !important;
        max-width: 545px !important;
        margin-left: auto !important;
      }

      .hero-media-card-secondary {
        position: absolute !important;
        right: -8px !important;
        bottom: 0 !important;
        z-index: 2 !important;
        width: 56% !important;
        max-width: 310px !important;
        margin: 0 !important;
        border: 5px solid rgba(255,255,255,.96) !important;
        border-radius: 18px !important;
        box-shadow: 0 18px 38px rgba(15,23,42,.16) !important;
      }

      .hero-media-card-secondary img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        aspect-ratio: 16 / 9 !important;
        object-fit: cover !important;
      }

      .hero-solution-groups {
        grid-template-columns: minmax(0, 410px) minmax(0, 190px) !important;
        gap: 12px !important;
        align-items: start !important;
      }

      .hero-solution-group {
        min-width: 0 !important;
      }

      .hero-group-head {
        min-height: 18px !important;
        margin-bottom: 8px !important;
        display: flex !important;
        align-items: flex-start !important;
      }

      .hero-group-head span {
        padding-left: 13px !important;
        font-size: 9.5px !important;
        line-height: 1.1 !important;
        letter-spacing: .105em !important;
        white-space: nowrap !important;
      }

      .hero-solution-group .hero-links {
        align-content: flex-start !important;
      }
    }

    @media (max-width: 1120px) {
      .hero-media {
        display: grid !important;
        gap: 14px !important;
      }

      .hero-media-card-secondary {
        display: block !important;
      }
    }



    /* v87: stacked equal-size hero visuals and tighter solution columns */
    @media (min-width: 1121px) {
      .hero-media {
        position: static !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        padding: 0 !important;
      }

      .hero-media-card:first-child,
      .hero-media-card-secondary {
        position: static !important;
        right: auto !important;
        bottom: auto !important;
        z-index: auto !important;
        width: 100% !important;
        max-width: 445px !important;
        margin: 0 0 0 auto !important;
        border: 1px solid rgba(15,23,42,.10) !important;
        border-radius: 21px !important;
        box-shadow: 0 18px 38px rgba(15,23,42,.10) !important;
      }

      .hero-media-card:first-child img,
      .hero-media-card-secondary img {
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        aspect-ratio: 16 / 9 !important;
        object-fit: cover !important;
      }

      .hero-solution-groups {
        grid-template-columns: minmax(0, 310px) minmax(0, 230px) !important;
        gap: 12px !important;
      }
    }



    /* v88: hero delivery credentials as a compact vertical list */
    .hero-support-list {
      list-style: none;
      margin: 0;
      padding: 0;
      display: grid;
      gap: 3px;
    }

    .hero-support-list li {
      position: relative;
      padding-left: 14px;
    }

    .hero-support-list li::before {
      content: "";
      position: absolute;
      left: 0;
      top: .62em;
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background: var(--accent);
    }


    @media (max-width: 760px) {
      html, body { overflow-x: hidden !important; }
      .hero > .wrap { padding: 18px !important; border-radius: 26px !important; }
      .hero h1 { font-size: clamp(30px, 9.4vw, 42px) !important; overflow-wrap: anywhere; }
      .hero .lead, .hero-support { max-width: 100% !important; }
      .hero-solution-groups, .hero-solution-group, .hero-solution-group .hero-links { width: 100% !important; max-width: 100% !important; }
      .hero-group-head span { white-space: normal !important; }
      .hero-solution-group .chip { white-space: normal !important; text-align: left !important; }
      .hero-media, .hero-media-card, .hero-media-card:first-child, .hero-media-card-secondary { width: 100% !important; max-width: 100% !important; margin-left: 0 !important; }
      .hero-media-card img, .hero-media-card-secondary img { width: 100% !important; height: auto !important; }
      .package, .contact-shell { border-radius: 24px !important; }
      .package-body, .contact-grid, .contact-grid-two { grid-template-columns: 1fr !important; }
      .contact-shell { padding: 22px 18px !important; }
      .contact-actions { flex-wrap: wrap !important; }
      .map-frame { min-height: 280px !important; width: 100% !important; }
      .footer { justify-content: center !important; text-align: center !important; }
    }
    @media (max-width: 390px) {
      .wrap, .hero > .wrap { width: min(calc(100% - 20px), var(--max)) !important; }
      .hero > .wrap { padding: 15px !important; }
      .chip { font-size: 11px !important; }
      .contact-actions .ghost-button { width: 100%; justify-content: center; }
    }

    /* v100.1: compact two-by-two mobile navigation */
    @media (max-width: 760px) {
      header .wrap,
      .nav-wrap,
      header > .wrap {
        grid-template-columns: minmax(92px, 31%) minmax(0, 1fr) !important;
        align-items: start !important;
      }

      .brand,
      .logo,
      header .brand {
        min-height: 68px !important;
        display: flex !important;
        align-items: center !important;
      }

      .brand img,
      .logo img,
      header .brand img {
        max-height: 68px !important;
        width: auto !important;
      }

      nav {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-auto-rows: 31px !important;
        gap: 5px 8px !important;
        align-items: stretch !important;
        justify-items: stretch !important;
      }

      nav a:not(.button) {
        width: 100% !important;
        min-height: 31px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        white-space: normal !important;
      }

      .lang-switch {
        grid-column: 1 / -1 !important;
        justify-self: end !important;
        align-self: center !important;
        height: 28px !important;
        margin: 0 !important;
      }
    }

    /* v100.2: language switch at the right of the two-row mobile menu */
    @media (max-width: 760px) {
      nav {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto !important;
        grid-template-rows: 31px 31px !important;
        column-gap: 7px !important;
      }

      nav a:not(.button):nth-of-type(1) { grid-column: 1; grid-row: 1; }
      nav a:not(.button):nth-of-type(2) { grid-column: 2; grid-row: 1; }
      nav a:not(.button):nth-of-type(3) { grid-column: 1; grid-row: 2; }
      nav a:not(.button):nth-of-type(4) { grid-column: 2; grid-row: 2; }

      .lang-switch {
        grid-column: 3 !important;
        grid-row: 1 / span 2 !important;
        align-self: center !important;
        justify-self: end !important;
      }
    }

    /* v140: balanced desktop navigation without changing the header height */
    @media (min-width: 981px) {
      nav {
        gap: 24px !important;
      }

      nav a:not(.button) {
        transform: scale(1.2);
        transform-origin: center;
      }
    }

    /* v150: 1.2x mobile header and clearer two-by-two primary navigation */
    @media (max-width: 760px) {
      header .wrap,
      .nav-wrap,
      header > .wrap {
        min-height: 82px !important;
        align-items: center !important;
      }

      .brand,
      .logo,
      header .brand {
        min-height: 82px !important;
      }

      .brand img,
      .logo img,
      header .brand img {
        max-height: 82px !important;
      }

      nav {
        grid-template-rows: 31.5px 31.5px !important;
        grid-auto-rows: 31.5px !important;
        row-gap: 5px !important;
        width: calc(100% - 4px) !important;
        justify-self: end !important;
      }

      nav a:not(.button) {
        width: 89.25% !important;
        min-height: 31.5px !important;
        height: 31.5px !important;
        padding: 3px 5px !important;
        justify-self: center !important;
        border: 1px solid rgba(17, 47, 102, .18) !important;
        border-radius: 8.5px !important;
        background: rgba(255, 255, 255, .92) !important;
        color: var(--blue) !important;
        box-shadow: 0 4px 12px rgba(17, 47, 102, .09) !important;
        font-size: clamp(11.5px, 3vw, 13.5px) !important;
        line-height: 1.08 !important;
        font-weight: 800 !important;
      }

      .hero h1 {
        font-size: clamp(calc(30px - 2pt), calc(9.4vw - 2pt), calc(42px - 2pt)) !important;
      }
    }

/* v170: mobile-only hero sizing and exact primary-section anchor alignment */
@media (max-width: 760px) {
  /* Keep the mobile navigation/hero control row visible while the page scrolls. */
  header {
    position: fixed !important;
    inset: 0 0 auto 0;
    width: 100%;
    z-index: 1000;
  }

  body {
    padding-top: 82px !important;
  }

  .hero h1 {
    font-size: clamp(25.333px, calc(9.4vw - 4.667px), 37.333px) !important;
  }

  /* Keep the two hero visuals between the introductory copy and solution groups. */
  .hero-grid {
    display: flex !important;
    flex-direction: column !important;
  }

  .hero-copy {
    display: contents !important;
  }

  .hero-media {
    order: 1 !important;
  }

  .hero-solution-groups {
    order: 2 !important;
  }

  /* v170.1: refine mobile navigation alignment and soften button corners */
  nav a:not(.button) {
    border-radius: 13px !important;
  }

  nav a:not(.button):nth-of-type(1),
  nav a:not(.button):nth-of-type(3) {
    transform: translateX(7px);
  }

  /* Avoid stacking scroll padding and target margin, which exposed the previous section. */
  html {
    scroll-padding-top: 0 !important;
  }

  #top,
  #home,
  section[id],
  article[id] {
    scroll-margin-top: 84px !important;
  }
}
