/*
  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;
  }
}
/* =====================================================
   ADAMS STRATEGY PROMISE — FULL REDO AS ROWS
   No 4-column layout. No squeezed text.
   Structure:
   Row 0: Our Promise intro
   Row 1: 1. Valuation
   Row 2: 2. Buyers
   Row 3: 3. Support
===================================================== */

#expBlock5 {
  width: 100% !important;
  max-width: min(1120px, 94vw) !important;
  margin-inline: auto !important;
  padding: clamp(28px, 4vw, 54px) !important;

  color: #04122f !important;
  background:
    linear-gradient(180deg, rgba(239, 248, 255, 0.96), rgba(239, 248, 255, 0.82)),
    radial-gradient(circle at 50% 100%, rgba(25, 34, 255, 0.16), transparent 48%);
  border-radius: 0 0 34px 34px;

  overflow: visible !important;
}

/* reset everything inside this block */
#expBlock5,
#expBlock5 * {
  box-sizing: border-box !important;
  text-align: left !important;
  min-width: 0 !important;
}

/* main wrapper: one vertical sequence, not columns */
#expBlock5 .promise-block {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  overflow: visible !important;

  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}

/* =========================
   INTRO ROW
========================= */

#expBlock5 .promise-text {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: clamp(24px, 4vw, 56px) !important;

  width: 100% !important;
  max-width: 100% !important;

  margin: 0 0 clamp(26px, 4vw, 44px) !important;
  padding: 0 0 clamp(22px, 3vw, 34px) !important;

  border-bottom: 1px solid rgba(4, 18, 47, 0.14);

  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}

#expBlock5 .promise-text h3 {
  flex: 0 0 min(34%, 340px) !important;

  margin: 0 !important;
  color: #04122f !important;

  font-size: clamp(34px, 4.2vw, 62px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.055em !important;
  font-weight: 900 !important;
}

#expBlock5 .promise-text p {
  flex: 1 1 auto !important;

  margin: 0 !important;
  color: #0b2a66 !important;

  font-size: clamp(15px, 1.25vw, 19px) !important;
  line-height: 1.58 !important;
  font-weight: 400 !important;

  max-width: 68ch !important;
  hyphens: auto !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* =========================
   PROMISE ROWS
========================= */

#expBlock5 .promise-steps {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: visible !important;

  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}

/* each promise becomes one horizontal row */
#expBlock5 .promise-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: clamp(18px, 3vw, 38px) !important;

  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: clamp(18px, 2.6vw, 30px) 0 !important;

  border-bottom: 1px solid rgba(4, 18, 47, 0.12);
  background: transparent !important;

  position: relative !important;
  overflow: visible !important;

  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}

#expBlock5 .promise-item:last-child {
  border-bottom: 0 !important;
}

/* number column */
#expBlock5 .promise-number {
  flex: 0 0 clamp(52px, 6vw, 86px) !important;

  position: static !important;
  display: block !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #04122f !important;
  background: transparent !important;

  font-size: clamp(38px, 4.8vw, 68px) !important;
  line-height: 0.86 !important;
  letter-spacing: -0.075em !important;
  font-weight: 900 !important;
}

#expBlock5 .promise-number::after {
  content: "." !important;
  color: #1476ff !important;
}

/* title column */
#expBlock5 .promise-item h4 {
  flex: 0 0 min(30%, 290px) !important;

  margin: 0 !important;
  color: #04122f !important;

  font-size: clamp(18px, 1.7vw, 27px) !important;
  line-height: 1.14 !important;
  letter-spacing: -0.035em !important;
  font-weight: 900 !important;

  hyphens: auto !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* text column */
#expBlock5 .promise-item p {
  flex: 1 1 auto !important;

  margin: 0 !important;
  color: #0b2a66 !important;

  font-size: clamp(14px, 1.1vw, 17px) !important;
  line-height: 1.58 !important;
  font-weight: 400 !important;

  max-width: 72ch !important;

  hyphens: auto !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* kill old animation helpers only inside this section */
#expBlock5 .seq {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  animation: none !important;
}

/* =========================
   TABLET
========================= */

@media (max-width: 980px) {
  #expBlock5 .promise-text {
    display: block !important;
  }

  #expBlock5 .promise-text h3 {
    margin-bottom: 18px !important;
  }

  #expBlock5 .promise-text p {
    max-width: 72ch !important;
  }

  #expBlock5 .promise-item {
    gap: 22px !important;
  }

  #expBlock5 .promise-item h4 {
    flex-basis: min(38%, 280px) !important;
  }
}

/* =========================
   MOBILE
========================= */

@media (max-width: 680px) {
  #expBlock5 {
    padding: 26px 18px !important;
  }

  #expBlock5 .promise-item {
    display: block !important;
  }

  #expBlock5 .promise-number {
    margin-bottom: 10px !important;
  }

  #expBlock5 .promise-item h4 {
    margin-bottom: 12px !important;
  }

  #expBlock5 .promise-item p {
    max-width: none !important;
  }
}
/* =====================================================
   FORCE PROMISE TEXT SMALLER — FINAL OVERRIDE
   Must be the LAST block in the CSS file
===================================================== */

/* Main title: "Unser Versprechen" */
html body main #expBlock5 .promise-block .promise-text h3,
html body main #expBlock5 .promise-text h3,
html body main #expBlock5 h3 {
  font-size: 34px !important;
  line-height: 1.06 !important;
  letter-spacing: -0.035em !important;
  font-weight: 900 !important;
}

/* Intro paragraph */
html body main #expBlock5 .promise-block .promise-text p,
html body main #expBlock5 .promise-text p {
  font-size: 14px !important;
  line-height: 1.45 !important;
}

/* Numbers: 1 / 2 / 3 */
html body main #expBlock5 .promise-block .promise-number,
html body main #expBlock5 .promise-number {
  font-size: 42px !important;
  line-height: 0.9 !important;
  letter-spacing: -0.06em !important;
}

/* Row titles: Fundierte Unternehmensbewertung, etc. */
html body main #expBlock5 .promise-block .promise-item h4,
html body main #expBlock5 .promise-item h4 {
  font-size: 16px !important;
  line-height: 1.16 !important;
  letter-spacing: -0.02em !important;
  font-weight: 850 !important;
}

/* Row body text */
html body main #expBlock5 .promise-block .promise-item p,
html body main #expBlock5 .promise-item p {
  font-size: 13px !important;
  line-height: 1.45 !important;
}

/* Smaller again on medium screens */
@media (max-width: 980px) {
  html body main #expBlock5 .promise-text h3,
  html body main #expBlock5 h3 {
    font-size: 30px !important;
  }

  html body main #expBlock5 .promise-item h4 {
    font-size: 15px !important;
  }

  html body main #expBlock5 .promise-item p,
  html body main #expBlock5 .promise-text p {
    font-size: 13px !important;
  }

  html body main #expBlock5 .promise-number {
    font-size: 38px !important;
  }
}