:root{
--blue:#0bb8ee;
--royal:#1165ef;
--purple:#8a16d6;
--red:#df0606;
--navy:#03123d;
--ink:#111827;
--muted:#667085;
--soft:#f5f8ff;
--white:#fff;
--shadow:0 24px 70px rgba(3,18,61,.15)}
*{
box-sizing:border-box}
html{
scroll-behavior:smooth}
body{
margin:0;
font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;
color:var(--ink);
background:linear-gradient(180deg,#fff 0%,#f8fbff 55%,#fff 100%)}
a{
color:inherit;
text-decoration:none}
img{
max-width:100%;
display:block}
.container{
width:min(1180px,92%);
margin:auto}
.site-header{
position:sticky;
top:0;
z-index:10;
background:rgba(255,255,255,.86);
backdrop-filter:blur(18px);
border-bottom:1px solid rgba(17,101,239,.09)}
.nav{
height:82px;
display:flex;
align-items:center;
justify-content:space-between}
.brand{
display:flex;
align-items:center;
gap:.8rem;
font-weight:800;
color:var(--navy)}
.brand small{
display:block;
color:var(--purple);
letter-spacing:.2em;
text-transform:uppercase}
.brand-mark{
display:flex;
align-items:center;
height:56px}
.brand-mark img{
height:100%;
width:auto;
object-fit:contain}
.nav-links{
display:flex;
align-items:center;
gap:1.6rem;
font-weight:700;
color:#26314f}
.nav-toggle{
display:none}
.btn{
display:inline-flex;
align-items:center;
justify-content:center;
border:0;
border-radius:999px;
padding:1rem 1.45rem;
background:linear-gradient(135deg,var(--royal),var(--purple));
color:white;
font-weight:800;
box-shadow:0 14px 30px rgba(17,101,239,.26);
cursor:pointer}
.btn-small{
padding:.72rem 1rem}
.btn-ghost{
background:white;
color:var(--royal);
box-shadow:inset 0 0 0 1px rgba(17,101,239,.18)}
.hero{
position:relative;
overflow:hidden;
padding:92px 0 70px}
.hero:before{
content:"";
position:absolute;
inset:-20% -10% auto auto;
width:58vw;
height:58vw;
background:radial-gradient(circle,var(--blue),transparent 62%);
opacity:.18}
.hero-grid{
display:grid;
grid-template-columns:1.02fr .98fr;
align-items:center;
gap:4rem}
.eyebrow{
text-transform:uppercase;
letter-spacing:.16em;
color:var(--red);
font-weight:900;
font-size:.78rem}
.hero h1,.section h2{
margin:.2rem 0 1rem;
color:var(--navy);
line-height:1.02;
letter-spacing:-.05em}
.hero h1{
font-size:clamp(3rem,7vw,6.6rem)}
.section h2{
font-size:clamp(2.1rem,4vw,3.8rem)}
.hero-text{
font-size:1.25rem;
line-height:1.75;
color:var(--muted);
max-width:660px}
.search-card{
display:flex;
margin:2rem 0 1.2rem;
padding:.5rem;
background:white;
border-radius:999px;
box-shadow:var(--shadow);
border:1px solid rgba(17,101,239,.08)}
.search-card input{
flex:1;
border:0;
outline:0;
padding:0 1rem;
font-size:1rem}
.search-card button{
border:0;
border-radius:999px;
background:var(--red);
color:white;
padding:1rem 1.5rem;
font-weight:900}
.hero-actions{
display:flex;
gap:1rem;
flex-wrap:wrap}
.stats{
display:flex;
gap:1rem;
flex-wrap:wrap;
margin-top:1.8rem}
.stats span{
padding:1rem;
background:#fff;
border-radius:18px;
box-shadow:0 10px 30px rgba(3,18,61,.08);
color:var(--muted)}
.stats strong{
display:block;
color:var(--navy);
font-size:1.35rem}
.hero-media{
position:relative}
.hero-media img{
height:620px;
width:100%;
object-fit:cover;
border-radius:44px;
box-shadow:var(--shadow)}
.hero-media:after{
content:"";
position:absolute;
inset:22px;
border:2px solid rgba(255,255,255,.65);
border-radius:34px}
.floating-card{
position:absolute;
z-index:2;
background:rgba(255,255,255,.92);
backdrop-filter:blur(16px);
border-radius:22px;
padding:1rem 1.2rem;
box-shadow:0 18px 50px rgba(3,18,61,.18);
font-weight:800;
color:var(--navy)}
.floating-card.top{
top:34px;
left:-24px}
.floating-card.bottom{
right:-20px;
bottom:44px;
color:var(--purple)}
.program-strip{
padding:22px 0;
background:var(--navy);
color:white}
.strip-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:1rem}
.strip-grid a{
text-align:center;
padding:1rem;
border-radius:16px;
background:rgba(255,255,255,.08);
font-weight:800}
.section{
padding:90px 0}
.section-heading{
max-width:760px;
margin-bottom:2.4rem}
.cards{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:1.4rem}
.card{
background:white;
border-radius:30px;
padding:1.15rem;
box-shadow:0 18px 60px rgba(3,18,61,.09);
border:1px solid rgba(17,101,239,.08)}
.feature-card img{
height:230px;
width:100%;
object-fit:cover;
border-radius:22px}
.card h3{
font-size:1.45rem;
color:var(--navy)}
.card p,.split p,.cta-panel p,.contact-card p,.footer p{
color:var(--muted);
line-height:1.7}
.card ul{
padding-left:1.1rem;
color:#3b4666;
line-height:1.9}
.alt-section{
background:linear-gradient(135deg,var(--navy),#17205a);
color:white}
.alt-section h2,.alt-section .mentor-grid strong{
color:white}
.split{
display:grid;
grid-template-columns:1fr .9fr;
gap:3rem;
align-items:center}
.mentor-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:1rem;
margin-top:2rem}
.mentor-grid div{
background:rgba(255,255,255,.1);
padding:1.2rem;
border-radius:20px}
.mentor-grid strong{
font-size:2rem;
display:block}
.mentor-grid span{
color:#cfd7ff}
.mentor-stack{
display:grid;
gap:1rem}
.mentor-stack article{
display:grid;
grid-template-columns:auto 1fr;
gap:.3rem 1rem;
align-items:center;
background:white;
color:var(--navy);
padding:1.3rem;
border-radius:24px;
box-shadow:var(--shadow)}
.mentor-stack span{
grid-row:span 2;
font-size:2rem}
.mentor-stack small{
color:var(--muted)}
.cta-panel,.contact-card{
display:grid;
grid-template-columns:1fr auto;
gap:2rem;
align-items:center;
background:linear-gradient(135deg,#eef8ff,#f7efff);
border-radius:36px;
padding:3rem;
box-shadow:0 18px 60px rgba(3,18,61,.08)}
.contact-card{
grid-template-columns:.8fr 1fr;
background:white}
.lead-form{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:1rem}
.lead-form input,.lead-form select{
width:100%;
border:1px solid #dbe4ff;
border-radius:16px;
padding:1rem;
font:inherit}
.lead-form button{
grid-column:1/-1}
.footer{
background:#020a24;
color:white;
padding:46px 0}
.footer-grid{
display:grid;
grid-template-columns:2fr 1fr 1fr;
gap:2rem}
.footer a{
display:block;
color:#cfd7ff;
margin-top:.65rem}
@media(max-width:860px){
.nav-toggle{
display:block;
border:0;
background:var(--navy);
color:white;
border-radius:12px;
padding:.7rem}
.nav-links{
position:absolute;
left:4%;
right:4%;
top:82px;
display:none;
flex-direction:column;
align-items:flex-start;
background:white;
padding:1.2rem;
border-radius:20px;
box-shadow:var(--shadow)}
.nav-links.open{
display:flex}
.hero-grid,.split,.cta-panel,.contact-card,.footer-grid{
grid-template-columns:1fr}
.hero{
padding-top:54px}
.hero-media img{
height:420px}
.cards,.strip-grid,.mentor-grid,.lead-form{
grid-template-columns:1fr}
.search-card{
border-radius:24px;
display:grid}
.search-card button{
margin-top:.5rem}
.floating-card{
position:static;
margin-top:1rem}
.hero-media:after{
display:none}
}
.tag{
  display:inline-flex;
  margin-top:1rem;
  padding:.35rem .7rem;
  border-radius:999px;
  background:rgba(17,101,239,.1);
  color:var(--royal);
  font-weight:800;
  font-size:.8rem;
}
.testimonial-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1.3rem;
}
.testimonial{
  background:white;
  border-radius:28px;
  padding:1.4rem;
  box-shadow:0 18px 60px rgba(3,18,61,.09);
}
.testimonial img{
  width:70px;
  height:70px;
  object-fit:cover;
  border-radius:50%;
}
.testimonial p{
  color:var(--muted);
  line-height:1.7;
}
.testimonial small{
  display:block;
  color:var(--purple);
  font-weight:800;
  margin-top:.3rem;
}
.notice{
  border-radius:16px;
  padding:1rem;
  font-weight:800;
}
.notice.success{
  background:#e9fbf0;
  color:#087a38;
}
.notice.error{
  background:#fff0f0;
  color:#b00020;
}
.lead-form textarea,
.admin-form textarea{
  min-height:110px;
  resize:vertical;
}
.lead-form textarea{
  grid-column:1/-1;
  width:100%;
  border:1px solid #dbe4ff;
  border-radius:16px;
  padding:1rem;
  font:inherit;
}
.admin-body{
  background:#f4f6fb;
  min-height:100vh;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;
}
.admin-login{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:2rem;
  background:radial-gradient(circle at top left,#eef3ff,#f4f6fb 60%);
}
.admin-card,
.admin-panel{
  background:white;
  border-radius:18px;
  padding:1.75rem;
  border:1px solid #e9edf6;
  box-shadow:0 1px 2px rgba(16,24,40,.04);
}
.admin-card{
  width:min(440px,100%);
  display:grid;
  gap:1rem;
  border-radius:22px;
  box-shadow:0 18px 60px rgba(3,18,61,.1);
}
.admin-card input,
.admin-form input,
.admin-form textarea,
.admin-form select,
.admin-panel select,
.filter-bar input,
.filter-bar select{
  width:100%;
  border:1px solid #dbe1ee;
  border-radius:10px;
  padding:.7rem .85rem;
  font:inherit;
  color:var(--ink);
  background:#fff;
  transition:border-color .15s,box-shadow .15s;
}
.admin-card input:focus,
.admin-form input:focus,
.admin-form textarea:focus,
.admin-form select:focus,
.filter-bar input:focus,
.filter-bar select:focus{
  outline:none;
  border-color:var(--royal);
  box-shadow:0 0 0 3px rgba(17,101,239,.14);
}
.admin-shell{
  display:grid;
  grid-template-columns:264px 1fr;
  min-height:100vh;
}
.admin-sidebar{
  background:var(--navy);
  color:white;
  padding:1.5rem 1.1rem;
  display:flex;
  flex-direction:column;
  gap:1.4rem;
  position:sticky;
  top:0;
  height:100vh;
}
.admin-nav{
  display:flex;
  flex-direction:column;
  gap:.25rem;
  flex:1;
}
.admin-sidebar a{
  color:#c3cef0;
  padding:.7rem .9rem;
  border-radius:11px;
  font-weight:600;
  font-size:.94rem;
  display:flex;
  align-items:center;
  gap:.7rem;
  transition:background .15s,color .15s;
}
.nav-icon{
  font-size:1.05rem;
  width:1.4rem;
  text-align:center;
}
.admin-sidebar a.active,
.admin-sidebar a:hover{
  background:rgba(255,255,255,.1);
  color:white;
}
.admin-sidebar a.active{
  background:linear-gradient(135deg,var(--royal),var(--purple));
  box-shadow:0 8px 20px rgba(17,101,239,.35);
}
.admin-sidebar-foot{
  border-top:1px solid rgba(255,255,255,.12);
  padding-top:1rem;
  display:flex;
  flex-direction:column;
  gap:.6rem;
}
.admin-user{
  display:flex;
  align-items:center;
  gap:.7rem;
  padding:.4rem .3rem;
}
.admin-user .avatar{
  width:36px;
  height:36px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--royal),var(--purple));
  display:grid;
  place-items:center;
  font-weight:800;
  color:#fff;
  flex-shrink:0;
}
.admin-user strong{
  display:block;
  color:#fff;
  font-size:.86rem;
}
.admin-user small{
  color:#9fadd9;
  font-size:.76rem;
}
.admin-logout{
  color:#ffc9c9 !important;
  font-weight:700;
}
.admin-logout:hover{
  background:rgba(223,6,6,.16) !important;
  color:#ffdede !important;
}
.admin-main{
  padding:2rem 2.2rem 3rem;
  overflow:auto;
}
.admin-topbar{
  margin-bottom:1.5rem;
}
.admin-topbar h1{
  margin:0;
  font-size:1.65rem;
  color:var(--navy);
}
.admin-topbar p{
  margin:.3rem 0 0;
  color:var(--muted);
}
.admin-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  margin:1.5rem 0;
}
.admin-stats article{
  background:white;
  border-radius:16px;
  padding:1.4rem 1.5rem;
  border:1px solid #e9edf6;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.admin-stats strong{
  display:block;
  color:var(--navy);
  font-size:2.2rem;
  line-height:1;
}
.admin-stats span{
  color:var(--muted);
  font-weight:600;
  font-size:.9rem;
}
.admin-panel{
  margin-bottom:1.5rem;
}
.admin-panel-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1.2rem;
}
.admin-panel-head h2{
  margin:0;
  font-size:1.15rem;
  color:var(--navy);
}
.admin-panel-head small{
  color:var(--muted);
}
.admin-form{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem 1.2rem;
}
.admin-form .field-wide,
.admin-form .field-actions{
  grid-column:1/-1;
}
.admin-form label.field{
  display:flex;
  flex-direction:column;
  gap:.35rem;
  font-size:.82rem;
  font-weight:700;
  color:#3a4a6b;
}
.admin-form label.field-checkbox{
  flex-direction:row;
  align-items:center;
  gap:.55rem;
  font-weight:700;
  color:var(--navy);
}
.admin-form .field-checkbox input{
  width:auto;
}
.admin-form fieldset{
  grid-column:1/-1;
  border:0;
  padding:0;
  margin:0;
}
.admin-form legend{
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--royal);
  margin:.4rem 0 .8rem;
  padding:0;
}
.field-actions{
  display:flex;
  align-items:center;
  gap:.9rem;
  border-top:1px solid #eef1f8;
  padding-top:1.1rem;
  margin-top:.2rem;
}
.btn-ghost-link{
  color:var(--royal);
  font-weight:700;
  font-size:.88rem;
}
.btn-ghost-link:hover{
  text-decoration:underline;
}
.field-actions .btn-ghost-link{
  color:var(--muted);
  font-weight:700;
}
.filter-bar{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  align-items:center;
  margin-bottom:1.2rem;
  padding:.9rem;
  background:#f7f9fd;
  border:1px solid #eef1f8;
  border-radius:12px;
}
.filter-bar input,
.filter-bar select{
  width:auto;
  min-width:160px;
}
.filter-bar input[type="search"],
.filter-bar .filter-search{
  flex:1 1 220px;
  min-width:200px;
}
.filter-bar .btn-filter{
  background:var(--royal);
  color:#fff;
  border:0;
  border-radius:10px;
  padding:.7rem 1.1rem;
  font-weight:700;
  cursor:pointer;
}
.filter-bar .btn-reset{
  color:var(--muted);
  font-weight:700;
  padding:.7rem .4rem;
}
.table-wrap{
  overflow-x:auto;
  border:1px solid #eef1f8;
  border-radius:12px;
}
table{
  width:100%;
  border-collapse:collapse;
  font-size:.92rem;
}
thead th{
  text-align:left;
  background:#f7f9fd;
  color:#5a6685;
  font-size:.74rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  padding:.8rem .9rem;
  border-bottom:1px solid #eef1f8;
  white-space:nowrap;
}
td{
  text-align:left;
  border-bottom:1px solid #f1f3fa;
  padding:.75rem .9rem;
  vertical-align:middle;
  color:#33405f;
}
tbody tr:hover{
  background:#fafbff;
}
tbody tr:last-child td{
  border-bottom:0;
}
.thumb{
  width:52px;
  height:52px;
  object-fit:cover;
  border-radius:10px;
  border:1px solid #eef1f8;
}
.badge{
  display:inline-flex;
  align-items:center;
  padding:.28rem .7rem;
  border-radius:999px;
  font-size:.74rem;
  font-weight:800;
}
select.badge{
  border:0;
  cursor:pointer;
  width:auto;
  padding:.3rem 1.6rem .3rem .7rem;
}
.badge-active{
  background:#e7fbee;
  color:#0a8a3c;
}
.badge-inactive{
  background:#f1f3f9;
  color:#68738f;
}
.row-actions{
  display:flex;
  align-items:center;
  gap:.5rem;
  white-space:nowrap;
}
.row-actions a{
  font-weight:700;
  color:var(--royal);
}
.inline-form{
  display:inline-block;
}
.inline-form button{
  border:0;
  background:#fff0f0;
  color:#b00020;
  border-radius:8px;
  padding:.4rem .65rem;
  font-weight:700;
  font-size:.82rem;
  cursor:pointer;
}
.inline-form button:hover{
  background:#ffdede;
}
.table-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  margin-top:1rem;
}
.result-summary{
  color:var(--muted);
  font-size:.86rem;
}
.pagination{
  display:flex;
  align-items:center;
  gap:.3rem;
  flex-wrap:wrap;
}
.page-btn{
  min-width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 .6rem;
  border-radius:8px;
  border:1px solid #e2e7f3;
  color:#3a4a6b;
  font-weight:700;
  font-size:.84rem;
}
.page-btn:hover{
  border-color:var(--royal);
  color:var(--royal);
}
.page-btn.active{
  background:var(--royal);
  border-color:var(--royal);
  color:#fff;
}
.page-btn.disabled{
  opacity:.4;
  pointer-events:none;
}
.page-ellipsis{
  color:var(--muted);
  padding:0 .2rem;
}
.footer span{
  display:block;
  color:#cfd7ff;
  margin-top:.65rem;
}
.footer-logo{
  height:36px;
  width:auto;
  display:block;
}
.footer-logo-badge{
  display:inline-flex;
  align-items:center;
  background:#fff;
  border-radius:14px;
  padding:.6rem .9rem;
  margin-bottom:1rem;
}
.admin-brand{
  display:inline-flex;
  align-items:center;
  background:#fff;
  border-radius:12px;
  padding:.5rem .8rem;
  margin-bottom:.4rem;
}
.admin-brand img{
  height:30px;
  width:auto;
  display:block;
}
.admin-login-logo{
  height:52px;
  width:auto;
  margin:0 auto;
}
@media(max-width:860px){
  .testimonial-grid,
  .admin-shell,
  .admin-stats{
    grid-template-columns:1fr;
  }
  .admin-sidebar{
    position:static;
    height:auto;
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center;
  }
  .admin-nav{
    flex-direction:row;
    flex-wrap:wrap;
  }
  .admin-sidebar-foot{
    border-top:0;
    flex-direction:row;
    margin-left:auto;
  }
  .admin-main{
    padding:1rem;
  }
  .admin-form{
    grid-template-columns:1fr;
  }
  table{
    font-size:.88rem;
  }
}

