:root {
  --cream: #fff9ef;
  --paper: #fffdf8;
  --white: #ffffff;
  --blue: #2463eb;
  --blue-2: #2f6df3;
  --navy: #10285c;
  --coral: #ff6f5c;
  --mint: #6fd0b4;
  --yellow: #ffc83d;
  --sky: #a8d7ff;
  --ink: #10285c;
  --muted: #58657d;
  --line: rgba(16, 40, 92, .13);
  --shadow: 0 18px 55px rgba(30, 58, 110, .12);
  --shadow-soft: 0 12px 32px rgba(30, 58, 110, .08);
  --radius-xl: 40px;
  --radius-lg: 28px;
  --radius-md: 20px;
  --container: 1280px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "Nunito", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-x: hidden;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
textarea,
select {
  font: inherit;
}

button {
  color: inherit;
}

::selection {
  background: var(--yellow);
  color: var(--navy);
}

.skip-link {
  position: fixed;
  left: 16px;
  top: -60px;
  z-index: 9999;
  background: var(--navy);
  color: var(--white);
  padding: 12px 16px;
  border-radius: 12px;
}

.skip-link:focus {
  top: 16px;
}

.container {
  width: min(calc(100% - 48px), var(--container));
  margin-inline: auto;
}

.eyebrow {
  margin: 0 0 14px;
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .18em;
  color: var(--blue);
}

.eyebrow.light {
  color: rgba(255, 255, 255, .82);
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1,
h2,
h3 {
  font-family: "Baloo 2", "Nunito", sans-serif;
}

h2 {
  margin-bottom: 18px;
  font-size: clamp(38px, 5vw, 72px);
  line-height: .98;
  letter-spacing: -.045em;
}

.section-heading > p:last-child {
  max-width: 620px;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.7;
}

/* Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255, 249, 239, .9);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(16, 40, 92, .08);
}

.header-inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 28px;
  min-height: 86px;
}

.brand {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  gap: 3px;
  font-family: "Baloo 2", sans-serif;
  font-weight: 800;
  letter-spacing: -.055em;
  line-height: 1;
  white-space: nowrap;
}

.brand-glee {
  color: var(--blue);
  font-size: 42px;
}

.brand-for {
  color: var(--mint);
  font-size: 30px;
}

.brand-kids {
  color: var(--coral);
  font-size: 38px;
}

.brand-star {
  position: absolute;
  right: 27px;
  top: -6px;
  color: var(--yellow);
  font-size: 12px;
}

.desktop-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(18px, 2.3vw, 36px);
}

.desktop-nav a {
  position: relative;
  font-weight: 800;
  font-size: 15px;
}

.desktop-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -7px;
  width: 100%;
  height: 3px;
  border-radius: 99px;
  background: var(--coral);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s ease;
}

.desktop-nav a:hover::after,
.desktop-nav a:focus-visible::after {
  transform: scaleX(1);
}

.header-cta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 52px;
  padding: 0 18px 0 22px;
  background: var(--blue);
  color: var(--white);
  border-radius: 22px;
  font-weight: 900;
  box-shadow: 0 10px 22px rgba(36, 99, 235, .2);
  transition: transform .2s ease;
}

.header-cta:hover {
  transform: translateY(-2px) rotate(-1deg);
}

.header-cta-star {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  background: var(--yellow);
  color: var(--blue);
  border-radius: 12px;
}

.menu-toggle {
  display: none;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 0;
  background: var(--blue);
  border-radius: 16px;
  cursor: pointer;
}

.menu-toggle span {
  display: block;
  width: 20px;
  height: 2px;
  margin: 4px auto;
  background: #fff;
  border-radius: 2px;
  transition: .2s ease;
}

.menu-toggle[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}
.menu-toggle[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}
.menu-toggle[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

.mobile-menu {
  display: none;
}

/* Hero */
.hero {
  position: relative;
  overflow: hidden;
  padding: 72px 0 42px;
  background:
    radial-gradient(circle at 72% 22%, rgba(255, 200, 61, .12), transparent 18%),
    linear-gradient(180deg, #fff9ef 0%, #fffdf8 100%);
}

.hero-grid {
  display: grid;
  grid-template-columns: .88fr 1.12fr;
  align-items: center;
  min-height: 690px;
  gap: 28px;
}

.hero-copy {
  position: relative;
  z-index: 3;
  padding-bottom: 60px;
}

.hero h1 {
  margin: 0 0 24px;
  max-width: 650px;
  font-size: clamp(70px, 8vw, 118px);
  line-height: .78;
  letter-spacing: -.07em;
}

.hero h1 span {
  display: block;
}

.hero h1 .blue { color: var(--blue); }
.hero h1 .coral { color: var(--coral); }
.hero h1 .navy { color: var(--navy); }

.hero-lead {
  max-width: 600px;
  margin-bottom: 28px;
  color: var(--navy);
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.55;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 34px;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 58px;
  padding: 0 24px;
  border: 2px solid transparent;
  border-radius: 20px;
  font-weight: 900;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.btn:hover {
  transform: translateY(-2px);
}

.btn-primary {
  background: var(--blue);
  color: #fff;
  box-shadow: 0 12px 26px rgba(36, 99, 235, .22);
}

.btn-outline {
  border-color: var(--navy);
  color: var(--navy);
  background: rgba(255, 255, 255, .6);
}

.btn-dark {
  background: var(--navy);
  color: #fff;
}

.btn-cream {
  background: var(--cream);
  color: var(--navy);
}

.btn-line-light {
  color: #fff;
  border-color: rgba(255,255,255,.65);
  background: transparent;
}

.heart {
  color: var(--coral);
}

.hero-note {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  padding: 13px 18px 13px 13px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(16,40,92,.08);
  border-radius: 20px;
  box-shadow: var(--shadow-soft);
}

.hero-note-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  background: var(--yellow);
  border-radius: 14px;
  font-size: 20px;
}

.hero-note strong,
.hero-note span {
  display: block;
}

.hero-note strong {
  font-size: 14px;
}

.hero-note span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
}

/* Hero illustration */
.hero-art {
  position: relative;
  min-height: 660px;
}

.hero-deco {
  position: absolute;
  z-index: 1;
  font-size: 34px;
}

.hero-deco-a {
  left: 46%;
  top: 100px;
  color: var(--yellow);
  transform: rotate(-12deg);
}

.hero-deco-b {
  right: 8%;
  top: 170px;
  color: var(--mint);
  transform: rotate(14deg);
}

.sun {
  position: absolute;
  right: 8%;
  top: 44px;
  width: 116px;
  height: 116px;
  border-radius: 50%;
  background: var(--yellow);
  box-shadow: inset -12px -12px 0 rgba(210, 147, 0, .07), 0 14px 26px rgba(255, 200, 61, .22);
}

.sun::before,
.sun::after {
  content: "";
  position: absolute;
  top: 46px;
  width: 8px;
  height: 12px;
  background: var(--navy);
  border-radius: 99px;
}

.sun::before { left: 34px; }
.sun::after { right: 34px; }

.sun-face {
  position: absolute;
  left: 45px;
  top: 53px;
  color: var(--navy);
  font-weight: 900;
  transform: rotate(6deg);
}

.ray {
  position: absolute;
  width: 13px;
  height: 34px;
  background: var(--yellow);
  border-radius: 99px;
  transform-origin: 7px 92px;
  left: 52px;
  top: -34px;
}

.r1 { transform: rotate(0deg); }
.r2 { transform: rotate(55deg); }
.r3 { transform: rotate(110deg); }
.r4 { transform: rotate(170deg); }
.r5 { transform: rotate(225deg); }
.r6 { transform: rotate(285deg); }

.cloud {
  position: absolute;
  width: 140px;
  height: 48px;
  background: #fff;
  border-radius: 50px;
  box-shadow: 0 10px 20px rgba(39, 69, 120, .07);
}
.cloud::before,
.cloud::after {
  content: "";
  position: absolute;
  bottom: 0;
  background: #fff;
  border-radius: 50%;
}
.cloud::before {
  left: 26px;
  width: 70px;
  height: 70px;
}
.cloud::after {
  right: 20px;
  width: 56px;
  height: 56px;
}
.cloud-one {
  left: 12%;
  top: 112px;
  transform: scale(.82);
}
.cloud-two {
  right: 20%;
  top: 205px;
  transform: scale(.55);
}

.hill {
  position: absolute;
  bottom: 80px;
  border-radius: 100% 100% 0 0;
}
.hill-blue {
  right: -130px;
  width: 560px;
  height: 300px;
  background: var(--blue);
}
.hill-mint {
  left: 20%;
  width: 440px;
  height: 190px;
  background: var(--mint);
}

.playground {
  position: absolute;
  inset: 140px 20px 40px;
  z-index: 3;
}

.tower {
  position: absolute;
  left: 36%;
  top: 76px;
  width: 190px;
  height: 330px;
}

.tower-body {
  position: absolute;
  left: 26px;
  bottom: 0;
  width: 150px;
  height: 220px;
  background: var(--mint);
  border-radius: 10px 10px 18px 18px;
  box-shadow: inset -14px -10px 0 rgba(22, 98, 78, .08), 0 18px 28px rgba(24, 68, 90, .14);
}

.tower-roof {
  position: absolute;
  left: 3px;
  top: 53px;
  width: 195px;
  height: 95px;
  background: var(--coral);
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  filter: drop-shadow(0 12px 10px rgba(113, 46, 41, .1));
}

.tower-door {
  position: absolute;
  left: 48px;
  bottom: 0;
  width: 58px;
  height: 95px;
  background: #0b5c4a;
  border-radius: 30px 30px 0 0;
}

.tower-flag {
  position: absolute;
  top: 0;
  left: 97px;
  width: 6px;
  height: 66px;
  background: #d79f40;
  border-radius: 10px;
}
.tower-flag span {
  position: absolute;
  top: 3px;
  left: 6px;
  width: 82px;
  height: 36px;
  background: var(--blue);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.slide {
  position: absolute;
  left: 27%;
  top: 240px;
  width: 180px;
  height: 260px;
  transform: rotate(10deg);
}
.slide-rail {
  width: 72px;
  height: 250px;
  margin-left: 38px;
  background: var(--blue);
  border-radius: 22px 22px 38px 38px;
  box-shadow: inset -12px 0 0 rgba(4, 45, 150, .15);
  transform: skewX(-13deg);
}

.block {
  position: absolute;
  box-shadow: inset -10px -10px 0 rgba(20, 41, 87, .07), 0 15px 24px rgba(20, 41, 87, .12);
}
.block-yellow {
  left: 55%;
  top: 260px;
  width: 120px;
  height: 105px;
  background: var(--yellow);
  border-radius: 10px;
}
.block-yellow::after {
  content: "";
  position: absolute;
  left: 37px;
  top: 29px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #ad7310;
}
.block-coral {
  left: 48%;
  top: 365px;
  width: 145px;
  height: 105px;
  background: var(--coral);
  border-radius: 10px;
}

.stairs {
  position: absolute;
  left: 65%;
  top: 350px;
  width: 160px;
  height: 120px;
}
.stairs span {
  position: absolute;
  bottom: 0;
  width: 54px;
  background: var(--coral);
  box-shadow: inset -8px -8px 0 rgba(110, 32, 23, .08);
}
.stairs span:nth-child(1) { left: 0; height: 44px; }
.stairs span:nth-child(2) { left: 53px; height: 78px; }
.stairs span:nth-child(3) { left: 106px; height: 112px; }

.arch {
  position: absolute;
  bottom: 16px;
  width: 130px;
  height: 95px;
  border: 34px solid;
  border-bottom: 0;
  border-radius: 90px 90px 0 0;
}
.arch-coral {
  left: 48%;
  border-color: var(--coral);
}
.arch-mint {
  left: 69%;
  bottom: 6px;
  border-color: var(--mint);
  transform: scale(1.12);
}

.shape {
  position: absolute;
  box-shadow: inset -8px -8px 0 rgba(16,40,92,.06), 0 12px 18px rgba(16,40,92,.09);
}
.shape-ball {
  left: 36%;
  bottom: -7px;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  background: var(--yellow);
}
.shape-cylinder {
  left: 43%;
  bottom: 0;
  width: 65px;
  height: 70px;
  background: var(--blue);
  border-radius: 20px 20px 12px 12px;
}
.shape-triangle {
  left: 20%;
  bottom: 14px;
  width: 80px;
  height: 75px;
  background: var(--blue);
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

.character {
  position: absolute;
  z-index: 4;
}

.character-round {
  left: 0;
  bottom: 102px;
  width: 94px;
  height: 94px;
  background: var(--coral);
  border-radius: 50%;
  box-shadow: inset -8px -8px 0 rgba(114, 28, 19, .07), 0 12px 22px rgba(16,40,92,.12);
}

.character-triangle {
  right: 1%;
  bottom: 44px;
  width: 100px;
  height: 106px;
  background: var(--blue);
  clip-path: polygon(50% 0, 100% 88%, 0 88%);
  filter: drop-shadow(0 12px 14px rgba(16,40,92,.13));
}

.character .eye {
  position: absolute;
  width: 7px;
  height: 10px;
  background: var(--navy);
  border-radius: 99px;
}
.character-round .e1 { left: 31px; top: 34px; }
.character-round .e2 { left: 57px; top: 34px; }
.character-triangle .e1 { left: 38px; top: 55px; }
.character-triangle .e2 { left: 59px; top: 55px; }

.character .smile {
  position: absolute;
  width: 24px;
  height: 13px;
  border: 3px solid var(--navy);
  border-top: 0;
  border-left-color: transparent;
  border-right-color: transparent;
  border-radius: 0 0 30px 30px;
}
.character-round .smile { left: 35px; top: 55px; }
.character-triangle .smile { left: 40px; top: 72px; }

.character .arm,
.character .leg {
  position: absolute;
  width: 6px;
  height: 48px;
  background: var(--navy);
  border-radius: 99px;
  transform-origin: top;
}
.character-round .a1 { left: 2px; top: 56px; transform: rotate(55deg); }
.character-round .a2 { right: 2px; top: 55px; transform: rotate(-55deg); }
.character-round .l1 { left: 31px; bottom: -37px; transform: rotate(20deg); }
.character-round .l2 { right: 30px; bottom: -37px; transform: rotate(-20deg); }
.character-triangle .a1 { left: 5px; top: 72px; transform: rotate(50deg); }
.character-triangle .a2 { right: 4px; top: 72px; transform: rotate(-50deg); }
.character-triangle .l1 { left: 33px; bottom: -25px; transform: rotate(14deg); }
.character-triangle .l2 { right: 33px; bottom: -25px; transform: rotate(-14deg); }

/* Quick cards */
.quick-links {
  padding: 54px 0 110px;
}

.section-heading.compact {
  margin-bottom: 30px;
}

.section-heading.compact h2 {
  font-size: clamp(38px, 4.5vw, 66px);
}

.quick-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.quick-card {
  position: relative;
  min-height: 390px;
  overflow: hidden;
  padding: 26px;
  border-radius: 34px;
  transition: transform .25s ease, box-shadow .25s ease;
}

.quick-card:hover {
  transform: translateY(-7px) rotate(-.5deg);
  box-shadow: var(--shadow);
}

.quick-card h3 {
  margin: 205px 0 8px;
  font-size: 38px;
  line-height: 1;
  letter-spacing: -.04em;
}

.quick-card p {
  max-width: 260px;
  color: rgba(16,40,92,.76);
  line-height: 1.55;
}

.card-blue {
  background: var(--sky);
}
.card-blue h3,
.card-blue p {
  color: var(--navy);
}
.card-yellow { background: #ffd45f; }
.card-mint { background: #8be0c9; }
.card-coral { background: #ff8b79; }

.quick-no {
  position: absolute;
  top: 24px;
  left: 24px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .15em;
}

.quick-link {
  position: absolute;
  left: 26px;
  bottom: 24px;
  font-size: 14px;
  font-weight: 900;
}

.quick-icon {
  position: absolute;
  right: 18px;
  top: 42px;
  width: 180px;
  height: 150px;
}

.play-icon .mini-block {
  position: absolute;
  bottom: 10px;
  width: 76px;
  height: 72px;
  border-radius: 10px;
  box-shadow: inset -8px -8px 0 rgba(16,40,92,.08);
}
.play-icon .b1 {
  left: 10px;
  background: var(--coral);
}
.play-icon .b2 {
  right: 8px;
  height: 105px;
  background: var(--mint);
}
.play-icon .mini-ball {
  position: absolute;
  left: 64px;
  top: 14px;
  width: 54px;
  height: 54px;
  background: var(--blue);
  border-radius: 50%;
}

.pencil-icon {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  justify-content: center;
  transform: rotate(-8deg);
}
.pencil-icon span {
  display: block;
  width: 34px;
  border-radius: 10px 10px 7px 7px;
  clip-path: polygon(0 14%, 50% 0, 100% 14%, 100% 100%, 0 100%);
}
.pencil-icon span:nth-child(1) { height: 122px; background: var(--blue); }
.pencil-icon span:nth-child(2) { height: 145px; background: var(--coral); }
.pencil-icon span:nth-child(3) { height: 112px; background: var(--yellow); }

.rings-icon i {
  position: absolute;
  top: 20px;
  width: 72px;
  height: 72px;
  border: 14px solid var(--blue);
  border-radius: 50%;
}
.rings-icon i:nth-child(1) { left: 18px; }
.rings-icon i:nth-child(2) { right: 18px; }
.rings-icon::before,
.rings-icon::after {
  content: "";
  position: absolute;
  top: -10px;
  width: 7px;
  height: 62px;
  background: #b07c34;
  border-radius: 8px;
}
.rings-icon::before { left: 50px; }
.rings-icon::after { right: 50px; }

.cake-icon .cake-top,
.cake-icon .cake-base {
  position: absolute;
  left: 28px;
  width: 125px;
  border-radius: 14px;
}
.cake-icon .cake-top {
  top: 52px;
  height: 44px;
  background: #fff6db;
}
.cake-icon .cake-base {
  top: 92px;
  height: 52px;
  background: var(--blue);
}
.cake-icon i {
  position: absolute;
  top: 17px;
  width: 7px;
  height: 41px;
  background: var(--yellow);
  border-radius: 6px;
}
.cake-icon i:nth-of-type(1) { left: 55px; }
.cake-icon i:nth-of-type(2) { left: 88px; }
.cake-icon i:nth-of-type(3) { left: 121px; }

/* Program */
.program-section {
  padding: 110px 0;
  background: var(--navy);
  color: #fff;
}

.program-section .eyebrow {
  color: var(--yellow);
}

.program-top {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  align-items: end;
  margin-bottom: 44px;
}

.program-top .section-heading h2 {
  max-width: 720px;
}

.program-top .section-heading > p:last-child {
  color: rgba(255,255,255,.68);
}

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 900;
  padding-bottom: 5px;
  border-bottom: 2px solid currentColor;
}

.program-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 18px;
}

.day-tab {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 72px;
  padding: 0 20px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 20px;
  background: rgba(255,255,255,.06);
  color: #fff;
  cursor: pointer;
  transition: .2s ease;
}

.day-tab span {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  color: rgba(255,255,255,.55);
}

.day-tab strong {
  font-family: "Baloo 2";
  font-size: 34px;
}

.day-tab:hover,
.day-tab.is-active {
  background: var(--yellow);
  color: var(--navy);
  border-color: var(--yellow);
}

.day-tab.is-active span {
  color: rgba(16,40,92,.65);
}

.program-panel {
  display: none;
  gap: 12px;
}

.program-panel.is-active {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.event-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 22px;
  align-items: center;
  min-height: 165px;
  padding: 24px;
  background: #fff;
  color: var(--navy);
  border-radius: 28px;
}

.event-time {
  display: grid;
  place-items: center;
  width: 74px;
  height: 74px;
  border-radius: 22px;
  background: var(--cream);
  font-family: "Baloo 2";
  font-size: 21px;
  font-weight: 800;
}

.event-main h3 {
  margin: 8px 0 5px;
  font-size: 24px;
  line-height: 1.05;
}

.event-main p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.tag {
  display: inline-block;
  padding: 6px 9px;
  border-radius: 8px;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .12em;
}
.tag-yellow { background: #ffeaa8; }
.tag-coral { background: #ffd0c8; }
.tag-mint { background: #c9f3e7; }
.tag-blue { background: #cfe4ff; }

.event-meta {
  display: flex;
  flex-direction: column;
  gap: 3px;
  text-align: right;
  white-space: nowrap;
}
.event-meta strong { font-size: 13px; }
.event-meta span { color: var(--muted); font-size: 12px; }

/* Story */
.play-story {
  padding: 130px 0;
  background: var(--cream);
}

.story-grid {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 80px;
  align-items: center;
}

.story-visual {
  position: relative;
  min-height: 610px;
}

.photo-card {
  overflow: hidden;
  border-radius: 40px;
}

.photo-main {
  position: absolute;
  inset: 0 48px 0 0;
  transform: rotate(-2deg);
  box-shadow: var(--shadow);
}

.photo-main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.story-sticker {
  position: absolute;
  display: grid;
  place-items: center;
  z-index: 2;
  font-family: "Baloo 2";
  font-weight: 900;
}

.sticker-one {
  right: -8px;
  top: 70px;
  width: 128px;
  height: 128px;
  background: var(--yellow);
  color: var(--navy);
  border-radius: 50%;
  transform: rotate(12deg);
  font-size: 28px;
  box-shadow: var(--shadow-soft);
}

.sticker-two {
  left: -20px;
  bottom: -16px;
  width: 90px;
  height: 90px;
  background: var(--coral);
  color: #fff;
  border-radius: 30px;
  transform: rotate(-11deg);
  font-size: 28px;
}

.story-copy h2 {
  max-width: 620px;
}

.story-copy > p {
  color: var(--muted);
  font-size: 17px;
  line-height: 1.75;
}

.tick-list {
  display: grid;
  gap: 12px;
  margin: 28px 0 32px;
  padding: 0;
  list-style: none;
}
.tick-list li {
  display: flex;
  gap: 10px;
  align-items: center;
  font-weight: 800;
}
.tick-list span {
  color: var(--coral);
}

/* Workshops */
.workshops {
  padding: 120px 0;
}

.split-heading {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  align-items: end;
  gap: 60px;
  margin-bottom: 42px;
}

.split-copy {
  max-width: 520px;
  justify-self: end;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.7;
}

.workshop-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.workshop-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 30px;
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.workshop-image {
  position: relative;
  height: 330px;
  overflow: hidden;
}

.workshop-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.workshop-card:hover .workshop-image img {
  transform: scale(1.05);
}

.floating-label {
  position: absolute;
  left: 18px;
  top: 18px;
  padding: 9px 12px;
  border-radius: 10px;
  background: var(--yellow);
  color: var(--navy);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
}

.label-mint {
  background: var(--mint);
}

.workshop-content {
  position: relative;
  padding: 24px 26px 28px;
}

.workshop-content h3 {
  margin: 0 0 8px;
  font-size: 31px;
  line-height: 1;
}

.workshop-content p {
  min-height: 50px;
  color: var(--muted);
  line-height: 1.55;
}

.workshop-content a {
  font-weight: 900;
}

.workshop-no {
  position: absolute;
  right: 24px;
  top: 24px;
  color: var(--coral);
  font-weight: 900;
  letter-spacing: .14em;
  font-size: 11px;
}

.workshop-graphic {
  position: relative;
  background:
    radial-gradient(circle at 30% 28%, rgba(255,255,255,.7), transparent 16%),
    var(--sky);
}

.abc-cloud {
  position: absolute;
  left: 32px;
  top: 45px;
  padding: 18px 20px;
  background: #fff;
  border-radius: 22px;
  font-family: "Baloo 2";
  font-size: 30px;
  font-weight: 900;
  color: var(--blue);
  transform: rotate(-5deg);
}

.book-shape {
  position: absolute;
  right: 35px;
  bottom: 38px;
  display: grid;
  place-items: center;
  width: 180px;
  height: 138px;
  background: var(--coral);
  border-radius: 18px 18px 32px 32px;
  transform: rotate(7deg);
  box-shadow: inset -14px -12px 0 rgba(91,25,18,.08);
}
.book-shape span {
  font-family: "Baloo 2";
  font-size: 30px;
  font-weight: 900;
  color: #fff;
}
.graphic-star {
  position: absolute;
  right: 30px;
  top: 30px;
  color: var(--yellow);
  font-size: 42px;
}

/* Birthday */
.birthday {
  position: relative;
  overflow: hidden;
  padding: 100px 0;
  background: var(--coral);
  color: #fff;
}

.birthday::before {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  right: -100px;
  bottom: -180px;
  border-radius: 50%;
  background: var(--yellow);
}

.birthday-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 70px;
  align-items: center;
}

.birthday-copy h2 {
  font-size: clamp(54px, 7vw, 96px);
}

.birthday-copy > p {
  max-width: 560px;
  color: rgba(255,255,255,.85);
  font-size: 18px;
  line-height: 1.65;
}

.birthday-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  align-items: center;
  margin-top: 30px;
}

.birthday-note {
  font-size: 14px;
  font-weight: 800;
}

.birthday-visual {
  position: relative;
  min-height: 590px;
}

.birthday-photo {
  position: absolute;
  overflow: hidden;
  border: 10px solid #fff;
  border-radius: 32px;
  box-shadow: 0 26px 60px rgba(69, 21, 16, .22);
}

.birthday-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.birthday-photo.p1 {
  left: 0;
  top: 40px;
  width: 55%;
  height: 470px;
  transform: rotate(-5deg);
}

.birthday-photo.p2 {
  right: 10px;
  top: 5px;
  width: 50%;
  height: 400px;
  transform: rotate(6deg);
}

.birthday-badge {
  position: absolute;
  right: 28%;
  bottom: 0;
  display: grid;
  place-items: center;
  width: 158px;
  height: 158px;
  padding: 20px;
  text-align: center;
  border-radius: 50%;
  background: var(--blue);
  color: #fff;
  transform: rotate(-8deg);
  box-shadow: var(--shadow);
}

.birthday-badge strong {
  font-family: "Baloo 2";
  font-size: 27px;
  line-height: .82;
}
.birthday-badge span {
  color: var(--yellow);
  font-size: 24px;
}

/* Gym */
.gym {
  padding: 130px 0;
  background: #eef8ff;
}

.gym-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 80px;
  align-items: center;
}

.gym-copy h2 span {
  color: var(--coral);
}

.gym-copy > p {
  max-width: 590px;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.7;
}

.gym-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 25px 0 30px;
}

.gym-pills span {
  padding: 9px 13px;
  border: 1px solid rgba(16,40,92,.15);
  border-radius: 99px;
  background: #fff;
  font-size: 13px;
  font-weight: 900;
}

.gym-visual {
  min-height: 600px;
}

.gym-board {
  position: relative;
  height: 600px;
  overflow: hidden;
  border-radius: 48px;
  background: var(--yellow);
  box-shadow: var(--shadow);
}

.gym-board::before {
  content: "";
  position: absolute;
  left: -110px;
  bottom: -130px;
  width: 420px;
  height: 420px;
  border: 90px solid var(--coral);
  border-radius: 50%;
}

.gym-ring {
  position: absolute;
  top: 80px;
  width: 135px;
  height: 135px;
  border: 22px solid var(--blue);
  border-radius: 50%;
}
.gym-ring::before {
  content: "";
  position: absolute;
  left: 49px;
  top: -110px;
  width: 8px;
  height: 90px;
  background: #9f7734;
  border-radius: 8px;
}
.ring-a { right: 210px; }
.ring-b { right: 50px; }

.gym-balance {
  position: absolute;
  left: 30%;
  bottom: 100px;
  width: 320px;
  height: 32px;
  background: var(--navy);
  border-radius: 20px;
  transform: rotate(-7deg);
}
.gym-balance span {
  position: absolute;
  left: 140px;
  top: 31px;
  width: 40px;
  height: 100px;
  background: var(--blue);
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

.gym-ball {
  position: absolute;
  border-radius: 50%;
  box-shadow: inset -10px -10px 0 rgba(16,40,92,.08);
}
.gb1 {
  right: 80px;
  bottom: 78px;
  width: 96px;
  height: 96px;
  background: var(--mint);
}
.gb2 {
  right: 190px;
  bottom: 50px;
  width: 58px;
  height: 58px;
  background: var(--coral);
}

.gym-arrow {
  position: absolute;
  left: 50px;
  top: 48px;
  font-family: "Baloo 2";
  font-size: 82px;
  font-weight: 900;
  color: var(--coral);
  transform: rotate(-12deg);
}

.gym-word {
  position: absolute;
  left: 50px;
  top: 150px;
  font-family: "Baloo 2";
  font-size: 70px;
  font-weight: 900;
  color: var(--navy);
  transform: rotate(-8deg);
}

/* About */
.about {
  padding: 130px 0;
}

.about-grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 90px;
}

.about-heading h2 {
  max-width: 620px;
}

.about-big {
  color: var(--navy) !important;
  font-size: 25px !important;
  font-weight: 800;
  line-height: 1.45 !important;
}

.about-copy > p {
  color: var(--muted);
  font-size: 17px;
  line-height: 1.75;
}

.values {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 34px;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.values div {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-height: 120px;
  padding: 24px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.values strong {
  color: var(--coral);
  font-size: 11px;
  letter-spacing: .14em;
}
.values span {
  font-family: "Baloo 2";
  font-size: 30px;
  font-weight: 800;
}

/* Gallery */
.gallery {
  padding: 110px 0;
  background: var(--cream);
}

.gallery-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 34px;
}

.gallery-heading h2 {
  margin-bottom: 0;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 240px;
  gap: 14px;
}

.gallery-item {
  margin: 0;
  overflow: hidden;
  border-radius: 24px;
}

.gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.gallery-item:hover img {
  transform: scale(1.05);
}

.gallery-item.tall {
  grid-row: span 2;
}

.gallery-item.wide {
  grid-column: span 2;
}

/* Location */
.location {
  padding: 120px 0;
}

.location-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 24px;
}

.location-card,
.map-placeholder {
  min-height: 600px;
  border-radius: 38px;
}

.location-card {
  padding: 54px;
  background: var(--mint);
}

.location-card h2 {
  max-width: 560px;
}

.location-card > p {
  color: rgba(16,40,92,.75);
  font-size: 17px;
  line-height: 1.7;
}

.location-info {
  margin: 35px 0;
}

.location-info div {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 20px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(16,40,92,.14);
}

.location-info dt {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.location-info dd {
  margin: 0;
  font-weight: 800;
}

.location-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.map-placeholder {
  position: relative;
  overflow: hidden;
  background: #dce9df;
}

.map-placeholder::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.45), transparent 18%),
    radial-gradient(circle at 80% 70%, rgba(255,255,255,.4), transparent 22%);
}

.map-road {
  position: absolute;
  height: 28px;
  background: #f8f2dc;
  border: 6px solid #fff;
  border-left: 0;
  border-right: 0;
  border-radius: 99px;
}
.road-1 {
  width: 110%;
  left: -5%;
  top: 45%;
  transform: rotate(11deg);
}
.road-2 {
  width: 100%;
  left: 5%;
  top: 26%;
  transform: rotate(-24deg);
}
.road-3 {
  width: 110%;
  left: -4%;
  bottom: 16%;
  transform: rotate(-8deg);
}

.map-pin {
  position: absolute;
  left: 52%;
  top: 47%;
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  border-radius: 50% 50% 50% 8px;
  background: var(--blue);
  transform: rotate(-45deg);
  box-shadow: var(--shadow);
}
.map-pin span {
  color: var(--yellow);
  font-size: 28px;
  transform: rotate(45deg);
}

.map-label {
  position: absolute;
  left: calc(52% - 2px);
  top: calc(47% + 86px);
  padding: 8px 12px;
  border-radius: 10px;
  background: var(--navy);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
}

/* FAQ */
.faq {
  padding: 130px 0;
  background: #fff;
}

.faq-grid {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 90px;
}

.faq-heading {
  position: sticky;
  top: 130px;
  align-self: start;
}

.faq-list {
  border-top: 1px solid var(--line);
}

.faq-item {
  border-bottom: 1px solid var(--line);
}

.faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  width: 100%;
  min-height: 92px;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  font-family: "Baloo 2";
  font-size: 23px;
  font-weight: 800;
}

.faq-plus {
  display: grid;
  place-items: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--cream);
  color: var(--coral);
  font-size: 24px;
}

.faq-answer {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .28s ease;
}

.faq-answer > p {
  overflow: hidden;
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}

.faq-item.is-open .faq-answer {
  grid-template-rows: 1fr;
}

.faq-item.is-open .faq-answer > p {
  padding: 0 52px 28px 0;
}

/* Final CTA */
.final-cta {
  padding: 32px 0;
  background: #fff;
}

.final-cta-inner {
  position: relative;
  display: grid;
  grid-template-columns: 1fr .8fr;
  gap: 70px;
  overflow: hidden;
  padding: 70px;
  border-radius: 42px;
  background: var(--blue);
  color: #fff;
}

.final-cta h2 {
  margin-bottom: 0;
  font-size: clamp(58px, 7vw, 94px);
}

.final-cta-side {
  align-self: center;
  max-width: 520px;
}

.final-cta-side > p {
  color: rgba(255,255,255,.78);
  font-size: 18px;
  line-height: 1.7;
}

.final-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 25px;
}

