/* Caserta Consulting mobile viewport correction 2026-11-14 v2.
   Fix: prevent the home hero grid's long German heading from expanding
   the layout beyond the phone viewport. This file loads LAST. */
@media (max-width: 1060px) {
  html { max-width: 100%; }
  body { width: 100%; max-width: 100%; }
  .cc-hero-grid, .cc-hero-grid > div, .cc-optimized .cc-split,
  .cc-optimized .cc-grid, .cc-optimized .cc-two {
    min-width: 0 !important;
  }
  .cc-hero-grid { grid-template-columns: minmax(0,1fr) !important; }
  .cc-optimized .cc-hero h1,
  .cc-optimized .cc-service-hero h1 {
    max-width:100% !important;
    min-width:0 !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    hyphens:auto !important;
  }
  .cc-hero .actions,
  .cc-hero .actions .btn { min-width:0 !important; max-width:100% !important; }
  .cc-hero .actions .btn {
    box-sizing:border-box !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
    text-align:center !important;
  }
  .cc-hero .cc-portraits, .cc-hero .cc-portraits figure { min-width:0 !important; }
  .cc-hero img { max-width:100%; }
}
@media(max-width:760px) {
  .cc-optimized .container {width:calc(100% - 36px) !important; max-width:calc(100% - 36px) !important;}
  .cc-optimized .cc-hero {padding-top:26px !important;}
  .cc-optimized .cc-hero h1 {
    /* A readable size with a safe fallback for long words. */
    font-size:clamp(28px,7.3vw,36px) !important;
    line-height:1.12 !important;
    letter-spacing:-.045em !important;
    margin:18px 0 22px !important;
  }
  .cc-optimized .cc-hero .eyebrow {font-size:10px !important;letter-spacing:.07em !important;overflow-wrap:anywhere !important;}
  .cc-optimized .cc-hero .cc-promise {font-size:clamp(21px,5.3vw,26px) !important;line-height:1.3 !important;}
  .cc-optimized .cc-hero .cc-intro {font-size:16px !important;line-height:1.6 !important;}
  .cc-optimized .cc-hero .actions {display:grid !important;grid-template-columns:minmax(0,1fr) !important;width:100% !important;gap:12px !important;}
  .cc-optimized .cc-hero .actions .btn {width:100% !important;font-size:11px !important;letter-spacing:.02em !important;padding:14px 12px !important;min-height:50px !important;}
  .cc-optimized .cc-hero .cc-portraits {grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px !important;}
  .cc-optimized .cc-hero .cc-portraits figure {width:100%;}
  .cc-optimized .cc-hero .cc-portraits img {height:clamp(145px,43vw,210px) !important;}
  .cc-optimized .cc-hero .cc-portraits figcaption {overflow-wrap:anywhere !important;}
  .cc-optimized .cc-hero .cc-facts {grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .cc-optimized .cc-hero .cc-facts > div {min-width:0 !important;}
  .cc-optimized .cc-hero .cc-facts strong {font-size:clamp(22px,6vw,30px) !important;}
}
@media(max-width:360px) {
  .cc-optimized .cc-hero h1 {font-size:27px !important;}
  .cc-optimized .cc-hero .eyebrow {font-size:9px !important;}
}
