:root{--ink:#242024;--paper:#fffdfb;--yellow:#f2cf87;--green:#bd1740}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Avenir Next','PingFang SC','Microsoft YaHei',sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.top{background:#fae8ed;text-align:center;font-size:12px;letter-spacing:2px;padding:7px}header{display:flex;align-items:center;gap:24px;max-width:1280px;margin:auto;padding:24px 42px}.brand{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:22px;font-weight:800;line-height:1.2}.brand small{display:block;flex-basis:100%;margin-left:44px;font-size:10px;letter-spacing:1px;font-weight:400}.logo{font-size:38px;color:#bd1740}nav{display:flex;gap:30px;margin-left:auto;font-size:14px}#lang{border:1px solid #e5d2d6;background:transparent;border-radius:50%;width:42px;height:42px;font-size:12px;flex-shrink:0}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:white;padding:15px 25px;border-radius:40px;font-size:14px;font-weight:600;transition:transform .2s}.button:hover{transform:translateY(-3px);background:#9b1233}.small{padding:12px 22px}.hero{max-width:1280px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:60px 42px 75px;align-items:center}.eyebrow{font-size:11px;letter-spacing:2.4px;font-weight:700;margin:0 0 24px}h1{font-size:clamp(44px,5vw,70px);line-height:1.3;letter-spacing:-2px;margin:0 0 25px;font-weight:800}h1 span{color:#bf1741;position:relative}h1 span:after{content:'';position:absolute;bottom:-5px;left:0;width:100%;height:7px;border-radius:50%;border-top:4px solid var(--yellow)}.intro{font-size:16px;color:#70636a}.actions{display:flex;align-items:center;gap:23px;margin-top:33px}.textlink{font-size:13px;text-decoration:underline;text-underline-offset:6px}.tiny{font-size:11px;color:#796970;margin-top:28px}.art{height:480px;background:#faedf0;border-radius:46% 46% 12% 12%;position:relative;overflow:hidden;isolation:isolate}.sun{position:absolute;top:38px;left:50px;color:#6c333d;font-size:76px;background:#f2cf87;border-radius:50%;width:100px;height:100px;line-height:95px;text-align:center;transform:rotate(-12deg)}.rainbow{position:absolute;width:260px;height:260px;border:24px solid #c52249;border-bottom-color:transparent;border-radius:50%;right:-40px;top:48px;box-shadow:inset 0 0 0 18px #f0cdd6}.cloud{background:var(--paper);width:100px;height:27px;border-radius:50px;position:absolute;top:170px;left:40px}.cloud:before,.cloud:after{content:'';position:absolute;background:var(--paper);border-radius:50%;width:44px;height:44px;bottom:3px;left:14px}.cloud:after{left:43px;width:34px;height:34px}.c2{left:auto;right:35px;top:225px;transform:scale(.7)}.school{width:170px;height:145px;background:#f3d9d8;position:absolute;bottom:86px;left:34%;transform:rotate(-4deg);z-index:2}.roof{position:absolute;top:-65px;left:-18px;width:0;height:0;border-left:103px solid transparent;border-right:103px solid transparent;border-bottom:70px solid #be2045}.school b{position:absolute;top:10px;left:55px;letter-spacing:6px;font-size:18px}.window{width:35px;height:37px;background:#fff5f5;border:5px solid #fff5d8;position:absolute;top:52px;left:15px}.w2{left:auto;right:15px}.door{position:absolute;bottom:0;left:68px;width:38px;height:70px;border-radius:20px 20px 0 0;background:#b81d43}.hill{position:absolute;width:500px;height:180px;border-radius:50%;background:#e4a5b4;bottom:-55px;left:-130px;transform:rotate(15deg)}.h2{left:170px;bottom:-80px;background:#f1cdd5;transform:rotate(-20deg)}.flower{position:absolute;z-index:3;font-size:90px;line-height:1;color:#c52b4e;bottom:80px;left:35px;transform:rotate(8deg)}.f2{left:auto;right:40px;bottom:65px;font-size:110px;color:#fff5d9}.f3{left:145px;bottom:40px;font-size:60px;color:#f7d574}.artlabel{position:absolute;z-index:5;bottom:20px;left:50%;transform:translateX(-50%) rotate(-3deg);white-space:nowrap;padding:10px 20px;border-radius:6px;background:#fffdfb;font-size:12px;box-shadow:0 4px 0 #24202410}.star{position:absolute;color:#a32141;font-size:35px;top:30px;right:150px}.s2{top:240px;left:30px}.ribbon{padding:21px 20px;display:flex;justify-content:space-evenly;align-items:center;background:#f6e1e5;gap:20px;font-size:12px;letter-spacing:2px;font-weight:700}.section{max-width:1200px;margin:auto;padding:85px 24px}h2{font-size:clamp(28px,3.2vw,44px);line-height:1.4;letter-spacing:-1px;margin:0}h3{font-size:23px;line-height:1.4}.about{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.bodycopy{color:#70636a;font-size:16px;line-height:2;margin-bottom:25px}.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:35px}.sectionhead>p{font-size:13px;color:#70636a}.discover{padding-top:20px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.cards article{border-radius:25px;background:#f9e9ed;padding:32px}.cards article:nth-child(2){background:#fcf0e8}.cards article:nth-child(3){background:#f0eef2}.icon{height:67px;display:block;font-size:47px;font-family:Georgia,serif;font-weight:bold;color:#b62045}.cards article:nth-child(2) .icon{color:#a8424e}.cards article:nth-child(3) .icon{color:#735262}.tag{font-size:10px;letter-spacing:2px;font-weight:700;margin-top:23px}.cards h3{margin:12px 0}.cards p:last-child{font-size:14px;color:#71606a}.note{font-size:11px;color:#796b71;margin:24px 0 0}.life{padding-top:25px}.moments{display:grid;grid-template-columns:1fr 1fr;gap:28px}.picture{height:280px;border-radius:22px;background:#f5dce3;position:relative;overflow:hidden}.blue .picture{background:#f1e6e9}.picture span{position:absolute;font-size:200px;line-height:1;left:80px;top:40px;color:#c13958;transform:rotate(-12deg)}.picture i{font-size:80px;position:absolute;right:45px;top:20px;color:#fcf6dc;font-style:normal}.picture b{font-size:90px;position:absolute;right:70px;bottom:10px;color:#9f2747;transform:rotate(10deg)}.blue .picture span{color:#f6cc65}.moment h3{margin:9px 0}.moment>p:last-child{font-size:12px;color:#796b71}.faq{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;padding-top:25px}.questions details{border-bottom:1px solid #e6d8dc;padding:20px 0}.questions summary{cursor:pointer;font-size:15px;font-weight:600}.questions p{font-size:14px;color:#70636a}.contact{margin:20px auto 0;background:#fae8ed;text-align:center;padding:75px 25px;position:relative;overflow:hidden}.contact p{font-size:14px}.contact .eyebrow{font-size:11px}.contact .button{margin-top:16px;background:#242024}.contactnote{font-size:11px!important;color:#78636b;margin-top:23px}.contactstar{position:absolute;left:6%;top:30%;font-size:130px;color:#ecc1cd;transform:rotate(15deg)}footer{max-width:1280px;padding:35px 42px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b62045;outline-offset:5px}@media(max-width:800px){header{padding:18px 20px;gap:13px}nav{display:none}.brand{font-size:18px;flex:1}.brand small{font-size:9px}.small{padding:10px 15px}.hero{padding:30px 24px 45px;grid-template-columns:1fr;gap:40px}.art{height:400px;max-width:520px;width:100%;margin:auto}h1{font-size:48px}.section{padding:55px 24px}.about,.faq{grid-template-columns:1fr;gap:25px}.cards{grid-template-columns:1fr}.sectionhead{display:block}.sectionhead .textlink{display:inline-block;margin-top:20px}.ribbon{font-size:9px;letter-spacing:.5px}.ribbon>span:last-of-type,.ribbon>span:last-of-type+*{display:none}.moments{grid-template-columns:1fr}.contactstar{left:-40px;opacity:.35}.contact{padding:60px 24px}footer{padding:28px 24px;flex-wrap:wrap}footer .brand{flex-basis:100%}.actions{gap:18px}.button{font-size:13px}.picture{height:250px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* School identity: original seal, crimson accents and round forms. */
.brand{position:relative;min-height:76px;padding-left:89px;display:flex;align-content:center;max-width:345px;gap:4px 0}.brand .logo{position:absolute;left:0;top:0;width:76px;height:76px;border-radius:50%;object-fit:contain;background:#fff}.brand small{margin-left:0;font-size:10px;letter-spacing:.7px}.brand>span{font-size:22px}.hero{padding-top:45px}.art{background:radial-gradient(circle at 65% 30%,#fff 0 29%,transparent 29.3%),#faedf0}.seal{position:absolute;top:27px;right:34px;z-index:4;background:#fff;border-radius:50%;padding:9px;box-shadow:0 8px 30px #9c204013;transform:rotate(7deg)}.seal img{display:block;width:145px;height:145px;border-radius:50%}.rainbow{opacity:.2;top:35px;right:-65px}.school b{left:55px;letter-spacing:6px;color:#a91b3c}.contactstar{color:#ecc1cd}footer .brand{min-height:62px;padding-left:75px}footer .brand .logo{width:62px;height:62px}footer .brand>span{font-size:18px}@media(max-width:800px){header{flex-wrap:wrap;gap:12px}.brand{max-width:none;min-height:66px;padding-left:76px}.brand .logo{width:66px;height:66px}.brand>span{font-size:18px}.brand small{font-size:9px;letter-spacing:0}header>.brand{flex:1;min-width:200px}header>.small{margin-left:auto}.seal{right:24px;top:28px;padding:7px}.seal img{width:120px;height:120px}footer .brand{flex-basis:100%}}@media(max-width:420px){header{gap:8px;padding:15px}.brand>span{font-size:17px}header>.brand{min-width:180px}header>.small{padding:8px 14px;font-size:12px}.hero{padding-top:28px}h1{font-size:43px}.actions{flex-wrap:wrap}.sun{left:28px;width:85px;height:85px;line-height:80px;font-size:65px}}
/* Touch-friendly navigation and readable narrow-screen layouts. */
img{max-width:100%}.mobile-contact{display:none}section{min-width:0}.questions summary{padding:4px 0;min-height:44px}.questions p{overflow-wrap:anywhere}
@media(max-width:800px){html{scroll-padding-top:24px}body{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}header{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:12px;padding:16px 20px}header>.brand{min-width:0;width:100%;max-width:none}header>.brand>span{overflow-wrap:anywhere}header>#lang{width:48px;height:48px;grid-column:2;grid-row:1}header>.small{display:none}header nav{grid-column:1/-1;display:flex;margin:0;gap:8px;justify-content:space-between;border-top:1px solid #eedee3;padding-top:8px}header nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:4px 8px;font-size:14px;text-align:center}.hero{padding:24px 20px 40px;gap:28px;grid-template-columns:minmax(0,1fr)}h1{font-size:clamp(36px,9vw,52px);letter-spacing:-1px;line-height:1.35}.eyebrow{font-size:10px;letter-spacing:1.4px;margin-bottom:18px}.intro,.bodycopy{font-size:16px;line-height:1.9}.actions{gap:12px;flex-wrap:wrap}.actions .button{min-height:48px;padding:12px 22px;font-size:15px}.textlink{display:inline-flex;align-items:center;min-height:44px;font-size:14px}.art{height:350px;max-width:480px}.artlabel{font-size:11px;max-width:90%;white-space:normal;text-align:center;width:max-content}.school{left:calc(50% - 85px)}.f3{left:110px}.section{padding:42px 20px}h2{font-size:30px;line-height:1.45}h3{font-size:23px}.cards article{padding:26px}.cards p:last-child,.questions p{font-size:16px;line-height:1.85}.sectionhead>p{font-size:15px}.note,.contactnote{font-size:13px!important;line-height:1.85}.moment>p:last-child{font-size:14px}.questions summary{font-size:16px;min-height:48px}.contact{padding:46px 20px}.contact>p{font-size:16px}.contact .button{font-size:15px;min-height:48px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:20;background:#fffdfbf5;backdrop-filter:blur(12px);border-top:1px solid #ead9df;padding:10px 18px calc(10px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:12px}.mobile-contact .button{flex:1;min-height:48px;font-size:15px}.mobile-contact .mobile-top{display:flex;align-items:center;justify-content:center;border:1px solid #e5d2d6;border-radius:50%;min-width:48px;min-height:48px;font-size:22px}footer{padding:25px 20px}footer>a:last-child{min-height:44px;display:flex;align-items:center}.ribbon{flex-wrap:wrap;gap:9px;padding:16px 12px;letter-spacing:0;font-size:10px}.ribbon>span{white-space:nowrap}.tiny{font-size:12px}}
@media(max-width:360px){header{padding:14px 16px;gap:8px}.brand{padding-left:66px;min-height:58px}.brand .logo{width:58px;height:58px}.brand>span{font-size:16px}.brand small{font-size:9px}.hero,.section{padding-left:16px;padding-right:16px}header nav a{font-size:13px;padding:4px}.art{height:320px}.seal img{width:100px;height:100px}.seal{right:16px}.sun{left:18px}.flower.f2{right:12px}.flower.f1{left:15px;font-size:75px}h2{font-size:27px}.contactstar{display:none}}

/* Real school photography. */
.hero-photo{position:relative;min-width:0;background:#f8e7eb;border-radius:130px 130px 28px 28px;padding:25px 18px 63px;align-self:center;isolation:isolate}.hero-photo>img{display:block;width:100%;height:auto;border-radius:105px 105px 16px 16px;background:#fff;object-fit:contain}.photo-badge{position:absolute;bottom:14px;left:28px;right:28px;display:flex;align-items:center;justify-content:center;gap:10px;background:#fffdfb;padding:10px 15px;border-radius:14px;font-size:13px;transform:rotate(-2deg)}.photo-badge>span{color:#bd1740;font-size:27px;line-height:1}.photo-doodle{position:absolute;right:-7px;top:16px;font-size:55px;color:#bd1740;line-height:1}.picture.real-photo{display:flex;align-items:center;justify-content:center;height:365px;background:#f7ecee;overflow:hidden}.picture.real-photo img{display:block;width:100%;height:100%;object-fit:contain}.gallery-intro{margin:48px 0 20px}.gallery-intro h3{margin-bottom:8px}.gallery-intro p{font-size:14px;color:#70636a;margin-top:0}.school-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.school-gallery figure{margin:0;min-width:0}.school-gallery a{display:flex;aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:#f6ebee;align-items:center;justify-content:center}.school-gallery img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .2s}.school-gallery a:hover img{transform:scale(1.025)}.school-gallery figcaption{font-size:14px;font-weight:600;margin:12px 4px}.real-photo:focus-visible,.school-gallery a:focus-visible{outline:3px solid #bd1740;outline-offset:4px}@media(max-width:800px){.hero-photo{padding:18px 12px 64px;border-radius:90px 90px 22px 22px;width:100%;max-width:520px;margin:auto}.hero-photo>img{border-radius:77px 77px 12px 12px}.photo-badge{left:15px;right:15px;font-size:12px}.photo-doodle{font-size:42px;right:0}.picture.real-photo{height:auto;min-height:200px}.picture.real-photo img{height:auto;max-height:440px;object-fit:contain}.school-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gallery-intro{margin-top:36px}.gallery-intro p{font-size:15px}.school-gallery figcaption{font-size:14px}.school-gallery a:hover img{transform:none}}

.contact-email{position:relative;z-index:1;margin:26px auto 16px;max-width:100%}.contact-email>span{font-size:12px;letter-spacing:1px}.contact-email a{display:inline-flex;align-items:center;min-height:44px;font-size:clamp(15px,4.3vw,21px);font-weight:600;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere;max-width:100%}

.admissions{padding-top:35px}.admission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.admission-grid article{background:#faedf0;border-radius:22px;padding:28px}.admission-grid h3{margin:14px 0}.admission-grid p{font-size:15px;color:#70636a;line-height:1.9}.enrolment-guide{margin-top:32px;border:1px solid #ead7de;border-radius:22px;padding:28px}.enrolment-guide ol{padding-left:22px}.enrolment-guide li{padding-left:8px;margin:20px 0}.enrolment-guide li::marker{color:#bd1740;font-weight:bold}.enrolment-guide li p{font-size:15px;color:#70636a;margin:5px 0}.school-address{position:relative;z-index:1;margin:32px auto;max-width:600px}.school-address h3{font-size:20px;margin-bottom:12px}.school-address address{font-style:normal;font-size:18px;line-height:1.8}.school-address .note{font-size:12px}@media(max-width:800px){.admission-grid{grid-template-columns:1fr}.admission-grid article,.enrolment-guide{padding:24px}.admission-grid p,.enrolment-guide li p{font-size:16px}.admissions .sectionhead .textlink{margin-top:14px}.school-address .note{font-size:13px}}
