/* TRADE phone floor — loaded last, after any skin. Nothing may scroll sideways on a
   phone, and every action stays a thumb's width. */
@media (max-width:599px){
  html,body{ overflow-x:clip; }
  .btn{ min-height:52px; }
  .hero__actions .btn{ flex:1 1 auto; }
}

/* Keep the Course photograph, rolling title and quote action together on the first mobile screen. */
@media (max-width:599px){
  .hero--photo .hero__bg img{ height:66%; -webkit-mask-image:linear-gradient(#000 70%, transparent); mask-image:linear-gradient(#000 70%, transparent); }
  .hero__actions .btn{ flex:1 1 0; min-width:0; padding-inline:14px; }
  .hero__actions .hero__mail{ flex:1 1 100%; }
  .dock[data-always] ~ * .hero__in, body:has(.dock[data-always]) .hero__in{ padding-bottom:88px; }
  .hero__lead{ display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
  .score{ gap:14px; }
}
@media (max-width:899px) and (max-height:640px){
  .hero__in{ padding-block:14px 14px; }
  .hero__title{ font-size:clamp(38px,12.2vw,52px); }
  .hero__lead{ display:none; }
  .rate{ margin-bottom:12px; }
  .hero__actions{ margin-top:16px; }
  .hero__actions .btn{ min-height:52px; }
  .tape__run{ height:44px; font-size:17px; }
  .slab__vis{ aspect-ratio:2 / 1; }
}
@media (max-width:359px){
  .hero__title{ font-size:40px; }
  .jobs__grid{ grid-template-columns:1fr; }
  .property__choices{ gap:6px; }
}
