/* Crescent Bowl: irregular overlapping masks preserve the original art's vivid centers. */
.world-bowl {
  position: relative;
  isolation: isolate;
  min-height: 805px;
  overflow: hidden;
  background: radial-gradient(ellipse at 50% 80%, #f2eafb 0, #fffaf5 60%);
  color: #241331;
  font-family: "Lexend", sans-serif;
}
.world-bowl .world-copy {
  position: relative;
  z-index: 5;
  width: min(690px, 60%);
  margin: 0 auto;
  padding-top: 46px;
  text-align: center;
}
.world-bowl .world-label {
  margin: 0 0 20px;
  color: #5f4370;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.5;
  letter-spacing: 1.8px;
}
body.homepage .world-bowl #home-title {
  margin: 0;
  color: #241331;
  font-family: "Lexend", sans-serif;
  font-size: clamp(58px, 5.7vw, 82px);
  font-weight: 780;
  line-height: 1.025;
  letter-spacing: -.035em;
}
body.homepage .world-bowl #home-title span { display: block; }
.world-bowl .world-description {
  max-width: 510px;
  margin: 24px auto 0;
  color: #45344e;
  font-size: 18px;
  line-height: 1.65;
  font-weight: 400;
  letter-spacing: -.2px;
}
.world-bowl .world-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  min-height: 60px;
  margin-top: 25px;
  padding: 17px 24px;
  border-radius: 12px;
  background: #7623cd;
  box-shadow: none;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
}
.world-bowl .world-cta svg { width: 22px; height: 22px; flex: 0 0 22px; }
.world-bowl .world-cta:hover { background: #6220ad; }
.world-bowl .world-cta:focus-visible { outline: 3px solid #241331; outline-offset: 6px; }
.world-bowl .bowl-world { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.world-bowl .bowl-scene {
  position: absolute;
  display: block;
  max-width: none;
  object-fit: cover;
  -webkit-mask-image: radial-gradient(ellipse closest-side, #000 79%, transparent 100%);
  mask-image: radial-gradient(ellipse closest-side, #000 79%, transparent 100%);
}
.world-bowl .bowl-mermaid {
  left: -9%; top: 144px; width: 35%; height: 464px;
  object-position: 90% 30%;
  border-radius: 42% 56% 39% 48%;
  -webkit-mask-image: radial-gradient(ellipse at 42% 51%, #000 55%, transparent 74%);
  mask-image: radial-gradient(ellipse at 42% 51%, #000 55%, transparent 74%);
}
.world-bowl .bowl-elephant {
  right: -8%; top: 165px; width: 35%; height: 465px;
  object-position: 55% 50%;
  border-radius: 60% 42% 55% 45%;
  -webkit-mask-image: radial-gradient(ellipse at 58% 52%, #000 54%, transparent 74%);
  mask-image: radial-gradient(ellipse at 58% 52%, #000 54%, transparent 74%);
}
.world-bowl .bowl-bear {
  left: 8%; top: 398px; width: 24%; height: 346px;
  object-position: 50% 42%;
  border-radius: 42% 60% 35% 48%;
  -webkit-mask-image: radial-gradient(ellipse at 50% 50%, #000 51%, transparent 74%);
  mask-image: radial-gradient(ellipse at 50% 50%, #000 51%, transparent 74%);
}
.world-bowl .bowl-winter { left: 24%; top: 525px; width: 25%; height: 271px; object-position: 50% 50%; }
.world-bowl .bowl-parasol { right: 8%; top: 398px; width: 24%; height: 346px; object-position: 50% 50%; border-radius: 60% 42% 48% 35%; -webkit-mask-image: radial-gradient(ellipse at 50% 50%, #000 51%, transparent 74%); mask-image: radial-gradient(ellipse at 50% 50%, #000 51%, transparent 74%); }
.world-bowl .bowl-goat { left: 35%; top: 519px; width: 30%; height: 283px; object-position: 48% 50%; }
.world-bowl .bowl-hummingbird { right: 24%; top: 525px; width: 25%; height: 271px; object-position: 50% 50%; }
@media (min-width: 1600px) {
  .world-bowl .bowl-world { width: 1600px; left: 50%; right: auto; transform: translateX(-50%); }
}
@media (max-width: 1100px) and (min-width: 601px) {
  .world-bowl { min-height: 770px; }
  .world-bowl .world-copy { width: min(620px, 76%); padding-top: 36px; }
  body.homepage .world-bowl #home-title { font-size: clamp(56px, 6.6vw, 70px); letter-spacing: -.035em; }
  .world-bowl .world-description { max-width: 480px; font-size: 17px; }
  .world-bowl .bowl-mermaid { top: 306px; left: -17%; width: 44%; height: 355px; }
  .world-bowl .bowl-elephant { top: 305px; right: -17%; width: 45%; height: 367px; }
  .world-bowl .bowl-bear { top: 434px; left: 5%; width: 29%; height: 283px; }
  .world-bowl .bowl-winter { top: 528px; left: 21%; width: 29%; height: 236px; }
  .world-bowl .bowl-parasol { top: 434px; right: 5%; width: 29%; height: 283px; }
  .world-bowl .bowl-goat { top: 518px; left: 33%; width: 34%; height: 246px; }
  .world-bowl .bowl-hummingbird { top: 528px; right: 21%; width: 29%; height: 236px; }
}
@media (max-width: 600px) {
  .world-bowl { min-height: 0; padding-bottom: 0; background: #fffaf5; }
  .world-bowl .world-copy { width: auto; margin: 0 22px; padding-top: 31px; }
  .world-bowl .world-label { margin-bottom: 17px; font-size: 9.5px; line-height: 1.65; letter-spacing: 1px; }
  body.homepage .world-bowl #home-title { font-size: 42px; line-height: 1.08; letter-spacing: -.035em; }
  .world-bowl .world-description { margin-top: 21px; max-width: 360px; font-size: 16px; line-height: 1.6; letter-spacing: -.15px; }
  .world-bowl .world-cta { margin-top: 23px; gap: 10px; width: 100%; max-width: 352px; min-height: 58px; padding: 16px 13px; font-size: 13px; border-radius: 11px; }
  .world-bowl .world-cta svg { width: 20px; height: 20px; flex-basis: 20px; }
  .world-bowl .bowl-world { position: relative; inset: auto; height: 252px; margin-top: 19px; }
  .world-bowl .bowl-scene { display: none; }
  .world-bowl .phone-scene { display: block; top: 0; height: 249px; width: 67%; border-radius: 50% 55% 35% 30%; }
  .world-bowl .bowl-mermaid { left: -11%; object-position: 90% 30%; -webkit-mask-image: radial-gradient(ellipse at 52% 54%, #000 55%, transparent 75%); mask-image: radial-gradient(ellipse at 52% 54%, #000 55%, transparent 75%); }
  .world-bowl .bowl-elephant { top: 18px; right: -11%; height: 234px; object-position: 48% 50%; -webkit-mask-image: radial-gradient(ellipse at 49% 54%, #000 55%, transparent 75%); mask-image: radial-gradient(ellipse at 49% 54%, #000 55%, transparent 75%); }
}
@media (max-width: 350px) {
  .world-bowl .world-copy { margin-right: 17px; margin-left: 17px; padding-top: 26px; }
  .world-bowl .world-label { font-size: 9px; letter-spacing: .8px; }
  body.homepage .world-bowl #home-title { font-size: 38px; letter-spacing: -.035em; }
  .world-bowl .world-cta { font-size: 12px; padding-right: 10px; padding-left: 10px; gap: 8px; }
  .world-bowl .bowl-world { height: 225px; }
  .world-bowl .phone-scene { height: 223px; }
  .world-bowl .bowl-elephant { height: 210px; }
}

@media(max-width:700px){.world-bowl .world-cta{font-size:14px;line-height:1.45}}

/* W1 organic composition for the current stage offers. Original scene pixels are unchanged. */
/* Original illustration collages for a local hero comparison; loaded after incumbent site styles. */
body .collage-hero{position:relative;isolation:isolate;overflow:hidden;min-height:650px;display:grid;align-items:center;background:radial-gradient(ellipse at 50% 100%,var(--glow),transparent 68%),radial-gradient(ellipse at 0% 45%,var(--secondary,var(--base)),transparent 50%),var(--base);color:var(--art-ink);padding:94px 0 100px;margin-bottom:48px}
body .collage-copy{position:relative;z-index:2;width:50%;max-width:720px;margin:0 auto;text-align:center}
body .collage-label{font-size:11px;line-height:1.7;font-weight:550;letter-spacing:.09em;color:var(--art-ink);margin:0 0 24px}
body .collage-hero h1{font-family:Lexend,sans-serif;font-size:clamp(40px,4.05vw,66px);font-weight:750;line-height:1.13;letter-spacing:-.035em;color:var(--art-ink);max-width:13ch;margin:0 auto 26px;text-wrap:balance}
body .collage-description{font-size:clamp(16px,1.25vw,19px);line-height:1.7;max-width:47ch;margin:0 auto 29px;color:var(--art-ink)}
body .collage-cta{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:54px;background:var(--art-accent);color:#fff;border-radius:8px;padding:15px 22px;text-decoration:none;font-size:16px;line-height:1.4;font-weight:550;max-width:100%;transition:filter .15s ease}
.collage-cta svg{width:19px;height:19px;flex:none}.collage-cta:hover{filter:brightness(.9)}.collage-cta:focus-visible{outline:3px solid var(--art-ink);outline-offset:5px}
.collage-art{position:absolute;inset:0;pointer-events:none;z-index:1}.collage-scene{position:absolute;width:25%;margin:0;overflow:hidden;aspect-ratio:1.15;transform:rotate(var(--tilt,0deg))}.collage-scene img{width:100%;height:100%;object-fit:cover;object-position:var(--position);display:block}
.collage-scene.tl{left:-2.5%;top:3%;--tilt:-7deg}.collage-scene.bl{left:-1.7%;bottom:3%;--tilt:5deg}.collage-scene.tr{right:-2.5%;top:2%;--tilt:6deg}.collage-scene.br{right:-1.5%;bottom:2%;--tilt:-5deg}.collage-scene.mr{right:-6%;top:37%;width:21%;--tilt:2deg}
.collage-hero[data-kind="open"] .collage-scene{clip-path:url(#story-organic);aspect-ratio:1.07}
.collage-hero[data-kind="open"] .collage-scene:nth-child(even){clip-path:url(#story-organic-alt)}
.collage-hero[data-kind="windows"] .collage-scene{border-radius:45% 45% 14% 14%;width:21.5%;aspect-ratio:.95;box-shadow:0 12px 24px #24184D12}
.collage-hero[data-kind="windows"] .collage-scene.tl{left:1.5%;top:5%;--tilt:-5deg}.collage-hero[data-kind="windows"] .collage-scene.bl{left:3%;bottom:3%;--tilt:4deg}.collage-hero[data-kind="windows"] .collage-scene.tr{right:1%;top:4%;--tilt:5deg}.collage-hero[data-kind="windows"] .collage-scene.br{right:3%;bottom:2%;--tilt:-4deg}
.collage-hero[data-concept="N2"] .tr{width:25%;aspect-ratio:1.6;top:8%}

body .selected-stage-hero{--base:#FBE5DC;--glow:#F0E3F2;--art-accent:#6940B5;--art-ink:#422E61;min-height:840px;padding:64px 0;margin:0}
body .kindergarten-art{--base:#E0F0E5;--glow:#E8E5F3;--secondary:#E0F0E5;--art-ink:#2F2347;--art-accent:#6634BB}
body .grades-1-2-art{--base:#DFEBFA;--glow:#E7E3F4;--secondary:#DFEBFA;--art-ink:#2C2345;--art-accent:#6331B5}
body .selected-stage-hero h1{font-size:clamp(40px,3.75vw,56px);max-width:20ch}
body .pre-k-art h1{max-width:17ch}
body .selected-stage-hero .collage-description{font-size:18px;max-width:49ch}
body .selected-stage-hero .collage-cta{border:0;font-family:Lexend,sans-serif;cursor:pointer;font-weight:600}
body .selected-stage-hero .collage-note{font-size:13px;line-height:1.6;color:var(--art-ink);max-width:53ch;margin:18px auto 0}
body .selected-stage-hero .collage-included{font-size:15px;line-height:1.6;color:var(--art-ink);margin:18px auto 0;max-width:43ch}
body .selected-stage-hero .collage-next{font-size:15px;line-height:1.6;margin:0 auto 22px;max-width:45ch;color:var(--art-ink)}
.selected-real-proof{display:grid;grid-template-columns:1fr 240px;align-items:center;gap:60px;max-width:940px;margin:0 auto 36px}
.selected-real-proof .guidance-art{width:100%;max-width:240px;margin:0}
.selected-real-proof .guidance-art img{width:145px;height:auto;margin:auto}
.selected-real-proof .guidance-art figcaption{font-size:12px}
.selected-real-details .guidance-joining{max-width:940px;margin-left:auto;margin-right:auto}
@media(min-width:1800px){body .selected-stage-hero{min-height:820px}.selected-stage-hero .collage-scene{max-width:490px}}
@media(min-width:761px) and (max-width:1100px){body .selected-stage-hero{padding:52px 0;min-height:850px}body .selected-stage-hero .collage-copy{width:54%}body .selected-stage-hero h1{font-size:40px}body .selected-stage-hero .collage-description{font-size:16px}.selected-stage-hero .collage-scene{width:25%}}
@media(max-width:760px){
 body .selected-stage-hero{display:flex;flex-direction:column;justify-content:center;min-height:840px;padding:34px 0 28px;margin:0;gap:27px}
 body .selected-stage-hero .collage-copy{width:calc(100% - 40px);max-width:490px}
 body .selected-stage-hero .collage-label{font-size:10px;letter-spacing:.06em;margin-bottom:18px}
 body .selected-stage-hero h1{font-size:clamp(32px,8.7vw,44px);line-height:1.15;margin-bottom:20px;max-width:20ch}
 body .selected-stage-hero .collage-description{font-size:16px;line-height:1.65;margin-bottom:23px}
 body .selected-stage-hero .collage-cta{font-size:15px;gap:10px;padding:15px 14px;min-height:56px;width:100%;max-width:360px}
 .selected-stage-hero .collage-art{position:relative;inset:auto;display:flex;justify-content:center;gap:18px;width:100%;height:140px}
 .selected-stage-hero .collage-scene{display:none;position:relative;inset:auto;width:155px;height:135px;aspect-ratio:auto;transform:rotate(-4deg)}
 .selected-stage-hero .collage-scene[data-mobile="true"]{display:block}
 .selected-stage-hero .collage-scene[data-mobile="true"]:nth-child(even){transform:rotate(4deg)}
 body .selected-stage-hero .collage-note{font-size:12px}
 .selected-real-proof{grid-template-columns:1fr;gap:24px}.selected-real-proof .guidance-art{margin:auto}
}
@media(max-width:350px){.selected-stage-hero .collage-scene{width:130px;height:118px}.selected-stage-hero .collage-art{height:122px}body .selected-stage-hero .collage-copy{width:calc(100% - 34px)}}
@media(prefers-reduced-motion:reduce){body .selected-stage-hero .collage-cta{transition:none}}

/* Equal visible stage-art footprints and the homepage's high-contrast ink. */
body .selected-stage-hero{--art-ink:#241331}
body .selected-stage-hero h1{font-weight:780}
body .selected-stage-hero[data-kind="open"] .collage-scene:nth-child(n){clip-path:url(#story-organic)}
@media(min-width:761px){
 body .selected-stage-hero .collage-scene{width:min(24vw,460px);max-width:none;aspect-ratio:1.07}
 body .selected-stage-hero .collage-scene.tl{left:0;top:3%;--tilt:-4deg}
 body .selected-stage-hero .collage-scene.tr{right:0;top:3%;--tilt:4deg}
 body .selected-stage-hero .collage-scene.bl{left:0;bottom:3%;--tilt:4deg}
 body .selected-stage-hero .collage-scene.br{right:0;bottom:3%;--tilt:-4deg}
}

/* Mirror the nonfiction photos left/right; three illustrations separate them along the bowl.
   Keep the central sheep-and-people scene visible for Mike's selected diversity artwork. */
.world-bowl .bowl-bear,.world-bowl .bowl-parasol{z-index:2}
.world-bowl .bowl-goat{z-index:3}

/* The phone hero pairs the orange artist with one nonfiction animal photo. */
@media(max-width:600px){
 .world-bowl .bowl-bear{top:18px;left:auto;right:-11%;width:67%;height:234px;object-position:50% 42%;-webkit-mask-image:radial-gradient(ellipse at 49% 54%,#000 55%,transparent 75%);mask-image:radial-gradient(ellipse at 49% 54%,#000 55%,transparent 75%)}
}
@media(max-width:350px){.world-bowl .bowl-bear{height:209px}}

/* Pre-K's short coming-soon message needs less space than an active offer. */
body .selected-stage-hero.pre-k-art{min-height:620px;padding:40px 0}
@media(min-width:761px){body .pre-k-art .collage-scene{width:min(24vw,290px)}}
@media(max-width:760px){body .selected-stage-hero.pre-k-art{min-height:0;padding:28px 0 20px;gap:20px}}
