@counter-style site-bengali-leading-zero {
  system: numeric;
  symbols: "০" "১" "২" "৩" "৪" "৫" "৬" "৭" "৮" "৯";
  pad: 2 "০";
  suffix: "";
}

:where(.site-mod-scope) {
  --site-mod-bg: color-mix(in srgb, var(--brand-panel) 82%, #07110c);
  --site-mod-bg-soft: color-mix(in srgb, var(--brand-panel-2) 74%, transparent);
  --site-mod-text: var(--brand-text);
  --site-mod-muted: var(--brand-muted);
  --site-mod-accent: var(--brand-accent);
  --site-mod-accent-2: color-mix(in srgb, var(--brand-accent-2) 78%, #f5c96a);
  --site-mod-line: color-mix(in srgb, var(--brand-accent) 22%, rgba(255, 255, 255, .08));
  --site-mod-line-strong: color-mix(in srgb, var(--brand-accent) 46%, rgba(255, 255, 255, .12));
  width: 100%;
  color: var(--site-mod-text);
}

body[data-site-diff-page] .site-mod-scope * { min-width: 0; }
body[data-site-diff-page] .site-mod-scope strong,
body[data-site-diff-page] .site-mod-scope h3 { color: var(--site-mod-text); }
body[data-site-diff-page] .site-mod-scope p,
body[data-site-diff-page] .site-mod-scope span { overflow-wrap: anywhere; }

.site-mod-item-icon {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border: 1px solid var(--site-mod-line-strong);
  border-radius: 50%;
  color: var(--site-mod-accent);
  font-size: 1.05rem;
  background: color-mix(in srgb, var(--site-mod-accent) 10%, transparent);
}

/* Editorial split: one real lead item, remaining items in a ruled reading list. */
.site-mod-editorial-split {
  display: grid;
  grid-template-columns: minmax(300px, .82fr) minmax(0, 1.48fr);
  gap: clamp(24px, 4vw, 54px);
  align-items: start;
  padding: clamp(24px, 4vw, 48px) 0;
  border-top: 1px solid var(--site-mod-line-strong);
  border-bottom: 1px solid var(--site-mod-line-strong);
}

.site-mod-editorial-lead {
  align-self: start;
  padding: clamp(24px, 4vw, 42px);
  border-left: 5px solid var(--site-mod-accent);
  background: linear-gradient(145deg, color-mix(in srgb, var(--site-mod-accent) 16%, var(--site-mod-bg)), var(--site-mod-bg));
}

.site-mod-editorial-kicker {
  display: block;
  margin-bottom: 38px;
  color: var(--site-mod-accent-2);
  font: 900 .7rem/1.2 ui-monospace, monospace;
  letter-spacing: .16em;
}

.site-mod-editorial-lead-copy .site-mod-item-icon { margin-bottom: 18px; }
.site-mod-editorial-lead h3 { margin: 0 0 12px; font-size: clamp(1.25rem, 2vw, 1.7rem); font-weight: 900; }
.site-mod-editorial-lead p { margin: 0; color: var(--site-mod-muted); line-height: 1.75; }
.site-mod-editorial-list { margin: 0; padding: 0; list-style: none; }

.site-mod-editorial-item {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 18px;
  padding: 22px 0;
  border-top: 1px solid var(--site-mod-line);
}

.site-mod-editorial-item:first-child { border-top-color: var(--site-mod-line-strong); }
.site-mod-editorial-index { padding-top: 4px; color: var(--site-mod-accent-2); font: 900 .72rem/1 ui-monospace, monospace; }
.site-mod-editorial-copy { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 7px 14px; }
.site-mod-editorial-copy .site-mod-item-icon { grid-row: 1 / span 2; }
.site-mod-editorial-copy strong { font-size: 1rem; }
.site-mod-editorial-copy span { color: var(--site-mod-muted); line-height: 1.68; }

/* The highlights rail lives inside the protected Bootstrap 8/4 shell.
   Give that narrower mount a reading-column layout instead of squeezing copy. */
.col-lg-8 > .site-mod-editorial-split {
  grid-template-columns: 1fr;
  gap: 18px;
}

/* Index board: a proper label rail beside a roomy two-column directory. */
.site-mod-index-board {
  display: grid;
  grid-template-columns: minmax(160px, .28fr) minmax(0, 1.72fr);
  border: 1px solid var(--site-mod-line-strong);
  background: color-mix(in srgb, var(--site-mod-bg) 72%, transparent);
}

.site-mod-index-label {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100%;
  padding: 28px 24px;
  border-right: 1px solid var(--site-mod-line-strong);
  color: var(--site-mod-accent);
  background: linear-gradient(180deg, color-mix(in srgb, var(--site-mod-accent) 13%, transparent), transparent 70%);
}

.site-mod-index-label span { font-size: .72rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.site-mod-index-label b { color: color-mix(in srgb, var(--site-mod-accent) 24%, transparent); font: 900 clamp(2.8rem, 6vw, 5rem)/.9 ui-monospace, monospace; }
.site-mod-index-list { display: grid; grid-template-columns: repeat(2, minmax(280px, 1fr)); }

.site-mod-index-item {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 14px;
  padding: 24px 26px;
  border-right: 1px solid var(--site-mod-line);
  border-bottom: 1px solid var(--site-mod-line);
}

.site-mod-index-item:nth-child(2n) { border-right: 0; }
.site-mod-index-item:nth-last-child(-n + 2) { border-bottom: 0; }

.col-lg-8 > .site-mod-index-board { grid-template-columns: 1fr; }
.col-lg-8 > .site-mod-index-board .site-mod-index-label {
  min-height: auto;
  flex-direction: row;
  align-items: center;
  border-right: 0;
  border-bottom: 1px solid var(--site-mod-line-strong);
}
.col-lg-8 > .site-mod-index-board .site-mod-index-label b { font-size: 2.2rem; }
.col-lg-8 > .site-mod-index-board .site-mod-index-list { grid-template-columns: 1fr; }
.col-lg-8 > .site-mod-index-board .site-mod-index-item { border-right: 0; }
.col-lg-8 > .site-mod-index-board .site-mod-index-item:nth-last-child(-n + 2) { border-bottom: 1px solid var(--site-mod-line); }
.col-lg-8 > .site-mod-index-board .site-mod-index-item:last-child { border-bottom: 0; }
.site-mod-index-mark { padding-top: 5px; color: var(--site-mod-accent-2); font: 900 .7rem/1 ui-monospace, monospace; }
.site-mod-index-copy { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 7px 13px; }
.site-mod-index-copy .site-mod-item-icon { grid-row: 1 / span 2; }
.site-mod-index-copy strong { font-size: .98rem; }
.site-mod-index-copy span { color: var(--site-mod-muted); line-height: 1.65; }

/* Ledger: content-height rows with a title column and a generous copy column. */
.site-mod-ledger { border-top: 1px solid var(--site-mod-line-strong); border-bottom: 1px solid var(--site-mod-line-strong); }

.site-mod-ledger-item {
  display: grid;
  grid-template-columns: 58px minmax(180px, .64fr) minmax(280px, 1.36fr) 44px;
  gap: 18px;
  align-items: center;
  padding: 22px 8px;
  border-bottom: 1px solid var(--site-mod-line);
}

.site-mod-ledger-item:last-child { border-bottom: 0; }
.site-mod-ledger-index { color: var(--site-mod-accent-2); font: 900 .72rem/1 ui-monospace, monospace; letter-spacing: .08em; }
.site-mod-ledger-title { margin: 0; font-size: 1rem; font-weight: 900; }
.site-mod-ledger-copy { margin: 0; color: var(--site-mod-muted); line-height: 1.68; }
.site-mod-ledger-item:hover { background: linear-gradient(90deg, color-mix(in srgb, var(--site-mod-accent) 8%, transparent), transparent 72%); }

/* Stair list: hierarchy comes from the stepped rule, not independent boxes. */
.site-mod-stair-list { display: grid; margin: 0; padding: 0; list-style: none; counter-reset: site-stair; }

.site-mod-stair-item {
  --site-step: 0;
  counter-increment: site-stair;
  display: grid;
  grid-template-columns: 58px minmax(190px, .68fr) minmax(280px, 1.32fr);
  gap: 18px;
  align-items: center;
  width: calc(100% - var(--site-step) * 4%);
  margin-left: calc(var(--site-step) * 4%);
  padding: 20px 14px 20px 0;
  border-top: 1px solid var(--site-mod-line-strong);
}

.site-mod-stair-item:nth-child(4n + 2) { --site-step: 1; }
.site-mod-stair-item:nth-child(4n + 3) { --site-step: 2; }
.site-mod-stair-item:nth-child(4n + 4) { --site-step: 3; }
.site-mod-stair-item::before { content: counter(site-stair, site-bengali-leading-zero); color: var(--site-mod-accent-2); font: 900 .72rem/1 ui-monospace, monospace; }
.site-mod-stair-item strong { display: flex; align-items: center; gap: 12px; font-size: 1rem; }
.site-mod-stair-item strong .site-mod-item-icon { width: 36px; height: 36px; flex-basis: 36px; }
.site-mod-stair-item > span { color: var(--site-mod-muted); line-height: 1.68; }

/* Flowline: one connected brand route instead of another collection of cards. */
.site-mod-flowline {
  position: relative;
  display: grid;
  margin: 0;
  padding: 8px 0;
  list-style: none;
}

.site-mod-flowline::before {
  content: "";
  position: absolute;
  top: 38px;
  bottom: 38px;
  left: 31px;
  width: 2px;
  background: linear-gradient(180deg, var(--site-mod-accent), var(--site-mod-accent-2));
  box-shadow: 0 0 20px color-mix(in srgb, var(--site-mod-accent) 36%, transparent);
}

.site-mod-flowline-item {
  position: relative;
  display: grid;
  grid-template-columns: 64px minmax(180px, .56fr) minmax(280px, 1.44fr);
  gap: 24px;
  align-items: start;
  padding: 24px 0;
  border-top: 1px solid var(--site-mod-line);
}

.site-mod-flowline-item:first-child { border-top: 0; }
.site-mod-flowline-item:nth-child(even) {
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--site-mod-accent) 6%, transparent), transparent);
}

