.division-body-kids,
html:has(.division-body-kids) {
  overflow-x: hidden;
}

.division-body-kids {
  --text-main: #11253f;
  --text-soft: rgba(26, 48, 79, 0.84);
  --text-muted: rgba(26, 48, 79, 0.64);
  background:
    radial-gradient(circle at 20% 8%, rgba(151, 217, 255, 0.18), transparent 20%),
    radial-gradient(circle at 84% 8%, rgba(255, 219, 127, 0.24), transparent 18%),
    linear-gradient(
      180deg,
      #050e1d 0%,
      #10274d 16%,
      #4ea6dd 34%,
      #c3e9ff 52%,
      #ffe5b5 70%,
      #9ad28d 85%,
      #4b7b46 100%
    );
  color: #17324d;
}

.division-body-kids .site-shell,
.division-body-kids .hero-copy,
.division-body-kids .world-copy,
.division-body-kids .topbar,
.division-body-kids .brand,
.division-body-kids .brand-copy,
.division-body-kids main {
  min-width: 0;
}

.division-body-kids::before {
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
  background-size: 88px 88px;
  opacity: 0.42;
}

.division-body-kids .topbar {
  background: linear-gradient(180deg, rgba(6, 16, 31, 0.82), rgba(6, 16, 31, 0.38));
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(22px);
}

.division-body-kids .brand-mark {
  overflow: hidden;
  background: #ffc21c;
  color: #16314c;
  box-shadow: 0 14px 30px rgba(255, 194, 28, 0.24);
}

.division-body-kids .brand-mark-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.division-body-kids .brand-copy span,
.division-body-kids .topnav a {
  color: rgba(236, 245, 255, 0.82);
}

.division-body-kids .topnav a:hover,
.division-body-kids .topnav a:focus-visible {
  color: #ffffff;
}

.division-body-kids .eyebrow {
  color: #ffd978;
}

.division-body-kids .button-secondary {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(151, 206, 255, 0.18);
  color: #ffffff;
}

.division-body-kids .button-warm {
  background: linear-gradient(135deg, #ffd86e, #ff9f72);
  box-shadow: 0 14px 30px rgba(255, 167, 103, 0.24);
}

.division-body-kids .hero-copy h1,
.division-body-kids .section-heading h2,
.division-body-kids .contact-banner h2,
.world-copy h2 {
  font-family: "Baloo 2", "Fraunces", serif;
  line-height: 0.98;
  text-wrap: balance;
}

.division-body-kids .hero-copy h1 {
  color: #ffffff;
  max-width: 11.8ch;
}

.division-body-kids .section-heading h2,
.world-copy h2,
.kids-contact h2 {
  color: #234864;
}

.hero-kids {
  min-height: 86vh;
  background:
    radial-gradient(circle at 22% 18%, rgba(134, 222, 255, 0.2), transparent 22%),
    radial-gradient(circle at 82% 12%, rgba(255, 210, 109, 0.22), transparent 18%),
    linear-gradient(180deg, rgba(7, 17, 35, 0.96), rgba(17, 39, 75, 0.88));
  border-color: rgba(133, 191, 255, 0.22);
}

.hero-kids::before {
  content: "";
  position: absolute;
  inset: auto auto -18% -8%;
  width: 20rem;
  height: 20rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(106, 164, 255, 0.26), transparent 70%);
  filter: blur(14px);
}

.hero-kids::after {
  content: "";
  position: absolute;
  inset: 1.5rem 1.6rem auto auto;
  width: 7rem;
  height: 7rem;
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 30%, rgba(255, 247, 182, 0.98) 0 18%, transparent 19%),
    radial-gradient(circle at 60% 60%, rgba(255, 183, 104, 0.45) 0 32%, transparent 33%);
  box-shadow: 0 0 40px rgba(255, 222, 155, 0.2);
}

.hero-text {
  color: rgba(236, 245, 255, 0.88);
  max-width: 56ch;
}

.hero-copy,
.origin-copy,
.world-copy,
.section-heading,
.process-note,
.contact-banner {
  overflow-wrap: break-word;
}

.hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: 1rem;
}

.hero-badges span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.8rem;
  padding: 0.55rem 0.95rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(146, 206, 255, 0.22);
  color: #ffffff;
  font-size: 0.86rem;
  font-weight: 800;
  text-align: center;
}

.hero-proof {
  margin-top: 1rem;
  color: rgba(255, 228, 154, 0.92);
  font-size: 0.95rem;
  font-weight: 700;
}

.hero-world {
  position: relative;
  min-height: 31rem;
}

