:root{font-family:"Trebuchet MS",Arial,sans-serif;color:#42556a;background:#fffdf9;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.6rem,5.5vw,5rem);line-height:1.1;color:#4d5367}h1 em{font-style:normal;color:#e87da7}h2{font-size:clamp(1.8rem,3.3vw,2.8rem);color:#395b78}p{line-height:1.65}a{color:inherit;text-decoration:none}.site-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 5%;background:white;position:sticky;top:0;z-index:10;box-shadow:0 2px 15px #3331}.brand{display:flex;align-items:center;gap:10px}.brand strong{font-size:1.55rem;color:#e67ca5}.brand small{display:block;font-size:.62rem;letter-spacing:2px}.sun{font-size:2.4rem;color:#ffc841}nav{display:flex;align-items:center;flex-wrap:wrap;gap:16px;font-size:.85rem}nav a:hover{color:#df6e9d}.portal-link{padding:10px 14px;background:#eaf3fa;border-radius:25px}.hero{background:#fff3e9;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:25px;padding:75px 7%}.hero-copy{max-width:580px}.eyebrow{font-size:.8rem;letter-spacing:2px;font-weight:bold;color:#b97c9e}.hero-copy>p:not(.eyebrow){font-size:1.1rem}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.button{border:0;border-radius:35px;padding:13px 23px;display:inline-block;cursor:pointer;font-weight:bold;font-size:.95rem}.pink{background:#e987ad;color:white}.blue{background:#315d81;color:white}.outline{border:2px solid #e987ad;color:#bd6088}.hero-art{min-height:360px;border-radius:40px;background:linear-gradient(135deg,#e8f6f0,#e6f2ff 50%,#f9e9f3);position:relative;display:flex;justify-content:center;align-items:center;flex-direction:column;overflow:hidden}.rainbow{font-size:9rem}.cloud{position:absolute;bottom:40px;left:30px;font-size:5rem}.heart{position:absolute;right:45px;bottom:95px;font-size:3rem}.sunface{position:absolute;right:40px;top:30px;font-size:4rem}.hero-caption{font-size:1.1rem;font-weight:bold;color:#68748b}.intro,.events,.registration,.portal{padding:85px 7%;text-align:center}.intro>p,.events>p,.registration>p,.portal>p{max-width:750px;margin-left:auto;margin-right:auto}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:35px}.features article{background:#fff6ec;border-radius:25px;padding:28px}.features span{font-size:2.5rem}.team{background:#315c7e;color:white;padding:85px 7%;text-align:center}.team h2{color:white}.team .eyebrow{color:#ffdf9c}.owners{display:grid;grid-template-columns:repeat(2,minmax(0,220px));justify-content:center;gap:22px;margin:35px auto}.teachers{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1050px;margin:auto}.profile{background:#fff;border-radius:20px;padding:20px;color:#43556b}.profile h3{margin:14px 0 8px}.profile p{font-size:.85rem;margin:0}.avatar{aspect-ratio:1;background:linear-gradient(135deg,#fce3ed,#e4f2ff);border-radius:16px;display:grid;place-items:center;font-size:4rem;color:#e38daf}.wave{clip-path:polygon(0 2%,3% 0,7% 2%,11% 0,15% 2%,19% 0,23% 2%,27% 0,31% 2%,35% 0,39% 2%,43% 0,47% 2%,51% 0,55% 2%,59% 0,63% 2%,67% 0,71% 2%,75% 0,79% 2%,83% 0,87% 2%,91% 0,95% 2%,100% 0,100% 100%,0 100%)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:35px auto;max-width:1000px}.gallery>div{min-height:180px;border-radius:22px;background:#e8f5ed;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:4rem}.gallery>div:nth-child(2){background:#fff1cf}.gallery>div:nth-child(3){background:#f7e8f3}.gallery span{font-size:1rem;margin-top:12px;font-weight:bold}.registration{background:#fff7dd}.contact{background:#f4f1f0;padding:80px 7%;display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:center}.contact-visual{text-align:center}.contact-visual span{font-size:9rem}.contact-content{background:white;padding:30px;border-radius:25px}form{display:grid;gap:15px}label{display:grid;gap:6px;font-size:.85rem;font-weight:bold}input,select,textarea{width:100%;padding:12px;border:1px solid #cdd6dd;border-radius:9px;font:inherit}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.note{font-size:.75rem;color:#7a8290}.portal{background:#edf5fc}.portal-card{background:white;padding:24px;border-radius:20px;max-width:600px;margin:25px auto}footer{padding:40px;text-align:center;background:#315c7e;color:white}footer p{margin:8px}footer small{opacity:.8}@media(max-width:900px){.site-header{flex-direction:column}nav{justify-content:center}.hero,.contact{grid-template-columns:1fr}.teachers{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.hero{padding:45px 6%}.hero-art{min-height:260px}.rainbow{font-size:6rem}.features,.gallery{grid-template-columns:1fr}.owners{grid-template-columns:1fr;max-width:240px}.teachers{gap:10px}.profile{padding:12px}.avatar{font-size:2.5rem}.form-row{grid-template-columns:1fr}nav{gap:9px;font-size:.75rem}}
/* Multi-page layout */nav a[aria-current="page"]{color:#d76b98;font-weight:bold}.interior{padding:80px 7%;text-align:center;min-height:420px}.interior h1{font-size:clamp(2.3rem,4.5vw,4rem);color:#3c6382}.interior .lead{max-width:780px;margin:0 auto 30px}.interior .features{margin-top:40px}.link-card{display:block;background:#fff7ef;padding:30px;border-radius:24px;text-align:center;transition:transform .15s}.link-card:hover,.profile-link:hover{transform:translateY(-4px)}.card-emoji{font-size:2.7rem}.card-link{display:block;color:#bd6391;font-weight:bold;font-size:.85rem;margin-top:12px}.team-page{background:#f1f8fc}.team-page .owners{max-width:480px}.team-page .teachers{margin-top:25px}.team-page .profile{box-shadow:0 4px 18px #4561}.profile-link{display:block;transition:transform .15s}.center{justify-content:center}.light-outline{color:white;border-color:white}.contact-page{background:#f8f3f4}.contact-page-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:45px;align-items:center;max-width:1100px;margin:35px auto;text-align:left}.contact-page-grid .contact-visual{text-align:center}.contact-page-grid .contact-content{display:grid;gap:15px}.teacher-detail{display:grid;grid-template-columns:220px 1fr;align-items:center;gap:35px;max-width:850px;margin:40px auto;text-align:left}.teacher-detail .avatar{min-height:220px}.registration .portal-card{max-width:680px}@media(max-width:700px){.contact-page-grid,.teacher-detail{grid-template-columns:1fr}.interior{padding:55px 6%}.teacher-detail .avatar{max-width:220px;margin:auto}}
