/* 360 Degrees public homepage — viewport composition.
   Keeps the complete first-screen proposition visible at 100% browser zoom. */

@media (min-width:901px){
  body:not(.auth-page) .site-header + main > .hero{
    min-height:calc(100svh - 78px);
    display:flex;
    align-items:center;
    padding:clamp(30px,4.5vh,46px) 0;
  }

  /* Keep the hero on the exact same horizontal grid as the header/logo. */
  body:not(.auth-page) .site-header + main > .hero .hero-grid{
    width:min(1220px,calc(100% - 40px));
    margin-left:auto;
    margin-right:auto;
    grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
    gap:clamp(38px,5vw,68px);
    align-items:center;
  }

  body:not(.auth-page) .site-header + main > .hero .eyebrow{
    margin-bottom:clamp(12px,1.8vh,18px);
  }

  body:not(.auth-page) .site-header + main > .hero h1{
    font-size:clamp(52px,5.15vw,76px);
    line-height:.94;
    margin-bottom:clamp(16px,2.3vh,24px);
    max-width:760px;
  }

  body:not(.auth-page) .site-header + main > .hero p{
    font-size:clamp(15px,1.08vw,17px);
    line-height:1.55;
    max-width:650px;
    margin-bottom:clamp(20px,2.8vh,28px);
  }

  body:not(.auth-page) .site-header + main > .hero .btn{
    padding:12px 18px;
  }

  body:not(.auth-page) .site-header + main > .hero .orbit{
    width:min(100%,500px,calc(100svh - 158px));
    max-width:500px;
    justify-self:end;
    align-self:center;
  }

  body:not(.auth-page) .site-header + main > .hero .orbit-core strong{
    font-size:clamp(54px,6.3vw,88px);
  }
}

@media (min-width:901px) and (max-height:780px){
  body:not(.auth-page) .site-header + main > .hero{
    padding:24px 0;
  }

  body:not(.auth-page) .site-header + main > .hero h1{
    font-size:clamp(48px,4.65vw,66px);
    margin-bottom:15px;
  }

  body:not(.auth-page) .site-header + main > .hero p{
    font-size:15px;
    line-height:1.48;
    margin-bottom:18px;
  }

  body:not(.auth-page) .site-header + main > .hero .eyebrow{
    margin-bottom:11px;
  }

  body:not(.auth-page) .site-header + main > .hero .orbit{
    width:min(100%,430px,calc(100svh - 138px));
    max-width:430px;
  }
}

@media (min-width:901px) and (max-width:1180px){
  body:not(.auth-page) .site-header + main > .hero .hero-grid{
    grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
    gap:34px;
  }

  body:not(.auth-page) .site-header + main > .hero h1{
    font-size:clamp(48px,5.8vw,66px);
  }
}