.site-mod-flowline-node {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin-left: 8px;
  border: 2px solid var(--site-mod-accent);
  border-radius: 50%;
  color: var(--site-mod-accent-2);
  background: var(--site-mod-bg);
  font: 900 .72rem/1 ui-monospace, monospace;
  font-style: normal;
  letter-spacing: .08em;
}

.site-mod-flowline-item strong {
  padding-top: 10px;
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  line-height: 1.35;
}

.site-mod-flowline-item > span {
  padding-top: 8px;
  color: var(--site-mod-muted);
  line-height: 1.72;
}

body[data-site-diff-page="home"] { --site-mod-flare: 12%; }
body[data-site-diff-page="about-us"] { --site-mod-flare: 15%; }
body[data-site-diff-page="android-app"] { --site-mod-flare: 18%; }
body[data-site-diff-page="app"] { --site-mod-flare: 21%; }
body[data-site-diff-page="dream-catcher"] { --site-mod-flare: 13%; }
body[data-site-diff-page="faq"] { --site-mod-flare: 16%; }
body[data-site-diff-page="ganesha-gold"] { --site-mod-flare: 19%; }
body[data-site-diff-page="gonzos-quest"] { --site-mod-flare: 22%; }
body[data-site-diff-page="legal"] { --site-mod-flare: 14%; }
body[data-site-diff-page="live-casino"] { --site-mod-flare: 17%; }
body[data-site-diff-page="login"] { --site-mod-flare: 20%; }
body[data-site-diff-page="privacy-policy"] { --site-mod-flare: 23%; }
body[data-site-diff-page="register"] { --site-mod-flare: 12%; }
body[data-site-diff-page="slots"] { --site-mod-flare: 15%; }
body[data-site-diff-page="sportsbook"] { --site-mod-flare: 18%; }
body[data-site-diff-page="terms-conditions"] { --site-mod-flare: 21%; }
body[data-site-diff-page="turbo-games"] { --site-mod-flare: 24%; }
body[data-site-diff-page] .site-mod-scope { --site-mod-bg-soft: color-mix(in srgb, var(--brand-accent) var(--site-mod-flare), var(--brand-panel-2)); }

