/* Shared wide-screen layout. Portrait phone styles stay with their existing components. */
@media (min-width:768px){
 html body{--desktop-gutter:clamp(28px,4vw,64px)}
 html body .site-header{height:76px!important}
 html body .site-header .header-inner{width:100%;max-width:1440px;height:76px!important;margin-inline:auto;padding-inline:var(--desktop-gutter)!important;gap:24px!important}
 html body .site-header .site-brand{min-width:0;flex:0 0 auto;gap:10px!important;font-size:17px!important;white-space:nowrap}
 html body .site-header .site-brand img{width:42px!important;height:42px!important;flex:0 0 42px;object-fit:contain}
 html body .site-header .site-brand b{font-size:13px!important}
 html body .site-header .header-actions{margin-left:auto;gap:12px!important;flex:0 0 auto;align-items:center}
 html body .site-header .profile-trigger,
 html body .site-header .settings-trigger,
 html body .site-header .menu-toggle,
 html body .site-header .home-header-account{width:42px!important;height:42px!important;min-width:42px!important;flex-basis:42px!important;padding:0!important}
 html body .site-header .profile-trigger img{width:100%;height:100%;object-fit:cover}
 html body .site-header .settings-trigger svg,
 html body .site-header .menu-toggle svg{width:22px!important;height:22px!important}
 html body .site-header .desktop-nav{gap:clamp(16px,1.8vw,28px)!important;align-items:center}
 html body .site-header .desktop-nav a,
 html body .site-header .desktop-nav summary{font-size:12px!important;white-space:nowrap}

 html body .onboarding-dialog,html body .cookie-dialog{max-height:calc(100dvh - 32px)!important;overflow-x:hidden!important;overflow-y:auto!important}
 html body .onboarding-dialog form{min-width:0;max-width:100%}

 /* Menu content has a readable line length and one shared row rhythm. */
 html body #site-menu{padding:24px!important;overflow-y:auto!important;overscroll-behavior:contain}
 html body #site-menu .menu-panel{width:min(1120px,100%);max-width:1120px;min-height:0;margin:0 auto;padding:28px 40px!important;border-radius:18px!important}
 html body #site-menu .menu-top{min-height:48px;padding-bottom:22px;margin:0;display:flex;align-items:center;justify-content:space-between;gap:24px}
 html body #site-menu .menu-top h2{margin:0;font-size:17px!important;line-height:1.3;letter-spacing:.04em}
 html body #site-menu .menu-close{width:44px!important;height:44px!important;min-width:44px!important;padding:10px;flex:0 0 44px}
 html body #site-menu .drawer-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start;gap:0 44px!important;padding:24px 0!important}
 html body #site-menu .drawer-nav>a,
 html body #site-menu .drawer-nav>details>summary{min-height:76px;padding:20px 0!important;font-size:clamp(25px,2.5vw,34px)!important;line-height:1.12!important;letter-spacing:-.025em!important;gap:18px;overflow-wrap:anywhere;align-items:center}
 html body #site-menu .drawer-nav>details{min-width:0;align-self:start}
 html body #site-menu .drawer-nav .menu-arrow,
 html body #site-menu .drawer-nav .download-chevron{width:20px!important;height:20px!important;flex:0 0 20px}
 html body #site-menu .drawer-nav .download-submenu,
 html body #site-menu .drawer-nav .before-start-submenu{margin:0 0 14px;padding:0 0 0 16px;min-width:0}
 html body #site-menu .drawer-nav .download-submenu a,
 html body #site-menu .drawer-nav .before-start-submenu a{min-height:44px;padding:10px 0!important;font-size:15px!important;line-height:1.5!important;letter-spacing:0!important}
 html body #site-menu .menu-bottom{display:flex!important;justify-content:space-between;align-items:center;gap:24px;padding-top:22px;margin-top:0}
 html body #site-menu .menu-bottom>span,
 html body #site-menu .menu-bottom>a{font-size:13px!important;line-height:1.4!important;letter-spacing:.02em}

 /* Size the introductory poster against available height as well as width. */
 html body[data-page=home] .home-intro-v4{height:180svh!important;min-height:0!important}
 html body[data-page=home] .home-intro-v4-stage{height:100svh;min-height:0!important}
 html body[data-page=home] .home-intro-v4-announcement{height:44px!important;font-size:9px!important;padding-inline:72px!important}
 html body[data-page=home] .home-intro-v4-nav{top:58px!important;left:var(--desktop-gutter)!important;right:var(--desktop-gutter)!important}
 html body[data-page=home] .home-intro-v4-nav button{width:40px;height:40px}
 html body[data-page=home] .home-intro-v4-cover-phase{padding:100px 32px 28px!important;align-items:center!important}
 html body[data-page=home] .home-intro-v4-cover-stack{width:min(100%,1040px);gap:14px!important}
 html body[data-page=home] .home-intro-v4-status{font-size:clamp(30px,3.7vw,46px)!important;line-height:1.05!important;white-space:normal;text-wrap:balance}
 html body[data-page=home] .home-intro-v4-cover{width:min(330px,calc((100svh - 300px)*.82))!important;flex-shrink:0}
 html body[data-page=home] .home-intro-v4-brands{min-height:26px!important;gap:16px!important}
 html body[data-page=home] .home-intro-v4-brands .apple-logo,
 html body[data-page=home] .home-intro-v4-brands .rockstar-wrap{width:25px!important;height:25px!important;flex-basis:25px!important}
 html body[data-page=home] .home-intro-v4-cue{gap:8px!important}
 html body[data-page=home] .home-intro-v4-cue-pill{height:42px!important;min-width:160px!important;font-size:12px!important}
 html body[data-page=home] .home-intro-v4-chevron{height:20px;transform:scale(.7)}

 html body[data-page=home].home-chapter-locked .home-hero{padding-top:76px!important;min-height:max(620px,100svh)!important}
 html body[data-page=home] .home-content{width:100%;max-width:1440px;margin-inline:auto;padding:100px var(--desktop-gutter) 110px!important}
 html body[data-page=home] .home-content h1{font-size:clamp(64px,6.8vw,112px)!important;line-height:1.03!important;max-width:850px;letter-spacing:-.04em!important}
 html body[data-page=home] .home-content h1>span{font-size:.72em!important;letter-spacing:-.035em!important}
 html body[data-page=home] .home-content>p{max-width:460px;font-size:15px;line-height:1.75}
 html body[data-page=home] .home-bottom,
 html body[data-page=home] .gameplay-section,
 html body[data-page=home] .credits-inner,
 html body .footer-inner{width:100%;max-width:1440px;margin-inline:auto;padding-inline:var(--desktop-gutter)!important}
 html body .footer-inner nav{flex-wrap:wrap;row-gap:14px}

 html body[data-page=home]:not(.home-chapter-locked) .gta-online-menu-dock{visibility:hidden!important;pointer-events:none!important}

 html body .franklin-shell-launcher:not([style*="top"]){top:auto!important;bottom:24px!important;left:24px}

 /* A compact desktop card replaces the edge-to-edge mobile dock. */
 html body .gta-online-menu-dock,
 html body .gta-online-menu-dock.gta-online-has-brand-logo{left:auto!important;right:24px;bottom:24px;width:360px!important;min-height:94px!important;padding:16px 46px 16px 100px!important;border:1px solid var(--gta-line)!important;border-radius:14px!important;grid-template-columns:minmax(0,1fr)!important;gap:6px!important;transform:translateY(calc(100% + 36px))!important}
 html body .gta-online-menu-dock.is-visible{transform:translateY(0)!important}
 html body .gta-online-dock-grip{display:none!important}
 html body .gta-online-dock-brand-logo{left:12px!important;top:50%!important;width:76px!important;height:76px!important}
 html body .gta-online-dock-brand-logo img{transform:none!important}
 html body .gta-online-dock-copy{gap:5px!important}
 html body .gta-online-dock-copy small{font-size:8px!important;letter-spacing:.14em!important}
 html body .gta-online-dock-copy strong{font-size:25px!important;gap:5px!important}
 html body .gta-online-dock-platforms{justify-self:start!important;grid-column:1;grid-row:2}
 html body .gta-online-dock-platforms>span{min-height:20px;font-size:8px}
 html body .gta-online-dock-hint{display:none!important}
 html body .gta-online-dock-dismiss{width:28px!important;height:28px!important;right:10px!important;top:20px!important}
 html body .gta-online-menu-promo{right:24px!important;bottom:24px!important;left:auto!important;width:390px!important;height:auto!important;max-height:calc(100dvh - 112px)!important;border-radius:18px!important}
 html body .gta-online-menu-body{flex:1 1 auto;overflow-y:auto;min-height:0}
 html body .gta-online-menu-promo .gta-online-menu-copy{padding:20px!important}
 html body .gta-online-menu-promo .gta-online-menu-description{font-size:13px!important}
 html body .gta-online-menu-promo .gta-online-menu-note{font-size:10px!important}
 html body .gta-online-menu-promo .gta-online-sheet-grip{height:14px;flex-basis:14px}
 html body .gta-online-menu-promo .gta-online-sheet-grip span{display:none}
}
@media (min-width:768px) and (max-width:1199px){
 html body .site-header .desktop-nav{display:none!important}
}
@media (min-width:1200px){
 html body .site-header .desktop-nav{display:flex!important}
 html body #site-menu .drawer-nav{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0 36px!important}
 html body #site-menu .drawer-nav>a,html body #site-menu .drawer-nav>details>summary{font-size:30px!important}
}
@media (min-width:900px){
 html body[data-page=home] .home-intro-v4-cover-phase{padding:110px 48px 50px!important}
 html body[data-page=home] .home-intro-v4-cover-stack{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,380px);grid-template-rows:auto auto auto;align-items:center;column-gap:clamp(60px,8vw,120px)!important;row-gap:24px!important}
 html body[data-page=home] .home-intro-v4-status{grid-column:1;grid-row:1;align-self:end;font-size:clamp(40px,4.2vw,62px)!important;text-align:left}
 html body[data-page=home] .home-intro-v4-cover{grid-column:2;grid-row:1/4;justify-self:center;width:min(360px,calc((100svh - 190px)*.82))!important}
 html body[data-page=home] .home-intro-v4-brands{grid-column:1;grid-row:2;justify-content:flex-start!important}
 html body[data-page=home] .home-intro-v4-cue{grid-column:1;grid-row:3;align-self:start;align-items:flex-start!important}
 html body[data-page=home] .home-intro-v4-chevron{margin-left:58px}
}
@media (min-width:768px) and (max-height:600px){
 html body #site-menu{padding:12px!important}
 html body #site-menu .menu-panel{padding:18px 30px!important}
 html body #site-menu .menu-top{padding-bottom:12px;min-height:40px}
 html body #site-menu .drawer-nav{padding:12px 0!important}
 html body #site-menu .drawer-nav>a,
 html body #site-menu .drawer-nav>details>summary{min-height:58px;padding:14px 0!important;font-size:26px!important}
 html body #site-menu .menu-bottom{padding-top:12px}
 html body[data-page=home] .home-intro-v4-cover-phase{padding-top:92px!important;padding-bottom:20px!important}
 html body[data-page=home] .home-intro-v4-cover-stack{gap:10px!important}
 html body[data-page=home] .home-intro-v4-status{font-size:32px!important}
 html body[data-page=home] .home-content{padding-top:54px!important;padding-bottom:70px!important}
 html body[data-page=home].home-chapter-locked .home-hero{min-height:620px!important}
}
