
    /* -------------------------
       Custom CSS variables
       ------------------------- */
    :root{
      --bg: #f6f8fb;
      --card: #ffffff;
      --muted: #6b7280;
      --accent: #b61f2a;
      --accent-2: #a13807;
      --paper: #fffdfc;
      --radius: 12px;
      --glass: rgba(255,255,255,0.6);
      --maxw: 1100px;
      --pad: 20px;
      --shadow: 0 6px 18px rgba(16,24,40,0.08);
      --mono: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    }

    /* -------------------------
       Base
       ------------------------- */
    /* html,body{height:100%}
    body{
      margin:0;
      font-family: var(--mono);
      background:
        linear-gradient(180deg, rgba(11,116,222,0.03), rgba(7,161,139,0.02)),
        var(--bg);
      color:#111827;
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
      line-height:1.55;
      padding: 32px 16px;
      display:flex;
      justify-content:center;
    } */

    /* -------------------------
       Page container
       ------------------------- */
    .wrap{
      width:100%;
      max-width: var(--maxw);
      margin: 0 auto;
    }

    header.site-header{
      background: linear-gradient(90deg, rgba(11,116,222,0.08), rgba(7,161,139,0.04));
      border-radius: var(--radius);
      padding: 18px;
      display:flex;
      gap:16px;
      align-items:center;
      box-shadow: var(--shadow);
      margin-bottom:18px;
      border: 1px solid rgba(11,116,222,0.06);
      backdrop-filter: blur(6px);
    }

    .brand{
      display:flex;
      gap:12px;
      align-items:center;
    }

    .logo{
      width:62px;
      height:62px;
      border-radius:10px;
      background:linear-gradient(135deg,var(--accent),var(--accent-2));
      display:flex;
      align-items:center;
      justify-content:center;
      color:white;
      font-weight:700;
      font-size:14px;
      box-shadow: 0 6px 14px rgba(11,116,222,0.12);
      flex:0 0 62px;
    }

    .title{
      display:flex;
      flex-direction:column;
      gap:4px;
    }
    .title h1{
      margin:0;
      font-size:18px;
      line-height:1.12;
    }
    .title .sub{
      font-size:13px;
      color:var(--muted);
    }

    /* -------------------------
       Layout: main + sidebar
       ------------------------- */
.layout {
    display: grid;
    grid-template-columns: 1fr 331px;
    gap: 10px;
}

    /* Main content */
    main.card{
      background: linear-gradient(180deg, var(--card), var(--paper));
      border-radius: 14px;
      padding: var(--pad);
      box-shadow: var(--shadow);
      border: 1px solid rgba(15,23,42,0.03);
    }

    /* Sidebar */
    aside.card{
      position:sticky;
      top:22px;
      height:fit-content;
      background:linear-gradient(180deg, var(--card), #fbfdff);
      border-radius: 14px;
      padding: 15px;
      box-shadow: var(--shadow);
      border: 1px solid rgba(15,23,42,0.03);
      font-size:14px;
    }

    /* Page sections */
    section.prog-section{
      margin-bottom:18px;
      display:block;
    }

    h2.section-title-d{
      margin:0 0 8px 0;
      font-size:18px;
      color:#0f172a;
      display:flex;
      align-items:center;
      gap:10px;
    }

.meta {
    font-size: 13px;
    color: #c30000;
    margin-bottom: 12px;
    font-weight: 600;
    font-style: italic;
    text-decoration: underline;
}

    p{ margin:0 0 10px 0; white-space:pre-wrap; }

    .muted{
      color:var(--muted);
    }

    /* Lists that preserve the bullet characters in your content */
    .bullet-list, .sub-bullet{
      margin:8px 0 12px 0;
      padding:0 0 0 0;
      list-style:none;
    }
    /* .bullet-list li { margin:6px 0; } */
    .bullet-list li::marker { color: var(--accent); }

    /* stylized boxed callouts for numbered blocks */
    .num-block{
      border-radius:10px;
      background: linear-gradient(180deg, rgba(11,116,222,0.02), rgba(7,161,139,0.01));
      padding:12px;
      border: 1px dashed rgba(11,116,222,0.06);
      margin:8px 0 14px 0;
    }

    /* small footer area for repeated contact details */
    .contact{
      margin-top:12px;
      padding-top:12px;
      border-top:1px dashed rgba(15,23,42,0.04);
      font-size:13px;
      color:var(--muted);
      line-height:1.4;
    }

    /* page-wide utility */
    .muted-small{ color:var(--muted); font-size:13px; }
    .kicker{ font-weight:600; color:var(--accent); font-size:13px; letter-spacing:0.6px; }

    /* responsive */
    @media (max-width:960px){
      .layout{ grid-template-columns: 1fr; }
      aside.card{ position:relative; top:auto; }
    }

    @media (max-width:420px){
      header.site-header{ padding:12px; gap:12px; }
      .logo{ width:100%; height:52px; font-size:12px; }
      .title h1{ font-size:15px; }

      .brand {
    flex-direction: column !important;
}
    }

    /* small print for page numbers */
    .page-num{
      display:block;
      text-align:right;
      font-size:12px;
      color:var(--muted);
      margin-top:8px;
    }

    /* subtle section separators */
    .divider{
      height:1px;
      background:linear-gradient(90deg, transparent, rgba(15,23,42,0.04), transparent);
      margin:18px 0;
      border-radius:2px;
    }

    /* accessible focus */
    a:focus, button:focus { outline: 3px solid rgba(11,116,222,0.14); outline-offset:3px; }


    /* ----------------------------------
   Enroll Button
---------------------------------- */
.enroll-btn{
  display:inline-block;
  margin-top:12px;
  padding:10px 18px;
  background:var(--accent);
  color:white;
  font-weight:600;
  border-radius:8px;
  text-decoration:none;
  font-size:14px;
  box-shadow:0 4px 10px rgba(11,116,222,0.25);
  transition:0.2s ease;
  text-align: center;
}
.enroll-btn:hover{
  background:#b50808;
  box-shadow:0 4px 14px rgba(11,116,222,0.35);
  color: white;
}

/* Align right block */
.header-right{
  margin-left:auto;
  text-align:right;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

/* ----------------------------------
   Enrollment Form
---------------------------------- */
.enroll-form{
  margin-top:16px;
  background:var(--card);
  padding:18px;
  border-radius:12px;
  box-shadow:var(--shadow);
  border:1px solid rgba(15,23,42,0.06);
  max-width:650px;
}

.form-row{
  display:flex;
  flex-direction:column;
  margin-bottom:14px;
}

.form-row label{
  font-size:14px;
  margin-bottom:4px;
  font-weight:600;
}

.form-row input{
  padding:10px;
  border:1px solid rgba(0,0,0,0.2);
  border-radius:8px;
  font-size:15px;
  background:#fff;
}

.submit-btn{
  padding:12px 18px;
  background:var(--accent-2);
  color:white;
  border:none;
  border-radius:8px;
  font-weight:700;
  font-size:15px;
  cursor:pointer;
  box-shadow:0 4px 14px rgba(7,161,139,0.25);
  transition:0.2s ease;
}
.submit-btn:hover{
  background:#068d78;
  box-shadow:0 4px 16px rgba(7,161,139,0.35);
}

/* ----------------------------------
   Responsive header improvements
---------------------------------- */
@media (max-width:820px){
  header.site-header{
    flex-direction:column;
    text-align:center;
  }

  .header-right{
    margin-left:0;
    text-align:center;
    margin-top:12px;
  }

  .enroll-btn{
    margin:12px auto 0 auto;
  }
}