@media (max-width: 991.98px) {
  .site-mod-editorial-split { grid-template-columns: 1fr; }
  .site-mod-index-board { grid-template-columns: 1fr; }
  .site-mod-index-label { min-height: auto; flex-direction: row; align-items: center; border-right: 0; border-bottom: 1px solid var(--site-mod-line-strong); }
  .site-mod-index-label b { font-size: 2.2rem; }
  .site-mod-index-list { grid-template-columns: 1fr; }
  .site-mod-index-item { border-right: 0; }
  .site-mod-index-item:nth-last-child(-n + 2) { border-bottom: 1px solid var(--site-mod-line); }
  .site-mod-index-item:last-child { border-bottom: 0; }
  .site-mod-ledger-item { grid-template-columns: 48px minmax(170px, .62fr) minmax(280px, 1.38fr); }
  .site-mod-ledger-item .site-mod-item-icon { display: none; }
  .site-mod-flowline-item { grid-template-columns: 64px minmax(170px, .62fr) minmax(280px, 1.38fr); gap: 18px; }
}

@media (max-width: 767.98px) {
  .site-mod-editorial-split { gap: 18px; padding: 18px 0; }
  .site-mod-editorial-lead { padding: 24px 20px; }
  .site-mod-editorial-kicker { margin-bottom: 24px; }
  .site-mod-editorial-copy,
  .site-mod-index-copy { grid-template-columns: 34px minmax(0, 1fr); }
  .site-mod-editorial-copy .site-mod-item-icon,
  .site-mod-index-copy .site-mod-item-icon { width: 34px; height: 34px; }
  .site-mod-index-item { padding: 20px 16px; }
  .site-mod-ledger-item { grid-template-columns: 42px minmax(0, 1fr); gap: 8px 12px; padding: 20px 4px; }
  .site-mod-ledger-index { grid-row: 1 / span 2; }
  .site-mod-ledger-copy { grid-column: 2; }
  .site-mod-stair-item { grid-template-columns: 42px minmax(0, 1fr); width: calc(100% - var(--site-step) * 2%); margin-left: calc(var(--site-step) * 2%); gap: 8px 12px; }
  .site-mod-stair-item > span { grid-column: 2; }
  .site-mod-flowline::before { top: 32px; bottom: 32px; left: 25px; }
  .site-mod-flowline-item { grid-template-columns: 52px minmax(0, 1fr); gap: 8px 14px; padding: 20px 0; }
  .site-mod-flowline-node { grid-row: 1 / span 2; width: 38px; height: 38px; margin-left: 6px; }
  .site-mod-flowline-item strong { padding-top: 4px; }
  .site-mod-flowline-item > span { grid-column: 2; padding-top: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .site-mod-ledger-item { scroll-behavior: auto; }
}
/* Capsule navigation: retain the original navigation hierarchy with compact route pills */
.portal-nav {
  padding: .55rem 0;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--brand-accent) 10%, transparent), transparent 34%, transparent 66%, color-mix(in srgb, var(--brand-accent-2) 8%, transparent)),
    var(--brand-panel) !important;
}

