*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'DM Sans',-apple-system,sans-serif;color:#1a2a3a;background:#f8fafc;line-height:1.6}
.container{max-width:1160px;margin:0 auto;padding:0 24px}
a{text-decoration:none;color:inherit}
header{background:linear-gradient(135deg,#0a3183 0%,#003f6b 60%,#001a3d 100%);color:#fff;padding:140px 0 60px;text-align:center}
header h1{font-family:'Montserrat',sans-serif;font-size:2.4rem;margin-bottom:12px}
header p{color:rgba(255,255,255,.75);font-size:1rem}
.breadcrumb{margin-top:20px;font-size:.9rem}
.breadcrumb a{color:#cad2e4;text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}
.breadcrumb span{color:rgba(255,255,255,.5);margin:0 8px}
main{padding:60px 0 100px}
.appointment-wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:start}
.appointment-info{background:#fff;border-radius:16px;padding:36px;box-shadow:0 4px 24px rgba(10,49,131,.08);border:1px solid #e2e8f0}
.appointment-info h2{font-family:'Montserrat',sans-serif;color:#0a3183;font-size:1.4rem;margin-bottom:16px}
.appointment-info p{color:#5a6a7a;font-size:.95rem;line-height:1.7;margin-bottom:20px}
.appointment-features{display:flex;flex-direction:column;gap:14px}
.appointment-features li{display:flex;align-items:center;gap:12px;font-size:.9rem;color:#1a2a3a}
.appointment-features li i{width:24px;height:24px;border-radius:50%;background:rgba(10,49,131,.1);color:#0a3183;font-size:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.appointment-form{background:#fff;border-radius:16px;padding:36px;box-shadow:0 4px 24px rgba(10,49,131,.08);border:1px solid #e2e8f0}
.appointment-form h2{font-family:'Montserrat',sans-serif;color:#0a3183;font-size:1.4rem;margin-bottom:24px}
.form-group{margin-bottom:18px}
.form-group label{display:block;font-size:.88rem;font-weight:600;color:#1a2a3a;margin-bottom:6px}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:10px;font-size:.95rem;font-family:'DM Sans',sans-serif;color:#1a2a3a;background:#fff;transition:.3s ease;outline:none}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#0a3183;box-shadow:0 0 0 3px rgba(10,49,131,.08)}
.form-group textarea{resize:vertical;min-height:80px}
.time-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.time-slot{padding:10px;border:2px solid #e2e8f0;border-radius:8px;text-align:center;font-size:.85rem;font-weight:500;cursor:pointer;transition:.3s ease;background:#fff}
.time-slot:hover{border-color:#0a3183;background:rgba(10,49,131,.04)}
.time-slot.selected{background:#0a3183;color:#fff;border-color:#0a3183}
.form-submit{width:100%;padding:15px;background:#0a3183;color:#fff;border:none;border-radius:50px;font-size:1rem;font-weight:700;font-family:'Montserrat',sans-serif;cursor:pointer;transition:.3s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px}
.form-submit:hover{background:#1c408c;transform:translateY(-2px);box-shadow:0 8px 24px rgba(10,49,131,.3)}
.form-note{text-align:center;font-size:.82rem;color:#5a6a7a;margin-top:12px}.form-status{margin:14px 0;padding:12px 14px;border-radius:10px;font-size:.88rem;line-height:1.5}.form-status.success{background:#ecfdf5;color:#166534;border:1px solid #86efac}.form-status.error{background:#fef2f2;color:#991b1b;border:1px solid #fca5a5}.form-status a{display:inline-block;margin-top:6px;color:#0a3183;text-decoration:underline;font-weight:700}.consent-group{display:flex;align-items:flex-start;gap:10px;margin:16px 0 4px;font-size:.82rem;color:#5a6a7a;line-height:1.5}.consent-group input{width:18px;height:18px;margin-top:2px;flex:0 0 auto;accent-color:#0a3183}.consent-group a{color:#0a3183;text-decoration:underline}.consent-group label{cursor:pointer}
.back-link{display:inline-flex;align-items:center;gap:8px;margin-bottom:24px;color:#0a3183;text-decoration:none;font-weight:600}
.back-link:hover{color:#1c408c}
footer{background:#003f6b;color:#fff;padding:40px 0;text-align:center}
footer a{color:#fff;text-decoration:none;font-weight:500}
footer a:hover{text-decoration:underline}
@media(max-width:968px){.appointment-wrap{grid-template-columns:1fr}}
@media(max-width:640px){header{padding:110px 0 40px}header h1{font-size:1.8rem}.time-slots{grid-template-columns:repeat(2,1fr)}.form-group input,.form-group select,.form-group textarea{font-size:1rem}}
