:root {
  --red: #ed1c24;
  --grey: #58585a;
  --ink: #202124;
  --light: #f6f6f4;
  --line: #d8d8d6;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  background: #fff;
}
a {
  color: inherit;
  text-decoration: none;
}
img {
  max-width: 100%;
  display: block;
}
header {
  height: 90px;
  padding: 10px clamp(20px, 6vw, 90px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  background: #fff;
}
header img {
  width: 250px;
  height: 72px;
  object-fit: contain;
  object-position: left center;
}
.site-logo {
  display: flex;
  align-items: center;
  min-width: 0;
}
.anniversary-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.anniversary-mark {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  border: 2px solid var(--red);
  border-radius: 50%;
  display: grid;
  place-content: center;
  text-align: center;
  color: var(--red);
  background: #fff;
  line-height: 0.82;
}
.anniversary-mark strong { font-size: 25px; letter-spacing: -0.06em; }
.anniversary-mark small { margin-top: 4px; color: var(--grey); font-size: 8px; font-weight: 900; letter-spacing: 0.13em; }
.footer-anniversary { margin-bottom: 18px; }
.footer-anniversary img { margin-bottom: 0; }
nav {
  display: flex;
  align-items: center;
  gap: 28px;
  font-size: 14px;
  font-weight: 700;
  color: var(--grey);
}
h1,
h2,
h3,
p {
  margin-top: 0;
}
h1 {
  font-size: clamp(52px, 8vw, 100px);
  line-height: 0.95;
  letter-spacing: -0.055em;
  margin: 18px 0 28px;
}
h2 {
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.05;
  letter-spacing: -0.04em;
}
.eyebrow {
  font-size: 12px;
  letter-spacing: 0.18em;
  color: var(--red);
  font-weight: 900;
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--red);
  color: #fff;
  border: 0;
  padding: 15px 22px;
  font-weight: 800;
  cursor: pointer;
}
.btn.small {
  padding: 11px 16px;
}
.hero {
  min-height: 570px;
  padding: 100px clamp(25px, 8vw, 120px);
  background: linear-gradient(135deg, var(--light), #fff);
  position: relative;
  overflow: hidden;
}
.hero:after {
  content: "CHA";
  position: absolute;
  right: -2vw;
  bottom: -8vw;
  font-size: clamp(190px, 32vw, 520px);
  font-weight: 900;
  letter-spacing: -0.1em;
  color: rgba(88, 88, 90, 0.05);
  line-height: 0.8;
}
.hero > * {
  position: relative;
  z-index: 1;
}
.hero p {
  max-width: 650px;
  font-size: 20px;
  line-height: 1.6;
  color: var(--grey);
}
.actions {
  display: flex;
  align-items: center;
  gap: 25px;
  margin-top: 30px;
}
.actions > a:last-child {
  font-weight: 800;
  border-bottom: 2px solid var(--grey);
  padding: 8px 0;
}
.section {
  padding: 95px clamp(22px, 7vw, 110px);
}
.cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid var(--line);
  margin-top: 45px;
}
.cards article {
  padding: 44px;
}
.cards article + article {
  border-left: 1px solid var(--line);
}
.cards small {
  color: var(--red);
  font-weight: 900;
  letter-spacing: 0.14em;
}
.cards h3 {
  font-size: 27px;
  margin: 14px 0 8px;
}
.cards p {
  color: var(--grey);
  line-height: 1.6;
}
.cards a {
  color: var(--red);
  font-weight: 800;
}
.before {
  background: var(--light);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
}
.before > div:first-child p {
  color: var(--grey);
  line-height: 1.6;
}
.fee {
  background: #fff;
  border-left: 5px solid var(--red);
  padding: 30px;
}
.fee > b {
  font-size: 25px;
}
.fee p {
  color: var(--grey);
  line-height: 1.5;
  margin: 10px 0 0;
}
.before ul {
  grid-column: 1/-1;
  display: flex;
  gap: 30px;
  padding: 0;
  list-style: none;
  color: var(--grey);
}
.request {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 65px;
}
.documents { background: #fff; }
.document-links { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 35px; }
.download-card { border: 1px solid var(--line); border-left: 5px solid var(--red); padding: 24px; display: flex; justify-content: space-between; align-items: center; }
.download-card b { font-size: 18px; }
.download-card span { color: var(--red); font-weight: 800; font-size: 13px; }
.request > div p {
  color: var(--grey);
  line-height: 1.6;
}
.request form {
  padding: 36px;
  background: var(--light);
  border: 1px solid var(--line);
}
label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 13px;
  font-weight: 800;
  color: var(--grey);
  margin-bottom: 18px;
}
input,
select,
textarea {
  width: 100%;
  padding: 13px;
  border: 1px solid #bbb;
  background: #fff;
  font: inherit;
  border-radius: 0;
}
textarea {
  min-height: 90px;
  resize: vertical;
}
.grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 20px;
}
.check {
  display: grid;
  grid-template-columns: 20px 1fr;
  align-items: start;
  line-height: 1.5;
}
.check input {
  width: 18px;
  height: 18px;
}
.hp {
  position: absolute !important;
  left: -9999px !important;
}
.success {
  padding: 12px;
  border-left: 4px solid var(--red);
  background: #fff;
  margin-top: 18px;
}
footer {
  padding: 50px clamp(22px, 7vw, 110px) 25px;
  border-top: 1px solid var(--line);
  color: var(--grey);
  font-size: 13px;
}
footer > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
footer img {
  width: 280px;
  height: auto;
  object-fit: contain;
  object-position: left center;
}
footer > p {
  border-top: 1px solid var(--line);
  padding-top: 22px;
  margin-top: 30px;
}
footer span {
  float: right;
  color: var(--red);
  font-weight: 800;
}
.form-page {
  background: var(--light);
}
.form-title {
  background: var(--ink);
  color: #fff;
  padding: 65px clamp(22px, 10vw, 150px);
}
.form-title h1 {
  font-size: clamp(46px, 7vw, 72px);
  margin-bottom: 14px;
}
.form-title p {
  color: #ccc;
}
.form-layout {
  display: grid;
  grid-template-columns: 300px minmax(0, 800px);
  gap: 45px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 55px 20px 90px;
}
.form-layout aside {
  position: sticky;
  top: 20px;
  align-self: start;
}
.red {
  background: var(--red);
  color: #fff;
  border: 0;
}
.red strong {
  font-size: 40px;
}
.red p {
  color: #fff;
}
.red hr {
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.35);
  margin: 18px 0;
}
.download {
  display: block;
  background: #fff;
  border: 1px solid var(--line);
  padding: 16px;
  color: var(--red);
  font-weight: 800;
  font-size: 13px;
  margin-top: 12px;
}
.enrol {
  background: #fff;
  border: 1px solid var(--line);
  padding: 42px;
}
.enrol fieldset {
  border: 0;
  border-bottom: 1px solid var(--line);
  padding: 0 0 35px;
  margin: 0 0 35px;
}
.enrol legend {
  font-size: 23px;
  font-weight: 900;
  margin-bottom: 24px;
}
.choices {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}
.choices label {
  border: 1px solid var(--line);
  padding: 20px;
  display: grid;
  grid-template-columns: 22px 1fr;
}
.choices input {
  width: 18px;
  height: 18px;
  grid-row: 1/3;
}
.choices b {
  color: var(--ink);
}
.choices small {
  font-weight: 400;
  margin-top: 5px;
}
.uploads {
  display: grid;
  gap: 12px;
}
.uploads label {
  border: 1px dashed #aaa;
  padding: 16px;
  margin: 0;
}
.uploads input {
  margin-top: 4px;
}
.notice,
.terms {
  background: #fff3f3;
  border-left: 4px solid var(--red);
  padding: 15px;
  line-height: 1.55;
}
.terms a {
  color: var(--red);
  font-weight: 800;
  text-decoration: underline;
}
.submit {
  min-width: 260px;
}
.message {
  max-width: 680px;
  margin: 12vh auto;
  padding: 60px 30px;
  text-align: center;
}
.message h1 {
  font-size: 50px;
}
.message p {
  color: var(--grey);
  font-size: 18px;
  line-height: 1.6;
}
.tick {
  width: 70px;
  height: 70px;
  margin: 0 auto 25px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--red);
  color: #fff;
  font-size: 34px;
}
@media (max-width: 850px) {
  .document-links { grid-template-columns: 1fr; }
  nav > a:not(.btn) {
    display: none;
  }
  .cards,
  .before,
  .request,
  .form-layout {
    grid-template-columns: 1fr;
  }
  .before ul {
    grid-column: 1;
    flex-direction: column;
  }
  .form-layout aside {
    position: static;
  }
  .request {
    gap: 25px;
  }
  .hero {
    min-height: 520px;
  }
  .form-title {
    padding: 50px 24px;
  }
}
@media (max-width: 540px) {
  header {
    height: 76px;
    padding: 8px 16px;
  }
  header img {
    width: 175px;
    height: 58px;
  }
  nav {
    gap: 10px;
  }
  .hero {
    padding: 75px 22px;
  }
  h1 {
    font-size: 52px;
  }
  .actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
  .section {
    padding: 70px 20px;
  }
  .cards {
    grid-template-columns: 1fr;
  }
  .cards article + article {
    border-left: 0;
    border-top: 1px solid var(--line);
  }
  .grid,
  .choices {
    grid-template-columns: 1fr;
  }
  .enrol {
    padding: 28px 20px;
  }
  .form-layout {
    padding: 25px 12px 60px;
  }
  footer > div {
    align-items: flex-start;
    flex-direction: column;
    gap: 20px;
  }
  footer span {
    float: none;
    display: block;
    margin-top: 8px;
  }
}

