/* V29 FINAL LAPTOP/DESKTOP LAYOUT + SCROLL TOP POLISH
   Keeps laptop screens in true desktop mode, reserves mobile drawer for phones,
   removes accidental page shrinking, and adds the premium scroll-to-top button. */

html,body{max-width:100%!important;overflow-x:hidden!important;scroll-behavior:smooth;}
body{min-width:0!important;}
img,video,iframe{max-width:100%;height:auto;}

/* Laptop/Desktop starts early so 1024px laptops never render as phone UI. */
@media (min-width:900px){
  body,body.menu-open,html.menu-open{overflow:auto!important;position:static!important;width:auto!important;}
  body.menu-open::before,body.menu-open::after,html.menu-open::before,html.menu-open::after{content:none!important;display:none!important;opacity:0!important;pointer-events:none!important;}

  .topbar{display:block!important;}
  .container{width:min(1180px,calc(100% - 48px))!important;max-width:1180px!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important;}
  .header,.prestige-pro-header{position:sticky!important;top:0!important;z-index:1200!important;background:rgba(255,255,255,.96)!important;border-bottom:1px solid rgba(226,232,240,.85)!important;}
  .header .nav,.prestige-pro-header .nav{height:84px!important;min-height:84px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;overflow:visible!important;}

  .mobile-toggle,#toggle,.mobile-close,.mobile-menu-head{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;}

  .prestige-pro-header nav#menu.menu.prestige-menu,
  nav#menu.menu.prestige-menu,
  .prestige-pro-header .menu,
  .menu.prestige-menu,
  .menu{
    display:flex!important;position:static!important;inset:auto!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;
    width:auto!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:none!important;
    margin-left:auto!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
    transform:none!important;transition:none!important;opacity:1!important;visibility:visible!important;filter:none!important;backdrop-filter:none!important;
    overflow:visible!important;pointer-events:auto!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:9px!important;
  }

  .menu.prestige-menu > a:not(.btn),.menu.prestige-menu .nav-dropbtn{
    width:auto!important;min-height:42px!important;height:auto!important;padding:10px 11px!important;margin:0!important;
    border:0!important;border-radius:999px!important;background:transparent!important;color:#071b3a!important;
    font-size:14px!important;font-weight:900!important;line-height:1!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;text-align:center!important;cursor:pointer!important;
  }
  .menu.prestige-menu > a:not(.btn):hover,.menu.prestige-menu .nav-dropbtn:hover{background:#f2f6fb!important;color:#0b2a6f!important;}
  .menu.prestige-menu .btn{width:auto!important;min-width:0!important;min-height:42px!important;padding:10px 15px!important;margin:0!important;display:inline-flex!important;white-space:nowrap!important;font-size:14px!important;}
  .menu.prestige-menu > .btn-primary{display:none!important;}
  .nav-cta{display:inline-flex!important;width:auto!important;padding:12px 16px!important;white-space:nowrap!important;font-size:14px!important;flex:0 0 auto!important;}

  .nav-dropdown{position:relative!important;width:auto!important;display:inline-flex!important;align-items:center!important;}
  .nav-dropdown-menu{position:absolute!important;top:calc(100% + 12px)!important;left:0!important;width:max-content!important;min-width:250px!important;max-width:340px!important;padding:10px!important;display:grid!important;gap:4px!important;background:#fff!important;border:1px solid #e6edf5!important;border-radius:18px!important;box-shadow:0 24px 65px rgba(7,27,58,.16)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(8px)!important;transition:opacity .18s ease,transform .18s ease,visibility .18s ease!important;z-index:1700!important;}
  .nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu,.nav-dropdown.open .nav-dropdown-menu,.nav-dropdown.is-open .nav-dropdown-menu{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0)!important;}
  .nav-dropdown-menu a{display:flex!important;align-items:center!important;width:100%!important;min-height:40px!important;padding:10px 12px!important;border-radius:12px!important;background:transparent!important;color:#071b3a!important;font-size:14px!important;font-weight:800!important;text-align:left!important;white-space:nowrap!important;}
  .nav-dropdown-menu a:hover{background:#f2f6fb!important;color:#0b2a6f!important;}

  .brand{flex:0 0 auto!important;max-width:none!important;}
  .brand img{width:54px!important;height:54px!important;border-radius:15px!important;}
  .brand span{max-width:none!important;min-width:0!important;}
  .brand strong{font-size:15px!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;}
  .brand small{font-size:11px!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;}

  .hero-grid,.px-hero-grid{grid-template-columns:1.08fr .92fr!important;gap:clamp(34px,4vw,58px)!important;align-items:center!important;}
  .grid-2,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .grid-3{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .grid-4{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  .grid-5{grid-template-columns:repeat(5,minmax(0,1fr))!important;}
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr!important;}
  .courses-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .corporate-box{grid-template-columns:1.15fr .85fr!important;}
  .section{padding-top:76px!important;padding-bottom:76px!important;}
  .hero-card,.px-hero-visual,.px-command,.ai-orbit-card,.ai-hero-panel{display:block!important;}
}

/* Compact laptop polish */
@media (min-width:900px) and (max-width:1180px){
  .container{width:calc(100% - 36px)!important;}
  .prestige-pro-header .brand img{width:48px!important;height:48px!important;}
  .prestige-pro-header .brand span{max-width:160px!important;}
  .prestige-pro-header .brand strong{font-size:13px!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .prestige-pro-header .brand small{font-size:9.5px!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .menu.prestige-menu{gap:4px!important;}
  .menu.prestige-menu > a:not(.btn),.menu.prestige-menu .nav-dropbtn{font-size:12.5px!important;padding:9px 7px!important;}
  .menu.prestige-menu .btn{font-size:12.5px!important;padding:9px 10px!important;}
  .nav-cta{font-size:12.5px!important;padding:10px 12px!important;}
  .hero-grid,.px-hero-grid{grid-template-columns:1fr 0.9fr!important;gap:30px!important;}
}

/* Mobile drawer only on true mobile/tablet widths. */
@media (max-width:899px){
  .topbar{display:none!important;}
  .nav-cta{display:none!important;}
  .mobile-toggle{display:grid!important;place-items:center!important;}
}

/* Premium scroll-to-top button */
.pct-scroll-top{position:fixed;right:22px;bottom:96px;width:auto;height:auto;border:0;background:transparent;color:#0b5ca5;display:grid;place-items:center;z-index:1800;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(18px);transition:opacity .28s ease,transform .28s ease,visibility .28s ease;filter:drop-shadow(0 5px 10px rgba(6,20,46,.25));}
.pct-scroll-top svg{width:34px;height:34px;display:block}
.pct-scroll-top.is-visible{opacity:1;visibility:visible;transform:translateY(0) scale(1);}
.pct-scroll-top:hover{transform:translateY(-6px) scale(1.04);box-shadow:0 28px 70px rgba(6,20,46,.42);}
.pct-scroll-top svg{animation:pctArrowFloat 1.5s ease-in-out infinite;}

@keyframes pctArrowFloat{0%,100%{transform:translateY(2px)}50%{transform:translateY(-3px)}}
@keyframes pctPulseRing{0%{transform:scale(.88);opacity:.8}100%{transform:scale(1.22);opacity:0}}
body.pct-scrolling-top .pct-scroll-top{pointer-events:none;animation:pctRocket .8s ease-in-out infinite;}
@keyframes pctRocket{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.06)}}
@media(max-width:680px){.pct-scroll-top{right:14px;bottom:82px;width:48px;height:48px;border-radius:16px;}}
