:root{
  --ink:#111111;
  --ink-soft:#5A5A5A;
  --paper:#FFFFFF;
  --paper-alt:#F7F7F8;
  --card:#FFFFFF;
  --red:#D81F30;
  --red-deep:#AD1727;
  --line:#E7E7E9;
  --radius:6px;
  --maxw:1200px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'IBM Plex Sans',sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.55;
}
h1,h2,h3,h4{
  font-family:'Urbanist',sans-serif;
  color:var(--ink);
  margin:0;
  letter-spacing:-0.01em;
  font-weight:700;
}
h1{font-weight:800;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
.rule{border:none;border-top:1px solid var(--line);}

/* ---------- Header ---------- */
header{
  position:sticky;top:0;z-index:60;
  background:rgba(255,255,255,0.96);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;
  padding:14px 28px;max-width:var(--maxw);margin:0 auto;
}
.brand{display:flex;align-items:center;gap:10px;min-width:0;flex-shrink:1;}
.brand-mark{width:104px;height:104px;border-radius:50%;flex-shrink:0;overflow:hidden;}
.brand-mark img{width:100%;height:100%;object-fit:contain;}
.brand-text{min-width:0;}
.brand-text b{
  font-family:'Urbanist',sans-serif;font-size:16px;font-weight:800;
  display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
nav.links{display:flex;gap:20px;align-items:center;flex-shrink:0;}
nav.links a{font-size:16px;font-weight:600;color:var(--ink-soft);white-space:nowrap;}
nav.links a:hover{color:var(--red);}
nav.links a.active{color:var(--red);}
.header-actions{display:flex;align-items:center;gap:14px;flex-shrink:0;}
.cta-btn{
  background:var(--red);color:#fff;padding:10px 18px;border-radius:var(--radius);
  font-size:13.5px;font-weight:700;white-space:nowrap;
}
.cta-btn:hover{opacity:.9;}
.menu-toggle{
  display:none;background:none;border:none;font-size:24px;cursor:pointer;color:var(--ink);
  padding:2px 4px;line-height:1;
}

/* ---------- Mobile nav overlay ---------- */
.mobile-nav{
  position:fixed;inset:0;background:#fff;z-index:100;
  transform:translateX(100%);transition:transform .28s ease;
  display:flex;flex-direction:column;padding:20px 24px 30px;overflow-y:auto;
}
.mobile-nav.open{transform:translateX(0);}
.mobile-nav-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;}
.mobile-nav-head .brand{gap:10px;}
.menu-close{background:none;border:none;font-size:26px;cursor:pointer;color:var(--ink);}
.mobile-nav nav{display:flex;flex-direction:column;gap:4px;}
.mobile-nav nav a{
  font-size:18px;font-weight:700;color:var(--ink);padding:15px 4px;
  border-bottom:1px solid var(--line);
}
.mobile-nav nav a.active{color:var(--red);}
.mobile-nav .cta-btn{margin-top:22px;text-align:center;padding:14px;font-size:15px;}

/* ---------- Hero (used on Home) ---------- */
.hero{position:relative;overflow:hidden;background:var(--paper);}
.hero::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size:42px 42px;opacity:.45;
  mask-image:radial-gradient(ellipse 80% 60% at 70% 20%, black 20%, transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 70% 20%, black 20%, transparent 75%);
}
.hero-inner{position:relative;max-width:var(--maxw);margin:0 auto;padding:72px 28px 56px;}
.eyebrow-tag{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;color:var(--red);font-weight:700;margin-bottom:20px;
  background:rgba(216,31,48,0.08);padding:6px 14px;border-radius:100px;
}
.hero h1{font-size:clamp(32px,5vw,54px);font-weight:800;max-width:820px;line-height:1.1;}
.hero h1 em{font-style:normal;color:var(--red);}
.hero p.lead{font-size:17px;color:var(--ink-soft);max-width:560px;margin-top:20px;}
.hero-ctas{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap;}
.btn-outline{border:1.5px solid var(--ink);padding:12px 24px;border-radius:var(--radius);font-weight:700;font-size:15px;}
.btn-solid{background:var(--red);color:#fff;padding:12px 24px;border-radius:var(--radius);font-weight:700;font-size:15px;}
.btn-solid:hover,.btn-outline:hover{opacity:.85;}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);margin-top:56px;border-top:1px solid var(--line);}
.stat{padding:22px 20px 0;border-right:1px solid var(--line);}
.stat:last-child{border-right:none;}
.stat b{font-family:'Urbanist';font-size:clamp(24px,3vw,34px);font-weight:800;display:block;color:var(--ink);}
.stat span{font-size:13px;color:var(--ink-soft);}

