:root{--ink:#302346;--plum:#653099;--purple:#7938b8;--deep:#59238f;--orchid:#ad70da;--lilac:#f1e8ff;--light:#fbf8ff;--gold:#ffcd78;--soft-text:#665c72;--cream:#fffdf9;--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}button,a{ -webkit-tap-highlight-color:transparent }a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}.announcement{background:#622ca0;color:#fff;text-align:center;font-size:12px;font-weight:700;padding:9px 12px;letter-spacing:.09em}.announcement-star{color:#ffe28c;margin:0 13px}.site-header{background:#fff;position:sticky;top:0;z-index:30;box-shadow:0 3px 22px #44236b12}.nav-shell{display:flex;align-items:center;justify-content:space-between;min-height:84px;gap:24px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-mark{width:61px;height:61px;border:2px solid #eee0fa;border-radius:18px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}.brand-mark img{width:100%;height:100%;object-fit:contain}.brand-copy{display:flex;flex-direction:column;line-height:1.1}.brand-copy strong{color:#622a9c;font-family:'Fredoka',system-ui,sans-serif;font-size:23px;letter-spacing:-.025em}.brand-copy small{font-size:10px;font-weight:800;letter-spacing:.165em;color:#9474ae;margin-top:6px}.main-nav{display:flex;align-items:center;gap:26px}.main-nav>a{font-size:13px;font-weight:800;white-space:nowrap;transition:color .2s}.main-nav>a:hover{color:var(--purple)}.main-nav .nav-contact{background:var(--purple);border-radius:999px;color:#fff;padding:15px 21px;box-shadow:0 7px 0 #e6d5f6}.main-nav .nav-contact:hover{color:#fff;background:#5f2996}.nav-contact span{margin-left:9px}.menu-toggle{display:none}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 70% 29%,#e0caff 0,#eee2fd 32%,transparent 58%),linear-gradient(115deg,#f5ecff,#f6ecfc 70%,#fbedf5);min-height:635px}.hero-grid{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:55px;align-items:center;padding-top:73px;padding-bottom:118px;z-index:2}.hero-copy{z-index:3}.eyebrow,.section-label{display:inline-flex;align-items:center;font-weight:800;font-size:12px;letter-spacing:.16em;color:#9553c7;text-transform:uppercase}.eyebrow{border:2px solid #e6cafc;border-radius:99px;background:#fff9ff;color:#8750b0;letter-spacing:.05em;text-transform:none;padding:10px 17px;font-size:13px}.eyebrow span{color:#eba435;margin-right:9px;font-size:18px}.hero h1{font-family:'Fredoka',system-ui,sans-serif;font-size:clamp(64px,7.4vw,100px);line-height:1.04;letter-spacing:-.045em;font-weight:600;margin:22px 0 22px;position:relative}.hero h1 em{font-style:normal;color:#853fbb}.headline-spark{width:32px;height:32px;color:#f0b951;position:absolute;top:11px;right:13%;transform:rotate(-10deg)}.hero-copy>p{color:#5c4e6d;font-size:18px;line-height:1.8;max-width:505px;margin:0 0 28px}.hero-actions,.tour-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:16px;border-radius:999px;padding:17px 25px;font-weight:800;font-size:14px;min-height:55px;transition:transform .2s,background .2s,box-shadow .2s}.btn:hover{transform:translateY(-3px)}.btn-primary{background:#7533b5;color:#fff;box-shadow:0 7px 0 #d7b7f1}.btn-primary:hover{background:#57248f}.btn-light{background:#fff;color:#68379a;border:2px solid #e5d0fa}.btn-outline{border:2px solid #d3b5ed;color:#693399;background:#fff}.hero-points{display:flex;gap:20px;flex-wrap:wrap;margin-top:35px;font-size:12px;font-weight:800;color:#6e6380}.hero-points b{color:#d58a3b;margin-right:5px}.hero-media{height:450px;position:relative;display:flex;align-items:center;justify-content:center}.hero-picture{position:relative;width:81%;height:430px;border-radius:48% 48% 43% 43% / 36% 36% 46% 46%;overflow:hidden;border:10px solid #fff;box-shadow:0 30px 52px #6d409543;transform:rotate(4deg);z-index:1}.hero-picture img{width:100%;height:100%;object-fit:cover}.mini-picture{position:absolute;left:-25px;bottom:5px;width:180px;height:165px;border:8px solid #fff;border-radius:36px;overflow:hidden;z-index:3;transform:rotate(-9deg);box-shadow:0 15px 35px #43215b4d}.mini-picture img{width:100%;height:100%;object-fit:cover}.round-sticker{position:absolute;top:10px;right:-10px;width:128px;height:128px;border-radius:50%;background:#ffd67c;z-index:2;box-shadow:0 8px 20px #a770264d;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(12deg);font-family:'Fredoka',sans-serif;color:#5c3677;border:6px solid #fff3d8}.round-sticker span{font-size:16px}.round-sticker strong{font-size:32px}.hero-butterfly,.media-butterfly,.about-butterfly,.phil-butterfly{display:block;color:#bb84e7;position:absolute;filter:drop-shadow(0 7px 4px #7138b02b)}.hero-butterfly.b1{width:85px;top:22px;left:4%;transform:rotate(-23deg);opacity:.55}.hero-butterfly.b2{width:42px;bottom:94px;left:48%;transform:rotate(25deg);color:#dcb5ef}.media-butterfly{width:89px;right:-33px;bottom:25px;z-index:5;transform:rotate(-29deg);color:#a75dd5}.floating-flower{position:absolute;z-index:2;color:#eead58;font-size:60px}.flower-one{left:15px;top:30px}.flower-two{right:0;bottom:105px;color:#fff;font-size:49px}.hero-blob{position:absolute;border-radius:50%;pointer-events:none}.hero-blob-a{width:270px;height:270px;background:#f9dcea;right:-105px;top:25px;opacity:.7}.hero-blob-b{width:110px;height:110px;background:#e6d2ff;left:-65px;top:38%}.hero-wave{position:absolute;width:100%;bottom:-3px;left:0;line-height:0}.hero-wave svg{width:100%;height:96px}.highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:10px 0 30px}.highlight{display:flex;gap:14px;align-items:center;padding:18px 14px}.highlight-icon{display:flex;align-items:center;justify-content:center;width:60px;height:60px;flex-shrink:0;border-radius:20px;font-size:31px;font-weight:700;color:#793db9}.highlight-icon.purple{background:#eae0ff}.highlight-icon.peach{background:#fff0d8;color:#ec9a45}.highlight-icon.mint{background:#e3f5e8;color:#43a677}.highlight strong{font-size:16px;font-family:'Fredoka',sans-serif;display:block;font-weight:600}.highlight small{display:block;font-size:12px;color:#80728d;margin-top:5px}.section{padding:106px 0}.about-section{background:#fff}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.about-photo-stack{position:relative;max-width:460px;padding:15px 20px 30px 23px}.about-photo-stack:before{content:"";position:absolute;inset:0 0 10px 0;border-radius:43% 47% 22% 29%;background:#f0dfff;transform:rotate(-7deg)}.about-photo{position:relative;overflow:hidden;border-radius:43% 43% 26% 24%;border:9px solid #fff;box-shadow:0 22px 55px #6643872b;height:440px}.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center 29%}.about-butterfly{width:90px;left:-24px;top:10px;transform:rotate(13deg);color:#ad7bdc}.photo-tag{position:absolute;bottom:20px;right:-8px;background:#ffe0a1;padding:18px 22px;border-radius:50px;z-index:3;transform:rotate(-8deg);font-family:'Fredoka',sans-serif;font-size:16px;box-shadow:0 7px 0 #edcb88}.photo-tag span{color:#b13c8a}.about-copy h2,.section-heading h2,.philosophy-wrap h2,.tour-text h2{font-family:'Fredoka',sans-serif;font-size:clamp(39px,5vw,64px);letter-spacing:-.035em;line-height:1.13;font-weight:600;margin:17px 0 20px}.about-copy h2 span:first-child,.section-heading h2 span,.philosophy-wrap h2 span,.tour-text h2 span{color:#853bbd}.about-copy h2 span:last-child{font-size:.66em}.about-copy p{font-size:15px;line-height:1.9;color:#6e6576;margin:0 0 15px}.about-copy .lead{font-size:20px;font-weight:700;line-height:1.5;color:#4e3f5d}.signature{font-family:'Fredoka',sans-serif;color:#6b379f;font-size:20px;margin-top:20px}.signature strong{display:block;font-size:27px}.signature span{color:#df7acb}.programs-section{background:#f9f5ff;position:relative}.section-heading.center{text-align:center;max-width:760px;margin:0 auto 45px}.section-heading p{color:#71657d;font-size:16px;line-height:1.7;margin:0}.program-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.program-card{min-height:290px;border-radius:28px;background:#fff;padding:27px 22px 25px;border:2px solid #efe6f6;position:relative;overflow:hidden;box-shadow:0 10px 20px #65468a0b;transition:transform .25s,box-shadow .25s}.program-card:hover{transform:translateY(-8px);box-shadow:0 15px 38px #65468a22}.program-icon{width:80px;height:80px;background:var(--accent);border-radius:25px;display:flex;align-items:center;justify-content:center;font-size:39px;transform:rotate(var(--rotate));margin-bottom:25px}.program-card h3{font-family:'Fredoka',sans-serif;font-size:21px;font-weight:600;line-height:1.17;margin:0 0 10px;color:#553679}.program-card p{color:#776d7d;font-size:13px;line-height:1.72;position:relative;z-index:2;margin:0}.card-doodle{position:absolute;right:17px;top:21px;font-size:30px;color:#dcc0f5}.program-note{text-align:center;font-size:12px;color:#877c90;line-height:1.6;margin:30px auto 0;max-width:700px}.spaces-section{background:#fff}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.gallery-card{position:relative;height:455px;border-radius:33px;overflow:hidden;margin:0;background:#f2e7ff;box-shadow:0 8px 28px #745b8518}.gallery-card>img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-card:hover>img{transform:scale(1.05)}.gallery-card figcaption{position:absolute;bottom:19px;left:19px;right:19px;background:#ffffffee;backdrop-filter:blur(12px);border-radius:21px;min-height:100px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:15px 20px 15px 84px}.gallery-card figcaption span{position:absolute;left:18px;top:17px;background:#ebdafe;color:#813eb5;width:53px;height:53px;display:grid;place-items:center;border-radius:20px;font-size:26px}.gallery-card figcaption strong{font-family:'Fredoka',sans-serif;font-size:24px;color:#653593}.gallery-card figcaption small{color:#7b6c83;font-size:13px;margin-top:3px}.philosophy-section{background:linear-gradient(120deg,#ecd9ff 0%,#f4eaff 50%,#fcecf4 100%);padding:85px 0}.philosophy-wrap{text-align:center;max-width:960px;position:relative}.philosophy-heart{font-family:Arial,sans-serif;font-size:80px;line-height:1;color:#e5b7f3}.philosophy-wrap .section-label{margin-top:0}.philosophy-wrap h2{max-width:760px;margin:15px auto 25px}.philosophy-wrap>p{max-width:770px;margin:0 auto;font-size:18px;line-height:1.85;color:#645472}.philosophy-values{display:flex;gap:13px;flex-wrap:wrap;justify-content:center;margin-top:34px}.philosophy-values span{border-radius:99px;background:#fff8ff;color:#753ba3;font-size:14px;font-weight:800;padding:12px 20px;border:2px solid #dfc1f6}.phil-butterfly{width:75px;top:20px;right:5%;transform:rotate(-18deg)}.tour-section{background:#fff;padding:110px 0 125px}.tour-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.tour-text h2{margin:19px 0 22px}.tour-text>p{color:#71647c;font-size:17px;line-height:1.8;max-width:500px;margin-bottom:32px}.tour-hint{font-size:12px!important;max-width:420px;color:#8a8190!important;margin-top:22px}.contact-card{position:relative;background:#f7eeff;padding:42px;border-radius:36px;border:2px solid #e9d8f9;box-shadow:12px 12px 0 #e0cafa}.contact-card-butterfly{position:absolute;top:-31px;right:30px;font-size:60px;transform:rotate(10deg)}.contact-card h3{font-family:'Fredoka',sans-serif;color:#68359b;font-size:32px;font-weight:600;margin:0 0 25px}.contact-row{display:flex;align-items:center;gap:16px;margin-bottom:21px}.contact-row>span{display:grid;place-items:center;width:50px;height:50px;border-radius:18px;background:#fff;color:#914bbd;font-size:23px;flex-shrink:0}.contact-row small{color:#81728d;display:block;margin-bottom:3px;font-size:12px}.contact-row strong,.contact-row a{font-size:15px;font-weight:800;color:#55366f;line-height:1.5;overflow-wrap:anywhere}.contact-row a:hover{text-decoration:underline}.license{color:#897694;font-size:11px;margin:25px 0 0;border-top:1px solid #e1cbed;padding-top:17px}.footer{background:#50227e;color:#fff;padding:33px 0}.footer-inner{display:flex;justify-content:space-between;gap:25px;align-items:center}.footer-brand{display:flex;align-items:center;gap:14px}.footer-brand svg{width:53px;height:47px;color:#ce9bec}.footer-brand strong{font-family:'Fredoka',sans-serif;font-size:22px;font-weight:500;display:block}.footer-brand small{font-size:12px;color:#decae9;display:block;margin-top:3px}.footer-meta{display:flex;flex-direction:column;gap:7px;text-align:right;font-size:12px;color:#e1cde9}
@media(max-width:1050px){.main-nav{gap:14px}.main-nav>a{font-size:12px}.main-nav .nav-contact{padding:13px 16px}.brand-copy strong{font-size:20px}.hero-grid{gap:20px}.hero h1{font-size:clamp(60px,7vw,80px)}.about-grid{gap:50px}.tour-grid{gap:40px}.program-card{padding:25px 16px}.program-card h3{font-size:19px}}
@media(max-width:810px){.shell{width:min(100% - 36px,630px)}.nav-shell{min-height:76px}.brand-mark{width:53px;height:53px}.menu-toggle{display:flex;background:#f5ebff;border:0;border-radius:13px;width:45px;height:45px;align-items:center;justify-content:center;gap:5px;flex-direction:column;cursor:pointer}.menu-toggle span{display:block;height:3px;width:23px;background:#703ca2;border-radius:4px}.main-nav{display:none;position:absolute;left:0;right:0;top:100%;padding:18px 22px 25px;background:#fff;box-shadow:0 12px 20px #44216d20;flex-direction:column;align-items:stretch;gap:4px}.main-nav.is-open{display:flex}.main-nav a{padding:12px 10px;font-size:15px}.main-nav .nav-contact{text-align:center;margin-top:9px}.hero-grid{grid-template-columns:1fr;gap:18px;padding-top:62px;padding-bottom:105px}.hero-copy{text-align:center}.hero h1{font-size:clamp(58px,11vw,80px)}.headline-spark{right:12%}.hero-copy>p{margin-inline:auto}.hero-actions,.hero-points{justify-content:center}.hero-media{width:min(480px,100%);margin:10px auto 0;height:410px}.hero-picture{height:386px}.round-sticker{right:1px}.mini-picture{left:-5px}.hero-butterfly.b2{bottom:30px;left:6%}.highlights{grid-template-columns:1fr;gap:0;padding:5px 0 35px}.highlight{padding:13px 6px}.about-grid,.tour-grid{grid-template-columns:1fr;gap:45px}.about-photo-stack{width:90%;margin:0 auto}.about-copy{text-align:center}.signature{display:inline-block;text-align:left}.program-cards{grid-template-columns:repeat(2,1fr)}.gallery-card{height:345px}.tour-text{text-align:center}.tour-text>p{margin-left:auto;margin-right:auto}.tour-buttons{justify-content:center}.tour-hint{margin-left:auto;margin-right:auto}.contact-card{max-width:540px;width:100%;margin:0 auto}.section{padding:75px 0}.footer-inner{flex-direction:column;text-align:center}.footer-meta{text-align:center}}
@media(max-width:560px){.shell{width:calc(100% - 32px)}.announcement{font-size:10px;letter-spacing:.01em}.announcement-star{margin:0 5px}.brand-copy strong{font-size:18px}.brand-copy small{font-size:8px}.hero-grid{padding-top:43px}.hero h1{font-size:clamp(56px,13vw,73px)}.hero-copy>p{font-size:16px}.hero-actions{gap:11px}.btn{font-size:13px;padding:15px 20px;min-height:51px}.hero-media{height:350px}.hero-picture{width:78%;height:316px;border-width:7px}.mini-picture{height:125px;width:130px;border-width:6px;left:0}.round-sticker{width:94px;height:94px;top:8px;right:2px}.round-sticker strong{font-size:23px}.round-sticker span{font-size:12px}.media-butterfly{width:63px;right:0}.flower-one{font-size:32px}.about-photo-stack{width:100%;padding-right:19px}.about-photo{height:370px}.photo-tag{font-size:12px;right:5px}.about-copy h2,.section-heading h2,.philosophy-wrap h2,.tour-text h2{font-size:clamp(38px,10vw,47px)}.section-heading.center{margin-bottom:32px}.program-cards{grid-template-columns:1fr;gap:17px}.program-card{min-height:210px;padding:24px}.program-icon{width:66px;height:66px;font-size:33px;margin-bottom:16px}.gallery-grid{grid-template-columns:1fr;gap:20px}.gallery-card{height:340px}.gallery-card figcaption strong{font-size:21px}.philosophy-wrap>p{font-size:15px}.philosophy-values span{font-size:12px;padding:10px 15px}.tour-grid{gap:45px}.contact-card{padding:31px 23px}.contact-row a,.contact-row strong{font-size:14px}.footer-brand strong{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Best Beginnings real activity photo cards 2026-10-31 */
.program-card.has-photo{padding:0 0 24px;}
.program-card.has-photo .program-photo{position:relative;height:164px;overflow:hidden;margin:0 0 18px;border-radius:26px 26px 14px 14px;background:var(--accent);}
.program-card.has-photo .program-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 40%;transition:transform .4s ease;}
.program-card.has-photo:hover .program-photo img{transform:scale(1.04);}
.program-card.has-photo .program-photo img[src*="play-play-play"]{object-position:center 29%;}
.program-card.has-photo h3,.program-card.has-photo p{margin-left:20px;margin-right:20px;}
.program-card.has-photo .photo-badge{position:absolute;bottom:10px;right:12px;background:#ffffffec;box-shadow:0 3px 12px #49247430;display:grid;place-items:center;width:40px;height:40px;border-radius:14px;font-size:21px;}
.program-card.has-photo .card-doodle{display:none;}
@media(max-width:560px){.program-card.has-photo .program-photo{height:205px;}.program-card.has-photo h3,.program-card.has-photo p{margin-left:24px;margin-right:24px;}}

/* Best Beginnings program photo mosaics */
.program-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;}
.program-card{min-height:0;}
.program-card.has-photo .program-photo{height:242px;}
.program-card.has-photo .program-photo.photo-mosaic{display:grid;gap:5px;padding:5px;}
.program-card.has-photo .program-photo.mosaic-three{grid-template-columns:1.13fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));}
.program-card.has-photo .program-photo.mosaic-three > img:first-child{grid-row:1/span 2;}
.program-card.has-photo .program-photo.mosaic-two{grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr);}
.program-card.has-photo .program-photo.photo-mosaic > img{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:cover;object-position:center;border-radius:10px;}
.program-card.has-photo .program-photo.photo-mosaic > .photo-badge{z-index:2;}
@media(max-width:720px){.program-cards{grid-template-columns:1fr;max-width:530px;margin-inline:auto;}.program-card.has-photo .program-photo{height:245px;}}
@media(max-width:420px){.program-card.has-photo .program-photo{height:215px;}}


/* square slideshow photo windows */
.program-card.has-photo .program-photo.photo-mosaic{position:relative;display:block;width:100%;height:auto;aspect-ratio:1/1;padding:0;overflow:hidden;border-radius:26px 26px 14px 14px;isolation:isolate}
.program-photo .slide-track{position:absolute;inset:0;display:flex;gap:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y;}
.program-photo .slide-track::-webkit-scrollbar{display:none}
.program-card.has-photo .program-photo.photo-mosaic .slide-track img{position:relative;flex:0 0 100%;width:100%;height:100%;min-width:100%;object-fit:cover;object-position:center;scroll-snap-align:start;border-radius:0;grid-row:auto;transform:none}
.program-card.has-photo .program-photo.photo-mosaic .slide-track img:first-child{grid-row:auto}
.program-card.has-photo .program-photo.photo-mosaic>.photo-badge{z-index:3;top:12px;bottom:auto;right:12px}
.program-photo .slide-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:42px;height:42px;border:1px solid #ffffffaa;border-radius:50%;background:#ffffffec;color:#6b329f;font:700 30px/1 sans-serif;display:grid;place-items:center;cursor:pointer;opacity:0;visibility:hidden;transition:opacity .2s}
.program-photo .slide-prev{left:12px}.program-photo .slide-next{right:12px}
.program-photo:hover .slide-arrow,.program-photo:focus-within .slide-arrow{opacity:1;visibility:visible}
.program-photo .slide-arrow:hover{background:#6d379f;color:white}
.program-photo .slide-arrow:focus-visible,.program-photo .slide-dot:focus-visible{outline:3px solid #ffcf5f;outline-offset:2px}
.program-photo .slide-dots{position:absolute;z-index:4;bottom:11px;left:50%;transform:translateX(-50%);display:flex;gap:8px;padding:9px 12px;background:#36204da6;border-radius:24px}
.program-photo .slide-dot{width:9px;height:9px;border:0;border-radius:50%;padding:0;background:#ffffff80;cursor:pointer}
.program-photo .slide-dot.active{background:white;transform:scale(1.25)}
@media(hover:none),(pointer:coarse){.program-photo .slide-arrow{opacity:1;visibility:visible;width:36px;height:36px;font-size:26px}}
@media(prefers-reduced-motion:reduce){.program-photo .slide-arrow{transition:none}}