.portal-nav .navbar-brand {
  margin-right: clamp(.8rem, 2vw, 1.6rem);
  padding: .15rem 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.portal-nav .navbar-brand img {
  width: 128px;
  height: auto;
  max-height: 38px;
  object-fit: contain;
}

.portal-nav .navbar-nav {
  gap: .34rem;
  padding: .22rem;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 999px;
  background: rgba(0,0,0,.12);
}

.portal-nav .nav-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 2.15rem;
  padding: .43rem .72rem !important;
  border: 1px solid transparent;
  border-radius: 999px;
  background: rgba(255,255,255,.035);
  color: var(--brand-text) !important;
  font-size: .8rem;
  line-height: 1.15;
  transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease;
}

.portal-nav .nav-link::before {
  width: .36rem;
  height: .36rem;
  flex: 0 0 .36rem;
  margin-right: .42rem;
  content: "";
  border-radius: 50%;
  background: color-mix(in srgb, var(--brand-muted) 56%, transparent);
}

.portal-nav .nav-link:hover {
  border-color: color-mix(in srgb, var(--brand-accent) 42%, transparent);
  background: color-mix(in srgb, var(--brand-accent) 13%, var(--brand-panel));
  color: var(--brand-accent) !important;
  transform: translateY(-1px);
}