.cta-star {
  position: absolute;
  right: -25px;
  top: -45px;
  color: rgba(255,200,61,.95);
  font-size: 180px;
  transform: rotate(12deg);
}

/* Footer */
.site-footer {
  padding: 80px 0 24px;
  background: var(--paper);
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr repeat(3, 1fr);
  gap: 40px;
  padding-bottom: 60px;
}

.footer-brand p {
  margin-top: 18px;
  color: var(--muted);
}

.footer-logo .brand-glee { font-size: 38px; }
.footer-logo .brand-for { font-size: 27px; }
.footer-logo .brand-kids { font-size: 34px; }

.footer-col {
  display: grid;
  align-content: start;
  gap: 10px;
}

.footer-col h3 {
  margin-bottom: 7px;
  font-size: 18px;
}

.footer-col a {
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
}

.footer-col a:hover {
  color: var(--coral);
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
}

.footer-bottom > div {
  display: flex;
  gap: 18px;
}

/* Reveal */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .65s ease, transform .65s ease;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Responsive */
@media (max-width: 1120px) {
  .desktop-nav {
    gap: 16px;
  }

  .desktop-nav a {
    font-size: 14px;
  }

  .brand-glee { font-size: 36px; }
  .brand-for { font-size: 26px; }
  .brand-kids { font-size: 33px; }

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

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

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

  .workshop-card:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 960px) {
  .header-inner {
    grid-template-columns: auto 1fr auto;
  }

  .desktop-nav,
  .header-cta {
    display: none;
  }

  .menu-toggle {
    display: block;
    justify-self: end;
  }

  .mobile-menu {
    position: fixed;
    inset: 86px 0 auto;
    z-index: 999;
    padding: 20px 24px 28px;
    background: var(--cream);
    border-bottom: 1px solid var(--line);
    box-shadow: var(--shadow);
  }

  .mobile-menu.is-open {
    display: grid;
    gap: 2px;
  }

  .mobile-menu a {
    padding: 14px 0;
    border-bottom: 1px solid var(--line);
    font-size: 18px;
    font-weight: 900;
  }

  .mobile-menu .mobile-program {
    margin-top: 10px;
    padding: 15px 18px;
    background: var(--blue);
    color: #fff;
    border: 0;
    border-radius: 16px;
    text-align: center;
  }

  .hero {
    padding-top: 50px;
  }

  .hero-grid {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .hero-copy {
    padding-bottom: 0;
  }

  .hero h1 {
    max-width: 760px;
  }

  .hero-art {
    min-height: 620px;
  }

  .program-top,
  .gallery-heading {
    align-items: start;
    flex-direction: column;
  }

  .program-top {
    display: flex;
  }

  .program-panel.is-active {
    grid-template-columns: 1fr;
  }

  .story-grid,
  .birthday-grid,
  .gym-grid,
  .about-grid,
  .location-grid,
  .faq-grid {
    grid-template-columns: 1fr;
  }

  .story-visual {
    min-height: 560px;
  }

  .split-heading {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .split-copy {
    justify-self: start;
  }

  .birthday-grid {
    gap: 30px;
  }

  .gym-grid {
    gap: 45px;
  }

  .faq-heading {
    position: static;
  }

  .final-cta-inner {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .footer-grid {
    grid-template-columns: 2fr 1fr 1fr;
  }

  .footer-col:last-child {
    grid-column: 2 / -1;
  }
}

@media (max-width: 720px) {
  .container {
    width: min(calc(100% - 28px), var(--container));
  }

  .header-inner {
    min-height: 74px;
  }

  .mobile-menu {
    inset: 74px 0 auto;
  }

  .brand-glee { font-size: 31px; }
  .brand-for { font-size: 22px; }
  .brand-kids { font-size: 28px; }
  .brand-star { right: 21px; top: -4px; }

  .hero {
    padding-top: 32px;
  }

  .hero h1 {
    font-size: clamp(61px, 20vw, 94px);
    line-height: .8;
  }

  .hero-lead {
    font-size: 18px;
  }

  .hero-actions .btn {
    flex: 1 1 100%;
  }

  .hero-note {
    width: 100%;
  }

  .hero-art {
    min-height: 500px;
    transform: scale(.92);
    transform-origin: center top;
  }

  .sun {
    right: 0;
    top: 40px;
    transform: scale(.76);
  }

  .playground {
    inset-inline: -10px;
  }

  .character-round {
    left: -12px;
  }

  .quick-links,
  .program-section,
  .play-story,
  .workshops,
  .birthday,
  .gym,
  .about,
  .gallery,
  .location,
  .faq {
    padding: 82px 0;
  }

  .quick-grid,
  .workshop-grid {
    grid-template-columns: 1fr;
  }

  .workshop-card:last-child {
    grid-column: auto;
  }

  .quick-card {
    min-height: 360px;
  }

  .program-tabs {
    display: flex;
    overflow-x: auto;
    padding-bottom: 6px;
    scrollbar-width: none;
  }

  .program-tabs::-webkit-scrollbar {
    display: none;
  }

  .day-tab {
    flex: 0 0 115px;
  }

  .event-card {
    grid-template-columns: auto 1fr;
  }

  .event-meta {
    grid-column: 2;
    flex-direction: row;
    gap: 10px;
    text-align: left;
  }

  .story-grid {
    gap: 46px;
  }

  .story-visual {
    min-height: 460px;
  }

  .photo-main {
    right: 18px;
  }

  .birthday-visual {
    min-height: 480px;
  }

  .birthday-photo.p1 {
    width: 62%;
    height: 380px;
  }

  .birthday-photo.p2 {
    width: 54%;
    height: 320px;
  }

  .birthday-badge {
    right: 15%;
    width: 130px;
    height: 130px;
  }

  .gym-visual,
  .gym-board {
    min-height: 480px;
    height: 480px;
  }

  .gym-word {
    font-size: 54px;
  }

  .gym-ring {
    transform: scale(.75);
  }

  .ring-a { right: 140px; }
  .ring-b { right: 25px; }

  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 190px;
  }

  .gallery-item.tall {
    grid-row: span 1;
  }

  .gallery-item.wide {
    grid-column: span 2;
  }

  .location-card,
  .map-placeholder {
    min-height: 520px;
  }

  .location-card {
    padding: 34px 26px;
  }

  .final-cta-inner {
    padding: 48px 28px;
  }

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

  .footer-brand {
    grid-column: 1 / -1;
  }

  .footer-col:last-child {
    grid-column: auto;
  }

  .footer-bottom {
    flex-direction: column;
  }
}

@media (max-width: 460px) {
  .hero-art {
    margin-inline: -26px;
  }

  .program-section h2,
  .story-copy h2,
  .split-heading h2,
  .location-card h2,
  .faq h2 {
    font-size: 46px;
  }

  .event-card {
    padding: 18px;
    gap: 14px;
  }

  .event-time {
    width: 62px;
    height: 62px;
    border-radius: 18px;
    font-size: 18px;
  }

  .event-main h3 {
    font-size: 20px;
  }

  .story-visual {
    min-height: 390px;
  }

  .sticker-one {
    width: 98px;
    height: 98px;
    font-size: 22px;
  }

  .birthday-visual {
    min-height: 410px;
  }

  .gallery-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 250px;
  }

  .gallery-item.wide {
    grid-column: auto;
  }

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

  .final-buttons .btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }

  .reveal {
    opacity: 1;
    transform: none;
  }
}

