/* Entry screens: fit the available phone viewport without clipping content.
   Short/landscape screens and enlarged text retain scrolling as an accessibility fallback. */
@media (max-width: 520px) {
  body.lp-experience[data-lp-module="welcome"] { min-height:100dvh; }
  .lp-experience .welcome-screen { height:100dvh; min-height:0; padding:max(18px,env(safe-area-inset-top)) 16px max(12px,env(safe-area-inset-bottom)); overflow:visible; }
  .lp-experience .welcome-frame { height:100%; min-height:0; }
  .lp-experience .welcome-brand { flex:none; width:170px; margin:4px 0 22px; }
  .lp-experience .welcome-logout { top:max(18px,env(safe-area-inset-top)); min-height:44px; }
  .lp-experience .welcome-eyebrow { margin-bottom:6px; }
  .lp-experience .welcome-title { font-size:26px; font-weight:600; line-height:1.15; max-width:none; }
  .lp-experience .welcome-actions { flex:1; min-height:0; max-height:590px; margin-top:24px; gap:12px; grid-template-rows:repeat(3,minmax(100px,1fr)) minmax(96px,.85fr); }
  .lp-experience .welcome-action--settings { display:none; }
  .lp-experience .welcome-action { min-height:0; padding:14px; grid-template-rows:36px auto; align-content:space-between; gap:10px; border-radius:16px; }
  .lp-experience[data-lp-module="welcome"] .welcome-action { border-radius:18px; box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 4px 12px rgba(54,43,29,.045); }
  .lp-experience .welcome-action__icon { width:36px; height:36px; border-radius:11px; }
  .lp-experience .welcome-action__icon svg { width:21px; height:21px; }
  .lp-experience .welcome-action__content { min-width:0; min-height:0; align-self:start; }
  .lp-experience .welcome-action__label { font-size:14px; line-height:1.2; }
  .lp-experience .welcome-action__hint { font-size:11px; line-height:1.3; margin-top:5px; }
  /* Equal text tracks: a two-line description never lifts one title above its neighbour. */
  .lp-experience .welcome-action:not(.welcome-action--primary):not(.welcome-action--settings) .welcome-action__hint { min-height:2.6em; }
  .lp-experience :is(.welcome-action--primary,.welcome-action--settings) { min-height:0; grid-template-columns:36px 1fr; grid-template-rows:1fr; align-content:center; align-items:center; gap:12px; }
  .lp-experience[data-lp-module="welcome"] .welcome-action--settings { background:rgba(255,253,249,.36); box-shadow:inset 0 1px 0 rgba(255,255,255,.6); }
  .lp-experience .welcome-action:hover { transform:none; }
  .lp-experience .welcome-action:active { transform:translateY(1px); }
  .lp-experience .welcome-footer { flex:none; margin-top:12px; font-size:9px; line-height:1.25; }
  body.lp-experience[data-lp-module="login"] { box-sizing:border-box; min-height:100dvh; height:100dvh; padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom)); }
  .lp-experience .login-container { width:100%; max-height:100%; overflow-y:auto; overscroll-behavior:contain; margin:0; padding:26px 22px; border-radius:26px; }
  .lp-experience .login-container .brand-header { margin-bottom:20px!important; }
  .lp-experience .login-container .brand-logo { width:200px; max-width:100%; margin-bottom:0; }
  .lp-experience .login-title { font-size:28px; line-height:1.15; }
  .lp-experience .login-intro { margin-bottom:22px; }
  .lp-experience .login-container :is(.form-input,.btn-login) { min-height:48px; font-size:16px; }
}
@media (max-width:520px) and (max-height:700px) {
  .lp-experience .welcome-title { font-size:24px; }
  .lp-experience .welcome-actions { margin-top:16px; gap:10px; grid-template-rows:repeat(3,minmax(98px,1fr)) minmax(88px,.85fr); }
  .lp-experience .welcome-action { padding:10px 12px; grid-template-rows:28px auto; gap:6px; }
  .lp-experience .welcome-action__icon { width:28px; height:28px; border-radius:9px; }
  .lp-experience .welcome-action__label { font-size:13px; }
  .lp-experience :is(.welcome-action--primary,.welcome-action--settings) { grid-template-columns:28px 1fr; grid-template-rows:1fr; }
  .lp-experience .login-container { padding:20px; }
}
@media (max-width:520px) and (max-height:599px) {
  .lp-experience .welcome-screen { height:auto; min-height:100dvh; }
  .lp-experience .welcome-frame { height:auto; }
}
