/* ACGS Life welcome screen: ONE mobile-first viewport, no second desktop layout.
 * 320x568 px is the smallest design test target. The demo has no real login.
 */
.landing { width:min(100%, var(--phone-max, 460px)); height:100dvh; min-height:0; margin-inline:auto; background:#f6f8f5; box-shadow:0 0 44px rgba(27,65,51,.08); color:var(--acgs-text); display:flex; flex-direction:column; overflow:hidden; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.landing *, .landing *::before, .landing *::after { box-sizing:border-box; }
.landing-header { flex:none; min-height:64px; padding: max(8px, env(safe-area-inset-top)) 18px 7px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.landing-brand { display:flex; align-items:center; gap:9px; min-width:0; }
.landing-brand img { width:36px; height:36px; border-radius:11px; }
.landing-brand strong { display:block; font-size:16px; font-weight:760; letter-spacing:-.04em; line-height:1.15; }
.landing-brand small { display:block; margin-top:3px; font-size:9px; color:var(--acgs-muted); }
.landing-status { display:inline-flex; align-items:center; gap:6px; background:#fff; color:var(--acgs-muted); padding:7px 10px; border-radius:999px; border:1px solid #e4ece5; font-size:10px; white-space:nowrap; }
.landing-status-dot { width:6px; height:6px; flex:none; background:#80ab91; border-radius:50%; }
.landing-layout { flex:1 1 0; min-height:0; padding: 4px 14px max(12px,env(safe-area-inset-bottom)); display:flex; }
.landing-entry { width:100%; min-height:0; flex:1; background:#fff; border:1px solid #e8eee9; border-radius:24px; box-shadow:0 7px 24px rgba(37,79,52,.04); padding: clamp(15px,3.6dvh,28px) 19px 14px; display:flex; flex-direction:column; justify-content:space-between; gap:10px; }
.landing-entry-inner { width:100%; min-height:0; }
.landing-entry-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:clamp(9px,2.5dvh,19px); }
.landing-entry-eyebrow { font-size:9px; font-weight:800; letter-spacing:.14em; color:#62816d; }
.landing-entry-leaf { font-size:20px; color:#91b19b; }
.landing-entry h1 { font-size:clamp(24px,7.25vw,33px); line-height:1.17; letter-spacing:-.052em; max-width:360px; margin:0; font-weight:760; }
.landing-entry-desc { color:#698175; font-size:12px; line-height:1.4; margin:10px 0 0; }
.landing-mobile-quote { display:block; background:#f3f7f1; border-left:3px solid #88aa90; border-radius:0 8px 8px 0; color:#3d634c; font-size:11px; line-height:1.4; margin:clamp(11px,2.5dvh,20px) 0 clamp(12px,2.6dvh,21px); padding:10px 12px; }
.landing-cta { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; min-height:49px; background:#235747; color:white; border:1px solid #235747; border-radius:13px; font-size:13px; font-weight:750; padding:10px; cursor:pointer; }
.landing-cta span { display:flex; }
.landing-cta svg { width:16px; height:16px; }
.landing-cta:active { background:#164739; }
.landing button:focus-visible { outline:3px solid var(--acgs-focus); outline-offset:2px; }
.landing-separator { display:flex; align-items:center; gap:9px; margin:clamp(12px,2.7dvh,22px) 0 11px; color:#96a69d; font-size:9px; font-weight:800; letter-spacing:.11em; white-space:nowrap; }
.landing-separator::before, .landing-separator::after { content:""; display:block; flex:1; height:1px; background:#e5ede7; }
.landing-auth-options { display:flex; flex-direction:column; gap:7px; }
.landing-auth-option { display:flex; align-items:center; gap:11px; text-align:left; width:100%; min-height:44px; padding:7px 11px; font-size:12px; font-weight:670; color:#6b8377; border:1px solid #e5ece6; border-radius:11px; background:#fbfcfa; cursor:not-allowed; }
.landing-auth-option:disabled { opacity:1; }
.landing-auth-symbol { display:inline-block; width:17px; font-size:17px; font-weight:800; text-align:center; }
.landing-auth-pending { margin-left:auto; background:#edf2ec; padding:4px 7px; border-radius:6px; color:#83998a; font-size:10px; font-weight:700; }
.landing-foot { border-top:1px solid #ecf1ec; padding-top:11px; display:flex; align-items:center; justify-content:space-between; gap:6px; color:#7e9788; font-size:9px; }
@media (max-width:359px) {
  .landing-header { min-height:58px; padding-inline:12px; }
  .landing-layout { padding-inline:9px; padding-bottom:9px; }
  .landing-entry { padding-inline:14px; border-radius:20px; }
  .landing-entry h1 { font-size:24px; }
}
@media (max-height:640px) {
  .landing-header { min-height:55px; padding-top:5px; padding-bottom:4px; }
  .landing-brand img { width:32px; height:32px; }
  .landing-entry { padding-top:13px; padding-bottom:10px; }
  .landing-entry-top { margin-bottom:8px; }
  .landing-entry h1 { font-size:clamp(23px,7vw,29px); }
  .landing-entry-desc { margin-top:7px; }
  .landing-mobile-quote { margin:9px 0 11px; padding:8px 10px; }
  .landing-cta { min-height:45px; }
  .landing-separator { margin:10px 0 9px; }
  .landing-auth-options { gap:5px; }
  .landing-auth-option { min-height:42px; padding-top:6px; padding-bottom:6px; }
  .landing-foot { padding-top:8px; }
}
@media (prefers-reduced-motion:reduce) { .landing * { scroll-behavior:auto; transition:none!important; } }