/* ---------- Page header (non-home pages) ---------- */
.page-head{padding:56px 0 40px;border-bottom:1px solid var(--line);background:var(--paper-alt);}
.page-head .eyebrow-tag{margin-bottom:16px;}
.page-head h1{font-size:clamp(30px,4vw,44px);font-weight:800;}
.page-head p{color:var(--ink-soft);font-size:16px;margin-top:14px;max-width:620px;}
.breadcrumb{font-size:13px;color:var(--ink-soft);margin-bottom:16px;}
.breadcrumb a:hover{color:var(--red);}

/* ---------- Section shell ---------- */
section{padding:72px 0;}
.section-head{max-width:640px;margin-bottom:40px;}
.section-head h2{font-size:clamp(24px,3vw,34px);font-weight:800;}
.section-head p{color:var(--ink-soft);font-size:16px;margin-top:12px;}
.alt{background:var(--paper-alt);}

/* ---------- Steps ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--card);}
.step{padding:30px 26px;border-right:1px solid var(--line);position:relative;}
.step:last-child{border-right:none;}
.step .num{font-family:'Urbanist';font-size:13px;font-weight:800;color:var(--red-deep);letter-spacing:.04em;}
.step h3{font-size:19px;margin-top:10px;font-weight:700;}
.step p{font-size:14.5px;color:var(--ink-soft);margin-top:10px;}
.step a.link{font-size:14px;font-weight:700;color:var(--red);margin-top:14px;display:inline-block;}

/* ---------- About split ---------- */
.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start;}
.about-grid p{color:var(--ink-soft);font-size:16px;margin-top:16px;}
.principle-list{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:14px;}
.principle-list li{display:flex;gap:12px;font-size:15px;color:var(--ink-soft);align-items:flex-start;padding-bottom:14px;border-bottom:1px solid var(--line);}
.principle-list li:last-child{border-bottom:none;}
.dot{width:6px;height:6px;border-radius:50%;background:var(--red);margin-top:8px;flex-shrink:0;}
.side-card{background:var(--red);color:#fff;border-radius:var(--radius);padding:32px;}
.side-card h3{color:#fff;font-size:20px;font-weight:800;}
.side-card p{color:rgba(255,255,255,0.85);font-size:14.5px;margin-top:10px;}
.side-card .dl{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-top:1px solid rgba(255,255,255,0.22);font-size:14px;gap:12px;}
.side-card .dl:last-child{border-bottom:none;}
.side-card .dl a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px;}

/* ---------- Grades grid ---------- */
.grade-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.grade-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 20px;transition:border-color .15s ease;}
.grade-card:hover{border-color:var(--red);}
.grade-card .g{font-family:'Urbanist';font-size:28px;font-weight:800;color:var(--ink);}
.grade-card .g span{font-size:13px;color:var(--ink-soft);font-family:'IBM Plex Sans';font-weight:500;display:block;margin-top:2px;}
.grade-card a{font-size:13.5px;font-weight:700;color:var(--red);margin-top:16px;display:inline-block;}

/* ---------- Syllabus detail cards ---------- */
.syllabus-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px 28px;margin-bottom:16px;}
.syllabus-card .g-tag{font-family:'Urbanist';font-weight:800;font-size:15px;color:var(--red-deep);}
.syllabus-card h3{font-size:20px;margin-top:6px;font-weight:700;}
.syllabus-card ul{margin:14px 0 0;padding-left:18px;color:var(--ink-soft);font-size:14.5px;}
.syllabus-card ul li{margin-bottom:6px;}

/* ---------- Exam format ---------- */
.format-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.format-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;}
.format-card h4{font-size:14px;color:var(--ink-soft);font-weight:700;}
.format-card .v{font-family:'Urbanist';font-size:22px;font-weight:800;margin-top:8px;}
table.spec{width:100%;border-collapse:collapse;margin-top:32px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
table.spec th,table.spec td{padding:14px 20px;text-align:left;font-size:14.5px;border-bottom:1px solid var(--line);}
table.spec th{background:var(--paper-alt);color:var(--ink-soft);font-weight:700;font-size:13px;}
table.spec tr:last-child td{border-bottom:none;}

/* ---------- Dates ---------- */
.dates-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.date-card{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--red);border-radius:var(--radius);padding:24px;}
.date-card .reg-by{font-size:13px;color:var(--ink-soft);font-weight:700;}
.date-card .d{font-family:'Urbanist';font-size:24px;font-weight:800;margin-top:6px;}
.date-card .exam-on{font-size:13.5px;color:var(--red);margin-top:10px;font-weight:700;}

