@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+Devanagari:wght@600;700&family=Hind:wght@400;500;600;700&display=swap');

:root{
  --paper:#FBF9F4;
  --paper-line:#E4DFD1;
  --ink:#1F2A44;
  --ink-soft:#4C5670;
  --stamp:#B23A2E;
  --stamp-dark:#8F2C22;
  --brass:#C98A2B;
  --white:#FFFFFF;
}

*{box-sizing:border-box;margin:0;padding:0;}

body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Hind',sans-serif;
  line-height:1.6;
}

h1,h2,h3,.brand{
  font-family:'Noto Serif Devanagari','Hind',serif;
}

a{color:inherit;text-decoration:none;}

.wrap{
  max-width:960px;
  margin:0 auto;
  padding:0 20px;
}

/* ===== Top bar ===== */
.topbar{
  border-bottom:2px solid var(--ink);
  background:var(--white);
}
.topbar .wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-top:16px;
  padding-bottom:16px;
}
.brand{
  font-size:24px;
  font-weight:700;
  color:var(--ink);
}
.brand span{color:var(--stamp);}
.tagline{
  font-size:13px;
  color:var(--ink-soft);
  margin-top:2px;
}
nav ul{
  list-style:none;
  display:flex;
  gap:28px;
}
nav a{
  font-size:15px;
  font-weight:500;
  color:var(--ink);
  border-bottom:2px solid transparent;
  padding-bottom:4px;
}
nav a:hover{border-bottom-color:var(--stamp);}

/* ===== Hero ===== */
.hero{
  padding:56px 0 40px;
  display:flex;
  gap:48px;
  align-items:flex-end;
  flex-wrap:wrap;
}
.hero-text{flex:1 1 380px;}
.hero-text h1{
  font-size:38px;
  color:var(--ink);
  line-height:1.35;
}
.hero-text p{
  margin-top:16px;
  font-size:16px;
  color:var(--ink-soft);
  max-width:44ch;
}
.hero-actions{
  margin-top:26px;
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}
.btn-primary{
  background:var(--stamp);
  color:var(--white);
  padding:13px 26px;
  font-weight:600;
  font-size:15px;
  border-radius:2px;
  display:inline-block;
}
.btn-primary:hover{background:var(--stamp-dark);}
.btn-ghost{
  border:1.5px solid var(--ink);
  color:var(--ink);
  padding:12px 24px;
  font-weight:600;
  font-size:15px;
  border-radius:2px;
  display:inline-block;
}

.hero-badge{
  flex:0 0 190px;
  width:190px;
  height:190px;
  border:2px dashed var(--brass);
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  transform:rotate(-6deg);
}
.hero-badge strong{
  font-size:34px;
  color:var(--stamp);
  font-family:'Noto Serif Devanagari',serif;
}
.hero-badge span{
  font-size:13px;
  color:var(--ink-soft);
  margin-top:4px;
  padding:0 12px;
}

/* ===== Register / exam list ===== */
.register{
  margin:56px 0 64px;
}
.register-head{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  border-bottom:2px solid var(--ink);
  padding-bottom:10px;
  margin-bottom:6px;
}
.register-head h2{
  font-size:22px;
}
.register-head .count{
  font-size:13px;
  color:var(--ink-soft);
}

.category{
  margin-top:34px;
}
.category-name{
  font-size:13px;
  font-weight:600;
  color:var(--stamp);
  letter-spacing:.02em;
  margin-bottom:8px;
}

.exam-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 4px;
  border-bottom:1px solid var(--paper-line);
  gap:16px;
}
.exam-row:hover{background:rgba(178,58,46,0.04);}
.exam-name{
  font-size:16px;
  font-weight:500;
  color:var(--ink);
}
.exam-meta{
  font-size:13px;
  color:var(--ink-soft);
  margin-top:3px;
}
.exam-link{
  flex-shrink:0;
  font-size:14px;
  font-weight:600;
  color:var(--stamp);
  border-bottom:1.5px solid var(--stamp);
  padding-bottom:2px;
  white-space:nowrap;
}

/* ===== Strip ===== */
.strip{
  background:var(--ink);
  color:var(--paper);
  padding:34px 0;
  margin-bottom:0;
}
.strip .wrap{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:24px;
}
.strip-item strong{
  display:block;
  font-size:26px;
  font-family:'Noto Serif Devanagari',serif;
  color:var(--brass);
}
.strip-item span{
  font-size:13px;
  color:#C7CCDA;
}

/* ===== Footer ===== */
footer{
  padding:36px 0;
  border-top:1px solid var(--paper-line);
}
footer .wrap{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  font-size:13px;
  color:var(--ink-soft);
}
footer a{color:var(--ink-soft);}
footer a:hover{color:var(--stamp);}

/* ===== Responsive ===== */
@media(max-width:640px){
  .topbar .wrap{flex-direction:column;align-items:flex-start;gap:12px;}
  nav ul{gap:18px;flex-wrap:wrap;}
  .hero{padding-top:36px;}
  .hero-text h1{font-size:29px;}
  .hero-badge{transform:none;margin:0 auto;}
  .exam-row{flex-direction:column;align-items:flex-start;gap:6px;}
  .strip .wrap{gap:20px;}
}
