:root{--blue:#0b57d0;--blue-d:#093a8c;--orange:#ff7a00;--orange-d:#e56d00;--ink:#0f1c33;--mut:#5b6678;--line:#dbe3f0;--bg2:#f2f6fd}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--ink);font:400 17px/1.45 Lato,system-ui,sans-serif;text-align:left;min-height:100dvh;display:flex;flex-direction:column;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}
.top{padding:16px 20px 0;max-width:560px;width:100%;margin:0 auto}
#logo{display:block;max-height:82px;max-width:280px;width:auto;height:auto;margin-bottom:14px;object-fit:contain}
.bar{height:6px;background:var(--bg2);border-radius:9px;overflow:hidden}
#barfill{display:block;height:100%;width:0;background:var(--blue);border-radius:9px;transition:width .45s ease}
main{flex:1;width:100%;max-width:560px;margin:0 auto;padding:22px 20px 12px}
.screen{animation:in .35s ease both}
@keyframes in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
h1{font-size:clamp(26px,7vw,34px);line-height:1.15;margin:8px 0 20px;font-weight:900;color:var(--blue-d)}
.sub{color:var(--mut);margin:-8px 0 16px}
ul.bul{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:10px}
ul.bul li{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-weight:700;font-size:clamp(15px,4.3vw,17px);white-space:nowrap}
.filter{color:var(--mut);margin:18px 0 0;font-size:15px}
label{display:block;font-weight:700;margin:0 0 6px;font-size:15px}
input[type=text],input[type=tel],select{width:100%;font:inherit;padding:15px 14px;border:2px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);margin-bottom:14px;outline:0;transition:border-color .2s}
input:focus,select:focus{border-color:var(--blue)}
.two{display:grid;grid-template-columns:1fr 92px;gap:10px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.btn{display:block;width:100%;border:0;border-radius:14px;background:var(--orange);color:#fff;font:900 17px Lato,sans-serif;letter-spacing:.3px;padding:17px 16px;cursor:pointer;transition:background .2s,transform .1s;box-shadow:0 6px 16px rgba(255,122,0,.28)}
.btn:hover{background:var(--orange-d)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6;cursor:wait}
.btn.small{display:inline-block;width:auto;padding:11px 20px;font-size:15px;box-shadow:none}
.ghost{border:2px solid var(--line);background:#fff;border-radius:14px;padding:9px 18px;font:700 15px Lato,sans-serif;cursor:pointer;color:var(--ink)}
.opts{display:grid;gap:12px;margin-bottom:16px}
.opt{text-align:left;width:100%;font:700 17px Lato,sans-serif;padding:17px 16px;border:2px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);cursor:pointer;transition:all .18s}
.opt:hover{border-color:var(--blue)}.opt.on{border-color:var(--blue);background:var(--bg2);color:var(--blue-d)}
.chk{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14px;color:var(--mut);margin:0 0 12px}
.chk input{width:22px;height:22px;margin:1px 0 0;flex:none;accent-color:var(--blue)}
.err{color:#c62828;font-size:14px;min-height:20px;margin:6px 0}
.link{background:none;border:0;color:var(--blue);font:700 14px Lato,sans-serif;cursor:pointer;padding:6px 0;text-decoration:underline}
.back{margin-top:8px}
h1+.thanks,.thanks{font-size:18px;margin:0;color:var(--ink)}
a.btn{text-align:center;text-decoration:none;margin-top:22px}
iframe#cal{width:100%;height:680px;border:0;border-radius:12px}
.foot{max-width:560px;width:100%;margin:0 auto;padding:6px 20px 18px;display:flex;gap:18px}
.consent{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));max-width:560px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 10px 40px rgba(15,28,51,.2);z-index:10;animation:in .3s ease}
.consent p{margin:0 0 12px;font-size:14px}.row{display:flex;gap:10px;justify-content:flex-end}
dialog{max-width:520px;width:calc(100% - 32px);border:0;border-radius:16px;padding:22px;font-size:15px}
dialog::backdrop{background:rgba(15,28,51,.5)}dialog h2{margin-top:0;color:var(--blue-d)}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
