/* Mobile navigation and home-page layout refinements. */
@media (width <= 900px) {
  html:has(.mobile-menu) { overflow: hidden; }

  .topbar {
    background: rgb(9 18 43 / 76%) !important;
    border-bottom: 1px solid rgb(255 255 255 / 10%) !important;
    height: 72px;
    padding: 0 18px;
  }
  .topbar.topbar-on-light {
    background: rgb(248 246 241 / 88%) !important;
    border-bottom-color: rgb(16 32 58 / 10%) !important;
  }
  .topbar .logo,
  .topbar .menu,
  .topbar .language-switch { z-index: 3; position: relative; }
  .topbar .logo { margin-right: auto; }
  .topbar .logo > span { width: 36px; height: 36px; }

  .topbar .menu {
    color: inherit;
    border: 1px solid currentColor;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    margin-left: 9px;
    transition: background-color .22s, color .22s, transform .22s;
  }
  .topbar .menu:active { transform: scale(.94); }

  .language-switch {
    color: transparent !important;
    background-color: #07112952;
    background-image: none;
    border: 1px solid #ffffff30;
    border-radius: 999px;
    width: 70px;
    height: 32px;
    margin: 0 0 0 12px;
    font-size: 0 !important;
    box-shadow: inset 0 0 0 1px #07112918;
    transition: border-color .22s, background-color .22s;
    display: block !important;
    position: relative;
    overflow: hidden;
  }
  .language-switch::before,
  .language-switch::after {
    z-index: 1;
    width: 31px;
    height: 26px;
    font-size: 9px;
    font-weight: 800;
    line-height: 1;
    border-radius: 999px;
    place-items: center;
    display: grid;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
  .language-switch::before {
    content: "DE";
    color: #0b1535;
    background: linear-gradient(135deg, #68d4e8, #8ae7f4);
    left: 3px;
  }
  .language-switch::after { content: "EN"; color: #dce8f4; background: transparent; right: 3px; }
  .language-switch[aria-label="Deutsche Version"]::before { color: #dce8f4; background: transparent; }
  .language-switch[aria-label="Deutsche Version"]::after {
    color: #0b1535;
    background: linear-gradient(135deg, #68d4e8, #8ae7f4);
  }

  .topbar-on-light .language-switch {
    background-color: #1019360b;
    background-image: none;
    border-color: #10193628;
    box-shadow: none;
  }
  .topbar-on-light .language-switch::before {
    color: #fff;
    background: linear-gradient(135deg, #1d5366, #276d82);
  }
  .topbar-on-light .language-switch::after { color: #1a2940; background: transparent; }
  .topbar-on-light .language-switch[aria-label="Deutsche Version"]::before { color: #1a2940; background: transparent; }
  .topbar-on-light .language-switch[aria-label="Deutsche Version"]::after {
    color: #fff;
    background: linear-gradient(135deg, #1d5366, #276d82);
  }

  .mobile-menu {
    z-index: 2;
    color: #fff;
    background:
      radial-gradient(circle at 88% 12%, #2d718744 0, transparent 30%),
      linear-gradient(145deg, #0b132d 0%, #111b3b 62%, #173f53 100%);
    gap: 0;
    padding: 112px 24px 34px;
    display: flex;
    position: fixed;
    inset: 0;
    box-shadow: none;
    overflow: auto;
    counter-reset: mobile-nav;
  }
  .mobile-menu::before {
    content: "MALO TECH / NAVIGATION";
    color: #75e4ff;
    letter-spacing: .18em;
    border-bottom: 1px solid #ffffff24;
    padding-bottom: 18px;
    font-size: 9px;
    font-weight: 800;
  }
  .mobile-menu > a {
    counter-increment: mobile-nav;
    letter-spacing: -.045em;
    border-bottom: 1px solid #ffffff22;
    align-items: center;
    min-height: 68px;
    font-size: clamp(29px, 8.4vw, 44px);
    font-weight: 600;
    line-height: 1;
    display: flex;
  }
  .mobile-menu > a::before {
    content: "0" counter(mobile-nav);
    color: #75e4ff;
    letter-spacing: .08em;
    width: 42px;
    font: 700 10px Georgia, serif;
  }
  .mobile-menu > a::after {
    content: "↗";
    color: #75e4ff;
    margin-left: auto;
    font-size: 18px;
    font-weight: 400;
  }
  .mobile-menu > a:last-child { display: none; }

  html:has(.mobile-menu) .topbar {
    color: #fff !important;
    background: rgb(9 18 43 / 92%) !important;
  }
  html:has(.mobile-menu) .topbar .logo i { color: #75e4ff !important; }
  html:has(.mobile-menu) .topbar .menu { color: #fff !important; background: #ffffff0c; }
  html:has(.mobile-menu) .topbar .language-switch {
    background-color: #07112952;
    background-image: none;
    border-color: #ffffff30;
  }
  html:has(.mobile-menu) .topbar .language-switch::before {
    color: #0b1535;
    background: linear-gradient(135deg, #68d4e8, #8ae7f4);
  }
  html:has(.mobile-menu) .topbar .language-switch::after { color: #dce8f4; background: transparent; }
  html:has(.mobile-menu) .topbar .language-switch[aria-label="Deutsche Version"]::before { color: #dce8f4; background: transparent; }
  html:has(.mobile-menu) .topbar .language-switch[aria-label="Deutsche Version"]::after {
    color: #0b1535;
    background: linear-gradient(135deg, #68d4e8, #8ae7f4);
  }
}

@media (width <= 600px) {
  :is(._page_lf67j_1, ._page_1wgij_1, ._page_6rov3_1, ._page_vwph2_1, ._page_1rb76_1, ._page_zk7av_1, .contactPage) {
    overflow-x: clip;
  }

  /* A compact, readable first viewport across all subpages. */
  :is(._hero_lf67j_2, ._hero_1wgij_2, ._hero_6rov3_12, ._hero_vwph2_1, ._hero_1rb76_13) {
    gap: 28px;
    min-height: auto;
    padding: 112px 20px 58px;
  }
  :is(._hero_lf67j_2, ._hero_1wgij_2, ._hero_6rov3_12, ._hero_vwph2_1, ._hero_1rb76_13) h1,
  .contactPage h1,
  ._page_zk7av_1 h1 {
    font-size: clamp(42px, 12.2vw, 49px);
    line-height: .92;
  }
  :is(._heroCopy_lf67j_5, ._heroCopy_1wgij_2, ._heroCopy_6rov3_93, ._heroCopy_vwph2_1, ._heroCopy_1rb76_37) p,
  .contactIntro {
    font-size: 16px;
    line-height: 1.65;
  }
  :is(._kicker_lf67j_3, ._kickerDark_lf67j_3, ._kicker_1wgij_2, ._kickerDark_1wgij_2, ._kicker_6rov3_63, ._kickerDark_6rov3_64, ._kicker_vwph2_1, ._kickerDark_vwph2_1, ._kicker_1rb76_35, ._kickerDark_1rb76_76, .kicker) {
    font-size: 12px;
    line-height: 1.45;
  }

  /* Services: clearer hierarchy and touch-friendly rows. */
  ._intro_lf67j_6 { gap: 20px; padding: 64px 20px 38px; }
  ._intro_lf67j_6 h2,
  :is(._processLink_lf67j_6, ._faq_lf67j_6, ._cta_lf67j_6) h2 {
    font-size: 38px;
    line-height: .96;
  }
  ._intro_lf67j_6 > p,
  ._serviceTitle_lf67j_7 p,
  ._serviceDetail_lf67j_7 > p,
  ._processLink_lf67j_6 > div p,
  ._faq_lf67j_6 details p,
  ._cta_lf67j_6 > div p {
    font-size: 16px;
    line-height: 1.65;
  }
  ._serviceList_lf67j_7 { padding: 0 20px 64px; }
  ._service_lf67j_7 { gap: 14px; padding: 26px 0; }
  ._serviceTitle_lf67j_7 h2 { font-size: 30px; }
  ._serviceDetail_lf67j_7 li { font-size: 15px; line-height: 1.5; }
  ._service_lf67j_7 aside { padding-top: 16px; }
  ._service_lf67j_7 aside small { font-size: 12px; }
  ._service_lf67j_7 aside strong { font-size: 16px; }
  :is(._processLink_lf67j_6, ._faq_lf67j_6, ._cta_lf67j_6) { padding: 64px 20px; }
  ._faq_lf67j_6 { gap: 30px; }
  ._faq_lf67j_6 summary { min-height: 58px; font-size: 17px; line-height: 1.35; }
  ._faq_lf67j_6 details p { margin-left: 35px; }
  ._processLink_lf67j_6 a { min-height: 50px; font-size: 14px; }

  /* Approach: preserve the data-flow animation without oversized gaps. */
  :is(._intro_1wgij_3, ._decision_1wgij_3, ._collaboration_1wgij_2, ._deliverables_1wgij_2, ._faq_1wgij_3, ._cta_1wgij_2) {
    padding: 64px 20px;
  }
  :is(._intro_1wgij_3, ._decision_1wgij_3, ._collaboration_1wgij_2, ._deliverables_1wgij_2, ._faq_1wgij_3, ._cta_1wgij_2) h2 {
    font-size: 38px;
    line-height: .96;
  }
  ._flowJourney_1wgij_4 { height: 220px; }
  ._phase_1wgij_5 { gap: 13px; padding: 25px 0; }
  ._phaseTitle_1wgij_5 p { font-size: 12px; }
  ._phaseTitle_1wgij_5 h2 { font-size: 29px; }
  ._phaseText_1wgij_5,
  ._decision_1wgij_3 > p:last-child,
  ._faq_1wgij_3 details p { font-size: 16px; line-height: 1.65; }
  ._roleGrid_1wgij_7 li,
  ._deliverables_1wgij_2 li { font-size: 16px; line-height: 1.5; }
  ._faq_1wgij_3 { gap: 30px; }
  ._faq_1wgij_3 summary { min-height: 58px; font-size: 17px; line-height: 1.35; }
  ._faq_1wgij_3 details p { margin-left: 35px; }

  /* Technology: larger diagram labels and a calmer content rhythm. */
  :is(._systemSection_6rov3_77, ._architecture_6rov3_78, ._connect_6rov3_79, ._control_6rov3_80, ._cta_6rov3_81) {
    gap: 30px;
    padding: 64px 20px;
  }
  :is(._systemSection_6rov3_77, ._architecture_6rov3_78, ._connect_6rov3_79, ._control_6rov3_80, ._cta_6rov3_81) h2 {
    font-size: 38px;
    line-height: .96;
  }
  ._systemSection_6rov3_77 header p:last-child,
  ._architecture_6rov3_78 > p,
  ._control_6rov3_80 > p:last-child,
  ._cta_6rov3_81 > div p { font-size: 16px; line-height: 1.65; }
  ._techMap_6rov3_142 { min-height: 240px; }
  ._mapNode_6rov3_202 text { font-size: 14px; }
  ._mapNode_6rov3_202 ._nodeSmall_6rov3_216 { font-size: 10px; }
  ._coreNode_6rov3_223 text { font-size: 22px; }
  ._coreNode_6rov3_223 ._coreKicker_6rov3_237,
  ._coreNode_6rov3_223 ._coreSmall_6rov3_245 { font-size: 10px; }
  ._principles_6rov3_291 { padding: 0 20px 64px; }
  ._principles_6rov3_291 article,
  ._principles_6rov3_291 article + article { min-height: 0; padding: 24px 0; }
  ._principles_6rov3_291 h2 { font-size: 28px; }
  ._principles_6rov3_291 p,
  ._connectList_6rov3_336 span { font-size: 15px; line-height: 1.55; }

  /* Projects: concise case-study blocks instead of dense desktop rows. */
  :is(._ownSection_vwph2_1, ._clientSection_vwph2_1, ._projectCta_vwph2_1) { padding: 64px 20px; }
  :is(._ownSection_vwph2_1, ._clientSection_vwph2_1, ._projectCta_vwph2_1) header { gap: 24px; }
  :is(._ownSection_vwph2_1, ._clientSection_vwph2_1, ._projectCta_vwph2_1) h2 { font-size: 39px; line-height: .96; }
  ._ownList_vwph2_1,
  ._clientList_vwph2_1 { margin-top: 34px; }
  ._ownProject_vwph2_1 { gap: 18px; padding: 25px 0; }
  ._ownHead_vwph2_1 p,
  ._clientMeta_vwph2_1 p { font-size: 12px; }
  ._ownHead_vwph2_1 small,
  ._clientMeta_vwph2_1 small { font-size: 13px; }
  ._ownBody_vwph2_1 h3,
  ._clientCopy_vwph2_1 h3 { font-size: 30px; }
  ._ownBody_vwph2_1 > p,
  ._clientCopy_vwph2_1 > span,
  ._projectCta_vwph2_1 > div p { font-size: 16px; line-height: 1.65; }
  ._ownBody_vwph2_1 span { font-size: 12px; }
  ._clientProject_vwph2_1 { gap: 12px; padding: 25px 0; }
  ._clientProject_vwph2_1 aside b { font-size: 23px; }
  ._clientProject_vwph2_1 aside span,
  ._note_vwph2_1 { font-size: 13px; line-height: 1.55; }

  /* Company: factual information and team profiles become easier to scan. */
  :is(._location_1rb76_89, ._principles_1rb76_90, ._flow_1rb76_91, ._expectations_1rb76_92, ._cta_1rb76_93, ._companyFacts_1rb76_1136, ._teamSection_1rb76_1128) {
    padding: 64px 20px;
  }
  :is(._location_1rb76_89, ._principles_1rb76_90, ._flow_1rb76_91, ._expectations_1rb76_92, ._cta_1rb76_93, ._companyFacts_1rb76_1136, ._teamSection_1rb76_1128) h2 {
    font-size: 39px;
    line-height: .96;
  }
  ._locationCopy_1rb76_140 p,
  ._teamIntro_1rb76_1135 p,
  ._teamBio_1rb76_1184,
  ._cta_1rb76_93 p { font-size: 16px; line-height: 1.65; }
  ._marketRail_1rb76_941 { overflow-x: auto; scrollbar-width: none; }
  ._marketRail_1rb76_941::-webkit-scrollbar { display: none; }
  ._companyFacts_1rb76_1136 > dl { margin-top: 30px; }
  ._companyFacts_1rb76_1136 dt,
  ._teamRole_1rb76_1177 { font-size: 12px; }
  ._companyFacts_1rb76_1136 dd { font-size: 16px; }
  ._teamList_1rb76_1154 article,
  ._teamList_1rb76_1154 article:nth-child(2n) { padding: 24px 0 28px; }
  ._teamList_1rb76_1154 h3 { font-size: 28px; }

  /* Contact and legal pages: prevent tiny text and iOS form zoom. */
  .contactPage { padding: 108px 20px 48px; }
  .contactGrid { gap: 28px; }
  .contactDetails a { min-height: 44px; align-items: center; font-size: 16px; display: flex; }
  .formWrap { padding-top: 24px; }
  ._form_15lgv_1 { margin-top: 30px; }
  ._fields_15lgv_1 { gap: 20px; }
  ._fields_15lgv_1 span { font-size: 12px; }
  ._fields_15lgv_1 input,
  ._fields_15lgv_1 textarea { min-height: 48px; font-size: 16px; }
  ._formFooter_15lgv_1 button { min-height: 52px; font-size: 14px; }
  ._formFooter_15lgv_1 p { font-size: 13px; line-height: 1.55; }
  .contactFooter { margin-top: 58px; font-size: 13px; }
  ._page_zk7av_1 { padding: 108px 20px 48px; }
  ._page_zk7av_1 h1 { margin-bottom: 42px; }
  ._content_zk7av_1 h2 { margin-top: 34px; font-size: 24px; line-height: 1.2; }
  ._content_zk7av_1 p,
  ._content_zk7av_1 li { font-size: 16px; line-height: 1.7; }
  ._footer_zk7av_1 { margin-top: 58px; font-size: 13px; line-height: 1.6; }

  ._tuned_5kf8r_1 .hero {
    background:
      radial-gradient(circle at 88% 18%, #62d8eb1c 0, transparent 28%),
      linear-gradient(155deg, #1a5266 0%, #173f53 48%, #0b1431 100%);
    min-height: 720px;
    padding: 105px 20px 275px;
  }
  ._tuned_5kf8r_1 .hero h1 {
    margin: 19px 0;
    max-width: 350px;
    font-size: clamp(43px, 12.5vw, 50px);
    line-height: .9;
  }
  ._tuned_5kf8r_1 .hero-content > p:not(.kicker) {
    max-width: 340px;
    font-size: 14px !important;
    line-height: 1.55;
  }
  ._tuned_5kf8r_1 .hero-buttons {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    max-width: 350px;
    margin-top: 22px;
    display: flex;
  }
  ._tuned_5kf8r_1 .hero-buttons .button {
    width: 100%;
    height: 46px;
    padding: 0 14px;
    font-size: 11px;
  }
  ._tuned_5kf8r_1 .hero-buttons .button.ghost {
    border: 0;
    width: max-content;
    height: 32px;
    padding: 0;
  }
  ._tuned_5kf8r_1 .hero-footer { display: none; }
  ._tuned_5kf8r_1 .hero::before { display: none; }
  ._tuned_5kf8r_1 .signal-field {
    background: linear-gradient(180deg, transparent 0%, #0a122c4d 24%, #091129 100%);
    clip-path: none;
    border: 0;
    border-radius: 0;
    width: 100%;
    height: 250px;
    inset: auto 0 0;
    box-shadow: none;
  }
  ._tuned_5kf8r_1 .signal-field::before {
    content: "";
    z-index: 2;
    background: linear-gradient(90deg, transparent, #75e4ff80, transparent);
    height: 1px;
    position: absolute;
    top: 0;
    left: 20px;
    right: 20px;
  }
  ._tuned_5kf8r_1 .potential-field .field-grid { background-size: 38px 38px; opacity: .48; }
  ._tuned_5kf8r_1 .potential-chart { width: 165%; left: -65%; }
  ._tuned_5kf8r_1 .graph-legend { gap: 13px; bottom: 15px; left: 20px; font-size: 8px; }
  ._tuned_5kf8r_1 .ai-start { top: 72%; left: 27%; font-size: 8px; }
  ._tuned_5kf8r_1 .ai-start b { font-size: 9px; }
  ._tuned_5kf8r_1 .graph-step { font-size: 8px; }
  ._tuned_5kf8r_1 .step-one { top: 62%; left: 48%; }
  ._tuned_5kf8r_1 .step-two { top: 48%; left: 68%; }

  ._tuned_5kf8r_1 .manifesto { gap: 18px; padding: 64px 20px 28px; }
  ._tuned_5kf8r_1 .manifesto h2,
  ._tuned_5kf8r_1 .systems h2,
  ._tuned_5kf8r_1 .principles h2 {
    font-size: clamp(38px, 11.5vw, 45px);
    line-height: .92;
  }
  ._tuned_5kf8r_1 .manifesto-copy { font-size: 13px !important; line-height: 1.65; }

  ._tuned_5kf8r_1 .service-rail {
    scrollbar-width: none;
    grid-auto-columns: 86%;
    grid-template-columns: none;
    grid-auto-flow: column;
    gap: 12px;
    padding: 0 20px 42px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    overscroll-behavior-inline: contain;
  }
  ._tuned_5kf8r_1 .service-rail::-webkit-scrollbar,
  ._tuned_5kf8r_1 .owned-grid::-webkit-scrollbar,
  ._tuned_5kf8r_1 .client-list::-webkit-scrollbar { display: none; }
  ._tuned_5kf8r_1 .service-rail article,
  ._tuned_5kf8r_1 .service-rail article + article {
    background: #faf9f6;
    border: 1px solid #d8ddd9;
    border-top: 2px solid #1d5366;
    min-height: 218px;
    padding: 22px;
    scroll-snap-align: start;
  }
  ._tuned_5kf8r_1 .service-rail h3 { margin: 33px 0 10px; font-size: 24px; }
  ._tuned_5kf8r_1 .service-rail svg { right: 20px; bottom: 19px; }
  ._tuned_5kf8r_1 .process-benefit { gap: 13px; padding: 30px 20px 58px; }
  ._tuned_5kf8r_1 .process-benefit h3 { font-size: 35px; }

  ._tuned_5kf8r_1 .systems { gap: 28px; padding: 64px 20px 56px; }
  ._tuned_5kf8r_1 .systems-intro > p:not(.kicker) {
    margin-top: 18px;
    font-size: 13px !important;
    line-height: 1.65;
  }
  ._tuned_5kf8r_1 .tech-network { max-width: 430px; }

  ._tuned_5kf8r_1 .portfolio { padding: 64px 20px; }
  ._tuned_5kf8r_1 .portfolio-header { gap: 24px; }
  ._tuned_5kf8r_1 .portfolio-header h2 { font-size: 42px; }
  ._tuned_5kf8r_1 .portfolio-intro > p { font-size: 13px !important; line-height: 1.65; }
  ._tuned_5kf8r_1 .portfolio-legend { margin: 34px 0 16px; }
  ._tuned_5kf8r_1 .group-heading { margin-bottom: 22px; }
  ._tuned_5kf8r_1 .owned-grid {
    background: transparent;
    grid-template: none;
    gap: 10px;
    margin-right: 0;
    padding-right: 0;
    display: grid;
    overflow: visible;
  }
  ._tuned_5kf8r_1 .owned-project,
  ._tuned_5kf8r_1 .owned-1 {
    flex: none;
    grid-row: auto;
    min-height: 0;
    padding: 23px 21px;
  }
  ._tuned_5kf8r_1 .owned-1 { min-height: 330px; }
  ._tuned_5kf8r_1 .owned-2,
  ._tuned_5kf8r_1 .owned-3 { min-height: 215px; }
  ._tuned_5kf8r_1 .owned-content h3 { margin-top: 34px; font-size: 35px; }
  ._tuned_5kf8r_1 .owned-2 .owned-content h3,
  ._tuned_5kf8r_1 .owned-3 .owned-content h3 { margin-top: 20px; font-size: 29px; }
  ._tuned_5kf8r_1 .owned-2 .owned-content > p,
  ._tuned_5kf8r_1 .owned-3 .owned-content > p {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    overflow: hidden;
  }
  ._tuned_5kf8r_1 .client-group { margin-top: 58px; }
  ._tuned_5kf8r_1 .client-list {
    border-top: 0;
    gap: 10px;
    margin-right: 0;
    padding-right: 0;
    display: grid;
    overflow: visible;
  }
  ._tuned_5kf8r_1 .client-project {
    background: #fff;
    border: 1px solid #dfe2e9;
    flex: none;
    grid-template-columns: 30px 1fr;
    align-content: start;
    gap: 13px 15px;
    min-height: 0;
    padding: 22px 19px;
  }
  ._tuned_5kf8r_1 .client-context,
  ._tuned_5kf8r_1 .client-copy,
  ._tuned_5kf8r_1 .client-result { grid-column: 2; }
  ._tuned_5kf8r_1 .client-copy h3 { font-size: 24px; }
  ._tuned_5kf8r_1 .client-result { margin-top: 4px; }

  ._tuned_5kf8r_1 .principles { gap: 34px; padding: 64px 20px; }
  ._tuned_5kf8r_1 .principles li { grid-template-columns: 34px 1fr; padding: 18px 0; }
  ._tuned_5kf8r_1 .principles li span { font-size: 14px; }
  ._tuned_5kf8r_1 .contact { padding: 64px 20px 44px; }
  ._tuned_5kf8r_1 .contact h2 { margin: 17px 0 36px; font-size: 45px; }
}

@media (width <= 600px) and (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    :is(._page_lf67j_1, ._page_1wgij_1, ._page_6rov3_1, ._page_vwph2_1, ._page_1rb76_1) > section:not(:first-of-type),
    .contactGrid,
    ._content_zk7av_1 > * {
      animation: mobile-section-reveal linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 24%;
    }
  }
}

@keyframes mobile-section-reveal {
  from { opacity: .3; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Mobile subpage redesign — the homepage intentionally stays untouched. */
@media (width <= 600px) {
  :is(._page_lf67j_1, ._page_1wgij_1, ._page_6rov3_1, ._page_vwph2_1, ._page_1rb76_1, ._page_zk7av_1, .contactPage),
  :is(._page_lf67j_1, ._page_1wgij_1, ._page_6rov3_1, ._page_vwph2_1, ._page_1rb76_1, ._page_zk7av_1, .contactPage) * {
    box-sizing: border-box;
    min-width: 0;
  }
  :is(._page_lf67j_1, ._page_1wgij_1, ._page_6rov3_1, ._page_vwph2_1, ._page_1rb76_1, ._page_zk7av_1, .contactPage) {
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
  }
  :is(._page_lf67j_1, ._page_1wgij_1, ._page_6rov3_1, ._page_vwph2_1, ._page_1rb76_1, ._page_zk7av_1, .contactPage) :is(h1, h2, h3, p, li, dd, a, span) {
    overflow-wrap: break-word;
  }
  :is(._page_lf67j_1, ._page_1wgij_1, ._page_6rov3_1, ._page_vwph2_1, ._page_1rb76_1) > section,
  .contactPage,
  ._page_zk7av_1 {
    width: 100%;
    max-width: 100%;
  }

  /* Shared mobile hero language: editorial, compact and without desktop diagonals. */
  :is(._hero_lf67j_2, ._hero_1wgij_2, ._hero_6rov3_12, ._hero_vwph2_1) {
    background:
      radial-gradient(circle at 90% 8%, rgb(104 212 232 / 18%) 0, transparent 34%),
      linear-gradient(155deg, #163f53 0%, #101936 58%, #0a1128 100%);
    grid-template-columns: 1fr;
    align-items: start;
    gap: 26px;
    min-height: 0;
    padding: 112px 20px 52px;
  }
  ._hero_1rb76_13 {
    background:
      radial-gradient(circle at 92% 5%, rgb(104 212 232 / 24%) 0, transparent 34%),
      linear-gradient(155deg, #f7f4ee 0%, #edf3f3 100%);
    min-height: 0;
    padding: 112px 20px 52px;
  }
  :is(._hero_lf67j_2, ._hero_1wgij_2, ._hero_6rov3_12, ._hero_vwph2_1, ._hero_1rb76_13) h1 {
    max-width: 12ch;
    margin-top: 19px;
    font-size: clamp(40px, 11.7vw, 48px);
    line-height: .94;
    letter-spacing: -.06em;
  }
  :is(._heroCopy_lf67j_5, ._heroCopy_1wgij_2, ._heroCopy_6rov3_93, ._heroCopy_vwph2_1, ._heroCopy_1rb76_37) {
    width: 100%;
    max-width: 35rem;
    padding: 0;
  }
  :is(._heroCopy_lf67j_5, ._heroCopy_1wgij_2, ._heroCopy_6rov3_93, ._heroCopy_vwph2_1, ._heroCopy_1rb76_37) p {
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 1.65;
  }
  :is(._heroCopy_lf67j_5, ._heroCopy_1wgij_2, ._heroCopy_6rov3_93, ._heroCopy_vwph2_1, ._heroCopy_1rb76_37) a {
    min-height: 48px;
    padding: 15px 0 0;
    font-size: 14px;
  }

  /* Services — a vertical specification sheet with strong numbered anchors. */
  ._intro_lf67j_6 {
    background: #f4f1eb;
    gap: 18px;
    padding: 58px 20px 34px;
  }
  ._intro_lf67j_6 h2 { max-width: 12ch; }
  ._serviceList_lf67j_7 { background: #f4f1eb; padding: 0 20px 58px; }
  ._service_lf67j_7 {
    border-top: 1px solid #cbd4d8;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 8px 12px;
    padding: 28px 0 30px;
  }
  ._number_lf67j_7 {
    color: #1d5366;
    grid-column: 1;
    grid-row: 1 / span 3;
    padding-top: 4px;
    font-size: 14px;
  }
  ._serviceTitle_lf67j_7,
  ._serviceDetail_lf67j_7,
  ._service_lf67j_7 aside { grid-column: 2; }
  ._serviceTitle_lf67j_7 h2 { font-size: 28px; line-height: 1; }
  ._serviceTitle_lf67j_7 p,
  ._serviceDetail_lf67j_7 > p { margin-top: 14px; }
  ._serviceDetail_lf67j_7 ul { margin-top: 18px; }
  ._service_lf67j_7 aside {
    border-top: 1px solid #d7dde0;
    border-left: 0;
    margin-top: 8px;
    padding: 16px 0 0;
  }
  ._service_lf67j_7 aside strong { margin-top: 8px; }
  ._processLink_lf67j_6,
  ._faq_lf67j_6,
  ._cta_lf67j_6 { padding: 58px 20px; }
  ._processLink_lf67j_6 > div,
  ._cta_lf67j_6 > div { gap: 24px; margin-top: 32px; }
  ._faq_lf67j_6 details p { margin: 0 0 24px 0; padding-left: 35px; }

  /* Approach — phases become one continuous, animated process line. */
  ._intro_1wgij_3 { gap: 18px; padding: 58px 20px 34px; }
  ._flowJourney_1wgij_4 {
    width: 100%;
    height: 190px;
    margin: 0;
    overflow: hidden;
  }
  ._flowJourney_1wgij_4 svg { overflow: hidden; }
  ._phaseList_1wgij_5 { padding: 0 20px 58px; }
  ._phase_1wgij_5 {
    border-top: 1px solid #cbd4d8;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 8px 12px;
    padding: 27px 0 29px;
  }
  ._phaseMarker_1wgij_5 { grid-column: 1; grid-row: 1 / span 3; }
  ._phaseTitle_1wgij_5,
  ._phaseText_1wgij_5,
  ._phase_1wgij_5 aside { grid-column: 2; }
  ._phaseTitle_1wgij_5 h2 { font-size: 28px; line-height: 1; }
  ._phase_1wgij_5 aside {
    border-top: 1px solid #d7dde0;
    border-left: 0;
    margin-top: 8px;
    padding: 15px 0 0;
  }
  :is(._decision_1wgij_3, ._collaboration_1wgij_2, ._deliverables_1wgij_2, ._faq_1wgij_3, ._cta_1wgij_2) {
    gap: 30px;
    padding: 58px 20px;
  }
  ._roleGrid_1wgij_7 { gap: 14px; margin-top: 30px; }
  ._faq_1wgij_3 details p { margin: 0 0 24px; padding-left: 35px; }

  /* Technology — the system diagram is contained and legible. */
  ._heroRail_6rov3_13 {
    grid-template-columns: 1fr 1fr;
    width: 100%;
    margin-top: 8px;
  }
  ._heroRail_6rov3_13 span,
  ._heroRail_6rov3_13 span + span {
    border-left: 0;
    border-bottom: 1px solid rgb(255 255 255 / 12%);
    padding: 14px 8px 14px 0;
    font-size: 13px;
  }
  ._heroRail_6rov3_13 span:nth-child(even) { padding-left: 12px; }
  ._systemSection_6rov3_77 {
    background: linear-gradient(155deg, #edf4f4, #dfeaec);
    gap: 24px;
    padding: 58px 20px;
    overflow: hidden;
  }
  ._techMap_6rov3_142 {
    aspect-ratio: auto;
    width: 100%;
    height: 270px;
    min-height: 270px;
    margin: 4px 0 0;
    overflow: hidden;
  }
  ._techMap_6rov3_142 svg {
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
  :is(._architecture_6rov3_78, ._connect_6rov3_79, ._control_6rov3_80, ._cta_6rov3_81) {
    gap: 28px;
    padding: 58px 20px;
  }
  ._principles_6rov3_291 { padding: 0 20px 58px; }
  ._principles_6rov3_291 article,
  ._principles_6rov3_291 article + article {
    border-top: 1px solid #ccd6da;
    min-height: 0;
    padding: 25px 0 27px;
  }
  ._connectList_6rov3_336 { grid-template-columns: 1fr; }
  ._connectList_6rov3_336 span,
  ._connectList_6rov3_336 span:nth-child(even) { padding: 17px 0; }

  /* Projects — full-width stories, no nested or sideways scrolling. */
  ._ownSection_vwph2_1,
  ._clientSection_vwph2_1,
  ._projectCta_vwph2_1 { padding: 58px 20px; }
  ._ownSection_vwph2_1 header,
  ._clientSection_vwph2_1 header { gap: 20px; }
  ._ownList_vwph2_1,
  ._clientList_vwph2_1 {
    width: 100%;
    margin-top: 30px;
    overflow: visible;
  }
  ._ownProject_vwph2_1 {
    grid-template-columns: 1fr;
    gap: 18px;
    width: 100%;
    padding: 27px 0 30px;
  }
  ._ownHead_vwph2_1 { grid-template-columns: 36px minmax(0, 1fr) auto; gap: 10px; }
  ._ownBody_vwph2_1 { grid-template-columns: 1fr; gap: 16px; }
  ._ownBody_vwph2_1 > div { grid-column: 1; }
  ._clientProject_vwph2_1 {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 12px 10px;
    width: 100%;
    padding: 27px 0;
  }
  ._clientMeta_vwph2_1,
  ._clientCopy_vwph2_1,
  ._clientProject_vwph2_1 aside { grid-column: 2; }
  ._clientProject_vwph2_1 aside {
    grid-template-columns: 1fr;
    gap: 7px;
    width: 100%;
    padding-top: 15px;
  }
  ._projectCta_vwph2_1 > div { grid-template-columns: 1fr; gap: 24px; margin-top: 32px; }

  /* Company — location, global work and team each get a distinct mobile rhythm. */
  ._companySignal_1rb76_40 { margin: 28px 0 24px; }
  ._companySignal_1rb76_40 span,
  ._companySignal_1rb76_40 span + span { padding: 12px 0; font-size: 14px; }
  ._location_1rb76_89,
  ._teamSection_1rb76_1128,
  ._companyFacts_1rb76_1136,
  ._cta_1rb76_93 { gap: 30px; padding: 58px 20px; }
  ._globalNetwork_1rb76_919 {
    width: 100%;
    min-height: 0;
    padding: 22px 18px;
    overflow: hidden;
  }
  ._globalNetwork_1rb76_919 header { gap: 10px; }
  ._globalNetwork_1rb76_919 header span { max-width: 120px; font-size: 12px; }
  ._homebase_1rb76_940 { padding: 32px 0 27px; }
  ._homebase_1rb76_940 small,
  ._homebase_1rb76_940 p { font-size: 12px; }
  ._marketRail_1rb76_941 {
    grid-template-columns: 1fr 1fr;
    width: 100%;
    overflow: hidden;
  }
  ._marketRail_1rb76_941 > div,
  ._marketRail_1rb76_941 > div:first-child,
  ._marketRail_1rb76_941 > div:nth-child(even) { padding: 15px 9px 15px 0; }
  ._marketRail_1rb76_941 > div:nth-child(even) { padding-left: 12px; }
  ._marketRail_1rb76_941 span,
  ._marketRail_1rb76_941 small { font-size: 11px; }
  ._marketRail_1rb76_941 strong { font-size: 15px; }
  ._teamList_1rb76_1154 { width: 100%; }
  ._teamList_1rb76_1154 article,
  ._teamList_1rb76_1154 article:nth-child(even) {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 8px 12px;
    width: 100%;
    padding: 25px 0 28px;
  }
  ._teamNumber_1rb76_1164 { grid-column: 1; grid-row: 1 / span 3; }
  ._teamList_1rb76_1154 article > :not(._teamNumber_1rb76_1164) { grid-column: 2; }

  /* Contact and legal content — generous controls, short lines and clean footers. */
  .contactPage {
    background:
      radial-gradient(circle at 92% 4%, rgb(104 212 232 / 16%) 0, transparent 30%),
      linear-gradient(155deg, #142f48, #0e1833 52%);
    padding: 108px 20px 44px;
  }
  .contactPage h1 { max-width: 10ch; margin: 18px 0 25px; }
  .contactGrid { grid-template-columns: 1fr; gap: 32px; }
  .contactDetails { margin-top: 25px; }
  .contactDetails a {
    border-bottom: 1px solid rgb(255 255 255 / 20%);
    min-height: 52px;
    padding: 10px 0;
  }
  .formWrap { border-top: 1px solid rgb(255 255 255 / 24%); padding-top: 25px; }
  ._fields_15lgv_1 input,
  ._fields_15lgv_1 textarea { width: 100%; }
  ._fields_15lgv_1 textarea { min-height: 130px; }
  .contactFooter,
  ._footer_zk7av_1 { gap: 12px; }
  .contactFooter div,
  ._footer_zk7av_1 div { flex-wrap: wrap; gap: 12px 18px; }
  ._page_zk7av_1 {
    background: linear-gradient(180deg, #f7f4ee, #f1f4f4);
    padding: 108px 20px 44px;
  }
  ._page_zk7av_1 h1 { max-width: 10ch; margin: 18px 0 38px; }
  ._content_zk7av_1 { width: 100%; max-width: 42rem; }
  ._content_zk7av_1 h2 {
    border-top: 1px solid #d2d9dc;
    margin: 34px 0 13px;
    padding-top: 22px;
  }
  ._content_zk7av_1 ul { padding-left: 18px; }
}

@media (width <= 600px) and (prefers-reduced-motion: no-preference) {
  :is(._hero_lf67j_2, ._hero_1wgij_2, ._hero_6rov3_12, ._hero_vwph2_1, ._hero_1rb76_13) > * {
    animation: mobile-hero-in .6s cubic-bezier(.2,.75,.25,1) both;
  }
  :is(._hero_lf67j_2, ._hero_1wgij_2, ._hero_6rov3_12, ._hero_vwph2_1, ._hero_1rb76_13) > :nth-child(2) {
    animation-delay: .1s;
  }
}

@keyframes mobile-hero-in {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (width <= 360px) {
  .topbar { padding-inline: 14px; }
  .topbar .logo b { display: none; }
  .language-switch { margin-left: 6px; }
  ._tuned_5kf8r_1 .hero { padding-inline: 16px; }
  ._tuned_5kf8r_1 .hero h1 { font-size: 42px; }
}

@media (prefers-reduced-motion: reduce) {
  .language-switch { transition: none; }
}
