/* Phone usability: preserve the approved design with readable labels and generous touch targets. */
@media (pointer:coarse){
  a,button,input,select,textarea,summary,label{touch-action:manipulation}
  .step-controls button{min-width:44px;min-height:44px}
}
@media(max-width:800px){
  .ggs-main .text-link,.ggs-main .package-terms a,.ggs-main .team-note a,.ggs-main .site-footer a,
  .ggs-demos .site-head>a,.ggs-demos .site-head nav a,.ggs-demos .site-footer a,.ggs-demos .next-section a{
    display:inline-flex;align-items:center;min-height:44px;min-width:44px
  }
  .ggs-main .footer-bottom nav,.ggs-demos .site-footer nav{flex-wrap:wrap;gap:4px 20px}
  .ggs-main .footer-bottom a,.ggs-main .footage-credit a,.ggs-demos .site-footer nav a{font-size:15px}
  .ggs-main .dialog-close{width:44px;height:44px;min-width:44px;min-height:44px}
  .ggs-main #contact-dialog{max-height:calc(100dvh - 24px);overscroll-behavior:contain}
  .ggs-main #contact-form input,.ggs-main #contact-form select{min-height:48px}
  .ggs-main #contact-form textarea{min-height:112px}
  .ggs-main #contact-form input,.ggs-main #contact-form textarea,.ggs-main #contact-form select{font-size:17px}
  .ggs-main .dialog-finance a,.ggs-main .form-note a{display:inline-flex;align-items:center;min-height:44px}
  .ggs-demos .step-controls button{min-width:44px;min-height:44px}
  .ggs-demos .branch label{min-height:44px;align-items:center;cursor:pointer;padding-block:8px}
  .ggs-demos .branch input{flex-shrink:0}
  .ggs-demos .story-transcript summary{min-height:48px;display:list-item;padding-block:12px}
}
@media(max-width:600px){
  /* Keep the compact header: the broad touch-target rule must not reveal its secondary link. */
  .ggs-demos .site-head nav>a:first-child{display:none}
  .ggs-main .cinema-secondary,.ggs-main .service-demo-link{font-size:16px}
  .ggs-main .package-terms{font-size:15px}
  .ggs-main .founder-card .text-link{font-size:16px;min-height:44px}
  .ggs-main .team-note{font-size:15px}
  .ggs-main .dialog-inner{padding-bottom:max(28px,env(safe-area-inset-bottom))}
  .ggs-main .dialog-finance,.ggs-main .form-note{font-size:15px;line-height:1.8}
  .ggs-demos .intro-note>p:nth-child(2),.ggs-demos .story-intro>p{font-size:16px}
  .ggs-demos .intro .eyebrow,.ggs-demos .story-intro .eyebrow,.ggs-demos .scene-title .eyebrow{font-size:13px}
  .ggs-demos .intro-tag,.ggs-demos .sport-feedback,.ggs-demos .sport-switch legend{font-size:14px}
  .ggs-demos .sport-options span{font-size:15px;min-height:48px;padding-inline:4px;gap:4px}
  .ggs-demos .story-picker button{min-height:144px}
  .ggs-demos .story-picker small{font-size:12px}
  .ggs-demos .story-picker strong{font-size:15px}
  .ggs-demos .theatre-top,.ggs-demos .fiction-label{font-size:13px}
  .ggs-demos .visual-stage{padding-inline:20px}
  .ggs-demos .screen-content{padding:18px}
  .ggs-demos .screen-bar{font-size:14px}
  .ggs-demos .screen-sample{font-size:12px}
  .ggs-demos .screen-row strong,.ggs-demos .schedule-row>div{font-size:16px}
  .ggs-demos .screen-row>div>span,.ggs-demos .schedule-row>div>span,.ggs-demos .schedule-row>time{font-size:15px}
  .ggs-demos .screen-row{flex-wrap:wrap;gap:8px}
  .ggs-demos .screen-row>div{flex:1 1 145px}
  .ggs-demos .screen-row .pill{max-width:100%;overflow-wrap:anywhere}
  .ggs-demos .pill{font-size:13px;line-height:1.6}
  .ggs-demos .phone-card{width:min(100%,290px)}
  .ggs-demos .phone-top{font-size:15px}
  .ggs-demos .phone-top>div>span{font-size:13px}
  .ggs-demos .bubble{font-size:16px;line-height:1.8}
  .ggs-demos .phone-time,.ggs-demos .phone-confirm{font-size:14px}
  .ggs-demos .result-stamp>div>strong{font-size:16px}
  .ggs-demos .result-stamp>div>span{font-size:15px}
  .ggs-demos .readiness-metrics span{font-size:13px;line-height:1.6}
  .ggs-demos .money-row{font-size:16px;gap:12px}
  .ggs-demos .scene-caption{font-size:16px}
  .ggs-demos .stage-note{font-size:15px}
  .ggs-demos .play-control{font-size:15px;min-width:112px;min-height:48px}
  .ggs-demos .step-controls button{width:44px;height:48px}
  .ggs-demos .transport{gap:8px}
  .ggs-demos .timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}
  .ggs-demos .timeline button{min-height:54px}
  .ggs-demos .step-name{font-size:14px;display:flex;gap:8px}
  .ggs-demos .step-name b{font-size:13px;margin:0}
  .ggs-demos .branch label{font-size:15px}
  .ggs-demos .playback-status{font-size:14px}
  .ggs-demos .brief-number{font-size:13px}
  .ggs-demos .build-brief .care-copy,.ggs-demos .story-transcript summary,.ggs-demos .story-transcript ol{font-size:16px}
  .ggs-demos .sample-note,.ggs-demos .next-section small{font-size:15px}
  .ggs-demos .site-footer{font-size:14px;padding-bottom:max(25px,env(safe-area-inset-bottom))}
  .ggs-demos .site-footer nav{margin-left:0}
  .ggs-demos .site-footer>p{max-width:calc(100% - 60px)}
}
@media(max-width:360px){
  .ggs-main .cinema-actions{align-items:flex-start;gap:8px 20px}
  .ggs-main .cinema-actions .button,.ggs-main .cinema-secondary{font-size:15px}
  .ggs-demos .screen-content{padding:16px}
  .ggs-demos .readiness-metrics strong{font-size:21px}
}
