/* Jackhao.tv V63.1 — responsive convergence for mobile navigation, platforms and footer */
:root{--jh-page-gutter-mobile:20px}

/* Shared footer: one structure, readable contrast and real touch targets. */
.site-footer-v35{padding:0!important;background:#0d151c!important;color:#e6e9ea!important}
.site-footer-v35 :where(.v35-footer-grid,.jh-footer-main){width:min(1240px,calc(100% - 48px));margin-inline:auto;padding:64px 0 46px;display:grid;grid-template-columns:minmax(260px,1.55fr) repeat(auto-fit,minmax(128px,1fr));gap:40px;border-bottom:1px solid rgba(255,255,255,.12)}
.site-footer-v35 :where(.v35-footer-grid,.jh-footer-main)>section{min-width:0}
.site-footer-v35 :where(.v35-footer-name,.jh-footer-name){display:flex;align-items:baseline;gap:9px;color:#fff!important;text-decoration:none}
.site-footer-v35 :where(.v35-footer-name,.jh-footer-name) span{font-family:var(--v35-serif,"Noto Serif SC","Songti SC",serif);font-size:29px;line-height:1.2}
.site-footer-v35 :where(.v35-footer-name,.jh-footer-name) em{font-family:Georgia,serif;font-size:20px;font-weight:400;font-style:normal}
.site-footer-v35 :where(.v35-footer-grid,.jh-footer-main) section p{max-width:320px;margin:18px 0 12px!important;color:rgba(255,255,255,.72)!important;font-size:14px!important;line-height:1.8!important}
.site-footer-v35 :where(.v35-footer-grid,.jh-footer-main) section>a:not(.v35-footer-name):not(.jh-footer-name){display:inline-flex;align-items:center;min-height:40px;color:rgba(255,255,255,.82)!important;font-size:14px!important}
.site-footer-v35 :where(.v35-footer-grid,.jh-footer-main) nav{min-width:0;display:flex!important;flex-direction:column!important;align-items:stretch;gap:2px!important}
.site-footer-v35 :where(.v35-footer-grid,.jh-footer-main) nav>b{display:block;margin:0 0 9px;color:#fff!important;font-size:13px!important;line-height:1.35!important;letter-spacing:.08em!important}
.site-footer-v35 :where(.v35-footer-grid,.jh-footer-main) nav>a{display:flex!important;align-items:center;min-height:40px;padding:4px 0;color:rgba(255,255,255,.68)!important;font-size:14px!important;line-height:1.45!important;white-space:normal;text-decoration:none}
.site-footer-v35 :where(.v35-footer-grid,.jh-footer-main) nav>a:hover,.site-footer-v35 :where(.v35-footer-grid,.jh-footer-main) nav>a:focus-visible{color:#fff!important}
.site-footer-v35 :where(.v35-footer-bottom,.jh-footer-bottom){width:min(1240px,calc(100% - 48px));margin-inline:auto;padding:20px 0 calc(22px + env(safe-area-inset-bottom));display:flex!important;align-items:center;justify-content:space-between;gap:18px;color:rgba(255,255,255,.56)!important;font-size:12px!important;line-height:1.55!important;letter-spacing:0!important}
.site-footer-v35 :where(.v35-footer-bottom,.jh-footer-bottom)>span:last-child{display:flex;align-items:center;flex-wrap:wrap;gap:14px}
.site-footer-v35 :where(.v35-footer-bottom,.jh-footer-bottom) a{display:inline-flex;align-items:center;min-height:36px;color:rgba(255,255,255,.68)!important;text-decoration:none}
.site-footer-v35 :where(.v35-footer-bottom,.jh-footer-bottom) a:hover,.site-footer-v35 :where(.v35-footer-bottom,.jh-footer-bottom) a:focus-visible{color:#fff!important}

/* Platforms page: keep the editorial look, but make mobile genuinely mobile. */
.page-platforms .jh-platform-card{touch-action:manipulation}
.page-platforms .jh-platform-card:focus-visible{outline:3px solid rgba(216,180,140,.75);outline-offset:3px}
.page-platforms .jh-platform-card .jh-platform-icon{justify-self:center}
.page-platforms .jh-platform-card i{justify-self:end}

@media(max-width:700px){
  .site-footer-v35 :where(.v35-footer-grid,.jh-footer-main){width:calc(100% - 40px)!important;padding:42px 0 32px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px 18px!important}
  .site-footer-v35 :where(.v35-footer-grid,.jh-footer-main)>section{grid-column:1/-1!important;padding-bottom:2px}
  .site-footer-v35 :where(.v35-footer-name,.jh-footer-name) span{font-size:26px}
  .site-footer-v35 :where(.v35-footer-name,.jh-footer-name) em{font-size:19px}
  .site-footer-v35 :where(.v35-footer-grid,.jh-footer-main) section p{margin:14px 0 10px!important;font-size:14px!important;line-height:1.78!important;color:rgba(255,255,255,.74)!important}
  .site-footer-v35 :where(.v35-footer-grid,.jh-footer-main) nav{padding-top:16px!important;border-top:1px solid rgba(255,255,255,.1)!important}
  .site-footer-v35 :where(.v35-footer-grid,.jh-footer-main) nav>b{font-size:13px!important;margin-bottom:7px!important}
  .site-footer-v35 :where(.v35-footer-grid,.jh-footer-main) nav>a{min-height:44px!important;padding:6px 0!important;font-size:15px!important;line-height:1.45!important}
  .site-footer-v35 :where(.v35-footer-bottom,.jh-footer-bottom){width:calc(100% - 40px)!important;padding:18px 0 calc(24px + env(safe-area-inset-bottom))!important;align-items:flex-start!important;flex-direction:column!important;gap:8px!important;font-size:12px!important}
  .site-footer-v35 :where(.v35-footer-bottom,.jh-footer-bottom)>span:last-child{gap:16px!important}
  .site-footer-v35 :where(.v35-footer-bottom,.jh-footer-bottom) a{min-height:40px!important}

  .page-platforms .jh-platform-shell{width:calc(100% - 40px)!important}
  .page-platforms .jh-platforms-hero{padding:48px 0 40px!important}
  .page-platforms .jh-platforms-hero h1{max-width:10.5em!important;margin-bottom:16px!important;font-size:clamp(34px,9.4vw,42px)!important;line-height:1.13!important;letter-spacing:-.025em!important}
  .page-platforms .jh-platforms-hero>div>p:not(.jh-platform-kicker){margin-bottom:26px!important;font-size:17px!important;line-height:1.72!important;color:rgba(255,255,255,.76)!important}
  .page-platforms .jh-platform-kicker{font-size:11px!important;letter-spacing:.055em!important}
  .page-platforms .jh-platform-grid{grid-template-columns:1fr!important;gap:12px!important}
  .page-platforms .jh-platform-card{width:100%;min-height:76px!important;padding:14px 16px!important;grid-template-columns:36px minmax(0,1fr) 24px!important;gap:14px!important;border-radius:16px!important}
  .page-platforms .jh-platform-card .jh-platform-icon{display:block!important;width:30px!important;height:30px!important;object-fit:contain!important}
  .page-platforms .jh-platform-card b{font-size:16px!important;line-height:1.3!important;white-space:nowrap}
  .page-platforms .jh-platform-card small{display:block!important;font-size:13px!important;line-height:1.45!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
  .page-platforms .jh-platform-card i{display:block!important;font-size:18px!important;line-height:1!important}
  .page-platforms .jh-platforms-section{padding:58px 0!important}
  .page-platforms .jh-platform-heading{grid-template-columns:1fr!important;gap:14px!important;margin:0!important}
  .page-platforms .jh-platform-heading h2{font-size:clamp(30px,8vw,34px)!important;line-height:1.28!important;letter-spacing:-.025em!important}
  .page-platforms .jh-platform-heading>p:last-child{font-size:16px!important;line-height:1.8!important}
}

@media(max-width:390px){
  .site-footer-v35 :where(.v35-footer-grid,.jh-footer-main),.site-footer-v35 :where(.v35-footer-bottom,.jh-footer-bottom){width:calc(100% - 36px)!important}
  .page-platforms .jh-platform-shell{width:calc(100% - 36px)!important}
  .page-platforms .jh-platforms-hero h1{font-size:clamp(32px,9vw,36px)!important}
  .page-platforms .jh-platform-card{min-height:74px!important;padding:13px 14px!important;grid-template-columns:34px minmax(0,1fr) 22px!important;gap:12px!important}
}

@media(max-width:360px){
  .site-footer-v35 :where(.v35-footer-grid,.jh-footer-main){grid-template-columns:1fr!important}
  .site-footer-v35 :where(.v35-footer-grid,.jh-footer-main)>section{grid-column:auto!important}
}
