/* Until the calculator is drawn (app.js adds html.lm-ready), keep its place so the home text does not flash at the top. The text stays in the HTML for search engines. */
html:not(.lm-ready) body:not(:has(#app[data-lm-shell])) #app{min-height:100vh;min-height:100svh}
/* Signed-in visitors get the old loading screen (no snapshot): keep it full height and the home text out of sight until the app is drawn */
html.lm-noshell:not(.lm-ready) body #app:not([data-lm-shell]){min-height:100vh;min-height:100svh}
html.lm-noshell:not(.lm-ready) body .lm-home{display:none}
html body .lm-home{margin:40px 0 0;color:#485291;font-size:15px;line-height:1.6;text-align:left}
html body .lm-home-wrap{max-width:1200px;margin:0 auto;padding:0 24px}
html body .lm-home h1{font-size:30px;line-height:1.2;color:#2f3672;margin:0 0 12px;font-weight:800}
html body .lm-home h2{font-size:22px;line-height:1.25;color:#2f3672;margin:36px 0 14px;font-weight:800}
html body .lm-home-lead{max-width:820px;margin:0;color:#565f9b;font-size:16px}
html body .lm-home a{color:#2563d9;text-decoration:none}
html body .lm-home a:hover{text-decoration:underline}
html body .lm-home-steps,html body .lm-home-why{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
html body .lm-home-why{grid-template-columns:repeat(4,1fr)}
html body .lm-home-steps{counter-reset:lmstep}
html body .lm-home-steps li,html body .lm-home-why li{background:#fff;border-radius:12px;padding:18px;box-shadow:0 1px 2px rgba(47,54,114,.06),0 6px 24px rgba(47,54,114,.06)}
html body .lm-home-steps li{counter-increment:lmstep}
html body .lm-home-steps li:before{content:counter(lmstep);display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#fdd200;color:#2f3672;font-weight:800;margin-bottom:10px}
html body .lm-home-steps b,html body .lm-home-why b,html body .lm-home-net b{display:block;color:#2f3672;font-size:16px;margin-bottom:4px}
html body .lm-home-steps span,html body .lm-home-why span,html body .lm-home-net span{display:block;color:#565f9b;font-size:14px}
html body .lm-home-nets{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
html body .lm-home-net{display:block;background:#fff;border-radius:12px;padding:16px 18px;border:1px solid #d9e2fa;transition:border-color .15s,box-shadow .15s}
html body .lm-home .lm-home-net:hover{border-color:#8b80fe;text-decoration:none;box-shadow:0 6px 24px rgba(47,54,114,.08)}
html body .lm-home-net-all{background:#2f3672;border-color:#2f3672}
html body .lm-home-net-all b{color:#fff}
html body .lm-home-net-all span{color:#c9cdf0}
html body .lm-home-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
html body .lm-home-chips a{display:inline-block;background:#fff;border:1px solid #d9e2fa;border-radius:999px;padding:8px 14px;font-size:14px;color:#485291}
html body .lm-home .lm-home-chips a:hover{border-color:#8b80fe;text-decoration:none}
html body .lm-home-faq{display:grid;gap:10px;max-width:900px}
html body .lm-home-faq details{background:#fff;border-radius:12px;padding:0 18px;box-shadow:0 1px 2px rgba(47,54,114,.06)}
html body .lm-home-faq summary{cursor:pointer;font-weight:700;color:#2f3672;padding:14px 0;list-style:none}
html body .lm-home-faq summary::-webkit-details-marker{display:none}
html body .lm-home-faq summary:after{content:"+";float:right;color:#8b80fe;font-weight:800}
html body .lm-home-faq details[open] summary:after{content:"–"}
html body .lm-home-faq p{margin:0 0 14px;color:#565f9b}
html body .lm-home-blog-h{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
html body .lm-home-blog-h a{font-weight:700;color:#485291;white-space:nowrap}
html body .lm-home-blog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:6px 0 0}
html body .lm-blog-card{display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 1px 2px rgba(47,54,114,.06),0 8px 24px rgba(47,54,114,.07);color:#2f3672;text-decoration:none!important;transition:transform .18s,box-shadow .18s}
html body .lm-blog-card:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(47,54,114,.08),0 14px 34px rgba(47,54,114,.13)}
html body .lm-blog-img{display:block;aspect-ratio:16/9;background:linear-gradient(135deg,#353a63,#4f6fb0);overflow:hidden}
html body .lm-blog-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
html body .lm-blog-card:hover .lm-blog-img img{transform:scale(1.03)}
html body .lm-blog-ph{display:flex;align-items:center;justify-content:center;height:100%}
html body .lm-blog-img .lm-blog-ph img{width:40%!important;height:auto!important;object-fit:contain;filter:brightness(0) invert(1);opacity:.9}
html body .lm-blog-body{display:flex;flex-direction:column;gap:8px;padding:16px 18px 18px;flex:1}
html body .lm-blog-body time{color:#8a90bf;font-size:12.5px;font-weight:600}
html body .lm-blog-body b{font-size:16.5px;line-height:1.35;color:#2f3672}
html body .lm-blog-desc{color:#5c65a1;font-size:14px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
html body .lm-blog-more{margin-top:auto;padding-top:4px;color:#485291;font-weight:700;font-size:14px}
@media (max-width:980px){html body .lm-home-blog{grid-template-columns:1fr 1fr}}
@media (max-width:600px){html body .lm-home-blog{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:6px -16px 0;padding:2px 16px 10px;scrollbar-width:none}html body .lm-home-blog::-webkit-scrollbar{display:none}html body .lm-blog-card{flex:0 0 80%;scroll-snap-align:start}}
@media (max-width:980px){
  html body .lm-home-why{grid-template-columns:repeat(2,1fr)}
  html body .lm-home-nets{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  html body .lm-home{margin-top:28px}
  html body .lm-home-wrap{padding:0 16px}
  html body .lm-home h1{font-size:24px}
  html body .lm-home h2{font-size:19px;margin-top:28px}
  html body .lm-home-steps,html body .lm-home-nets{grid-template-columns:1fr;gap:10px}
  html body .lm-home-why{gap:10px}
  html body .lm-home-steps li{display:grid;grid-template-columns:30px 1fr;column-gap:12px;padding:14px 16px}
  html body .lm-home-steps li:before{grid-row:span 2;margin:0}
  html body .lm-home-why li,html body .lm-home-net{padding:14px 16px}
}
