:root{--navy:#0c1f40;--slate:#264964;--teal:#27adad;--teal-d:#1b8a8a;--coral:#ea7862;--bg:#f4f8fa;--line:#dde6ed;--muted:#5a6d82}
*{box-sizing:border-box}
body{margin:0;font:16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--navy)}
nav{display:flex;gap:1rem;align-items:center;padding:.6rem 1.2rem;background:#fff;border-bottom:3px solid var(--teal)}
nav .sp{flex:1}nav a{color:var(--slate);text-decoration:none;font-weight:600}
.brand{display:flex;align-items:center;gap:.55rem}.brand .ic{height:38px;width:auto;display:block}.brand .wm{height:24px;width:auto;display:block}
main{max-width:780px;margin:2rem auto;padding:0 1rem;min-height:60vh}a{color:var(--teal-d)}
footer{text-align:center;color:var(--muted);font-size:14px;padding:2rem 1rem}
input,button,.btn{font:inherit;padding:.55rem .8rem;border-radius:8px;border:1px solid #c5d2de;background:#fff;color:var(--navy)}
button,.btn{background:var(--navy);border-color:var(--navy);color:#fff!important;cursor:pointer;text-decoration:none;display:inline-block;font-weight:600}
button:hover,.btn:hover{background:var(--slate);border-color:var(--slate)}
.alt{background:#fff!important;color:var(--navy)!important;border-color:var(--navy)!important}.alt:hover{background:#eaf4f6!important}
input:focus,button:focus-visible,.btn:focus-visible{outline:3px solid rgba(39,173,173,.45);outline-offset:1px}
form.stack input{display:block;width:100%;margin:.4rem 0 .9rem}form.stack label{font-size:14px;color:var(--muted)}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem 1.2rem;margin:1rem 0;box-shadow:0 1px 3px rgba(12,31,64,.06)}
.err{background:#fdecea;border:1px solid #f1b3a9;color:#7a2417;padding:.6rem .8rem;border-radius:8px}.muted{color:var(--muted);font-size:14px}
.hero{text-align:center;padding:3rem 1rem 2rem;background:linear-gradient(180deg,#e3f5f5,var(--bg));border-radius:16px}
.hero h1{font-size:2.4rem;line-height:1.15;margin:.2em 0;color:var(--navy)}.hero h1 span{color:var(--teal-d)}.hero p{font-size:1.15rem;color:var(--slate)}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.grid3 .card{border-top:4px solid var(--teal)}.grid3 .card:nth-child(2){border-top-color:var(--slate)}.grid3 .card:nth-child(3){border-top-color:var(--coral)}
.row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}input[readonly]{width:100%}
