@font-face {
    font-family: 'Nunito';
    src: url('/mythic_assets/rune_fonts/nunito.woff2') format('woff2');
    font-weight: 400 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Cinzel Decorative';
    src: url('/mythic_assets/rune_fonts/cinzeldec.woff2') format('woff2');
    font-weight: 400 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Cormorant Garamond';
    src: url('/mythic_assets/rune_fonts/cormgaram.woff2') format('woff2');
    font-weight: 400 500;
    font-style: normal;
    font-display: swap;
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html {
    scroll-behavior: smooth;
}
body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    background-color: rgb(248, 245, 255);
    color: rgb(28, 25, 34);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}
img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
    height: 100%;
}
input, button, textarea, select {
    font: inherit;
}
p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
}
h1, h2, h3 {
    font-family: 'Cinzel Decorative', Georgia, serif;
    font-weight: 500;
    line-height: 1.2;
}
body, p, a, li, span, div, input, button {
    font-family: 'Nunito', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-weight: 400;
}
.accent-text {
    font-family: 'Cormorant Garamond', Georgia, serif;
}
:root {
    --mythic-primary: rgb(105, 48, 195);
    --mythic-secondary: rgb(255, 200, 87);
    --mythic-bg: rgb(248, 245, 255);
    --mythic-text-dark: rgb(28, 25, 34);
    --mythic-text-soft: rgb(89, 80, 102);
    --mythic-glow: rgba(105, 48, 195, 0.15);
    --mythic-max-width: 1224px;
    --mythic-gap-md: 2rem;
    --mythic-gap-sm: 1rem;
}
.container {
    max-width: var(--mythic-max-width);
    margin: 0 auto;
    padding: 0 1.5rem;
    width: 100%;
}
@media (max-width: 540px) {
    .container {
        padding: 0 1rem;
    }
}
@media (max-width: 380px) {
    .container {
        padding: 0 0.5rem;
    }
}
.realm__gateway--top {
  background: rgb(248, 245, 255);
  border-bottom: 3px solid rgb(255, 200, 87);
  box-shadow: 0 10px 25px var(--mythic-glow);
  padding: 1rem 0 0.8rem 0;
  font-family: 'Nunito', sans-serif;
}
.gateway__nav--tier {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
  margin-bottom: 1.2rem;
}
.nav__emblem--stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.emblem__link--home {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: inherit;
  gap: 0.2rem;
}
.emblem__icon--glow {
  font-size: 2.5rem;
  color: rgb(255, 200, 87);
  filter: drop-shadow(0 2px 5px rgba(105, 48, 195, 0.5));
}
.emblem__text--royal {
  font-family: 'Cinzel Decorative', Georgia, serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: rgb(105, 48, 195);
  letter-spacing: 0.03em;
  line-height: 1.2;
}
.nav__beacon--core {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  background: linear-gradient(145deg, rgb(255, 200, 87) 0%, rgb(235, 175, 55) 100%);
  padding: 0.7rem 1.5rem;
  border-radius: 50px 10px 50px 10px;
  text-decoration: none;
  color: rgb(28, 25, 34);
  font-weight: 700;
  box-shadow: 0 6px 0 rgb(150, 110, 30);
  transition: 0.2s;
}
.nav__beacon--core:hover {
  transform: translateY(-3px);
  box-shadow: 0 9px 0 rgb(130, 90, 20);
}
.beacon__icon--blaze {
  font-size: 1.6rem;
  color: rgb(60, 40, 20);
}
.beacon__label--bold {
  font-size: 1.2rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.nav__cluster--right {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 1.2rem;
  justify-content: flex-end;
  flex: 1 1 auto;
}
.cluster__item--compact {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  text-decoration: none;
  color: rgb(89, 80, 102);
  font-weight: 600;
  padding: 0.4rem 0.2rem;
  border-bottom: 2px solid transparent;
  transition: 0.2s;
}
.cluster__item--compact i {
  font-size: 1.2rem;
  color: rgb(105, 48, 195);
}
.cluster__item--compact:hover {
  color: rgb(105, 48, 195);
  border-bottom-color: rgb(255, 200, 87);
}
.gateway__info--base {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  margin-top: 0.5rem;
  padding-top: 0.8rem;
  border-top: 1px dashed rgba(105, 48, 195, 0.3);
}
.info__banner--alert, .info__banner--free {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  font-size: 0.95rem;
}
.banner__icon--caution {
  font-size: 1.3rem;
  color: rgb(255, 200, 87);
}
.banner__icon--nature {
  font-size: 1.3rem;
  color: rgb(105, 48, 195);
}
.banner__text--gentle {
  color: rgb(89, 80, 102);
}
.banner__text--soft {
  color: rgb(28, 25, 34);
  font-weight: 600;
}
@media (max-width: 720px) {
  .gateway__nav--tier {
    flex-direction: column;
    align-items: stretch;
  }
  .nav__emblem--stack {
    align-items: center;
  }
  .nav__beacon--core {
    justify-content: center;
  }
  .nav__cluster--right {
    justify-content: center;
  }
  .info__banner--alert, .info__banner--free {
    justify-content: center;
    text-align: center;
  }
}
@media (max-width: 420px) {
  .cluster__item--compact span {
    font-size: 0.9rem;
  }
  .emblem__text--royal {
    font-size: 1.1rem;
  }
}
.popup__bubble--right {
  position: fixed;
  right: 1rem;
  top: 20%;
  z-index: 999;
  max-width: 360px;
  width: auto;
  display: block;
  font-family: 'Nunito', sans-serif;
}
.bubble__crest--age {
  background: white;
  border-radius: 28px 8px 28px 8px;
  padding: 1.5rem 1.2rem;
  box-shadow: 0 15px 35px rgba(105, 48, 195, 0.35), 0 0 0 2px rgb(255, 200, 87);
  border: none;
}
.crest__heading--row {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 1rem;
}
.crest__icon--protect {
  font-size: 1.8rem;
  color: rgb(105, 48, 195);
}
.crest__title--script {
  font-family: 'Cinzel Decorative', Georgia, serif;
  font-size: 1.3rem;
  color: rgb(28, 25, 34);
  margin-right: auto;
}
.crest__close--minimal {
  background: transparent;
  border: none;
  font-size: 1.4rem;
  cursor: pointer;
  color: rgb(140, 130, 155);
  line-height: 1;
  padding: 0 0.3rem;
}
.crest__close--minimal:hover {
  color: rgb(105, 48, 195);
}
.crest__content--stack {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.content__line--regular {
  font-size: 0.95rem;
  line-height: 1.5;
  color: rgb(89, 80, 102);
  background: rgba(255, 200, 87, 0.1);
  padding: 0.8rem;
  border-radius: 16px 4px 16px 4px;
}
.content__actions--row {
  display: flex;
  gap: 0.7rem;
  flex-wrap: wrap;
}
.action__confirm--soft {
  background: rgb(70, 150, 100);
  border: none;
  padding: 0.7rem 1.2rem;
  border-radius: 30px 6px 30px 6px;
  color: white;
  font-weight: 600;
  cursor: pointer;
  flex: 1;
  box-shadow: 0 3px 0 rgb(40, 100, 60);
}
.action__confirm--soft:hover {
  background: rgb(85, 175, 115);
  transform: translateY(-2px);
  box-shadow: 0 5px 0 rgb(40, 100, 60);
}
.action__exit--muted {
  background: rgb(200, 90, 80);
  border: none;
  padding: 0.7rem 1.2rem;
  border-radius: 30px 6px 30px 6px;
  color: white;
  font-weight: 600;
  cursor: pointer;
  flex: 1;
  box-shadow: 0 3px 0 rgb(130, 50, 40);
}
.action__exit--muted:hover {
  background: rgb(220, 110, 100);
  transform: translateY(-2px);
  box-shadow: 0 5px 0 rgb(130, 50, 40);
}
.crest__footnote--tiny {
  margin-top: 1rem;
  font-size: 0.7rem;
  text-align: right;
  color: rgb(170, 160, 185);
}
@media (max-width: 620px) {
  .popup__bubble--right {
    right: 0.5rem;
    left: 0.5rem;
    top: auto;
    bottom: 0.5rem;
    max-width: none;
  }
  .content__actions--row {
    flex-direction: column;
  }
}
.consent__toast--left {
  position: fixed;
  left: 1rem;
  bottom: 1rem;
  z-index: 998;
  max-width: 340px;
  width: auto;
  display: block;
  font-family: 'Nunito', sans-serif;
}
.toast__vessel--cookie {
  background: rgb(35, 30, 45);
  border-radius: 8px 28px 8px 28px;
  padding: 1.2rem 1.5rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  border-left: 5px solid rgb(255, 200, 87);
}
.vessel__header--inline {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  margin-bottom: 0.8rem;
}
.vessel__icon--crumb {
  font-size: 1.6rem;
  color: rgb(255, 200, 87);
}
.vessel__label--gentle {
  font-family: 'Cinzel Decorative', Georgia, serif;
  font-size: 1.1rem;
  color: rgb(240, 235, 250);
  letter-spacing: 0.03em;
}
.vessel__message--short {
  font-size: 0.9rem;
  line-height: 1.5;
  color: rgb(200, 190, 215);
  margin-bottom: 1.2rem;
  padding-right: 0.5rem;
}
.vessel__controls--inline {
  display: flex;
  gap: 0.8rem;
  justify-content: flex-end;
}
.controls__accept--simple {
  background: rgb(255, 200, 87);
  border: none;
  padding: 0.5rem 1.2rem;
  border-radius: 20px 4px 20px 4px;
  font-weight: 600;
  color: rgb(28, 25, 34);
  cursor: pointer;
  font-size: 0.9rem;
}
.controls__accept--simple:hover {
  background: rgb(255, 215, 120);
}
.controls__learn--simple {
  background: transparent;
  border: 1px solid rgb(140, 130, 155);
  padding: 0.5rem 1.2rem;
  border-radius: 20px 4px 20px 4px;
  font-weight: 500;
  color: rgb(200, 190, 215);
  cursor: pointer;
  font-size: 0.9rem;
}
.controls__learn--simple:hover {
  border-color: rgb(255, 200, 87);
  color: white;
}
@media (max-width: 540px) {
  .consent__toast--left {
    left: 0.5rem;
    right: 0.5rem;
    bottom: 0.5rem;
    max-width: none;
  }
  .vessel__controls--inline {
    justify-content: center;
  }
}
.realm__threshold--main {
  position: relative;
  min-height: 50vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: white;
  font-family: 'Nunito', sans-serif;
}
.threshold__canvas--full {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.canvas__image--bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.canvas__overlay--deep {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(105, 48, 195, 0.7) 0%, rgba(28, 25, 34, 0.8) 100%);
  z-index: 2;
}
.canvas__rain--flicker {
  position: absolute;
  inset: 0;
  background: transparent;
  z-index: 3;
  pointer-events: none;
  opacity: 0.4;
  animation: mythicSparkle 8s infinite linear;
}
@keyframes mythicSparkle {
  0% { background: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.15) 0%, transparent 15%); }
  25% { background: radial-gradient(circle at 80% 40%, rgba(255, 200, 87, 0.2) 0%, transparent 20%); }
  50% { background: radial-gradient(circle at 30% 80%, rgba(255, 255, 255, 0.15) 0%, transparent 18%); }
  75% { background: radial-gradient(circle at 70% 60%, rgba(255, 200, 87, 0.2) 0%, transparent 22%); }
  100% { background: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.15) 0%, transparent 15%); }
}
.threshold__content--layered {
  position: relative;
  z-index: 10;
  width: 100%;
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 3rem;
  align-items: start;
  padding: 4rem 0;
}
.content__header--left {
  grid-column: 1;
}
.header__title--epic {
  font-family: 'Cinzel Decorative', Georgia, serif;
  font-size: 3.2rem;
  line-height: 1.2;
  margin-bottom: 1.2rem;
  text-shadow: 0 4px 15px rgba(0,0,0,0.5);
  color: white;
}
.header__sub--gentle {
  font-size: 1.2rem;
  max-width: 90%;
  color: rgba(255,255,255,0.9);
  margin-bottom: 2rem;
}
.content__benefits--column {
  grid-column: 2;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.benefit__card--slanted {
  display: flex;
  gap: 1.2rem;
  align-items: flex-start;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(8px);
  padding: 1.2rem 1.5rem;
  border-radius: 30px 8px 30px 8px;
  border-left: 4px solid rgb(255, 200, 87);
  transition: transform 0.2s;
}
.benefit__card--slanted:hover {
  transform: translateX(8px);
  background: rgba(255, 255, 255, 0.15);
}
.card__icon--glow, .card__icon--nature, .card__icon--protect {
  font-size: 2.2rem;
  color: rgb(255, 200, 87);
  filter: drop-shadow(0 0 8px rgba(255,200,87,0.5));
}
.card__text--stack {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.stack__head--small {
  font-family: 'Cinzel Decorative', Georgia, serif;
  font-size: 1.2rem;
  color: white;
}
.stack__desc--tiny {
  font-size: 0.9rem;
  color: rgba(255,255,255,0.8);
  line-height: 1.4;
}
.content__actions--bottomright {
  grid-column: 2;
  display: flex;
  gap: 1.5rem;
  justify-content: flex-end;
  margin-top: 1.5rem;
}
.action__link--primary, .action__link--secondary {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.8rem 1.5rem;
  border-radius: 40px 6px 40px 6px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.2s;
  font-size: 1rem;
}
.action__link--primary {
  background: rgb(255, 200, 87);
  color: rgb(28, 25, 34);
  box-shadow: 0 4px 0 rgb(170, 130, 40);
}
.action__link--primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 7px 0 rgb(150, 110, 30);
}
.action__link--secondary {
  background: transparent;
  border: 2px solid rgb(255, 200, 87);
  color: white;
}
.action__link--secondary:hover {
  background: rgba(255, 200, 87, 0.2);
  border-color: white;
}
@media (max-width: 960px) {
  .threshold__content--layered {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 2rem;
    padding: 4rem 0.4rem;
  }
  .content__header--left {
    text-align: center;
  }
  .header__sub--gentle {
    max-width: 100%;
  }
  .content__benefits--column {
    max-width: 600px;
    margin: 0 auto;
  }
  .content__actions--bottomright {
    justify-content: center;
  }
}
@media (max-width: 620px) {
  .realm__threshold--main {
    min-height: 90vh;
  }
  .header__title--epic {
    font-size: 2.2rem;
  }
  .benefit__card--slanted {
    padding: 1rem;
  }
  .benefit__card--slanted:hover {
    transform: translateX(1px);
  }
  .action__link--primary, .action__link--secondary {
    padding: 0.7rem 1.2rem;
    font-size: 0.9rem;
  }
  .canvas__rain--flicker {
    animation: none;
  }
}
.realm__arcade--grid {
  padding: 5rem 0;
  background: linear-gradient(180deg, rgb(248, 245, 255) 0%, rgb(235, 230, 250) 100%);
  font-family: 'Nunito', sans-serif;
}
.arcade__header--row {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 3rem;
  justify-content: center;
}
.arcade__icon--title {
  font-size: 2.5rem;
  color: rgb(255, 200, 87);
  filter: drop-shadow(0 2px 5px rgba(105, 48, 195, 0.3));
}
.arcade__title--decorated {
  font-family: 'Cinzel Decorative', Georgia, serif;
  font-size: 2.2rem;
  color: rgb(105, 48, 195);
  text-align: center;
}
.arcade__grid--four {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}
.grid__card--game {
  background: white;
  border-radius: 30px 8px 30px 8px;
  padding: 1.5rem 1rem 1.8rem 1rem;
  box-shadow: 0 15px 30px rgba(105, 48, 195, 0.15);
  transition: transform 0.3s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  border: 1px solid rgba(255, 200, 87, 0.3);
}
.grid__card--game:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 35px rgba(105, 48, 195, 0.25);
}
.card__image--wrapper {
  width: 100%;
  margin-bottom: 1.2rem;
  border-radius: 20px 4px 20px 4px;
  overflow: hidden;
}
.card__image--thumb {
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  object-fit: cover;
  display: block;
  transition: transform 0.5s;
}
.grid__card--game:hover .card__image--thumb {
  transform: scale(1.05);
}
.card__name--bold {
  font-family: 'Cinzel Decorative', Georgia, serif;
  font-size: 1.3rem;
  color: rgb(28, 25, 34);
  margin-bottom: 1.2rem;
}
.card__link--blaze {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  background: rgb(255, 80, 80);
  color: white;
  padding: 0.7rem 1.5rem;
  border-radius: 40px 4px 40px 4px;
  text-decoration: none;
  font-weight: 700;
  font-size: 1.1rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  box-shadow: 0 0 0 3px rgb(255, 200, 87), 0 0 0 6px rgba(255, 80, 80, 0.3), 0 8px 0 rgb(160, 30, 30);
  transition: all 0.2s;
}
.card__link--blaze:hover {
  background: rgb(255, 100, 100);
  transform: translateY(-4px);
  box-shadow: 0 0 0 3px rgb(255, 200, 87), 0 0 0 6px rgba(255, 80, 80, 0.5), 0 12px 0 rgb(140, 20, 20);
}
.card__link--blaze i {
  font-size: 1.2rem;
  transition: transform 0.2s;
}
.card__link--blaze:hover i {
  transform: translateX(5px);
}
@media (max-width: 1024px) {
  .arcade__grid--four {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}
@media (max-width: 620px) {
  .arcade__grid--four {
    grid-template-columns: 1fr;
    max-width: 400px;
    margin: 0 auto;
  }
  .arcade__title--decorated {
    font-size: 1.8rem;
  }
  .card__link--blaze {
    padding: 0.6rem 1.2rem;
    font-size: 1rem;
    box-shadow: 0 0 0 2px rgb(255, 200, 87), 0 0 0 4px rgba(255, 80, 80, 0.3), 0 6px 0 rgb(160, 30, 30);
  }
  .grid__card--game:hover {
    transform: none;
  }
}
.realm__pathway--guide {
  padding: 6rem 0;
  background: white;
  font-family: 'Nunito', sans-serif;
}
.pathway__header--center {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 4rem auto;
}
.pathway__icon--header {
  font-size: 3rem;
  color: rgb(255, 200, 87);
  margin-bottom: 1rem;
}
.pathway__title--ornate {
  font-family: 'Cinzel Decorative', Georgia, serif;
  font-size: 2.5rem;
  color: rgb(105, 48, 195);
  margin-bottom: 1.2rem;
}
.pathway__sub--wider {
  font-size: 1.2rem;
  color: rgb(89, 80, 102);
  line-height: 1.6;
}
.pathway__timeline--vertical {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  margin: 4rem 0;
}
.timeline__step--odd, .timeline__step--even {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  position: relative;
}
.timeline__step--odd {
  flex-direction: row;
}
.timeline__step--even {
  flex-direction: row-reverse;
}
.step__marker--left, .step__marker--right {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  min-width: 80px;
}
.marker__number--glow {
  font-family: 'Cinzel Decorative', Georgia, serif;
  font-size: 2.5rem;
  font-weight: 700;
  color: rgb(255, 200, 87);
  text-shadow: 0 0 15px rgba(255, 200, 87, 0.5);
  line-height: 1;
}
.marker__icon--pulse {
  font-size: 2rem;
  color: rgb(105, 48, 195);
  animation: softPulse 3s infinite;
}
@keyframes softPulse {
  0% { opacity: 0.7; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.1); }
  100% { opacity: 0.7; transform: scale(1); }
}
.step__content--right, .step__content--left {
  display: flex;
  gap: 2rem;
  flex: 1;
  align-items: flex-start;
}
.step__content--right {
  flex-direction: row;
}
.step__content--left {
  flex-direction: row-reverse;
}
.content__image--square {
  flex: 0 0 200px;
  height: 200px;
  border-radius: 30px 8px 30px 8px;
  overflow: hidden;
  box-shadow: 0 15px 25px rgba(105, 48, 195, 0.2);
}
.content__image--landscape {
  flex: 0 0 300px;
  height: 200px;
  border-radius: 8px 30px 8px 30px;
  overflow: hidden;
  box-shadow: 0 15px 25px rgba(105, 48, 195, 0.2);
}
.content__image--portrait {
  flex: 0 0 200px;
  height: 280px;
  border-radius: 40px 8px 40px 8px;
  overflow: hidden;
  box-shadow: 0 15px 25px rgba(105, 48, 195, 0.2);
}
.image__fit--cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.content__text--block {
  flex: 1;
}
.text__heading--medium {
  font-family: 'Cinzel Decorative', Georgia, serif;
  font-size: 1.6rem;
  color: rgb(105, 48, 195);
  margin-bottom: 1rem;
}
.text__paragraph--long {
  font-size: 1rem;
  line-height: 1.7;
  color: rgb(28, 25, 34);
  margin-bottom: 1rem;
}
.pathway__footer--link {
  text-align: center;
  margin-top: 3rem;
}
.footer__link--expanded {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  background: rgb(105, 48, 195);
  color: white;
  padding: 1rem 2.5rem;
  border-radius: 50px 10px 50px 10px;
  text-decoration: none;
  font-weight: 700;
  font-size: 1.2rem;
  box-shadow: 0 8px 0 rgb(60, 20, 120);
  transition: all 0.2s;
}
.footer__link--expanded:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 0 rgb(60, 20, 120);
}
.footer__link--expanded i {
  font-size: 1.4rem;
}
@media (max-width: 900px) {
  .timeline__step--odd, .timeline__step--even {
    flex-direction: column;
    gap: 1rem;
  }
  .step__marker--left, .step__marker--right {
    flex-direction: row;
    width: 100%;
    justify-content: center;
  }
  .step__content--right, .step__content--left {
    flex-direction: column;
    align-items: center;
  }
  .content__image--square, .content__image--landscape, .content__image--portrait {
    width: 100%;
    max-width: 400px;
    flex: none;
    height: auto;
    aspect-ratio: auto;
  }
  .content__image--square {
    height: auto;
    aspect-ratio: 1/1;
  }
  .content__image--landscape {
    height: auto;
    aspect-ratio: 3/2;
  }
  .content__image--portrait {
    height: auto;
    aspect-ratio: 2/3;
    max-height: 400px;
  }
}
@media (max-width: 620px) {
  .pathway__title--ornate {
    font-size: 2rem;
  }
  .marker__icon--pulse {
    animation: none;
  }
}
.realm__help--extended {
  padding: 6rem 0;
  background: rgb(240, 235, 250);
  font-family: 'Nunito', sans-serif;
}
.help__header--split {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
  justify-content: center;
}
.help__icon--large {
  font-size: 3.5rem;
  color: rgb(255, 200, 87);
}
.help__title--sculpted {
  font-family: 'Cinzel Decorative', Georgia, serif;
  font-size: 2.5rem;
  color: rgb(105, 48, 195);
}
.help__sub--centered {
  text-align: center;
  font-size: 1.2rem;
  color: rgb(89, 80, 102);
  max-width: 700px;
  margin: 0 auto 4rem auto;
  line-height: 1.6;
}
.help__grid--double {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 3rem;
  margin-bottom: 4rem;
}
.grid__troubles--list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.trouble__item--expand {
  background: white;
  padding: 1.8rem;
  border-radius: 30px 8px 30px 8px;
  box-shadow: 0 8px 20px rgba(105, 48, 195, 0.1);
  border-left: 5px solid rgb(255, 200, 87);
}
.item__heading--row {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}
.item__icon--signal, .item__icon--slow, .item__icon--visual, .item__icon--alert {
  font-size: 2rem;
  color: rgb(105, 48, 195);
}
.item__title--medium {
  font-family: 'Cinzel Decorative', Georgia, serif;
  font-size: 1.3rem;
  color: rgb(28, 25, 34);
}
.item__description--full {
  font-size: 0.95rem;
  line-height: 1.7;
  color: rgb(89, 80, 102);
  margin-bottom: 0.8rem;
}
.grid__contact--stack {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.contact__card--prominent {
  background: rgb(105, 48, 195);
  padding: 2rem;
  border-radius: 40px 8px 40px 8px;
  color: white;
  text-align: center;
}
.contact__icon--giant {
  font-size: 3.5rem;
  color: rgb(255, 200, 87);
  margin-bottom: 1rem;
}
.contact__title--small {
  font-family: 'Cinzel Decorative', Georgia, serif;
  font-size: 1.4rem;
  margin-bottom: 1rem;
}
.contact__text--base {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 1.8rem;
  opacity: 0.95;
}
.contact__button--solid {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  background: rgb(255, 200, 87);
  color: rgb(28, 25, 34);
  padding: 0.8rem 2rem;
  border-radius: 40px 6px 40px 6px;
  text-decoration: none;
  font-weight: 700;
  transition: 0.2s;
}
.contact__button--solid:hover {
  background: white;
  transform: scale(1.03);
}
.contact__card--light {
  background: white;
  padding: 1.8rem;
  border-radius: 20px 20px 20px 20px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}
.card__row--icontext {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.8rem 0;
  border-bottom: 1px dashed rgb(220, 210, 235);
  color: rgb(28, 25, 34);
}
.card__row--icontext:last-child {
  border-bottom: none;
}
.card__row--icontext i {
  font-size: 1.4rem;
  color: rgb(255, 200, 87);
  width: 2rem;
}
.contact__note--small {
  display: flex;
  gap: 1rem;
  background: rgba(255, 200, 87, 0.15);
  padding: 1.2rem;
  border-radius: 30px 6px 30px 6px;
  align-items: flex-start;
}
.contact__note--small i {
  font-size: 1.6rem;
  color: rgb(105, 48, 195);
  flex-shrink: 0;
}
.contact__note--small p {
  font-size: 0.9rem;
  color: rgb(28, 25, 34);
  line-height: 1.5;
}
.help__footer--banner {
  text-align: center;
  padding: 3rem;
  background: white;
  border-radius: 60px 12px 60px 12px;
  box-shadow: 0 10px 30px rgba(105, 48, 195, 0.15);
}
.banner__text--large {
  font-size: 1.3rem;
  color: rgb(89, 80, 102);
  margin-bottom: 1rem;
}
.banner__email--block {
  font-size: 2rem;
  font-weight: 700;
  color: rgb(105, 48, 195);
  text-decoration: none;
  border-bottom: 3px solid rgb(255, 200, 87);
  padding-bottom: 0.3rem;
  transition: 0.2s;
}
.banner__email--block:hover {
  color: rgb(255, 200, 87);
  border-bottom-color: rgb(105, 48, 195);
}
@media (max-width: 900px) {
  .help__grid--double {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .help__header--split {
    flex-direction: column;
    text-align: center;
    gap: 0.5rem;
  }
  .help__title--sculpted {
    font-size: 2rem;
  }
  .banner__email--block {
    font-size: 1.5rem;
    word-break: break-all;
  }
}
@media (max-width: 620px) {
  .item__heading--row {
    flex-direction: column;
    text-align: center;
  }
  .contact__card--prominent {
    padding: 1.5rem;
  }
  .banner__email--block {
    font-size: 1.2rem;
  }
}
.realm__balance--mindful {
  padding: 6rem 0;
  background: linear-gradient(135deg, rgb(245, 240, 255) 0%, rgb(255, 250, 240) 100%);
  font-family: 'Nunito', sans-serif;
}
.mindful__header--centered {
  text-align: center;
  margin-bottom: 3rem;
}
.mindful__icon--heart {
  font-size: 3.5rem;
  color: rgb(255, 200, 87);
  margin-bottom: 1rem;
  filter: drop-shadow(0 4px 8px rgba(105, 48, 195, 0.2));
}
.mindful__title--script {
  font-family: 'Cinzel Decorative', Georgia, serif;
  font-size: 2.5rem;
  color: rgb(105, 48, 195);
}
.mindful__columns--asymmetric {
  display: grid;
  grid-template-columns: 1.8fr 1.2fr;
  gap: 3rem;
  margin: 3rem 0;
}
.columns__text--expansive {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.text__paragraph--lead {
  font-size: 1.2rem;
  line-height: 1.7;
  color: rgb(28, 25, 34);
  background: rgba(255, 200, 87, 0.05);
  padding: 1.5rem;
  border-radius: 30px 8px 30px 8px;
  border-left: 5px solid rgb(255, 200, 87);
}
.text__highlight--frame {
  display: flex;
  gap: 1.2rem;
  background: rgba(105, 48, 195, 0.08);
  padding: 1.5rem;
  border-radius: 20px 30px 20px 30px;
  align-items: flex-start;
}
.frame__icon--info {
  font-size: 2rem;
  color: rgb(105, 48, 195);
  flex-shrink: 0;
}
.frame__text--emphasis {
  font-size: 1.1rem;
  font-style: italic;
  color: rgb(89, 80, 102);
  line-height: 1.6;
}
.text__subhead--decorated {
  font-family: 'Cinzel Decorative', Georgia, serif;
  font-size: 1.6rem;
  color: rgb(105, 48, 195);
  margin: 1rem 0 0.5rem 0;
  border-bottom: 2px dashed rgb(255, 200, 87);
  padding-bottom: 0.5rem;
}
.text__paragraph--base {
  font-size: 1rem;
  line-height: 1.7;
  color: rgb(28, 25, 34);
}
.text__link--embedded {
  color: rgb(105, 48, 195);
  text-decoration: none;
  font-weight: 600;
  border-bottom: 2px solid rgb(255, 200, 87);
  transition: 0.2s;
}
.text__link--embedded:hover {
  color: rgb(255, 200, 87);
  border-bottom-color: rgb(105, 48, 195);
}
.text__tip--bubble {
  display: flex;
  gap: 1rem;
  background: rgb(105, 48, 195);
  padding: 1.5rem;
  border-radius: 40px 10px 40px 10px;
  color: white;
  align-items: flex-start;
}
.bubble__icon--tip {
  font-size: 2rem;
  color: rgb(255, 200, 87);
  flex-shrink: 0;
}
.bubble__text--soft {
  font-size: 1rem;
  line-height: 1.6;
  opacity: 0.95;
}
.bubble__text--soft strong {
  color: rgb(255, 200, 87);
  font-weight: 700;
}
.columns__links--compact {
  background: white;
  padding: 2rem;
  border-radius: 40px 12px 40px 12px;
  box-shadow: 0 20px 35px rgba(105, 48, 195, 0.15);
  height: fit-content;
}
.links__heading--small {
  font-family: 'Cinzel Decorative', Georgia, serif;
  font-size: 1.3rem;
  color: rgb(28, 25, 34);
  margin-bottom: 1.5rem;
  text-align: center;
}
.links__grid--partners {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.2rem;
  margin-bottom: 1.5rem;
}
.partner__card--fixed {
  display: block;
  width: 100%;
  max-width: 260px;
  margin: 0 auto;
  transition: transform 0.2s, box-shadow 0.2s;
  border-radius: 12px;
  overflow: hidden;
}
.partner__card--fixed:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 25px rgba(105, 48, 195, 0.25);
}
.partner__image--fixed {
  width: 100%;
  height: 60px;
  object-fit: contain;
  background: rgb(83, 83, 172);
  border-radius: 12px;
  border: 2px solid transparent;
  transition: border-color 0.2s;
  padding: 5px;
}
.partner__card--fixed:hover .partner__image--fixed {
  border-color: rgb(255, 200, 87);
}
.links__separator--glow {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 2rem 0;
}
.separator__line {
  flex: 1;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgb(255, 200, 87), transparent);
}
.separator__age--prominent {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: linear-gradient(135deg, rgb(255, 80, 80) 0%, rgb(200, 50, 50) 100%);
  padding: 0.8rem 1.8rem;
  border-radius: 50px 12px 50px 12px;
  box-shadow: 0 0 20px rgba(255, 80, 80, 0.5);
}
.age__number--big {
  font-family: 'Cinzel Decorative', Georgia, serif;
  font-size: 2.2rem;
  font-weight: 700;
  color: white;
  line-height: 1;
  text-shadow: 2px 2px 0 rgba(0,0,0,0.2);
}
.age__text--small {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.9);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.links__footnote--subtle {
  font-size: 0.8rem;
  color: rgb(140, 130, 155);
  text-align: center;
  margin-top: 1rem;
}
.mindful__footer--reminder {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: rgba(105, 48, 195, 0.1);
  padding: 1.5rem 2rem;
  border-radius: 60px 12px 60px 12px;
  margin-top: 3rem;
  border: 1px solid rgba(255, 200, 87, 0.4);
}
.footer__icon--protect {
  font-size: 2.5rem;
  color: rgb(255, 200, 87);
  flex-shrink: 0;
}
.footer__text--gentle {
  font-size: 1.1rem;
  color: rgb(28, 25, 34);
  line-height: 1.5;
}
@media (max-width: 960px) {
  .mindful__columns--asymmetric {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .links__grid--partners {
    grid-template-columns: repeat(2, 1fr);
    max-width: 600px;
    margin: 0 auto 1.5rem auto;
  }
}
@media (max-width: 620px) {
  .mindful__title--script {
    font-size: 2rem;
  }
  .text__highlight--frame {
    flex-direction: column;
  }
  .links__grid--partners {
    grid-template-columns: 1fr;
  }
  .partner__card--fixed {
    max-width: 100%;
  }
  .separator__age--prominent {
    padding: 0.6rem 1rem;
  }
  .age__number--big {
    font-size: 1.8rem;
  }
  .mindful__footer--reminder {
    flex-direction: column;
    text-align: center;
  }
}
.realm__grounds--deep {
  background: rgb(28, 25, 34);
  color: rgb(200, 190, 215);
  padding: 4rem 0 2rem 0;
  font-family: 'Nunito', sans-serif;
  border-top: 5px solid rgb(255, 200, 87);
}
.grounds__cascade--unique {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 3rem;
  position: relative;
}
.cascade__identity--offset {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 250px;
  position: relative;
  top: -0.5rem;
}
.identity__icon--royal {
  font-size: 3rem;
  color: rgb(255, 200, 87);
  margin-bottom: 0.5rem;
}
.identity__name--script {
  font-family: 'Cinzel Decorative', Georgia, serif;
  font-size: 1.8rem;
  color: white;
  line-height: 1.2;
  margin-bottom: 0.5rem;
}
.identity__tagline--small {
  font-size: 0.9rem;
  color: rgb(170, 160, 185);
}
.cascade__links--checkerboard {
  display: flex;
  gap: 3rem;
  background: rgba(255, 255, 255, 0.03);
  padding: 1.5rem 2.5rem;
  border-radius: 60px 10px 60px 10px;
  border-right: 3px solid rgb(255, 200, 87);
}
.links__column--first, .links__column--second {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  min-width: 140px;
}
.links__column--first {
  transform: translateY(-5px);
}
.links__column--second {
  transform: translateY(5px);
}
.link__item--woven {
  color: rgb(200, 190, 215);
  text-decoration: none;
  font-size: 0.95rem;
  padding: 0.3rem 0;
  border-bottom: 1px solid transparent;
  transition: all 0.2s;
  display: inline-block;
}
.link__item--woven:hover {
  color: rgb(255, 200, 87);
  border-bottom-color: rgb(255, 200, 87);
  transform: translateX(5px);
}
.grounds__banner--callout {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  background: rgba(255, 200, 87, 0.1);
  padding: 1.2rem 2rem;
  border-radius: 100px 12px 100px 12px;
  margin-bottom: 3rem;
  border-left: 5px solid rgb(255, 200, 87);
}
.banner__callout--icon {
  font-size: 2.5rem;
  color: rgb(255, 200, 87);
  flex-shrink: 0;
}
.banner__callout--text {
  font-size: 1.1rem;
  line-height: 1.6;
  color: white;
  font-style: italic;
}
.grounds__geo--skewed {
  transform: skewX(-5deg);
  background: rgba(105, 48, 195, 0.2);
  padding: 1.5rem 2rem;
  border-radius: 30px 5px 30px 5px;
  margin-bottom: 2.5rem;
  border: 1px solid rgba(255, 200, 87, 0.3);
}
.geo__content--straight {
  transform: skewX(5deg);
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: space-between;
  align-items: center;
}
.geo__item--address, .geo__item--phone, .geo__item--email {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  color: white;
}
.geo__icon--small {
  font-size: 1.3rem;
  color: rgb(255, 200, 87);
}
.geo__text--normal {
  font-size: 0.95rem;
  color: rgb(220, 210, 235);
}
.geo__link--clickable {
  color: white;
  text-decoration: none;
  font-size: 0.95rem;
  border-bottom: 2px solid rgba(255, 200, 87, 0.5);
  transition: 0.2s;
}
.geo__link--clickable:hover {
  color: rgb(255, 200, 87);
  border-bottom-color: white;
}
.grounds__copyright--simple {
  text-align: center;
  padding-top: 2rem;
  margin-top: 1rem;
  border-top: 1px dashed rgba(255, 200, 87, 0.3);
}
.copyright__text--muted {
  font-size: 0.85rem;
  color: rgb(140, 130, 155);
}
@media (max-width: 900px) {
  .grounds__cascade--unique {
    flex-direction: column;
    gap: 2rem;
  }
  .cascade__links--checkerboard {
    width: 100%;
    justify-content: center;
  }
  .geo__content--straight {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
  .grounds__banner--callout {
    flex-direction: column;
    text-align: center;
  }
}
@media (max-width: 620px) {
  .cascade__links--checkerboard {
    flex-direction: column;
    gap: 1rem;
    padding: 1.5rem;
  }
  .links__column--first, .links__column--second {
    transform: none;
  }
  .grounds__geo--skewed {
    transform: none;
  }
  .geo__content--straight {
    transform: none;
  }
  .geo__link--clickable {
    font-size: 0.85rem;
  }
}