@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Nunito:wght@600;700;800;900&display=swap');
:root{--blue:#2448cf;--ink:#202e51;--yellow:#ffda55;--cream:#fffdf6;--pink:#ffd9e5;--mint:#d9f0e4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bb4818;outline-offset:5px}.skip{position:fixed;top:-100px;background:white;padding:12px;z-index:20}.skip:focus{top:0}.topbar{background:var(--blue);color:white;padding:8px 6%;font-size:13px;text-align:center}.topbar span{float:right}header{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:23px 5%;gap:25px}.brand{display:flex;align-items:center;gap:10px;font-family:Nunito,sans-serif;font-size:25px;font-weight:900;line-height:1.1;color:var(--blue);white-space:nowrap}.brand small{display:block;font-size:13px;letter-spacing:.04em;margin-bottom:3px}.brand-icon{font-size:56px;line-height:1;position:relative;transform:rotate(-8deg)}.brand-icon span{color:#e97932;font-size:32px;position:absolute;top:-10px;right:-6px}nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:600}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;border-radius:100px;background:var(--blue);color:white;padding:16px 25px;font-weight:700;border:0;cursor:pointer;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-3px);box-shadow:0 7px 0 #182e841f}.button span{font-size:23px;line-height:1}.button.small{padding:11px 20px;gap:18px}.menu{display:none}.hero{max-width:1440px;margin:auto;padding:54px 6% 65px;display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:45px;min-height:655px}.eyebrow{font-weight:700;font-size:12px!important;letter-spacing:.14em;color:var(--blue);margin:0 0 22px!important}h1,h2,h3{font-family:Nunito,sans-serif;font-weight:900;line-height:1.05;letter-spacing:-.045em;margin:0}h1{font-size:clamp(52px,5.6vw,82px);color:var(--blue)}h1 em{font-style:normal;position:relative;z-index:0}h1 em:after{content:'';position:absolute;background:var(--yellow);height:16px;bottom:7px;left:0;right:-7px;z-index:-1;transform:rotate(-2deg)}.hero-copy>p:not(.eyebrow){max-width:435px;margin:28px 0;font-size:17px;line-height:1.7}.actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.text-link{font-weight:700;font-size:14px;border-bottom:1px solid;padding-bottom:3px}.hero-facts{display:flex;gap:26px;margin-top:34px;font-size:12px}.hero-facts span{padding-right:25px;border-right:1px solid #d9d9cf}.hero-facts span:last-child{border:0}.hero-facts b{display:block;font-size:14px}.hero-art{position:relative;padding:20px 0 30px;min-width:0}.hero-photo{width:100%;height:445px;object-fit:cover;object-position:49% center;border-radius:48% 48% 24% 24%;transform:rotate(3deg);position:relative}.photo-back{position:absolute;inset:8px -8px 20px 8px;border-radius:48% 48% 24% 24%;background:var(--yellow);transform:rotate(-4deg)}.hello{position:absolute;top:8px;left:-22px;padding:22px 26px;background:var(--pink);border-radius:55% 45% 50% 35%;font-family:Nunito;font-weight:900;font-size:38px;color:var(--blue);transform:rotate(-12deg);line-height:1.05}.hello small{display:block;font:11px 'DM Sans';margin-top:6px}.photo-note{position:absolute;bottom:13px;left:20px;background:white;padding:13px 22px;box-shadow:0 4px 20px #202e5112;transform:rotate(-5deg);font-size:15px}.photo-note b{display:block;font-family:Nunito;font-size:26px;line-height:1.2}.photo-note span{position:absolute;right:-42px;top:0;font-size:44px;color:var(--blue)}.spark{position:absolute;right:-25px;top:-25px;color:#e88236;font-size:95px;line-height:1}.ribbon{background:var(--yellow);padding:22px 5%;display:flex;justify-content:space-around;align-items:center;gap:24px;font-family:Nunito;font-size:22px;font-weight:800}.ribbon b{color:var(--blue);font-size:32px}.section{padding:100px 6%;max-width:1440px;margin:auto}h2{font-size:clamp(36px,4vw,55px)}h3{font-size:26px;letter-spacing:-.03em}.intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;margin-bottom:45px}.intro p{margin:0;max-width:510px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{padding:34px;border-radius:24px;background:#eef1fc}.card:nth-child(2){background:var(--pink)}.card:nth-child(3){background:var(--mint)}.card .number{font-family:Nunito;font-size:38px;color:var(--blue);display:block;margin-bottom:25px}.card p{margin:16px 0 0}.blue-section{background:var(--blue);color:white}.blue-section .eyebrow{color:var(--yellow)}.program{border-top:1px solid #ffffff50;padding:28px 0;display:grid;grid-template-columns:65px 1fr 1.2fr;gap:25px;align-items:start}.program>span{color:var(--yellow);font-size:18px}.program p{margin:0;color:#ebefff}.program small{display:block;font-size:14px;margin-top:10px;color:var(--yellow)}.photo-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:20px;margin-top:35px}.photo-grid figure{margin:0}.photo-grid img{width:100%;height:310px;object-fit:cover;border-radius:24px}.photo-grid figcaption{font-size:14px;margin-top:10px}.moments{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.moments span{padding:10px 20px;border:1px solid #cbd0dc;border-radius:30px}.teacher{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.teacher img{width:100%;height:450px;object-fit:cover;border-radius:140px 30px 140px 30px}.teacher p{max-width:490px}.teacher .eyebrow{margin-bottom:20px}.reviews{background:var(--pink);border-radius:30px;padding:50px;display:flex;justify-content:space-between;align-items:center;gap:40px}.reviews h2{font-size:38px;max-width:530px}.reviews p{max-width:560px}.reviews .button{white-space:nowrap}.faq-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.faq-wrap details{border-bottom:1px solid #ccd0d8;padding:21px 0}.faq-wrap details:first-child{padding-top:0}summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:20px}summary:after{content:'+';font-size:24px;line-height:1}details[open] summary:after{content:'−'}details p{margin-bottom:0}.enrollment{background:var(--yellow);border-radius:32px;padding:55px;display:grid;grid-template-columns:1fr 1fr;gap:60px}.steps{padding-left:20px}.steps li{padding:7px 0}.form{background:white;padding:30px;border-radius:22px}.form label{display:block;font-size:14px;font-weight:600;margin-bottom:14px}.form input,.form select,.form textarea{display:block;width:100%;padding:12px;border:1px solid #b8becb;border-radius:8px;background:white;margin-top:6px;color:var(--ink)}.form textarea{min-height:95px;resize:vertical}.form .button{width:100%}.form small{display:block;font-size:12px;margin-top:12px}.contact{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:45px;padding-top:75px;padding-bottom:75px}.contact h3{margin-bottom:18px}.contact a:not(.brand){text-decoration:underline;text-underline-offset:4px}.contact p{margin:8px 0}.foot{border-top:1px solid #d9dce3;padding:22px 6%;display:flex;justify-content:space-between;font-size:12px}.note{font-size:14px;line-height:1.6}.section-title{max-width:650px}.section-title p{max-width:580px}.status{font-size:14px}.status:empty{display:none}@media(min-width:1500px){.hero{min-height:720px}.hero-photo{height:500px}}@media(max-width:1050px){nav{gap:16px}nav>a:not(.button){font-size:12px}.hero{gap:25px;padding-top:35px}.hero-photo{height:400px}.hero-facts{gap:15px}.hero-facts span{padding-right:15px}.actions{gap:16px}.ribbon{font-size:17px}.section{padding:75px 6%}.intro{gap:40px}.enrollment{padding:35px;gap:35px}}@media(max-width:760px){.topbar{font-size:11px}.topbar span{display:none}header{padding:18px 6%;position:relative;z-index:5}.brand{font-size:23px}.brand-icon{font-size:48px}.menu{display:flex;gap:10px;border:1px solid #cbd0dc;background:transparent;border-radius:30px;padding:9px 15px;color:var(--ink)}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:20px 6%;box-shadow:0 12px 15px #202e5110}nav.open{display:flex;flex-direction:column;align-items:stretch}nav>a:not(.button){font-size:16px;padding:8px 0}.hero{grid-template-columns:1fr;padding:32px 7% 45px;gap:35px}.hero h1{font-size:clamp(49px,11vw,76px)}.hero-copy>p:not(.eyebrow){font-size:16px;margin:24px 0}.hero-facts{margin-top:26px}.hero-art{margin:0 15px}.hero-photo{height:370px}.hello{font-size:29px;left:-13px}.spark{font-size:68px;right:-17px;top:-10px}.ribbon{flex-wrap:wrap;padding:20px;gap:12px 20px;font-size:16px}.ribbon b{font-size:20px}.ribbon b:last-of-type,.ribbon span:last-child{display:none}.section{padding:60px 7%}.intro,.teacher,.faq-wrap,.enrollment,.contact{grid-template-columns:1fr;gap:30px}.cards{grid-template-columns:1fr}.card{padding:28px}.card .number{margin-bottom:12px}.program{grid-template-columns:30px 1fr;gap:15px}.program p{grid-column:2}.photo-grid{grid-template-columns:1fr 1fr;gap:15px}.photo-grid figure:first-child{grid-column:1/-1}.photo-grid img{height:230px}.photo-grid figure:first-child img{height:280px}.teacher img{height:350px}.reviews{padding:30px;display:block}.reviews .button{margin-top:15px}.reviews h2{font-size:33px}.enrollment{padding:28px 20px;margin:0 -5px}.form{padding:22px}.foot{gap:20px;flex-wrap:wrap}.hero-facts span{min-width:0}.hero-facts b{font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Supplied logo and its playful lettering palette. */
.brand-logo{display:block;width:270px;height:auto;max-width:100%;mix-blend-mode:multiply}.hero h1{color:#292b2b}.hero h1 .word-little{color:#89c69b}.hero h1 .word-casa{color:#ff795e}.hero h1 .word-world{color:#69b1e8}.hero h1 em{color:#b9a0d5}.hero h1 em:after{background:#ffd044;height:7px;bottom:-3px}.hello{background:#e5d8ef;color:#292b2b}.ribbon{background:#ffd550}.spark{color:#ec8650}.photo-back{background:#ffd044}.contact .brand-logo{width:290px}@media(max-width:1050px) and (min-width:761px){.brand-logo{width:220px}header{gap:18px}nav{gap:13px}}@media(max-width:760px){.brand-logo{width:235px}.menu{flex-shrink:0;padding:9px 12px}header{gap:14px}}@media(max-width:360px){.brand-logo{width:200px}}

.hero h1 .word-a{color:#ff795e}.hero h1 .word-of{color:#89c69b}

.button,.topbar{background:#69b1e8;color:#202e51}

/* A distinct color for each of the seven headline words. */
.hero h1 .word-a{color:#ff795e}.hero h1 .word-little{color:#89c69b}.hero h1 .word-casa{color:#ffd044}.hero h1 .word-a-second{color:#ed9955}.hero h1 .word-world{color:#69b1e8}.hero h1 .word-of{color:#58b5ac}.hero h1 em{color:#b9a0d5}


/* Primary actions match the yellow kindness banner. */
.button{background:#ffd550;color:#202e51}

.green-section{background:#dff5d9}.green-section h2{color:#39764b}

.reviews h2,.reviews .eyebrow{color:#ff795e}

/* Programs: pastel purple with darker purple typography. */
.blue-section{background:#eee2fa;color:#583c79}.blue-section .eyebrow,.program>span,.program small{color:#694b8b}.program p{color:#584768}.program{border-top-color:#cdb9e0}

/* Tonal headings coordinate with each pastel surface. */
.card:nth-child(1) h3,.card:nth-child(1) .number{color:#56538f}.card:nth-child(2) h3,.card:nth-child(2) .number{color:#a34469}.card:nth-child(3) h3,.card:nth-child(3) .number{color:#39764b}.hello{color:#583c79}

/* Kindness banner: pastel yellow with readable golden text. */
.ribbon{background:#fff0b3;color:#866400}.ribbon b{color:#866400}

.enrollment{background:#fff0b3}.enrollment h2,.enrollment .eyebrow{color:#866400}

/* V4: purple enrollment matches the programs section. */
.enrollment{background:#eee2fa;color:#583c79}.enrollment h2,.enrollment .eyebrow{color:#583c79}

/* V4 photo crops favor faces and the upper part of each image. */
.hero-photo{object-position:50% 15%}.photo-grid img[src*="photo5-restored"]{object-position:50% 18%}

.hero-photo-frame{position:relative;height:445px;overflow:hidden;border-radius:48% 48% 24% 24%;transform:rotate(3deg)}.hero-photo-frame .hero-photo{display:block;width:100%;height:116%;object-fit:cover;object-position:50% 0%;border-radius:0;transform:none}@media(min-width:1500px){.hero-photo-frame{height:500px}}@media(max-width:1050px){.hero-photo-frame{height:400px}}@media(max-width:760px){.hero-photo-frame{height:370px}}

/* V4: organic, asymmetric photo silhouettes. */
.teacher img{border-radius:27% 13% 23% 12% / 24% 19% 30% 15%}.photo-grid figure:nth-child(1) img{border-radius:17% 9% 24% 12% / 22% 18% 15% 27%}.photo-grid figure:nth-child(2) img{border-radius:12% 24% 14% 22% / 19% 15% 26% 13%}.photo-grid figure:nth-child(3) img{border-radius:23% 11% 19% 14% / 16% 24% 13% 25%}

/* V4 programs match the parent-review pink and coral palette. */
#programs{background:#ffeaf1;color:#202e51}#programs h2,#programs h3,#programs .eyebrow,#programs .program>span{color:#ff795e}#programs .program p,#programs .program small{color:#202e51}#programs .program{border-top-color:#eab2c4}

.quote-reviews{display:block;background:transparent;padding:0;border-radius:0;overflow:hidden}.review-intro{max-width:680px;margin-bottom:35px}.quote-reviews h2{font-size:42px}.sample-notice{font-size:13px;line-height:1.5;max-width:560px!important}.review-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px}.quote-pause{background:transparent;border:1px solid #a34469;border-radius:30px;color:#75334e;font-weight:600;font-size:14px;padding:9px 17px;cursor:pointer}.quote-window{width:100%;overflow:hidden;position:relative;mask-image:linear-gradient(to right,transparent,#000 2%,#000 98%,transparent)}.quote-track{display:flex;width:max-content;animation:parent-quotes-horizontal 48s linear infinite}.quote-group{display:flex;gap:24px;padding:15px 24px 15px 0;flex-shrink:0}.parent-quote{flex:0 0 340px;width:340px;margin:0;padding:18px 28px;background:transparent;border-left:1px solid #e5d8df}.quote-stars{color:#ffd044;letter-spacing:4px;font-size:23px}.parent-quote blockquote{margin:14px 0 22px;font-family:Nunito,sans-serif;font-weight:800;font-size:24px;line-height:1.35;color:#75334e}.parent-quote figcaption{font-size:12px;color:#6b5661}.quote-window:hover .quote-track,.quote-window:focus-within .quote-track,.quotes-paused .quote-track{animation-play-state:paused}@keyframes parent-quotes-horizontal{to{transform:translateX(-50%)}}@media(max-width:760px){.quote-reviews h2{font-size:36px}.parent-quote{flex-basis:280px;width:280px;padding:16px 22px}.parent-quote blockquote{font-size:22px}.quote-reviews .button{white-space:normal;margin-top:0}}@media(prefers-reduced-motion:reduce){.quote-window{overflow-x:auto;mask-image:none}.quote-track{animation:none}.quote-group[aria-hidden]{display:none}.quote-pause{display:none}}

/* Soft wavy outlines inspired by the supplied organic-shape reference. */
.teacher img{border-radius:0;clip-path:url(#photo-organic-b)}.photo-grid figure:nth-child(1) img{border-radius:0;clip-path:url(#photo-organic-a)}.photo-grid figure:nth-child(2) img{border-radius:0;clip-path:url(#photo-organic-b)}.photo-grid figure:nth-child(3) img{border-radius:0;clip-path:url(#photo-organic-c)}

/* V4 philosophy cards: yellow, purple, green. */
.card:nth-child(1){background:#fff0b3}.card:nth-child(1) h3{color:#866400}.card:nth-child(2){background:#eee2fa}.card:nth-child(2) h3{color:#583c79}

/* Keep the kindness ribbon off small screens. */
@media(max-width:760px){.ribbon{display:none}}
