:root{--navy:#0a2260;--blue:#1d5fd8;--sky:#38bdf8;--ice:#eef5ff;--ink:#0f1b3d;--g:linear-gradient(135deg,#0a2260 0%,#1d5fd8 55%,#38bdf8 100%)}
*{box-sizing:border-box}body{margin:0;font:16px/1.65 'Plus Jakarta Sans',system-ui,sans-serif;color:var(--ink);background:#fff}
a{color:var(--blue);text-decoration:none}.wrap{max-width:1100px;margin:auto;padding:0 20px}.narrow{max-width:620px}
.nav{position:sticky;top:0;z-index:9;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid #e3ecfb}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:66px}
.logo{font-weight:800;color:var(--navy);display:flex;align-items:center;gap:8px;font-size:1.15rem}.dot{width:14px;height:14px;border-radius:50%;background:var(--g)}
nav{display:flex;gap:22px;align-items:center}nav a{color:var(--ink);font-weight:500}nav a.btn{color:#fff}.burger{display:none;background:none;border:0;font-size:1.6rem}
.btn{display:inline-block;background:var(--g);background-size:200% 200%;color:#fff!important;padding:12px 24px;border-radius:999px;font-weight:700;border:0;cursor:pointer;font-family:inherit;transition:background-position .4s,transform .2s}
.btn:hover{background-position:100% 0;transform:translateY(-2px)}.btn.sm{padding:8px 16px}.btn.ghost{background:transparent;border:2px solid #fff}.btn.light{background:#fff;color:var(--navy)!important}
.hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,#0a2260,#1d5fd8,#38bdf8,#1d5fd8);background-size:300% 300%;animation:flow 14s ease infinite;padding:90px 0}
.hero.small{padding:56px 0}.hero-in{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center;position:relative}
.hero h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.12;margin:0 0 16px;font-weight:800}.lead{font-size:1.15rem;opacity:.92;max-width:520px}
.blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.35;background:#7dd3fc;animation:float 9s ease-in-out infinite}.b1{width:320px;height:320px;top:-80px;right:-60px}.b2{width:240px;height:240px;bottom:-90px;left:20%;animation-delay:-4s}
.lottie{width:100%;max-width:340px;margin:auto}.side-anim{max-width:200px}
.sec{padding:72px 0}.sec.alt{background:var(--ice)}h2{font-size:2rem;margin:0 0 32px;color:var(--navy)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.card{display:block;background:#fff;border:1px solid #dbe7fb;border-radius:16px;padding:24px;color:var(--ink);transition:transform .25s,box-shadow .25s,border-color .25s;margin-bottom:12px}
a.card:hover{transform:translateY(-6px);box-shadow:0 14px 34px rgba(29,95,216,.18);border-color:var(--sky)}.card h3{margin:.6rem 0 .3rem;color:var(--navy)}.card p{margin:0;color:#4a5a80}
.ico{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--g);font-size:1.4rem}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.step b{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--g);color:#fff}
.cta{background:var(--g);color:#fff;text-align:center;padding:64px 0}.cta h2{color:#fff}
.prose{max-width:760px}.prose h2,.prose h3{color:var(--navy)}
.form label{display:block;margin-bottom:14px;font-weight:600}.form input,.form textarea{width:100%;padding:12px;border:1px solid #c9d8f5;border-radius:10px;font:inherit;margin-top:4px}
.form input[type=checkbox]{width:auto}.notice{background:var(--ice);border-left:4px solid var(--blue);padding:12px 16px;border-radius:8px}.notice.bad{border-color:#d33}
.foot{background:var(--navy);color:#cfe0ff;padding:36px 0}.foot-in{display:grid;grid-template-columns:2fr 1fr;gap:20px}.foot a{color:#cfe0ff;display:block}.foot p{margin:.3rem 0}
.adm{background:var(--ice);padding:20px 0}.admbar{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:20px}.row{display:flex;justify-content:space-between;gap:10px}.lnk{background:none;border:0;color:#d33;cursor:pointer;font:inherit;margin-left:10px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s,transform .6s}.reveal.in{opacity:1;transform:none}
@keyframes flow{50%{background-position:100% 50%}}@keyframes float{50%{transform:translateY(-28px)}}
@media(max-width:760px){.hero-in{grid-template-columns:1fr}.burger{display:block}nav{display:none;position:absolute;top:66px;left:0;right:0;background:#fff;flex-direction:column;padding:16px;border-bottom:1px solid #e3ecfb}.open nav{display:flex}.foot-in{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
