:root{--blue:#1a3a8f;--gold:#d4a017;--bg:#f7f8fb;--text:#1c1c28;}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Segoe UI',Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;}
header{background:linear-gradient(135deg,var(--blue),#0d1f4d);color:#fff;padding:60px 20px;text-align:center;}
header h1{font-size:2.4rem;margin-bottom:10px;}
header p{font-size:1.1rem;opacity:.9;max-width:640px;margin:0 auto;}
nav{background:#0d1f4d;display:flex;justify-content:center;gap:30px;padding:14px;flex-wrap:wrap;}
nav a{color:#fff;text-decoration:none;font-weight:600;letter-spacing:.5px;}
nav a:hover{color:var(--gold);}
.btn{display:inline-block;margin-top:20px;background:var(--gold);color:#1c1c28;padding:12px 28px;border-radius:30px;text-decoration:none;font-weight:700;}
.btn:hover{opacity:.9;}
section{max-width:1000px;margin:0 auto;padding:60px 20px;}
section h2{font-size:1.8rem;color:var(--blue);margin-bottom:10px;text-align:center;}
section .subtitle{text-align:center;color:#555;margin-bottom:36px;}
.catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;}
.card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 10px rgba(0,0,0,.06);border-left:4px solid var(--gold);}
.card h3{font-size:1.05rem;color:var(--blue);margin-bottom:8px;}
.card a{color:var(--blue);font-weight:600;text-decoration:none;font-size:.92rem;}
.card a:hover{text-decoration:underline;}
.category-label{grid-column:1/-1;font-weight:700;color:var(--gold);text-transform:uppercase;font-size:.85rem;letter-spacing:1px;margin-top:20px;}
#contact{background:#fff;}
form{max-width:520px;margin:0 auto;display:flex;flex-direction:column;gap:14px;}
input,textarea{padding:12px;border:1px solid #ccc;border-radius:6px;font-size:1rem;font-family:inherit;}
textarea{min-height:120px;resize:vertical;}
button{background:var(--blue);color:#fff;border:none;padding:14px;border-radius:6px;font-size:1rem;font-weight:700;cursor:pointer;}
button:hover{background:#132a68;}
.alert{max-width:520px;margin:0 auto 20px;padding:12px 16px;border-radius:6px;text-align:center;font-weight:600;}
.alert.success{background:#d9f2df;color:#166a34;}
.alert.error{background:#fbdada;color:#8a1f1f;}
footer{text-align:center;padding:30px 20px;color:#777;font-size:.9rem;}
footer a{color:var(--blue);}
@media(max-width:600px){header h1{font-size:1.8rem;}}
#coaching{background:#eef1fb;}