.space-orbit {
  position: absolute;
  inset: 50% auto auto 50%;
  border: 1px dashed rgba(158, 210, 255, 0.22);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.orbit-one {
  width: 22rem;
  height: 22rem;
}

.orbit-two {
  width: 15rem;
  height: 15rem;
}

.planet,
.astronaut,
.story-comet,
.hero-note,
.hero-cover-asset {
  position: absolute;
}

.hero-cover-asset {
  inset: 34% auto auto 48%;
  z-index: 1;
  width: clamp(7rem, 15vw, 10.8rem);
  height: auto;
  border-radius: 1.2rem;
  box-shadow: 0 24px 44px rgba(4, 12, 29, 0.36);
  transform: translate(-50%, -50%) rotate(-9deg);
}

.planet {
  border-radius: 50%;
}

.planet-main {
  inset: 18% 14% auto auto;
  width: 8.8rem;
  height: 8.8rem;
  background:
    radial-gradient(circle at 34% 34%, #ffefaa 0 20%, transparent 21%),
    linear-gradient(145deg, #6cc8ff, #5f78ff);
  box-shadow: 0 24px 50px rgba(67, 113, 223, 0.3);
}

.planet-main::after {
  content: "";
  position: absolute;
  inset: 42% -18% auto -18%;
  height: 1rem;
  border-radius: 999px;
  border: 3px solid rgba(255, 218, 142, 0.92);
  transform: rotate(-10deg);
}

.planet-small {
  inset: 58% 62% auto auto;
  width: 3.4rem;
  height: 3.4rem;
  background: linear-gradient(135deg, #ffd87b, #ff9e7a);
  box-shadow: 0 12px 24px rgba(255, 162, 110, 0.24);
}

.astronaut {
  width: 3.3rem;
  height: 5.4rem;
}

.astronaut::before,
.astronaut::after {
  content: "";
  position: absolute;
}

.astronaut::before {
  inset: 0.1rem auto auto 0.8rem;
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 50%;
  background:
    radial-gradient(circle at 52% 40%, #7fd3ff 0 26%, #ffffff 27% 100%);
  box-shadow: 0 0 0 0.22rem rgba(255, 255, 255, 0.16);
}

.astronaut::after {
  inset: 1.9rem auto auto 0.85rem;
  width: 1.6rem;
  height: 2.4rem;
  border-radius: 1rem;
  background: #ffffff;
  box-shadow:
    -0.8rem 0.35rem 0 -0.5rem #ffffff,
    0.8rem 0.35rem 0 -0.5rem #ffffff,
    -0.45rem 2rem 0 -0.4rem #ffffff,
    0.45rem 2rem 0 -0.4rem #ffffff;
}

.astronaut-one {
  inset: 26% auto auto 10%;
  transform: rotate(-16deg);
  z-index: 2;
}

.astronaut-two {
  inset: 60% 16% auto auto;
  transform: rotate(16deg) scale(0.82);
  z-index: 2;
}

.story-comet {
  inset: 26% auto auto 26%;
  width: 7rem;
  height: 1.15rem;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255, 229, 155, 0), rgba(255, 229, 155, 0.95));
  filter: blur(1px);
  transform: rotate(-16deg);
}

.story-comet::after {
  content: "";
  position: absolute;
  inset: -0.15rem auto auto 5.8rem;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 50%;
  background: radial-gradient(circle, #ffffff, #ffd87d 70%, rgba(255, 216, 125, 0) 71%);
}

.hero-note {
  z-index: 3;
  width: 12.5rem;
  padding: 1rem 1.1rem;
  border-radius: 22px;
  background: rgba(8, 17, 33, 0.64);
  border: 1px solid rgba(160, 215, 255, 0.2);
  box-shadow: 0 18px 36px rgba(2, 8, 20, 0.28);
  backdrop-filter: blur(14px);
}

.hero-note span {
  display: block;
  margin-bottom: 0.35rem;
  color: rgba(255, 228, 154, 0.88);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.7rem;
  font-weight: 800;
}

.hero-note strong {
  color: #ffffff;
  font-size: 1rem;
  line-height: 1.3;
}

.hero-note-book {
  inset: auto auto 10% 4%;
  width: 13.1rem;
  box-shadow: 0 22px 42px rgba(2, 8, 20, 0.34);
}

.hero-note-world {
  inset: 12% 4% auto auto;
}

.hero-note-future {
  inset: auto 10% 24% auto;
  width: 10.4rem;
  opacity: 0.82;
  transform: scale(0.92);
}

.division-body-kids .content-section {
  background:
    linear-gradient(180deg, rgba(255, 248, 232, 0.94), rgba(236, 248, 255, 0.9));
  border-color: rgba(134, 188, 225, 0.18);
  color: #234864;
}

.origin-section {
  background:
    linear-gradient(180deg, rgba(243, 249, 255, 0.96), rgba(224, 242, 255, 0.92));
}

.offer-section {
  background:
    linear-gradient(180deg, rgba(255, 244, 224, 0.97), rgba(255, 231, 194, 0.94));
  border-color: rgba(218, 154, 96, 0.24);
  color: #5a3d28;
}

.offer-section .section-heading h2,
.offer-section .eyebrow {
  color: #5a3d28;
}

.offer-section .eyebrow {
  color: #c76a2c;
}

.offer-layout {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 1rem;
  align-items: stretch;
}

.offer-primary,
.offer-support-card {
  border-radius: 26px;
}

.offer-primary {
  padding: 1.5rem;
  background:
    radial-gradient(circle at top right, rgba(255, 244, 190, 0.34), transparent 26%),
    linear-gradient(180deg, rgba(255, 254, 249, 0.8), rgba(255, 247, 233, 0.88));
  border: 1px solid rgba(218, 154, 96, 0.24);
  box-shadow: 0 18px 34px rgba(164, 112, 72, 0.14);
}

.offer-primary span {
  display: inline-flex;
  margin-bottom: 0.85rem;
  padding: 0.35rem 0.72rem;
  border-radius: 999px;
  background: rgba(255, 180, 111, 0.18);
  color: #b86631;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.offer-primary h3 {
  margin: 0;
  color: #5a3d28;
  font-size: 1.45rem;
  line-height: 1.08;
}

.offer-primary p {
  margin-top: 0.8rem;
}

.offer-support {
  display: grid;
  gap: 0.85rem;
}

.offer-support-card {
  padding: 1rem 1.05rem;
  background: rgba(255, 252, 245, 0.74);
  border: 1px solid rgba(218, 154, 96, 0.18);
  box-shadow: 0 12px 24px rgba(164, 112, 72, 0.1);
}

.offer-support-card p {
  margin-top: 0.5rem;
}

.origin-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 1.1rem;
  align-items: start;
}

.origin-copy {
  display: grid;
  gap: 1rem;
}

.proof-grid {
  display: grid;
  gap: 0.9rem;
}

.proof-card {
  padding: 1.2rem;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(128, 187, 227, 0.24);
  box-shadow: 0 18px 32px rgba(93, 153, 193, 0.14);
}

.proof-card span,
.process-step,
.future-cards span {
  display: inline-flex;
  margin-bottom: 0.75rem;
  padding: 0.35rem 0.72rem;
  border-radius: 999px;
  background: rgba(124, 207, 255, 0.18);
  color: #276ea0;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.proof-card strong {
  display: block;
  color: #1d4263;
  font-size: 1.02rem;
  line-height: 1.45;
}

.world-section {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 0.95fr;
  gap: 2rem;
  align-items: center;
  margin-bottom: 2rem;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border-radius: var(--radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}

.world-section::before {
  content: "";
  position: absolute;
  inset: auto -2rem -2rem auto;
  width: 13rem;
  height: 13rem;
  border-radius: 50%;
  opacity: 0.5;
  filter: blur(12px);
}

.world-copy {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 1rem;
}

.world-copy h2 {
  max-width: 11ch;
}

.world-scene {
  position: relative;
  min-height: 22rem;
  border-radius: 28px;
  overflow: hidden;
}

.difference-points,
.contact-points {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.difference-points span,
.contact-points span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: 0.65rem 1rem;
  border-radius: 999px;
  font-weight: 800;
  text-align: center;
}

.story-includes,
.process-grid,
.physical-grid,
.purpose-points,
.future-cards {
  display: grid;
  gap: 1rem;
}

.story-includes {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.include-card,
.process-card,
.physical-card,
.purpose-card,
.future-cards article {
  padding: 1.15rem;
  border-radius: 24px;
}

.include-card p,
.process-card p,
.physical-card p,
.purpose-card p,
.future-cards article p,
.future-cards article strong {
  margin-top: 0.65rem;
}

.world-story {
  background:
    linear-gradient(180deg, rgba(255, 228, 182, 0.96), rgba(255, 200, 142, 0.94) 52%, rgba(243, 163, 110, 0.92) 100%);
  color: #583924;
  border-color: rgba(217, 148, 86, 0.24);
}

.world-story::before {
  background: radial-gradient(circle, rgba(255, 166, 109, 0.34), transparent 66%);
}

.world-story .world-copy h2,
.world-story .eyebrow {
  color: #583924;
}

.world-story .eyebrow {
  color: #c8692c;
}

.world-story .difference-points span {
  background: rgba(255, 248, 235, 0.68);
  border: 1px solid rgba(217, 148, 86, 0.24);
  color: #583924;
}

.include-card {
  background: rgba(255, 248, 235, 0.72);
  border: 1px solid rgba(217, 148, 86, 0.22);
  box-shadow: 0 14px 28px rgba(164, 112, 72, 0.14);
}

.story-scene {
  background:
    radial-gradient(circle at 50% 18%, rgba(255, 255, 255, 0.28), transparent 18%),
    linear-gradient(180deg, rgba(255, 244, 218, 0.84), rgba(255, 195, 133, 0.82) 60%, rgba(177, 119, 73, 0.88) 100%);
}

.story-halo,
.story-book,
.story-card {
  position: absolute;
}

.story-halo {
  inset: 8% auto auto 50%;
  width: 13rem;
  height: 13rem;
  border-radius: 50%;
  transform: translateX(-50%);
  background: radial-gradient(circle, rgba(255, 239, 164, 0.48), transparent 68%);
}

.story-book {
  border-radius: 22px;
  box-shadow: 0 18px 34px rgba(71, 47, 35, 0.22);
}

.book-main {
  inset: auto auto 12% 14%;
  width: 8.4rem;
  height: 11rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0)),
    linear-gradient(145deg, #ffd87c, #ff9d71);
}

.book-secondary {
  inset: auto auto 18% 38%;
  width: 6.6rem;
  height: 9rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0)),
    linear-gradient(145deg, #7cd8ff, #6a78ff);
  transform: rotate(-12deg);
}

.story-card {
  width: 11rem;
  padding: 0.9rem 1rem;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(151, 206, 255, 0.22);
  box-shadow: 0 16px 28px rgba(110, 81, 64, 0.16);
}

.story-card span {
  display: block;
  margin-bottom: 0.25rem;
  color: #b86631;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.story-card strong {
  color: #583924;
  font-size: 0.96rem;
  line-height: 1.35;
}

.card-name {
  inset: 12% auto auto 8%;
}

.card-theme {
  inset: 24% 8% auto auto;
}

.card-finish {
  inset: auto 12% 10% auto;
}

.process-section {
  background:
    linear-gradient(180deg, rgba(243, 248, 255, 0.96), rgba(226, 242, 255, 0.92));
}

.process-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.process-card {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(128, 187, 227, 0.22);
  box-shadow: 0 18px 32px rgba(93, 153, 193, 0.12);
}

.process-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1.2rem;
  padding: 1.2rem;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(128, 187, 227, 0.18);
}

.process-note p {
  margin: 0;
}

.process-note strong {
  color: #1f4b71;
}

.world-themes {
  grid-template-columns: 0.95fr 1fr;
  background:
    linear-gradient(180deg, rgba(204, 238, 179, 0.96), rgba(146, 203, 117, 0.94) 58%, rgba(95, 153, 75, 0.92) 100%);
  color: #1f4f2c;
  border-color: rgba(103, 164, 92, 0.26);
}

.world-themes::before {
  background: radial-gradient(circle, rgba(138, 198, 113, 0.42), transparent 66%);
}

.world-themes .world-copy h2,
.world-themes .eyebrow {
  color: #1f4f2c;
}

.world-themes .eyebrow {
  color: #356f2f;
}

.themes-scene {
  background:
    linear-gradient(180deg, rgba(236, 255, 220, 0.86), rgba(154, 213, 118, 0.86) 58%, rgba(92, 142, 70, 0.94) 100%);
}

.theme-sun,
.theme-hill,
.theme-bug,
.theme-planet,
.theme-ship,
.theme-wave {
  position: absolute;
}

.theme-sun {
  inset: 1.5rem 1.8rem auto auto;
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 50%;
  background: radial-gradient(circle, #fff6b6, #ffd37a 72%);
  box-shadow: 0 0 34px rgba(255, 208, 121, 0.24);
}

.theme-hill {
  bottom: -20%;
  width: 18rem;
  height: 12rem;
  border-radius: 50%;
  background: linear-gradient(180deg, rgba(118, 183, 94, 0.96), rgba(72, 127, 58, 0.98));
}

.hill-left {
  left: -12%;
}

.hill-right {
  right: -6%;
}

.theme-bug {
  width: 3.3rem;
  height: 3.3rem;
  border-radius: 50%;
}

.bug-one {
  inset: 54% auto auto 18%;
  background:
    radial-gradient(circle at 28% 34%, #111 0 0.22rem, transparent 0.23rem),
    radial-gradient(circle at 72% 34%, #111 0 0.22rem, transparent 0.23rem),
    radial-gradient(circle at 30% 70%, #111 0 0.22rem, transparent 0.23rem),
    radial-gradient(circle at 70% 70%, #111 0 0.22rem, transparent 0.23rem),
    linear-gradient(90deg, #111 48%, transparent 48% 52%, #111 52%),
    linear-gradient(135deg, #ff7659, #e34232);
}

.bug-two {
  inset: 34% 18% auto auto;
  background:
    radial-gradient(circle at 30% 38%, #ffd877 0 0.9rem, transparent 0.92rem),
    radial-gradient(circle at 70% 38%, #ffd877 0 0.9rem, transparent 0.92rem),
    radial-gradient(circle at 30% 78%, #7ed7ff 0 0.8rem, transparent 0.82rem),
    radial-gradient(circle at 70% 78%, #7ed7ff 0 0.8rem, transparent 0.82rem),
    linear-gradient(180deg, transparent 0 10%, #453927 10% 90%, transparent 90%);
}

.theme-planet {
  inset: 18% auto auto 14%;
  width: 4.1rem;
  height: 4.1rem;
  border-radius: 50%;
  background: linear-gradient(145deg, #6cc8ff, #5f78ff);
  box-shadow: 0 18px 28px rgba(62, 104, 181, 0.2);
}

.theme-ship {
  inset: auto auto 18% 48%;
  width: 5.8rem;
  height: 2.4rem;
  border-radius: 0 0 1rem 1rem;
  background: linear-gradient(180deg, #4f6d99, #243650);
}

.theme-ship::before {
  content: "";
  position: absolute;
  inset: -2rem auto auto 2.45rem;
  width: 0.25rem;
  height: 2rem;
  background: #243650;
  box-shadow: 0.95rem 0 0 #243650;
}

.theme-ship::after {
  content: "";
  position: absolute;
  inset: -1.75rem auto auto 2.6rem;
  width: 1rem;
  height: 1.2rem;
  background: linear-gradient(135deg, #ffd87c, #ffb46c);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  box-shadow: 0.95rem 0 0 0 rgba(124, 216, 255, 0.9);
}

.theme-wave {
  inset: auto 0 0;
  height: 5rem;
  background:
    radial-gradient(circle at 18% -10%, rgba(255, 255, 255, 0.5) 0 1rem, transparent 1.1rem),
    radial-gradient(circle at 44% -14%, rgba(255, 255, 255, 0.42) 0 1rem, transparent 1.1rem),
    linear-gradient(180deg, rgba(110, 181, 255, 0.16), rgba(71, 134, 214, 0.34));
}

.theme-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.theme-cloud span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.8rem;
  padding: 0.55rem 0.95rem;
  border-radius: 999px;
  background: rgba(245, 255, 234, 0.72);
  border: 1px solid rgba(103, 164, 92, 0.24);
  box-shadow: 0 14px 28px rgba(71, 118, 62, 0.12);
  color: #1f4f2c;
  font-weight: 800;
}

.theme-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.theme-columns article {
  padding: 1.1rem;
  border-radius: 22px;
  background: rgba(245, 255, 234, 0.72);
  border: 1px solid rgba(103, 164, 92, 0.24);
}

.world-purpose {
  background:
    linear-gradient(180deg, rgba(222, 245, 205, 0.96), rgba(167, 216, 132, 0.94) 50%, rgba(116, 173, 93, 0.92) 100%);
  color: #244f2f;
  border-color: rgba(104, 161, 91, 0.24);
}

.world-purpose::before {
  background: radial-gradient(circle, rgba(139, 198, 111, 0.34), transparent 66%);
}

.world-purpose .world-copy h2,
.world-purpose .eyebrow {
  color: #244f2f;
}

.world-purpose .eyebrow {
  color: #3f7a39;
}

.purpose-points {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.purpose-card {
  background: rgba(245, 255, 234, 0.72);
  border: 1px solid rgba(104, 161, 91, 0.22);
  box-shadow: 0 14px 28px rgba(77, 126, 69, 0.12);
}

.purpose-scene {
  background:
    linear-gradient(180deg, rgba(233, 248, 220, 0.92), rgba(171, 222, 141, 0.88) 54%, rgba(103, 161, 83, 0.9) 100%);
}

.purpose-sun,
.purpose-hill,
.purpose-path,
.purpose-tree,
.purpose-book {
  position: absolute;
}

.purpose-sun {
  inset: 1.6rem 2rem auto auto;
  width: 4.6rem;
  height: 4.6rem;
  border-radius: 50%;
  background: radial-gradient(circle, #fff6b6, #ffd37a 72%);
  box-shadow: 0 0 34px rgba(255, 208, 121, 0.24);
}

.purpose-hill {
  border-radius: 50%;
}

.hill-back {
  inset: auto auto -28% -6%;
  width: 22rem;
  height: 14rem;
  background: linear-gradient(180deg, rgba(132, 191, 106, 0.96), rgba(90, 149, 72, 0.98));
}

.hill-front {
  inset: auto -8% -34% auto;
  width: 24rem;
  height: 16rem;
  background: linear-gradient(180deg, rgba(118, 183, 94, 0.96), rgba(72, 127, 58, 0.98));
}

.purpose-path {
  inset: auto auto 0 34%;
  width: 7rem;
  height: 10rem;
  background: linear-gradient(180deg, rgba(242, 220, 172, 0.98), rgba(213, 174, 120, 0.98));
  clip-path: polygon(36% 0, 64% 0, 100% 100%, 0 100%);
}

.purpose-tree {
  width: 4.2rem;
  height: 8rem;
}

.purpose-tree::before,
.purpose-tree::after {
  content: "";
  position: absolute;
}

.purpose-tree::before {
  inset: auto auto 0 1.7rem;
  width: 0.8rem;
  height: 3.2rem;
  border-radius: 999px;
  background: linear-gradient(180deg, #8b5f3b, #6b462b);
}

.purpose-tree::after {
  inset: 0 auto auto 0.3rem;
  width: 3.6rem;
  height: 4.4rem;
  border-radius: 50% 50% 44% 44%;
  background:
    radial-gradient(circle at 34% 34%, rgba(220, 255, 208, 0.28), transparent 24%),
    linear-gradient(180deg, #8ad16b, #4f9a47);
  box-shadow:
    -0.8rem 0.9rem 0 -0.2rem #68b557,
    0.8rem 1rem 0 -0.15rem #76c262;
}

.tree-one {
  inset: auto auto 4.2rem 14%;
}

.tree-two {
  inset: auto auto 5rem 42%;
  transform: scale(0.92);
}

.tree-three {
  inset: auto 14% 4.6rem auto;
  transform: scale(1.04);
}

.purpose-book {
  inset: auto auto 10% 40%;
  width: 5.4rem;
  height: 7rem;
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0)),
    linear-gradient(145deg, #ffd87c, #ff9d71);
  box-shadow: 0 18px 34px rgba(71, 47, 35, 0.18);
  transform: rotate(-10deg);
}

.physical-section {
  background:
    linear-gradient(180deg, rgba(255, 244, 224, 0.96), rgba(255, 231, 194, 0.94));
  border-color: rgba(218, 154, 96, 0.24);
  color: #5a3d28;
}

.physical-section .section-heading h2,
.physical-section .eyebrow {
  color: #5a3d28;
}

.physical-section .eyebrow {
  color: #c76a2c;
}

.physical-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.physical-card {
  background: rgba(255, 252, 245, 0.76);
  border: 1px solid rgba(218, 154, 96, 0.22);
  box-shadow: 0 14px 28px rgba(164, 112, 72, 0.12);
}

.world-future {
  grid-template-columns: 0.95fr 1fr;
  background:
    radial-gradient(circle at 72% 14%, rgba(255, 234, 170, 0.36), transparent 20%),
    linear-gradient(180deg, rgba(209, 241, 255, 0.96), rgba(153, 220, 255, 0.92));
  color: #23506d;
  border-color: rgba(106, 182, 229, 0.24);
}

.world-future::before {
  background: radial-gradient(circle, rgba(120, 212, 255, 0.34), transparent 66%);
}

.world-future .world-copy h2,
.world-future .eyebrow {
  color: #23506d;
}

.world-future .eyebrow {
  color: #2f89bd;
}

.future-scene {
  background:
    linear-gradient(180deg, rgba(234, 248, 255, 0.86), rgba(171, 226, 255, 0.84) 58%, rgba(120, 188, 236, 0.88) 100%);
}

.future-cloud,
.future-plane,
.future-ring {
  position: absolute;
}

.future-cloud {
  height: 3rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow:
    1rem -0.9rem 0 0.2rem rgba(255, 255, 255, 0.9),
    2.4rem -0.4rem 0 0 rgba(255, 255, 255, 0.88);
}

.cloud-one {
  inset: 18% auto auto 8%;
  width: 6rem;
}

.cloud-two {
  inset: 42% auto auto 56%;
  width: 7rem;
}

.cloud-three {
  inset: 66% auto auto 18%;
  width: 5.4rem;
}

.future-plane {
  width: 4.8rem;
  height: 1.1rem;
  background: linear-gradient(90deg, #ffad77, #ffd86f);
  border-radius: 999px 0.9rem 0.9rem 999px;
}

.future-plane::before,
.future-plane::after {
  content: "";
  position: absolute;
  background: inherit;
}

.future-plane::before {
  inset: -0.55rem auto auto 1.5rem;
  width: 1.5rem;
  height: 0.8rem;
  clip-path: polygon(0 100%, 100% 50%, 0 0);
}

.future-plane::after {
  inset: auto auto -0.6rem 1.9rem;
  width: 1.2rem;
  height: 0.8rem;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.plane-one {
  inset: 28% 14% auto auto;
  transform: rotate(-12deg);
}

.plane-two {
  inset: 58% 30% auto auto;
  transform: rotate(10deg) scale(0.82);
}

.future-ring {
  inset: auto auto 6% 10%;
  width: 13rem;
  height: 13rem;
  border-radius: 50%;
  border: 1px dashed rgba(70, 146, 187, 0.32);
}

.future-cards {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.future-cards article {
  background: rgba(255, 255, 255, 0.68);
  border: 1px solid rgba(106, 182, 229, 0.22);
  box-shadow: 0 14px 28px rgba(105, 174, 210, 0.16);
}

.future-disclaimer {
  padding: 0.95rem 1rem;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.56);
  border: 1px solid rgba(106, 182, 229, 0.18);
  color: #23506d;
  font-weight: 700;
}

.explorer-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 14% 14%, rgba(111, 236, 178, 0.2), transparent 28%),
    radial-gradient(circle at 86% 8%, rgba(255, 214, 112, 0.24), transparent 26%),
    linear-gradient(145deg, rgba(10, 28, 50, 0.96), rgba(10, 63, 77, 0.94));
  border-color: rgba(131, 235, 197, 0.22);
  color: #edf9f5;
}

.explorer-section::before {
  content: "";
  position: absolute;
  inset: 1.2rem;
  pointer-events: none;
  border-radius: inherit;
  border: 1px dashed rgba(255, 255, 255, 0.12);
}

.explorer-section .section-heading {
  position: relative;
  z-index: 1;
}

.explorer-section .section-heading h2,
.explorer-section .section-heading p,
.explorer-section .eyebrow {
  color: #f4fffb;
}

.explorer-section .eyebrow {
  color: #91f5bd;
}

.explorer-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 0.82fr;
  gap: 1.2rem;
  align-items: stretch;
}

.explorer-panel,
.explorer-terminal,
.explorer-metrics article {
  border: 1px solid rgba(172, 255, 221, 0.16);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.26);
}

.explorer-panel {
  display: grid;
  gap: 1rem;
  padding: 1.3rem;
  border-radius: 28px;
  background: rgba(5, 20, 35, 0.48);
}

.explorer-kicker {
  width: max-content;
  padding: 0.45rem 0.72rem;
  border-radius: 999px;
  background: rgba(145, 245, 189, 0.12);
  border: 1px solid rgba(145, 245, 189, 0.26);
  color: #a8f7c6;
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.explorer-panel h3 {
  margin: 0;
  color: #ffffff;
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 3.35rem);
  line-height: 0.94;
}

.explorer-panel p {
  margin: 0;
  color: rgba(237, 249, 245, 0.82);
  font-size: 1rem;
  line-height: 1.7;
}

.explorer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 0.25rem;
}

.explorer-terminal {
  min-height: 100%;
  border-radius: 28px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(5, 17, 31, 0.94), rgba(7, 34, 42, 0.9));
}

.explorer-window {
  display: flex;
  gap: 0.42rem;
  padding: 0.9rem 1rem;
  border-bottom: 1px solid rgba(172, 255, 221, 0.14);
  background: rgba(255, 255, 255, 0.06);
}

.explorer-window span {
  width: 0.66rem;
  height: 0.66rem;
  border-radius: 50%;
  background: #91f5bd;
}

.explorer-window span:nth-child(2) {
  background: #ffe083;
}

.explorer-window span:nth-child(3) {
  background: #79d9ff;
}

.explorer-screen {
  display: grid;
  gap: 0.75rem;
  padding: 1.25rem;
}

.explorer-line {
  margin: 0;
  padding: 0.82rem 0.95rem;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.07);
  color: rgba(238, 255, 249, 0.78);
  font-family: "Manrope", sans-serif;
  font-size: 0.92rem;
  font-weight: 800;
}

.explorer-line-bright {
  color: #071629;
  background: linear-gradient(135deg, #91f5bd, #82dbff);
}

.explorer-metrics {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
  margin-top: 1rem;
}

.explorer-metrics article {
  padding: 1rem;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.08);
}

.explorer-metrics strong,
.explorer-metrics p {
  display: block;
  margin: 0;
}

.explorer-metrics strong {
  color: #ffffff;
  font-size: 1rem;
}

.explorer-metrics p {
  margin-top: 0.4rem;
  color: rgba(237, 249, 245, 0.78);
  font-size: 0.9rem;
  line-height: 1.5;
}

.kids-contact {
  background:
    linear-gradient(135deg, rgba(255, 242, 197, 0.96), rgba(255, 220, 167, 0.96));
  border-color: rgba(218, 154, 96, 0.24);
  color: #5a3d28;
}

.kids-contact h2,
.kids-contact p,
.kids-contact .eyebrow {
  color: #5a3d28;
}

.contact-actions-stack {
  display: grid;
  gap: 0.8rem;
  justify-items: stretch;
  min-width: min(100%, 18rem);
}

.contact-points {
  margin-top: 1rem;
}

.contact-points span {
  background: rgba(255, 252, 245, 0.76);
  border: 1px solid rgba(218, 154, 96, 0.22);
  color: #5a3d28;
}

.division-body-kids .site-footer {
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  padding-top: 1.25rem;
  color: rgba(255, 255, 255, 0.8);
}

.kids-sticky-cta {
  position: fixed;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 35;
  display: none;
  align-items: center;
  justify-content: center;
  min-height: 3.3rem;
  padding: 0.8rem 1rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #ffd86e, #ff9f72);
  box-shadow: 0 18px 34px rgba(255, 151, 103, 0.28);
  color: #281104;
  font-weight: 800;
  text-align: center;
}

@media (max-width: 1120px) {
  .process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .purpose-points {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 980px) {
  .hero-kids,
  .world-section,
  .origin-grid,
  .offer-layout,
  .explorer-layout,
  .contact-banner {
    grid-template-columns: 1fr;
  }

  .hero-kids {
    min-height: auto;
  }

  .hero-world,
  .world-scene {
    min-height: 20rem;
  }

  .story-includes,
  .physical-grid,
  .future-cards,
  .explorer-metrics,
  .theme-columns {
    grid-template-columns: 1fr;
  }

  .process-note {
    flex-direction: column;
    align-items: flex-start;
  }

  .contact-actions-stack {
    width: 100%;
  }
}

@media (max-width: 720px) {
  .division-body-kids .site-shell {
    width: min(calc(100% - 0.85rem), var(--max-width));
  }

  .division-body-kids .hero,
  .division-body-kids .hero-kids,
  .division-body-kids .content-section,
  .division-body-kids .world-section {
    width: 100%;
    max-width: 100%;
  }

  .division-body-kids .hero,
  .division-body-kids .hero-kids {
    grid-template-columns: minmax(0, 1fr);
  }

  .division-body-kids .topbar {
    gap: 0.65rem;
    overflow: hidden;
    padding-block: 0.85rem;
  }

  .division-body-kids .brand {
    max-width: 100%;
  }

  .division-body-kids .brand-copy span {
    display: none;
  }

  .division-body-kids .topnav {
    width: 100%;
    flex-wrap: nowrap;
    gap: 0.95rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding-bottom: 0.25rem;
    scrollbar-width: none;
  }

  .division-body-kids .topnav::-webkit-scrollbar {
    display: none;
  }

  .hero-world {
    min-height: 17.5rem;
  }

  .hero-copy,
  .hero-copy h1,
  .hero-text {
    width: 100%;
  }

  .hero-copy {
    max-width: none;
  }

  .hero-copy h1 {
    max-width: 12.4ch;
    font-size: clamp(2.25rem, 12vw, 3.1rem);
  }

  .hero-text {
    max-width: none;
    margin-top: 0.85rem;
    font-size: 0.98rem;
    line-height: 1.58;
  }

  .hero-actions {
    display: grid;
    gap: 0.75rem;
    margin-top: 1.1rem;
  }

  .hero-actions .button,
  .contact-actions-stack .button {
    width: 100%;
  }

  .hero-note {
    width: 10.8rem;
    padding: 0.9rem;
  }

  .hero-note-book {
    inset: auto auto 5% 0.8rem;
    width: 10.8rem;
  }

  .hero-note-world {
    inset: 8% 1.2rem auto auto;
    width: 8.8rem;
  }

  .hero-note-future {
    inset: auto 1.2rem 21% auto;
    width: 8.6rem;
  }

  .hero-note-world,
  .hero-note-future {
    display: none;
  }

  .planet-main {
    width: 5.8rem;
    height: 5.8rem;
  }

  .hero-cover-asset {
    inset: 42% auto auto 52%;
    width: 6.7rem;
  }

  .astronaut-one,
  .astronaut-two,
  .story-comet,
  .orbit-two {
    display: none;
  }

  .hero-badges,
  .difference-points,
  .contact-points {
    display: grid;
    gap: 0.55rem;
  }

  .hero-badges span,
  .difference-points span,
  .contact-points span {
    min-height: 2.55rem;
    padding: 0.55rem 0.8rem;
    font-size: 0.84rem;
  }

  .world-section,
  .content-section {
    margin-bottom: 1rem;
    padding: 1rem;
    border-radius: 24px;
  }

  .explorer-section::before {
    inset: 0.7rem;
    border-radius: 20px;
  }

  .explorer-panel,
  .explorer-terminal {
    border-radius: 22px;
  }

  .explorer-panel {
    padding: 1rem;
  }

  .explorer-panel h3 {
    font-size: clamp(1.85rem, 9vw, 2.4rem);
  }

  .explorer-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .explorer-screen {
    padding: 1rem;
  }

  .world-scene {
    min-height: 13.5rem;
    border-radius: 22px;
  }

  .world-copy {
    gap: 0.8rem;
  }

  .world-copy h2,
  .division-body-kids .section-heading h2,
  .kids-contact h2 {
    max-width: 100%;
    font-size: clamp(1.85rem, 9vw, 2.45rem);
    line-height: 1;
  }

  .origin-copy,
  .world-copy p,
  .process-card p,
  .physical-card p,
  .purpose-card p,
  .future-cards article p {
    font-size: 0.95rem;
    line-height: 1.58;
  }

  .world-copy,
  .section-heading,
  .origin-copy,
  .process-card,
  .physical-card {
    min-width: 0;
  }

  .process-grid {
    grid-template-columns: 1fr;
  }

  .kids-sticky-cta {
    display: inline-flex;
    min-height: 3.45rem;
  }

  .division-body-kids .site-footer {
    padding-bottom: 5.8rem;
  }
}

@media (max-width: 430px) {
  .hero-copy h1 {
    max-width: 12ch;
  }

  .world-copy h2,
  .division-body-kids .section-heading h2 {
    max-width: 100%;
  }

  .hero-note {
    width: 9.6rem;
  }

  .hero-note strong,
  .story-card strong {
    font-size: 0.9rem;
  }

  .story-card {
    width: 9.4rem;
    padding: 0.8rem 0.88rem;
  }

  .book-main {
    width: 7rem;
    height: 9.4rem;
  }

  .book-secondary {
    width: 5.7rem;
    height: 7.8rem;
  }
}