/* ---------- Awards ---------- */
.award-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.award-card{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;}
.award-card .rank{font-family:'Urbanist';color:var(--red-deep);font-size:15px;font-weight:800;}
.award-card h4{font-size:16px;margin-top:8px;font-weight:700;}
.award-card p{font-size:13.5px;color:var(--ink-soft);margin-top:6px;}

/* ---------- Question papers table ---------- */
.papers-table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.papers-table th,.papers-table td{padding:14px 20px;text-align:left;font-size:14.5px;border-bottom:1px solid var(--line);}
.papers-table th{background:var(--paper-alt);color:var(--ink-soft);font-weight:700;font-size:13px;}
.papers-table tr:last-child td{border-bottom:none;}
.papers-table a{color:var(--red);font-weight:700;font-size:13.5px;}

/* ---------- FAQ ---------- */
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:20px 0;cursor:pointer;font-weight:700;font-size:16px;gap:16px;}
.faq-q .plus{font-size:20px;color:var(--red-deep);transition:transform .2s ease;flex-shrink:0;}
.faq-item.open .plus{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.faq-a p{font-size:14.5px;color:var(--ink-soft);padding-bottom:20px;max-width:720px;}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
.contact-info-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 24px;margin-bottom:14px;}
.contact-info-card b{display:block;font-size:13px;color:var(--ink-soft);font-weight:700;}
.contact-info-card span{font-size:15px;font-weight:600;}
.form-field{margin-bottom:18px;}
.form-field label{display:block;font-size:13.5px;font-weight:700;margin-bottom:6px;}
.form-field input,.form-field select,.form-field textarea{
  width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);
  font-family:'IBM Plex Sans';font-size:14.5px;color:var(--ink);background:#fff;
}
.form-field textarea{resize:vertical;min-height:110px;}
.form-submit{background:var(--red);color:#fff;border:none;padding:13px 28px;border-radius:var(--radius);font-weight:700;font-size:15px;cursor:pointer;}

/* ---------- CTA band ---------- */
.cta-band{background:var(--red);color:#fff;border-radius:var(--radius);padding:48px;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;}
.cta-band h2{color:#fff;font-size:26px;max-width:440px;font-weight:800;}
.cta-band p{color:rgba(255,255,255,0.85);margin-top:10px;font-size:15px;}

/* ---------- Footer ---------- */
footer{background:var(--paper-alt);color:var(--ink-soft);padding:52px 0 26px;border-top:3px solid var(--red);}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px;}
.foot-grid h4{color:var(--ink);font-size:14px;margin-bottom:16px;font-weight:700;}
.foot-grid a{display:block;font-size:14px;color:var(--ink-soft);margin-bottom:10px;}
.foot-grid a:hover{color:var(--red);}
.foot-brand p{font-size:13.5px;margin-top:14px;max-width:280px;}
.foot-bottom{border-top:1px solid var(--line);margin-top:40px;padding-top:22px;display:flex;justify-content:space-between;font-size:13px;color:var(--ink-soft);flex-wrap:wrap;gap:10px;}

@media (max-width:1024px){
  nav.links{display:none;}
  .header-actions .cta-btn{display:none;}
  .menu-toggle{display:block;}
  .stats-row{grid-template-columns:repeat(2,1fr);}
  .stat:nth-child(2){border-right:none;}
  .stat{border-bottom:1px solid var(--line);padding-bottom:20px;}
  .steps{grid-template-columns:1fr;}
  .step{border-right:none;border-bottom:1px solid var(--line);}
  .about-grid{grid-template-columns:1fr;}
  .grade-grid{grid-template-columns:repeat(2,1fr);}
  .format-grid{grid-template-columns:1fr;}
  .dates-grid{grid-template-columns:1fr;}
  .award-grid{grid-template-columns:repeat(2,1fr);}
  .contact-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .cta-band{flex-direction:column;align-items:flex-start;}
  .brand-text b{font-size:14px;max-width:150px;}
}
@media (max-width:480px){
  .brand-text b{font-size:13px;max-width:110px;}
  .grade-grid{grid-template-columns:1fr 1fr;}
  .award-grid{grid-template-columns:1fr;}
}
