/*
  German-only mobile optimization.
  Keeps German content readable without splitting words through JavaScript.
*/

@media (max-width: 900px){
  main{
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  main :where(section,.hero,.info-grid,.why-wrap,.why-left,.why-right,.experience-block,.content-box,.industry-card,.step-box,.service-item){
    max-width: 100%;
    min-width: 0;
  }

  main :where(h1,h2,h3,h4,h5,h6){
    overflow-wrap: break-word;
    hyphens: auto;
    -webkit-hyphens: auto;
    letter-spacing: -0.018em;
  }

  main :where(p,li,label,figcaption,blockquote){
    font-size: clamp(13px, 3.65vw, 16px);
    line-height: 1.5;
    overflow-wrap: break-word;
    hyphens: manual;
    -webkit-hyphens: manual;
  }

  .hero.hero--why-sticky .why-title,
  .info-title,
  main h1{
    font-size: clamp(26px, 8.5vw, 38px) !important;
    line-height: 1.02 !important;
  }

  .hero.hero--why-sticky .why-kicker,
  .info-copy,
  .service-text,
  .service-description,
  .content-box p,
  .step-box p,
  .industry-card p{
    font-size: clamp(13px, 3.75vw, 15px) !important;
    line-height: 1.52 !important;
  }

  main h2,
  .service-heading,
  .content-box h2,
  .industry-card h3,
  .step-box h2,
  .step-box h3{
    font-size: clamp(18px, 5.7vw, 25px) !important;
    line-height: 1.12 !important;
  }

  main :where(.btn-chip,.eyebrow-link,.bc-btn,.bc-time,.button-bubble,.cta-bubble,.navigation-buttons button){
    min-height: 44px;
    padding-inline: 14px;
    font-size: clamp(12px, 3.6vw, 15px) !important;
    line-height: 1.18 !important;
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .experience-block h2{
    font-size: clamp(22px, 6.6vw, 32px) !important;
    line-height: 1.08 !important;
  }

  .experience-block h3{
    font-size: clamp(17px, 5vw, 22px) !important;
    line-height: 1.14 !important;
  }

  .experience-block p,
  .experience-block li{
    font-size: clamp(12.5px, 3.45vw, 14.5px) !important;
    line-height: 1.48 !important;
  }

  .step-box{
    font-size: clamp(12.5px, 3.45vw, 14.5px) !important;
    line-height: 1.42 !important;
  }

  .bulb-btn{
    max-width: 92%;
    padding: 6px 9px !important;
    font-size: clamp(13px, 3.8vw, 17px) !important;
    line-height: 1.08 !important;
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
    hyphens: manual;
    -webkit-hyphens: manual;
  }

  .new-text,
  .new-text p,
  .why-panel .new-text,
  .why-panel .new-text p{
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(13px, 3.7vw, 15px) !important;
    line-height: 1.52 !important;
    overflow-wrap: break-word;
    hyphens: manual;
    -webkit-hyphens: manual;
  }

  .new-text strong,
  .why-panel .new-text strong{
    font-size: clamp(15px, 4.4vw, 18px) !important;
    line-height: 1.22 !important;
    overflow-wrap: break-word;
    hyphens: auto;
    -webkit-hyphens: auto;
  }

  .hero.hero--why-sticky #expBlock5{
    padding: 18px 14px 22px !important;
  }

  .hero.hero--why-sticky #expBlock5 .promise-block,
  .hero.hero--why-sticky #expBlock5 .promise-steps{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
  }

  .hero.hero--why-sticky #expBlock5 .promise-text{
    width: 100% !important;
    text-align: left !important;
  }

  .hero.hero--why-sticky #expBlock5 .promise-text + br{
    display: none !important;
  }

  .hero.hero--why-sticky #expBlock5 .promise-text h3{
    font-size: clamp(22px, 6.2vw, 30px) !important;
    line-height: 1.1 !important;
    margin: 0 0 10px !important;
  }

  .hero.hero--why-sticky #expBlock5 .promise-text p{
    font-size: clamp(13px, 3.7vw, 15px) !important;
    line-height: 1.5 !important;
    margin: 0 !important;
  }

  .hero.hero--why-sticky #expBlock5 .promise-item{
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    column-gap: 10px !important;
    row-gap: 4px !important;
    align-items: start !important;
    padding: 12px !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
  }

  .hero.hero--why-sticky #expBlock5 .promise-number{
    grid-row: 1 / span 2;
    position: static !important;
    width: 32px !important;
    min-width: 32px !important;
    height: auto !important;
    margin: 0 !important;
    font-size: clamp(24px, 7vw, 34px) !important;
    line-height: .95 !important;
    text-align: right !important;
  }

  .hero.hero--why-sticky #expBlock5 .promise-item h4{
    margin: 0 !important;
    font-size: clamp(15px, 4.4vw, 19px) !important;
    line-height: 1.18 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
    -webkit-hyphens: auto !important;
  }

  .hero.hero--why-sticky #expBlock5 .promise-item p{
    margin: 0 !important;
    font-size: clamp(12.5px, 3.5vw, 14.5px) !important;
    line-height: 1.46 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: manual !important;
    -webkit-hyphens: manual !important;
  }

  .info-grid,
  .experience-block,
  .content-box,
  .industry-card,
  .step-box,
  .service-item{
    padding-inline: clamp(14px, 4.5vw, 22px);
  }
}

@media (max-width: 450px){
  main :where(p,li,label,figcaption,blockquote){
    font-size: clamp(12.5px, 3.55vw, 14.5px);
  }

  .hero.hero--why-sticky .why-title,
  .info-title,
  main h1{
    font-size: clamp(24px, 8vw, 34px) !important;
  }

  main h2,
  .service-heading,
  .content-box h2,
  .industry-card h3,
  .step-box h2,
  .step-box h3{
    font-size: clamp(17px, 5.4vw, 23px) !important;
  }
}
