/* Shared design tokens, components, forms and responsive program layouts. */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 Arial,sans-serif}
body.nav-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,select{font:inherit}
button,a,select{touch-action:manipulation}
a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b65e30;outline-offset:5px}
.wrap{max-width:1200px;margin:auto;padding:0 32px}
.top{font-size:12px;text-align:center;padding:7px;letter-spacing:.07em}
header{position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
nav{height:90px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{line-height:1.1}
.brand b{font-size:25px;letter-spacing:2px}
.brand small{display:block;font-size:10px;letter-spacing:5.4px;margin-top:8px}
.brand b span:nth-child(1){color:#73648e}
.brand b span:nth-child(2){color:#586ca3}
.brand b span:nth-child(3){color:#5580a3}
.brand b span:nth-child(4){color:#668364}
.brand b span:nth-child(5){color:#bd9a43}
.brand b span:nth-child(6){color:#cb8a50}
.brand b span:nth-child(7){color:#b86c66}
.links{display:flex;gap:28px;align-items:center;font-size:14px}
.btn{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:12px 24px;border-radius:7px;color:#fff;border:1px solid var(--green);font-size:14px;font-weight:600;cursor:pointer;gap:22px}
.menu{display:none;background:none;border:1px solid var(--line);border-radius:6px;padding:10px 14px;min-height:44px;min-width:44px;align-items:center;justify-content:center;font-size:14px;font-weight:600;cursor:pointer;color:var(--ink)}
.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:2px;font-weight:700;color:#5e6b55}
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;padding:74px 0 70px}
h1,h2,h3,.serif{font-family:Georgia,serif;font-weight:400}
h1{font-size:clamp(46px,5.2vw,72px);line-height:1.08;letter-spacing:-2.5px;margin:20px 0 24px}
h1 em{font-weight:400}
p{color:var(--muted);margin:0 0 24px}
.hero p{max-width:440px;font-size:17px}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.note{font-size:12px;color:var(--muted);margin-top:24px}
.art{height:450px;border-radius:180px 180px 22px 22px;position:relative;overflow:hidden;display:grid;place-items:center}
.sun{position:absolute;right:45px;top:50px;width:70px;height:70px;border-radius:50%}
.rainbow{position:absolute;top:95px;left:65px;width:265px;height:280px;border:32px solid #c37c62;border-bottom:0;border-radius:160px 160px 0 0}
.rainbow:after{content:'';position:absolute;inset:24px 24px 0;border:24px solid #91a183;border-bottom:0;border-radius:130px 130px 0 0}
.ground{position:absolute;width:130%;height:100px;bottom:-35px;border-radius:50%}
.block{position:absolute;width:82px;height:82px;border-radius:9px;display:grid;place-items:center;font:42px Georgia;color:#faf9f3;box-shadow:4px 8px 0 #263d3610}
.a{bottom:65px;left:45px;background:#637d67;transform:rotate(-12deg)}
.b{bottom:65px;left:135px;background:#d8a55f;transform:rotate(5deg)}
.c{bottom:142px;left:90px;background:#b67a65;transform:rotate(10deg)}
.pencil{position:absolute;height:190px;width:27px;right:63px;bottom:42px;transform:rotate(27deg);border-radius:5px}
.pencil:after{content:'';position:absolute;bottom:-28px;border-left:13.5px solid transparent;border-right:13.5px solid transparent;border-top:28px solid #c49672}
.art-label{position:absolute;right:20px;bottom:28px;background:#fff9;padding:10px 14px;border-radius:8px;font-size:11px;transform:rotate(-5deg)}
.trust{display:flex;justify-content:space-between;gap:20px;border-block:1px solid var(--line);padding:22px 0;font-size:13px}
.trust span:before{content:'✦';margin-right:12px}
section{padding:80px 0}
h2{font-size:clamp(34px,3.6vw,46px);letter-spacing:-1.2px;line-height:1.18;margin:12px 0 18px}
h3{font-size:26px;line-height:1.2;margin:20px 0 15px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:32px}
.section-head p{max-width:350px;margin:0;font-size:14px}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 28px}
.filter{border:1px solid #cdd6ca;padding:9px 20px;border-radius:30px;background:transparent;color:var(--ink);cursor:pointer;font-size:13px;min-height:44px}
.filter[aria-pressed=true]{color:white}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fffdf8;display:flex;flex-direction:column;min-height:300px;transition:transform .18s ease,box-shadow .18s ease}
.card:hover,.card:focus-within{transform:translateY(-5px);box-shadow:0 14px 28px #34334c1f}
.card-photo{aspect-ratio:16/10;overflow:hidden}
.card-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.card:hover .card-photo img,.card:focus-within .card-photo img{transform:scale(1.06)}
.card-body{padding:22px 27px 27px;display:flex;flex-direction:column;flex:1}
.age{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#65735b}
.card h3{margin:9px 0 14px}
.card p{font-size:14px;flex:1}
.card a{border-top:1px solid #dbe0d3;padding-top:17px;font-size:13px;font-weight:600;display:flex;justify-content:space-between}
.card[hidden]{display:none}
.small-note{font-size:12px;margin-top:20px}
.approach{border-radius:18px;padding:55px;display:grid;grid-template-columns:1fr 1fr;gap:70px}
.approach p{font-size:15px}
.steps{border-top:1px solid #bcc8b4}
.step{padding:19px 0;border-bottom:1px solid #bcc8b4;display:grid;grid-template-columns:30px 1fr;gap:16px}
.step b{font:22px Georgia}
.step strong{display:block;font-size:15px;font-weight:500;margin-bottom:5px}
.step p{font-size:13px;margin:0}
.explore{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:24px}
.feature{padding:35px;border:1px solid var(--line);border-radius:12px}
.feature p{font-size:14px}
.text-link{font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:5px}
.founder{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;padding:65px 0;border-block:1px solid var(--line)}
blockquote{margin:0;font:28px/1.5 Georgia}
blockquote footer{font:12px/1.7 Arial;margin-top:24px;color:var(--muted)}
.faq{max-width:800px;margin:auto}
details{border-bottom:1px solid var(--line);padding:18px 0}
summary{cursor:pointer;min-height:44px;display:flex;align-items:center;padding:4px 0;font-size:16px}
details p{padding-top:12px;margin:0;font-size:14px}
.contact{color:#fff;border-radius:18px;padding:50px;display:grid;grid-template-columns:1.2fr 1fr;gap:50px}
.contact .btn{border:none}
.contact-info{border-left:1px solid #ffffff40;padding-left:40px;display:flex;flex-direction:column;gap:14px;font-size:15px}
.contact-info small{font-size:12px}
.footer{padding:35px 0 28px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}
.mobile-bar{display:none}
.skip{position:absolute;left:10px;top:-60px;background:white;padding:10px;z-index:100}
.skip:focus{top:10px}
@media(max-width:800px){.wrap{padding:0 22px}
html{scroll-padding-bottom:96px}
header{z-index:40}
nav{height:75px;position:relative}
.links{display:none;position:absolute;top:75px;left:0;right:0;z-index:42;padding:18px 22px max(18px,env(safe-area-inset-bottom));border-bottom:1px solid var(--line);align-items:stretch;max-height:calc(100dvh - 75px - env(safe-area-inset-top,0px));overflow-y:auto;-webkit-overflow-scrolling:touch}
.links.open{display:flex;flex-direction:column;gap:16px}
.links a{min-height:44px;display:flex;align-items:center}
.menu{display:inline-flex;z-index:43;position:relative}
.hero{gap:14px;padding:28px 0 22px;grid-template-columns:1fr}
h1{font-size:clamp(32px,8.6vw,42px);letter-spacing:-1.2px;max-width:500px;margin:10px 0 12px}
.hero p{font-size:16px;margin-bottom:14px}
.hero .actions{flex-direction:column}
.hero .actions .btn{width:100%}
.hero .note{margin-top:14px}
.art{height:190px;max-width:400px;width:100%;margin:2px auto 0;border-radius:100px 100px 14px 14px}
.rainbow{top:28px;left:calc(50% - 95px);height:150px;width:190px;border-width:22px}
.rainbow:after{inset:16px 16px 0;border-width:16px}
.sun{width:40px;height:40px;right:28px;top:24px}
.block{width:58px;height:58px;font-size:30px}
.a{bottom:42px;left:36px}
.b{bottom:42px;left:98px}
.c{bottom:96px;left:66px}
.pencil{height:120px;width:18px;right:42px;bottom:28px}
.pencil:after{bottom:-18px;border-left-width:9px;border-right-width:9px;border-top-width:18px}
.art-label{right:12px;bottom:14px;padding:7px 10px;font-size:10px}
.ground{height:70px;bottom:-24px}
.trust{flex-wrap:wrap;justify-content:start;gap:14px 25px;font-size:12px}
.section-head{align-items:start;flex-direction:column;gap:5px}
.cards{grid-template-columns:1fr}
.card{min-height:260px}
.approach{padding:30px;grid-template-columns:1fr;gap:20px}
.explore{grid-template-columns:1fr}
.founder{grid-template-columns:1fr;gap:20px;padding:40px 0}
blockquote{font-size:24px}
.contact{padding:30px;grid-template-columns:1fr;gap:30px}
.contact-info{border-left:0;border-top:1px solid #ffffff40;padding:25px 0 0}
.footer{flex-direction:column}
body:has(.mobile-bar) .footer{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
.mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;padding:10px 18px max(10px,env(safe-area-inset-bottom));background:#faf9f3f5;border-top:1px solid var(--line);gap:10px}
.mobile-bar a{flex:1}
body.nav-open::before{content:"";position:fixed;inset:0;z-index:35;background:#34334c66}
body.nav-open .mobile-bar{visibility:hidden;pointer-events:none}
.top{font-size:10px;padding-top:max(7px,env(safe-area-inset-top,0px))}
.feature{padding:27px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.card,.card-photo img{transition:none}
.card:hover,.card:focus-within{transform:none}
.card:hover .card-photo img,.card:focus-within .card-photo img{transform:none}}
.testimonial{padding:55px;border-radius:18px;margin-bottom:65px}
.testimonial .cards{margin-top:30px}
.quote-slot{border:1px dashed #aeb9a6;border-radius:12px;padding:26px}
.quote-slot .quote-mark{font:56px/1 Georgia}
.quote-slot h3{font-size:23px;margin:8px 0 14px}
.quote-slot p{font-size:14px;margin:0}
.draft-label{display:inline-block;font:10px Arial;letter-spacing:1px;text-transform:uppercase;border:1px solid #bec8b6;padding:5px 9px;border-radius:20px;margin-top:20px}
.founder-link{display:inline-block;margin-top:20px}
.founder-hero{padding:65px 0 45px;max-width:850px}
.founder-hero h1{font-size:clamp(44px,5vw,68px)}
.founder-layout{display:grid;grid-template-columns:240px 1fr;gap:80px;padding-bottom:65px}
.founder-aside{border-top:1px solid var(--line);padding-top:25px}
.initials{font:50px Georgia;width:110px;height:110px;border-radius:50%;display:grid;place-items:center;margin-bottom:24px}
.founder-copy{max-width:760px}
.founder-copy h2{font-size:35px}
.founder-copy section{padding:0 0 35px}
.founder-copy p{font-size:17px}
.difference-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:25px 0}
.difference-grid article{padding:25px;background:#edf0e5;border-radius:12px}
.difference-grid h3{font-size:23px;margin:0 0 12px}
.difference-grid p{font-size:14px;margin:0}
.philosophy-quote{border-left:3px solid #9caa88;padding:10px 0 10px 25px;margin:30px 0;font:28px/1.45 Georgia}
@media(max-width:800px){.founder-layout{grid-template-columns:1fr;gap:30px}
.founder-aside{display:flex;align-items:center;gap:20px}
.initials{flex-shrink:0;width:80px;height:80px;font-size:36px;margin:0}
.difference-grid{grid-template-columns:1fr}
.founder-hero{padding-top:40px}}
.learning-gallery{padding-top:0}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.learning-photo{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:12px}
.photo-placeholder{aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;color:var(--ink)}
.learning-photo:nth-child(2n) .photo-placeholder{background:#f3e8db}
.learning-photo:nth-child(3n) .photo-placeholder{background:#e8eaf0}
.photo-symbol{font:40px Georgia}
.photo-placeholder strong{font:23px Georgia}
.photo-placeholder small{font-size:11px;letter-spacing:.7px}
.learning-photo figcaption{padding:23px;font-size:14px;color:var(--muted)}
.learning-photo figcaption strong{display:block;font-size:15px;color:var(--ink);margin-bottom:7px}
.gallery-note{font-size:12px;margin:20px 0 0}
.gallery-grid img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
@media(min-width:801px) and (max-width:1100px){nav{gap:16px}
.links{gap:14px;font-size:12px}
.links .btn{padding:12px 15px}}
@media(max-width:1000px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.gallery-grid{grid-template-columns:1fr;gap:18px}
.learning-photo figcaption{padding:20px}}
@media(max-width:800px){.hero .art{display:grid}}
:root{--ink:#34334c;--muted:#626176;--cream:#fdfbf9;--green:#655384;--line:#e4dfea;--violet:#eee4f5;--indigo:#e6e6f6;--blue:#e2effa;--pastel-green:#e6f1e5;--yellow:#fff4cf;--orange:#fbe8d8;--red:#f8e0e5}
.top{background:linear-gradient(100deg,var(--violet),var(--indigo),var(--blue),var(--pastel-green),var(--yellow),var(--orange),var(--red));color:#4c405f}
header{background:#fdfbf9f5;border-bottom:3px solid transparent;border-image:linear-gradient(90deg,#d3b9e7,#bec3e7,#badcf2,#c1dfbd,#f3df9b,#efc7a7,#eab7c2) 1}
.btn{background:#655384;border-color:#655384}
.btn:hover{background:#51416d}
.btn.light{background:#ffffff80;color:var(--ink);border-color:#b9adc9}
.btn.light:hover{background:var(--violet)}
.eyebrow,.age{color:#68577e}
h1 em{color:#796198}
.trust span:before{color:#8970a5}
.card:nth-child(1){background:var(--violet)}
.card:nth-child(2){background:var(--blue)}
.card:nth-child(3){background:var(--pastel-green)}
.card a{border-color:#c8c3d1}
.filter{border-color:#d4cadd}
.filter[aria-pressed=true]{background:#655384;border-color:#655384}
.filter:hover{box-shadow:0 0 0 2px #e6dcef}
.feature:first-child{background:var(--yellow)}
.feature:last-child{background:var(--orange)}
.approach{background:linear-gradient(135deg,var(--blue),var(--pastel-green))}
.steps,.step{border-color:#c2d4ce}
.testimonial{background:var(--red)}
.quote-slot{background:#fffafc;border-color:#c8a8b5}
.quote-slot .quote-mark{color:#997184}
.draft-label{color:#67526d;background:#ffffff70;border-color:#cbbdce}
.photo-placeholder{background:var(--violet)}
.learning-photo:nth-child(2) .photo-placeholder{background:var(--indigo)}
.learning-photo:nth-child(3) .photo-placeholder{background:var(--blue)}
.learning-photo:nth-child(4) .photo-placeholder{background:var(--pastel-green)}
.learning-photo:nth-child(5) .photo-placeholder{background:var(--yellow)}
.learning-photo:nth-child(6) .photo-placeholder{background:var(--orange)}
.photo-symbol{color:#76628a}
.learning-photo{background:#fffefd}
.contact{background:#655384}
.contact p,.contact .eyebrow{color:#eee7f6}
.contact-info small{color:#e9def3}
.contact .btn{background:var(--yellow);color:#34334c}
.contact .btn:hover{background:#f7e7b0}
.initials{background:var(--violet);color:#655384}
.difference-grid article:nth-child(6n+1){background:var(--violet)}
.difference-grid article:nth-child(6n+2){background:var(--blue)}
.difference-grid article:nth-child(6n+3){background:var(--pastel-green)}
.difference-grid article:nth-child(6n+4){background:var(--yellow)}
.difference-grid article:nth-child(6n+5){background:var(--orange)}
.difference-grid article:nth-child(6n+6){background:var(--red)}
.philosophy-quote{border-color:#b69acc}
.art{background:var(--blue)}
.sun{background:#f4dca0}
.rainbow{border-color:#e4b6c1;box-shadow:inset 0 0 0 24px #f1d7a5}
.rainbow:after{border-color:#b5d6bb}
.ground{background:#cde4cd}
.block.a{background:#a998c4}
.block.b{background:#d4b16f}
.block.c{background:#c58f9d}
.pencil{background:#e7c690}
.mobile-bar{background:#fdfbf9f5}
@media(max-width:800px){.links{background:var(--cream)}}
#programs>.cards{grid-template-columns:repeat(2,minmax(0,1fr))}
#programs .card-body{padding:19px 24px 24px}
#programs .card:nth-child(4){background:var(--yellow)}
@media(max-width:1100px){#programs>.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#programs>.cards{grid-template-columns:1fr}}
.explore{align-items:start}
.enrichment-stack{display:grid;gap:22px}
.enrichment-stack .feature:first-child{background:var(--yellow)}
.enrichment-stack .mommy-feature{background:var(--violet)}
.explore>.feature{background:var(--orange)}
.weekend-stack{display:grid;gap:22px}
.weekend-stack .weekend-feature{background:var(--blue)}
.weekend-stack .feature:last-child{background:var(--orange)}
.explore>.feature:nth-child(1){background:var(--yellow)}
.explore>.feature:nth-child(2){background:var(--blue)}
.explore>.feature:nth-child(3){background:var(--orange)}
.explore>.feature:nth-child(4){background:var(--violet)}
.daily-dropoff{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:30px 34px;margin:0 0 30px;border:2px solid #b69acc;border-left:7px solid #8b6da6;border-radius:14px;background:linear-gradient(115deg,var(--yellow),var(--orange) 55%,var(--red));box-shadow:0 7px 20px #6553840c}
.dropoff-badge{display:inline-block;background:#655384;color:white;padding:5px 12px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.7px;text-transform:uppercase}
.daily-dropoff h3{font-size:34px;margin:13px 0 10px}
.daily-dropoff p{margin:0 0 9px;color:var(--ink)}
.daily-dropoff .dropoff-detail{max-width:630px;margin:0;font-size:14px;color:var(--muted)}
.daily-dropoff .btn{flex-shrink:0}
@media(max-width:800px){.daily-dropoff{align-items:stretch;flex-direction:column}
.daily-dropoff .btn{width:100%}}
@media(max-width:800px){section{padding:28px 0}
.section-head{margin-bottom:16px}
.section-head h2{margin-bottom:12px}
.cards{gap:12px}
#programs .card{min-height:0}
#programs .card-body{padding:14px 18px 18px}
.card-photo{aspect-ratio:16/9}
.card .age{font-size:10px}
.card h3{font-size:24px;margin:7px 0 9px}
.card p{font-size:14px;line-height:1.5;margin-bottom:12px}
.card a{padding-top:9px;min-height:44px;align-items:center;gap:12px}
.filters{gap:6px;margin-bottom:18px}
.filter{padding:8px 14px}
.small-note{margin-top:12px}
.explore{gap:12px;margin-top:18px}
.explore .feature{padding:18px}
.feature .eyebrow{font-size:10px;letter-spacing:1.2px}
.feature h3{font-size:24px;margin:8px 0 9px}
.feature p{font-size:14px;line-height:1.5;margin-bottom:10px}
.feature .text-link{display:inline-flex;align-items:center;min-height:44px}
.daily-dropoff{padding:18px 20px;margin-bottom:20px;gap:12px;border-left-width:5px}
.daily-dropoff h3{font-size:29px;margin:9px 0 7px}
.daily-dropoff p{font-size:14px;line-height:1.5;margin-bottom:7px}
.daily-dropoff .dropoff-detail{font-size:13px;line-height:1.5}
.dropoff-badge{font-size:10px;padding:4px 9px}
.daily-dropoff .btn{min-height:44px;padding:10px 14px}
.gallery-grid{grid-template-columns:1fr;gap:10px}
.learning-photo{display:grid;grid-template-columns:100px minmax(0,1fr)}
.photo-placeholder{aspect-ratio:auto;min-height:120px;padding:10px;gap:7px}
.photo-symbol{font-size:25px}
.photo-placeholder strong{font-size:16px;line-height:1.2}
.photo-placeholder small{font-size:8px;letter-spacing:0;line-height:1.3}
.learning-photo figcaption{padding:14px;font-size:13px;line-height:1.45}
.learning-photo figcaption strong{font-size:14px;margin-bottom:5px}
.gallery-grid img{height:100%;min-height:120px;aspect-ratio:auto}
.gallery-note{margin-top:12px}
.testimonial{padding:20px;margin-bottom:36px}
.testimonial .cards{margin-top:18px}
.quote-slot{padding:17px}
.quote-slot .quote-mark{display:none}
.quote-slot h3{font-size:22px;margin:0 0 8px}
.quote-slot p{line-height:1.5}
.quote-slot .draft-label{margin-top:12px}
.difference-grid{gap:12px;margin:18px 0}
.difference-grid article{padding:18px}
.difference-grid h3{font-size:22px;margin-bottom:8px}
.difference-grid p{line-height:1.5}}
@media(min-width:601px) and (max-width:800px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.learning-photo{grid-template-columns:85px minmax(0,1fr)}}
.site-detail-1{margin-top:35px}
.site-detail-2{font-size:13px;margin-top:8px}
.site-detail-3{font-size:26px;color:var(--ink);margin-top:30px}
.site-detail-4{font-size:13px}
.site-detail-5{padding-top:0}
.site-detail-6{font-size:12px;margin-bottom:0}
.application-page{padding-top:48px;padding-bottom:30px}
.application-page h1{font-size:clamp(38px,5vw,60px)}
.application-page>p{max-width:720px}
.application-help{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--blue);border-radius:12px 12px 0 0;font-size:13px}
.application-help a{flex-shrink:0;min-height:44px;display:flex;align-items:center}
.application-frame{display:block;width:100%;height:max(700px,85svh);border:1px solid var(--line);background:white}
.application-support{font-size:13px;margin-top:20px}
@media(max-width:800px){.application-help{align-items:start;flex-direction:column;gap:4px}
.application-frame{height:80svh;min-height:550px}}
.application-section{min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--blue)}
.application-section:nth-child(2n){background:var(--violet)}
.application-section:nth-child(3n){background:var(--pastel-green)}
.application-section legend{font:24px Georgia;padding:0 8px}
.form-grid{display:grid}
.form-grid>label{font-weight:600}
.form-grid input:not([type=checkbox]),.form-grid select{display:block;width:100%;min-height:46px;padding:10px 12px;margin-top:6px;border:1px solid #aea3bb;border-radius:6px;background:#fff;color:var(--ink);font:16px Arial}
.form-grid input:focus-visible,.form-grid select:focus-visible{outline:3px solid #8970a5;outline-offset:2px}
.form-grid .check{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;font-weight:400}
.check input{width:20px;height:20px;flex-shrink:0;accent-color:#655384}
.choice-group{grid-column:1/-1;border:1px solid #c5bcd1;border-radius:8px}
.choice-group legend{font:15px Arial}
.native-terms{padding:18px;font-size:14px;line-height:1.6}
.native-terms h3{font-size:24px}
.native-terms p{margin:12px 0}
.terms-details summary{font-weight:600}
.application-section:last-of-type .form-grid{grid-template-columns:1fr}
#review-details{font:14px/1.6 Arial;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--blue);padding:20px;border-radius:12px}
#form-error{color:#a12438}
.application-page [hidden]{display:none!important}
@media(max-width:600px){.application-section{padding:16px;margin:18px 0}
.form-grid{grid-template-columns:1fr;gap:14px}
.application-section legend{font-size:22px}
.native-terms{padding:10px}}
.application-page h1{margin:12px 0 16px}
.application-page>p{margin-bottom:16px}
.application-section{padding:16px 20px;margin:16px 0}
.form-grid{gap:12px 16px;grid-template-columns:repeat(3,minmax(0,1fr))}
.form-grid>label{font-size:13px}
.form-grid .address-field{grid-column:span 2}
.application-section legend{font-size:22px}
.choice-group{display:flex;flex-wrap:wrap;gap:4px 18px}
.choice-group .check{min-height:44px}
.form-grid .check:has([name="form_fields[days_of_week][]"]){display:inline-flex}
.copy-address{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;margin-bottom:8px}
.copy-address input{width:20px;height:20px;accent-color:#655384}
.form-grid input[readonly]{background:#f1eef5;color:#655384}
.application-section:nth-last-of-type(2) .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-grid .check:has([name="form_fields[days_of_week][]"]){padding:0 5px}
.application-help{padding:14px 18px}
@media(max-width:800px){.application-page{padding-top:22px;padding-bottom:12px}
.application-section{padding:12px 14px;margin:14px 0}
.form-grid,.application-section:nth-last-of-type(2) .form-grid{grid-template-columns:1fr;gap:12px}
.form-grid .address-field{grid-column:auto}
.form-grid>label{font-size:13px}
.form-grid input:not([type=checkbox]),.form-grid select{margin-top:4px;min-height:44px;padding:9px 10px}
.application-section legend{font-size:20px}
.application-help{padding:12px 14px;font-size:13px}
.choice-group{gap:0 12px}
.native-terms{font-size:13px}
#application-review .actions{flex-direction:column}
#application-review .actions .btn{width:100%}}
.session-picker{grid-column:1/-1;min-width:0;border:1px solid #c5bcd1;border-radius:8px;padding:12px}
.session-picker legend{font:15px Arial}
.session-picker>p{font-size:12px;margin:0 0 8px}
.session-options{display:grid;gap:8px}
.session-options:focus-visible{outline:3px solid #8970a5;outline-offset:3px}
.form-grid .session-option{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;padding:12px;background:#ffffffb0;border:1px solid var(--line);border-radius:7px;min-height:48px}
.session-option strong{font-weight:600;overflow-wrap:anywhere}
.session-time{font-size:13px;color:var(--muted)}
.session-option:has(input:checked){background:var(--violet);border-color:#8970a5}
.session-picker .session-count{margin:8px 0 0;color:var(--ink)}
@media(max-width:800px){.session-options{max-height:min(52vh,420px);overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}
.form-grid .session-option{grid-template-columns:22px minmax(0,1fr);gap:3px 10px;padding:10px;min-height:66px}
.session-option input{grid-row:span 2}
.session-time{grid-column:2}
.session-picker{padding:10px}}
.program-page{padding-top:24px}
.program-back{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
.program-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,300px);gap:40px;align-items:center;padding:18px 0 26px;border-bottom:1px solid var(--line)}
.program-intro h1{font-size:clamp(38px,4vw,58px);line-height:1.08;letter-spacing:-1.8px;margin:12px 0 14px}
.program-headline{font:25px/1.3 Georgia;color:var(--ink);margin:0 0 13px}
.program-age{display:inline-block;font-size:13px;font-weight:600;color:#554369;background:var(--violet);padding:7px 12px;border-radius:6px;margin:0 0 13px}
.program-intro>p:not(.program-headline):not(.program-age){font-size:15px;max-width:640px;margin-bottom:18px}
.program-editorial-aside{background:var(--yellow);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.program-photo{display:flex;align-items:center;gap:14px;margin:0;padding:16px;background:var(--blue)}
.program-photo img{display:block;width:42%;max-width:50%;height:auto;flex-shrink:0;border-radius:8px}
.program-photo figcaption{font:italic 14px/1.45 Georgia;color:var(--ink);min-width:0}
.program-at-glance{padding:16px}
.program-at-glance p{font-size:13px;line-height:1.5;margin:8px 0 0}
.program-tuition{padding:16px;border-top:1px solid var(--line);background:#fffdf8}
.program-tuition ul{list-style:none;padding:0;margin:8px 0 0}
.program-tuition li{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:7px 0;border-bottom:1px solid var(--line)}
.program-tuition li:last-child{border-bottom:0}
.program-tuition strong{color:var(--ink);font-weight:700}
.program-tuition .tuition-note{font-size:12px;margin:10px 0 0;color:var(--muted)}
.program-jump{display:flex;gap:24px;flex-wrap:wrap;padding:6px 0;border-bottom:1px solid var(--line);font-size:13px}
.program-jump a{min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
.program-learning{padding:26px 0 0}
.program-learning>h2{font-size:32px;margin:0 0 18px}
.program-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.program-detail-grid article{position:relative;padding:18px 0 18px 40px;border-top:1px solid var(--line)}
.learning-number{position:absolute;left:0;top:22px;font:17px Georgia;color:#8970a5}
.program-detail-grid h3{font-size:25px;margin:0 0 8px}
.program-detail-grid p{font-size:14px;line-height:1.55;margin:0;max-width:480px}
.preprimary-pathways{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.preprimary-pathways article{padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--blue)}
.preprimary-pathways article:first-child{background:var(--violet)}
.preprimary-pathways h3{font-size:28px;margin:10px 0 12px}
.preprimary-pathways p,.preprimary-pathways li{font-size:14px;line-height:1.55}
.preprimary-pathways p{margin-bottom:12px}
.preprimary-pathways ul{padding-left:20px;color:var(--muted);margin:12px 0}
.preprimary-pathways li{margin:6px 0}
.preprimary-pathways .text-link{display:inline-flex;align-items:center;min-height:44px}
.program-placement{font-size:13px;margin:18px 0}
.program-next{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--pastel-green);padding:24px;border-radius:12px;margin:20px 0}
.program-next h2{font-size:30px;margin:0 0 10px}
.program-next p{font-size:14px;max-width:440px;margin:0}
.program-next .actions{flex-shrink:0}
.program-social{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;border-top:1px solid var(--line)}
.program-social p{font-size:13px;margin:0}
.program-social .actions{gap:24px}
.program-social .text-link{display:inline-flex;align-items:center;min-height:44px}
.program-page img{max-width:50%;height:auto}
@media(max-width:1000px){.program-next{align-items:start;flex-direction:column}
.links{gap:14px;font-size:12px}
nav{gap:20px}
.links .btn{padding:12px 16px}}
@media(max-width:800px){.program-hero{grid-template-columns:minmax(0,1fr) 240px;gap:22px}
.program-intro h1{font-size:42px}
.program-photo{padding:12px;gap:12px}
.program-photo figcaption{font-size:13px}
.program-at-glance{padding:14px}
.program-mobile-bar a{min-height:44px}
.program-page{padding-bottom:12px}}
@media(max-width:600px){.program-page{padding-top:12px}
.program-hero{grid-template-columns:1fr;gap:16px;padding:12px 0 18px}
.program-intro h1{font-size:36px;letter-spacing:-1.2px;margin:10px 0 12px}
.program-headline{font-size:22px;margin-bottom:10px}
.program-age{font-size:12px;line-height:1.4;margin-bottom:10px;padding:6px 10px}
.program-intro>p:not(.program-headline):not(.program-age){font-size:14px;line-height:1.5;margin-bottom:14px}
.program-intro .actions{width:100%}
.program-intro .actions .btn{min-height:44px;padding:10px 16px;flex:1}
.program-editorial-aside{display:grid;grid-template-columns:1fr}
.program-photo{gap:12px;padding:14px;align-items:center}
.program-photo img{width:34%;max-width:140px}
.program-photo figcaption{font-size:13px;line-height:1.45}
.program-at-glance{padding:14px;border-left:0;border-top:1px solid #e4d8b5}
.program-at-glance .eyebrow{font-size:11px;letter-spacing:1.2px}
.program-at-glance p{font-size:14px;line-height:1.5;margin-top:8px}
.program-jump{font-size:12px;gap:16px}
.program-learning{padding-top:20px}
.program-learning>h2{font-size:28px;margin-bottom:14px}
.program-detail-grid,.preprimary-pathways{grid-template-columns:1fr;gap:0}
.program-detail-grid article{padding:14px 0 14px 34px}
.program-detail-grid h3{font-size:23px}
.learning-number{top:18px}
.preprimary-pathways{gap:12px}
.preprimary-pathways article{padding:18px}
.preprimary-pathways h3{font-size:25px}
.program-next{padding:18px;margin:18px 0;gap:16px}
.program-next h2{font-size:27px}
.program-next .actions{width:100%}
.program-next .btn{flex:1;min-height:44px;padding:10px 14px}
.program-social{align-items:start;flex-direction:column;gap:5px;padding:14px 0}
.program-social .text-link{font-size:13px}}
@media(max-width:480px){.program-intro .actions{flex-direction:column}
.program-intro .actions .btn{flex:none;width:100%}
.program-next .actions{flex-direction:column}
.program-next .btn{flex:none;width:100%}
.founder-hero h1{font-size:clamp(32px,9vw,42px);letter-spacing:-1.2px}}
@media(max-width:360px){.program-editorial-aside{grid-template-columns:1fr}
.program-at-glance{border-left:0;border-top:1px solid #e4d8b5}
.program-photo{flex-direction:column;align-items:stretch}
.program-photo img{width:100%;max-width:100%}
.program-photo figcaption{font-size:13px}}