/* Edumilestones-inspired home page */
.edumi-header .nav{
  height:78px;
}
.edumi-header .brand strong{
  color:#24407f;
  font-size:1.25rem;
}
.login-pill{
  padding:.78rem 1.4rem;
  border:1px solid #dce3f2;
  border-radius:999px;
  color:#25314a;
  background:#fff;
}
.edumi-hero{
  position:relative;
  overflow:hidden;
  padding:34px 0 46px;
  background:linear-gradient(180deg,#f8fbff 0%,#fff 68%);
  text-align:center;
}
.edumi-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 18% 10%,rgba(36,64,127,.1),transparent 24%),radial-gradient(circle at 78% 20%,rgba(17,101,239,.12),transparent 28%);
  pointer-events:none;
}
.edumi-hero .container,
.counsellor-rail,
.home-tabs,
.home-card-panels{
  position:relative;
  z-index:1;
}
.edumi-hero h1{
  margin:0;
  color:#101828;
  font-size:clamp(2.5rem,5vw,4.6rem);
  line-height:1.05;
  font-weight:900;
  letter-spacing:-.05em;
}
.edumi-hero h1 span{
  color:#3155a6;
  border-right:7px solid #3155a6;
  padding-right:.25rem;
}
.edumi-subtitle{
  margin:.8rem 0 1.4rem;
  color:#667085;
  font-size:1.22rem;
  font-weight:600;
}
.location-search{
  width:min(770px,92%);
  margin:0 auto 1.6rem;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:.9rem;
  background:#fff;
  border-radius:999px;
  padding:.42rem .55rem .42rem 1.35rem;
  box-shadow:0 18px 44px rgba(36,64,127,.22);
  border:1px solid rgba(49,85,166,.08);
}
.location-search span{
  color:#98a2b3;
  font-size:1.4rem;
}
.location-search input{
  border:0;
  outline:0;
  font:inherit;
  font-size:1.12rem;
  min-width:0;
}
.location-search button{
  border:0;
  border-radius:999px;
  padding:1rem 1.65rem;
  color:#fff;
  background:#254b9b;
  font-weight:900;
  cursor:pointer;
}
.popular-cities{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:.65rem;
  color:#8a94a6;
  font-size:.9rem;
}
.popular-cities strong{
  color:#98a2b3;
  letter-spacing:.03em;
}
.popular-cities a{
  min-width:110px;
  padding:.48rem .9rem;
  border:1px solid #e2e8f0;
  border-radius:999px;
  background:#fff;
  color:#526073;
  box-shadow:0 6px 16px rgba(16,24,40,.06);
}
.edumi-hero-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  align-items:center;
  gap:2.5rem;
  text-align:left;
}
.edumi-hero-text .location-search{
  width:100%;
  margin:0 0 1.6rem;
}
.edumi-hero-text .popular-cities{
  justify-content:flex-start;
}
.edumi-hero-media{
  display:flex;
  justify-content:center;
}
.edumi-hero-media img{
  width:100%;
  max-width:480px;
  height:auto;
  display:block;
}
.counsellor-rail-wrap{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:.6rem;
  margin:3.4rem 0 2rem;
  padding:.1rem 1rem;
}
.counsellor-rail{
  width:100%;
  display:flex;
  gap:2.6rem;
  padding:.1rem 1.6rem;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.counsellor-rail::-webkit-scrollbar{
  display:none;
}
.rail-nav{
  flex:0 0 auto;
  width:38px;
  height:38px;
  border-radius:50%;
  border:1px solid #e2e8f0;
  background:#fff;
  color:#254b9b;
  font-size:1.4rem;
  line-height:1;
  cursor:pointer;
  box-shadow:0 6px 16px rgba(16,24,40,.08);
}
.rail-nav:hover{
  background:#254b9b;
  color:#fff;
}
.mini-counsellor{
  min-width:220px;
  flex:0 0 auto;
  scroll-snap-align:start;
  display:grid;
  grid-template-columns:58px 1fr;
  gap:.8rem;
  align-items:center;
  text-align:left;
  position:relative;
}
.mini-counsellor img{
  width:58px;
  height:58px;
  border-radius:50%;
  object-fit:cover;
  box-shadow:0 8px 24px rgba(16,24,40,.12);
}
.online-dot{
  position:absolute;
  left:45px;
  bottom:6px;
  width:13px;
  height:13px;
  background:#20c86f;
  border:2px solid #fff;
  border-radius:50%;
}
.mini-counsellor strong{
  color:#202939;
  font-size:.98rem;
}
.mini-counsellor small{
  display:flex;
  gap:.45rem;
  align-items:center;
  margin-top:.3rem;
  color:#344054;
}
.mini-counsellor b{
  padding:.18rem .45rem;
  border-radius:6px;
  border:1px solid #e5e7eb;
  background:#fff;
  color:#3155a6;
  font-size:.78rem;
}
.home-tabs{
  width:min(1000px,92%);
  margin:0 auto 1.5rem;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:.2rem;
  padding:.45rem;
  background:#fff;
  border-radius:999px;
  box-shadow:0 16px 36px rgba(16,24,40,.12);
  border:1px solid #edf1f7;
}
.home-tabs button{
  border:0;
  border-radius:999px;
  padding:.95rem 1rem;
  background:transparent;
  color:#202939;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  cursor:pointer;
}
.home-tabs button.active{
  background:linear-gradient(135deg,#1f91d2,#315eea);
  color:#fff;
  box-shadow:0 10px 22px rgba(49,94,234,.24);
}
.home-card-grid{
  display:none;
  grid-template-columns:repeat(6,1fr);
  gap:1rem;
}
.home-card-grid.active{
  display:grid;
}
.home-program-card{
  position:relative;
  min-height:128px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:.55rem;
  padding:1.1rem .8rem;
  background:#fff;
  border:1px solid #e7ebf2;
  border-radius:16px;
  box-shadow:0 12px 28px rgba(16,24,40,.06);
}
.home-program-card small{
  position:absolute;
  top:.55rem;
  right:.6rem;
  padding:.2rem .48rem;
  color:#6677a0;
  background:#f8fbff;
  border:1px solid #edf1f7;
  border-radius:999px;
  font-size:.72rem;
  font-weight:800;
}
.home-program-card span{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:linear-gradient(135deg,#e8f5ff,#fff0f9);
  box-shadow:0 8px 20px rgba(49,85,166,.14);
  font-size:1.35rem;
}
.home-program-card h3{
  margin:0;
  color:#25314a;
  font-size:1rem;
  line-height:1.35;
}
@media(max-width:1060px){
  .home-card-grid{
    grid-template-columns:repeat(3,1fr);
  }
  .counsellor-rail{
    justify-content:flex-start;
    overflow-x:auto;
    gap:1.4rem;
  }
}
@media(max-width:600px){
  .rail-nav{
    display:none;
  }
  .counsellor-rail-wrap{
    padding:.1rem 0;
  }
}
@media(max-width:960px){
  .edumi-hero-grid{
    grid-template-columns:1fr;
    text-align:center;
    gap:1.5rem;
  }
  .edumi-hero-text .popular-cities{
    justify-content:center;
  }
  .edumi-hero-media{
    order:-1;
  }
  .edumi-hero-media img{
    max-width:320px;
  }
}
@media(max-width:720px){
  .location-search{
    grid-template-columns:1fr;
    border-radius:24px;
    padding:1rem;
  }
  .location-search span{
    display:none;
  }
  .home-tabs,
  .home-card-grid{
    grid-template-columns:1fr;
  }
  .edumi-hero h1 span{
    border-right:0;
  }
  .popular-cities a{
    min-width:auto;
  }
}
/* Career counsellor listing page */
.active-link{
  color:var(--royal);
}
.list-hero{
  padding:38px 0 30px;
  background:linear-gradient(180deg,#f8fbff 0%,#fff 68%);
  text-align:left;
}
.breadcrumb{
  color:#8a94a6;
  font-size:.85rem;
  margin:0 0 .8rem;
}
.breadcrumb a{
  color:#667085;
}
.list-hero h1{
  margin:.1rem 0 .6rem;
  color:#101828;
  font-size:clamp(2rem,4vw,3.1rem);
  letter-spacing:-.03em;
  line-height:1.1;
}
.list-hero h1 span{
  color:var(--royal);
}
.list-hero .popular-cities{
  justify-content:flex-start;
  margin-top:1.4rem;
}
.popular-cities a.is-active{
  background:linear-gradient(135deg,var(--royal),var(--purple));
  color:#fff;
  border-color:transparent;
}
.list-layout{
  display:grid;
  grid-template-columns:1fr 300px;
  gap:2.4rem;
  align-items:start;
}
.filter-bar{
  display:flex;
  flex-wrap:wrap;
  gap:1.6rem;
  background:#fff;
  border:1px solid rgba(17,101,239,.08);
  border-radius:24px;
  padding:1.3rem 1.5rem;
  box-shadow:0 14px 40px rgba(3,18,61,.06);
  margin-bottom:1.4rem;
}
.filter-group{
  display:flex;
  flex-direction:column;
  gap:.55rem;
}
.filter-label{
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#98a2b3;
}
.filter-pills{
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
}
.filter-pills button{
  border:1px solid #e2e8f0;
  background:#fff;
  color:#475467;
  border-radius:999px;
  padding:.5rem 1rem;
  font-weight:700;
  font-size:.85rem;
  cursor:pointer;
}
.filter-pills button.active{
  background:linear-gradient(135deg,var(--royal),var(--purple));
  border-color:transparent;
  color:#fff;
}
.results-count{
  font-weight:800;
  color:var(--navy);
  margin:0 0 1.2rem;
}
.empty-state{
  background:#f5f8ff;
  border-radius:24px;
  padding:2rem;
  margin-bottom:1.4rem;
  display:grid;
  gap:1rem;
  justify-items:start;
}
.counsellor-grid{
  display:grid;
  gap:1.3rem;
}
.counsellor-card{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:1.4rem;
  background:#fff;
  border-radius:26px;
  padding:1.4rem;
  border:1px solid rgba(17,101,239,.08);
  box-shadow:0 16px 50px rgba(3,18,61,.08);
}
.counsellor-card-media img{
  width:100%;
  height:180px;
  object-fit:cover;
  border-radius:18px;
}
.counsellor-card-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.6rem;
  flex-wrap:wrap;
}
.counsellor-card-heading h3{
  margin:0;
  color:var(--navy);
  font-size:1.3rem;
}
.reviews-pill{
  background:#fff7e6;
  color:#a66a00;
  border-radius:999px;
  padding:.3rem .7rem;
  font-weight:800;
  font-size:.78rem;
}
.qualification{
  color:var(--muted);
  margin:.3rem 0;
}
.localities{
  margin:.2rem 0;
  font-size:.88rem;
}
.localities a{
  color:var(--royal);
  font-weight:700;
}
.category-tags{
  display:flex;
  gap:.4rem;
  margin:.5rem 0;
}
.category-tags span{
  border:1px solid #e2e8f0;
  border-radius:999px;
  padding:.25rem .6rem;
  font-size:.72rem;
  font-weight:800;
  color:#667085;
}
.category-tags span.active{
  border-color:var(--royal);
  color:var(--royal);
  background:rgba(17,101,239,.08);
}
.stat-row{
  margin:.25rem 0;
  color:#344054;
  font-size:.92rem;
}
.highlight-list{
  margin:.7rem 0;
  padding-left:1.1rem;
  color:#3b4666;
  font-size:.9rem;
  line-height:1.7;
}
.counsellor-actions{
  display:flex;
  gap:.7rem;
  flex-wrap:wrap;
  margin-top:.4rem;
}
.no-fee{
  margin:.6rem 0 0;
  color:#20c86f;
  font-weight:800;
  font-size:.8rem;
}
.list-sidebar{
  position:sticky;
  top:100px;
}
.sidebar-card{
  background:linear-gradient(135deg,#eef8ff,#f7efff);
  border-radius:26px;
  padding:1.8rem;
  text-align:center;
  box-shadow:0 16px 50px rgba(3,18,61,.08);
}
.sidebar-card h3{
  color:var(--navy);
  font-size:1.15rem;
  margin:.4rem 0 1.2rem;
}
.sidebar-actions{
  display:grid;
  gap:.7rem;
}
.sidebar-note{
  margin-top:1.1rem;
  color:var(--muted);
  font-size:.82rem;
}
.how-it-works .steps-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.2rem;
  margin-top:2rem;
}
.how-it-works article{
  background:rgba(255,255,255,.08);
  border-radius:22px;
  padding:1.6rem;
}
.how-it-works span{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--royal),var(--purple));
  font-weight:900;
  margin-bottom:1rem;
}
.how-it-works p{
  color:#dfe4ff;
  line-height:1.6;
  margin:0;
}
.faq-list{
  display:grid;
  gap:.9rem;
}
.faq-item{
  background:#fff;
  border:1px solid rgba(17,101,239,.08);
  border-radius:18px;
  padding:1.1rem 1.4rem;
  box-shadow:0 10px 30px rgba(3,18,61,.05);
}
.faq-item summary{
  cursor:pointer;
  font-weight:800;
  color:var(--navy);
  list-style:none;
}
.faq-item summary::-webkit-details-marker{
  display:none;
}
.faq-item summary:before{
  content:"+";
  display:inline-block;
  width:1.2em;
  color:var(--royal);
  font-weight:900;
}
.faq-item[open] summary:before{
  content:"–";
}
.faq-item p{
  margin:.8rem 0 0 1.2em;
  color:var(--muted);
  line-height:1.7;
}
@media(max-width:960px){
  .list-layout{
    grid-template-columns:1fr;
  }
  .list-sidebar{
    position:static;
  }
  .counsellor-card{
    grid-template-columns:1fr;
  }
  .counsellor-card-media img{
    height:200px;
  }
  .how-it-works .steps-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:640px){
  .how-it-works .steps-grid{
    grid-template-columns:1fr;
  }
}
