/* CONCRETTA V457 — index.html mobile/tablet parity with concretta.html.
   Responsive geometry only. Desktop >1180px remains untouched. */

@media (max-width:1180px){
  body.ct-home{overflow-x:clip!important;}
  body.ct-home *,
  body.ct-home *::before,
  body.ct-home *::after{box-sizing:border-box;}
  body.ct-home :where(.row,[class*="grid"],[class*="wrap"],[class*="copy"],[class*="content"],[class*="panel"]){min-width:0;}
  body.ct-home :where(img,video,iframe,svg){max-width:100%;}
}

/* Tablet portrait / compact tablets — match concretta.html safe gutters and hero rhythm. */
@media (min-width:701px) and (max-width:991px){
  body.ct-home section#header2-22c.cid-smXf3eCssW{
    height:auto!important;
    min-height:86svh!important;
  }
  body.ct-home #header2-22c .container{
    width:100%!important;
    max-width:none!important;
    min-height:86svh!important;
    padding-top:max(104px,calc(88px + env(safe-area-inset-top)))!important;
    padding-left:28px!important;
    padding-right:28px!important;
    padding-bottom:72px!important;
  }
  body.ct-home #header2-22c .mbr-white{
    width:min(570px,100%)!important;
    max-width:570px!important;
    transform:none!important;
  }
  body.ct-home #header2-22c .concretta-hero-title{
    max-width:540px!important;
    font-size:clamp(48px,6.4vw,58px)!important;
    line-height:.98!important;
    letter-spacing:-.04em!important;
  }
  body.ct-home #header2-22c .concretta-hero-subtitle{
    max-width:500px!important;
    font-size:14px!important;
    line-height:1.65!important;
  }
  body.ct-home .cd-wrap{width:calc(100% - 56px)!important;max-width:1120px!important;}
}

/* Phones / large phones — same safe area and content width standard as concretta.html. */
@media (max-width:700px){
  body.ct-home{overflow-x:hidden!important;}
  body.ct-home section#header2-22c.cid-smXf3eCssW{
    height:auto!important;
    min-height:100svh!important;
    min-height:100dvh!important;
    overflow:hidden!important;
  }
  body.ct-home #header2-22c .container{
    min-height:100svh!important;
    min-height:100dvh!important;
    height:auto!important;
    padding-top:max(84px,calc(68px + env(safe-area-inset-top)))!important;
    padding-left:max(20px,env(safe-area-inset-left))!important;
    padding-right:max(20px,env(safe-area-inset-right))!important;
    padding-bottom:max(64px,calc(48px + env(safe-area-inset-bottom)))!important;
  }
  body.ct-home #header2-22c .mbr-white{
    width:100%!important;
    max-width:390px!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
  }
  body.ct-home #header2-22c .concretta-hero-title{
    max-width:340px!important;
    font-size:clamp(38px,10.8vw,44px)!important;
    line-height:.98!important;
    letter-spacing:-.045em!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    text-wrap:balance;
  }
  body.ct-home #header2-22c .concretta-hero-subtitle{
    max-width:340px!important;
    font-size:13.5px!important;
    line-height:1.58!important;
    overflow-wrap:anywhere!important;
  }
  body.ct-home #header2-22c .ct-v58-hero-actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:7px!important;
    margin-top:21px!important;
  }
  body.ct-home .cd-wrap{width:auto!important;max-width:none!important;margin-left:max(20px,env(safe-area-inset-left))!important;margin-right:max(20px,env(safe-area-inset-right))!important;}
  body.ct-home :where(input,select,textarea){font-size:16px;}
}

/* Small iPhones. */
@media (max-width:390px){
  body.ct-home #header2-22c .container{
    padding-left:max(16px,env(safe-area-inset-left))!important;
    padding-right:max(16px,env(safe-area-inset-right))!important;
  }
  body.ct-home #header2-22c .concretta-hero-title{font-size:37px!important;}
  body.ct-home #header2-22c .concretta-hero-subtitle{font-size:13px!important;}
  body.ct-home .cd-wrap{margin-left:max(16px,env(safe-area-inset-left))!important;margin-right:max(16px,env(safe-area-inset-right))!important;}
}

/* iPhone Safari viewport stabilization. */
@supports (-webkit-touch-callout:none){
  @media (max-width:700px){
    body.ct-home section#header2-22c.cid-smXf3eCssW,
    body.ct-home #header2-22c .container{min-height:100svh!important;}
    body.ct-home #header2-22c .mbr-white{-webkit-transform:none!important;transform:none!important;}
  }
}

/* Phone landscape — mirror concretta.html: content wins over portrait-height forcing. */
@media (max-width:900px) and (max-height:520px) and (orientation:landscape){
  body.ct-home section#header2-22c.cid-smXf3eCssW{
    min-height:0!important;
    height:auto!important;
  }
  body.ct-home #header2-22c .container{
    min-height:0!important;
    height:auto!important;
    padding-top:max(78px,calc(64px + env(safe-area-inset-top)))!important;
    padding-left:max(20px,env(safe-area-inset-left))!important;
    padding-right:max(20px,env(safe-area-inset-right))!important;
    padding-bottom:max(34px,calc(24px + env(safe-area-inset-bottom)))!important;
  }
  body.ct-home #header2-22c .mbr-white{max-width:620px!important;}
  body.ct-home #header2-22c .concretta-hero-kicker{margin-bottom:10px!important;}
  body.ct-home #header2-22c .concretta-hero-title{
    max-width:520px!important;
    font-size:clamp(34px,6vw,42px)!important;
  }
  body.ct-home #header2-22c .concretta-hero-subtitle{
    max-width:560px!important;
    margin-top:12px!important;
    font-size:12.5px!important;
    line-height:1.5!important;
  }
  body.ct-home #header2-22c .ct-v58-hero-actions{
    flex-direction:row!important;
    flex-wrap:wrap!important;
    gap:8px 16px!important;
    margin-top:14px!important;
  }
}

/* Landscape touch tablets — same 82svh rhythm as concretta.html. */
@media (min-width:992px) and (max-width:1180px) and (hover:none) and (pointer:coarse){
  body.ct-home section#header2-22c.cid-smXf3eCssW{height:auto!important;min-height:82svh!important;}
  body.ct-home #header2-22c .container{min-height:82svh!important;padding-top:96px!important;padding-bottom:70px!important;}
  body.ct-home #header2-22c .mbr-white{transform:none!important;}
  body.ct-home .cd-wrap{width:calc(100% - 64px)!important;max-width:1120px!important;}
}
