@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/font-3.ttf) format('truetype');
}


:root{--blue:#194ca0;--blue-dark:#163364;--red:#d53336;--yellow:#ffd040;--cream:#fffdf6;--ink:#203653;--muted:#536078;--line:#dce1e5;--heading:'DM Sans','Trebuchet MS',sans-serif;--body:'DM Sans','Trebuchet MS',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--heading);line-height:1.12;letter-spacing:-.025em;font-weight:600}h2{font-size:clamp(2.15rem,3.25vw,3rem)}h3{font-size:1.4rem}p{color:var(--muted)}.wrap{max-width:1260px;width:calc(100% - 100px);margin-inline:auto}.section{padding-block:76px}.eyebrow{font-size:.82rem;line-height:1.5;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--blue);margin-bottom:15px}.star{display:inline-block;clip-path:polygon(50% 0,64% 33%,100% 38%,73% 64%,81% 100%,50% 82%,19% 100%,27% 64%,0 38%,36% 33%);background:var(--yellow);flex-shrink:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:19px;min-height:52px;padding:13px 22px;border:2px solid transparent;border-radius:12px;font-size:.96rem;font-weight:700;line-height:1.45;transition:transform .2s,box-shadow .2s,background .2s}.button:hover{transform:translateY(-3px);box-shadow:0 5px 0 rgba(22,51,100,.14)}.button span{font-size:1.25rem;line-height:1}.button-blue{background:var(--blue);color:white}.button-red{background:var(--red);color:white}.button-yellow{background:var(--yellow);color:var(--blue-dark)}.button-small{min-height:46px;padding:10px 16px;font-size:.88rem}.button-outline{border-color:var(--blue);color:var(--blue);background:transparent;white-space:nowrap}.text-link{font-weight:700;color:var(--blue);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;display:inline-block}.text-link:hover{color:var(--red)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.skip-link{position:fixed;z-index:100;top:-100px;left:20px;background:white;padding:12px}.skip-link:focus{top:10px}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,253,246,.98);border-bottom:1px solid rgba(25,76,160,.1)}.header-inner{min-height:95px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0;color:var(--blue)}.brand-star{width:49px;height:49px;transform:rotate(-13deg)}.brand-words{display:flex;flex-direction:column;align-items:center}.brand-words>span{font-family:var(--heading);font-weight:600;font-size:1.85rem;letter-spacing:-.04em;line-height:1.05}.brand-words small{color:var(--red);font-weight:700;font-size:.7rem;line-height:1.9;letter-spacing:.32em;padding-left:.32em}.main-nav{display:flex;align-items:center;gap:27px}.main-nav>a{font-size:.9rem;font-weight:600;white-space:nowrap}.main-nav>a:hover{color:var(--red)}.menu-toggle{display:none}
.hero{min-height:587px;display:grid;grid-template-columns:1.02fr 1fr;gap:36px;align-items:center;padding-block:62px 68px}.hero-copy{position:relative;z-index:2;min-width:0}.hero .eyebrow{display:flex;align-items:center;gap:10px;color:var(--red)}.tiny-star{width:17px;height:17px;background:var(--red);transform:rotate(12deg)}h1{font-size:clamp(3.2rem,5.1vw,4.5rem);color:var(--blue);line-height:1.07;letter-spacing:-.035em}h1>span{color:var(--red)}.hero-description{max-width:470px;font-size:1.08rem;line-height:1.7;margin-top:24px}.hero-actions{display:flex;gap:23px;align-items:center;flex-wrap:wrap;margin-top:27px}.hero-actions .text-link{font-size:.92rem}.hero-note{font-size:.8rem;margin-top:23px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.hero-note span{color:var(--red);font-weight:bold}.hero-visual{position:relative;padding:21px 12px 21px 11px;min-width:0}.photo-frame{position:relative;transform:rotate(2deg);aspect-ratio:1.19;border-radius:80px 30px 95px 30px;background:#ffdb6b;border:9px solid white;box-shadow:10px 13px 0 var(--yellow);overflow:hidden}.photo-frame img{height:100%;object-fit:cover}.hero-star{position:absolute;width:98px;height:98px;z-index:3;top:-9px;left:-23px;transform:rotate(-12deg);background:var(--yellow)}.photo-sticker{position:absolute;z-index:4;bottom:3px;left:-20px;background:var(--blue);color:white;border:5px solid var(--cream);padding:15px 26px 16px 60px;border-radius:15px;transform:rotate(-6deg);font-family:var(--heading);font-size:1.24rem;font-weight:500;line-height:1.25;box-shadow:0 4px 12px #16336415}.photo-sticker .star{position:absolute;width:28px;height:28px;left:18px;top:30px;transform:rotate(11deg)}.red-star{position:absolute;width:52px;height:52px;right:-7px;bottom:36px;background:var(--red);transform:rotate(20deg);animation-delay:1.6s!important}.photo-dots{font-size:3rem;font-weight:bold;letter-spacing:6px;position:absolute;right:3px;top:-39px;color:var(--blue);transform:rotate(13deg)}
.values-ribbon{background:var(--yellow);border-block:1px solid #efc039}.ribbon-inner{min-height:73px;display:flex;justify-content:space-between;align-items:center;gap:21px}.ribbon-inner>span{font-family:var(--heading);font-size:1.24rem;font-weight:500;color:var(--blue-dark)}.ribbon-inner .star{width:21px;height:21px;background:var(--red);transform:rotate(12deg)}.ribbon-inner .star:nth-of-type(2){background:var(--blue)}
.approach{display:grid;grid-template-columns:1fr 1.05fr;gap:80px}.section-intro>p:not(.eyebrow){max-width:425px;margin-top:21px}.section-intro>.text-link{margin-top:23px}.approach-features{display:grid;gap:27px}.approach-features article{display:flex;gap:20px;align-items:flex-start}.feature-mark{width:58px;height:58px;border-radius:16px;display:flex;justify-content:center;align-items:center;flex-shrink:0;transform:rotate(-5deg)}.feature-mark .star{width:27px;height:27px;background:var(--blue)}.feature-mark.yellow{background:#fff0b6}.feature-mark.red{background:#ffebe5;transform:rotate(5deg)}.feature-mark.red .star{background:var(--red)}.feature-mark.blue{background:#e5edff}.approach-features h3{font-size:1.34rem;margin-bottom:8px}.approach-features p{font-size:.95rem;line-height:1.65}
.programs-section{background:#edf3fc}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:30px}.section-heading>p{max-width:320px;font-size:.97rem;padding-bottom:3px}.program-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.program-card{border-radius:24px;padding:29px 35px 0;position:relative;overflow:hidden;background:white;border:2px solid var(--blue)}.program-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.age-label{font-size:.76rem;font-weight:700;letter-spacing:.11em;padding:5px 11px;border-radius:6px;background:#e9f0ff;color:var(--blue)}.program-star{width:48px;height:48px;background:var(--yellow);transform:rotate(12deg)}.program-card h3{font-size:2.5rem;color:var(--blue)}.program-kind{font-weight:700;color:var(--blue);margin-block:7px 17px}.program-card>p:not(.program-kind){max-width:435px;font-size:.98rem}.program-card ul{list-style:none;padding:0;margin:23px 0 28px;display:grid;gap:8px;font-size:.94rem}.program-card li{position:relative;padding-left:25px}.program-card li:before{content:'✓';position:absolute;left:0;color:var(--blue);font-weight:700}.program-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #dbe2ef;margin-top:15px;padding:19px 0;color:var(--blue);font-weight:700;font-size:.92rem}.program-link span{font-size:1.5rem}.program-link:hover{text-decoration:underline;text-underline-offset:5px}.prek-card{border-color:var(--red);background:#fffdf8}.prek-card h3,.prek-card .program-kind,.prek-card .program-link,.prek-card li:before{color:var(--red)}.prek-card .age-label{background:#ffe6df;color:#aa272a}.prek-card .program-star{background:var(--red);transform:rotate(-12deg)}.prek-card .program-link{border-color:#efd8d1}
.day-heading{display:flex;justify-content:space-between;align-items:center;gap:50px;margin-bottom:37px}.day-heading>p{max-width:430px}.day-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.day-timeline article{position:relative}.day-timeline article:not(:last-child):after{position:absolute;content:'';height:0;top:24px;left:66px;right:0;border-top:2px dashed #bfcbe0}.day-number{display:flex;width:48px;height:48px;align-items:center;justify-content:center;background:var(--yellow);color:var(--blue);font-family:var(--heading);font-size:1.3rem;font-weight:600;border-radius:50%;margin-bottom:20px}.day-timeline article:nth-child(2) .day-number{background:var(--blue);color:white}.day-timeline article:nth-child(3) .day-number{background:var(--red);color:white}.day-timeline h3{font-size:1.4rem;margin-bottom:11px}.day-timeline p{font-size:.94rem;line-height:1.65;max-width:235px}.day-label{font-size:.73rem;letter-spacing:.09em;font-weight:700;display:block;margin-top:19px;color:var(--blue)}.day-footnote{font-size:.8rem;margin-top:29px}
.families-section{background:#fff2c9}.family-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.family-intro{position:relative}.family-intro .eyebrow{color:#936800}.family-intro>p:not(.eyebrow){margin-block:20px 23px;max-width:390px}.family-star{position:absolute;right:4px;top:0;width:47px;height:47px;background:var(--red);transform:rotate(18deg)}.faq-list details{border-bottom:1px solid #d9cda9}.faq-list details:first-child{border-top:1px solid #d9cda9}.faq-list summary{padding:22px 35px 22px 0;cursor:pointer;list-style:none;position:relative;font-weight:700;font-size:1rem;line-height:1.5}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{position:absolute;right:3px;top:31px;width:16px;height:2px;background:var(--blue)}.faq-list summary>span:after{content:'';position:absolute;left:7px;top:-7px;width:2px;height:16px;background:var(--blue);transition:transform .2s}.faq-list details[open] summary>span:after{transform:rotate(90deg)}.faq-list details>p{padding:0 27px 23px 0;font-size:.95rem;line-height:1.7}
.closing{margin-top:59px;margin-bottom:56px;background:var(--blue);padding:38px 40px;border-radius:25px;display:flex;gap:28px;align-items:center;position:relative;overflow:hidden}.closing-star{width:75px;height:75px;transform:rotate(-12deg)}.closing .eyebrow{color:#ffdb6b;font-size:.75rem;margin-bottom:8px}.closing h2{font-size:2.25rem;color:white}.closing .button{margin-left:auto;white-space:nowrap;flex-shrink:0}.gateway-callout{display:flex;align-items:center;justify-content:space-between;gap:55px;padding-block:0 52px}.gateway-callout .eyebrow{font-size:.75rem;margin-bottom:7px;color:#5d7682}.gateway-callout h2{font-family:var(--body);font-size:1.45rem;letter-spacing:-.025em;line-height:1.3;font-weight:700;margin-bottom:11px}.gateway-callout p:not(.eyebrow){font-size:.9rem;max-width:700px}.gateway-callout p a{color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:3px}.gateway-callout .button{min-width:165px;font-size:.9rem}.site-footer{border-top:1px solid var(--line);background:white;padding:28px 0}.footer-inner{display:flex;align-items:center;gap:32px;justify-content:space-between}.site-footer .brand-star{width:36px;height:36px}.site-footer .brand-words>span{font-size:1.4rem}.site-footer .brand-words small{font-size:.6rem}.footer-credit{text-align:center}.footer-credit p{font-size:.84rem;color:var(--ink)}.footer-credit a{color:var(--blue);font-weight:700}.footer-credit a:hover{text-decoration:underline}.footer-credit small{display:block;font-size:.75rem;color:var(--muted);margin-top:5px}.back-top{font-size:.8rem;white-space:nowrap;font-weight:700;color:var(--blue)}
dialog{max-width:535px;width:calc(100% - 36px);border:0;border-radius:25px;padding:39px;color:var(--ink);background:var(--cream);box-shadow:0 18px 90px #14233d55;max-height:85vh;overflow:auto}dialog::backdrop{background:#10274988;backdrop-filter:blur(3px)}.dialog-close{position:absolute;right:16px;top:12px;width:40px;height:40px;border:0;background:transparent;color:var(--blue);font-size:2rem}.dialog-star{width:48px;height:48px;margin-bottom:18px;transform:rotate(-12deg)}dialog h2{font-size:2.15rem}dialog p:not(.eyebrow){margin-top:19px;font-size:.96rem}dialog .button{margin-top:25px}body.dialog-open{overflow:hidden}

@media(min-width:1400px){.hero{gap:53px;min-height:630px}.photo-frame{aspect-ratio:1.22}.hero-description{max-width:480px}}
@media(max-width:1150px){.wrap{width:calc(100% - 60px)}.main-nav{gap:17px}.main-nav>a{font-size:.83rem}.brand-words>span{font-size:1.6rem}.brand-star{width:43px;height:43px}.hero{gap:27px;min-height:550px;padding-block:45px 58px}h1{font-size:clamp(3.2rem,5.3vw,4rem)}.hero-actions{gap:18px}.hero-actions .button{padding:12px 16px;font-size:.9rem}.photo-sticker{font-size:1.07rem;left:-11px;padding-right:19px}.ribbon-inner>span{font-size:1.05rem}.ribbon-inner{gap:13px}.approach{gap:45px}.family-grid{gap:55px}.family-star{width:34px;height:34px;right:-8px}.closing{padding:32px 30px;gap:24px}.closing h2{font-size:1.9rem}.closing-star{width:56px;height:56px}}
@media(max-width:950px){.header-inner{min-height:85px}.main-nav{gap:20px}.hero{gap:20px;min-height:auto;padding-block:55px}.hero-description{font-size:1rem}.hero-note{font-size:.75rem;gap:7px}.hero-star{width:75px;height:75px;left:-13px}.photo-frame{aspect-ratio:1.22;border-radius:55px 25px 70px 25px}.photo-sticker{bottom:-4px}.hero-visual{padding-left:9px}.ribbon-inner{min-height:70px}.ribbon-inner>span{font-size:.96rem}.ribbon-inner .star{width:15px;height:15px}.section{padding-block:62px}.approach{grid-template-columns:.95fr 1.05fr;gap:35px}.approach-features article{gap:15px}.feature-mark{width:43px;height:43px;border-radius:12px}.feature-mark .star{width:22px;height:22px}.section-heading{align-items:start;gap:25px}.section-heading>p{max-width:245px;font-size:.9rem}.program-card{padding:24px 25px 0}.program-card h3{font-size:2.15rem}.day-heading>p{max-width:350px}.day-timeline{gap:18px}.day-timeline h3{font-size:1.25rem}.family-grid{gap:37px;grid-template-columns:.85fr 1.15fr}.family-star{display:none}.closing-star{display:none}.closing .eyebrow{font-size:.65rem}.closing h2{font-size:1.8rem}.footer-inner{flex-wrap:wrap;gap:20px}.footer-credit{text-align:right;flex:1}.back-top{display:none}}
@media(max-width:700px){html{scroll-padding-top:87px}.wrap{width:calc(100% - 40px)}.site-header{background:var(--cream)}.header-inner{min-height:78px;gap:15px}.brand-star{width:41px;height:41px}.brand-words>span{font-size:1.65rem}.brand-words small{font-size:.63rem}.menu-toggle{display:flex;flex-direction:column;gap:6px;background:transparent;border:1px solid #d4deed;width:44px;height:44px;border-radius:10px;justify-content:center;align-items:center}.menu-toggle>span{width:20px;height:2px;background:var(--blue);transition:transform .2s}.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:last-child{transform:translateY(-4px) rotate(-45deg)}.main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--cream);padding:14px 24px 24px;border-bottom:2px solid var(--yellow);box-shadow:0 8px 12px #1633640c}.main-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:3px}.main-nav>a,.main-nav>a:nth-child(1),.main-nav>a:nth-child(3){display:block;padding:10px 0;font-size:1rem}.main-nav .button{margin-top:10px}.hero{grid-template-columns:1fr;padding-top:33px;padding-bottom:40px;gap:27px}.hero .eyebrow{font-size:.74rem;margin-bottom:14px}h1{font-size:clamp(2.7rem,9.1vw,3.8rem);letter-spacing:-.035em;line-height:1.08}.hero-description{margin-top:18px;font-size:1rem;max-width:540px}.hero-actions{margin-top:21px;gap:20px}.hero-actions .button{padding:13px 17px;font-size:.9rem}.hero-actions .text-link{font-size:.89rem}.hero-note{margin-top:18px;font-size:.76rem}.hero-visual{max-width:510px;width:100%;margin:0 auto;padding:16px 13px 19px}.photo-frame{aspect-ratio:1.37;border-radius:55px 23px 66px 23px;border-width:6px;box-shadow:7px 9px 0 var(--yellow);transform:rotate(1deg)}.hero-star{width:66px;height:66px;left:0;top:0}.red-star{width:42px;height:42px;right:0;bottom:26px}.photo-sticker{left:0;bottom:0;font-size:1rem;padding:12px 20px 12px 49px;border-width:4px}.photo-sticker .star{width:24px;height:24px;left:13px;top:23px}.photo-dots{font-size:2.3rem;right:6px;top:-27px}.ribbon-inner{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;padding-block:18px;min-height:0}.ribbon-inner>span{font-size:1rem;line-height:1.45;text-align:center}.ribbon-inner .star{display:none}.section{padding-block:47px}h2{font-size:2.2rem}.eyebrow{font-size:.72rem;margin-bottom:12px}.approach{grid-template-columns:1fr;gap:32px}.section-intro>p:not(.eyebrow){margin-top:16px;max-width:550px}.section-intro>.text-link{margin-top:16px;font-size:.95rem}.approach-features{gap:23px}.feature-mark{width:47px;height:47px}.approach-features h3{font-size:1.3rem}.approach-features p{font-size:.94rem}.section-heading{display:block;margin-bottom:24px}.section-heading>p{max-width:540px;font-size:.95rem;margin-top:16px}.program-grid{grid-template-columns:1fr;gap:20px}.program-card{padding:22px 24px 0;border-radius:20px}.program-top{margin-bottom:3px}.program-star{width:42px;height:42px}.program-card h3{font-size:2.35rem}.program-kind{margin-top:7px;margin-bottom:13px}.program-card ul{margin-block:20px 24px}.program-card>p:not(.program-kind){max-width:none}.day-heading{display:block;margin-bottom:27px}.day-heading h2 br{display:none}.day-heading>p{max-width:550px;margin-top:18px}.day-timeline{grid-template-columns:1fr 1fr;gap:29px 24px}.day-timeline article:nth-child(2):after{display:none}.day-timeline h3{font-size:1.35rem}.day-timeline p{font-size:.92rem;max-width:none}.day-number{margin-bottom:14px}.day-label{font-size:.7rem;margin-top:13px}.day-footnote{font-size:.76rem;margin-top:26px}.family-grid{grid-template-columns:1fr;gap:28px}.family-intro>p:not(.eyebrow){max-width:none;margin-block:17px 20px}.family-star{display:block;right:7px;top:32px;width:54px;height:54px}.faq-list summary{font-size:.97rem;padding-block:20px}.faq-list details>p{padding-right:5px;font-size:.94rem}.closing{display:block;margin-top:38px;margin-bottom:35px;padding:27px 25px;border-radius:21px}.closing .eyebrow{font-size:.65rem}.closing h2{font-size:2rem;max-width:350px}.closing .button{margin-top:22px}.closing-star{display:block;position:absolute;right:-15px;bottom:-22px;width:105px;height:105px;opacity:.14}.gateway-callout{display:block;padding-bottom:34px}.gateway-callout h2{font-size:1.35rem}.gateway-callout .eyebrow{font-size:.66rem}.gateway-callout .button{margin-top:21px;min-width:0;padding:10px 17px;min-height:46px}.footer-inner{flex-direction:column;align-items:flex-start;gap:21px}.footer-credit{text-align:left}.footer-credit p{font-size:.83rem}.footer-credit small{font-size:.75rem;max-width:370px}.site-footer{padding:25px 0}dialog{padding:29px 25px}dialog h2{font-size:1.85rem}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}h1{font-size:2.65rem}.hero-actions{gap:16px}.ribbon-inner>span{font-size:.88rem}.day-timeline{gap:25px 18px}.day-timeline h3{font-size:1.22rem}.brand-words>span{font-size:1.5rem}.family-star{width:40px;height:40px;right:0;top:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Readable type at every breakpoint. */
.eyebrow,.main-nav>a,.day-label,.age-label{font-size:.875rem}
.approach-features p,.section-heading>p,.program-card>p,.program-card ul,.day-timeline p,.faq-list details>p,dialog p:not(.eyebrow){font-size:1rem}
.gateway-callout .eyebrow,.closing .eyebrow{font-size:.8rem}
.hero-note,.day-footnote,.footer-credit small{font-size:.8rem}
.brand-words small,.site-footer .brand-words small{font-size:.75rem;letter-spacing:.2em}
.hero .eyebrow,.family-intro .eyebrow{font-size:.875rem}

/* Separate pages share the same Bright Stars identity. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.main-nav{gap:20px}
.main-nav>a[aria-current="page"]{color:var(--blue);text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:4px;text-underline-offset:8px}
.home-overview .section-heading{margin-bottom:28px}
.page-links-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px}
.page-link-card{display:flex;flex-direction:column;align-items:flex-start;padding:24px 22px 21px;border:1px solid #d5dfef;border-radius:20px;background:white;transition:transform .2s,border-color .2s,box-shadow .2s}
.page-link-card:hover{transform:translateY(-4px);border-color:var(--blue);box-shadow:0 6px 0 #194ca014}
.page-link-card>.star{width:29px;height:29px;margin-bottom:18px;transform:rotate(-10deg)}
.page-link-card:nth-child(2)>.star{background:var(--red);transform:rotate(12deg)}
.page-link-card:nth-child(3)>.star{background:var(--blue)}
.page-link-card h3{font-size:1.5rem;color:var(--blue);margin-bottom:12px}
.page-link-card p{font-size:1rem;line-height:1.65;margin-bottom:22px}
.card-cta{font-size:.875rem;font-weight:700;color:var(--blue);margin-top:auto;display:flex;gap:12px;justify-content:space-between;align-items:center;width:100%;line-height:1.5}
.card-cta>span{font-size:1.2rem}
.page-home .closing{margin-top:0}
.subpage-intro{padding-block:25px 47px}
.breadcrumbs{display:flex;gap:11px;align-items:center;flex-wrap:wrap;font-size:.875rem;margin-bottom:29px;color:var(--muted)}
.breadcrumbs a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.breadcrumbs>span[aria-hidden]{color:#8492a8}
.subpage-heading{display:grid;grid-template-columns:minmax(0,1fr) 200px;align-items:center;gap:40px}
.subpage-heading h1{font-size:clamp(2.85rem,4.8vw,4.1rem);line-height:1.12}
.subpage-description{font-size:1.08rem;max-width:730px;margin-top:21px;line-height:1.75}
.subpage-stars{position:relative;height:170px}
.subpage-stars .star:nth-child(1){position:absolute;width:120px;height:120px;left:10px;top:10px;transform:rotate(-12deg)}
.subpage-stars .star:nth-child(2){position:absolute;background:var(--red);width:62px;height:62px;right:0;top:0;transform:rotate(15deg)}
.subpage-stars .star:nth-child(3){position:absolute;background:var(--blue);width:47px;height:47px;right:4px;bottom:0;transform:rotate(7deg)}
.approach-page-content{padding-top:24px;padding-bottom:30px;align-items:start;gap:65px}
.approach-photo img{border-radius:28px 65px 28px 65px;aspect-ratio:1.32;object-fit:cover;border:6px solid white;box-shadow:7px 8px 0 var(--yellow)}
.approach-photo .text-link{margin-top:27px;font-size:1rem}
.page-approach .approach-features{gap:28px;padding-top:4px}
.page-programs .programs-section{padding-block:47px}
.day-page-content{padding-top:18px;padding-bottom:20px}
.day-family-link{margin-top:22px;font-size:1rem}
.page-families .families-section{padding-block:47px}
body:not(.page-home) .closing{margin-top:39px;margin-bottom:42px}
@media(max-width:1100px){.page-links-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-link-card{padding:23px}.page-link-card>.star{margin-bottom:13px}.page-link-card p{margin-bottom:18px}.subpage-heading{grid-template-columns:minmax(0,1fr) 145px;gap:24px}.subpage-stars{height:140px}.subpage-stars .star:nth-child(1){width:92px;height:92px;left:0;top:17px}.subpage-stars .star:nth-child(2){width:45px;height:45px}.subpage-stars .star:nth-child(3){width:36px;height:36px}.approach-page-content{gap:35px}}
@media(max-width:1050px){
  .header-inner{min-height:82px}.menu-toggle{display:flex;flex-shrink:0;flex-direction:column;gap:6px;background:transparent;border:1px solid #d4deed;width:44px;height:44px;border-radius:10px;justify-content:center;align-items:center}
  .menu-toggle>span{width:20px;height:2px;background:var(--blue);transition:transform .2s}
  .menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(4px) rotate(45deg)}
  .menu-toggle[aria-expanded=true]>span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--cream);padding:14px 30px 24px;border-bottom:2px solid var(--yellow);box-shadow:0 8px 12px #1633640c;max-height:calc(100dvh - 82px);overflow-y:auto}
  .main-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:3px}
  .main-nav>a,.main-nav>a:nth-child(1),.main-nav>a:nth-child(3){display:block;padding:10px 0;font-size:1rem}
  .main-nav .button{margin-top:10px}.main-nav>a[aria-current="page"]{text-underline-offset:5px}
}
@media(max-width:700px){
  .header-inner{min-height:78px}.main-nav{padding-inline:24px;max-height:calc(100dvh - 78px)}
  .subpage-intro{padding-top:22px;padding-bottom:33px}.breadcrumbs{margin-bottom:23px;font-size:.875rem}
  .subpage-heading{display:block}.subpage-heading h1{font-size:clamp(2.6rem,8.2vw,3.6rem)}.subpage-stars{display:none}
  .subpage-description{margin-top:18px;font-size:1rem}.subpage-heading .eyebrow{font-size:.875rem}
  .approach-page-content{padding-top:8px;padding-bottom:16px;gap:34px}.approach-photo{max-width:520px;margin-inline:auto;width:100%}
  .approach-photo img{aspect-ratio:1.4}.approach-photo .text-link{margin-top:22px}.page-approach .approach-features{gap:24px}
  .page-programs .programs-section,.page-families .families-section{padding-block:33px}
  .day-page-content{padding-top:6px;padding-bottom:4px}.day-family-link{font-size:.95rem}
  body:not(.page-home) .closing{margin-top:33px;margin-bottom:33px}
}
@media(max-width:520px){.page-links-grid{grid-template-columns:1fr;gap:15px}.page-link-card{position:relative;padding:23px 22px 21px 67px}.page-link-card>.star{position:absolute;left:21px;top:24px;width:27px;height:27px}.page-link-card h3{font-size:1.45rem;margin-bottom:9px}.page-link-card p{margin-bottom:15px}.home-overview .section-heading{margin-bottom:23px}}

/* Clearer, more understated lettering, with the color and stars doing the playing. */
h1,h2,h3,.brand-words>span{font-weight:700}
.brand-words>span{letter-spacing:-.045em;line-height:1.12}
.hero h1{font-size:clamp(2.6rem,4.6vw,4.1rem);letter-spacing:-.045em;line-height:1.1}
.ribbon-inner>span,.photo-sticker{font-weight:600}
.subpage-heading h1{letter-spacing:-.045em}
@media(max-width:700px){.hero h1{font-size:clamp(2.1rem,10vw,3.7rem)}}

/* Decorative stars never take focus, block clicks, or create page overflow. */
.falling-stars{position:fixed;inset:0;z-index:19;overflow:hidden;pointer-events:none;user-select:none;contain:strict}
.falling-star{position:absolute;left:var(--star-x);top:-45px;width:var(--star-size);height:var(--star-size);background:var(--star-color);opacity:0;pointer-events:none;animation:star-fall var(--star-duration) linear var(--star-delay) both}
@keyframes star-fall{
  0%{transform:translate3d(0,-20px,0) rotate(var(--star-start-turn));opacity:0}
  12%{opacity:.85}
  74%{opacity:.75}
  100%{transform:translate3d(var(--star-drift),var(--star-fall),0) rotate(var(--star-end-turn));opacity:0}
}
@media(prefers-reduced-motion:reduce){.falling-stars{display:none}}

/* Clear navigation and a stronger invitation to visit Gateway. */
.main-nav>a{text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.main-nav .button,.family-intro [data-visit]{letter-spacing:.035em}
.gateway-callout>.button{min-width:220px;min-height:62px;padding:16px 26px;background:var(--blue);color:#fff;border:3px solid var(--yellow);box-shadow:0 5px 0 #123b7c;font-size:1rem;font-weight:700;letter-spacing:.045em;text-transform:uppercase;flex-shrink:0}
.gateway-callout>.button:hover{background:var(--blue-dark);box-shadow:0 7px 0 #123b7c}
@media(max-width:700px){.gateway-callout>.button{width:min(100%,280px);min-width:0;max-width:100%;min-height:60px;margin-top:24px}}

.button,button,.text-link,.card-cta,.program-link{text-transform:uppercase}
.button{max-width:100%}

/* Three primary-color stars form one compact brand mark. */
.brand-mark{display:inline-block;position:relative;width:70px;height:59px;flex-shrink:0}
.brand-mark .brand-star{position:absolute;left:0;top:6px}
.brand-accent{position:absolute;width:23px;height:23px;right:0}
.brand-accent-red{top:0;background:var(--red);transform:rotate(14deg)}
.brand-accent-blue{bottom:0;background:var(--blue);transform:rotate(-9deg)}
@media(max-width:1150px){.brand-mark{width:64px;height:54px}.brand-accent{width:21px;height:21px}}
@media(max-width:700px){.brand-mark{width:59px;height:50px}.brand-mark .brand-star{top:5px}.brand-accent{width:19px;height:19px}}
.site-footer .brand-mark{width:52px;height:44px}
.site-footer .brand-mark .brand-star{top:4px}
.site-footer .brand-mark .brand-accent{width:17px;height:17px}
