:root{--navy:#12304f;--blue:#1f5fa8;--orange:#e8772e;--bg:#f6f4ef;--ink:#1d2430;--mut:#5a6372;--card:#fff;--r:10px}
*{box-sizing:border-box}body{margin:0;font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--blue)}img{max-width:100%}
.wrap{max-width:1100px;margin:0 auto;padding:0 18px}
header{background:var(--navy);color:#fff;position:sticky;top:0;z-index:10}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 18px;flex-wrap:wrap}
.logo{color:#fff;text-decoration:none;font-weight:800;font-size:1.25rem}.logo span{color:var(--orange)}
nav{display:flex;gap:14px;flex-wrap:wrap;font-size:.95rem}nav a{color:#dfe8f3;text-decoration:none}nav a:hover{color:#fff}
.btn{display:inline-block;background:var(--orange);color:#fff;font-weight:700;padding:12px 20px;border-radius:var(--r);text-decoration:none;border:0;cursor:pointer;font-size:1rem}
.btn.alt{background:transparent;border:2px solid #fff}.btn.blue{background:var(--blue)}
.hero{background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;padding:56px 0}
.hero h1{font-size:clamp(2rem,6vw,3.2rem);line-height:1.1;margin:0 0 12px}.hero p{font-size:1.15rem;max-width:640px;color:#e6eef8}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.hero .who{margin-top:26px;display:flex;gap:14px;align-items:center;background:rgba(255,255,255,.1);padding:12px 16px;border-radius:var(--r);max-width:560px}
.avatar{width:56px;height:56px;border-radius:50%;background:var(--orange);display:grid;place-items:center;font-weight:800;font-size:1.4rem;flex:none}
section{padding:48px 0}section h2{font-size:clamp(1.6rem,4vw,2.2rem);margin:0 0 8px;color:var(--navy)}
.lead{color:var(--mut);max-width:720px}
.grid{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:720px){.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.g4{grid-template-columns:repeat(4,1fr)}}
.card{background:var(--card);border-radius:var(--r);padding:20px;box-shadow:0 1px 3px rgba(0,0,0,.08);border-top:4px solid var(--blue)}
.card h3{margin:0 0 6px;color:var(--navy)}.card ul{padding-left:18px;margin:6px 0}
.stat{font-size:2.2rem;font-weight:800;color:var(--orange)}.src{font-size:.8rem;color:var(--mut)}
.step{counter-increment:s}.step h3::before{content:counter(s);display:inline-grid;place-items:center;width:32px;height:32px;margin-right:8px;border-radius:50%;background:var(--orange);color:#fff}
.alt-bg{background:#fff}
form label{display:block;font-weight:600;margin:12px 0 4px}
input,select,textarea{width:100%;padding:12px;border:1px solid #c9cfd8;border-radius:8px;font:inherit;background:#fff}
.calc-row{display:grid;grid-template-columns:2fr 1fr auto;gap:8px;margin-bottom:8px;align-items:center}
.calc-row button{background:#eee;border:0;border-radius:8px;padding:10px;cursor:pointer}
.result{background:var(--navy);color:#fff;border-radius:var(--r);padding:20px;margin-top:16px;display:grid;gap:10px;grid-template-columns:1fr 1fr}
.result b{display:block;font-size:2rem;color:var(--orange)}
.placeholder{border:2px dashed #b9c2cf;border-top:2px dashed #b9c2cf;background:#fbfbfb;color:var(--mut)}
.badge{display:inline-block;background:#fff3e8;color:#a24d12;font-weight:700;font-size:.8rem;padding:2px 8px;border-radius:20px}
.msg{margin-top:10px;font-weight:600}.err{color:#b00020}
footer{background:var(--navy);color:#c9d6e6;padding:28px 0;font-size:.9rem}footer a{color:#fff}
#chat-fab{position:fixed;right:16px;bottom:16px;background:var(--orange);color:#fff;border:0;border-radius:30px;padding:12px 18px;font-weight:700;box-shadow:0 3px 10px rgba(0,0,0,.25);cursor:pointer;z-index:20}
#chat-panel{position:fixed;right:16px;bottom:74px;width:min(320px,calc(100vw - 32px));background:#fff;border-radius:var(--r);box-shadow:0 6px 24px rgba(0,0,0,.25);padding:16px;display:none;z-index:20}
#chat-panel.open{display:block}

.logo{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.logo-img{width:40px;height:40px;border-radius:50%;flex:none;display:block}@media(max-width:480px){.logo{gap:7px;font-size:1.1rem}.logo-img{width:34px;height:34px}}
.inf-wrap{margin:6px 0 0}.inf svg{display:inline-block;vertical-align:middle}