/* WordPress theme integration */
:root{
  --blue:var(--glee-blue,#2463EB);--navy:var(--glee-navy,#10285C);--coral:var(--glee-coral,#FF6F5C);--mint:var(--glee-mint,#6FD0B4);--yellow:var(--glee-yellow,#FFC83D);--cream:var(--glee-cream,#FFF9EF);
}
.admin-bar .glee-header{top:32px}.glee-skip-link{position:fixed;left:16px;top:-80px;z-index:10000;background:var(--navy);color:#fff;padding:12px 16px;border-radius:12px}.glee-skip-link:focus{top:16px}
.glee-container{width:min(calc(100% - 48px),1280px);margin-inline:auto}.glee-header{position:sticky;top:0;z-index:1000;background:rgba(255,249,239,.93);backdrop-filter:blur(18px);border-bottom:1px solid rgba(16,40,92,.08)}
.glee-header__inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;min-height:86px}.glee-header__brand .custom-logo{width:auto;max-height:58px}.glee-brand{position:relative;display:inline-flex;align-items:baseline;gap:3px;font-family:"Baloo 2",sans-serif;font-weight:800;letter-spacing:-.055em;line-height:1;white-space:nowrap}.glee-brand__glee{color:var(--blue);font-size:42px}.glee-brand__for{color:var(--mint);font-size:30px}.glee-brand__kids{color:var(--coral);font-size:38px}.glee-brand__star{position:absolute;right:27px;top:-6px;color:var(--yellow);font-size:12px}
.glee-nav{display:flex;justify-content:center;align-items:center;gap:clamp(18px,2.3vw,36px)}.glee-nav a{position:relative;font-weight:800;font-size:15px}.glee-nav li{list-style:none}.glee-nav ul{display:flex;align-items:center;gap:clamp(18px,2.3vw,36px);padding:0;margin:0}.glee-nav a:after{content:"";position:absolute;left:0;bottom:-7px;width:100%;height:3px;border-radius:99px;background:var(--coral);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.glee-nav a:hover:after{transform:scaleX(1)}
.glee-header__cta{display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:0 18px 0 22px;background:var(--blue);color:#fff;border-radius:22px;font-weight:900;box-shadow:0 10px 22px rgba(36,99,235,.2)}.glee-header__cta span:last-child{display:grid;place-items:center;width:30px;height:30px;background:var(--yellow);color:var(--blue);border-radius:12px}.glee-menu-toggle{display:none;width:48px;height:48px;padding:0;border:0;background:var(--blue);border-radius:16px;cursor:pointer}.glee-menu-toggle span{display:block;width:20px;height:2px;margin:4px auto;background:#fff;border-radius:2px;transition:.2s}.glee-menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.glee-menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.glee-menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.glee-mobile-menu{display:none}
.glee-main-content{min-height:60vh}.glee-page-hero{padding:70px 0 42px;background:var(--cream)}.glee-page-hero h1{margin:0;font-family:"Baloo 2";font-size:clamp(48px,7vw,84px);line-height:.95;letter-spacing:-.045em}.glee-breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;font-size:13px;font-weight:800;color:#65718a}.glee-content-wrap{padding:70px 0}.glee-content-wrap>.entry-content{max-width:900px}.glee-content-wrap .entry-content{font-size:17px;line-height:1.8}.glee-content-wrap .entry-content h2,.glee-content-wrap .entry-content h3{color:var(--navy)}
.glee-footer{padding:80px 0 24px;background:#fffdf8}.glee-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;padding-bottom:56px}.glee-footer__brand p{color:#58657d}.glee-footer__nav h3,.glee-footer__contact h3{font-size:18px}.glee-footer__nav ul{padding:0;margin:0;list-style:none;display:grid;gap:8px}.glee-footer__nav a,.glee-footer__contact a{display:block;margin:7px 0;color:#58657d;font-size:14px;font-weight:700}.glee-footer__bottom{display:flex;justify-content:space-between;gap:20px;padding-top:24px;border-top:1px solid rgba(16,40,92,.13);color:#58657d;font-size:12px}.glee-footer__bottom ul{display:flex;gap:18px;margin:0;padding:0;list-style:none}
.glee-archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.glee-archive-card{overflow:hidden;border:1px solid rgba(16,40,92,.12);border-radius:28px;background:#fff}.glee-archive-card__image{aspect-ratio:4/3;background:var(--cream)}.glee-archive-card__image img{width:100%;height:100%;object-fit:cover}.glee-archive-card__body{padding:24px}.glee-archive-card__body h2{font-size:30px;margin:0 0 8px}.glee-archive-card__meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.glee-chip{display:inline-flex;padding:6px 9px;background:var(--cream);border-radius:999px;font-size:11px;font-weight:900}.glee-single-meta{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 30px}.glee-single-featured{overflow:hidden;border-radius:34px;margin-bottom:34px}.glee-single-featured img{width:100%;height:auto}.glee-empty{padding:50px;border:1px dashed rgba(16,40,92,.2);border-radius:24px;background:var(--cream)}
@media(max-width:960px){.glee-nav,.glee-header__cta{display:none}.glee-menu-toggle{display:block;justify-self:end}.glee-mobile-menu.is-open{display:grid;gap:2px;padding:20px 24px 28px;background:var(--cream);border-bottom:1px solid rgba(16,40,92,.1)}.glee-mobile-menu ul{display:grid;padding:0;margin:0;list-style:none}.glee-mobile-menu a{display:block;padding:13px 0;border-bottom:1px solid rgba(16,40,92,.1);font-size:17px;font-weight:900}.glee-mobile-menu__cta{margin-top:10px!important;padding:15px 18px!important;background:var(--blue);color:#fff;border:0!important;border-radius:16px;text-align:center}.glee-footer__grid{grid-template-columns:1fr 1fr}.glee-footer__brand{grid-column:1/-1}.glee-archive-grid{grid-template-columns:1fr 1fr}}
@media(max-width:782px){.admin-bar .glee-header{top:46px}}
@media(max-width:720px){.glee-container{width:min(calc(100% - 28px),1280px)}.glee-header__inner{min-height:74px}.glee-brand__glee{font-size:31px}.glee-brand__for{font-size:22px}.glee-brand__kids{font-size:28px}.glee-footer__grid,.glee-archive-grid{grid-template-columns:1fr}.glee-footer__brand{grid-column:auto}.glee-footer__bottom{flex-direction:column}}

/* =========================================================
   Glee v1.1 — Premium subpage system
   ========================================================= */
.glee-subpage{overflow:hidden}.glee-subhero{position:relative;overflow:hidden;padding:78px 0 84px;background:var(--cream)}.glee-subhero--yellow{background:#ffe38a}.glee-subhero--mint{background:#a7ead7}.glee-subhero--blue{background:#dbeaff}.glee-subhero--coral{background:#ff8e7d;color:var(--navy)}.glee-subhero--navy{background:var(--navy);color:#fff}.glee-subhero--cream{background:var(--cream)}.glee-subhero__grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);gap:58px;align-items:center;min-height:520px}.glee-subhero__copy{position:relative;z-index:2}.glee-subhero__copy h1,.glee-blog-hero h1,.glee-archive-hero-copy h1{max-width:850px;margin:0 0 24px;font-family:"Baloo 2",sans-serif;font-size:clamp(58px,7.4vw,102px);line-height:.87;letter-spacing:-.06em}.glee-subhero__lead{max-width:680px;margin:0 0 28px;color:rgba(16,40,92,.78);font-size:clamp(18px,1.8vw,22px);line-height:1.6}.glee-subhero--navy .glee-subhero__lead{color:rgba(255,255,255,.75)}.glee-subhero .glee-breadcrumbs{margin-bottom:32px;color:rgba(16,40,92,.62)}.glee-subhero--navy .glee-breadcrumbs{color:rgba(255,255,255,.62)}.glee-subpage-editor{padding:60px 0;background:#fff}.glee-subpage-editor .entry-content{max-width:920px;margin-inline:auto;font-size:18px;line-height:1.8}.glee-subpage-editor .entry-content>:last-child{margin-bottom:0}

.glee-section-intro{max-width:780px;margin-bottom:40px}.glee-section-intro h2{margin-bottom:16px}.glee-section-intro>p:last-child{max-width:680px;color:#66738b;font-size:17px;line-height:1.7}.glee-feature-section{padding:112px 0;background:#fff}.glee-feature-section--cream{background:var(--cream)}.glee-feature-grid{display:grid;gap:18px}.glee-feature-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.glee-feature-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.glee-feature-card{position:relative;min-height:310px;padding:28px;border-radius:30px;background:#fff;border:1px solid rgba(16,40,92,.08);box-shadow:0 12px 32px rgba(26,50,95,.07);transition:transform .24s ease,box-shadow .24s ease}.glee-feature-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(26,50,95,.12)}.glee-feature-card.is-yellow{background:#ffd863}.glee-feature-card.is-mint{background:#98e3cf}.glee-feature-card.is-blue{background:#b8d9ff}.glee-feature-card.is-coral{background:#ff9b8b}.glee-feature-card__no{display:block;margin-bottom:42px;font-size:11px;font-weight:900;letter-spacing:.16em}.glee-feature-card__icon{position:absolute;right:24px;top:24px;display:grid;place-items:center;width:62px;height:62px;border-radius:20px;background:rgba(255,255,255,.58);font-family:"Baloo 2";font-size:28px;font-weight:900}.glee-feature-card h3{margin:0 0 10px;font-size:32px;line-height:1}.glee-feature-card p{margin:0;color:rgba(16,40,92,.74);line-height:1.6}

.glee-split-section{padding:118px 0;background:#fff}.glee-split-section--cream{background:var(--cream)}.glee-split-section--sky{background:#eef7ff}.glee-split-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:76px;align-items:center}.glee-split-layout--reverse .glee-split-copy{order:1}.glee-split-layout--reverse .glee-split-media{order:2}.glee-split-copy h2{max-width:690px}.glee-split-copy>p{color:#66738b;font-size:18px;line-height:1.75}.glee-split-media{position:relative;min-height:560px}.glee-blob-card,.glee-movement-poster,.glee-story-poster{position:absolute;inset:0;border-radius:46px;box-shadow:0 22px 60px rgba(30,56,105,.14);overflow:hidden}.glee-blob-card{display:flex;align-items:flex-end;padding:42px;background:var(--blue)}.glee-blob-card:before{content:"";position:absolute;width:390px;height:390px;left:-60px;top:-80px;border-radius:50%;background:var(--yellow)}.glee-blob-card:after{content:"";position:absolute;width:330px;height:330px;right:-80px;bottom:-80px;border:80px solid var(--coral);border-radius:50%}.glee-blob-card span{position:relative;z-index:2;font-family:"Baloo 2";font-size:clamp(78px,9vw,132px);font-weight:900;line-height:.72;color:#fff;transform:rotate(-8deg)}.glee-blob-card i{position:absolute;right:45px;top:45px;z-index:2;color:#fff;font-style:normal;font-size:54px}.glee-check-list{display:grid;gap:13px;margin:28px 0 0;padding:0;list-style:none}.glee-check-list li{display:flex;gap:11px;align-items:flex-start;font-weight:800}.glee-check-list span{color:var(--coral)}

.glee-process-section{padding:112px 0;background:#fff}.glee-process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(16,40,92,.15);border-left:1px solid rgba(16,40,92,.15)}.glee-process-grid>div{min-height:250px;padding:30px;border-right:1px solid rgba(16,40,92,.15);border-bottom:1px solid rgba(16,40,92,.15)}.glee-process-grid strong{display:block;margin-bottom:64px;color:var(--coral);font-size:11px;letter-spacing:.16em}.glee-process-grid h3{font-size:30px;margin-bottom:8px}.glee-process-grid p{margin:0;color:#66738b;line-height:1.55}

.glee-band-cta{padding:32px 0}.glee-band-cta__inner{display:flex;justify-content:space-between;align-items:center;gap:50px;padding:58px 64px;border-radius:40px}.glee-band-cta--blue .glee-band-cta__inner{background:var(--blue);color:#fff}.glee-band-cta--yellow .glee-band-cta__inner{background:var(--yellow)}.glee-band-cta--mint .glee-band-cta__inner{background:var(--mint)}.glee-band-cta__inner h2{max-width:820px;margin:0;font-size:clamp(42px,5vw,70px)}

/* Play hero artwork */
.glee-play-hero-art{position:relative;min-height:520px}.glee-play-sun{position:absolute;right:6%;top:3%;display:grid;place-items:center;width:118px;height:118px;border-radius:50%;background:var(--yellow);color:var(--blue);font-size:38px;box-shadow:0 18px 36px rgba(132,96,0,.13)}.glee-play-arch{position:absolute;right:9%;bottom:30px;width:320px;height:265px;border:78px solid var(--blue);border-bottom:0;border-radius:200px 200px 0 0}.glee-play-cube{position:absolute;border-radius:18px;box-shadow:inset -12px -12px 0 rgba(16,40,92,.07),0 18px 36px rgba(16,40,92,.11)}.glee-play-cube--a{left:7%;bottom:50px;width:170px;height:170px;background:var(--coral);transform:rotate(-8deg)}.glee-play-cube--b{left:31%;bottom:38px;width:126px;height:126px;background:var(--mint);transform:rotate(9deg)}.glee-play-ball{position:absolute;left:27%;top:24%;width:120px;height:120px;border-radius:50%;background:var(--blue);box-shadow:inset -10px -10px 0 rgba(16,40,92,.12)}.glee-play-face{position:absolute;left:11%;bottom:95px;z-index:2;color:var(--navy);font-size:42px;font-weight:900}

/* Gym */
.glee-subhero--gym{background:#dcecff}.glee-gym-hero-art{position:relative;min-height:520px;border-radius:48px;background:var(--yellow);overflow:hidden;box-shadow:0 22px 60px rgba(36,69,122,.14)}.glee-gym-ring{position:absolute;top:66px;width:135px;height:135px;border:23px solid var(--blue);border-radius:50%}.glee-gym-ring:before{content:"";position:absolute;left:50%;top:-115px;width:8px;height:95px;background:#8d6b34;border-radius:99px}.gr1{right:220px}.gr2{right:55px}.glee-gym-beam{position:absolute;left:70px;bottom:112px;width:390px;height:30px;border-radius:30px;background:var(--navy);transform:rotate(-8deg)}.glee-gym-beam:after{content:"";position:absolute;left:46%;top:28px;width:54px;height:120px;background:var(--blue);clip-path:polygon(50% 0,100% 100%,0 100%)}.glee-gym-orb{position:absolute;border-radius:50%}.go1{right:70px;bottom:66px;width:105px;height:105px;background:var(--mint)}.go2{right:195px;bottom:45px;width:62px;height:62px;background:var(--coral)}.glee-gym-hero-art strong{position:absolute;left:52px;top:135px;font-family:"Baloo 2";font-size:80px;color:var(--navy);transform:rotate(-9deg)}.glee-movement-poster{padding:55px;background:var(--navy)}.glee-movement-poster span{display:block;font-family:"Baloo 2";font-weight:900;font-size:clamp(58px,7vw,96px);line-height:.78;letter-spacing:-.05em}.glee-movement-poster span:nth-child(1){color:var(--yellow);transform:rotate(-6deg)}.glee-movement-poster span:nth-child(2){color:var(--coral);text-align:right;transform:rotate(5deg)}.glee-movement-poster span:nth-child(3){color:var(--mint);font-size:clamp(45px,5.5vw,76px);transform:rotate(-3deg)}.glee-movement-poster i{position:absolute;right:45px;bottom:30px;color:#fff;font-style:normal;font-size:60px}

/* Birthday */
.glee-subhero--birthday{background:var(--coral)}.glee-subhero--birthday .glee-subhero__lead{color:rgba(16,40,92,.76)}.glee-party-art{position:relative;min-height:520px}.glee-party-cake{position:absolute;left:18%;bottom:48px;width:270px;height:230px;border-radius:30px 30px 42px 42px;background:var(--blue);box-shadow:inset -20px -18px 0 rgba(5,43,133,.13),0 22px 50px rgba(81,30,25,.16)}.glee-party-cake:before{content:"";position:absolute;left:-24px;top:-48px;width:318px;height:92px;border-radius:46px;background:#fff4d5}.glee-party-cake:after{content:"";position:absolute;left:35px;top:-104px;width:9px;height:60px;background:var(--yellow);box-shadow:68px 0 0 var(--yellow),136px 0 0 var(--yellow),204px 0 0 var(--yellow)}.glee-party-cake span{position:absolute;inset:70px 0 auto;text-align:center;color:var(--yellow);font-size:72px}.glee-party-balloon{position:absolute;width:105px;height:132px;border-radius:50% 50% 48% 48%}.glee-party-balloon:after{content:"";position:absolute;left:50%;top:128px;width:2px;height:160px;background:rgba(16,40,92,.35)}.pb1{right:26%;top:40px;background:var(--yellow);transform:rotate(8deg)}.pb2{right:6%;top:125px;background:var(--mint);transform:rotate(-6deg)}.pb3{left:4%;top:38px;background:#fff0ee;transform:scale(.8) rotate(-9deg)}.glee-party-confetti{position:absolute;right:8%;bottom:36px;font-family:"Baloo 2";font-size:42px;font-weight:900;color:#fff;transform:rotate(-8deg)}.glee-party-gallery{padding:112px 0;background:#fff}.glee-collage{display:grid;grid-template-columns:1.3fr .7fr 1fr;grid-template-rows:260px 230px;gap:15px}.glee-collage>div{display:grid;place-items:center;border-radius:30px;font-family:"Baloo 2";font-weight:900;text-align:center;box-shadow:0 12px 30px rgba(16,40,92,.08)}.glee-collage .c1{grid-row:span 2;background:var(--coral);color:#fff;font-size:58px;transform:rotate(-1deg)}.glee-collage .c2{background:var(--yellow);font-size:80px;color:var(--blue)}.glee-collage .c3{background:var(--mint);font-size:42px;color:var(--navy)}.glee-collage .c4{grid-column:2/4;background:var(--blue);color:#fff;font-size:74px}.glee-contact-panel-section{padding:32px 0 112px}.glee-contact-panel{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center;padding:64px;border-radius:42px;background:var(--navy);color:#fff}.glee-contact-panel h2{margin-bottom:12px}.glee-contact-panel p{max-width:650px;color:rgba(255,255,255,.72);font-size:17px;line-height:1.65}.glee-contact-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}

/* About */
.glee-about-art{position:relative;min-height:500px}.glee-about-word{position:absolute;left:2%;top:20%;font-family:"Baloo 2";font-size:clamp(100px,13vw,190px);font-weight:900;line-height:.72;color:var(--blue);transform:rotate(-7deg);text-shadow:18px 18px 0 var(--yellow)}.glee-about-art span{position:absolute;font-size:58px;font-weight:900}.glee-about-art .as1{right:5%;top:8%;color:var(--coral)}.glee-about-art .as2{right:18%;bottom:4%;color:var(--blue)}.glee-about-art .as3{left:8%;bottom:6%;color:var(--coral)}.glee-manifesto{padding:120px 0;background:var(--navy);color:#fff}.glee-manifesto__text{max-width:1100px;margin:0;font-family:"Baloo 2";font-size:clamp(45px,6.5vw,88px);font-weight:800;line-height:.96;letter-spacing:-.045em}.glee-manifesto__text span{color:var(--yellow)}.glee-story-poster{display:flex;flex-direction:column;justify-content:flex-end;padding:50px;background:var(--mint)}.glee-story-poster:before{content:"";position:absolute;right:-90px;top:-80px;width:350px;height:350px;border:80px solid var(--coral);border-radius:50%}.glee-story-poster small,.glee-story-poster strong{position:relative;z-index:2;font-family:"Baloo 2"}.glee-story-poster small{font-size:24px;font-weight:900;letter-spacing:.12em}.glee-story-poster strong{font-size:clamp(80px,9vw,135px);line-height:.72;color:var(--blue)}.glee-story-poster span{position:absolute;right:40px;bottom:42px;font-size:52px;color:var(--yellow)}

/* Contact */
.glee-contact-hero-art{position:relative;min-height:460px}.glee-chat-bubble{position:absolute;display:grid;place-items:center;border-radius:40px;font-family:"Baloo 2";font-weight:900;box-shadow:0 18px 40px rgba(16,40,92,.12)}.cb1{left:12%;top:18%;width:280px;height:170px;background:var(--blue);color:#fff;font-size:58px;transform:rotate(-7deg)}.cb1:after{content:"";position:absolute;left:48px;bottom:-45px;border:28px solid transparent;border-top-color:var(--blue);transform:rotate(18deg)}.cb2{right:10%;bottom:15%;width:160px;height:130px;background:var(--coral);color:#fff;font-size:58px;transform:rotate(9deg)}.glee-contact-smile{position:absolute;right:8%;top:6%;display:grid;place-items:center;width:120px;height:120px;border-radius:50%;background:var(--mint);font-size:50px}.glee-contact-cards-section{padding:95px 0 35px}.glee-contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.glee-contact-cards article{min-height:290px;padding:30px;border:1px solid rgba(16,40,92,.1);border-radius:30px;background:#fff}.glee-contact-cards article:nth-child(1){background:#a7ead7}.glee-contact-cards article:nth-child(2){background:#dbeaff}.glee-contact-cards article:nth-child(3){background:#ffe38a}.glee-contact-cards span{font-size:11px;font-weight:900;letter-spacing:.16em}.glee-contact-cards h2{margin:56px 0 8px;font-size:38px}.glee-contact-cards p{color:rgba(16,40,92,.7);line-height:1.6}.glee-contact-cards a{font-weight:900}.glee-contact-cards em{color:#6a7489;font-size:13px}.glee-contact-main{padding:70px 0 120px}.glee-contact-main__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.glee-contact-form-box,.glee-address-box{min-height:590px;padding:48px;border-radius:38px}.glee-contact-form-box{background:var(--cream)}.glee-contact-form-box h2,.glee-address-box h2{font-size:58px}.glee-address-box{position:relative;overflow:hidden;background:var(--mint)}.glee-address-box>p{max-width:400px;font-size:18px;line-height:1.7}.glee-form-placeholder{padding:30px;border:1px dashed rgba(16,40,92,.25);border-radius:24px;background:#fff}.glee-form-placeholder strong{font-family:"Baloo 2";font-size:28px}.glee-form-placeholder p{margin-bottom:0;color:#66738b;line-height:1.65}.glee-mini-map{position:absolute;right:-40px;bottom:-60px;width:330px;height:330px;border-radius:50%;background:#dce9df;box-shadow:inset 0 0 0 30px rgba(255,255,255,.25)}.glee-mini-map:before,.glee-mini-map:after{content:"";position:absolute;background:#fff4df;border-radius:99px}.glee-mini-map:before{width:350px;height:24px;left:-50px;top:130px;transform:rotate(24deg)}.glee-mini-map:after{width:330px;height:24px;left:0;top:200px;transform:rotate(-18deg)}.glee-mini-map span,.glee-mini-map strong{position:absolute;z-index:2}.glee-mini-map span{left:145px;top:105px;display:grid;place-items:center;width:68px;height:68px;border-radius:50% 50% 50% 8px;background:var(--blue);color:var(--yellow);font-size:27px;transform:rotate(-45deg)}.glee-mini-map strong{left:145px;top:190px;padding:6px 10px;border-radius:8px;background:var(--navy);color:#fff;font-size:10px;letter-spacing:.12em}

/* FAQ art */
.glee-faq-art{display:grid;place-items:center;min-height:420px;border-radius:50%;background:var(--blue);color:var(--yellow);font-family:"Baloo 2";font-size:260px;font-weight:900;line-height:1;transform:rotate(7deg)}.glee-native-faq{padding-top:100px}

/* Blog */
.glee-blog-hero{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center;min-height:410px}.glee-blog-art{display:grid;place-items:center;width:270px;height:270px;border-radius:40px;background:var(--blue);color:#fff;font-family:"Baloo 2";font-size:58px;font-weight:900;line-height:.82;text-align:center;transform:rotate(6deg);box-shadow:0 20px 50px rgba(16,40,92,.13)}.glee-blog-art span{color:var(--yellow)}.glee-blog-list{padding:105px 0}.glee-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.glee-blog-card{overflow:hidden;border:1px solid rgba(16,40,92,.1);border-radius:30px;background:#fff;box-shadow:0 12px 30px rgba(16,40,92,.06)}.glee-blog-card__media{display:grid;place-items:center;aspect-ratio:4/3;overflow:hidden;background:var(--cream);font-family:"Baloo 2";font-size:54px;font-weight:900;color:var(--blue)}.glee-blog-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.glee-blog-card:hover .glee-blog-card__media img{transform:scale(1.04)}.glee-blog-card__body{padding:26px}.glee-blog-card__meta{margin-bottom:12px;color:#7a8498;font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.glee-blog-card h2{margin:0 0 10px;font-size:31px;line-height:1.04}.glee-blog-card p{color:#66738b;line-height:1.6}.glee-blog-card__link{font-weight:900}.glee-blog-list .navigation.pagination{margin-top:42px}.glee-blog-list .nav-links{display:flex;gap:8px}.glee-blog-list .page-numbers{display:grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border-radius:12px;background:var(--cream);font-weight:900}.glee-blog-list .page-numbers.current{background:var(--blue);color:#fff}

/* Location archive */
.glee-location-archive-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.glee-location-archive-card{overflow:hidden;border-radius:34px;background:#fff;border:1px solid rgba(16,40,92,.1);box-shadow:0 14px 36px rgba(16,40,92,.07)}.glee-location-archive-card__media{display:grid;place-items:center;aspect-ratio:16/10;background:var(--mint);font-size:86px;color:var(--blue)}.glee-location-archive-card__media img{width:100%;height:100%;object-fit:cover}.glee-location-archive-card__body{padding:30px}.glee-location-archive-card__body h2{margin:0 0 10px;font-size:42px}.glee-location-archive-card__body p{color:#66738b}.glee-location-archive-card__link{display:inline-block;margin-top:18px;font-weight:900}

@media(max-width:1100px){.glee-feature-grid--4{grid-template-columns:repeat(2,1fr)}.glee-subhero__grid{grid-template-columns:1fr 1fr;gap:35px}.glee-process-grid{grid-template-columns:repeat(2,1fr)}.glee-contact-main__grid{grid-template-columns:1fr}.glee-blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.glee-subhero__grid,.glee-split-layout,.glee-blog-hero{grid-template-columns:1fr}.glee-subhero__grid{min-height:0}.glee-subhero__copy h1,.glee-blog-hero h1,.glee-archive-hero-copy h1{max-width:100%}.glee-play-hero-art,.glee-gym-hero-art,.glee-party-art,.glee-about-art,.glee-contact-hero-art{min-height:430px}.glee-split-layout--reverse .glee-split-copy,.glee-split-layout--reverse .glee-split-media{order:initial}.glee-split-media{min-height:500px}.glee-contact-panel{grid-template-columns:1fr}.glee-contact-actions{justify-content:flex-start}.glee-contact-cards{grid-template-columns:1fr}.glee-blog-art{display:none}.glee-location-archive-grid{grid-template-columns:1fr}}
@media(max-width:720px){.glee-subhero{padding:52px 0 62px}.glee-subhero__copy h1,.glee-blog-hero h1,.glee-archive-hero-copy h1{font-size:clamp(52px,16vw,78px)}.glee-subhero__lead{font-size:18px}.glee-play-hero-art,.glee-party-art,.glee-about-art,.glee-contact-hero-art{min-height:350px}.glee-gym-hero-art{min-height:390px}.glee-feature-section,.glee-process-section,.glee-split-section,.glee-party-gallery,.glee-manifesto,.glee-blog-list{padding:80px 0}.glee-feature-grid--4,.glee-feature-grid--3,.glee-process-grid,.glee-blog-grid{grid-template-columns:1fr}.glee-feature-card{min-height:280px}.glee-process-grid{border-left:0}.glee-process-grid>div{border-left:1px solid rgba(16,40,92,.15)}.glee-process-grid strong{margin-bottom:40px}.glee-split-layout{gap:40px}.glee-split-media{min-height:390px}.glee-band-cta__inner{align-items:flex-start;flex-direction:column;padding:42px 28px}.glee-contact-panel{padding:42px 28px}.glee-collage{grid-template-columns:1fr 1fr;grid-template-rows:230px 180px 180px}.glee-collage .c1{grid-row:auto;grid-column:1/3;font-size:48px}.glee-collage .c4{grid-column:1/3;font-size:58px}.glee-contact-form-box,.glee-address-box{min-height:500px;padding:32px 25px}.glee-contact-form-box h2,.glee-address-box h2{font-size:46px}.glee-about-word{font-size:100px}.glee-manifesto__text{font-size:46px}.glee-location-archive-card__body h2{font-size:36px}.glee-party-cake{left:10%;transform:scale(.8);transform-origin:left bottom}.pb1{right:22%;transform:scale(.72)}.pb2{right:0;transform:scale(.72)}.glee-gym-ring{transform:scale(.72)}.gr1{right:125px}.gr2{right:10px}.glee-gym-hero-art strong{font-size:60px}.glee-gym-beam{left:30px;width:290px}.glee-play-arch{right:-20px;transform:scale(.75);transform-origin:right bottom}.glee-play-cube--a{left:2%;transform:scale(.78) rotate(-8deg)}.glee-play-cube--b{left:30%;transform:scale(.75) rotate(9deg)}.glee-play-ball{left:34%;transform:scale(.72)}}
@media(max-width:480px){.glee-subhero__copy h1,.glee-blog-hero h1,.glee-archive-hero-copy h1{font-size:50px}.glee-play-hero-art,.glee-party-art,.glee-about-art,.glee-contact-hero-art{min-height:300px}.glee-gym-hero-art{min-height:330px}.glee-feature-card h3{font-size:29px}.glee-split-media{min-height:330px}.glee-blob-card span{font-size:74px}.glee-movement-poster{padding:35px}.glee-movement-poster span{font-size:53px}.glee-contact-panel h2,.glee-band-cta__inner h2{font-size:42px}.glee-collage .c1{font-size:40px}.glee-collage .c3{font-size:34px}.glee-collage .c4{font-size:50px}.glee-contact-cards h2{font-size:34px}.glee-faq-art{min-height:270px;font-size:180px}.glee-about-word{font-size:80px;text-shadow:10px 10px 0 var(--yellow)}}
.glee-elementor-page-art{position:relative;min-height:470px;border-radius:48px;background:var(--blue);overflow:hidden;box-shadow:0 22px 60px rgba(16,40,92,.14)}.glee-elementor-page-art strong{position:absolute;left:40px;bottom:45px;font-family:"Baloo 2";font-size:clamp(80px,10vw,150px);font-weight:900;line-height:.72;color:#fff;transform:rotate(-7deg)}.glee-elementor-page-art span{position:absolute;right:45px;top:40px;color:var(--yellow);font-size:58px}.glee-elementor-page-art i{position:absolute;right:-80px;bottom:-100px;width:320px;height:320px;border:72px solid var(--mint);border-radius:50%}.glee-elementor-split-image{position:absolute;inset:0;overflow:hidden;border-radius:46px;box-shadow:0 22px 60px rgba(30,56,105,.14)}.glee-elementor-split-image img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.glee-elementor-page-art{min-height:380px}}@media(max-width:480px){.glee-elementor-page-art{min-height:300px}.glee-elementor-page-art strong{font-size:78px}}

/* Workshop archive */
.glee-workshop-archive-art{position:relative;min-height:500px;border-radius:46px;background:var(--cream);overflow:hidden;box-shadow:0 20px 50px rgba(16,40,92,.1)}.wa-pencil{position:absolute;bottom:80px;width:58px;border-radius:18px 18px 8px 8px;clip-path:polygon(0 14%,50% 0,100% 14%,100% 100%,0 100%)}.p1{left:90px;height:265px;background:var(--blue);transform:rotate(-10deg)}.p2{left:175px;height:330px;background:var(--coral);transform:rotate(5deg)}.p3{left:270px;height:230px;background:var(--yellow);transform:rotate(-4deg)}.glee-workshop-archive-art strong{position:absolute;right:42px;bottom:46px;font-family:"Baloo 2";font-size:68px;color:var(--navy);transform:rotate(-8deg)}.glee-workshop-archive-art i{position:absolute;right:60px;top:48px;color:var(--blue);font-style:normal;font-size:54px}.glee-archive-toolbar{padding:24px 0;background:#fff;border-bottom:1px solid rgba(16,40,92,.08)}.glee-archive-toolbar--navy{background:var(--navy);border-color:rgba(255,255,255,.12)}.glee-filter-chips{display:flex;gap:9px;flex-wrap:wrap}.glee-filter-chips a{padding:9px 13px;border-radius:999px;background:var(--cream);font-size:12px;font-weight:900}.glee-filter-chips a.is-active{background:var(--blue);color:#fff}.glee-filter-chips--dark a{background:rgba(255,255,255,.08);color:#fff}.glee-filter-chips--dark a.is-active{background:var(--yellow);color:var(--navy)}.glee-workshop-list-section{padding:90px 0 110px}.glee-workshop-premium-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.glee-workshop-premium-card{overflow:hidden;border-radius:32px;background:#fff;border:1px solid rgba(16,40,92,.09);box-shadow:0 12px 32px rgba(16,40,92,.06)}.glee-workshop-premium-card__media{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--cream)}.glee-workshop-premium-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.glee-workshop-premium-card:hover .glee-workshop-premium-card__media img{transform:scale(1.04)}.glee-card-placeholder{position:relative;display:flex;align-items:flex-end;width:100%;height:100%;padding:28px;background:var(--sky,#a8d7ff);overflow:hidden}.glee-card-placeholder:before{content:"";position:absolute;width:230px;height:230px;right:-60px;top:-70px;border:55px solid var(--coral);border-radius:50%}.glee-card-placeholder span{position:absolute;left:24px;top:24px;font-size:11px;font-weight:900;letter-spacing:.16em}.glee-card-placeholder strong{font-family:"Baloo 2";font-size:68px;color:var(--blue);transform:rotate(-7deg)}.glee-card-placeholder i{position:absolute;right:30px;bottom:22px;color:var(--yellow);font-style:normal;font-size:44px}.glee-workshop-premium-card__body{padding:26px}.glee-workshop-premium-card__top,.glee-workshop-premium-card__footer{display:flex;align-items:center;justify-content:space-between;gap:15px}.glee-workshop-index{font-size:11px;font-weight:900;letter-spacing:.14em;color:var(--coral)}.glee-workshop-premium-card h2{margin:20px 0 8px;font-size:34px;line-height:1}.glee-workshop-premium-card p{min-height:74px;color:#66738b;line-height:1.6}.glee-workshop-premium-card__footer{margin-top:20px;padding-top:18px;border-top:1px solid rgba(16,40,92,.1)}.glee-workshop-premium-card__footer>div{display:flex;gap:7px;flex-wrap:wrap}.glee-workshop-premium-card__footer>div span{padding:6px 8px;border-radius:999px;background:var(--cream);font-size:11px;font-weight:900}.glee-workshop-premium-card__footer>a{font-size:13px;font-weight:900}

/* Program archive */
.glee-program-calendar-art{position:relative;min-height:470px;padding:38px;border-radius:44px;background:#fff;color:var(--navy);box-shadow:0 22px 60px rgba(0,0,0,.18);transform:rotate(3deg)}.glee-program-calendar-art:before{content:"";position:absolute;left:0;right:0;top:0;height:74px;border-radius:44px 44px 0 0;background:var(--coral)}.cal-head{position:relative;z-index:2;margin-bottom:64px;font-family:"Baloo 2";font-size:25px;font-weight:900;color:#fff;letter-spacing:.07em}.cal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cal-grid span{display:grid;place-items:center;height:92px;border-radius:20px;background:var(--cream);font-family:"Baloo 2";font-size:32px;font-weight:900}.cal-grid span:nth-child(2),.cal-grid span:nth-child(5){background:var(--yellow)}.cal-grid span:nth-child(3){background:var(--mint)}.glee-program-calendar-art strong{position:absolute;right:26px;bottom:16px;color:var(--blue);font-size:50px}.glee-program-list{padding:82px 0 110px;background:#fff}.glee-program-list__inner{display:grid;gap:12px}.glee-program-row{display:grid;grid-template-columns:110px 1fr auto;gap:25px;align-items:center;min-height:170px;padding:22px;border:1px solid rgba(16,40,92,.1);border-radius:28px;background:#fff;transition:transform .22s ease,box-shadow .22s ease}.glee-program-row:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(16,40,92,.09)}.glee-program-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:112px;border-radius:24px;background:var(--yellow)}.glee-program-date strong{font-family:"Baloo 2";font-size:48px;line-height:.8}.glee-program-date span{margin-top:6px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.glee-program-row__chips{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:9px}.glee-program-row__chips span{padding:6px 9px;border-radius:999px;background:var(--cream);font-size:11px;font-weight:900}.glee-program-row__main h2{margin:0 0 6px;font-size:32px;line-height:1}.glee-program-row__main p{margin:0;color:#66738b;line-height:1.55}.glee-program-row__main small{display:block;margin-top:8px;font-weight:900;color:var(--blue)}.glee-program-row__arrow{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:var(--blue);color:#fff;font-size:22px;font-weight:900}

/* Single workshop/event/location */
.glee-single-hero-grid,.glee-event-hero-grid{display:grid;grid-template-columns:1fr .9fr;gap:60px;align-items:center;min-height:570px}.glee-single-hero-grid h1,.glee-event-hero-grid h1{margin:0 0 20px;font-size:clamp(58px,7vw,96px);line-height:.88;letter-spacing:-.055em}.glee-single-hero-media{min-height:460px;overflow:hidden;border-radius:40px;background:var(--cream);box-shadow:0 20px 50px rgba(16,40,92,.12)}.glee-single-hero-media img{width:100%;height:460px;object-fit:cover}.glee-single-chips{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.glee-single-chips span{padding:8px 11px;border-radius:999px;background:#fff;font-size:12px;font-weight:900}.glee-single-chips--light span{background:rgba(255,255,255,.11);color:#fff}.glee-single-content-section,.glee-event-detail-section,.glee-location-detail{padding:95px 0}.glee-single-content-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:start}.glee-single-content-grid>.entry-content{font-size:18px;line-height:1.8}.glee-single-side-card,.glee-event-info-card,.glee-location-side{position:sticky;top:130px;padding:36px;border-radius:32px;background:var(--mint)}.glee-single-side-card>span{font-size:10px;font-weight:900;letter-spacing:.15em}.glee-single-side-card h2,.glee-location-side h2{margin:42px 0 12px;font-size:48px}.glee-single-side-card p{color:rgba(16,40,92,.72);line-height:1.65}.glee-event-ticket{justify-self:end;width:min(100%,420px);padding:40px;border-radius:38px;background:var(--yellow);color:var(--navy);box-shadow:0 22px 60px rgba(0,0,0,.2);transform:rotate(3deg);text-align:center}.glee-event-ticket p{margin:0 0 12px;font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.glee-event-ticket strong{display:block;font-family:"Baloo 2";font-size:150px;line-height:.78}.glee-event-ticket span{display:block;font-family:"Baloo 2";font-size:28px;font-weight:900}.glee-event-ticket em{display:inline-block;margin-top:24px;padding:10px 16px;border-radius:999px;background:var(--navy);color:#fff;font-style:normal;font-weight:900}.glee-event-info-card{background:var(--cream)}.glee-event-info-card>div{display:grid;grid-template-columns:100px 1fr;gap:16px;padding:17px 0;border-bottom:1px solid rgba(16,40,92,.12)}.glee-event-info-card>div span{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.glee-event-info-card>div strong{font-size:15px}.glee-event-info-card>.btn{margin-top:24px;width:100%}.glee-location-hero-map{position:relative;min-height:500px;overflow:hidden;border-radius:46px;background:#dce9df;box-shadow:0 20px 50px rgba(16,40,92,.11)}.glee-location-hero-map:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.55),transparent 18%),radial-gradient(circle at 78% 75%,rgba(255,255,255,.4),transparent 22%)}.lm-road{position:absolute;height:30px;background:#fff4df;border:5px solid #fff;border-left:0;border-right:0;border-radius:999px}.lm-road.r1{width:120%;left:-10%;top:45%;transform:rotate(17deg)}.lm-road.r2{width:115%;left:-5%;top:25%;transform:rotate(-27deg)}.glee-location-hero-map>span{position:absolute;left:50%;top:43%;display:grid;place-items:center;width:84px;height:84px;border-radius:50% 50% 50% 10px;background:var(--blue);color:var(--yellow);font-size:34px;transform:rotate(-45deg)}.glee-location-hero-map>strong{position:absolute;left:50%;top:64%;padding:8px 12px;border-radius:9px;background:var(--navy);color:#fff;font-size:11px;letter-spacing:.12em}.glee-location-detail__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:start}.glee-location-info-grid{display:grid;grid-template-columns:repeat(2,1fr);margin-top:36px;border-top:1px solid rgba(16,40,92,.14);border-left:1px solid rgba(16,40,92,.14)}.glee-location-info-grid>div{min-height:120px;padding:22px;border-right:1px solid rgba(16,40,92,.14);border-bottom:1px solid rgba(16,40,92,.14)}.glee-location-info-grid span{display:block;margin-bottom:8px;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--coral)}.glee-location-info-grid strong{font-size:15px}.glee-location-side{background:var(--yellow)}.glee-location-side .btn{width:100%;margin-top:10px}.glee-location-events{padding:90px 0;background:var(--cream)}

@media(max-width:1100px){.glee-workshop-premium-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.glee-single-hero-grid,.glee-event-hero-grid,.glee-single-content-grid,.glee-location-detail__grid{grid-template-columns:1fr}.glee-single-side-card,.glee-event-info-card,.glee-location-side{position:static}.glee-event-ticket{justify-self:start}.glee-workshop-archive-art,.glee-program-calendar-art,.glee-location-hero-map{min-height:400px}.glee-program-calendar-art{transform:none}.glee-program-row{grid-template-columns:90px 1fr auto}}
@media(max-width:720px){.glee-workshop-premium-grid{grid-template-columns:1fr}.glee-workshop-list-section,.glee-program-list,.glee-single-content-section,.glee-event-detail-section,.glee-location-detail{padding:72px 0}.glee-program-row{grid-template-columns:72px 1fr;padding:16px;gap:15px}.glee-program-date{height:84px;border-radius:18px}.glee-program-date strong{font-size:38px}.glee-program-row__arrow{grid-column:2;justify-self:start;width:45px;height:45px}.glee-program-row__main h2{font-size:26px}.glee-workshop-archive-art{min-height:330px}.wa-pencil{transform:scale(.75)}.p1{left:30px}.p2{left:110px}.p3{left:190px}.glee-workshop-archive-art strong{font-size:50px}.glee-single-hero-grid,.glee-event-hero-grid{min-height:0}.glee-single-hero-grid h1,.glee-event-hero-grid h1{font-size:54px}.glee-single-hero-media{min-height:330px}.glee-single-hero-media img{height:330px}.glee-event-ticket{width:100%}.glee-event-ticket strong{font-size:110px}.glee-location-info-grid{grid-template-columns:1fr}.glee-location-hero-map{min-height:330px}}

/* =========================================================
   Glee v1.2 — Native Elementor Container System
   Every section below is a real Elementor container. Theme CSS supplies the
   visual language while users retain full Navigator / drag-drop ownership.
   ========================================================= */
.glee-elementor-page{overflow:hidden;background:#fffdf8}
.glee-el-section{position:relative;width:100%;padding:clamp(76px,8vw,124px) 0;margin:0;overflow:hidden}
.glee-el-shell{width:min(calc(100% - 48px),1280px)!important;max-width:1280px!important;margin-inline:auto!important;padding:0!important}
.glee-el-two-col{display:flex!important;flex-direction:row!important;align-items:center!important;gap:clamp(34px,6vw,82px)!important}
.glee-el-two-col>.e-con,.glee-el-two-col>.elementor-element.e-con{flex:1 1 0!important;width:0!important;min-width:0!important}
.glee-el-copy,.glee-el-intro,.glee-el-hero-copy{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:0!important}
.glee-el-intro{max-width:780px!important;margin-bottom:38px!important}
.glee-el-bg-cream{background:var(--cream)}.glee-el-bg-navy{background:var(--navy);color:#fff}.glee-el-bg-coral{background:var(--coral);color:#fff}.glee-el-bg-blue{background:var(--blue);color:#fff}.glee-el-bg-sky{background:#eef8ff}.glee-el-bg-yellow{background:var(--yellow)}

/* Native Elementor text widgets */
.glee-el-eyebrow{margin:0 0 14px!important}
.glee-el-eyebrow .elementor-heading-title,.glee-el-eyebrow{font-family:"Nunito",sans-serif!important;font-size:12px!important;line-height:1.1!important;font-weight:900!important;letter-spacing:.18em!important;color:var(--blue)!important;text-transform:uppercase}
.glee-el-eyebrow.is-light .elementor-heading-title,.glee-el-eyebrow.is-light{color:rgba(255,255,255,.84)!important}
.glee-el-section-title .elementor-heading-title,.glee-el-section-title{margin:0!important;font-family:"Baloo 2","Nunito",sans-serif!important;font-size:clamp(42px,5.2vw,74px)!important;line-height:.95!important;font-weight:800!important;letter-spacing:-.048em!important;color:var(--navy)!important}
.glee-el-section-title.is-light .elementor-heading-title,.glee-el-section-title.is-light{color:#fff!important}
.glee-el-section-lead,.glee-el-section-lead .elementor-widget-container,.glee-el-section-lead p{max-width:680px;margin:18px 0 0!important;color:#66738b!important;font-size:17px!important;line-height:1.72!important}
.glee-el-section-lead.is-light,.glee-el-section-lead.is-light p{color:rgba(255,255,255,.82)!important}
.glee-el-richtext,.glee-el-richtext p,.glee-el-richtext li{color:#5c6981;font-size:17px;line-height:1.75}.glee-el-richtext ul{margin:22px 0 28px;padding-left:20px}.glee-el-richtext li{margin:8px 0}.glee-el-richtext li::marker{color:var(--coral)}

/* Buttons are still native Elementor Button widgets */
.glee-el-button-row{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:12px!important;margin-top:26px!important}
.glee-el-button-row>.e-con,.glee-el-button-row>.elementor-element{width:auto!important;flex:0 0 auto!important}
.glee-el-button .elementor-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:58px!important;padding:0 24px!important;border:2px solid transparent!important;border-radius:20px!important;font-family:"Nunito",sans-serif!important;font-size:15px!important;font-weight:900!important;box-shadow:none!important;transition:transform .2s ease,box-shadow .2s ease!important}
.glee-el-button .elementor-button:hover{transform:translateY(-2px)}
.glee-el-button-primary .elementor-button{background:var(--blue)!important;color:#fff!important;box-shadow:0 12px 26px rgba(36,99,235,.22)!important}
.glee-el-button-dark .elementor-button{background:var(--navy)!important;color:#fff!important}
.glee-el-button-light .elementor-button{background:var(--cream)!important;color:var(--navy)!important}
.glee-el-button-outline .elementor-button{background:transparent!important;border-color:var(--navy)!important;color:var(--navy)!important}

/* Hero */
.glee-el-hero{padding-top:clamp(56px,7vw,90px);padding-bottom:clamp(68px,7vw,104px);background:linear-gradient(180deg,#fff9ef 0%,#fffdf8 100%)}
.glee-el-hero-shell{min-height:640px}
.glee-el-hero-copy{position:relative;z-index:2}
.glee-el-hero-title .elementor-heading-title,.glee-el-hero-title{margin:0!important;max-width:700px;font-family:"Baloo 2",sans-serif!important;font-size:clamp(70px,8.2vw,116px)!important;line-height:.79!important;letter-spacing:-.068em!important;color:var(--navy)!important}
.glee-el-hero-title .elementor-heading-title{background:linear-gradient(180deg,var(--blue) 0 34%,var(--coral) 34% 67%,var(--navy) 67%);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.glee-el-hero-lead,.glee-el-hero-lead p{max-width:610px;margin:24px 0 0!important;color:var(--navy)!important;font-size:clamp(18px,1.6vw,22px)!important;line-height:1.6!important}
.glee-el-hero-visual,.glee-el-visual{width:100%!important;min-width:0!important}

/* Decorative Elementor widget */
.glee-el-art{position:relative;width:100%;min-height:520px;overflow:hidden;border-radius:46px;background:#fff;box-shadow:0 24px 60px rgba(16,40,92,.12);isolation:isolate}
.glee-el-art:before{content:"";position:absolute;width:64%;aspect-ratio:1;right:-13%;bottom:-24%;border-radius:50%;background:var(--blue);z-index:-2}
.glee-el-art:after{content:"";position:absolute;width:52%;height:34%;left:8%;bottom:0;border-radius:50% 50% 0 0;background:var(--mint);z-index:-1}
.glee-el-art-word{position:absolute;left:8%;top:9%;font-family:"Baloo 2",sans-serif;font-size:clamp(54px,7vw,92px);font-weight:900;line-height:.8;letter-spacing:-.06em;color:var(--navy);transform:rotate(-7deg)}
.glee-el-art-star{position:absolute;right:8%;top:8%;font-size:62px;color:var(--yellow);transform:rotate(12deg)}
.glee-el-art .shape{position:absolute;display:block;box-shadow:inset -9px -9px 0 rgba(16,40,92,.07),0 14px 30px rgba(16,40,92,.1)}
.glee-el-art .shape-a{left:14%;bottom:14%;width:120px;height:120px;border-radius:26px;background:var(--coral);transform:rotate(-9deg)}
.glee-el-art .shape-b{left:40%;bottom:9%;width:92px;height:155px;border-radius:60px 60px 24px 24px;background:var(--yellow);transform:rotate(9deg)}
.glee-el-art .shape-c{right:13%;top:31%;width:120px;height:120px;border:30px solid var(--coral);border-radius:50%;background:transparent}
.glee-el-art .shape-d{right:23%;bottom:13%;width:84px;height:84px;border-radius:50%;background:var(--mint)}
.glee-el-art.preset-gym{background:var(--yellow)}.glee-el-art.preset-gym:before{background:var(--coral);border-radius:50%;right:-20%;bottom:-35%}.glee-el-art.preset-gym:after{background:var(--blue);height:18%;left:16%;bottom:18%;transform:rotate(-7deg);border-radius:30px}.glee-el-art.preset-gym .shape-a,.glee-el-art.preset-gym .shape-c{background:transparent;border:20px solid var(--blue);border-radius:50%}.glee-el-art.preset-gym .shape-a{left:18%;bottom:auto;top:40%;width:100px;height:100px}.glee-el-art.preset-gym .shape-b{background:var(--mint);right:12%;left:auto;bottom:15%;width:110px;height:110px;border-radius:50%}
.glee-el-art.preset-birthday{background:#ff9584}.glee-el-art.preset-birthday:before{background:var(--yellow)}.glee-el-art.preset-birthday:after{background:#fff0c9}.glee-el-art.preset-birthday .shape-a{background:var(--blue)}.glee-el-art.preset-birthday .shape-b{background:#fff}.glee-el-art.preset-play{background:#dcecff}.glee-el-art.preset-play:before{background:var(--blue)}.glee-el-art.preset-play:after{background:var(--yellow)}.glee-el-art.preset-about{background:#b7ebdc}.glee-el-art.preset-about:before{background:var(--coral)}.glee-el-art.preset-contact{background:#ffe497}.glee-el-art.preset-contact:before{background:var(--mint)}.glee-el-art.preset-faq{background:#c9f2e6}.glee-el-art.preset-faq:before{background:var(--blue)}

/* Cards */
.glee-el-card-grid{display:grid!important;gap:18px!important;width:100%!important}.glee-el-card-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.glee-el-card-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.glee-el-card-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.glee-el-card-grid>.e-con,.glee-el-card-grid>.elementor-element.e-con{width:auto!important;min-width:0!important}
.glee-el-card{position:relative;display:flex!important;flex-direction:column!important;align-items:flex-start!important;min-height:350px;padding:26px!important;border-radius:32px!important;overflow:hidden;box-shadow:0 14px 34px rgba(16,40,92,.08);transition:transform .22s ease,box-shadow .22s ease}
.glee-el-card:hover{transform:translateY(-5px);box-shadow:0 20px 50px rgba(16,40,92,.12)}.glee-el-card.is-yellow{background:#ffd65f}.glee-el-card.is-mint{background:#8be0c9}.glee-el-card.is-blue{background:#b7d9ff}.glee-el-card.is-coral{background:#ff9584}
.glee-el-card-no .elementor-heading-title,.glee-el-card-no{font-family:"Nunito"!important;font-size:11px!important;font-weight:900!important;letter-spacing:.15em!important;color:var(--navy)!important}.glee-el-card-symbol{margin-top:auto!important;margin-bottom:16px!important}.glee-el-card-symbol .elementor-heading-title,.glee-el-card-symbol{font-family:"Baloo 2"!important;font-size:58px!important;font-weight:900!important;color:var(--navy)!important;line-height:.8!important}.glee-el-card-title .elementor-heading-title,.glee-el-card-title{font-family:"Baloo 2"!important;font-size:34px!important;line-height:1!important;letter-spacing:-.035em!important;color:var(--navy)!important}.glee-el-card-text,.glee-el-card-text p{margin:8px 0 0!important;color:rgba(16,40,92,.74)!important;line-height:1.55!important}.glee-el-card-button{margin-top:14px!important}.glee-el-card-button .elementor-button{padding:0!important;min-height:auto!important;background:transparent!important;color:var(--navy)!important;border:0!important;font-size:13px!important}
.glee-el-card-grid-compact .glee-el-card{min-height:270px}

/* Dynamic feeds inside native containers */
.glee-el-program{padding-top:110px;padding-bottom:110px}.glee-el-program .glee-el-intro{margin-bottom:28px!important}.glee-el-program-feed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.glee-el-program-feed-grid .event-card{height:100%}.glee-el-empty{display:flex;flex-direction:column;gap:5px;padding:28px;border:1px dashed rgba(16,40,92,.22);border-radius:22px;background:rgba(255,255,255,.75);color:var(--navy)}.glee-el-bg-navy .glee-el-empty{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.22);color:#fff}
.glee-el-workshop-feed{margin-top:0}.glee-el-dynamic-feed{width:100%!important}.glee-el-faq-feed{width:100%}.glee-el-location-feed{width:100%}

/* Story / media */
.glee-el-media-card{overflow:hidden;border-radius:38px!important;box-shadow:0 22px 60px rgba(16,40,92,.13);min-height:540px}.glee-el-media-card>.elementor-element{height:100%}.glee-el-image-cover,.glee-el-image-cover .elementor-widget-container{height:100%!important}.glee-el-image-cover img{display:block;width:100%;height:540px;object-fit:cover;border-radius:38px}.glee-el-copy .glee-el-button{margin-top:10px}

/* Birthday / gym */
.glee-el-birthday .glee-el-section-title .elementor-heading-title{font-size:clamp(58px,7vw,96px)!important}.glee-el-birthday .glee-el-art{box-shadow:0 28px 66px rgba(80,23,18,.2)}

/* Gallery */
.glee-el-gallery-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-auto-rows:245px!important;gap:14px!important}.glee-el-gallery-grid>.elementor-element{width:auto!important;min-width:0!important;height:100%!important}.glee-el-gallery-image,.glee-el-gallery-image .elementor-widget-container{height:100%!important}.glee-el-gallery-image img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:24px!important}.glee-el-gallery-image.is-tall{grid-row:span 2}

/* Steps */
.glee-el-step-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;border-top:1px solid rgba(16,40,92,.14)!important;border-left:1px solid rgba(16,40,92,.14)!important}.glee-el-step-grid>.e-con{width:auto!important;min-width:0!important}.glee-el-step{display:flex!important;flex-direction:column!important;min-height:240px;padding:28px!important;border-right:1px solid rgba(16,40,92,.14)!important;border-bottom:1px solid rgba(16,40,92,.14)!important}.glee-el-step-no .elementor-heading-title,.glee-el-step-no{font-family:"Nunito"!important;font-size:11px!important;font-weight:900!important;letter-spacing:.15em!important;color:var(--coral)!important}.glee-el-step-title{margin-top:auto!important}.glee-el-step-title .elementor-heading-title,.glee-el-step-title{font-family:"Baloo 2"!important;font-size:31px!important;color:var(--navy)!important}.glee-el-step-text,.glee-el-step-text p{margin:4px 0 0!important;color:#66738b!important;line-height:1.55!important}

/* Subpage hero */
.glee-el-subhero{padding-top:72px;padding-bottom:84px}.glee-el-subhero-yellow{background:#ffe28a}.glee-el-subhero-mint{background:#abead9}.glee-el-subhero-blue{background:#d9eaff}.glee-el-subhero-coral{background:#ff9584}.glee-el-subhero-navy{background:var(--navy);color:#fff}.glee-el-subhero-shell{min-height:520px}.glee-el-page-title .elementor-heading-title,.glee-el-page-title{font-family:"Baloo 2"!important;font-size:clamp(58px,7.4vw,102px)!important;line-height:.87!important;letter-spacing:-.06em!important;color:var(--navy)!important}.glee-el-page-lead,.glee-el-page-lead p{max-width:680px;margin:20px 0 0!important;color:rgba(16,40,92,.78)!important;font-size:clamp(18px,1.8vw,22px)!important;line-height:1.6!important}

/* CTA */
.glee-el-cta{padding:32px 0;background:#fff}.glee-el-cta-shell{padding:70px!important;border-radius:42px!important;overflow:hidden}.glee-el-cta.glee-el-bg-blue .glee-el-cta-shell{background:var(--blue)}.glee-el-cta.glee-el-bg-navy .glee-el-cta-shell{background:var(--navy)}.glee-el-cta.glee-el-bg-coral .glee-el-cta-shell{background:var(--coral)}.glee-el-cta-title .elementor-heading-title,.glee-el-cta-title{font-family:"Baloo 2"!important;font-size:clamp(54px,6vw,88px)!important;line-height:.9!important;letter-spacing:-.05em!important;color:#fff!important}.glee-el-cta-text,.glee-el-cta-text p{color:rgba(255,255,255,.8)!important;font-size:18px!important;line-height:1.7!important}.glee-el-cta-side .glee-el-button{margin-top:18px}

/* Ensure Elementor edit-mode outlines aren't clipped by theme wrappers. */
.elementor-editor-active .glee-el-section,.elementor-editor-preview .glee-el-section{overflow:visible}.elementor-editor-active .glee-el-art{overflow:hidden}

@media(max-width:1100px){
  .glee-el-card-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}.glee-el-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.glee-el-step-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:960px){
  .glee-el-shell{width:min(calc(100% - 36px),1280px)!important}.glee-el-two-col{flex-direction:column!important;align-items:stretch!important;gap:42px!important}.glee-el-two-col>.e-con,.glee-el-two-col>.elementor-element.e-con{width:100%!important;flex:0 0 auto!important}.glee-el-hero-shell,.glee-el-subhero-shell{min-height:0}.glee-el-hero-visual{max-width:760px!important;margin-inline:auto!important}.glee-el-art{min-height:480px}.glee-el-program-feed-grid{grid-template-columns:1fr}.glee-el-media-card{min-height:460px}.glee-el-image-cover img{height:460px}.glee-el-faq-shell>.e-con:first-child{max-width:700px!important}.glee-el-location-feed.location-grid{grid-template-columns:1fr}.glee-el-cta-shell{padding:54px!important}
}
@media(max-width:767px){
  .glee-el-section{padding:76px 0}.glee-el-shell{width:min(calc(100% - 28px),1280px)!important}.glee-el-hero{padding-top:38px}.glee-el-hero-title .elementor-heading-title,.glee-el-hero-title{font-size:clamp(58px,18vw,86px)!important}.glee-el-page-title .elementor-heading-title,.glee-el-page-title{font-size:clamp(50px,14vw,72px)!important;line-height:.9!important}.glee-el-section-title .elementor-heading-title,.glee-el-section-title{font-size:clamp(42px,12vw,58px)!important}.glee-el-card-grid-4,.glee-el-card-grid-3,.glee-el-card-grid-2{grid-template-columns:1fr!important}.glee-el-card{min-height:310px}.glee-el-button-row{flex-direction:column!important;align-items:stretch!important;width:100%!important}.glee-el-button-row>.elementor-element,.glee-el-button-row>.e-con{width:100%!important}.glee-el-button-row .elementor-button,.glee-el-button.glee-el-button-light .elementor-button,.glee-el-button.glee-el-button-primary .elementor-button,.glee-el-button.glee-el-button-dark .elementor-button,.glee-el-button.glee-el-button-outline .elementor-button{width:100%!important}.glee-el-art{min-height:390px;border-radius:32px}.glee-el-art-word{font-size:58px}.glee-el-art-star{font-size:44px}.glee-el-art .shape-a{width:90px;height:90px}.glee-el-art .shape-b{width:70px;height:120px}.glee-el-art .shape-c{width:90px;height:90px;border-width:22px}.glee-el-gallery-grid{grid-template-columns:1fr!important;grid-auto-rows:280px!important}.glee-el-gallery-image.is-tall{grid-row:auto}.glee-el-step-grid{grid-template-columns:1fr!important}.glee-el-step{min-height:190px}.glee-el-media-card{min-height:360px}.glee-el-image-cover img{height:360px}.glee-el-cta{padding:18px 0}.glee-el-cta-shell{padding:40px 24px!important;border-radius:30px!important}.glee-el-program-feed-grid .event-card{grid-template-columns:64px 1fr!important;gap:14px!important;padding:17px!important}.glee-el-program-feed-grid .event-meta{grid-column:2!important;flex-direction:row!important;text-align:left!important}.glee-el-program-feed-grid .event-time{width:64px!important;height:64px!important;border-radius:18px!important;font-size:17px!important}.glee-el-workshop-feed.workshop-grid{grid-template-columns:1fr!important}.glee-el-location-feed .location-card,.glee-el-location-feed .map-placeholder{min-height:480px}.glee-el-location-feed .location-card{padding:34px 25px}.glee-el-faq-feed .faq-question{font-size:20px;min-height:82px}.glee-el-faq-feed .faq-item.is-open .faq-answer>p{padding-right:0}
}
@media(max-width:480px){
  .glee-el-section{padding:66px 0}.glee-el-hero-title .elementor-heading-title,.glee-el-hero-title{font-size:56px!important}.glee-el-page-title .elementor-heading-title,.glee-el-page-title{font-size:48px!important}.glee-el-section-title .elementor-heading-title,.glee-el-section-title{font-size:44px!important}.glee-el-card{padding:22px!important}.glee-el-card-title .elementor-heading-title,.glee-el-card-title{font-size:31px!important}.glee-el-art{min-height:330px}.glee-el-art-word{font-size:50px}.glee-el-media-card{min-height:310px}.glee-el-image-cover img{height:310px}.glee-el-cta-title .elementor-heading-title,.glee-el-cta-title{font-size:48px!important}.glee-el-program-feed-grid .event-main p{display:none}.glee-el-gallery-grid{grid-auto-rows:240px!important}
}

/* Real Google Maps embed (v1.2.1) */
.glee-map-embed{position:relative;overflow:hidden;background:#dce9df;}
.glee-map-embed::before{display:none!important;}
.glee-map-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;}

/* =========================================================
   Glee v1.3 — Brand ecosystem adaptation
   Play / Create / Move / Celebrate / Together / Summer / Cafe
   ========================================================= */
:root{
  --purple:var(--glee-purple,#8C62D6);
  --orange:var(--glee-orange,#FF9D42);
  --lilac:#F3E9FF;
  --summer:#E5F6EF;
  --cafe:#FFF0D8;
}

/* New global color helpers */
.glee-el-bg-purple{background:var(--purple);color:#fff}
.glee-el-bg-orange{background:var(--orange);color:var(--navy)}
.glee-el-bg-lilac{background:var(--lilac)}
.glee-el-bg-summer{background:linear-gradient(135deg,#e6f7ef 0%,#fff2c8 100%)}
.glee-feature-card.is-purple,.glee-el-card.is-purple{background:#e8d5ff}
.glee-band-cta--purple{background:var(--purple);color:#fff}
.glee-band-cta--purple .eyebrow{color:#fff}
.glee-subhero--purple{background:var(--purple);color:#fff}
.glee-subhero--purple h1,.glee-subhero--purple .glee-subhero__lead,.glee-subhero--purple .glee-breadcrumbs,.glee-subhero--purple .glee-breadcrumbs a{color:#fff}
.glee-subhero--summer{background:linear-gradient(135deg,#d8f2e8 0%,#fff0b6 56%,#ffd3ab 100%);color:var(--navy)}

/* Elementor 5-column ecosystem */
.glee-el-card-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.glee-el-card-grid-5 .glee-el-card{min-height:330px}

/* Partner micro labels */
.glee-partner-mini{display:inline-block;margin:6px 0 2px;padding:5px 8px;border-radius:8px;background:rgba(36,99,235,.08);color:var(--blue);font-size:10px!important;font-weight:900!important;letter-spacing:.05em}
.glee-el-bg-navy .glee-partner-mini{background:rgba(255,255,255,.13);color:#fff}
.glee-partner-kicker{margin:0 0 10px;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--purple)}
.glee-partner-kicker--light{color:var(--yellow)}
.glee-card-meta{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}
.glee-card-meta span{display:inline-flex;padding:6px 9px;border-radius:999px;background:var(--cream);font-size:11px;font-weight:900;color:var(--navy)}

/* Glee in real life — Elementor native Image cards */
.glee-el-life-grid{display:grid!important;grid-template-columns:1.25fr .875fr .875fr!important;gap:16px!important;width:100%!important}
.glee-el-life-grid>.e-con{width:auto!important;min-width:0!important}
.glee-el-life-card{position:relative;display:flex!important;flex-direction:column!important;align-items:flex-start!important;overflow:hidden;min-height:500px;padding:0 0 26px!important;border-radius:34px!important;background:#fff;box-shadow:0 14px 38px rgba(16,40,92,.08)}
.glee-el-life-card.is-large{min-height:580px}
.glee-el-life-card-image{width:100%!important;margin-bottom:22px!important;overflow:hidden}
.glee-el-life-card-image img{width:100%!important;height:340px!important;object-fit:cover!important}
.glee-el-life-card.is-large .glee-el-life-card-image img{height:420px!important}
.glee-el-life-label,.glee-el-life-title,.glee-el-life-text{padding-inline:24px!important}
.glee-el-life-label .elementor-heading-title,.glee-el-life-label{font-family:"Nunito",sans-serif!important;font-size:10px!important;font-weight:900!important;letter-spacing:.16em!important;color:var(--coral)!important}
.glee-el-life-title .elementor-heading-title,.glee-el-life-title{margin:7px 0 0!important;font-family:"Baloo 2",sans-serif!important;font-size:31px!important;line-height:1!important;color:var(--navy)!important}
.glee-el-life-text,.glee-el-life-text p{margin:7px 0 0!important;color:#66738b!important;line-height:1.55!important}

/* Brand split sections */
.glee-el-brand-split{overflow:hidden}
.glee-el-brand-split .glee-el-copy{position:relative;z-index:2}
.glee-el-media-panel{width:100%!important;overflow:hidden!important;border-radius:40px!important;background:#fff;box-shadow:0 22px 60px rgba(16,40,92,.13)}
.glee-el-media-panel .elementor-widget-image{width:100%!important}
.glee-el-media-panel img{display:block;width:100%!important;min-height:520px!important;object-fit:cover!important}
.glee-el-bg-coral .glee-el-richtext,.glee-el-bg-coral .glee-el-richtext p{color:rgba(255,255,255,.86)!important}
.glee-el-richtext.is-light,.glee-el-richtext.is-light p{color:rgba(255,255,255,.86)!important}

/* Camps & seasonal programs */
.glee-program-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;width:100%}
.glee-program-cards.is-featured{grid-template-columns:1fr}
.glee-program-card{overflow:hidden;border-radius:34px;background:#fff;border:1px solid rgba(16,40,92,.09);box-shadow:0 16px 42px rgba(16,40,92,.09)}
.glee-program-card__media{display:block;overflow:hidden;min-height:280px;background:var(--summer)}
.glee-program-card__media img{display:block;width:100%;height:320px;object-fit:cover;transition:transform .4s ease}
.glee-program-card:hover .glee-program-card__media img{transform:scale(1.035)}
.glee-program-card__art{position:relative;display:flex;align-items:flex-end;min-height:320px;padding:30px;background:linear-gradient(155deg,#c8efe3 0%,#fff0b8 50%,#ffcfac 100%);overflow:hidden}
.glee-program-card__art:before{content:"";position:absolute;width:260px;height:260px;right:-55px;top:-95px;border-radius:50%;background:var(--blue)}
.glee-program-card__art:after{content:"";position:absolute;width:210px;height:110px;right:40px;bottom:-20px;border-radius:100% 100% 0 0;background:var(--orange)}
.glee-program-card__art span{position:relative;z-index:2;font-family:"Baloo 2";font-size:65px;font-weight:900;letter-spacing:-.05em;color:var(--navy);transform:rotate(-6deg)}
.glee-program-card__art i{position:absolute;z-index:3;right:30px;top:26px;color:var(--yellow);font-size:48px;font-style:normal}
.glee-program-card__body{padding:27px}
.glee-program-card__partner{margin:0 0 10px;color:var(--purple);font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.glee-program-card h2,.glee-program-card h3{margin:0 0 8px;font-size:36px;line-height:1;letter-spacing:-.035em}
.glee-program-card p{color:#66738b;line-height:1.6}
.glee-program-card__link{display:inline-flex;margin-top:7px;font-size:13px;font-weight:900;color:var(--navy)}
.glee-program-cards.is-featured .glee-program-card{display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch}
.glee-program-cards.is-featured .glee-program-card__media,.glee-program-cards.is-featured .glee-program-card__art{min-height:500px}
.glee-program-cards.is-featured .glee-program-card__media img{height:100%;min-height:500px}
.glee-program-cards.is-featured .glee-program-card__body{display:flex;flex-direction:column;justify-content:center;padding:clamp(34px,5vw,70px)}
.glee-program-cards.is-featured .glee-program-card h3{font-size:clamp(44px,5vw,70px)}
.glee-camp-list-section{padding:95px 0 120px;background:#fff}

/* Partner system */
.glee-el-partners-section{padding-top:78px;padding-bottom:78px}
.glee-partners>h3{margin:0 0 30px;font-size:clamp(36px,4.5vw,58px)}
.glee-partners__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.glee-partners__grid>a,.glee-partners__grid>div{display:grid;place-items:center;min-height:130px;padding:24px;border:1px solid rgba(16,40,92,.09);border-radius:24px;background:#fff;box-shadow:0 8px 26px rgba(16,40,92,.04)}
.glee-partners__grid img{max-width:150px;max-height:72px;width:auto;height:auto;object-fit:contain}
.glee-partners__grid span{font-family:"Baloo 2";font-size:24px;font-weight:800;color:var(--navy);text-align:center}

/* Age filters */
.glee-age-filter{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:14px}
.glee-age-filter>span{margin-right:3px;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#657189}
.glee-age-filter a{padding:7px 10px;border-radius:999px;background:#f6f3ec;color:var(--navy);font-size:11px;font-weight:900}
.glee-age-filter a.is-active{background:var(--purple);color:#fff}
.glee-age-filter--dark>span{color:rgba(255,255,255,.65)}
.glee-age-filter--dark a{background:rgba(255,255,255,.08);color:#fff}
.glee-age-filter--dark a.is-active{background:var(--yellow);color:var(--navy)}

/* Seasonal archive hero */
.glee-summer-archive-art{position:relative;min-height:470px;border-radius:46px;background:linear-gradient(155deg,#bfe9e0 0%,#ffe8a8 50%,#ffcaa5 100%);overflow:hidden;box-shadow:0 20px 50px rgba(16,40,92,.1)}
.glee-summer-archive-art:before{content:"";position:absolute;width:420px;height:420px;right:-120px;bottom:-190px;border-radius:50%;background:var(--blue)}
.glee-summer-archive-art span{position:absolute;left:45px;top:52px;font-family:"Baloo 2";font-size:clamp(62px,8vw,104px);font-weight:900;line-height:.8;color:var(--navy);transform:rotate(-7deg)}
.glee-summer-archive-art i{position:absolute;right:50px;top:38px;color:var(--yellow);font-size:64px;font-style:normal;transform:rotate(12deg)}
.glee-summer-archive-art b{position:absolute;left:90px;bottom:45px;width:170px;height:115px;border-radius:100% 100% 0 0;background:var(--orange);transform:rotate(8deg)}
.glee-summer-archive-art em{position:absolute;left:260px;bottom:55px;width:90px;height:90px;border-radius:50%;background:var(--mint)}

/* New native subpage art */
.glee-motion-art{position:relative;min-height:500px;overflow:hidden;border-radius:46px;background:var(--yellow);box-shadow:0 22px 60px rgba(16,40,92,.12)}
.glee-motion-art strong{position:absolute;left:45px;top:45px;font-family:"Baloo 2";font-size:clamp(60px,7vw,98px);font-weight:900;color:var(--navy);transform:rotate(-7deg)}
.glee-motion-art .mr{position:absolute;top:230px;width:110px;height:110px;border:22px solid var(--blue);border-radius:50%}.glee-motion-art .mr1{left:80px}.glee-motion-art .mr2{left:235px}
.glee-motion-art b{position:absolute;right:70px;bottom:55px;width:120px;height:120px;border-radius:50%;background:var(--mint)}
.glee-motion-art em{position:absolute;left:120px;bottom:75px;width:310px;height:34px;border-radius:99px;background:var(--navy);transform:rotate(-8deg)}
.glee-moms-art{position:relative;min-height:500px;overflow:hidden;border-radius:46px;background:#f2e5ff;box-shadow:0 22px 60px rgba(16,40,92,.14)}
.glee-moms-art:before{content:"";position:absolute;width:380px;height:380px;right:-100px;bottom:-150px;border-radius:50%;background:var(--coral)}
.glee-moms-art span{position:absolute;left:40px;top:55px;font-family:"Baloo 2";font-size:clamp(55px,7vw,88px);font-weight:900;color:var(--purple);transform:rotate(-6deg)}
.glee-moms-art i{position:absolute;left:80px;bottom:80px;font-style:normal;font-size:90px;color:var(--coral)}
.glee-moms-art b{position:absolute;right:65px;top:52px;font-size:80px;color:var(--yellow)}

/* Expanded Glee decorative art presets */
.glee-el-art.accent-purple .glee-el-art-star{color:var(--purple)}
.glee-el-art.accent-orange .glee-el-art-star{color:var(--orange)}
.glee-el-art.preset-motion,.glee-el-art.preset-gym{background:var(--yellow)}
.glee-el-art.preset-motion:before{background:var(--coral);border-radius:50%;right:-20%;bottom:-35%}
.glee-el-art.preset-motion:after{background:var(--blue);height:18%;left:16%;bottom:18%;transform:rotate(-7deg);border-radius:30px}
.glee-el-art.preset-motion .shape-a,.glee-el-art.preset-motion .shape-c{background:transparent;border:20px solid var(--blue);border-radius:50%}
.glee-el-art.preset-motion .shape-a{left:18%;bottom:auto;top:40%;width:100px;height:100px}
.glee-el-art.preset-motion .shape-b{background:var(--mint);right:12%;left:auto;bottom:15%;width:110px;height:110px;border-radius:50%}
.glee-el-art.preset-moms{background:#f2e5ff}.glee-el-art.preset-moms:before{background:var(--coral)}.glee-el-art.preset-moms:after{background:#fff}.glee-el-art.preset-moms .shape-a{background:var(--purple)}.glee-el-art.preset-moms .shape-b{background:var(--yellow)}
.glee-el-art.preset-summer{background:linear-gradient(150deg,#c4eee2,#fff0b3 55%,#ffd2af)}.glee-el-art.preset-summer:before{background:var(--blue)}.glee-el-art.preset-summer:after{background:var(--orange)}
.glee-el-art.preset-cafe{background:#fff0d8}.glee-el-art.preset-cafe:before{background:#c87932}.glee-el-art.preset-cafe:after{background:var(--yellow)}.glee-el-art.preset-cafe .shape-a{background:var(--mint)}

/* Header dropdown support for premium menu structures */
.glee-nav .menu-item-has-children{position:relative}
.glee-nav .sub-menu{position:absolute;left:-22px;top:calc(100% + 14px);display:grid;min-width:220px;padding:10px;margin:0;list-style:none;border:1px solid rgba(16,40,92,.09);border-radius:18px;background:#fff;box-shadow:0 18px 45px rgba(16,40,92,.13);opacity:0;visibility:hidden;transform:translateY(7px);transition:.18s ease}
.glee-nav .menu-item-has-children:hover>.sub-menu,.glee-nav .menu-item-has-children:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.glee-nav .sub-menu a{display:block;padding:10px 12px;border-radius:10px;white-space:nowrap}.glee-nav .sub-menu a:hover{background:var(--cream)}
.glee-nav .sub-menu a:after{display:none}

@media(max-width:1180px){
  .glee-el-card-grid-5{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .glee-el-life-grid{grid-template-columns:1fr 1fr!important}.glee-el-life-card.is-large{grid-column:1/-1}
  .glee-program-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:960px){
  .glee-el-card-grid-5{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .glee-program-cards.is-featured .glee-program-card{grid-template-columns:1fr}
  .glee-program-cards.is-featured .glee-program-card__media,.glee-program-cards.is-featured .glee-program-card__art,.glee-program-cards.is-featured .glee-program-card__media img{min-height:380px;height:380px}
  .glee-partners__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .glee-el-card-grid-5{grid-template-columns:1fr!important}
  .glee-el-card-grid-5 .glee-el-card{min-height:280px}
  .glee-el-life-grid{grid-template-columns:1fr!important}.glee-el-life-card.is-large{grid-column:auto}.glee-el-life-card,.glee-el-life-card.is-large{min-height:0}.glee-el-life-card-image img,.glee-el-life-card.is-large .glee-el-life-card-image img{height:280px!important}
  .glee-el-media-panel img{min-height:330px!important}
  .glee-program-cards{grid-template-columns:1fr}
  .glee-program-card__media img,.glee-program-card__art{height:280px;min-height:280px}
  .glee-program-cards.is-featured .glee-program-card__media,.glee-program-cards.is-featured .glee-program-card__art,.glee-program-cards.is-featured .glee-program-card__media img{min-height:300px;height:300px}
  .glee-program-card__body{padding:24px}.glee-program-cards.is-featured .glee-program-card__body{padding:28px 24px}.glee-program-cards.is-featured .glee-program-card h3{font-size:42px}
  .glee-partners__grid{grid-template-columns:1fr 1fr}.glee-partners__grid>a,.glee-partners__grid>div{min-height:105px;padding:16px}
  .glee-summer-archive-art,.glee-motion-art,.glee-moms-art{min-height:330px}
  .glee-age-filter{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;scrollbar-width:none}.glee-age-filter::-webkit-scrollbar{display:none}.glee-age-filter a,.glee-age-filter>span{flex:0 0 auto}
}
@media(max-width:480px){
  .glee-partners__grid{grid-template-columns:1fr}
  .glee-program-card__art span{font-size:52px}
  .glee-summer-archive-art span,.glee-motion-art strong,.glee-moms-art span{font-size:54px}
}
.glee-el-subhero-purple{background:var(--purple);color:#fff}.glee-el-subhero-purple .glee-el-page-title .elementor-heading-title,.glee-el-subhero-purple .glee-el-page-title,.glee-el-subhero-purple .glee-el-page-lead,.glee-el-subhero-purple .glee-el-page-lead p,.glee-el-subhero-purple .glee-el-eyebrow .elementor-heading-title{color:#fff!important}
.glee-el-subhero-orange{background:linear-gradient(135deg,#d9f4e8,#fff0b5 55%,#ffd0a9);color:var(--navy)}

/* =========================================================
   Glee v1.3 — Native brand ecosystem fallback
   ========================================================= */
.glee-el-cta.glee-el-bg-purple .glee-el-cta-shell{background:var(--purple)}
.glee-el-cta.glee-el-bg-orange .glee-el-cta-shell{background:var(--orange)}

.glee-native-world{padding:110px 0;background:var(--paper)}
.glee-native-world-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.glee-native-world-card{position:relative;display:flex;flex-direction:column;min-height:330px;padding:26px;border-radius:30px;overflow:hidden;box-shadow:0 14px 36px rgba(16,40,92,.08);transition:transform .22s ease,box-shadow .22s ease}
.glee-native-world-card:hover{transform:translateY(-5px);box-shadow:0 20px 50px rgba(16,40,92,.13)}
.glee-native-world-card>span{font-size:11px;font-weight:900;letter-spacing:.14em}
.glee-native-world-card>b{margin-top:auto;font-family:"Baloo 2",sans-serif;font-size:54px;line-height:.82;letter-spacing:-.05em}
.glee-native-world-card h3{margin:10px 0 7px;font-size:30px;line-height:1}
.glee-native-world-card p{margin:0;color:rgba(16,40,92,.73);line-height:1.5}
.glee-native-world-card.is-yellow{background:#ffd65f}.glee-native-world-card.is-mint{background:#8be0c9}.glee-native-world-card.is-blue{background:#b7d9ff}.glee-native-world-card.is-coral{background:#ff9584}.glee-native-world-card.is-purple{background:#d7c9f6}
.glee-native-center{text-align:center;margin:32px 0 0}

.glee-native-split{padding:120px 0;background:var(--paper)}
.glee-native-split-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.glee-native-split h2{font-size:clamp(46px,5.5vw,78px)}
.glee-native-split p:not(.eyebrow){max-width:610px;color:var(--muted);font-size:18px;line-height:1.7}
.glee-native-poster{position:relative;display:grid;place-items:center;min-height:520px;overflow:hidden;border-radius:42px;box-shadow:var(--shadow);isolation:isolate}
.glee-native-poster strong{position:relative;z-index:2;font-family:"Baloo 2",sans-serif;font-size:clamp(62px,8vw,112px);font-weight:900;line-height:.8;letter-spacing:-.06em;text-align:center}
.glee-native-poster:before,.glee-native-poster:after{content:"";position:absolute;border-radius:50%;z-index:-1}
.glee-native-poster:before{width:320px;height:320px;right:-90px;bottom:-90px}
.glee-native-poster:after{width:170px;height:170px;left:-40px;top:-40px}
.poster-motion{background:var(--yellow);color:var(--navy)}.poster-motion:before{background:var(--coral)}.poster-motion:after{background:var(--blue)}.poster-motion i{position:absolute;right:12%;top:12%;width:115px;height:115px;border:22px solid var(--blue);border-radius:50%;font-size:0}.poster-motion b{position:absolute;left:10%;bottom:9%;font-size:76px;color:var(--coral);transform:rotate(-12deg)}
.poster-birthday{background:#ff9584;color:#fff;min-height:560px}.poster-birthday:before{background:var(--yellow)}.poster-birthday:after{background:var(--blue)}.poster-birthday span{position:absolute;right:10%;top:9%;font-size:70px;color:var(--yellow)}
.poster-moms{background:#d7c9f6;color:var(--navy)}.poster-moms:before{background:var(--coral)}.poster-moms:after{background:var(--mint)}.poster-moms span{position:absolute;right:12%;bottom:10%;font-size:88px;color:var(--coral)}
.poster-cafe{background:#ffe1b8;color:var(--navy)}.poster-cafe:before{background:var(--mint)}.poster-cafe:after{background:var(--yellow)}.poster-cafe span{position:absolute;right:10%;bottom:8%;font-size:78px}
.glee-native-motion{background:#eef8ff}.glee-native-moms{background:#fbf7ff}.glee-native-cafe{background:#fff8ef}

.glee-native-camps{padding:120px 0;background:#fff3df}
.glee-native-camp-feature{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center;padding:32px;border-radius:40px;background:#fff;box-shadow:var(--shadow)}
.glee-native-camp-feature h3{margin:4px 0 14px;font-size:clamp(42px,5vw,72px);line-height:.95}
.glee-native-camp-feature p:not(.eyebrow){color:var(--muted);font-size:17px;line-height:1.7}
.glee-native-camp-feature .glee-summer-archive-art{min-height:420px;border-radius:30px}

@media(max-width:1180px){.glee-native-world-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.glee-native-world-card:nth-child(4),.glee-native-world-card:nth-child(5){min-height:280px}}
@media(max-width:960px){.glee-native-split-grid,.glee-native-camp-feature{grid-template-columns:1fr}.glee-native-poster{min-height:440px}.glee-native-camp-feature{gap:32px}.glee-native-camp-feature .glee-summer-archive-art{min-height:360px}}
@media(max-width:767px){.glee-native-world,.glee-native-split,.glee-native-camps{padding:78px 0}.glee-native-world-grid{grid-template-columns:1fr}.glee-native-world-card,.glee-native-world-card:nth-child(4),.glee-native-world-card:nth-child(5){min-height:260px}.glee-native-world-card>b{font-size:46px}.glee-native-split-grid{gap:34px}.glee-native-poster{min-height:350px;border-radius:30px}.glee-native-poster strong{font-size:62px}.glee-native-camp-feature{padding:18px;border-radius:28px}.glee-native-camp-feature .glee-summer-archive-art{min-height:300px}.poster-birthday{min-height:380px}}

/* v1.3.1 additive restore: legacy v1.2 sections remain available alongside v1.3 modules. */
.glee-native-gallery-fallback{display:grid;place-items:center;width:100%;height:100%;min-height:220px;background:var(--cream);color:var(--navy);position:relative;overflow:hidden}
.glee-native-gallery-fallback:before,.glee-native-gallery-fallback:after{content:"";position:absolute;border-radius:50%}
.glee-native-gallery-fallback:before{width:180px;height:180px;background:var(--yellow);right:-55px;top:-65px}
.glee-native-gallery-fallback:after{width:130px;height:130px;background:var(--mint);left:-45px;bottom:-50px}
.glee-native-gallery-fallback strong{position:relative;z-index:2;font-family:"Baloo 2",sans-serif;font-size:52px;letter-spacing:-.05em}
.glee-native-gallery-fallback span{position:absolute;z-index:2;right:16%;bottom:14%;font-size:32px;color:var(--coral)}
.glee-native-gallery-fallback.is-play{min-height:100%;background:#d9ebff}
.glee-native-partners{padding:100px 0;background:var(--paper)}
.glee-native-partner-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.glee-native-partner-card{display:grid;place-items:center;min-height:120px;padding:20px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow-soft);font-weight:900;text-align:center;transition:transform .2s ease,box-shadow .2s ease}
.glee-native-partner-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.glee-native-partner-card img{max-width:150px;max-height:70px;width:auto;height:auto;object-fit:contain}
@media(max-width:960px){.glee-native-partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.glee-native-partner-grid{grid-template-columns:1fr}.glee-native-partners{padding:76px 0}}

/* v1.4 content completion */
.glee-contact-direct{padding:30px;border:1px solid rgba(16,40,92,.12);border-radius:24px;background:#fff}.glee-contact-direct>p{color:#5d6a82;line-height:1.7}.glee-contact-hours{margin-top:22px!important;color:var(--navy)!important}.glee-subpage--playgroups .glee-section-intro>p:last-child{max-width:760px;color:#637089;line-height:1.7}


/* === Glee v1.5.0 polish layer ===
   v1.4 tabanını korur; yalnızca oran, okunabilirlik ve ebeveyn odaklı premium hissi güçlendirir.
*/
body{line-height:1.55}
.section-heading > p:last-child{font-size:18px;max-width:700px}
.site-header{background:rgba(255,249,239,.94)}
.header-inner{min-height:92px}
.brand-glee{font-size:46px}
.brand-for{font-size:32px}
.brand-kids{font-size:40px}
.brand-star{right:30px;top:-8px;font-size:13px}
.desktop-nav{gap:clamp(20px,2.4vw,38px)}
.desktop-nav a{font-size:16px}
.header-cta{min-height:56px;padding:0 20px 0 24px;border-radius:24px}
.header-cta-star{width:32px;height:32px}
.hero-title,.home-hero-title{letter-spacing:-.05em}
.hero-copy p,.glee-el-hero-lead p{font-size:18px;line-height:1.75}
.glee-el-button,.header-cta,.footer-cta{font-size:15px}
.site-footer{padding-top:20px}
.footer-grid{gap:30px}
.footer-logo .brand-glee{font-size:42px}
.footer-logo .brand-for{font-size:30px}
.footer-logo .brand-kids{font-size:38px}
.footer-brand p,.footer-col a{font-size:15px}
.footer-col h3{font-size:19px}
.footer-bottom{font-size:13px}
.glee-card-placeholder,.glee-workshop-premium-card,.glee-archive-card,.glee-feature-card{box-shadow:0 16px 40px rgba(16,40,92,.08)}
@media(max-width:960px){
  .desktop-nav a{font-size:15px}
}
@media(max-width:720px){
  .header-inner{min-height:80px}
  .brand-glee{font-size:38px}
  .brand-for{font-size:27px}
  .brand-kids{font-size:34px}
}


/* === Glee v1.5.1 UX / SEO / map fixes === */
.glee-map-embed{position:relative;overflow:hidden;border-radius:inherit;background:#dce9df;min-height:320px;box-shadow:0 20px 50px rgba(16,40,92,.11)}
.glee-map-embed iframe{display:block;width:100%;height:100%;min-height:inherit;border:0}
.glee-location-hero-map.glee-map-embed{min-height:500px;border-radius:46px}
.plee-fix{} /* noop marker */
.glee-mini-map.glee-map-embed{position:relative;right:auto;bottom:auto;width:100%;height:280px;border-radius:28px;box-shadow:none;background:#dce9df;margin-top:24px}
.glee-seo-copy{padding:0 0 110px}
.glee-seo-copy__inner{padding:42px 48px;border:1px solid rgba(16,40,92,.10);border-radius:34px;background:#fff;box-shadow:0 16px 40px rgba(16,40,92,.06)}
.glee-seo-copy__inner h2{margin:8px 0 16px;font-size:clamp(34px,4.6vw,52px);line-height:1.02;letter-spacing:-.04em}
.glee-seo-copy__inner p:not(.eyebrow){max-width:900px;font-size:17px;line-height:1.85;color:rgba(16,40,92,.78)}
.glee-address-box .glee-map-embed{margin-top:24px}
@media(max-width:960px){
  .glee-header{position:relative;top:auto}
  .admin-bar .glee-header{top:auto}
  .glee-mobile-menu{position:static}
}
@media(max-width:720px){
  .glee-seo-copy{padding:0 0 80px}
  .glee-seo-copy__inner{padding:30px 24px;border-radius:26px}
  .glee-seo-copy__inner p:not(.eyebrow){font-size:16px;line-height:1.75}
  .glee-mini-map.glee-map-embed{height:240px}
}


/* === Glee v1.5.2 map/address polish === */
.glee-footer__address,.glee-footer__hours{max-width:320px;margin:7px 0;color:#58657d;font-size:14px;line-height:1.55;font-weight:700}
.glee-footer__hours{color:var(--navy)}
.location-card .location-info dd{line-height:1.5}
.glee-map-embed iframe{background:#dce9df}

/* === Glee v1.5.3 illustration integration === */
.glee-story-asset{display:grid;place-items:end center;padding:26px;background:linear-gradient(180deg,#fff6e8 0%,#fff 45%,#eaf8f1 100%)}
.glee-story-asset img{width:100%;height:100%;object-fit:contain;padding:10px 12px 0;filter:drop-shadow(0 18px 28px rgba(16,40,92,.16))}
.glee-workshop-art{display:grid;place-items:center;background:linear-gradient(180deg,#fff9ed 0%,#fff 45%,#eef8ff 100%)}
.glee-workshop-art img{width:100%;height:100%;object-fit:contain;padding:18px;filter:drop-shadow(0 14px 24px rgba(16,40,92,.14))}
.glee-native-poster--art,.glee-summer-archive-art--art{display:grid;place-items:center;padding:18px}
.glee-native-poster--art img,.glee-summer-archive-art--art img,.glee-fallback-image{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 30px rgba(16,40,92,.16))}
.glee-summer-archive-art--art{background:linear-gradient(155deg,#bfe9e0 0%,#ffe8a8 50%,#ffcaa5 100%)}
.gallery-item--art{display:grid;place-items:center;padding:12px;background:linear-gradient(180deg,#ffffff 0%,#fdf7ee 100%);border:1px solid rgba(16,40,92,.06);box-shadow:0 10px 25px rgba(16,40,92,.06)}
.gallery-item--art img{width:100%;height:100%;object-fit:contain;padding:10px;filter:drop-shadow(0 14px 24px rgba(16,40,92,.14))}
.glee-single-hero-media--art{display:grid;place-items:center;padding:18px;background:linear-gradient(180deg,#fff9ed 0%,#fff 48%,#eef8ff 100%)}
.glee-single-hero-media--art img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 30px rgba(16,40,92,.16))}
.glee-workshop-premium-card__media>.glee-fallback-image{display:block;background:linear-gradient(180deg,#fff9ed 0%,#fff 50%,#eef8ff 100%);padding:14px}
@media(max-width:767px){
  .glee-story-asset,.glee-native-poster--art,.glee-summer-archive-art--art,.glee-single-hero-media--art{padding:12px}
  .gallery-item--art img,.glee-workshop-art img{padding:10px}
}


/* === Glee v1.5.4 service SEO content / read-more === */
.glee-seo-copy{padding:96px 0 112px;background:linear-gradient(180deg,var(--paper,#fffaf1) 0%,#fff 100%)}
.glee-seo-copy__inner{max-width:1120px;margin:0 auto;padding:52px 58px;border:1px solid rgba(16,40,92,.09);border-radius:38px;background:rgba(255,255,255,.94);box-shadow:0 20px 55px rgba(16,40,92,.07)}
.glee-seo-copy__inner>h2{max-width:900px;margin:10px 0 22px;font-size:clamp(38px,4.7vw,62px);line-height:1.02;letter-spacing:-.045em;color:var(--navy)}
.glee-seo-copy__lead{max-width:920px;margin:0;color:rgba(16,40,92,.78);font-size:18px;line-height:1.85}
.glee-seo-details{margin-top:24px;border-top:1px solid rgba(16,40,92,.1)}
.glee-seo-details>summary{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:12px 16px;border:1px solid rgba(16,40,92,.14);border-radius:999px;background:var(--cream,#fff5e6);color:var(--navy);font-size:14px;font-weight:900;cursor:pointer;list-style:none;transition:.2s ease}
.glee-seo-details>summary::-webkit-details-marker{display:none}
.glee-seo-details>summary:hover{transform:translateY(-1px);background:#fff;box-shadow:0 8px 22px rgba(16,40,92,.08)}
.glee-seo-summary-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-size:17px;line-height:1;transition:transform .25s ease}
.glee-seo-less{display:none}
.glee-seo-details[open] .glee-seo-more{display:none}
.glee-seo-details[open] .glee-seo-less{display:inline}
.glee-seo-details[open] .glee-seo-summary-icon{transform:rotate(45deg)}
.glee-seo-details__content{padding-top:32px;animation:gleeSeoReveal .28s ease both}
.glee-seo-details__section{max-width:920px;padding:24px 0;border-bottom:1px solid rgba(16,40,92,.08)}
.glee-seo-details__section:first-child{padding-top:0}
.glee-seo-details__section h3{margin:0 0 10px;font-size:clamp(23px,2.2vw,30px);line-height:1.15;letter-spacing:-.025em;color:var(--navy)}
.glee-seo-details__section p{margin:0;color:rgba(16,40,92,.74);font-size:17px;line-height:1.82}
.glee-seo-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.glee-seo-links a{display:inline-flex;align-items:center;gap:6px;padding:10px 13px;border-radius:12px;background:var(--navy);color:#fff;font-size:13px;font-weight:900;transition:.2s ease}
.glee-seo-links a:hover{transform:translateY(-2px);background:var(--blue)}
@keyframes gleeSeoReveal{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(max-width:767px){
  .glee-seo-copy{padding:68px 0 78px}
  .glee-seo-copy__inner{padding:32px 24px;border-radius:28px}
  .glee-seo-copy__inner>h2{font-size:38px}
  .glee-seo-copy__lead,.glee-seo-details__section p{font-size:16px;line-height:1.75}
  .glee-seo-details__section h3{font-size:23px}
  .glee-seo-links{display:grid;grid-template-columns:1fr}
  .glee-seo-links a{justify-content:space-between;padding:12px 14px}
}
