:root{--primary:#1E40AF;--bg:#EEF2FF;--text:#1E3A8A;--text-muted:#64748b;--bg-card:#fff;--radius:12px;--nav-h:52px;--contact-footer-h:72px;--safe-bottom:env(safe-area-inset-bottom,0);--bottom-chrome-h:calc(var(--contact-footer-h) + var(--nav-h) + var(--safe-bottom))}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif;background:var(--bg);color:var(--text);line-height:1.5;min-height:100dvh}
body.has-contact-footer.has-bottom-nav{padding-bottom:var(--bottom-chrome-h)}
.hidden{display:none!important}
.skip-link{position:absolute;left:-9999px;top:0;background:#000;color:#fff;padding:8px;z-index:9999}
#app-main{padding:12px 16px calc(var(--nav-h) + 12px);min-height:60vh}
.page-head{margin-bottom:16px}
.page-head h1{font-size:1.35rem}
.muted{color:var(--text-muted);font-size:.875rem}
.btn{border:none;border-radius:999px;padding:.6rem 1rem;cursor:pointer;font-size:.875rem}
.btn-primary{background:var(--primary);color:#fff}
.btn-secondary{background:var(--bg-card);color:var(--primary);border:1px solid #cbd5e1}
.btn-sm{padding:.4rem .8rem;font-size:.75rem}
.btn-back{background:none;border:none;color:var(--primary);margin-bottom:8px;cursor:pointer}
.reveal{opacity:0;transform:translateY(12px);transition:.5s}
.reveal.revealed{opacity:1;transform:none}
