@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Newsreader:opsz,wght@6..72,600;6..72,700&display=swap');

:root {
  --ink: #22201d;
  --paper: #fbf8f1;
  --cream: #f2ede2;
  --rust: #9c793d;
  /* primary changed to #9c793d */
  --rust-dark: #7d5f30;
  /* darkened version for hover */
  --sage: #667564;
  --line: #ded7c9;
  --muted: #716d65
}

* {
  box-sizing: border-box
}

html {
  scroll-behavior: smooth
}

body {
  background: var(--paper);
  color: var(--ink);
  font-family: Manrope, sans-serif;
  font-size: .95rem
}

h1,
h2,
h3,
h4,
h5 {
  font-family: Newsreader, Georgia, serif;
  font-weight: 700;
  letter-spacing: -.035em
}

a {
  color: var(--rust);
  text-underline-offset: 3px
}

.topbar {
  background: #1d2522;
  color: #eee7db;
  padding: .48rem 0;
  font-family: 'DM Mono', monospace;
  font-size: .68rem;
  letter-spacing: .03em
}

.topbar-inner { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.topbar-links { display: inline-flex; align-items: center; gap: 0; }
.topbar-links a { padding: .08rem .85rem; border-left: 1px solid #ffffff30; color: #ff7378; font-size: .71rem; font-weight: 800; line-height: 1; letter-spacing: .07em; text-decoration: none; text-transform: uppercase; transition: color .2s; }
.topbar-links a:last-child { padding-right: 0; }
.topbar-links a:hover { color: #fff; }
.topbar-whatsapp { display: inline-flex; align-items: center; color: #eee7db; font-size: .82rem; font-weight: 700; line-height: 1; letter-spacing: .03em; text-decoration: none; }
.topbar-whatsapp i { color: #25d366; font-size: 1.05rem; margin-right: .25rem; }
.topbar-whatsapp:hover { color: #e7bd6e; }

@media (max-width:575px) {
  .topbar-inner { align-items: flex-start; flex-direction: column; gap: .5rem; }
  .topbar-links { width: 100%; justify-content: space-between; }
  .topbar-links a { padding: .08rem .45rem; font-size: .61rem; }
  .topbar-links a:first-child { padding-left: 0; border-left: 0; }
}

html, body { width: 100%; max-width: 100%; overflow-x: clip !important; }
body > * { max-width: 100%; }
img, video, iframe, embed, object { max-width: 100%; }
.quiz-page, .quiz-page .container, .question-card, .panel { min-width: 0; }

.navbar {
  padding: 1.05rem 0;
  background: var(--paper) !important;
  border-color: var(--line) !important
}

.navbar-brand {
  font-family: Newsreader, serif;
  font-size: 1.55rem;
  line-height: .8;
  color: var(--ink) !important;
  letter-spacing: -.05em
}

.navbar-brand span {
  color: var(--rust)
}

.navbar-brand small {
  display: block;
  margin-top: .45rem;
  font-family: 'DM Mono', monospace;
  font-size: .54rem;
  letter-spacing: .16em;
  color: var(--sage);
  text-transform: uppercase
}

.brand-lockup { display: inline-flex; align-items: center; gap: .65rem; }
.brand-lockup img { width: 48px; height: 48px; object-fit: contain; border-radius: 50%; }
.brand-copy { display: flex; flex-direction: column; }
.brand-copy strong { font: inherit; white-space: nowrap; }
.brand-copy em { color: var(--rust); font-style: normal; }
.brand-copy small { margin-top: .35rem; }
.brand-copy small::after { content: "Pakistan's competitive-exam online preparation academy"; display: block; margin-top: .3rem; color: var(--muted); font-size: .49rem; letter-spacing: .08em; text-transform: none; }
.dropdown-menu { border: 1px solid var(--line); border-radius: 0; background: var(--paper); box-shadow: 5px 5px 0 #9c793d20; }
.dropdown-item { color: var(--ink); font-size: .78rem; font-weight: 700; padding: .6rem 1rem; }
.dropdown-item:hover { background: var(--cream); color: var(--rust); }

.nav-link {
  margin: 0 .25rem;
  color: var(--ink) !important;
  font-size: .79rem;
  font-weight: 700;
  white-space: nowrap
}
.nav-link:hover, .nav-link:focus { color: var(--rust) !important; }

/* These quick links belong in the top bar, not in the main navigation. */
#nav .nav-item:has(> .nav-link[href$="/worksheets"]),
#nav .nav-item:has(> .nav-link[href$="/reading-material"]),
#nav .nav-item:has(> .nav-link[href$="/publications"]),
#nav .nav-item:has(> .dropdown-menu a[href*="/publications"]) { display: none; }

.navbar-nav.ms-auto { margin-left: 0 !important; }

.admin-page { background: #f6f3ed; }
.admin-page footer, .admin-page .social-rail, .admin-page .whatsapp-float { display: none; }
.admin-topbar { padding: .75rem 0; background: #1d2522; color: #fff; font-size: .8rem; }
.admin-topbar a { color: #e9e3d8; text-decoration: none; white-space: nowrap; }.admin-topbar a:hover { color: #e7bd6e; }
.admin-topbar__brand { font-family: Newsreader,serif; font-size: 1.2rem; font-weight: 700; }.admin-topbar__brand i { color: #e7bd6e; }.admin-topbar__brand span { color: #e7bd6e; font: .62rem 'DM Mono',monospace; text-transform: uppercase; letter-spacing: .08em; }
.admin-topbar__links { display: flex; flex-wrap: wrap; gap: 1rem; }.admin-topbar form { margin: 0; }.admin-topbar button { border: 0; background: transparent; color: #e9e3d8; padding: 0; font: inherit; }.admin-topbar button:hover { color: #e7bd6e; }
@media(max-width:767px) { .admin-topbar__links { order: 3; width: 100%; gap: .7rem; overflow-x: auto; }.admin-topbar .ms-auto { margin-left: 0 !important; } }

.nav-link:hover {
  color: var(--rust) !important
}
.nav-link:hover, .nav-link:focus { color: var(--rust) !important; }

.btn-brand,
.btn-gold {
  border: 1px solid var(--rust);
  border-radius: 0;
  background: var(--rust);
  color: #fff;
  font-size: .76rem;
  font-weight: 800;
  padding: .75rem 1.15rem
}

.btn-brand:hover,
.btn-gold:hover {
  background: var(--rust-dark);
  border-color: var(--rust-dark);
  color: #fff
}

.hero {
  position: relative;
  overflow: hidden;
  background: var(--cream);
  color: var(--ink)
}

.hero:before {
  content: 'CSS';
  position: absolute;
  right: -.07em;
  top: -.48em;
  color: #e7dfd1;
  font-family: Newsreader, serif;
  font-size: clamp(15rem, 29vw, 30rem);
  font-weight: 700;
  line-height: 1;
  pointer-events: none
}

.min-vh-75 {
  min-height: 620px
}

.hero .row {
  position: relative
}

.eyebrow,
.section-label {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  color: var(--rust);
  font-family: 'DM Mono', monospace;
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .11em
}

.eyebrow:before,
.section-label:before {
  content: '';
  display: inline-block;
  width: 1.7rem;
  height: 1px;
  background: currentColor
}

.hero h1,
.page-hero h1 {
  max-width: 650px;
  margin: 1.1rem 0 1.3rem;
  font-size: clamp(3.8rem, 7vw, 6.9rem);
  line-height: .88
}

.hero h1 em {
  font-style: italic;
  color: var(--rust)
}

.hero p {
  max-width: 530px;
  color: #59544c;
  font-size: 1.04rem;
  line-height: 1.8
}

.hero-visual {
  position: relative;
  max-width: 500px;
  margin-left: auto;
  padding: 1.25rem 0 1.25rem 1.25rem
}

.hero-visual:before {
  content: '';
  position: absolute;
  inset: 0 1.2rem 0 0;
  border: 1px solid var(--ink);
  transform: translate(-1.15rem, 1.15rem)
}

.hero-visual>img {
  position: relative;
  display: block;
  width: 100%;
  height: 450px;
  object-fit: cover;
  border-radius: 0;
  filter: saturate(.8) contrast(1.05)
}

.hero-visual:after {
  content: '';
  position: absolute;
  inset: 1.25rem 0 1.25rem 1.25rem;
  background: linear-gradient(180deg, transparent 55%, #201e1b8c)
}

.hero-card {
  position: absolute;
  z-index: 2;
  left: -2.5rem;
  bottom: -1.55rem;
  max-width: 300px;
  margin: 0;
  padding: 1.2rem 1.35rem;
  background: var(--ink);
  color: #fff;
  border-radius: 0;
  box-shadow: none
}

.hero-card>i {
  color: #e6bd70;
  font-size: 1.25rem;
  margin: 0 0 .65rem
}

.hero-card strong,
.hero-card span {
  display: block;
  font-family: Newsreader, serif;
  font-size: 1.22rem;
  line-height: 1.05
}

.hero-card b {
  font-family: Manrope, sans-serif;
  font-size: 1.1rem
}

.hero-card small {
  color: #cfc7ba;
  font-family: 'DM Mono', monospace;
  font-size: .55rem;
  letter-spacing: .04em
}

.py-lg-6 {
  padding-top: 7.5rem !important;
  padding-bottom: 7.5rem !important
}

.about-section h2,
.instructor-copy h2,
.csps-heading h2 {
  font-size: clamp(2.7rem, 4vw, 4.2rem);
  line-height: .95
}

.lead-copy {
  color: var(--ink);
  font-family: Newsreader, serif;
  font-size: 1.5rem;
  line-height: 1.25
}

.about-section p:not(.lead-copy) {
  color: var(--muted);
  line-height: 1.8
}

.about-visual {
  position: relative;
  padding: 0 2rem 2rem 0
}

.about-visual:after {
  content: '01';
  position: absolute;
  right: 0;
  bottom: 0;
  display: grid;
  place-items: center;
  width: 5.3rem;
  height: 5.3rem;
  background: var(--rust);
  color: #fff;
  font-family: 'DM Mono', monospace;
  font-size: .75rem
}

.about-visual img {
  display: block;
  width: 100%;
  height: 440px;
  object-fit: cover;
  border-radius: 50% 50% 0 0;
  filter: saturate(.75)
}

.about-badge {
  position: absolute;
  right: -.8rem;
  top: 2.25rem;
  bottom: auto;
  background: #f4dba5;
  color: var(--ink);
  padding: 1rem 1.1rem;
  border-radius: 0;
  font-family: 'DM Mono', monospace;
  font-size: .68rem;
  line-height: 1.55;
  box-shadow: none
}

.about-point {
  gap: .7rem;
  color: var(--ink);
  font-size: .8rem;
  font-weight: 800
}

.about-point i {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  background: #e5e8de;
  border-radius: 50%;
  color: var(--sage);
  font-size: .65rem
}

.instructor-section {
  background: var(--ink)
}

.instructor-panel {
  overflow: visible;
  background: transparent;
  border-radius: 0;
  box-shadow: none
}

.instructor-photo {
  height: 445px;
  position: relative
}

.instructor-photo:after {
  content: 'MENTOR';
  position: absolute;
  bottom: 1.1rem;
  left: 1.1rem;
  color: #fff;
  font-family: 'DM Mono', monospace;
  font-size: .65rem;
  letter-spacing: .14em
}

.instructor-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(1) contrast(1.08)
}

.instructor-copy {
  padding: 3.2rem 3.7rem;
  color: #d8d2c8
}

.instructor-copy .eyebrow {
  color: #e7bd6e
}

.instructor-copy h2 {
  margin: 1rem 0;
  color: #fff
}

.instructor-copy p {
  line-height: 1.8
}

.instructor-copy .btn {
  border-radius: 0;
  font-size: .78rem;
  font-weight: 700
}

.csps-section {
  background: #e6ede4
}

.csps-heading {
  max-width: 720px
}

.csps-heading p {
  color: #62695f;
  font-size: 1rem;
  line-height: 1.7
}

.csp-card {
  height: 100%;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: var(--paper);
  transition: transform .25s
}

.csp-card:hover {
  transform: translateY(-7px);
  box-shadow: none
}

.csp-image {
  height: 230px;
  overflow: hidden
}

.csp-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s;
  filter: saturate(.7)
}

.csp-card:hover .csp-image img {
  transform: scale(1.05)
}

.csp-card small,
.course-card small,
.insight small {
  color: var(--rust);
  font-family: 'DM Mono', monospace;
  font-size: .63rem;
  font-weight: 500;
  letter-spacing: .1em
}

.csp-card h4,
.course-card h4 {
  margin-top: .65rem;
  font-size: 1.55rem
}

.csp-card p,
.course-card p,
.feature p {
  color: var(--muted);
  line-height: 1.7
}

.course-card,
.insight,
.feature,
.panel,
.stat-card {
  border: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  transition: all .25s
}

.course-card:hover,
.insight:hover {
  transform: translateY(-5px);
  border-color: var(--ink);
  box-shadow: 5px 5px 0 var(--rust)
}

.course-art {
  height: 150px;
  background: #e9e3d7;
  color: var(--rust);
  font-size: 2.5rem
}

.course-image { display: block; width: 100%; aspect-ratio: 1 / 1; height: auto; object-fit: cover; object-position: center; background: #e9e3d7; filter: saturate(.85); }
.video-section { background: #e6ede4; }
.video-card { height: 100%; border: 1px solid var(--line); background: var(--paper); }
.video-card img, .video-placeholder { display: grid; place-items: center; width: 100%; height: 205px; object-fit: cover; background: var(--ink); color: #e7bd6e; font-size: 2.1rem; }
.video-embed { position: relative; width: 100%; aspect-ratio: 16 / 9; background: var(--ink); }
.video-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-thumbnail-link { position: relative; display: block; color: #fff; }
.video-thumbnail-link img { display: block; }
.video-thumbnail-link span { position: absolute; display: grid; place-items: center; inset: 0; margin: auto; width: 44px; height: 44px; border-radius: 50%; background: #9c793dec; color: #fff; }
.video-thumbnail-link:hover span { background: var(--rust-dark); }
.video-card h4 { font-size: 1.55rem; }
.video-card p { min-height: 2.8rem; color: var(--muted); }
.video-card a { font-size: .78rem; font-weight: 800; text-decoration: none; }

.course-card .p-4 {
  padding: 1.15rem 1.25rem 1.25rem !important
}

.course-card { max-width: 360px; margin: 0 auto; overflow: hidden; }
.course-card h4 { margin: .4rem 0; font-size: 1.25rem; }
.course-card p { margin-bottom: .7rem; font-size: .8rem; line-height: 1.5; }
.course-card b { color: var(--rust); }

.tox-tinymce{border-color:#d9d0c5!important}.publication-body img,.rich-content img{max-width:100%;height:auto}.publication-body table,.rich-content table{width:100%;border-collapse:collapse;margin:1rem 0}.publication-body td,.publication-body th,.rich-content td,.rich-content th{border:1px solid #d9d0c5;padding:.55rem}
@media(max-width:575px) {
  .course-card { max-width: 100%; }
  .course-image { aspect-ratio: 16 / 10; }
}

.course-card b {
  font-family: 'DM Mono', monospace;
  font-size: .75rem
}

.reason {
  background: #e8dfd1
}

.reason h2 {
  font-size: clamp(2.6rem, 4vw, 4rem);
  line-height: .95
}

.reason p {
  color: var(--muted);
  line-height: 1.8
}

.feature {
  height: 100%;
  padding: 1.5rem
}

.feature:hover {
  background: var(--paper)
}

.feature i {
  color: var(--rust);
  font-size: 1.4rem;
  margin-bottom: 1rem
}

.feature h5 {
  font-size: 1.35rem
}

.insight {
  height: 100%;
  padding: 1.7rem
}

.insight h4,
.insight h5 {
  margin-top: .75rem;
  font-size: 1.45rem
}

.insight a {
  font-size: .78rem;
  font-weight: 800
}

.page-hero {
  background: var(--cream);
  padding: 6rem 0 5rem
}

.page-hero h1 {
  color: var(--ink)
}

.contact-form {
  background: var(--cream);
  padding: 2rem;
  border-radius: 0
}

.form-control {
  padding: .75rem;
  border-color: var(--line);
  border-radius: 0;
  background: var(--paper)
}

.form-control:focus {
  border-color: var(--rust);
  box-shadow: 0 0 0 .2rem #9c793d20
  /* updated shadow with new primary */
}

.login-bg {
  background: var(--ink);
  min-height: 100vh;
  display: grid;
  place-items: center
}

.login-card {
  width: min(430px, 92vw);
  padding: 2.5rem;
  border-radius: 0;
  background: var(--paper);
  box-shadow: 9px 9px 0 var(--rust)
}

.login-card h2 {
  margin-top: 2rem
}

.admin-side {
  min-height: 500px;
  padding: 1.5rem;
  border-radius: 0;
  background: var(--ink);
  color: #fff
}

.admin-side b {
  font-family: 'DM Mono', monospace;
  font-size: .67rem;
  letter-spacing: .13em;
  color: #e7bd6e
}

.admin-side a,
.admin-side button {
  display: block;
  width: 100%;
  padding: .75rem 0;
  border: 0;
  background: none;
  color: #ddd5ca;
  text-align: left;
  font: inherit
}

.admin-side a:hover {
  color: #e7bd6e
}

.admin-content h2 {
  color: var(--ink)
}

.stat-card {
  padding: 1.4rem
}

.stat-card small,
.stat-card span {
  display: block;
  color: var(--muted)
}

.stat-card strong {
  display: block;
  margin: .25rem 0;
  color: var(--rust);
  font-size: 2.1rem
}

.panel {
  padding: 1.5rem
}

.panel a {
  display: block;
  padding: .7rem 0;
  border-bottom: 1px solid var(--line);
  text-decoration: none
}

/* Admin dashboard */
.admin-dashboard { background: #f5f2ec; min-height: 100vh; padding: 2rem; }
.admin-shell { display: grid; grid-template-columns: 260px minmax(0,1fr); max-width: 1440px; margin: 0 auto; min-height: 780px; background: #fffdfa; border: 1px solid #ded7c9; box-shadow: 10px 12px 0 #9c793d12; }
.dashboard-sidebar { display: flex; flex-direction: column; padding: 1.7rem 1.15rem 1.3rem; background: #24221f; color: #fff; }
.dashboard-brand { display: flex; align-items: center; gap: .7rem; padding: 0 .55rem 1.6rem; color: #fff; text-decoration: none; }
.dashboard-brand:hover { color: #fff; }
.dashboard-brand-mark { display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid #e7bd6e; color: #e7bd6e; font-family: Newsreader, serif; font-size: 1.1rem; }
.dashboard-brand strong, .dashboard-brand small { display: block; }.dashboard-brand strong { font-family: Newsreader, serif; font-size: 1.2rem; letter-spacing: -.03em; }.dashboard-brand small, .dashboard-user small, .dashboard-nav p, .dashboard-kicker, .dashboard-section-heading span, .dashboard-card-title span { font-family: 'DM Mono', monospace; font-size: .59rem; letter-spacing: .1em; }
.dashboard-brand small { margin-top: .15rem; color: #b8afa2; }
.dashboard-user { display: flex; align-items: center; gap: .65rem; margin: 0 .35rem 1.5rem; padding: .8rem .65rem; border-top: 1px solid #ffffff18; border-bottom: 1px solid #ffffff18; }.dashboard-avatar { display: grid; place-items: center; width: 32px; height: 32px; background: #9c793d; color: #fff; border-radius: 50%; font-size: .67rem; font-weight: 800; }.dashboard-user b, .dashboard-user small { display: block; }.dashboard-user b { font-size: .73rem; }.dashboard-user small { margin-top: .2rem; color: #b8afa2; letter-spacing: .02em; }.dashboard-user small i { color: #83aa78; font-size: .45rem; vertical-align: 1px; }
.dashboard-nav { overflow: auto; }.dashboard-nav p { margin: .2rem .65rem .55rem; color: #918b82; }.dashboard-nav a { display: flex; align-items: center; gap: .75rem; margin-bottom: .12rem; padding: .62rem .65rem; border-left: 2px solid transparent; color: #cfc8bd; text-decoration: none; font-size: .76rem; font-weight: 700; transition: .18s ease; }.dashboard-nav a i { width: 15px; color: #aaa196; text-align: center; font-size: .82rem; }.dashboard-nav a:hover, .dashboard-nav a.active { background: #ffffff0d; border-left-color: #e7bd6e; color: #fff; }.dashboard-nav a.active i { color: #e7bd6e; }
.dashboard-logout { margin-top: auto; padding: 1.1rem .35rem 0; border-top: 1px solid #ffffff18; }.dashboard-logout button { padding: .5rem .3rem; border: 0; background: none; color: #b8afa2; font-size: .72rem; font-weight: 700; }.dashboard-logout button:hover { color: #e7bd6e; }
.dashboard-main { padding: clamp(1.6rem, 3vw, 3.2rem); overflow: hidden; }.dashboard-header { display: flex; justify-content: space-between; gap: 2rem; align-items: flex-start; padding-bottom: 2.2rem; border-bottom: 1px solid var(--line); }.dashboard-kicker, .dashboard-section-heading span, .dashboard-card-title span { color: var(--rust); font-weight: 500; }.dashboard-header h1 { margin: .45rem 0 .3rem; font-size: clamp(2.15rem, 4vw, 3.35rem); line-height: .9; }.dashboard-header p { margin: 0; color: var(--muted); font-size: .82rem; }.dashboard-header-actions { display: flex; align-items: center; gap: .65rem; padding-top: .2rem; white-space: nowrap; }.dashboard-site-link, .dashboard-add-button { display: inline-flex; align-items: center; gap: .45rem; padding: .7rem .85rem; font-size: .7rem; font-weight: 800; text-decoration: none; }.dashboard-site-link { color: var(--ink); }.dashboard-site-link:hover { color: var(--rust); }.dashboard-add-button { background: var(--rust); color: #fff; }.dashboard-add-button:hover { background: var(--rust-dark); color: #fff; }
.dashboard-overview { padding: 2rem 0; }.dashboard-section-heading, .dashboard-card-title { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; }.dashboard-section-heading h2, .dashboard-card-title h2 { margin: .25rem 0 0; font-size: 1.55rem; }.dashboard-section-heading small { color: var(--muted); font-size: .68rem; }.dashboard-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .85rem; margin-top: 1rem; }.dashboard-stat { position: relative; display: flex; gap: .75rem; align-items: flex-start; min-height: 136px; padding: 1.1rem; border: 1px solid var(--line); background: #fffdfa; overflow: hidden; }.dashboard-stat:after { content: ''; position: absolute; right: -16px; bottom: -16px; width: 65px; height: 65px; border-radius: 50%; opacity: .3; }.dashboard-stat--amber:after { background: #e7bd6e; }.dashboard-stat--sage:after { background: #aab9a6; }.dashboard-stat--blue:after { background: #a9c7d7; }.dashboard-stat--rose:after { background: #d7adb2; }.dashboard-stat-icon { display: grid; place-items: center; flex: 0 0 33px; width: 33px; height: 33px; background: var(--cream); color: var(--rust); font-size: .82rem; }.dashboard-stat-label, .dashboard-stat small { display: block; color: var(--muted); font-size: .65rem; line-height: 1.35; }.dashboard-stat strong { display: block; margin: .3rem 0; color: var(--ink); font-family: Newsreader, serif; font-size: 2.3rem; line-height: .9; }
.dashboard-lower-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(260px, .75fr); gap: 1rem; }.dashboard-card { border: 1px solid var(--line); }.dashboard-get-started { padding: 1.35rem; }.dashboard-card-title>i { color: var(--rust); }.dashboard-work-list { margin-top: 1rem; }.dashboard-work-list a { display: grid; grid-template-columns: 35px minmax(0,1fr) 18px; align-items: center; gap: .75rem; padding: .8rem 0; border-top: 1px solid var(--line); color: var(--ink); text-decoration: none; }.dashboard-work-list a:hover b { color: var(--rust); }.dashboard-work-list a>i { color: var(--rust); font-size: .7rem; }.dashboard-work-icon { display: grid; place-items: center; width: 35px; height: 35px; background: var(--cream); color: var(--rust); font-size: .78rem; }.dashboard-work-list b, .dashboard-work-list small { display: block; }.dashboard-work-list b { font-size: .74rem; }.dashboard-work-list small { margin-top: .13rem; color: var(--muted); font-size: .64rem; }.dashboard-actions-card { padding: 1.5rem; background: #e8dfd1; }.dashboard-actions-card h2 { margin: .55rem 0 .7rem; font-size: 2rem; line-height: .95; }.dashboard-actions-card p { color: var(--muted); font-size: .75rem; line-height: 1.65; }.dashboard-action-primary, .dashboard-action-secondary { display: block; margin-top: .7rem; padding: .75rem; font-size: .7rem; font-weight: 800; text-decoration: none; }.dashboard-action-primary { background: var(--ink); color: #fff; }.dashboard-action-primary:hover { background: var(--rust); color: #fff; }.dashboard-action-secondary { border: 1px solid #cfc3b0; color: var(--ink); }.dashboard-action-secondary:hover { border-color: var(--rust); color: var(--rust); }.dashboard-action-text { display: inline-block; margin-top: 1rem; color: var(--rust); font-size: .68rem; font-weight: 800; text-decoration: none; }.dashboard-action-text i { margin-left: .3rem; }
@media (max-width: 1100px) { .dashboard-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { .admin-dashboard { padding: 0; }.admin-shell { grid-template-columns: 1fr; border: 0; }.dashboard-sidebar { padding: 1rem; }.dashboard-brand { padding-bottom: .8rem; }.dashboard-user, .dashboard-logout { display: none; }.dashboard-nav { display: flex; gap: .2rem; overflow-x: auto; }.dashboard-nav p { display: none; }.dashboard-nav a { flex: 0 0 auto; margin: 0; border-left: 0; border-bottom: 2px solid transparent; }.dashboard-nav a.active { border-left: 0; border-bottom-color: #e7bd6e; }.dashboard-main { padding: 1.5rem; } }
@media (max-width: 650px) { .dashboard-header { display: block; }.dashboard-header-actions { margin-top: 1.2rem; }.dashboard-site-link span { display: none; }.dashboard-stat-grid, .dashboard-lower-grid { grid-template-columns: 1fr; }.dashboard-stat { min-height: 105px; }.dashboard-main { padding: 1.25rem; }.dashboard-header h1 { font-size: 2.25rem; } }

footer {
  background: var(--ink);
  color: #fff
}

footer a {
  display: block;
  margin: .5rem 0;
  color: #cfc8bd;
  text-decoration: none;
  font-size: .84rem
}

footer a:hover {
  color: #e7bd6e
}

footer hr {
  border-color: #ffffff24
}

@media(max-width:991px) {
  .min-vh-75 {
    min-height: auto;
    padding: 5.5rem 0
  }
  .hero-visual {
    margin: 0 auto
  }
  .hero-card {
    left: 0
  }
  .py-lg-6 {
    padding-top: 4.5rem !important;
    padding-bottom: 4.5rem !important
  }
  .instructor-copy {
    padding: 2.5rem
  }
  .admin-side {
    min-height: auto;
    margin-bottom: 1rem
  }
  .admin-side a {
    display: inline-block;
    width: 48%;
    padding: .4rem
  }
}

@media(max-width:575px) {
  .topbar-phone {
    display: none
  }
  .hero h1 {
    font-size: 3.65rem
  }
  .hero-visual {
    padding-left: .8rem
  }
  .hero-visual>img {
    height: 360px
  }
  .hero-card {
    left: .1rem;
    bottom: -1.25rem;
    max-width: 270px
  }
  .about-visual {
    padding-right: 1rem
  }
  .about-visual img {
    height: 350px
  }
  .about-badge {
    right: -.2rem
  }
  .instructor-photo {
    height: 330px
  }
  .instructor-copy {
    padding: 2.2rem 1.5rem
  }
  .csp-image {
    height: 205px
  }
}

.mpt-actions {
  background: var(--cream)
}

.mpt-action-card {
  display: block;
  height: 100%;
  min-height: 315px;
  padding: 2.2rem;
  background: var(--ink);
  color: #fff;
  text-decoration: none;
  transition: transform .25s, box-shadow .25s
}

.mpt-action-card:hover {
  transform: translateY(-6px);
  color: #fff;
  box-shadow: 7px 7px 0 var(--rust)
}

.mpt-action-card.subject-card {
  background: var(--sage)
}

.mpt-action-card>i {
  display: block;
  margin-bottom: 2.2rem;
  color: #e7bd6e;
  font-size: 1.7rem
}

.mpt-action-card>span {
  display: block;
  color: #e7bd6e;
  font-family: 'DM Mono', monospace;
  font-size: .62rem;
  letter-spacing: .12em
}

.mpt-action-card h3 {
  margin: .7rem 0;
  font-size: 3rem;
  line-height: .88
}

.mpt-action-card p {
  max-width: 390px;
  color: #e0d9cf;
  line-height: 1.7
}

.mpt-action-card b {
  display: block;
  margin-top: 1.5rem;
  font-family: 'DM Mono', monospace;
  font-size: .72rem;
  letter-spacing: .03em
}

.mpt-action-card b i {
  margin-left: .45rem
}

.test-hero {
  padding: 4.5rem 0
}

.test-hero h1 {
  font-size: clamp(3.5rem, 6vw, 5.5rem)
}

.quiz-page {
  background: var(--paper)
}

.homepage-slider { width: 100%; margin: 0; background: var(--ink); }
.homepage-slider .carousel-item { aspect-ratio: 3 / 1; }
.homepage-slider img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; }

.quiz-intro {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding: 1rem 1.2rem;
  border: 1px solid var(--line);
  color: var(--muted);
  font-size: .78rem
}

.quiz-intro span:first-child {
  color: var(--rust);
  font-family: 'DM Mono', monospace
}

.question-card {
  margin-bottom: 1.25rem;
  padding: 1.25rem;
  border: 1px solid var(--line);
  background: #fff;
  max-width: 100%
}

.question-number {
  color: var(--rust);
  font-family: 'DM Mono', monospace;
  font-size: .64rem;
  letter-spacing: .1em
}

.question-card h4 {
  margin: .75rem 0 1rem;
  font-size: 1.35rem;
  line-height: 1.15
}

.answer-option {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin: .55rem 0;
  padding: .75rem;
  border: 1px solid transparent;
  cursor: pointer;
  font-size: .86rem
}

.answer-option:hover {
  border-color: var(--line);
  background: var(--paper)
}

.answer-option input {
  accent-color: var(--rust)
}

.answer-option span {
  display: grid;
  place-items: center;
  flex: 0 0 1.6rem;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  background: var(--cream);
  font-family: 'DM Mono', monospace;
  font-size: .66rem
}

@media (max-width: 767px) {
  html, body, .quiz-page { overflow-x: hidden !important; }
  .brand-copy small::after { display: none; }
  .quiz-page .container { min-width: 0; padding-left: .9rem; padding-right: .9rem; }
  .question-card { padding: 1rem; }
  .question-card h4 { font-size: 1.1rem; overflow-wrap: anywhere; }
  .quiz-intro { flex-wrap: wrap; padding: .8rem; }
  .answer-option { min-width: 0; padding: .65rem; overflow-wrap: anywhere; }
}

.quiz-result {
  margin-top: 1.5rem;
  padding: 1.7rem;
  background: var(--ink);
  color: #fff
}

.quiz-result strong,
.quiz-result span {
  display: block
}

.quiz-result strong {
  font-family: Newsreader, serif;
  font-size: 3rem;
  line-height: 1
}

.quiz-result span {
  margin: .5rem 0;
  color: #e7bd6e;
  font-family: 'DM Mono', monospace;
  font-size: .65rem;
  letter-spacing: .1em
}

.quiz-result p {
  margin: 0;
  color: #d8d2c8
}

.subject-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem
}

.subject-choice {
  display: flex;
  flex-direction: column;
  gap: .8rem;
  min-height: 150px;
  padding: 1.3rem;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  text-decoration: none
}

.subject-choice:hover,
.subject-choice.active {
  border-color: var(--rust);
  box-shadow: 4px 4px 0 var(--rust);
  color: var(--ink)
}

.subject-choice>i {
  color: var(--rust);
  font-size: 1.25rem
}

.subject-choice span {
  font-family: Newsreader, serif;
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1
}

.subject-choice small {
  margin-top: auto;
  color: var(--muted);
  font-family: 'DM Mono', monospace;
  font-size: .58rem;
  letter-spacing: .04em
}

.empty-practice {
  padding: 3.5rem 1rem;
  color: var(--muted)
}

.empty-practice i {
  color: var(--rust);
  font-size: 1.4rem
}

.empty-practice h3 {
  margin-top: 1rem;
  font-size: 2rem
}

.test-category-card { display: flex; align-items: center; gap: 1.5rem; max-width: 860px; margin: auto; padding: 2rem; border: 1px solid var(--line); background: #fff; }
.test-category-card > i { color: var(--rust); font-size: 2.5rem; }
.test-category-card div { flex: 1; }
.test-category-card span { color: var(--rust); font: .65rem 'DM Mono', monospace; letter-spacing: .1em; text-transform: uppercase; }
.test-category-card h2 { margin: .5rem 0; font-size: 2.25rem; }
.test-category-card p { margin: 0; color: var(--muted); }

@media(max-width:767px) {
  .subject-grid {
    grid-template-columns: repeat(2, 1fr)
  }
  .quiz-intro {
    flex-direction: column
  }
  .mpt-action-card {
    min-height: 280px
  }
  .test-category-card { align-items: flex-start; flex-wrap: wrap; }
}

@media(max-width:420px) {
  .subject-grid {
    grid-template-columns: 1fr
  }
}

.mpt-page h2 {
  font-size: clamp(2.7rem, 4vw, 4.2rem);
  line-height: .95
}

.mpt-page>p {
  color: var(--muted);
  line-height: 1.8
}

.mpt-card {
  height: 100%;
  padding: 2.4rem;
  background: var(--ink);
  color: #e6dfd5
}

.mpt-card h3 {
  margin: 1rem 0;
  color: #fff;
  font-size: 2.7rem;
  line-height: .95
}

.mpt-card p {
  line-height: 1.8
}

.mpt-card hr {
  margin: 2.5rem 0;
  border-color: #ffffff2b
}

.mpt-card small,
.mpt-card strong {
  display: block;
  font-family: 'DM Mono', monospace;
  font-size: .65rem;
  letter-spacing: .1em
}

.mpt-card strong {
  margin-top: .35rem;
  color: #e7bd6e;
  font-size: .9rem
}

.whatsapp-float {
  display: none !important;
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 1050;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .75rem 1rem;
  background: #25d366;
  color: #fff;
  text-decoration: none;
  border-radius: 999px;
  box-shadow: 0 8px 22px #0004;
  font-size: .78rem;
  font-weight: 800
}

.whatsapp-float:hover {
  background: #1ebc5b;
  color: #fff
}

.whatsapp-float i {
  font-size: 1.3rem
}

.social-rail { position: fixed; right: .8rem; top: 28%; z-index: 1040; display: flex; flex-direction: column; gap: .6rem; }
.social-rail a { display: grid; place-items: center; width: 3rem; height: 3rem; border: 2px solid #fff; border-radius: 50%; color: #fff; text-decoration: none; box-shadow: 0 5px 14px #0004; transition: transform .2s, box-shadow .2s; }
.social-rail a:hover { color: #fff; transform: translateX(-.25rem) scale(1.08); box-shadow: 0 8px 18px #0006; }
.social-rail__youtube { background: #ff0000; }
.social-rail__instagram { background: linear-gradient(135deg, #833ab4 0%, #fd1d1d 52%, #fcb045 100%); }
.social-rail__facebook { background: #1877f2; }
.social-rail__whatsapp { background: #25d366; }
.social-rail__youtube:hover { background: #cc0000; }
.social-rail__instagram:hover { background: linear-gradient(135deg, #6e2c99 0%, #d91616 52%, #e4942d 100%); }
.social-rail__facebook:hover { background: #0f63cb; }
.social-rail__whatsapp:hover { background: #1ebe57; }
.interview-hero { background: linear-gradient(120deg, #1d2522 0%, #34423d 58%, #9c793d 160%); }
.interview-hero .eyebrow, .interview-hero h1, .interview-hero p { color: #fff; }
.interview-intro { display: grid; grid-template-columns: auto 1fr; gap: 1.4rem; align-items: center; max-width: 900px; margin: 0 auto 3rem; padding: 1.8rem 2rem; border-left: 5px solid var(--rust); background: #f6f1e8; }
.interview-intro>i { display: grid; place-items: center; width: 3.8rem; height: 3.8rem; background: var(--ink); color: #e7bd6e; font-size: 1.4rem; }
.interview-intro span { color: var(--rust); font: 700 .66rem 'DM Mono', monospace; letter-spacing: .12em; }
.interview-intro h2 { margin: .3rem 0 .5rem; font-size: 2rem; }.interview-intro p { margin: 0; color: var(--muted); }
.interview-card { overflow: hidden; background: #fffdfa; border: 1px solid var(--line); box-shadow: 5px 5px 0 #9c793d1c; transition: transform .2s, box-shadow .2s; }
.interview-card:hover { transform: translateY(-4px); box-shadow: 7px 8px 0 #9c793d38; }
.interview-card__photo { position: relative; height: 260px; background: var(--cream); }.interview-card__photo img { width: 100%; height: 100%; object-fit: cover; }
.interview-card__photo span { position: absolute; right: .8rem; bottom: .8rem; padding: .35rem .55rem; background: var(--ink); color: #fff; font: 700 .61rem 'DM Mono', monospace; letter-spacing: .06em; text-transform: uppercase; }
.interview-card__body { padding: 1.35rem; }.interview-card__body>small { color: var(--rust); font: 700 .67rem 'DM Mono', monospace; letter-spacing: .08em; text-transform: uppercase; }.interview-card__body h2 { margin: .4rem 0 .65rem; font-size: 1.75rem; }.interview-card__body p { color: var(--muted); font-size: .9rem; line-height: 1.65; }
.interview-card__actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }.interview-card__actions a { padding: .5rem .65rem; background: var(--ink); color: #fff; font-size: .75rem; font-weight: 700; text-decoration: none; }.interview-card__actions a:last-child { background: #b3261e; }.interview-card__actions a:hover { color: #fff; opacity: .86; }
@media(max-width:575px) { .interview-intro { grid-template-columns: 1fr; padding: 1.4rem; }.interview-intro>i { width: 3.25rem; height: 3.25rem; }.interview-intro h2 { font-size: 1.6rem; } }
.faq-page { background: linear-gradient(135deg, #f7f2e9 0%, var(--paper) 55%, #eee4d4 100%); }
.faq-intro { margin-bottom: 2rem; padding: 2.5rem 2.75rem; background: var(--ink); color: #fff; box-shadow: 8px 8px 0 var(--rust); }
.faq-intro span { color: #e7bd6e; font: .66rem 'DM Mono', monospace; letter-spacing: .12em; }.faq-intro span i { margin-right: .45rem; }
.faq-intro h2 { max-width: 560px; margin: .75rem 0; font-size: clamp(2.2rem,4vw,3.5rem); line-height: .93; }.faq-intro p { max-width: 620px; margin: 0; color: #d8d2c8; line-height: 1.75; }
.faq-list { display: grid; gap: 1rem; }
.faq-item { overflow: hidden; border: 1px solid var(--line); background: #fffdfa; transition: border-color .2s, box-shadow .2s; }
.faq-item:hover { border-color: var(--rust); box-shadow: 4px 4px 0 #9c793d30; }.faq-item[open] { border-color: var(--rust); box-shadow: 5px 5px 0 var(--rust); }
.faq-item summary { display: grid; grid-template-columns: 2.4rem 1fr 2rem; align-items: center; gap: 1rem; padding: 1.3rem 1.4rem; cursor: pointer; list-style: none; }.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary strong { font-size: .93rem; line-height: 1.5; }.faq-number { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; background: var(--cream); color: var(--rust); font: .68rem 'DM Mono', monospace; font-weight: 700; }
.faq-item summary>i { display: grid; place-items: center; width: 2rem; height: 2rem; background: var(--ink); color: #fff; font-size: .7rem; transition: transform .2s, background .2s; }.faq-item[open] summary>i { background: var(--rust); transform: rotate(45deg); }
.faq-answer { margin: 0 1.4rem 0 4.8rem; padding: 0 0 1.35rem; border-top: 1px solid var(--line); }.faq-answer p { max-width: 680px; margin: 1rem 0 0; color: var(--muted); line-height: 1.85; }
@media(max-width:575px) { .faq-intro { padding: 2rem 1.4rem; box-shadow: 5px 5px 0 var(--rust); }.faq-item summary { grid-template-columns: 2.15rem 1fr 1.8rem; gap: .7rem; padding: 1rem; }.faq-number { width: 2.15rem; height: 2.15rem; }.faq-answer { margin: 0 1rem; padding-bottom: 1rem; } }
.past-paper-grid { display: grid; gap: 1.5rem; }.past-paper-year { display: grid; grid-template-columns: 120px 1fr; gap: 1.25rem; }.past-paper-year__label { padding: 1rem; background: var(--ink); color: #e7bd6e; font: 700 1.3rem Newsreader, serif; text-align: center; height: fit-content; }.past-paper-item { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.15rem; border: 1px solid var(--line); background: #fff; }.past-paper-item h3 { margin: 0 0 .35rem; font-size: 1.45rem; }
@media(max-width:575px) { .social-rail { top: 35%; }.past-paper-year { grid-template-columns: 1fr; gap: .5rem; }.past-paper-year__label { text-align: left; }.past-paper-item { align-items: flex-start; flex-direction: column; } }

.quiz-controls {
  display: flex;
  gap: .75rem;
  justify-content: space-between
}

.question-nav {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin: 0 0 1.25rem
}

.question-nav button {
  width: 2.1rem;
  height: 2.1rem;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  font: 600 .72rem 'DM Mono', monospace
}

.question-nav button.answered {
  border-color: var(--sage);
  background: #e6ede4
}

.question-nav button.active {
  border-color: var(--rust);
  background: var(--rust);
  color: #fff
}

.quiz-intro strong {
  margin-left: .3rem
}

.quiz-result.d-none {
  display: none
}

@media(max-width:575px) {
  .quiz-controls {
    flex-wrap: wrap
  }
  .quiz-controls .btn:last-child {
    width: 100%
  }
}

/* Keep the full navigation usable on tablets and phones. */
@media (max-width:1199.98px) {
  .navbar-expand-lg .navbar-toggler { display: block; }
  .navbar-expand-lg .navbar-collapse { display: none !important; flex-basis: 100%; }
  .navbar-expand-lg .navbar-collapse.show { display: block !important; }
  .navbar-expand-lg .navbar-nav { flex-direction: column; align-items: stretch !important; padding: .75rem 0; }
  .navbar-expand-lg .nav-item { width: 100%; }
  .navbar-expand-lg .nav-link { margin: 0; padding: .7rem .15rem; }
  .navbar-expand-lg .dropdown-menu { position: static; width: 100%; margin: 0; border: 0; box-shadow: none; }
}

@media (max-width:575px) {
  .navbar { padding: .8rem 0; }
  .brand-lockup img { width: 42px; height: 42px; }
  .navbar-brand { font-size: 1.35rem; }
  .page-hero { padding: 3.25rem 0; }
  .page-hero h1 { font-size: clamp(2.35rem, 12vw, 3.4rem); }
  .panel { padding: 1.25rem; }
  .social-rail { right: .45rem; gap: .45rem; }
  .social-rail a { width: 2.65rem; height: 2.65rem; }
}

/* News and announcements */
.new-badge{display:inline-block;margin-left:.28rem;padding:.12rem .3rem;background:#d71920;color:#fff;border-radius:2px;font:800 .55rem 'DM Mono',monospace;letter-spacing:.05em;vertical-align:middle;animation:newBlink 1s steps(2,start) infinite}.topbar-news-link{color:#fff!important;font-weight:700}@keyframes newBlink{50%{opacity:.2}}@media(prefers-reduced-motion:reduce){.new-badge{animation:none}}
.news-hero{position:relative;overflow:hidden;padding:5.5rem 0;background:linear-gradient(120deg,#17201d 0%,#293832 72%,#4b422f 140%);color:#fff}.news-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.035) 50%),linear-gradient(rgba(255,255,255,.035) 49.8%,transparent 50%);background-size:70px 70px}.news-hero__inner{position:relative;display:flex;justify-content:space-between;align-items:center;gap:3rem}.news-kicker{color:#e7bd6e;font:700 .67rem 'DM Mono',monospace;letter-spacing:.13em}.news-kicker i{margin-right:.45rem}.news-hero h1{max-width:800px;margin:1rem 0;font-size:clamp(3rem,6vw,5.5rem);line-height:.91}.news-hero h1 em{color:#e7bd6e;font-weight:400}.news-hero p{max-width:680px;margin:0;color:#d7ddd9;font-size:1.05rem;line-height:1.8}.news-hero__mark{display:grid;flex:0 0 170px;place-items:center;width:170px;height:170px;border:1px solid rgba(231,189,110,.55);transform:rotate(3deg);color:#e7bd6e}.news-hero__mark i{font-size:2.3rem}.news-hero__mark span{font:700 .7rem 'DM Mono',monospace;letter-spacing:.12em;text-align:center;text-transform:uppercase}.news-ticker{padding:.8rem 0;background:var(--rust);color:#fff}.news-ticker .container{display:flex;justify-content:center;align-items:center;gap:1.5rem;font:700 .62rem 'DM Mono',monospace;letter-spacing:.13em}.news-ticker i{width:4px;height:4px;border-radius:50%;background:#e7bd6e}
.news-section,.news-archive{background:linear-gradient(135deg,#f7f2e9 0%,var(--paper) 60%,#eee4d4 100%)}.news-archive{padding:4.5rem 0 5.5rem}.news-archive__heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.news-archive__heading span{color:var(--rust);font:700 .66rem 'DM Mono',monospace;letter-spacing:.12em}.news-archive__heading h2{margin:.25rem 0 0;font-size:2.7rem}.news-archive__heading p{margin:0;color:var(--muted);font-size:.85rem}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.news-view-all,.news-back{color:var(--rust);font-weight:700;text-decoration:none}.news-card{display:flex;flex-direction:column;overflow:hidden;min-width:0;background:#fffdfa;border:1px solid var(--line);box-shadow:4px 4px 0 #9c793d1c;transition:transform .2s,box-shadow .2s}.news-card:hover{transform:translateY(-4px);box-shadow:7px 8px 0 #9c793d30}.news-card__image{position:relative;display:block;height:165px;overflow:hidden;background:var(--cream)}.news-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.news-card:hover img{transform:scale(1.04)}.news-card__image>span{position:absolute;top:.7rem;left:.7rem;padding:.32rem .52rem;background:#b3261e;color:#fff;font:700 .58rem 'DM Mono',monospace;letter-spacing:.07em;text-transform:uppercase}.news-card__body{display:flex;flex:1;flex-direction:column;padding:1.25rem}.news-card__meta{display:flex;justify-content:space-between;gap:.5rem;color:var(--muted);font:600 .6rem 'DM Mono',monospace;letter-spacing:.05em;text-transform:uppercase}.news-card__meta span{color:var(--rust)}.news-card__body>small{color:var(--rust);font:700 .64rem 'DM Mono',monospace}.news-card__body h3{margin:.55rem 0;font-size:1.5rem;line-height:1.1}.news-card__body h3 a{color:var(--ink);text-decoration:none}.news-card__body p{margin-bottom:1.1rem;color:var(--muted);font-size:.9rem;line-height:1.65}.news-card__link,.news-card__body>a{margin-top:auto;color:var(--rust);font-size:.78rem;font-weight:800;text-decoration:none}.news-card__link i{margin-left:.3rem;transition:transform .2s}.news-card__link:hover i{transform:translateX(4px)}.news-empty{grid-column:1/-1;padding:3.5rem;border:1px dashed var(--line);background:#fffdfa;color:var(--muted);text-align:center}.news-empty>i{color:var(--rust);font-size:2rem}.news-empty h3{margin:.7rem 0 .3rem;color:var(--ink)}
.news-detail{min-height:70vh;background:linear-gradient(135deg,#f7f2e9,var(--paper))}.news-detail__top{padding:1rem 0;border-bottom:1px solid var(--line);background:#fffdfa}.news-detail__article{max-width:960px;padding-top:3.5rem;padding-bottom:5rem}.news-detail__header{max-width:820px;margin:0 auto 2rem;text-align:center}.news-detail__meta{display:flex;justify-content:center;align-items:center;gap:.7rem;color:var(--muted);font:700 .64rem 'DM Mono',monospace;letter-spacing:.07em;text-transform:uppercase}.news-detail__meta span{color:var(--rust)}.news-detail__meta i{width:4px;height:4px;border-radius:50%;background:var(--rust)}.news-detail__meta b{padding:.25rem .45rem;background:#b3261e;color:#fff;font-size:.55rem}.news-detail__header h1{margin:.8rem auto 1rem;font-size:clamp(2.35rem,5vw,4.3rem);line-height:.98}.news-detail__header p{max-width:720px;margin:auto;color:var(--muted);font-size:1.1rem;line-height:1.75}.news-detail__media{max-width:760px;margin:0 auto 2.5rem}.news-detail__media img{display:block;width:100%;height:340px;object-fit:cover;border:1px solid var(--line);box-shadow:7px 7px 0 var(--rust)}.news-detail__media figcaption{margin-top:.75rem;color:var(--muted);font:600 .6rem 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase}.news-detail__content{display:grid;grid-template-columns:90px minmax(0,680px);justify-content:center;gap:2rem}.news-detail__content aside{padding-top:.4rem;border-right:1px solid var(--line)}.news-detail__content aside span{display:block;margin-bottom:.7rem;color:var(--muted);font:700 .55rem 'DM Mono',monospace;letter-spacing:.09em}.news-detail__content aside a{display:grid;place-items:center;width:35px;height:35px;background:#263d34;color:#fff;text-decoration:none}.news-detail__copy{color:#424945;font-size:1.05rem;line-height:1.95}.news-detail__footer{display:flex;align-items:center;gap:1rem;max-width:770px;margin:3rem auto 0;padding:1.3rem 1.5rem;background:var(--ink);color:#fff}.news-detail__footer>i{color:#e7bd6e;font-size:1.3rem}.news-detail__footer p{margin:0;color:#cdd4d0;font-size:.82rem}.news-detail__footer a{margin-left:auto;padding:.55rem .7rem;background:var(--rust);color:#fff;font-size:.72rem;font-weight:700;text-decoration:none}
@media(max-width:767px){.news-hero{padding:4rem 0}.news-hero__mark{display:none}.news-ticker .container{gap:.65rem}.news-grid{grid-template-columns:1fr}.news-card__image{height:150px}.news-archive__heading{align-items:start;flex-direction:column;gap:.5rem}.news-detail__article{padding-top:2.5rem}.news-detail__media{max-width:100%}.news-detail__media img{height:230px;box-shadow:5px 5px 0 var(--rust)}.news-detail__content{grid-template-columns:1fr;gap:1rem}.news-detail__content aside{display:flex;align-items:center;gap:.7rem;border:0}.news-detail__content aside span{margin:0}.news-detail__footer{align-items:flex-start;flex-wrap:wrap}.news-detail__footer a{margin-left:0}.news-ticker span:nth-of-type(4),.news-ticker i:nth-of-type(3){display:none}}
/* Searchable past-paper archive */
.papers-hero{padding:5rem 0;background:linear-gradient(120deg,#18211e,#34443e 72%,#745c32 145%);color:#fff}.papers-hero .eyebrow{color:#e7bd6e}.papers-hero h1{margin:.8rem 0;font-size:clamp(3rem,6vw,5.3rem);line-height:.9}.papers-hero h1 em{color:#e7bd6e;font-weight:400}.papers-hero p{max-width:620px;margin:0;color:#d3dad6;font-size:1.05rem}.papers-page{padding:3.5rem 0 5rem;background:linear-gradient(135deg,#f7f2e9,var(--paper))}.paper-filters{display:grid;grid-template-columns:repeat(4,1fr) 1.4fr auto;gap:.8rem;align-items:end;margin-bottom:1.5rem;padding:1.2rem;background:#fffdfa;border:1px solid var(--line);box-shadow:5px 5px 0 #9c793d20}.paper-filters label{display:block;margin-bottom:.35rem;color:var(--muted);font:700 .58rem 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase}.paper-filters select,.paper-filters input{width:100%;height:42px;padding:.55rem .65rem;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:.83rem}.paper-search>div{position:relative}.paper-search i{position:absolute;top:14px;left:.7rem;color:var(--rust);font-size:.75rem}.paper-search input{padding-left:2rem}.paper-filters button{height:42px;padding:0 .85rem;border:0;background:var(--ink);color:#fff;font-size:.75rem;font-weight:700}.papers-toolbar{display:flex;justify-content:space-between;margin-bottom:1rem;color:var(--muted);font-size:.78rem}.papers-toolbar p{margin:0}.papers-toolbar strong{color:var(--rust);font-size:1rem}.paper-archive{display:grid;gap:1rem}.paper-card{display:grid;grid-template-columns:105px 1fr;overflow:hidden;border:1px solid var(--line);background:#fffdfa;box-shadow:4px 4px 0 #9c793d18;transition:.2s}.paper-card:hover{transform:translateY(-2px);border-color:#b39359;box-shadow:6px 6px 0 #9c793d2e}.paper-card[hidden]{display:none}.paper-card__year{display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--ink);color:#e7bd6e;font:700 1.5rem Newsreader,serif}.paper-card__year small{margin-top:.25rem;color:#fff;font:700 .58rem 'DM Mono',monospace;letter-spacing:.1em}.paper-card__content{padding:1.15rem 1.3rem}.paper-card__meta{display:flex;gap:.7rem;align-items:center;margin-bottom:.35rem;color:var(--rust);font:700 .6rem 'DM Mono',monospace;letter-spacing:.06em;text-transform:uppercase}.paper-card__meta b{padding-left:.7rem;border-left:1px solid var(--line);color:var(--muted)}.paper-card h2{margin:.25rem 0;font-size:1.55rem}.paper-card p{margin:.4rem 0;color:var(--muted);font-size:.85rem}.paper-card__actions{display:flex;gap:.55rem;margin-top:.75rem}.paper-card__actions a{padding:.45rem .65rem;background:var(--rust);color:#fff;font-size:.7rem;font-weight:700;text-decoration:none}.paper-card__actions a+ a{background:transparent;border:1px solid var(--rust);color:var(--rust)}.papers-no-results{padding:4rem;background:#fffdfa;border:1px dashed var(--line);text-align:center}.papers-no-results i{color:var(--rust);font-size:2rem}.papers-no-results h2{margin:.7rem 0 .3rem}.admin-paper-row summary{display:flex;justify-content:space-between;gap:1rem;cursor:pointer}
@media(max-width:991px){.paper-filters{grid-template-columns:repeat(3,1fr)}}
@media(max-width:575px){.papers-hero{padding:3.7rem 0}.paper-filters{grid-template-columns:1fr 1fr}.paper-search{grid-column:1/-1}.paper-card{grid-template-columns:72px 1fr}.paper-card__year{font-size:1.15rem}.paper-card__content{padding:1rem}.paper-card h2{font-size:1.25rem}.paper-card__meta{align-items:flex-start;flex-direction:column;gap:.25rem}.paper-card__meta b{padding:0;border:0}.papers-toolbar span{display:none}}