:root { --navy:#0f2a4d; --navy2:#163c6b; --blue:#2f6fb7; --light:#eef3f9; --line:#d5e0ee; --text:#1c2733; }
* { box-sizing:border-box; margin:0; padding:0; }
body { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; color:var(--text); background:var(--light); line-height:1.55; }
.wrap { max-width:760px; margin:0 auto; padding:0 18px 60px; }
header.site { background:var(--navy); color:#fff; padding:34px 18px 30px; text-align:center; }
header.site h1 { font-size:30px; letter-spacing:.5px; }
header.site p { color:#bcd2ea; margin-top:6px; font-size:15px; }
nav.site { background:var(--navy2); text-align:center; padding:10px 18px; }
nav.site a { color:#cfe1f5; text-decoration:none; margin:0 12px; font-size:15px; }
nav.site a:hover { color:#fff; text-decoration:underline; }
.card { background:#fff; border:1px solid var(--line); border-radius:12px; padding:22px; margin-top:22px; }
.card h2 { color:var(--navy); font-size:21px; margin-bottom:12px; }
.banner { background:#fff7e0; border:1px solid #eedda0; border-radius:12px; padding:14px 18px; margin-top:22px; font-size:15px; }
table.hours { width:100%; border-collapse:collapse; font-size:16px; }
table.hours td { padding:8px 4px; border-bottom:1px solid var(--line); }
table.hours tr:last-child td { border-bottom:none; }
table.hours td.d { font-weight:600; width:40%; }
.btn { display:inline-block; background:var(--blue); color:#fff; text-decoration:none; padding:12px 20px; border-radius:9px; font-size:16px; margin-top:6px; border:none; cursor:pointer; }
.btn:hover { background:#265d99; }
.btn.plain { background:#fff; color:var(--navy); border:1px solid var(--line); }
a.tel { color:var(--navy); font-weight:600; }
footer.site { text-align:center; color:#5d7186; font-size:13px; margin-top:34px; }
footer.site a { color:#5d7186; }
h3 { color:var(--navy); margin:18px 0 8px; font-size:17px; }
p + p { margin-top:10px; }
ul.tight { margin:10px 0 0 20px; }
ul.tight li { margin-bottom:6px; }
label.f { display:block; font-size:14px; font-weight:600; margin:14px 0 4px; color:var(--navy); }
input[type=text], input[type=password] { width:100%; padding:10px 12px; font-size:16px; border:1px solid var(--line); border-radius:8px; }
.hrow { display:flex; align-items:center; gap:8px; margin-top:8px; }
.hrow .d { width:92px; font-weight:600; font-size:15px; }
.hrow input { flex:1; padding:8px 10px; font-size:15px; border:1px solid var(--line); border-radius:8px; }
.hrow label { font-size:14px; color:#44586c; display:flex; align-items:center; gap:4px; }
.msg { margin-top:14px; padding:12px 14px; border-radius:8px; font-size:15px; display:none; }
.msg.ok { display:block; background:#e5f6e9; border:1px solid #b6e3c0; }
.msg.err { display:block; background:#fdeaea; border:1px solid #f2c0c0; }
.small { font-size:13px; color:#5d7186; margin-top:8px; }
