/* AResultsPro public portal — Sea Blue #C2DFFF identity. */
.public-home:not(.login-workspace-joint) {
  background: #f4f9fc;
}

.public-home:not(.login-workspace-joint) .public-topbar {
  border-bottom-color: #789fb2;
  background: linear-gradient(100deg, #a9cde0 0%, #c2dfff 55%, #d9edf7 100%);
  box-shadow: 0 4px 16px #2d506020;
}

.public-home:not(.login-workspace-joint) .public-topbar::after {
  background: linear-gradient(90deg, #4d7384, #9bc2d5, #4d7384);
}

.public-home:not(.login-workspace-joint) .public-topbar > strong {
  color: #263f4b;
  text-shadow: none;
}

.public-home:not(.login-workspace-joint) .public-logo span {
  background: #f9fcfe;
  color: #315664;
  box-shadow: 0 3px 10px #31515f26;
}

.public-home:not(.login-workspace-joint) .public-portal-link,
.public-home:not(.login-workspace-joint) .public-nav button,
.public-home:not(.login-workspace-joint) .public-admin-access {
  border-color: #769fb1;
  background: #ffffff80;
  color: #294956;
  box-shadow: none;
}

.public-home:not(.login-workspace-joint) .public-nav button:hover,
.public-home:not(.login-workspace-joint) .public-portal-link:hover,
.public-home:not(.login-workspace-joint) .public-admin-access:hover {
  border-color: #52798b;
  background: #f8fcfe;
  color: #294956;
}

.public-home:not(.login-workspace-joint) .public-nav .public-nav-contact {
  border-color: #5f8b9e;
  background: #f8fcfe;
  color: #294956;
}

.public-home:not(.login-workspace-joint) .public-access,
.login-workspace-single .public-access {
  background: linear-gradient(145deg, #eef7fb, #dcecf4);
}

.public-home:not(.login-workspace-joint) .public-login-card,
.login-workspace-single .public-login-card {
  border-color: #a2c2d1;
  border-top-color: #5f8799;
  background: #ffffff;
  box-shadow: 0 18px 48px #294b5a1c;
}

.login-workspace-single .public-topbar {
  border-bottom-color: #789fb2;
  background: linear-gradient(100deg, #a9cde0 0%, #c2dfff 55%, #d9edf7 100%);
}

.public-home:not(.login-workspace-joint) .public-story,
.login-workspace-single .public-story {
  background-image: linear-gradient(90deg, rgba(35, 58, 68, .96) 0%, rgba(50, 79, 91, .84) 28%, rgba(194, 223, 255, .14) 64%, rgba(30, 48, 56, .08) 100%), url('../images/a-level-students-results-v3.jpg');
}

.public-home:not(.login-workspace-joint) .login-workspace-switch,
.login-workspace-single .login-workspace-switch {
  border-color: #aecbd9;
  background: #f7fbfd;
}

.public-home:not(.login-workspace-joint) .login-workspace-switch button.active,
.login-workspace-single .login-workspace-switch button.active {
  border-color: #52798b;
  background: #52798b;
  color: #ffffff;
}

.public-home:not(.login-workspace-joint) .login-workspace-switch button.active i,
.login-workspace-single .login-workspace-switch button.active i {
  border-color: #ffffff;
  background: #52798b;
}

.public-home:not(.login-workspace-joint) .public-input:focus-within,
.login-workspace-single .public-input:focus-within {
  border-color: #6f9caf;
  box-shadow: 0 0 0 3px #c2dfffb3;
}

.public-home:not(.login-workspace-joint) .public-signin,
.login-workspace-single .public-signin {
  border-color: #496b7a;
  background: #52798b;
  color: #ffffff;
}

.public-home:not(.login-workspace-joint) .public-signin:hover,
.login-workspace-single .public-signin:hover {
  background: #3b5c6b;
}

.public-home:not(.login-workspace-joint) .public-create {
  border-color: #52798b;
  color: #315968;
}

.public-home:not(.login-workspace-joint) .public-input {
  border-color: #a8c4d1;
}

.public-home:not(.login-workspace-joint) .public-info-modal > header {
  background: linear-gradient(105deg, #3c5e6d, #5e8495);
}

.public-home:not(.login-workspace-joint) .guide-switch button.active,
.public-home:not(.login-workspace-joint) .public-info-modal > footer button {
  border-color: #496c7c;
  background: #52798b;
  color: #ffffff;
}

/* Keep public Single School surfaces in one quiet colour family. */
.public-home:not(.login-workspace-joint) {
  --portal-ink: #29414d;
  --portal-muted: #637985;
  --portal-line: #b8d0dc;
  --portal-soft: #e8f3f8;
  --portal-primary: #52798b;
  --portal-primary-dark: #365766;
}

.public-home:not(.login-workspace-joint) :where(
  .public-login-card h2,
  .public-login-card label,
  .public-info-body,
  .public-info-grid b,
  .public-contact-card > b
) {
  color: var(--portal-ink);
}

.public-home:not(.login-workspace-joint) :where(
  .public-login-card header p,
  .public-new,
  .public-support-line,
  .public-info-grid span,
  .public-contact-card > span,
  .public-contact-note
) {
  color: var(--portal-muted);
}

.public-home:not(.login-workspace-joint) .public-eyebrow {
  color: #c2dfff !important;
}

.public-home:not(.login-workspace-joint) .public-checks b {
  background: var(--portal-primary);
  color: #ffffff;
}

.public-home:not(.login-workspace-joint) :where(
  .public-info-grid span,
  .public-contact-card,
  .public-contact-card a,
  .public-support-line
) {
  border-color: var(--portal-line);
}

.public-home:not(.login-workspace-joint) .public-info-grid span {
  border-top-color: var(--portal-primary);
  background: #f7fbfd;
}

.public-home:not(.login-workspace-joint) .public-contact-card {
  border-left-color: var(--portal-primary);
  background: var(--portal-soft);
}

.public-home:not(.login-workspace-joint) .public-contact-card a {
  background: #ffffff;
  color: var(--portal-primary-dark);
}

.public-home:not(.login-workspace-joint) .public-support-line b,
.public-home:not(.login-workspace-joint) .password-toggle {
  color: var(--portal-primary-dark);
}

.registration-page {
  --reg-navy: #365766;
  --reg-blue: #52798b;
  --reg-blue-soft: #e8f3f8;
  --reg-ink: #29414d;
  --reg-muted: #637985;
  --reg-line: #b8d0dc;
  --reg-surface: #ffffff;
  --reg-soft: #f4f9fc;
  background: radial-gradient(circle at 15% 10%, #c2dfff 0, transparent 35%), linear-gradient(135deg, #eef7fb 0%, #dfeef5 100%);
}

.registration-page::before,
.registration-page::after {
  opacity: .28;
  filter: grayscale(.35) hue-rotate(155deg);
}

.registration-page .auth-brand > .mark {
  background: #52798b;
  color: #ffffff;
  box-shadow: 0 7px 17px #31536230;
}

.registration-page .registration-card {
  border-color: #a7c5d3;
  background: #ffffff;
  box-shadow: 0 22px 60px #294c5b20;
}

.registration-page .registration-card header {
  border-bottom-color: #9fc2d2;
  background: linear-gradient(180deg, #ffffff, #f1f8fb);
}

.registration-page :where(.registration-card h1, .registration-section-title b, .field label) {
  color: #29414d;
}

.registration-page :where(.registration-card p, .registration-section-title small, .field-help, .auth-brand small) {
  color: #637985;
}

.registration-page :where(.control, .registration-password-control button) {
  border-color: #b8d0dc;
  background: #ffffff;
  color: #365766;
}

.registration-page .registration-password-control button:hover {
  background: #e8f3f8;
}

.registration-page .registration-kicker,
.registration-page .registration-card footer a {
  color: #426c7e;
}

.registration-page .registration-section-title > span {
  background: #c2dfff;
  color: #294b59;
}

.registration-page .control:focus {
  border-color: #6f9caf;
  box-shadow: 0 0 0 3px #c2dfffb3;
}

.registration-page .registration-submit {
  border-color: #496b7a;
  background: #52798b;
  box-shadow: 0 7px 16px #3153622c;
}

.registration-page .registration-submit:hover {
  background: #3b5c6b;
}

@media (max-width: 700px) {
  .public-home:not(.login-workspace-joint) .public-access,
  .login-workspace-single .public-access {
    background: #e8f3f8;
  }
}
