:root{--blue:#0F2042;--sun:#D4AF37;--leaf:#A3E4D7;--mist:#EEF3FF;--ink:#16204A;--err:#C8372D;--line:#b8c4e6}
*{box-sizing:border-box}body{margin:0;font:17px/1.6 Figtree,system-ui,sans-serif;color:var(--ink);background:#fff;overflow-wrap:anywhere}
h1,h2,h3,.brand,button{font-family:'Bricolage Grotesque',system-ui,sans-serif}h1,h2,h3{line-height:1.1;color:var(--blue)}
.top{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:1rem;padding:1rem clamp(.75rem,4vw,1.5rem)}.brand{display:flex;gap:.75rem;align-items:center;color:var(--blue);text-decoration:none;font-weight:800;min-width:0}.brand small{display:block;font:400 .8rem Figtree,sans-serif}.approval{justify-self:end;color:var(--blue);font-weight:600;text-align:right}
main{width:100%;margin:auto;min-width:0}
.hero{padding-top:1rem}.hero-img{display:block;width:100%;height:auto}
.stones{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(.5rem,1.4vw,1rem);max-width:960px;margin:1.5rem auto 0;padding:0 clamp(.75rem,4vw,1.5rem);min-width:0}
.stone{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-radius:50%;text-decoration:none;color:var(--ink);padding:1rem;transition:transform .2s}
.stone:hover,.stone:focus-visible{transform:translateY(-6px)}.stone b{font:800 1.15rem 'Bricolage Grotesque',sans-serif}.stone span{font-size:.85rem}
.s0{order:2;width:260px;height:260px;background:var(--blue);color:#fff}.s1,.s2{width:200px;height:200px;background:var(--leaf);color:#fff}.s1{order:1}.s2{order:3}
.image-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;width:100%;margin:2.5rem 0 0;padding:0}
.image-pair img{display:block;width:100%;height:auto;box-shadow:0 -6px 16px -12px rgba(15,32,66,.4),0 6px 16px -12px rgba(15,32,66,.4)}
.wiz{width:100%;max-width:960px;margin:auto;padding:1rem clamp(.75rem,4vw,1.5rem) 4rem;min-width:0}.wiz h1{font-size:clamp(1.8rem,5vw,2.8rem)}.track{display:flex;flex-wrap:wrap;gap:.5rem;padding:0;list-style:none;margin:1rem 0 2rem}
.track li{padding:.3rem .8rem;border-radius:99px;background:var(--mist);font-size:.85rem}.track .done{background:var(--leaf);color:#fff}.track .now{background:var(--blue);color:#fff}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem;min-width:0}.fld,.note{grid-column:1/-1;min-width:0}.fld.half{grid-column:auto}
@media(max-width:740px){.stone{width:100%!important;height:auto!important;border-radius:999px}}
@media(max-width:640px){.fld.half{grid-column:1/-1}}
.lab{display:block;font-weight:600;min-width:0}input:not([type=checkbox]):not([type=radio]),select,textarea{display:block;width:100%;max-width:100%;min-width:0;font:inherit;font-weight:400;padding:.7rem .8rem;border:2px solid var(--line);border-radius:10px;margin-top:.3rem;background:#fff;color:var(--ink)}
:focus-visible{outline:3px solid var(--sun);outline-offset:2px}[aria-invalid=true]{border-color:var(--err)!important}
.opts{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;margin-top:.4rem}.opts label{font-weight:400}.err{color:var(--err);margin:.2rem 0 0;font-size:.9rem}
.note{background:var(--mist);padding:1rem 1.2rem;border-radius:12px}.rep{border:2px dashed var(--line);border-radius:14px;padding:1rem;margin-bottom:1rem}.rep h3{margin:0 0 .8rem;font-size:1.1rem}
button{background:var(--blue);color:#fff;border:0;border-radius:99px;padding:.8rem 1.6rem;font-weight:800;font-size:1rem;cursor:pointer}button:disabled{opacity:.6}
.ghost{background:none;color:var(--blue);border:2px solid var(--blue)}.sm{padding:.15rem .7rem;font-size:.8rem;margin-left:.6rem}.nav{display:flex;justify-content:space-between;margin-top:2rem}
.prose{grid-column:1/-1;min-width:0}.prose h3{margin:1.2rem 0 .3rem}.prose li{margin:.25rem 0}.rv{margin-bottom:1.5rem;min-width:0}.rv dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:.3rem 1rem;margin:.5rem 0}.rv dt{font-weight:600}.rv dd{margin:0;white-space:pre-wrap;min-width:0}
.hp{position:absolute;left:-9999px}[hidden]{display:none!important}#msg{color:var(--err);font-weight:600}
footer{text-align:center;padding:2rem 1rem;background:var(--mist);color:var(--blue);min-width:0}
@media(max-width:480px){.grid{grid-template-columns:minmax(0,1fr)}.rv dl{grid-template-columns:minmax(0,1fr);gap:.1rem}.rv dd{margin-bottom:.55rem}.rep{padding:.75rem}.nav{gap:.75rem}.nav button{padding:.7rem 1.1rem}}
@media(max-width:480px){.top{flex-wrap:wrap;gap:.5rem}.approval{flex-basis:100%;font-size:.9rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.promise{display:grid;grid-template-columns:1fr 1fr;margin-top:0;border-radius:24px;overflow:hidden;border:2px solid var(--blue)}
.promise-l{background:#fff;display:flex;align-items:center;justify-content:center;padding:2.5rem 1.5rem;text-align:center;border:2px solid #fff}
.promise-r{background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;padding:2.5rem 2rem;text-align:center}
.promise-r p{font:800 clamp(1.3rem,3vw,1.9rem)/1.4 'Bricolage Grotesque',system-ui,sans-serif;margin:0;max-width:28ch}
.fun{font:700 clamp(2rem,5vw,3.2rem)/1.25 Gaegu,'Comic Sans MS',cursive;margin:0;text-align:center}
.fun .line{display:block}
.fun span[class^="k"]{display:inline-block;transform:rotate(var(--r))}
.k0{color:var(--blue)}.k1{color:var(--leaf)}.k2{color:var(--ink)}.k3{color:#D97706}
.line::after{content:'★';font-size:.45em;vertical-align:top;margin-left:.15em}
.line:nth-child(1)::after{color:var(--ink)}.line:nth-child(2)::after{color:var(--sun)}.line:nth-child(3)::after{color:var(--blue)}
.sr{position:absolute;left:-9999px}
@media(max-width:760px){.promise{grid-template-columns:1fr}}
.site-nav{display:flex;align-items:center;gap:.35rem}
.site-nav a{color:var(--blue);font-weight:600;text-decoration:none;padding:.45rem .8rem;border-radius:99px}
.site-nav a:hover,.site-nav a[aria-current=page]{background:var(--mist)}
.about-page{max-width:1180px;padding:0 clamp(1rem,5vw,3rem) 4rem}
.about-hero{padding:clamp(3rem,8vw,7rem) 0 clamp(2rem,5vw,4rem);text-align:center}
.eyebrow{color:#765d0c;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:600;margin:0}
.about-hero h1{max-width:16ch;margin:.75rem auto;font-size:clamp(2.7rem,7vw,5.5rem);letter-spacing:-.045em}
.about-lead{font:700 clamp(1.35rem,3vw,2rem)/1.3 'Bricolage Grotesque',system-ui,sans-serif;color:var(--ink);margin:0}
.about-section{padding:clamp(2.5rem,6vw,5rem) 0}
.about-section h2,.about-founder h2,.about-visit h2{font-size:clamp(1.9rem,4vw,3rem);margin:.5rem 0 1rem;letter-spacing:-.025em}
.about-welcome{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.about-copy{max-width:68ch;font-size:1.05rem}
.about-gallery{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:.8rem;margin:0 0 1rem}
.about-gallery img{display:block;width:100%;height:clamp(180px,26vw,320px);object-fit:cover;border-radius:18px}
.about-quote{margin:2rem 0 0;padding:1.5rem clamp(1.25rem,4vw,3rem);border-left:5px solid var(--sun);border-radius:0 16px 16px 0;background:var(--mist);color:var(--blue);font:700 clamp(1.2rem,2.4vw,1.7rem)/1.45 'Bricolage Grotesque',system-ui,sans-serif}
.about-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}
.about-card{padding:1.4rem;border-radius:18px;background:var(--mist);border-top:4px solid var(--leaf)}
.about-card h3{margin:.1rem 0 .65rem}
.about-card p{margin:0}
.about-experience{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.about-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.about-list li{padding:1rem;border-radius:14px;background:var(--mist)}
.about-list strong,.about-list span{display:block}
.about-list strong{font-family:'Bricolage Grotesque',system-ui,sans-serif;color:var(--blue)}
.about-list span{font-size:.95rem;margin-top:.2rem}
.about-parent{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);align-items:center;padding:clamp(2rem,5vw,4rem);border-radius:24px;background:#f8f7f3}
.about-list-compact{grid-template-columns:1fr}
.about-founder{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(2rem,6vw,5rem);align-items:center;padding:clamp(3rem,7vw,6rem) 0}
.about-founder>div>p:not(.eyebrow){max-width:66ch}
.about-founder-quote{margin:0;padding:clamp(1.5rem,4vw,2.5rem);background:var(--blue);color:#fff;border-radius:24px}
.about-founder-quote span,.about-founder-quote strong,.about-founder-quote em{display:block}
.about-founder-quote strong{font:800 clamp(1.8rem,4vw,2.7rem)/1.15 'Bricolage Grotesque',system-ui,sans-serif;margin:.8rem 0}
.about-founder-quote em{color:var(--leaf);font:700 1.2rem 'Bricolage Grotesque',system-ui,sans-serif}
.about-community{max-width:850px}
.about-visit{padding:clamp(2rem,6vw,4rem);text-align:center;background:var(--mist);border-radius:24px}
.about-visit h2{max-width:25ch;margin:.6rem auto}
.about-cta{display:inline-block;margin-top:.7rem;padding:.8rem 1.25rem;border-radius:99px;background:var(--blue);color:#fff;font-weight:600;text-decoration:none}
.about-cta:hover{background:#203765}
.about-signoff{margin:2rem 0 0;color:var(--blue);font:700 clamp(1.1rem,2vw,1.4rem) 'Bricolage Grotesque',system-ui,sans-serif}
.admissions-page{max-width:1180px;padding:0 clamp(1rem,5vw,3rem) 4rem}
.admissions-hero{position:relative;display:grid;align-items:end;min-height:clamp(240px,38vw,440px);overflow:hidden;border-radius:24px;margin:1.5rem 0 0;background:var(--blue)}
.admissions-hero::after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(15,32,66,.82))}
.admissions-hero img{position:absolute;width:100%;height:100%;object-fit:cover}
.admissions-hero>div{position:relative;z-index:1;padding:clamp(1.5rem,5vw,3rem);color:#fff}
.admissions-hero .eyebrow{color:var(--leaf)}
.admissions-hero h1{color:#fff;font-size:clamp(2.8rem,7vw,5rem);margin:.35rem 0 0}
.admissions-intro,.admissions-year,.admissions-settling{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);align-items:start;padding:clamp(3rem,7vw,5rem) 0}
.admissions-intro h2,.admissions-year h2,.admissions-settling h2{font-size:clamp(1.9rem,4vw,3rem);margin:.5rem 0 1rem;letter-spacing:-.025em}
.admissions-copy{max-width:68ch}
.admissions-steps{list-style:none;counter-reset:admissions;padding:0;margin:1.5rem 0}
.admissions-steps li{counter-increment:admissions;position:relative;padding:.25rem 0 1.25rem 3.25rem}
.admissions-steps li::before{content:counter(admissions);position:absolute;left:0;top:0;width:2.25rem;height:2.25rem;display:grid;place-items:center;border-radius:50%;background:var(--leaf);color:var(--blue);font:800 1rem 'Bricolage Grotesque',system-ui,sans-serif}
.admissions-steps strong,.admissions-steps span{display:block}
.admissions-steps strong,.admissions-year-card h3,.admissions-contact h3{font-family:'Bricolage Grotesque',system-ui,sans-serif;color:var(--blue)}
.admissions-steps span{margin-top:.2rem}
.admissions-cta{display:inline-block;padding:.8rem 1.25rem;border-radius:99px;background:var(--blue);color:#fff;font-weight:600;text-decoration:none}
.admissions-cta:hover{background:#203765}
.admissions-year{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;padding:clamp(2rem,5vw,4rem);border-radius:24px;background:#f8f7f3}
.admissions-year-card{padding:clamp(1.25rem,3vw,2rem);border-radius:18px;background:#fff}
.admissions-year-card h3{font-size:1.35rem;margin:0 0 1rem}
.admissions-year-card dl{margin:0}
.admissions-year-card dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line)}
.admissions-year-card dt{font-weight:600;color:var(--blue)}
.admissions-year-card dd{margin:0}
.admissions-note{font-size:.92rem;margin:1rem 0 0}
.admissions-settling{align-items:center}
.admissions-contact{padding:clamp(1.5rem,4vw,2.5rem);border-radius:24px;background:var(--mist)}
.admissions-contact h3{font-size:clamp(1.4rem,3vw,2rem);line-height:1.2;margin:.5rem 0 1.25rem}
.admissions-contact>p:last-child{margin:1.25rem 0 0}
.admissions-contact a:not(.admissions-cta){color:var(--blue);font-weight:600}
.faq-page{max-width:1180px;padding:0 clamp(1rem,5vw,3rem) 4rem}
.faq-hero{position:relative;display:grid;align-items:end;min-height:clamp(280px,42vw,480px);overflow:hidden;border-radius:24px;margin:1.5rem 0 0;background:var(--blue)}
.faq-hero::after{content:"";position:absolute;inset:20% 0 0;background:linear-gradient(transparent,rgba(15,32,66,.88))}
.faq-hero>img{position:absolute;width:100%;height:100%;object-fit:cover}
.faq-hero>div{position:relative;z-index:1;max-width:720px;padding:clamp(1.5rem,5vw,3.5rem);color:#fff}
.faq-hero .eyebrow{color:var(--leaf)}
.faq-hero h1{color:#fff;font-size:clamp(2.5rem,6vw,4.5rem);margin:.5rem 0;letter-spacing:-.04em}
.faq-hero>div>p:last-child{max-width:52ch;margin:0;font-size:1.05rem}
.faq-gallery{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.8rem;margin:1.5rem 0 0}
.faq-gallery img{display:block;width:100%;height:clamp(150px,20vw,230px);object-fit:cover;border-radius:18px}
.faq-gallery-note{display:flex;flex-direction:column;justify-content:center;gap:.5rem;margin:0;padding:1.25rem;border-radius:18px;background:var(--mist)}
.faq-gallery-note strong{color:var(--blue);font:800 clamp(1.2rem,2.4vw,1.65rem)/1.2 'Bricolage Grotesque',system-ui,sans-serif}
.faq-content{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(2rem,6vw,5rem);align-items:start;padding:clamp(3rem,7vw,5rem) 0}
.faq-aside{position:sticky;top:1.5rem}
.faq-aside h2,.faq-bottom h2{font-size:clamp(1.9rem,4vw,2.8rem);margin:.5rem 0 1rem;letter-spacing:-.025em}
.faq-cta{display:inline-block;padding:.8rem 1.25rem;border-radius:99px;background:var(--blue);color:#fff;font-weight:600;text-decoration:none}
.faq-cta:hover{background:#203765}
.faq-groups{min-width:0}
.faq-group{margin:0 0 2.5rem}
.faq-group h2{font-size:1.6rem;margin:0 0 .75rem}
.faq-group details{border-bottom:1px solid var(--line);padding:.15rem 0}
.faq-group summary{position:relative;list-style:none;padding:.95rem 2.25rem .95rem 0;color:var(--blue);font:600 1.05rem/1.35 Figtree,system-ui,sans-serif;cursor:pointer}
.faq-group summary::-webkit-details-marker{display:none}
.faq-group summary::after{content:"+";position:absolute;right:.25rem;top:.7rem;width:1.75rem;height:1.75rem;display:grid;place-items:center;border-radius:50%;background:var(--mist);font:600 1.2rem Figtree,system-ui,sans-serif}
.faq-group details[open] summary::after{content:"−";background:var(--leaf)}
.faq-group details p{max-width:68ch;margin:0;padding:0 2rem 1rem 0}
.faq-group details a{color:var(--blue);font-weight:600}
.faq-bottom{padding:clamp(2rem,6vw,4rem);text-align:center;border-radius:24px;background:var(--mist)}
.faq-bottom h2{max-width:20ch;margin:.5rem auto}
.faq-bottom p:not(.eyebrow){margin:.5rem 0 1.25rem}
@media(max-width:760px){.top{flex-wrap:wrap}.site-nav{order:3;flex-basis:100%;justify-content:center}.about-welcome,.about-experience,.about-parent,.about-founder{grid-template-columns:1fr}.about-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.about-parent{padding:1.5rem}.about-gallery{gap:.4rem}.about-gallery img{height:clamp(145px,32vw,240px);border-radius:12px}}
@media(min-width:761px) and (max-width:980px){.top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.site-nav{grid-column:1/-1;grid-row:2;justify-self:center}.approval{grid-column:2;grid-row:1}}
@media(max-width:760px){.top{display:flex}}
@media(max-width:760px){.admissions-intro,.admissions-year,.admissions-settling{grid-template-columns:1fr}.admissions-year{padding:1.5rem}}
@media(max-width:760px){.faq-content{grid-template-columns:1fr}.faq-aside{position:static}.faq-gallery{grid-template-columns:1fr 1fr}.faq-gallery-note{grid-column:1/-1;min-height:130px}}
@media(max-width:480px){.about-cards,.about-list{grid-template-columns:1fr}.about-gallery{grid-template-columns:1fr 1fr}.about-gallery img:first-child{grid-column:1/-1}.about-gallery img{height:160px}.site-nav{justify-content:flex-start;flex-wrap:wrap;row-gap:.15rem}.site-nav a{padding:.35rem .3rem;font-size:.9rem;white-space:nowrap}.top .approval{flex-basis:100%}}
@media(max-width:480px){.faq-hero{min-height:340px}.faq-gallery{gap:.45rem}.faq-gallery img{height:150px;border-radius:12px}.faq-group h2{font-size:1.4rem}}