.portal-nav .nav-link.active {
  border-color: color-mix(in srgb, var(--brand-accent) 70%, transparent);
  background: linear-gradient(115deg, color-mix(in srgb, var(--brand-accent) 25%, var(--brand-panel)), color-mix(in srgb, var(--brand-accent-2) 14%, var(--brand-panel)));
  color: #fff !important;
  box-shadow: 0 7px 16px color-mix(in srgb, var(--brand-accent) 18%, transparent);
}

.portal-nav .nav-link.active::before {
  background: var(--brand-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-accent) 15%, transparent);
}

@media (max-width: 991.98px) {
  .portal-nav .navbar-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .36rem;
    margin-top: .6rem;
    border-radius: .7rem;
  }

  .portal-nav .nav-link {
    min-width: 0;
    justify-content: flex-start;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (max-width: 420px) {
  .portal-nav .navbar-brand img { width: 118px; }
  .portal-nav .navbar-nav { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .portal-nav .nav-link { transition: none; }
}

/* Inner-page breadcrumb: keep the full path legible against the dark hero */
.inner-hero .breadcrumb {
  --bs-breadcrumb-divider-color: color-mix(in srgb, var(--brand-text) 56%, transparent);
  --bs-breadcrumb-item-active-color: var(--brand-text);
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .2rem 0;
  width: fit-content;
  max-width: min(100%, 860px);
  padding: .42rem .68rem;
  border: 1px solid color-mix(in srgb, var(--brand-accent) 28%, transparent);
  border-radius: .45rem;
  background: rgba(4,19,13,.48);
  font-size: .82rem;
  line-height: 1.45;
}

.inner-hero .breadcrumb a {
  color: var(--brand-accent) !important;
  font-weight: 800;
  text-decoration: none;
}

.inner-hero .breadcrumb a:hover { color: var(--brand-text) !important; }

.inner-hero .breadcrumb-item.active {
  color: var(--brand-text) !important;
  font-weight: 700;
  opacity: .88;
}

.inner-hero .breadcrumb-item + .breadcrumb-item::before {
  color: color-mix(in srgb, var(--brand-text) 60%, transparent);
}

@media (max-width: 575.98px) {
  .inner-hero .breadcrumb { font-size: .75rem; }
}

/* Shared site chrome: refined navigation and a spacious, information-led footer. */
.portal-nav {
  position: sticky;
  isolation: isolate;
  border-bottom-color: color-mix(in srgb, var(--brand-accent) 26%, transparent) !important;
  box-shadow: 0 14px 30px rgba(0, 0, 0, .26) !important;
}

.portal-nav::before {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  left: 0;
  height: 2px;
  content: "";
  background: linear-gradient(90deg, transparent, var(--brand-accent), var(--brand-accent-2), transparent);
  opacity: .9;
}

.portal-nav .navbar-brand {
  position: relative;
}

.portal-nav .navbar-brand::after {
  position: absolute;
  top: 50%;
  right: clamp(-.85rem, -1.5vw, -1.2rem);
  width: 1px;
  height: 1.4rem;
  content: "";
  background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--brand-accent) 55%, transparent), transparent);
  transform: translateY(-50%);
}

.portal-nav .navbar-toggler {
  padding: .5rem .6rem;
  border-color: color-mix(in srgb, var(--brand-accent) 42%, transparent);
  border-radius: .7rem;
  background: color-mix(in srgb, var(--brand-accent) 9%, var(--brand-panel));
}

.portal-nav .navbar-toggler:focus {
  box-shadow: 0 0 0 .22rem color-mix(in srgb, var(--brand-accent) 23%, transparent);
}

