
:root{
 --azul:#07529c;--azul2:#087fc4;--verde:#72b52a;--laranja:#f47a00;
 --laranja2:#ee5300;--texto:#173a59;--muted:#65798a;--bg:#f7fafc;--white:#fff;
 --border:#dfe8ee;--shadow:0 18px 50px rgba(20,58,89,.10)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--texto);background:var(--bg);line-height:1.55}
a{color:inherit;text-decoration:none}.container{width:min(1160px,calc(100% - 40px));margin:auto}
.topline{height:6px;background:linear-gradient(90deg,var(--azul),var(--azul2),var(--verde),#f6a000,var(--laranja2))}
.site-header{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}
.nav{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.logo img{width:245px;display:block}.menu{display:flex;align-items:center;gap:26px;font-weight:700;font-size:15px}
.menu a:hover,.menu a.active{color:var(--azul)}.student{background:var(--azul);color:#fff!important;padding:11px 17px;border-radius:10px}
.mobile-btn{display:none;background:none;border:0;font-size:27px;color:var(--azul)}
.hero{padding:85px 0 75px;background:radial-gradient(circle at 90% 15%,rgba(244,122,0,.09),transparent 26%),radial-gradient(circle at 7% 30%,rgba(8,127,196,.09),transparent 25%),#fff}
.eyebrow{font-size:13px;font-weight:800;letter-spacing:.12em;color:var(--azul);text-transform:uppercase}
h1{font-size:clamp(42px,6vw,72px);line-height:1.02;letter-spacing:-2.4px;margin:15px 0 22px;max-width:900px}
h1 span,.blue{color:var(--azul)}.lead{font-size:21px;color:var(--muted);max-width:820px;margin:0 0 30px}
.actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-block;padding:13px 19px;border-radius:10px;font-weight:800;border:1px solid var(--azul)}
.btn.primary{background:var(--azul);color:#fff}.btn.light{background:#fff;color:var(--azul)}
.section{padding:72px 0}.section.white{background:#fff}.section-title{font-size:36px;line-height:1.1;margin:7px 0 14px}
.section-intro{max-width:780px;color:var(--muted);font-size:18px;margin-bottom:35px}
.grid3,.grid4{display:grid;gap:20px}.grid3{grid-template-columns:repeat(3,1fr)}.grid4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--border);border-radius:17px;padding:27px;box-shadow:0 7px 25px rgba(20,58,89,.05)}
.card h3{margin:8px 0 10px;font-size:21px}.card p{color:var(--muted);margin:0}
.icon{font-size:28px}.service-time{display:inline-block;color:var(--laranja2);font-weight:800;margin-bottom:7px}
.band{background:linear-gradient(125deg,var(--azul),#063c76);color:#fff;padding:60px 0}.band p{color:#dceaf5;max-width:780px;font-size:18px}
.team-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.person{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden}.person-photo{aspect-ratio:1/1;background:linear-gradient(135deg,#eaf4fa,#f7fafc);display:grid;place-items:center;color:#8aa2b5;font-size:42px}
.person-body{padding:18px}.person h3{font-size:17px;margin:0 0 4px}.person small{color:var(--muted)}
.page-head{padding:60px 0 48px;background:#fff;border-bottom:1px solid var(--border)}.page-head h1{font-size:48px;margin-bottom:15px}
.prose{max-width:900px;font-size:18px;color:#435f75}.prose h2{color:var(--azul);margin-top:36px}
.filters{display:flex;flex-wrap:wrap;gap:9px;margin:25px 0}.filter{border:1px solid var(--border);background:#fff;border-radius:30px;padding:8px 13px;font-weight:700;font-size:13px}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px}
form{background:#fff;border:1px solid var(--border);border-radius:17px;padding:28px;box-shadow:var(--shadow)}
label{display:block;font-weight:700;margin:0 0 6px}.field{margin-bottom:16px}
input,select,textarea{width:100%;border:1px solid #ccd9e2;border-radius:9px;padding:12px 13px;font:inherit;background:#fff;color:var(--texto)}
textarea{min-height:140px;resize:vertical}.notice{padding:13px 15px;border-radius:9px;margin-bottom:18px}.success{background:#eaf7ed;color:#226333}.error{background:#fff0ed;color:#8d3328}
.login-box{max-width:500px;margin:70px auto;background:#fff;border:1px solid var(--border);border-radius:18px;padding:32px;box-shadow:var(--shadow)}
footer{background:#102c43;color:#cbd9e3;padding:45px 0 25px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:30px}.footer-logo{width:230px;filter:brightness(0) invert(1);opacity:.95}.copyright{border-top:1px solid #29465c;margin-top:30px;padding-top:20px;font-size:13px;color:#93a9b9}
@media(max-width:850px){.mobile-btn{display:block}.menu{display:none;position:absolute;top:88px;left:0;right:0;background:#fff;padding:20px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--border)}.menu.open{display:flex}.grid3,.grid4,.team-preview,.contact-grid,.footer-grid{grid-template-columns:1fr 1fr}.logo img{width:205px}}
@media(max-width:560px){.container{width:min(100% - 28px,1160px)}.grid3,.grid4,.team-preview,.contact-grid,.footer-grid{grid-template-columns:1fr}.hero{padding:55px 0}.section{padding:55px 0}h1{letter-spacing:-1.4px}.page-head h1{font-size:40px}}

.admin-shell{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 94px)}
.admin-side{background:#102c43;color:#d8e5ed;padding:28px 18px}.admin-side h3{color:#fff;margin-top:0}
.admin-side a{display:block;padding:10px 12px;border-radius:8px;margin:3px 0}.admin-side a:hover{background:#1c425f;color:#fff}
.admin-main{padding:35px}.admin-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px}
.table-wrap{overflow:auto;background:#fff;border:1px solid var(--border);border-radius:14px}
table{border-collapse:collapse;width:100%;min-width:700px}th,td{text-align:left;padding:13px 15px;border-bottom:1px solid #e7eef3;font-size:14px}th{background:#f5f9fb;color:#456175}
.pill{display:inline-block;padding:4px 8px;border-radius:20px;background:#eaf4fa;color:var(--azul);font-size:12px;font-weight:800}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:25px}.stat strong{display:block;font-size:30px;color:var(--azul)}
.inline-actions{display:flex;gap:7px;flex-wrap:wrap}.smallbtn{border:1px solid #ccd9e2;background:#fff;padding:6px 9px;border-radius:7px;cursor:pointer}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.span2{grid-column:1/-1}
@media(max-width:850px){.admin-shell{grid-template-columns:1fr}.admin-side{display:none}.admin-main{padding:22px 14px}.stat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.stat-grid,.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}}