/* Secure admissions dashboard */
.admin-body { background: var(--light); }
.admin-header { position: sticky; top: 0; z-index: 10; }
.admin-shell { width: min(1240px, calc(100% - 40px)); margin: 0 auto; padding: 55px 0 90px; }
.admin-title,.admin-record-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 35px; margin-bottom: 30px; }
.admin-title h1,.admin-record-head h1 { font-size: clamp(42px,6vw,72px); margin: 10px 0 8px; }
.admin-title p,.admin-record-head p { color: var(--grey); }
.admin-stats { display: flex; gap: 12px; }
.admin-stats div { min-width: 120px; padding: 20px; background: #fff; border: 1px solid var(--line); }
.admin-stats strong { display: block; color: var(--red); font-size: 32px; }
.admin-stats span { color: var(--grey); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.admin-search { display: flex; gap: 10px; margin-bottom: 20px; }
.admin-search input { min-width: 0; }
.admin-search a { padding: 15px; color: var(--red); font-weight: 800; }
.admin-table-wrap { overflow-x: auto; background: #fff; border: 1px solid var(--line); }
.admin-table { width: 100%; border-collapse: collapse; min-width: 920px; }
.admin-table th { padding: 15px 18px; text-align: left; color: var(--grey); font-size: 11px; text-transform: uppercase; letter-spacing: .09em; background: #efefed; }
.admin-table td { padding: 18px; border-top: 1px solid var(--line); vertical-align: top; font-size: 14px; }
.admin-table small { display: block; color: var(--grey); line-height: 1.5; margin-top: 4px; }
.admin-open { color: var(--red); font-weight: 900; white-space: nowrap; }
.admin-empty { text-align: center; color: var(--grey); padding: 50px !important; }
.status,.mail-status { display: inline-block; padding: 7px 10px; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; }
.status.new { background: #fff0f0; color: var(--red); }.status.reviewing { background: #fff4d6; color: #865f00; }.status.complete,.mail-status.sent { background: #e6f5eb; color: #176b35; }.mail-status.failed { background: #fff0f0; color: var(--red); }
.admin-login { width: min(460px,calc(100% - 32px)); margin: 8vh auto; padding: 45px; background: #fff; border-top: 6px solid var(--red); box-shadow: 0 18px 55px rgba(0,0,0,.09); }
.admin-login img { width: 260px; margin-bottom: 35px; }.admin-login h1 { font-size: 48px; margin-bottom: 12px; }.admin-login p { color: var(--grey); line-height: 1.6; }.admin-login .btn { width: 100%; }.admin-back { display: block; margin-top: 24px; color: var(--grey); font-weight: 700; }
.admin-alert { padding: 13px; margin: 20px 0; background: #fff0f0; border-left: 4px solid var(--red); color: #8b1117; }
.status-form { display: flex; align-items: flex-end; gap: 10px; padding: 18px; background: #fff; border: 1px solid var(--line); }.status-form label { margin: 0; min-width: 180px; }
.admin-card { margin-top: 22px; padding: 32px; background: #fff; border: 1px solid var(--line); }.admin-card h2 { font-size: 26px; margin-bottom: 24px; }
.admin-details { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }.admin-details div { padding: 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.admin-details span { display: block; color: var(--grey); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 7px; }.admin-details b { line-height: 1.45; }
.admin-documents { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }.admin-documents a { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 18px; border: 1px solid var(--line); border-left: 4px solid var(--red); }.admin-documents small { display: block; color: var(--grey); margin-top: 5px; }.admin-documents strong { color: var(--red); }
@media (max-width: 760px) { .admin-shell { width: min(100% - 24px,1240px); padding-top: 30px; }.admin-title,.admin-record-head { align-items: stretch; flex-direction: column; }.admin-stats { width: 100%; }.admin-stats div { flex: 1; }.admin-search { flex-wrap: wrap; }.admin-search input { flex-basis: 100%; }.admin-details,.admin-documents { grid-template-columns: 1fr; }.status-form { width: 100%; }.admin-login { padding: 30px 22px; } }

/* Professional CHA admissions portal */
.portal-body { background: #f3f4f4; color: #242629; }
.portal-header { height: 104px; padding: 13px clamp(22px,5vw,72px); border-bottom: 1px solid #d7d9da; box-shadow: 0 3px 14px rgba(24,28,31,.05); position: sticky; top: 0; z-index: 30; }
.portal-header img { width: 218px; height: 70px; object-fit: contain; object-position: left center; }
.portal-brand { display: flex; align-items: center; gap: 22px; }
.portal-brand > span { border-left: 1px solid #d4d5d6; padding-left: 22px; }
.portal-brand b,.portal-brand small { display: block; }.portal-brand b { font-size: 15px; }.portal-brand small { color: var(--grey); font-size: 11px; margin-top: 4px; text-transform: uppercase; letter-spacing: .1em; }
.portal-shell { width: min(1320px,calc(100% - 48px)); margin: 0 auto; padding: 58px 0 85px; }
.portal-welcome { display: flex; justify-content: space-between; align-items: flex-end; gap: 35px; }
.portal-welcome h1 { font-size: clamp(48px,6vw,78px); margin: 12px 0 12px; }.portal-welcome p { max-width: 720px; color: var(--grey); font-size: 17px; line-height: 1.6; }
.portal-download-main { min-width: 275px; padding: 20px 22px; background: #fff; border: 1px solid #d8d9da; border-left: 5px solid var(--red); box-shadow: 0 9px 30px rgba(23,28,32,.06); }.portal-download-main b,.portal-download-main small { display: block; }.portal-download-main small { margin-top: 6px; color: var(--grey); }
.portal-stat-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin: 38px 0 24px; }
.portal-stat { padding: 22px; background: #fff; border: 1px solid #d9dbdc; position: relative; transition: .18s ease; }.portal-stat:hover,.portal-stat.active { border-color: var(--red); transform: translateY(-2px); box-shadow: 0 10px 25px rgba(25,29,33,.07); }.portal-stat.active:before { content:""; height: 4px; background: var(--red); position: absolute; left: -1px; right: -1px; top: -1px; }.portal-stat span { color: var(--grey); font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }.portal-stat strong { display: block; font-size: 36px; margin: 7px 0 2px; }.portal-stat small { color: #777; }
.portal-register { background: #fff; border: 1px solid #d9dbdc; box-shadow: 0 12px 42px rgba(25,29,33,.05); }
.portal-toolbar { min-height: 105px; padding: 24px 26px; display: flex; justify-content: space-between; align-items: center; gap: 30px; border-bottom: 1px solid #e1e2e3; }.portal-toolbar h2 { font-size: 25px; margin: 0 0 5px; }.portal-toolbar p { color: var(--grey); margin: 0; }.portal-toolbar form { display: flex; align-items: center; gap: 9px; min-width: min(100%,570px); }.portal-toolbar input { min-width: 0; }.portal-toolbar a { padding: 14px 8px; color: var(--red); font-weight: 800; }
.portal-list { padding: 0 26px; }
.portal-application { min-height: 112px; display: grid; grid-template-columns: 52px minmax(190px,1.4fr) minmax(170px,1.15fr) 150px 110px 82px 105px; gap: 18px; align-items: center; border-bottom: 1px solid #e5e6e7; }.portal-application:last-child { border-bottom: 0; }.portal-avatar { width: 48px; height: 48px; display: grid; place-items: center; color: #fff; background: #34373a; font-weight: 900; }.portal-ref { color: var(--red); font-size: 10px; font-weight: 900; letter-spacing: .08em; }.portal-person h3 { font-size: 17px; margin: 5px 0 5px; }.portal-person p { margin: 0; color: var(--grey); font-size: 12px; }.portal-person p span { color: #bbb; margin: 0 4px; }.portal-course span,.portal-doc-progress span,.portal-received span { display: block; color: #858789; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 6px; }.portal-course b { font-size: 12px; line-height: 1.35; }.portal-doc-progress b { font-size: 14px; }.portal-doc-progress div { height: 4px; margin-top: 7px; background: #e3e4e4; }.portal-doc-progress i { display: block; height: 100%; background: var(--red); }.portal-received b,.portal-received small { display: block; }.portal-received b { font-size: 12px; }.portal-received small { color: var(--grey); margin-top: 3px; }.portal-view { color: var(--red); font-size: 12px; font-weight: 900; text-align: right; }.portal-empty { padding: 70px 20px; text-align: center; }.portal-empty b { font-size: 20px; }.portal-empty p { color: var(--grey); margin: 8px 0 0; }
.portal-footer { display: flex; justify-content: space-between; padding: 25px clamp(22px,5vw,72px); background: #282a2d; border: 0; color: #ccc; }.portal-footer b { color: #fff; }
.form-file-header { padding: 38px 42px; background: #fff; border-top: 7px solid var(--red); border-left: 1px solid #d9dbdc; border-right: 1px solid #d9dbdc; border-bottom: 1px solid #d9dbdc; display: flex; justify-content: space-between; align-items: flex-start; gap: 35px; }.form-file-header h1 { font-size: clamp(40px,5vw,66px); margin: 9px 0 25px; }.form-file-meta { display: flex; flex-wrap: wrap; gap: 12px 28px; }.form-file-meta span { padding-right: 28px; border-right: 1px solid #ddd; }.form-file-meta span:last-child { border: 0; }.form-file-meta small,.form-file-meta b { display: block; }.form-file-meta small { color: var(--grey); font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 5px; }.form-file-meta b { font-size: 13px; }
.form-file-actions { min-width: 300px; display: grid; gap: 10px; }.form-file-actions .btn,.form-file-actions .outline-btn { width: 100%; text-align: center; padding: 15px; }.outline-btn { border: 1px solid #bfc1c2; color: #343639; font-weight: 900; }.form-file-actions small { color: var(--grey); text-align: center; }
.filing-summary { display: grid; grid-template-columns: repeat(3,1fr); background: #2b2d30; color: #fff; }.filing-summary > div { padding: 24px 28px; border-right: 1px solid rgba(255,255,255,.14); }.filing-summary > div:last-child { border: 0; }.filing-summary > div > span { display: block; color: #bbb; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .11em; margin-bottom: 10px; }.summary-large { display: block; font-size: 17px; }.filing-summary small { display: block; color: #bfc0c1; margin-top: 6px; }.filing-summary form { display: flex; align-items: center; gap: 8px; }.filing-summary select { background: #fff; min-width: 135px; }
.portal-warning { padding: 16px 20px; margin-top: 18px; background: #fff3d7; border-left: 5px solid #c68b00; color: #604600; }
.completed-form { margin-top: 24px; background: #fff; border: 1px solid #d9dbdc; box-shadow: 0 12px 42px rgba(25,29,33,.05); padding: 10px 42px 42px; }
.form-section { padding: 36px 0 10px; border-bottom: 1px solid #d9dbdc; }.form-section-title { display: flex; align-items: center; gap: 15px; margin-bottom: 22px; }.form-section-title > strong { width: 48px; height: 48px; display: grid; place-items: center; background: var(--red); color: #fff; font-size: 15px; }.form-section-title span { color: var(--red); font-size: 9px; font-weight: 900; letter-spacing: .13em; }.form-section-title h2 { font-size: 26px; margin: 3px 0 0; }
.form-answer-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }.form-answer { min-height: 78px; padding: 13px 15px; background: #fafafa; border: 1px solid #d8d9da; }.form-answer.wide { grid-column: 1/-1; }.form-answer span { display: block; color: var(--red); font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 8px; }.form-answer b { font-size: 14px; line-height: 1.45; }
.document-checklist { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }.document-checklist > div { min-height: 74px; padding: 13px; display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 12px; border: 1px solid #d8d9da; }.document-checklist i { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; font-style: normal; font-weight: 900; }.document-checklist .complete i { background: #e6f5eb; color: #176b35; }.document-checklist .missing i { background: #fff0f0; color: var(--red); }.document-checklist b,.document-checklist small { display: block; }.document-checklist small { color: var(--grey); margin-top: 4px; }.document-checklist a { color: var(--red); font-size: 11px; font-weight: 900; }
.filing-documents { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }.filing-documents a { min-height: 92px; padding: 17px; display: flex; justify-content: space-between; align-items: center; gap: 20px; border: 1px solid #d8d9da; border-left: 5px solid var(--red); }.filing-documents span,.filing-documents b,.filing-documents small { display: block; }.filing-documents span { color: #888; font-size: 8px; font-weight: 900; letter-spacing: .1em; }.filing-documents b { margin: 6px 0; }.filing-documents small { color: var(--grey); }.filing-documents > a > strong { color: var(--red); font-size: 12px; white-space: nowrap; }
.filing-certification { padding: 26px; margin-top: 34px; background: #f3f3f2; border-left: 5px solid var(--red); }.filing-certification b { font-size: 16px; }.filing-certification p { max-width: 850px; color: var(--grey); line-height: 1.55; margin: 8px 0 12px; }.filing-certification span { font-size: 11px; font-weight: 900; }
@media (max-width: 1080px) { .portal-application { grid-template-columns: 52px 1.5fr 1fr 130px 90px; }.portal-course,.portal-received { display: none; }.portal-welcome { align-items: stretch; }.portal-download-main { align-self: flex-end; }.filing-summary { grid-template-columns: 1fr; }.filing-summary > div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); } }
@media (max-width: 720px) { .portal-header { height: 82px; padding: 8px 15px; }.portal-header img { width: 145px; height: 58px; }.portal-brand > span { display: none; }.portal-header nav > a:not(.btn) { display: none; }.portal-shell { width: min(100% - 22px,1320px); padding: 28px 0 55px; }.portal-welcome,.form-file-header { flex-direction: column; align-items: stretch; }.portal-download-main,.form-file-actions { min-width: 0; width: 100%; }.portal-stat-grid { grid-template-columns: repeat(2,1fr); }.portal-toolbar { align-items: stretch; flex-direction: column; gap: 15px; }.portal-toolbar form { min-width: 0; flex-wrap: wrap; }.portal-toolbar input { flex-basis: 100%; }.portal-list { padding: 0 14px; }.portal-application { grid-template-columns: 45px 1fr auto; gap: 12px; padding: 17px 0; }.portal-doc-progress,.portal-application > .status { display: none; }.portal-view { grid-column: 2/4; text-align: left; }.portal-person p { word-break: break-word; }.form-file-header { padding: 27px 22px; }.form-file-meta { flex-direction: column; }.form-file-meta span { padding: 0; border: 0; }.completed-form { padding: 6px 18px 28px; }.form-answer-grid,.document-checklist,.filing-documents { grid-template-columns: 1fr; }.form-answer.wide { grid-column: 1; }.portal-footer { flex-direction: column; gap: 8px; }.filing-summary form { flex-wrap: wrap; } }
