/* LAUNEXT desktop + cross-device polish — 2026-08-21
   Loaded after the base styles and mobile-fixes.css. */

/* ---------- Shared public-site desktop layout ---------- */
@media (min-width:1025px){
  /* Keep hero and service content on one intentional wide grid. */
  .home-hero .hero-grid,
  .container.service-container{
    max-width:1200px;
  }

  /* Home hero: the motion belongs to its own column and can never cover copy. */
  .home-hero .hero-grid{
    grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr)!important;
    gap:clamp(34px,3.8vw,56px)!important;
    align-items:center!important;
    padding-block:clamp(64px,5.5vw,84px)!important;
  }
  .home-hero .hero-copy{min-width:0;position:relative;z-index:2}
  .home-hero .hero-copy h1{
    font-size:clamp(46px,3.55vw,56px)!important;
    line-height:1.08!important;
    text-wrap:balance;
  }
  .home-hero .hero-copy .lead{max-width:650px}
  .home-hero .hero-motion-wrap{
    width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    justify-content:flex-end!important;
    position:relative;
    z-index:1;
  }
  .home-hero .hero-launch-motion{
    /* The source canvas intentionally has transparent space on the left.
       Keep the motion large, but clip that empty canvas inside its own column. */
    width:720px!important;
    max-width:none!important;
    height:auto!important;
    flex:0 0 auto!important;
    object-fit:contain!important;
    object-position:center!important;
    margin-left:auto!important;
  }

  /* The Investor Network hero already sits directly under the global LAUNEXT header. */
  .investor-hero .investor-logo{display:none!important}
  .investor-hero{padding-top:72px!important}
}

/* Small laptops: preserve the desktop header without squeezing or collisions. */
@media (min-width:1025px) and (max-width:1180px){
  .nav-wrap{width:min(100% - 28px,1280px)!important}
  .brand-logo{width:142px!important;max-height:32px!important}
  .desktop-nav{gap:clamp(12px,1.25vw,18px)!important}
  .nav-link{font-size:12.5px!important;white-space:nowrap}
  .nav-actions{gap:8px!important;flex:0 0 auto}
  .nav-actions .btn{
    min-height:38px!important;
    padding:7px 11px!important;
    font-size:12px!important;
    white-space:nowrap!important;
  }
  .home-hero .hero-grid{
    grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr)!important;
    gap:30px!important;
    padding-block:58px!important;
  }
  .home-hero .hero-copy h1{font-size:46px!important}
  .home-hero .hero-launch-motion{width:620px!important;max-width:none!important}
}

/* Short laptop screens: keep the main CTA comfortably inside the first viewport. */
@media (min-width:1025px) and (max-height:800px){
  .home-hero .hero-grid{padding-block:52px!important}
  .home-hero .hero-copy h1{font-size:clamp(44px,3.35vw,52px)!important}
  .home-hero .hero-copy .lead{margin-top:18px!important}
  .home-hero .hero-tag{margin-top:18px!important}
  .home-hero .btn-row{margin-top:24px!important}
}

/* ---------- Investor / Partner Portal desktop ---------- */
.portal-topbar-left{min-width:0;flex:1 1 auto}
.portal-topbar-left>div{min-width:0}
.portal-topbar h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portal-user{min-width:0;max-width:min(46%,430px);flex:0 1 auto}
.portal-user-copy{min-width:0;max-width:360px}
.portal-user-copy strong,
.portal-user-copy span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Drop to two cards before the cards become cramped. */
@media (min-width:921px) and (max-width:1280px){
  .startup-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Keep topbar identity useful on narrower desktop/tablet widths. */
@media (min-width:681px) and (max-width:1040px){
  .portal-user{max-width:38%}
  .portal-user-copy{max-width:260px}
  .portal-topbar h2{font-size:17px}
}

/* ---------- Admin desktop / laptop density ---------- */
@media (min-width:900px) and (max-width:1180px){
  .admin-app{grid-template-columns:220px minmax(0,1fr)!important}
  .admin-sidebar{padding:24px 16px 20px!important}
  .admin-logo img{width:142px!important}
  .admin-nav-item{padding:11px 10px!important;font-size:13px!important}
  .admin-main{padding:30px 28px 52px!important}
  .admin-topbar{gap:16px!important;margin-bottom:24px!important}
  .admin-topbar h1{font-size:clamp(30px,3.4vw,38px)!important}
  .admin-stat-grid{gap:10px!important}
  .admin-stat-card{padding:16px!important}
}

@media (min-width:900px) and (max-width:1060px){
  .admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .startup-admin-layout{grid-template-columns:200px minmax(0,1fr)!important;gap:16px!important}
  .startup-admin-item{grid-template-columns:40px 1fr!important;padding:10px!important}
  .startup-admin-item em{display:none!important}
}

/* Tablet bridge: the legacy 800px motion rule must not overflow the collapsed hero. */
@media (min-width:701px) and (max-width:1024px){
  .home-hero .hero-motion-wrap,
  .home-hero .hero-grid>div:last-child{
    width:100%!important;
    max-width:480px!important;
    overflow:hidden!important;
    margin-inline:auto!important;
  }
  .home-hero .hero-launch-motion{
    width:620px!important;
    max-width:none!important;
    height:auto!important;
    flex:0 0 auto!important;
    object-fit:contain!important;
    margin-left:auto!important;
  }
  .home-hero .hero-grid{gap:34px!important;padding-block:48px!important}
}
