*{margin:0;padding:0;box-sizing:border-box}
:root{--b:#0f4c81;--b2:#1466ad;--bg:#f6f8fa;--tx:#1c2430;--mut:#6a7686;--line:#dde3ea}
body{font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:var(--tx);background:var(--bg)}
a{color:var(--b2)}
header.top{display:flex;justify-content:space-between;align-items:center;padding:14px 5vw;background:#fff;border-bottom:1px solid var(--line)}
header.top nav{display:flex;gap:18px;align-items:center}
header.top nav a{text-decoration:none;color:var(--tx);font-weight:500}
main{max-width:980px;margin:0 auto;padding:32px 5vw 60px}
h1{font-size:1.7rem;margin-bottom:14px;color:var(--b)}
h2{font-size:1.2rem;margin:26px 0 10px;color:var(--b)}
p{margin-bottom:12px}
.mut{color:var(--mut);font-size:.92rem}
.btn{display:inline-block;background:var(--b);color:#fff !important;border:none;border-radius:8px;padding:10px 20px;font-size:1rem;font-weight:600;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--b2)}
.btn:disabled{background:#9fb2c4;cursor:not-allowed}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;margin:16px 0}
.form label{display:block;margin-bottom:14px;font-weight:600;font-size:.95rem}
.form input:not([type=checkbox]):not([type=color]),.form textarea{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid var(--line);border-radius:8px;font:inherit;font-weight:400}
.form .chk{font-weight:400;display:flex;gap:10px;align-items:flex-start}
.form .chk input{margin-top:5px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:640px){.grid2{grid-template-columns:1fr}}
.err{background:#fdecea;color:#a12622;padding:10px 14px;border-radius:8px;margin:10px 0}
.ok{background:#e9f7ec;color:#176631;padding:10px 14px;border-radius:8px;margin:10px 0}
.warn{background:#fff6e0;color:#8a5b00;padding:12px 14px;border-radius:8px;margin:12px 0}
.ok2{color:#176631;font-weight:600}.warn2{color:#8a5b00;font-weight:600}
.oui{color:#a12622;font-weight:700}
table.tbl{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:14px 0}
table.tbl th{background:#eef3f8;text-align:left;padding:10px 14px;font-size:.9rem}
table.tbl td{padding:10px 14px;border-top:1px solid var(--line);font-size:.95rem}
.drop{border:2px dashed var(--line);border-radius:10px;padding:22px;text-align:center;margin-top:6px;background:#fbfcfe;cursor:pointer}
.drop.over{border-color:var(--b2);background:#eef5fc}
.drop.ready{border-color:#176631}
.drop input{display:block;margin:10px auto 0}
.sug{position:relative}
.sugitem{display:block;width:100%;text-align:left;padding:9px 12px;border:1px solid var(--line);border-top:none;background:#fff;cursor:pointer;font:inherit}
.sugitem:hover{background:#eef5fc}
.files{list-style:none;margin:16px 0}.files li{margin-bottom:12px}
footer.foot{text-align:center;padding:26px 5vw;border-top:1px solid var(--line);background:#fff;font-size:.85rem;color:var(--mut)}
/* landing */
.hero{padding:56px 0 30px;text-align:center}
.hero h1{font-size:2.3rem;line-height:1.25;margin-bottom:14px}
.hero p{max-width:640px;margin:0 auto 22px;font-size:1.1rem;color:#3a4656}
.badges{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:18px 0}
.badge{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:.85rem}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin:26px 0}
.cols .card{margin:0}
.cols h3{color:var(--b);margin-bottom:8px;font-size:1.05rem}
ol.steps{margin:14px 0 14px 20px}
ol.steps li{margin-bottom:8px}
/* landing v2 */
.btn2{display:inline-block;background:#fff;color:var(--b) !important;border:2px solid var(--b);border-radius:8px;padding:8px 18px;font-weight:600;text-decoration:none}
.center{text-align:center}
.shot{max-width:760px;margin:10px auto 30px}
.shot img{width:100%;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px rgba(15,40,70,.12)}
.shots3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:26px 0}
.shots3 img{width:100%;border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 18px rgba(15,40,70,.10)}
.shots3 figcaption{font-size:.85rem;color:var(--mut);margin-top:6px;text-align:center}
.shot video{width:100%;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px rgba(15,40,70,.12);display:block}
