@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--wine:#641326;--wine-dark:#40091a;--cream:#fbf7ee;--paper:#fffdf8;--gold:#cfad69;--ink:#302027;--muted:#6f6164}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.55 'DM Sans',Arial,sans-serif;background:var(--paper)}a{color:inherit;text-decoration:none}button,a{ -webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #a46c0a;outline-offset:4px}h1,h2,h3,p{margin-top:0}.wrap{width:min(1200px,calc(100% - 64px));margin:auto}.site-header{background:var(--paper);border-bottom:1px solid #eee2db;position:relative;z-index:5}.header-inner{min-height:88px;display:flex;align-items:center;gap:42px}.brand{display:flex;align-items:center;gap:11px;min-width:244px}.brand-mark{display:grid;place-items:center;width:45px;height:45px;border:1.5px solid var(--wine);border-radius:50%;color:var(--wine);font-family:Georgia;font-size:30px;line-height:1;position:relative}.brand-mark span{position:absolute;right:-5px;top:-5px;background:var(--paper);font:15px Arial}.brand-name{font:700 22px/.86 'DM Sans',sans-serif;letter-spacing:.085em;color:var(--wine)}.brand-name small{display:block;font:600 10px/1.8 'DM Sans',sans-serif;letter-spacing:.26em}.site-header nav{display:flex;gap:26px;margin:auto}.site-header nav a{font-size:13px;font-weight:700}.site-header nav a:hover,.text-link:hover{color:#a66626}.header-link{font-size:13px;color:var(--wine);font-weight:700;border-bottom:1px solid var(--wine);white-space:nowrap}.header-link span{padding-left:7px}.hero{background:var(--cream);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr .92fr;gap:48px;align-items:center;min-height:623px}.hero-copy{padding:78px 0 84px}.eyebrow,.label{text-transform:uppercase;font-size:11px;letter-spacing:.19em;font-weight:700;color:var(--wine)}.eyebrow{display:flex;align-items:center;gap:10px}.dot{background:var(--wine);width:7px;height:7px;border-radius:50%}h1,h2{font-family:'Playfair Display',Georgia,serif;letter-spacing:-.035em;line-height:1.12;font-weight:500}h1{font-size:clamp(54px,5.4vw,84px);margin:24px 0 28px;color:var(--wine-dark)}h1 em{color:#ab7c47;font-weight:500}.hero-copy>p{font-size:18px;max-width:500px;color:#5e5052;line-height:1.72}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:33px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;background:var(--wine);color:white;padding:15px 21px;font-size:13px;font-weight:700;border:1px solid var(--wine);min-height:50px}.button:hover{background:var(--wine-dark)}.text-link{font-size:13px;font-weight:700;white-space:nowrap}.hero-note{margin-top:68px;color:var(--wine);font-size:13px;font-weight:700;letter-spacing:.035em}.hero-note span{color:var(--gold);padding:0 8px}.hero-art{height:514px;position:relative;background:#e9d9bc;border-radius:48% 48% 2px 2px;overflow:hidden;isolation:isolate;box-shadow:15px 15px 0 #f3ead9}.hero-art:before{content:'';position:absolute;width:150%;height:40%;border-radius:50%;background:#b8c5a0;bottom:-20%;left:-25%}.sun{position:absolute;width:120px;height:120px;background:#e9b963;border-radius:50%;right:15%;top:14%;box-shadow:0 0 0 18px #e8c47f55}.ray{position:absolute;background:#d9a74e;width:4px;height:35px;right:24%;top:6%;transform:rotate(18deg)}.ray.two{right:6%;top:19%;transform:rotate(75deg)}.arch{position:absolute;border-radius:50% 50% 0 0;bottom:16%;width:90px;height:195px;background:#b29f82}.arch-one{left:5%}.arch-two{right:1%;height:140px;background:#c0ac8e}.school{position:absolute;bottom:12%;left:22%;width:59%;height:50%;background:#fff7e6;border:8px solid #f5e6c9;box-shadow:7px 12px 0 #8f6b58aa;display:flex;align-items:center;flex-direction:column}.school-roof{position:absolute;bottom:100%;left:-10%;width:120%;height:70px;background:#77233a;clip-path:polygon(50% 0,100% 100%,0 100%)}.school-top{font-size:15px;letter-spacing:.2em;font-weight:700;color:var(--wine);margin-top:30px}.school-windows{display:flex;gap:30px;margin-top:17px}.school-windows i{width:33px;height:45px;background:#d5ac83;border:4px solid #8b3b43;border-radius:16px 16px 0 0}.school-door{width:51px;height:73px;background:var(--wine);border-radius:26px 26px 0 0;position:absolute;bottom:0}.ball{width:42px;height:42px;background:var(--gold);border-radius:50%;position:absolute;left:14%;bottom:11%}.flower{position:absolute;color:#fff3c4;font-size:45px;bottom:13%;right:9%}.flower-two{font-size:27px;left:5%;bottom:20%}.art-caption{position:absolute;bottom:0;left:0;right:0;background:var(--wine);color:white;display:flex;justify-content:space-between;padding:15px 21px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.ticker{background:var(--wine);color:#fff8ed;overflow:hidden}.ticker .wrap{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:28px;white-space:nowrap;font-size:12px;letter-spacing:.28em;font-weight:700}.ticker b{color:var(--gold);font-size:14px}.section{padding:112px 0;scroll-margin-top:24px}.two-col{display:grid;grid-template-columns:.85fr 1fr;gap:90px}.label{margin-bottom:20px}h2{font-size:clamp(42px,4vw,62px);color:var(--wine-dark);margin:0}.section-body{padding-top:43px}.section-body p,.section-top>p,.contact-grid>div>p:not(.label){font-size:16px;line-height:1.85;color:#5e5052}.signature{margin-top:30px;font-family:'Playfair Display',Georgia,serif;font-size:24px;color:var(--wine)}.signature span{color:var(--gold)}.learning{background:#f7f0e3}.section-top{display:flex;justify-content:space-between;align-items:end;gap:64px}.section-top>p{max-width:350px;margin:0 0 5px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px}.feature-grid article{background:var(--paper);padding:29px 30px 33px;min-height:280px}.feature-number{font-size:11px;color:#967b68;font-weight:700}.feature-icon{font:48px Georgia;color:#bd9254;margin:5px 0 19px}.feature-grid h3{font:500 26px/1.2 'Playfair Display',Georgia,serif;color:var(--wine);margin:0 0 12px}.feature-grid p{font-size:14px;color:#6d5e60;line-height:1.7;margin:0}.section-footnote,.muted{font-size:13px!important;color:#79696b!important}.section-footnote{margin:20px 0 0}.admissions{background:var(--wine);color:white}.admissions-grid{display:grid;grid-template-columns:1fr .8fr;gap:115px;align-items:center}.light{color:#e5bd7f}.admissions h2{color:white}.admissions-grid>div>p:not(.label){line-height:1.75;color:#f3dfe2;max-width:475px;margin:25px 0 28px}.light-button{background:#fff9ee;color:var(--wine);border-color:#fff9ee}.light-button:hover{background:#eadfc9}.class-card{background:#fff9ef;color:var(--wine-dark);padding:30px 38px}.class-card>p{font:500 24px 'Playfair Display',Georgia,serif;margin-bottom:18px}.class-card>div{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid #dfd2c5;font-size:16px}.class-card b{font-size:11px;color:#9a7b66}.class-card small{display:block;color:#806e6c;margin-top:18px;line-height:1.5}.fee-heads{display:flex;gap:9px;flex-wrap:wrap;margin:21px 0}.fee-heads span{font-size:12px;color:var(--wine);padding:7px 12px;border:1px solid #e1cfbd;background:#fbf3e7}.fees .section-body{padding-top:41px}.contact{background:#f7f0e3}.contact-grid{display:grid;grid-template-columns:1fr .85fr;gap:110px;align-items:center}.contact-grid>div>p:not(.label){margin-top:24px;max-width:455px}.contact-card{background:var(--paper);padding:35px 43px;box-shadow:14px 14px 0 #e9dcc7}.contact-icon{color:var(--gold);font-size:37px}.contact-card h3{font:500 28px 'Playfair Display',Georgia,serif;color:var(--wine);margin:7px 0 0}.contact-card p{color:#8d6d5f;font-size:14px;margin:5px 0 25px}.contact-rule{height:1px;background:#eadccf}.contact-card dl{margin:13px 0 0}.contact-card dl>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #eee5d8;font-size:13px}.contact-card dt{font-weight:700}.contact-card dd{margin:0;text-align:right;color:#79696b}footer{background:#3f0a1a;color:white}.footer-inner{display:flex;align-items:center;justify-content:space-between;min-height:103px;gap:20px}.footer-inner>span{font-weight:700;letter-spacing:.09em}.footer-inner small{display:block;font-size:9px;letter-spacing:.18em}.footer-inner p,.footer-inner a{font-size:12px;margin:0;color:#ead8d9}
@media(max-width:980px){.wrap{width:min(100% - 36px,720px)}.header-inner{min-height:76px;gap:18px;flex-wrap:wrap;padding:13px 0}.brand{min-width:auto}.header-link{margin-left:auto}.site-header nav{order:3;width:100%;justify-content:space-between;gap:10px;overflow-x:auto;padding:6px 0}.hero-grid{grid-template-columns:1fr;gap:0}.hero-copy{padding:60px 0 38px}.hero-note{margin-top:34px}.hero-art{width:min(500px,100%);margin:0 auto 54px}.two-col,.admissions-grid,.contact-grid{grid-template-columns:1fr;gap:30px}.section-body,.fees .section-body{padding-top:0}.section{padding:72px 0}.section-top{align-items:start;display:block}.section-top>p{margin-top:22px}.feature-grid{gap:10px}.feature-grid article{padding:23px;min-height:280px}}
@media(max-width:600px){.wrap{width:calc(100% - 36px)}.header-inner{gap:9px}.brand-name{font-size:18px}.brand-mark{width:38px;height:38px;font-size:25px}.header-link{font-size:11px}.site-header nav a{font-size:11px}.site-header nav{gap:14px}.hero-copy{padding:47px 0 35px}.hero h1{font-size:clamp(48px,12.6vw,66px);margin:20px 0}.hero-copy>p{font-size:16px}.hero-actions{gap:14px;flex-wrap:wrap}.hero-actions .button{width:100%}.hero-art{height:370px;border-radius:43% 43% 0 0;margin-bottom:38px}.school{left:20%;width:62%;height:50%}.school-roof{height:53px}.school-top{font-size:11px;margin-top:20px}.school-windows{gap:10px;margin-top:12px}.school-windows i{width:24px;height:36px}.school-door{width:37px;height:53px}.sun{width:85px;height:85px}.art-caption{padding:13px;font-size:10px}.ticker .wrap{width:max-content;gap:25px;min-height:52px;transform:translateX(-18px)}h2{font-size:42px}.feature-grid{grid-template-columns:1fr;margin-top:29px}.feature-grid article{min-height:0}.feature-icon{margin:0 0 8px}.admissions-grid,.contact-grid{gap:35px}.class-card,.contact-card{padding:25px}.footer-inner{padding:25px 0;align-items:start;flex-direction:column;gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.admissions .class-card>p{color:var(--wine-dark);margin:0 0 18px;max-width:none}.admissions .class-card small{color:#806e6c}
.admissions-grid .class-card>p{color:var(--wine-dark);margin:0 0 18px;max-width:none}

.facilities{background:#fffcf5}.facility-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:46px 0 0}.facility-grid article{border:1px solid #e9dbc9;background:#fff;min-height:222px;padding:20px;display:flex;flex-direction:column}.facility-num{font:700 10px 'DM Sans',Arial,sans-serif;color:#957d70;letter-spacing:.09em}.facility-icon{font:31px Georgia,serif;color:#b38752;margin:4px 0 20px}.facility-grid h3{font:500 20px/1.2 'Playfair Display',Georgia,serif;color:var(--wine);margin:0 0 9px}.facility-grid p{font-size:12px;line-height:1.55;color:#706366;margin:0}.facilities .section-footnote{margin-top:22px}
@media(max-width:980px){.facility-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.site-header nav{flex-wrap:wrap;justify-content:flex-start;gap:7px 18px}.facility-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:30px}.facility-grid article{min-height:215px;padding:16px}.facility-grid h3{font-size:19px}.facility-grid p{font-size:12px}}

.facility-image{width:calc(100% + 40px);height:125px;object-fit:cover;display:block;margin:-20px -20px 16px;filter:saturate(.9)}.facility-grid article:has(.facility-image){min-height:0}.facility-grid article:has(.facility-image) .facility-icon{display:none}
@media(max-width:980px){.facility-image{width:calc(100% + 46px);margin:-23px -23px 14px;height:145px}}
@media(max-width:600px){.facility-image{width:calc(100% + 32px);margin:-16px -16px 13px;height:105px}}

.visitor-counter{display:flex;flex-direction:column;gap:1px;align-items:center;color:#ead8d9;font-size:11px}.visitor-counter .counter-label{text-transform:uppercase;letter-spacing:.13em;color:#e9c18d;font-size:10px;font-weight:700}.visitor-counter strong{color:white;font-size:15px}.visitor-counter small{color:#cfb9c0;font-size:10px}
@media(max-width:600px){.visitor-counter{align-items:flex-start}}

.survey{background:#fffaf2}.survey-layout{display:grid;grid-template-columns:.83fr 1fr;gap:100px;align-items:start}.survey-intro>p:not(.label){font-size:16px;line-height:1.8;color:#64565a;margin:25px 0 0}.survey-status{display:flex;gap:16px;margin-top:36px;padding:20px;background:#f4e7d3;color:var(--wine)}.survey-status>span{font-size:24px}.survey-status strong,.survey-status small{display:block}.survey-status strong{font-size:13px}.survey-status small{color:#776163;font-size:12px;line-height:1.55;margin-top:3px}.survey-form{padding:34px;background:white;border:1px solid #eadaca;box-shadow:12px 12px 0 #f1e5d6}.survey-form label{display:block;font-weight:700;font-size:13px;color:var(--wine-dark)}.survey-form label small{font-size:11px;color:#857579;font-weight:400}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.survey-form input[type=text],.survey-form input[type=tel],.survey-form input[type=number]{display:block;width:100%;min-height:46px;padding:10px 12px;margin-top:8px;border:1px solid #e5d9d4;background:#faf8f5;color:#766a6a;font:14px 'DM Sans',Arial,sans-serif}.survey-form input:disabled{opacity:1}.survey-form fieldset{border:0;padding:0;margin:25px 0}.survey-form legend{font-weight:700;font-size:13px;color:var(--wine-dark);margin-bottom:10px}.radio-row{display:flex;gap:18px;flex-wrap:wrap}.radio-row label{font-size:13px;font-weight:500;display:flex;align-items:center;gap:5px;color:#6f6063}.radio-row input{accent-color:var(--wine)}.survey-form>label{margin:23px 0 0}.survey-form button{margin-top:27px;border:0;background:#a9969b;color:#fff;padding:13px 17px;min-height:46px;font-weight:700;font-size:13px;cursor:not-allowed}.survey-form .form-note{font-size:11px;color:#7e6d70;line-height:1.55;margin:13px 0 0}
@media(max-width:980px){.survey-layout{grid-template-columns:1fr;gap:30px}.survey-form{max-width:660px}}
@media(max-width:600px){.survey-form{padding:22px}.form-row{grid-template-columns:1fr}.survey-intro>p:not(.label){font-size:15px}.radio-row{gap:10px 18px}}

.survey-head{display:grid;grid-template-columns:1fr .55fr;gap:56px;align-items:start}.survey-head p{font-size:16px;line-height:1.8;color:#64565a}.survey-head h2{margin-bottom:23px}.survey-head .survey-status{margin:75px 0 0}.survey-paper{max-width:none;margin-top:34px;padding:32px 38px}.survey-paper fieldset{border:0;border-top:1px solid #eadaca;padding:24px 0 5px;margin:0}.survey-paper fieldset:first-child{border-top:0;padding-top:0}.survey-paper legend{padding:0 10px 0 0;font:500 24px 'Playfair Display',Georgia,serif;color:var(--wine)}.survey-paper .form-row{margin:14px 0 0}.survey-paper label small{display:block}.survey-paper select{display:block;width:100%;min-height:46px;padding:10px;margin-top:8px;border:1px solid #e5d9d4;background:#faf8f5;color:#766a6a;font:14px 'DM Sans',Arial,sans-serif}.survey-paper select:disabled{opacity:1}.survey-paper input{cursor:not-allowed}.survey-paper .field-intro{font-size:13px;line-height:1.65;color:#6e6064;margin:8px 0 18px}.age-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.age-row{background:#fbf7f0;border:1px solid #eadaca;padding:14px;display:grid;grid-template-columns:1.2fr .7fr 1fr;align-items:end;gap:10px}.age-row>b{font-size:12px;color:var(--wine);align-self:center}.age-row label{font-size:11px}.age-row input{display:block;width:100%;min-height:43px;padding:8px;border:1px solid #e5d9d4;background:#fff;font-size:13px;margin-top:5px}.age-row select{margin-top:5px;background:#fff;min-height:43px}.survey-paper .question{margin:13px 0 24px}.survey-paper .question>p{font-size:13px;font-weight:700;color:var(--wine-dark);margin:0 0 11px}.survey-paper .question>p small{display:block;color:#87767a;font-weight:400}.survey-paper .radio-row label,.survey-paper .option-grid label{font-size:13px;color:#57494c;font-weight:500}.survey-paper .radio-row input,.survey-paper .option-grid input{cursor:not-allowed}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 20px}.option-grid label{display:flex;align-items:flex-start;gap:7px}.option-grid input{flex:none;margin-top:4px}.survey-bottom{border-top:1px solid #eadaca;padding-top:20px;display:flex;justify-content:space-between;gap:32px}.survey-bottom>p{font-size:13px;color:#605255;line-height:1.65;margin:0}.survey-bottom>p small{color:#8c7b80}.survey-bottom>div{max-width:360px}.survey-bottom button{margin-top:0}
@media(max-width:980px){.survey-head{grid-template-columns:1fr;gap:0}.survey-head .survey-status{margin:12px 0 0}.age-list{grid-template-columns:1fr}}
@media(max-width:600px){.survey-paper{padding:19px}.survey-paper legend{font-size:22px}.age-row{grid-template-columns:1fr 65px 104px;gap:6px;padding:10px}.age-row>b{font-size:11px}.age-row label{font-size:10px}.age-row input,.age-row select{padding:6px;font-size:12px}.option-grid{grid-template-columns:1fr;gap:8px}.survey-bottom{display:block}.survey-bottom>div{margin-top:20px}.survey-head p{font-size:15px}}

.contact-card dd a{color:var(--wine);text-decoration:underline;text-decoration-color:#cfb8a5;text-underline-offset:3px}.contact-card dd{overflow-wrap:anywhere;max-width:64%}

/* Cheerful school identity: warm maroon remains the anchor, with sunny and playful accents. */
:root{--wine:#761c39;--wine-dark:#55112b;--cream:#fff5de;--paper:#fffdf9;--gold:#edb93f;--ink:#302330;--muted:#6d5761;--coral:#f47e68;--sky:#d6f1f8;--mint:#dcefdc;--lavender:#e9e1f6}
body{background:#fffdf9}
.site-header{background:#fffefa;border-bottom:4px solid #f8c95a;box-shadow:0 6px 22px #7e30520d}.site-header nav a:hover{color:#b83b59}.header-link{background:#fff1ce;border:1px solid #eec462;border-radius:100px;padding:11px 17px;box-shadow:3px 4px 0 #f2d584}.header-link:hover{background:#ffe8ad}
.hero{background:radial-gradient(circle at 7% 12%,#fffef9 0 7%,transparent 7.2%),radial-gradient(circle at 96% 8%,#f5c86988 0 7%,transparent 7.2%),linear-gradient(135deg,#fff4d9 0%,#fff7e9 52%,#eaf7f6 100%);position:relative}
.hero:before{content:'✿  ✦  ✿';position:absolute;right:3%;top:23px;color:#e1a54b;font-size:25px;letter-spacing:38px;opacity:.85;transform:rotate(-10deg)}
.hero-grid{min-height:675px;gap:58px}.hero-copy{position:relative;z-index:1}.eyebrow{width:max-content;max-width:100%;padding:8px 15px;border-radius:100px;background:#fff;box-shadow:0 3px 0 #f2d99e}.dot{background:#ef7f67;width:10px;height:10px}
h1{font-size:clamp(58px,5.8vw,88px);font-weight:600;margin:28px 0 26px}.hero h1 em{color:#ec795e;position:relative}.hero h1 em:after{content:'';position:absolute;height:9px;bottom:-7px;left:1%;right:3%;background:#fac953;border-radius:100%;transform:rotate(-2deg);z-index:-1}.hero-copy>p{color:#57424c;font-weight:500}.hero-actions .button{border-radius:100px;box-shadow:5px 6px 0 #ecbd54}.button{border-radius:100px;transition:transform .15s,box-shadow .15s}.button:hover{transform:translateY(-3px)}.text-link{background:#ffffffc9;border-radius:100px;padding:12px 17px}.hero-note{background:#fff;width:max-content;max-width:100%;padding:10px 16px;border-radius:100px;margin-top:48px;box-shadow:0 4px 0 #e5ead9}
.hero-art{height:540px;border-radius:48% 48% 24px 24px;background:#f9d877;box-shadow:16px 17px 0 #b9e4d9;transform:rotate(1deg);border:8px solid #fff}.hero-art:before{background:#a6d7bd}.sun{background:#ffa94f;box-shadow:0 0 0 20px #fff4abbb}.arch{background:#f4ae7b}.arch-two{background:#b2d6d2}.school{background:#fffaf1;border-color:#f7e2ab;box-shadow:8px 11px 0 #9d6880aa}.school-roof{background:#933053}.school-windows i{background:#aee0e2;border-color:#933053}.ball{background:#f47f68}.art-caption{border-radius:0 0 15px 15px;background:#761c39}.ticker{background:#83334c}.ticker b{color:#ffe373}
.section{padding:98px 0}.intro{background:linear-gradient(110deg,#fffdfa 58%,#e5f3ed 58%);position:relative}.intro .wrap{position:relative}.intro .section-body{background:#fff;padding:30px 34px;border-radius:28px;box-shadow:0 12px 35px #612a3311;border:1px solid #f2e7dd}.intro h2:after{content:'✿';display:block;font:70px/1 Georgia;color:#f29a73;margin-top:25px}
h2{font-weight:600}.learning{background:linear-gradient(145deg,#eaf5ef,#e5f3fa 64%,#f2edff)}.feature-grid{gap:20px}.feature-grid article{border:2px solid #fff;border-radius:28px;box-shadow:0 10px 24px #456a6830;padding:27px 30px;min-height:258px;transition:transform .16s}.feature-grid article:hover,.facility-grid article:hover{transform:translateY(-5px)}.feature-grid article:nth-child(1){background:#fff0d0}.feature-grid article:nth-child(2){background:#fce4e3}.feature-grid article:nth-child(3){background:#e6e1f6}.feature-icon{color:#a04e6a}.feature-grid h3{font-weight:600}.feature-grid p{color:#4e4250}
.facilities{background:#fffaf0}.facility-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.facility-grid article{padding:0 0 18px;overflow:hidden;border:2px solid #fff;border-radius:24px;box-shadow:0 8px 23px #704c5b1c;background:#fff;transition:transform .16s}.facility-grid article:nth-child(4n+1){background:#fff1da}.facility-grid article:nth-child(4n+2){background:#e5f3f2}.facility-grid article:nth-child(4n+3){background:#ffebe7}.facility-grid article:nth-child(4n){background:#f1eafa}.facility-image,.facility-grid article:has(.facility-image) .facility-image{width:100%;height:165px;object-fit:cover;filter:saturate(1.08);margin:0 0 14px}.facility-grid .facility-num,.facility-grid h3,.facility-grid p{margin-left:18px;margin-right:18px}.facility-grid h3{font-size:21px;font-weight:600}.facility-grid p{font-size:13px}.facility-grid .facility-num{color:#97547d}.facility-grid article:has(.facility-image){min-height:0}
.admissions{background:radial-gradient(circle at 90% 16%,#a74b6277 0 19%,transparent 19.2%),linear-gradient(130deg,#661934,#8a3450);overflow:hidden}.admissions .class-card{border-radius:30px;background:#fff7df;box-shadow:15px 15px 0 #f1bf69;transform:rotate(1deg)}.class-card>div{border-color:#e9cba2}.light-button{background:#f9ce6c;border-color:#f9ce6c;box-shadow:5px 6px 0 #4b122a}.light-button:hover{background:#ffe39b}
.fees{background:linear-gradient(125deg,#ffffff 60%,#ffeadc 60%)}.fees .section-body{background:#fff;padding:30px 34px;border-radius:28px;box-shadow:0 12px 28px #96543d17}.fee-heads span{border:0;border-radius:100px;background:#def1e4;color:#523049;font-weight:700;padding:9px 15px}.fee-heads span:nth-child(even){background:#ffe5c1}
.survey{background:#e8f4f0}.survey-head .survey-status{background:#fff0c4;border:2px solid #f2d586;border-radius:20px;box-shadow:7px 7px 0 #d5e9e1}.survey-paper{border-radius:30px;box-shadow:12px 14px 0 #cde9e0;border:2px solid #e8d6ca}.survey-paper fieldset:nth-child(even){background:#fffaf0;border-radius:20px;padding:24px}.age-row{border-radius:16px;background:#fcf4e7}.survey-form button{border-radius:100px}
.contact{background:linear-gradient(125deg,#fbe6dc 0%,#fff2d4 58%,#eef6dd 100%)}.contact-card{border-radius:30px;border:2px solid #fff;box-shadow:14px 14px 0 #f3bf76}.contact-icon{color:#f49b66}.contact-card dl>div{border-color:#f0e4d8}.contact-card dd a:hover{color:#b93254}footer{background:#57122c}.footer-inner{min-height:130px}
@media(max-width:980px){.hero-grid{gap:0}.hero-art{max-width:530px}.intro{background:linear-gradient(#fffdfa,#e5f3ed)}.feature-grid article{min-height:0}.facility-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.site-header nav{gap:8px 14px}.header-link{padding:7px 10px;box-shadow:2px 2px 0 #f2d584}.hero:before{top:76px;right:-40px;font-size:17px}.hero-copy{padding:40px 0 33px}.hero h1{font-size:clamp(46px,12vw,65px);margin:22px 0}.hero-copy>p{font-size:16px;line-height:1.65}.hero-art{height:385px;box-shadow:8px 9px 0 #b9e4d9;transform:rotate(0);margin-bottom:50px}.hero-note{margin-top:32px;font-size:11px}.section{padding:72px 0}.intro .section-body,.fees .section-body{padding:25px}.feature-grid{gap:14px}.feature-grid article{padding:22px}.facility-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.facility-image,.facility-grid article:has(.facility-image) .facility-image{height:118px}.facility-grid h3{font-size:18px}.facility-grid p{font-size:12px}.facility-grid .facility-num,.facility-grid h3,.facility-grid p{margin-left:13px;margin-right:13px}.admissions .class-card{transform:none;box-shadow:8px 9px 0 #f1bf69}.survey-paper{padding:19px}.survey-paper fieldset:nth-child(even){padding:14px 8px}.contact-card{box-shadow:8px 9px 0 #f3bf76}}

.school-layout{margin:50px 0 10px;background:#fff;border-radius:27px;overflow:hidden;border:3px solid #fff;box-shadow:0 13px 29px #5c314321}.school-layout img{display:block;width:100%;height:auto;max-height:700px;object-fit:contain;background:#f4f4f1}.school-layout figcaption{display:flex;align-items:center;gap:25px;background:#e4f1eb;padding:20px 28px;color:#553449}.school-layout figcaption strong{font:600 27px 'Playfair Display',Georgia,serif;min-width:250px}.school-layout figcaption span{font-size:13px;line-height:1.55}.facility-image{background:#e9f2ed}@media(max-width:600px){.school-layout{margin-top:34px}.school-layout figcaption{display:block;padding:17px}.school-layout figcaption strong{display:block;font-size:22px;margin-bottom:8px}.school-layout figcaption span{display:block;font-size:12px}}

.admissions-grid .class-card>p:not(.label){color:#56132e!important;font-weight:600}.school-layout img{background:#f8f8f7;max-height:none}.survey-status small{color:#553f47}

.portal-footer a{color:#ffe3a3;text-decoration:underline}.portal-page{background:linear-gradient(135deg,#fff3d5,#eef8ed 46%,#fce5dc);padding:78px 0 100px;min-height:75vh}.portal-intro{display:flex;gap:55px;justify-content:space-between;align-items:center}.portal-intro h1{font-size:clamp(43px,5.1vw,72px);margin:5px 0 30px;max-width:710px}.portal-intro h1 em{color:#e87363}.portal-intro>p{font-size:18px;line-height:1.7;max-width:380px}.portal-notice{display:flex;gap:16px;background:#fff;border-left:6px solid #edb93f;border-radius:14px;padding:18px 22px;max-width:990px;box-shadow:0 8px 30px #71483614}.portal-notice strong{white-space:nowrap;color:#5b1633}.portal-notice span{font-size:14px}.portal-box{background:#fff;border-radius:30px;padding:40px;margin-top:32px;box-shadow:11px 12px 0 #b9e2d7;max-width:990px}.portal-box h2{font-size:36px;margin-bottom:12px}.portal-box>p{color:#5e5052}.portal-box .button{cursor:pointer}.portal-panel{margin-top:35px;padding:28px;border-radius:23px;background:#f8f2e6}.portal-panel[hidden]{display:none}.portal-panel h3{font:600 27px 'Playfair Display',Georgia,serif;color:#58162f}.portal-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:22px 0 27px}.portal-tiles>div{background:#fff;border-radius:18px;padding:20px;border:1px solid #f0e0d2}.portal-tiles>div:nth-child(3n+1){background:#e5f3ee}.portal-tiles>div:nth-child(3n+2){background:#fff0cf}.portal-tiles span,.portal-tiles strong{display:block}.portal-tiles span{font-size:12px;color:#664c56;margin-bottom:8px}.portal-tiles strong{font-size:17px;color:#55152e}.portal-footnote{font-size:13px;color:#634d54}.portal-close{border:0;border-radius:30px;padding:12px 19px;color:#fff;background:#761c39;cursor:pointer}.portal-aside{margin-top:39px;font-size:14px}.portal-aside a{text-decoration:underline;color:#761c39}@media(max-width:600px){.portal-page{padding:48px 0 70px}.portal-intro{display:block}.portal-intro h1{font-size:45px}.portal-intro>p{font-size:16px}.portal-notice{display:block}.portal-notice strong{display:block;margin-bottom:6px}.portal-box{padding:24px}.portal-box h2{font-size:29px}.portal-tiles{grid-template-columns:1fr}}

.brand-badge{width:58px;height:58px;object-fit:contain;border:2px solid #f4d49b;border-radius:50%;background:#fff;padding:2px;box-shadow:0 3px 10px #6a23331e}.hero-school-name{display:inline-flex;flex-direction:column;position:relative;letter-spacing:.075em;color:#62152f;margin-bottom:16px;line-height:1}.hero-school-name span{font-weight:700;font-size:clamp(27px,3.4vw,46px);letter-spacing:.11em;text-shadow:2px 3px 0 #f4ce79}.hero-school-name small{font-weight:700;font-size:clamp(11px,1.5vw,18px);letter-spacing:.33em;margin-top:8px}.hero-school-name:after{content:'';height:5px;background:linear-gradient(90deg,#ef7e65,#f1c963,#89cbb9);border-radius:20px;margin-top:12px}.brand{min-width:246px}@media(max-width:600px){.brand-badge{width:45px;height:45px}.brand{min-width:auto}.hero-school-name span{font-size:28px}.hero-school-name small{font-size:11px}}

.demo-credentials{margin:25px 0;border:1px solid #f0dcb0;background:#fff9e9;border-radius:18px;padding:19px;display:grid;grid-template-columns:1fr 1fr;gap:13px}.demo-credentials>strong,.demo-credentials>span,.demo-credentials>p{grid-column:1/-1}.demo-credentials span{font-size:13px}.demo-credentials code{background:#fff;padding:3px 5px;color:#63172d}.demo-credentials label{font-size:13px;font-weight:700}.demo-credentials input{display:block;margin-top:7px;width:100%;min-height:43px;border:1px solid #d8c4b4;border-radius:10px;padding:10px;font:inherit}.demo-credentials>p{font-size:12px;color:#a12d39;margin:0}@media(max-width:600px){.demo-credentials{grid-template-columns:1fr}}

.sample-receipt{border:2px dashed #bd9e9c;background:#fff;border-radius:16px;padding:20px;max-width:430px;margin:25px 0}.sample-receipt>div{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #eee1d8;padding:9px 0;font-size:13px}.sample-receipt strong{color:#601633}.sample-receipt .label{margin-bottom:13px}

/* School-supplied official crest */
.brand-badge{object-fit:contain;border:0;background:#fff;padding:0;box-shadow:none;border-radius:14px}.hero-identity{display:flex;align-items:center;gap:24px}.hero-crest{width:120px;height:120px;object-fit:contain;filter:drop-shadow(0 6px 7px #5f313833)}.hero-identity .hero-school-name{margin-bottom:0}@media(max-width:600px){.hero-identity{gap:14px}.hero-crest{width:92px;height:92px}.hero-identity .hero-school-name span{font-size:25px}.hero-identity .hero-school-name small{font-size:10px;letter-spacing:.19em}}

/* Founder-supplied design replaces the decorative cartoon house in the homepage hero. */
.hero-plan{margin:0;align-self:center;background:#fff;border:7px solid #fff;border-radius:22px;overflow:hidden;box-shadow:14px 16px 0 #b9e4d9;min-width:0}.hero-plan img{display:block;width:100%;height:auto;max-height:540px;object-fit:contain;background:#fff}.hero-plan figcaption{background:#761c39;color:#fff;padding:13px 18px;display:flex;justify-content:space-between;gap:16px;align-items:center;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:700}.hero-plan figcaption span{font-size:9px;letter-spacing:.07em;color:#ffe4bd;text-align:right}@media(max-width:980px){.hero-plan{width:min(530px,100%);margin:0 auto 46px}}@media(max-width:600px){.hero-plan{box-shadow:8px 9px 0 #b9e4d9;border-width:5px}.hero-plan img{max-height:none}.hero-plan figcaption{display:block;padding:10px 12px}.hero-plan figcaption span{display:block;text-align:left;margin-top:4px}}

/* Keep the crest above the decorative hero circles in narrow browsers. */
.site-header .brand-badge,.hero-identity .hero-crest{position:relative;z-index:3}.hero-identity{position:relative;z-index:3}.hero:before{pointer-events:none}

/* Ten facility concepts, ten distinct natural colour families. */
.facilities{background:linear-gradient(180deg,#fff9e9,#f1faf6 55%,#fffaf0)}.facility-grid article{border-color:#fff;box-shadow:0 9px 22px #56374820}.facility-grid article:nth-child(1){background:#fff0bc}.facility-grid article:nth-child(2){background:#dceefd}.facility-grid article:nth-child(3){background:#e8e7f8}.facility-grid article:nth-child(4){background:#fbe0d6}.facility-grid article:nth-child(5){background:#dbf0d1}.facility-grid article:nth-child(6){background:#ffe98f}.facility-grid article:nth-child(7){background:#f9dfed}.facility-grid article:nth-child(8){background:#e2e2fd}.facility-grid article:nth-child(9){background:#d1f2f4}.facility-grid article:nth-child(10){background:#ffdeb7}.facility-grid article:nth-child(1) .facility-num,.facility-grid article:nth-child(6) .facility-num{color:#8c5724}.facility-grid article:nth-child(2) .facility-num,.facility-grid article:nth-child(9) .facility-num{color:#28698a}.facility-grid article:nth-child(3) .facility-num,.facility-grid article:nth-child(8) .facility-num{color:#604e9c}.facility-grid article:nth-child(4) .facility-num,.facility-grid article:nth-child(10) .facility-num{color:#9b5939}.facility-grid article:nth-child(5) .facility-num{color:#437845}.facility-grid article:nth-child(7) .facility-num{color:#9b4e76}.facility-grid h3{color:#3e2737}.facility-grid .facility-image{filter:saturate(1.22) contrast(1.03)}

.facility-grid article:nth-child(6){background:#ffe783}.facility-grid article:nth-child(9){background:#c9eaff}.facility-grid article:nth-child(10){background:linear-gradient(145deg,#cfefff 0%,#f9ffff 90%)}.facility-grid article:nth-child(9) .facility-num,.facility-grid article:nth-child(10) .facility-num{color:#285e87}

.survey-honeypot{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important}.survey-form input:not(:disabled),.survey-form select:not(:disabled){cursor:auto}.survey-form button:not(:disabled){cursor:pointer;background:#761c39}.survey-form button:not(:disabled):hover{background:#541429}.survey-form #survey-result{font-weight:700;color:#541429;min-height:24px}

/* Leadership portraits: edited clothing from supplied images, planning-stage copy. */
.leadership-section{background:#fffaf1}.leadership-section .wrap{max-width:1180px}.leadership-section h2{font:500 clamp(35px,4vw,56px)/1.08 'Playfair Display',Georgia,serif;color:#641327;margin:7px 0 10px}.leadership-section .leadership-intro{color:#66565b;max-width:700px;margin:0 0 29px}.leadership-section .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.leadership-section .card{min-width:0;border:1px solid #e8d8ca;background:#fff;overflow:hidden;border-radius:16px;box-shadow:0 12px 30px #4918270f}.leadership-section .portrait{height:330px;background:#f1e6da;overflow:hidden;display:grid;place-items:center}.leadership-section .portrait img{width:100%;height:100%;object-fit:contain;object-position:center center;display:block}.leadership-section .body{padding:19px 20px 24px}.leadership-section .role{color:#876822;font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;margin:0 0 6px}.leadership-section h3{font:500 27px/1.15 'Playfair Display',Georgia,serif;color:#641327;margin:0 0 10px}.leadership-section .bio{font-size:13px;line-height:1.65;color:#514248;margin:0}.leadership-section .image-note{font-size:10px;line-height:1.5;color:#7a6b6d;margin:13px 0 0}.leadership-section .intro{background:none;color:#66565b;max-width:740px;margin:0 0 28px}.leadership-section .intro .wrap{all:unset}
@media(max-width:900px){.leadership-section .grid{grid-template-columns:1fr;max-width:630px}.leadership-section .portrait{height:365px}.leadership-section .card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr)}}
@media(max-width:600px){.leadership-section .grid{gap:15px}.leadership-section .card{display:block}.leadership-section .portrait{height:320px}.leadership-section .body{padding:16px 18px 20px}.leadership-section h3{font-size:25px}}
/* The portrait keeps its full 3:4 frame at half the former width and height. */
.leadership-section .portrait{height:auto;aspect-ratio:3/2}
.leadership-section .portrait img{width:50%;height:100%;object-fit:contain}
@media(max-width:900px){.leadership-section .card{display:block}.leadership-section .portrait{height:auto;aspect-ratio:3/2}}
@media(max-width:600px){.leadership-section .portrait{height:auto;aspect-ratio:3/2}}

.teacher-details{background:#fff7e9;border:1px solid #e2d0b4;border-radius:13px;padding:21px 23px;margin:21px 0 7px}.teacher-details[hidden]{display:none}.teacher-details h3{font:500 24px 'Playfair Display',Georgia,serif;color:#641326;margin:0 0 7px}.teacher-details>p{font-size:13px;line-height:1.6;color:#66555a;margin:0 0 12px}.teacher-details input{display:block;width:100%;min-height:46px;border:1px solid #e5d9d4;background:white;padding:10px 12px;margin-top:8px;font:14px 'DM Sans',Arial,sans-serif}.teacher-details .field-intro{margin:7px 0 0}.teacher-details input:disabled{display:none}@media(max-width:600px){.teacher-details{padding:18px 15px}}

.udyam-hero{display:flex;align-items:center;gap:13px;width:max-content;max-width:100%;padding:12px 17px;margin:20px 0 0;color:#fff;background:#641326;border:1px solid #b68d52;border-radius:12px;box-shadow:0 5px 0 #e9d4aa}.udyam-seal{display:grid;place-items:center;flex:none;border:1.5px solid #edce82;border-radius:50%;width:36px;height:36px;color:#edce82;font:23px Georgia,serif}.udyam-hero strong,.udyam-hero span:not(.udyam-seal){display:block}.udyam-hero strong{font-size:13px;letter-spacing:.01em}.udyam-hero div>span{font-size:11px;letter-spacing:.08em;color:#f7dbaf;margin-top:3px}.footer-registration{display:flex;flex-direction:column;gap:4px;max-width:290px;font-size:11px;line-height:1.45;color:#f2dce1}.footer-registration strong{font-size:13px;color:white;letter-spacing:.06em}.footer-inner{gap:18px}@media(max-width:600px){.udyam-hero{margin-top:20px;width:100%;align-items:flex-start}.udyam-hero strong{font-size:12px}.udyam-hero div>span{font-size:10px}.footer-registration{max-width:none;margin-bottom:18px}}

/* Homepage announcement strip. */
.flash-strip{height:42px;background:#641326;color:#fff8ed;overflow:hidden;display:flex;align-items:center;border-bottom:2px solid #cdaa65;white-space:nowrap}
.flash-strip-track{display:block;width:max-content;max-width:none;font-size:13px;font-weight:700;letter-spacing:.02em;padding:0 14px;animation:flash-enter 15s linear infinite;animation-delay:-7.5s;will-change:transform}
.flash-strip:hover .flash-strip-track,.flash-strip:focus-within .flash-strip-track{animation-play-state:paused}
@keyframes flash-enter{from{transform:translateX(-100%)}to{transform:translateX(100vw)}}
@media(prefers-reduced-motion:reduce){.flash-strip-track{animation:none;transform:none;overflow:hidden;text-overflow:ellipsis;max-width:100%}}

/* Portal: login + announcement editor */
.who-line{font-weight:600;color:#761c39;min-height:1.2em}
.ann-editor label{display:block;margin:.5rem 0;font-weight:600}
.ann-editor input[type=text],.ann-editor input:not([type]),.ann-editor select{width:100%;padding:.45rem .6rem;border:1px solid #cbb;border-radius:8px;font:inherit}
.ann-row{display:flex;gap:1rem;flex-wrap:wrap}
.ann-row label{flex:1;min-width:120px}
.ann-preview{margin:.8rem 0;border-radius:8px;overflow:hidden}
.ann-preview .flash-strip-track{animation:none;padding-left:1rem}
.staff-list{list-style:none;padding:0;margin:.3rem 0 1rem}
.staff-list li{padding:.4rem .2rem;border-bottom:1px dashed #dcc}
#login-form .demo-credentials{margin-bottom:.8rem}
.survey-list{display:grid;gap:14px;margin:.6rem 0 1.2rem}
.survey-card{border:1px solid #e4d4d8;border-radius:14px;padding:14px 18px;background:#fffdfb}
.survey-card h4{margin:0 0 8px;font-size:17px;color:#5b1633}
.survey-card dl{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:3px 14px;margin:0;font-size:15px}
.survey-card dt{font-weight:600;color:#7a6a6e}
.survey-card dd{margin:0;color:#33272a;overflow-wrap:anywhere}
#survey-status{color:#5e5052;margin:.2rem 0}