.portal-footer {
  position: relative;
  overflow: hidden;
  margin-top: clamp(2.5rem, 5vw, 4.5rem);
  padding-top: clamp(3.5rem, 6vw, 5.25rem) !important;
  padding-bottom: clamp(1.5rem, 3vw, 2.25rem) !important;
  background:
    radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--brand-accent) 17%, transparent), transparent 28rem),
    radial-gradient(circle at 92% 12%, color-mix(in srgb, var(--brand-accent-2) 11%, transparent), transparent 26rem),
    var(--brand-panel) !important;
  border-top-color: color-mix(in srgb, var(--brand-accent) 35%, transparent) !important;
}

.portal-footer::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 2px;
  content: "";
  background: linear-gradient(90deg, transparent 4%, var(--brand-accent), var(--brand-accent-2), transparent 96%);
}

.portal-footer .container-xl { position: relative; }

.portal-footer .footer-brand {
  font-size: clamp(1.45rem, 2vw, 1.8rem);
  letter-spacing: -.035em;
}

.portal-footer .footer-brand::after {
  display: block;
  width: 2.75rem;
  height: 3px;
  margin-top: .8rem;
  content: "";
  border-radius: 999px;
  background: linear-gradient(90deg, var(--brand-accent), var(--brand-accent-2));
}

.portal-footer .text-body-secondary {
  max-width: 25rem;
  font-size: .94rem;
  line-height: 1.75;
}

.portal-footer .badge {
  min-height: 2rem;
  padding: .4rem .72rem;
  color: var(--brand-text) !important;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .035em;
  border: 1px solid color-mix(in srgb, var(--brand-accent) 34%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--brand-accent) 13%, var(--brand-panel-2)) !important;
}

.portal-footer .footer-title {
  position: relative;
  margin-bottom: 1.05rem;
  padding-bottom: .72rem;
  color: var(--brand-text);
  font-size: .8rem;
  letter-spacing: .1em;
}

.portal-footer .footer-title::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 1.7rem;
  height: 1px;
  content: "";
  background: color-mix(in srgb, var(--brand-accent) 75%, transparent);
}

.portal-footer .footer-link-grid { gap: .68rem; }

.portal-footer .footer-link {
  align-items: center;
  width: auto;
  padding: .12rem 0;
  color: var(--brand-muted);
  font-size: .9rem;
  transition: color .18s ease, transform .18s ease;
}

.portal-footer .footer-link::before {
  width: .32rem;
  height: .32rem;
  margin-right: .52rem;
  content: "";
  border: 1px solid color-mix(in srgb, var(--brand-accent) 70%, transparent);
  border-radius: 50%;
  transition: background .18s ease, transform .18s ease;
}

.portal-footer .footer-link:hover {
  color: var(--brand-text);
  transform: translateX(.22rem);
}

.portal-footer .footer-link:hover::before {
  background: var(--brand-accent);
  transform: scale(1.15);
}

.portal-footer .footer-bottom {
  align-items: center;
  padding-top: 1.35rem !important;
  border-top-color: color-mix(in srgb, var(--brand-text) 12%, transparent) !important;
}

.portal-footer .footer-bottom .footer-link::before { display: none; }
.portal-footer .footer-bottom .footer-link:hover { transform: none; }

/* Keep legal notices within the site's dark emerald palette. */
.main .alert.alert-primary {
  border: 1px solid color-mix(in srgb, var(--brand-accent) 34%, transparent) !important;
  border-radius: 1rem;
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--brand-accent) 12%, var(--brand-panel-2)),
    var(--brand-panel)
  ) !important;
  color: var(--brand-muted) !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, .22) !important;
}

.main .alert.alert-primary .legal-copy,
.main .alert.alert-primary p,
.main .alert.alert-primary li {
  color: var(--brand-muted) !important;
}

.main .alert.alert-primary a {
  color: var(--brand-accent) !important;
}

@media (max-width: 991.98px) {
  .portal-nav .navbar-brand::after { display: none; }
  .portal-footer { margin-top: 2.5rem; }
}

@media (max-width: 575.98px) {
  .portal-footer .row { row-gap: 2rem !important; }
  .portal-footer .footer-bottom { margin-top: 2.5rem !important; }
}
