:root{--ink:#17352d;--ink-soft:#4e625b;--green:#0f5546;--green-dark:#0a3e34;--teal:#2c7667;--coral:#c7462d;--coral-dark:#9d2f1d;--gold:#b47800;--cream:#f7f1e5;--paper:#fffdf8;--white:#fff;--line:#d8d2c5;--line-strong:#b9b2a4;--blue-focus:#1456a0;--shadow:0 18px 46px #17352d1a;--radius-lg:28px;--radius-md:18px;--radius-sm:10px;--content:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--cream)}#class-schedule,#tuition-policies,#calendar,#registration-gate,#registration-heading,#volunteer-signup{scroll-margin-top:104px}body{color:var(--ink);background:var(--paper);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.65}body:lang(zh-Hans){font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,ui-sans-serif,system-ui,sans-serif}img,iframe{max-width:100%}a{color:var(--green);text-underline-offset:.18em;text-decoration-thickness:1.5px}a:hover{color:var(--coral)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:#0f55462e}:focus-visible{outline:3px solid var(--blue-focus);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink);text-wrap:balance;font-family:Georgia,Times New Roman,Noto Serif CJK SC,serif;line-height:1.08}h1{letter-spacing:-.048em;margin-bottom:20px;font-size:clamp(2.55rem,6vw,5.3rem)}h2{letter-spacing:-.035em;margin-bottom:16px;font-size:clamp(2rem,4vw,3.6rem)}h3{letter-spacing:-.02em;margin-bottom:10px;font-size:clamp(1.25rem,2.2vw,1.65rem)}.site-shell{background:var(--paper);min-height:100vh}.site-page{min-height:100vh}dialog.pdf-modal:not([open]){display:none}.pdf-modal{width:min(1000px,100vw - 32px);max-width:none;height:min(88dvh,900px);max-height:none;color:var(--ink);background:var(--white);border:0;border-radius:20px;padding:0;overflow:hidden;box-shadow:0 30px 90px #05141061}.pdf-modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#121d1ab8}.pdf-modal-panel{grid-template-rows:auto minmax(0,1fr) auto;height:100%;display:grid}.pdf-modal-header{border-bottom:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;gap:24px;padding:18px 20px 16px 24px;display:flex}.pdf-modal-header .eyebrow{margin-bottom:5px}.pdf-modal-header h2{letter-spacing:-.02em;margin-bottom:0;font-size:clamp(1.25rem,2.4vw,1.9rem)}.pdf-modal-close{border:1px solid var(--line-strong);width:46px;height:46px;color:var(--ink);background:var(--white);cursor:pointer;border-radius:50%;flex:0 0 46px;place-items:center;font-size:1.75rem;line-height:1;display:grid}.pdf-modal-close:hover{color:var(--white);border-color:var(--green-dark);background:var(--green-dark)}.pdf-modal-document{background:#5e6563;min-height:0}.pdf-modal-document iframe{background:var(--white);border:0;width:100%;height:100%;display:block}.pdf-modal-footer{border-top:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;gap:20px;padding:12px 20px 12px 24px;display:flex}.pdf-modal-footer p{color:var(--ink-soft);margin:0;font-size:.86rem}.pdf-modal-footer .button{white-space:nowrap;min-height:42px;padding:9px 16px}.container{width:min(var(--content), calc(100% - 40px));margin-inline:auto}.section{padding:clamp(64px,9vw,112px) 0}.eyebrow{color:var(--coral);letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px;font-size:.78rem;font-weight:800}.skip-link{z-index:1000;color:var(--white);background:var(--green-dark);border-radius:8px;padding:12px 16px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:100;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf8f5;border-bottom:1px solid #17352d1f;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:24px;min-height:78px;display:flex;position:relative}.brand{min-width:0;color:var(--ink);align-items:center;gap:12px;text-decoration:none;display:inline-flex}.brand img{border-radius:50%;flex:none}.brand span{min-width:0;line-height:1.2;display:grid}.brand strong{font-family:Georgia,Times New Roman,serif;font-size:1.18rem}.brand small{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;margin-top:4px;font-size:.74rem}.primary-nav{align-items:center;gap:4px;display:flex}.primary-nav a{min-height:44px;color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;padding:0 11px;font-size:.92rem;font-weight:700;text-decoration:none;display:inline-flex}.primary-nav a:hover,.primary-nav a[aria-current=page]{color:var(--green-dark);background:#e7eee9}.primary-nav .nav-cta{color:var(--white);background:var(--green);padding-inline:18px}.primary-nav .nav-cta:hover,.primary-nav .nav-cta[aria-current=page]{color:var(--white);background:var(--green-dark)}.header-controls{flex:none;align-items:center;gap:8px;display:flex}.language-toggle{border:1px solid var(--line-strong);background:var(--white);border-radius:999px;grid-template-columns:repeat(2,minmax(44px,1fr));min-width:100px;padding:2px;display:grid}.language-toggle a{min-width:44px;min-height:44px;color:var(--ink);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding-inline:9px;font-size:.8rem;font-weight:850;line-height:1;text-decoration:none;display:inline-flex}.language-toggle a:hover{color:var(--green-dark);background:#e7eee9}.language-toggle a[aria-current=page],.language-toggle a[aria-current=page]:hover{color:var(--white);background:var(--green)}.menu-button{border:1px solid var(--line);width:46px;height:46px;color:var(--ink);background:var(--white);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1.35rem;display:none}.button{text-align:center;cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:12px 20px;font-weight:800;line-height:1.25;text-decoration:none;display:inline-flex}.button-primary{color:var(--white);background:var(--green)}.button-primary:hover{color:var(--white);background:var(--green-dark)}.button:disabled,.button:disabled:hover{color:#ffffffd1;cursor:not-allowed;opacity:.72;background:#788b84}.button-secondary{color:var(--ink);border-color:var(--line-strong);background:var(--white)}.button-secondary:hover{color:var(--green-dark);border-color:var(--green);background:#edf4ef}.button-row{flex-wrap:wrap;gap:12px;display:flex}.compact-buttons .button{min-height:44px;padding:10px 16px;font-size:.9rem}.text-link{align-items:center;gap:8px;min-height:44px;font-weight:800;display:inline-flex}.upcoming-event-section{background:var(--paper);padding:12px 0 0}.upcoming-event-card{border-radius:var(--radius-md);background:linear-gradient(105deg, #f4d9907a, #fffdf8f5 54%), var(--white);border:1px solid #dfc680;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:0 20px;min-width:0;padding:14px 18px;display:grid;box-shadow:0 8px 22px #17352d12}.upcoming-event-copy{min-width:0}.upcoming-event-copy .eyebrow{margin-bottom:3px}.upcoming-event-copy h2{margin-bottom:2px;font-size:clamp(1.4rem,2vw,1.8rem)}.upcoming-event-copy p:last-child{color:var(--ink-soft);margin-bottom:0;font-size:.88rem;line-height:1.4}.upcoming-event-date{min-height:68px;color:var(--ink);background:var(--white);border:1px solid #9d2f1d38;border-radius:14px;align-content:center;place-items:center;line-height:1;text-decoration:none;display:grid;overflow:hidden;box-shadow:0 8px 20px #17352d14}.upcoming-event-date span{color:var(--coral-dark);letter-spacing:.12em;font-size:.72rem;font-weight:900}.upcoming-event-date strong{margin-block:4px 2px;font-family:Georgia,Times New Roman,serif;font-size:1.65rem}.upcoming-event-date small{color:var(--ink-soft);font-size:.68rem;font-weight:800}.upcoming-event-disclosure{min-width:0}.upcoming-event-disclosure>summary{min-height:44px;color:var(--green-dark);cursor:pointer;white-space:nowrap;align-items:center;gap:10px;padding:0 4px;font-size:.86rem;font-weight:900;list-style:none;display:inline-flex}.upcoming-event-disclosure>summary::-webkit-details-marker{display:none}.upcoming-event-disclosure>summary:after{border:1px solid var(--line-strong);content:"+";border-radius:50%;place-items:center;width:28px;height:28px;font-size:1.1rem;line-height:1;display:grid}.upcoming-event-disclosure[open]{grid-column:1/-1}.upcoming-event-disclosure[open]>summary{margin-left:auto}.upcoming-event-disclosure[open]>summary:after{content:"−"}.upcoming-event-expanded{border-top:1px solid #47544e38;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px 24px;min-width:0;margin-top:8px;padding-top:14px;display:grid}.upcoming-event-details{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 16px;min-width:0;margin:0;display:grid}.upcoming-event-details div{min-width:0}.upcoming-event-details dt{color:var(--coral-dark);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1px;font-size:.68rem;font-weight:900}.upcoming-event-details dd{color:var(--ink);margin:0;font-size:.84rem;font-weight:700;line-height:1.42}.upcoming-event-expanded>.button{white-space:nowrap}.home-hero{background:radial-gradient(circle at 10% 10%, #b4780014, transparent 28%), var(--paper);padding-top:28px}.campaign-banner{aspect-ratio:1731/909;border-radius:var(--radius-lg);background:var(--cream);width:100%;box-shadow:var(--shadow);border:1px solid #e4dac6;position:relative;overflow:hidden}.campaign-banner img{object-fit:cover}.hero-action-grid{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:end;gap:clamp(28px,6vw,88px);padding-top:clamp(42px,7vw,76px);display:grid}.hero-action-grid h1{max-width:780px;font-size:clamp(2.6rem,6vw,5.1rem)}.hero-body{max-width:720px;color:var(--ink-soft);margin-bottom:0;font-size:clamp(1.05rem,2vw,1.28rem)}.hero-actions{gap:12px;display:grid}.hero-actions .button{width:100%}.term-notice,.location-notice{color:var(--ink-soft);margin:4px 0 0;font-size:.93rem;font-weight:700}.facts{border-block:1px solid var(--line);background:var(--cream)}.facts-grid{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.fact{border-right:1px solid var(--line);gap:5px;min-width:0;padding:28px 24px;display:grid}.fact:last-child{border-right:0}.fact>span{color:var(--ink-soft);letter-spacing:.09em;text-transform:uppercase;font-size:.78rem;font-weight:800}.fact strong{overflow-wrap:anywhere;font-size:1.02rem}.fact-location-link{width:fit-content;color:var(--ink);gap:3px;text-decoration:none;display:grid}.fact-location-link small{color:var(--green);text-underline-offset:.2em;font-size:.82rem;font-weight:800;text-decoration:underline}.fact-location-link:hover strong,.fact-location-link:hover small{color:var(--coral)}.section-heading{max-width:740px;margin-bottom:34px}.section-heading p{color:var(--ink-soft);margin-bottom:0;font-size:1.05rem}.split-heading{justify-content:space-between;align-items:end;gap:28px;max-width:none;display:flex}.split-heading>div:first-child{max-width:720px}.path-section,.resources-section,.policy-section,.team-section,.impact-section{background:var(--paper)}.path-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid}.impact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.path-card,.impact-grid article,.policy-card,.resource-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);flex-direction:column;min-width:0;padding:clamp(24px,3vw,34px);display:flex}.path-card p,.impact-grid p,.policy-card p,.resource-card p{color:var(--ink-soft)}.path-card .text-link,.resource-card .text-link{margin-top:auto}.path-section{padding-block:clamp(44px,6vw,72px)}.path-section .section-heading{margin-bottom:22px}.path-card{padding:clamp(18px,2vw,24px)}.path-card h3{margin-bottom:7px;font-size:clamp(1.15rem,1.5vw,1.4rem)}.path-card p{margin-bottom:14px;font-size:.92rem;line-height:1.5}.card-number{width:44px;height:44px;color:var(--white);background:var(--coral);border-radius:50%;justify-content:center;align-items:center;margin-bottom:28px;font-size:.8rem;font-weight:900;display:inline-flex}.path-card .card-number{width:36px;height:36px;margin-bottom:16px}.school-gallery-section{color:#fffdf8d1;background:radial-gradient(circle at 82% 12%, #c7462d33, transparent 27%), linear-gradient(145deg, #102f29 0%, var(--green-dark) 56%, #12372f 100%);padding-block:36px;overflow:hidden}.school-gallery-header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px;margin-bottom:16px;display:grid}.school-gallery-copy{max-width:760px}.school-gallery-copy .eyebrow{color:#f1a58f}.school-gallery-copy h2{max-width:720px;color:var(--white);margin-bottom:8px;font-size:clamp(1.9rem,3.4vw,3.1rem)}.school-gallery-copy>p:last-child{max-width:680px;margin-bottom:0;font-size:.95rem;line-height:1.5}.school-gallery-tools{justify-items:end;min-width:0;display:grid}.school-gallery-preview-note{color:#fffdf8c7;background:#fffdf812;border:1px solid #fffdf83d;border-radius:999px;align-items:center;min-height:0;padding:4px 9px;font-size:.68rem;font-weight:800;line-height:1.25;display:inline-flex}.school-gallery-grid{grid-template-rows:repeat(2,124px);grid-template-columns:minmax(0,1.18fr) repeat(2,minmax(0,1fr));gap:10px;display:grid}.school-gallery-card{background:#183f37;border:1px solid #fffdf82e;border-radius:16px;min-width:0;min-height:0;margin:0;position:relative;overflow:hidden}.school-gallery-card.is-featured{grid-row:1/span 2}.school-gallery-card img{object-fit:cover;transition:transform .28s}.school-gallery-card:hover img{transform:scale(1.025)}.school-gallery-card:after{z-index:1;pointer-events:none;content:"";background:linear-gradient(#0000,#041813d1);position:absolute;inset:32% 0 0}.school-gallery-card figcaption{z-index:2;color:var(--white);padding:24px 12px 9px;font-size:.8rem;font-weight:850;line-height:1.3;position:absolute;bottom:0;left:0;right:0}.home-mission,.mission-section,.calendar-section,.giving-actions-section{background:var(--cream)}.home-mission{padding-block:clamp(44px,6vw,64px)}.home-mission-banner{border-radius:var(--radius-md);color:var(--white);background:var(--green-dark);box-shadow:var(--shadow);gap:24px;padding:clamp(28px,4vw,44px);display:grid}.home-mission-copy{max-width:900px}.home-mission-copy .eyebrow,.home-mission-copy h2{color:var(--white)}.home-mission-copy h2{margin-bottom:0;font-size:clamp(1.65rem,3vw,2.55rem)}.home-mission-actions{border-top:1px solid #fff3;flex-wrap:wrap;gap:10px;padding-top:22px;display:flex}.home-mission-actions .button-secondary{color:var(--white);background:0 0;border-color:#fff9}.home-mission-actions .button-secondary:hover{color:var(--green-dark);border-color:var(--white);background:var(--white)}.journey-nav-section{border-bottom:1px solid var(--line);background:var(--cream);padding:24px 0}.journey-nav ol{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.journey-nav li+li{border-left:1px solid var(--line)}.journey-nav a{min-height:82px;color:var(--ink);grid-template-columns:36px minmax(0,1fr);align-items:center;gap:13px;padding:14px 18px;text-decoration:none;display:grid}.journey-nav a:hover{color:var(--green-dark);background:#edf4ef}.journey-nav a[data-state=current]{color:var(--white);background:var(--green-dark)}.journey-nav a[data-state=complete]{background:#e7eee9}.journey-step-number{border:1px solid;border-radius:50%;place-items:center;width:34px;height:34px;font-size:.83rem;font-weight:900;display:grid}.journey-nav a>span:last-child{gap:2px;display:grid}.journey-nav strong{line-height:1.25}.journey-nav small{color:var(--ink-soft);font-size:.76rem;line-height:1.35}.journey-nav a[data-state=current] small{color:#ffffffc2}.journey-next-section{border-top:1px solid var(--line);background:var(--green-dark)}.journey-next{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:42px;display:grid}.journey-next h2,.journey-next .eyebrow,.journey-next p{color:var(--white)}.journey-next h2{margin-bottom:12px}.journey-next p:last-child{color:#ffffffc7;max-width:760px;margin-bottom:0}.journey-next .button-primary{color:var(--green-dark);background:var(--white)}.journey-next .button-primary:hover{color:var(--green-dark);background:var(--cream)}.page-hero{border-bottom:1px solid var(--line);background:radial-gradient(circle at 85% 5%, #2c76671f, transparent 30%), var(--paper);padding-bottom:clamp(56px,7vw,82px)}.page-intro{max-width:860px}.page-intro>p:last-child{max-width:760px;color:var(--ink-soft);margin-bottom:0;font-size:clamp(1.05rem,2vw,1.24rem)}.prominent-notice{border-left:5px solid var(--coral);border-radius:0 var(--radius-sm) var(--radius-sm) 0;max-width:860px;color:var(--ink);background:#fff3ee;margin-top:30px;padding:17px 20px;font-weight:800}.content-accordion{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);min-width:0;overflow:hidden}.content-accordion-summary{min-height:72px;color:var(--ink);cursor:pointer;grid-template-columns:minmax(0,1fr) auto 34px;align-items:center;gap:18px;padding:20px 24px;list-style:none;display:grid}.content-accordion-summary::-webkit-details-marker{display:none}:is(.content-accordion-summary:focus-visible,.registration-frame:focus-visible){outline-offset:-4px}.content-accordion-summary:after{border:1px solid var(--line-strong);width:32px;height:32px;color:var(--green-dark);content:"+";border-radius:50%;place-items:center;font-size:1.25rem;font-weight:700;line-height:1;display:grid}.content-accordion[open]>.content-accordion-summary{background:#edf4ef}.content-accordion[open]>.content-accordion-summary:after{content:"−"}.accordion-summary-copy{gap:4px;min-width:0;display:grid}.accordion-title{color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.12rem,2vw,1.34rem);line-height:1.25}.accordion-description{color:var(--ink-soft);font-size:.9rem;line-height:1.5}.accordion-summary-meta{min-width:max-content;color:var(--ink-soft);text-align:right;gap:2px;font-size:.83rem;display:grid}.accordion-summary-meta small{color:var(--green-dark);font-size:.76rem;font-weight:900}.content-accordion-panel{border-top:1px solid var(--line)}.schedule-section,.policy-section,.calendar-section{padding-block:clamp(44px,6vw,72px)}.schedule-section{background:var(--paper)}.schedule-groups{gap:14px;display:grid}.schedule-group{min-width:0;box-shadow:0 10px 30px #17352d0d}.schedule-group-summary{grid-template-columns:118px minmax(0,1fr) auto 34px;min-height:106px;padding:13px 20px}.class-category-art{border:1px solid var(--line);background:var(--cream);border-radius:12px;width:118px;height:78px;display:block;overflow:hidden}.class-category-art img{object-fit:cover;width:100%;height:100%;display:block}.table-wrap{min-width:0}.schedule-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.91rem}.schedule-table caption{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.schedule-table th,.schedule-table td{border-top:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere;padding:17px 14px}.schedule-table thead th{color:var(--ink-soft);background:var(--cream);letter-spacing:.07em;text-transform:uppercase;font-size:.73rem}.schedule-table thead th:first-child,.schedule-table tbody th{width:24%}.schedule-table thead th:nth-child(2){width:15%}.schedule-table thead th:nth-child(3){width:10%}.schedule-table thead th:nth-child(4){width:23%}.schedule-table thead th:nth-child(5){width:28%}.schedule-table tbody th{color:var(--green-dark);font-size:.96rem}.schedule-table tbody tr:nth-child(2n){background:#fbfaf6}.tuition-cell{gap:3px;display:grid}.tuition-cell span{display:block}.schedule-note{color:var(--ink-soft);margin:20px 0 0;font-size:.88rem}.class-note-callout{border-radius:var(--radius-sm);background:#fff8df;border:1px solid #e1c873;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:7px 14px;margin:16px 18px 20px;padding:14px 16px;display:grid}.class-note-callout>span{color:var(--coral-dark);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:900}.class-note-callout p{color:var(--ink-soft);margin-bottom:0;font-size:.88rem}.policy-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.policy-card{padding:22px}.policy-card h3,.resource-card h3{margin-bottom:8px;font-size:1.18rem}.policy-card p,.resource-card p{color:var(--ink-soft);margin-bottom:0;font-size:.9rem;line-height:1.6}.policy-card.is-archived{background:#f5f2eb;border-style:dashed;grid-column:1/-1}.calendar-panel{min-width:0}.calendar-legend{color:var(--ink-soft);flex-wrap:wrap;gap:18px;margin-bottom:24px;font-size:.88rem;font-weight:700;display:flex}.calendar-legend span{align-items:center;gap:8px;display:inline-flex}.calendar-legend span:before{content:"";border-radius:4px;width:13px;height:13px}.legend-class:before,.calendar-date.is-class{background:#dcebe3}.legend-open:before,.calendar-date.is-open{background:#f4d990}.legend-story:before{box-shadow:inset 0 0 0 2px var(--blue-focus);background:#dcebe3}.legend-closed:before,.calendar-date.is-closed{background:#f3c8bd}.month-grid{grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;gap:12px;display:grid}.month-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);min-width:0;padding:14px}.month-card h3{justify-content:space-between;align-items:baseline;margin-bottom:14px;font-size:1.05rem;display:flex}.month-card h3 span{color:var(--ink-soft);font-family:inherit;font-size:.76rem}.weekday-row,.date-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekday-row span{color:var(--ink-soft);text-align:center;text-transform:uppercase;padding-bottom:7px;font-size:.64rem;font-weight:800}.calendar-date,.empty-date{aspect-ratio:1;border:2px solid var(--white);font-variant-numeric:tabular-nums;border-radius:7px;place-items:center;min-width:0;font-size:.72rem;display:grid}.calendar-date.is-class,.calendar-date.is-open,.calendar-date.is-closed{color:var(--ink);font-weight:900}.calendar-date.has-story-time{box-shadow:inset 0 0 0 2px var(--blue-focus);position:relative}.calendar-date.has-story-time:after{background:var(--blue-focus);content:"";border-radius:50%;width:6px;height:6px;position:absolute;bottom:4px;right:4px}.calendar-event-list{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin:30px 0 0;padding:0;list-style:none;display:grid}.calendar-event-list li{border-bottom:1px solid var(--line);grid-template-columns:54px minmax(0,1fr);gap:16px;padding:18px 12px;display:grid}.calendar-event-list time{color:var(--coral);font-weight:900}.calendar-event-list span{display:grid}.calendar-event-list small{color:var(--ink-soft)}.enrollment-hero-grid{gap:28px;display:grid}.registration-section{background:#e8efe9}.registration-layout{grid-template-columns:minmax(300px,.82fr) minmax(0,1.4fr);align-items:start;gap:24px;display:grid}.registration-layout.is-locked{grid-template-columns:minmax(0,760px);justify-content:center}.registration-layout.is-unlocked{grid-template-columns:minmax(0,1fr)}.registration-sidebar{min-width:0;position:static}.registration-form-heading h2{font-size:clamp(2rem,3.2vw,3.1rem)}.registration-preflight-shell{border-radius:var(--radius-md);background:var(--white);border:2px solid #d59038;min-width:0;overflow:hidden;box-shadow:0 10px 30px #17352d0d}.registration-preflight-shell.is-complete{border-color:var(--teal)}.registration-preflight-shell.is-attention{border-color:var(--coral);box-shadow:0 0 0 5px #d3482b26,0 10px 30px #17352d14}.registration-preflight-shell.is-attention[data-attention-cycle="1"]{animation:.48s both registration-preflight-shake-a}.registration-preflight-shell.is-attention[data-attention-cycle="0"]{animation:.48s both registration-preflight-shake-b}@keyframes registration-preflight-shake-a{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@keyframes registration-preflight-shake-b{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.registration-preflight{box-shadow:none;border:0;border-radius:0}.registration-preflight>.registration-preflight-summary,.registration-preflight[open]>.registration-preflight-summary{border-top:5px solid var(--coral);background:#fff8df}.registration-preflight-shell.is-complete .registration-preflight-summary,.registration-preflight-shell.is-complete .registration-preflight[open]>.registration-preflight-summary{border-top-color:var(--teal);background:#edf4ef}.registration-preflight-shell.is-complete .registration-required-label{color:var(--green-dark);background:#cfe4d6}.registration-required-label,.volunteer-encouraged-label{color:#6b3a0a;letter-spacing:.06em;text-transform:uppercase;background:#f6d891;border-radius:999px;align-items:center;width:max-content;padding:6px 9px;font-size:.7rem;font-weight:900;display:inline-flex}.registration-preflight-body{padding:clamp(22px,3vw,32px)}.registration-preflight-body>p:first-child{color:var(--ink-soft)}.registration-action-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.registration-action-link{border:1px solid var(--line);border-radius:var(--radius-sm);min-width:0;min-height:88px;color:var(--ink);background:var(--paper);flex-direction:column;gap:5px;padding:14px;text-decoration:none;display:flex}.registration-action-link:hover{border-color:var(--green);color:var(--green-dark);background:#edf4ef}.registration-action-link strong{font-size:.91rem;line-height:1.3}.registration-action-link small,.registration-resource-note{color:var(--ink-soft);font-size:.77rem;line-height:1.45}.registration-resource-note{margin:10px 2px 0}.confirmation-note{color:var(--ink-soft);background:0 0;border:0;margin:14px 2px 0;padding:0;font-size:.78rem}.registration-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.registration-info-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);min-width:0;padding:15px}.registration-info-card h3{margin-bottom:7px;font-size:1.1rem}.registration-info-card p{color:var(--ink-soft);margin-bottom:10px;font-size:.88rem}.registration-info-card.is-payment{background:#fff8df;border-color:#d7ba6a}.registration-info-card.is-volunteer{background:#edf4ef;border-color:#a9cbbb;grid-column:1/-1}.registration-step-note{color:var(--green-dark);font-size:.82rem;display:block}.inline-links{flex-wrap:wrap;gap:8px 16px;display:flex}.inline-links a{font-size:.9rem;font-weight:800}.registration-preflight-action{border-top:1px solid var(--line);background:var(--white);gap:14px;margin:0;padding:clamp(18px,3vw,28px);display:grid}.registration-review-control{border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;background:#fff8df;border:1px solid #d7ba6a;align-items:flex-start;gap:12px;padding:15px;font-size:.92rem;font-weight:800;line-height:1.45;display:flex}.registration-review-control input{width:21px;height:21px;accent-color:var(--green);flex:none;margin:0}.registration-preflight-action .button{width:100%}.registration-preflight-action .button[data-ready=false],.registration-preflight-action .button[data-ready=false]:hover{color:#ffffffd1;opacity:.72;background:#788b84}.registration-review-error{color:#9f2f20;margin:-4px 2px 0;font-size:.86rem;font-weight:800}.registration-form-column{min-width:0}.registration-form-heading{border-radius:var(--radius-md);background:var(--white);margin-bottom:24px;padding:clamp(24px,3vw,32px)}.registration-form-heading .button{margin-top:8px}.form-help,.data-note{color:var(--ink-soft);font-size:.88rem}.data-note{border-left:3px solid var(--teal);padding-left:12px}.registration-frame-wrap{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);min-width:0;box-shadow:var(--shadow);overflow:hidden}.registration-frame{background:var(--white);border:0;width:100%;height:3060px;display:block}.registration-next-step{border:1px solid #bad2c3;border-left:6px solid var(--teal);border-radius:var(--radius-md);box-shadow:var(--shadow);background:#f4f8f5;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin-top:24px;padding:clamp(22px,3vw,30px);display:grid}.registration-next-step .eyebrow{margin-bottom:8px}.registration-next-step h3{margin:0 0 8px;font-size:clamp(1.35rem,2.2vw,1.8rem)}.registration-next-step p:last-child{color:var(--ink-soft);margin-bottom:0}.registration-next-step .button{white-space:nowrap}.volunteer-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:center;gap:clamp(28px,6vw,76px);display:grid}.volunteer-signup-card{border:1px solid var(--line);border-top:6px solid var(--coral);border-radius:var(--radius-md);background:var(--white);box-shadow:var(--shadow);padding:clamp(26px,4vw,38px)}.volunteer-signup-card h2{margin-top:16px;font-size:clamp(1.6rem,2.5vw,2.2rem)}.volunteer-signup-card p,.volunteer-detail-grid p{color:var(--ink-soft)}.volunteer-signup-card .button{width:100%}.volunteer-details-section{background:var(--paper)}.volunteer-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.volunteer-detail-grid article{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);flex-direction:column;min-width:0;padding:clamp(24px,3vw,34px);display:flex}.volunteer-detail-grid h2{font-size:clamp(1.25rem,2vw,1.65rem)}.volunteer-detail-grid .text-link{margin-top:auto}.about-hero-grid{grid-template-columns:190px minmax(0,1fr);align-items:center;gap:clamp(30px,7vw,90px);display:grid}.about-mark{width:180px;height:180px;color:var(--white);background:var(--green-dark);text-align:center;border-radius:50%;place-content:center;display:grid}.about-mark span{letter-spacing:.12em;font-size:.8rem}.about-mark strong{font-family:Georgia,Times New Roman,serif;font-size:3rem}.mission-section{padding-block:clamp(44px,6vw,64px)}.mission-banner-grid{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);grid-template-columns:1.25fr 1fr .85fr;display:grid;overflow:hidden;box-shadow:0 12px 34px #17352d0f}.mission-banner-item{min-width:0;padding:clamp(24px,3vw,34px)}.mission-banner-item+.mission-banner-item{border-left:1px solid var(--line)}.mission-banner-item.is-primary h2{margin-bottom:0;font-size:clamp(1.45rem,2.25vw,2.15rem);line-height:1.3}.mission-banner-item h3{margin-bottom:10px;font-size:1.28rem}.history-card p,.affiliation-card p{color:var(--ink-soft);margin-bottom:0}.affiliation-card a{margin-top:18px;font-weight:800;display:inline-flex}.team-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:18px;display:grid}.team-group{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);min-width:0;padding:28px}.team-group ul{margin:18px 0 0;padding:0;list-style:none;display:grid}.team-group li{border-top:1px solid var(--line);gap:2px;padding:12px 0;display:grid}.team-group li span{color:var(--ink-soft);font-size:.88rem}.giving-hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.6fr);align-items:end;gap:60px;display:grid}.giving-cta-card{border-radius:var(--radius-md);color:var(--white);background:var(--green-dark);padding:28px}.giving-cta-card p{margin-bottom:20px}.giving-cta-card .button-primary{color:var(--green-dark);background:var(--white)}.giving-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.giving-action-grid article{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);padding:clamp(26px,4vw,42px)}.contact-page{background:var(--cream);min-height:70vh}.contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start;gap:clamp(30px,5vw,64px);display:grid}.contact-sidebar{min-width:0}.contact-method-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:14px;margin-top:30px;display:grid}.contact-action-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);min-width:0;box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.contact-card-visual{min-height:96px;position:relative;overflow:hidden}.contact-email-visual{color:var(--white);background:radial-gradient(circle at 78% 25%, #ffffff2e, transparent 22%), linear-gradient(135deg, var(--green), var(--teal));place-items:center;display:grid}.contact-email-visual span{font-family:Georgia,Times New Roman,serif;font-size:3rem;font-weight:700;line-height:1}.location-map-visual{background:linear-gradient(135deg, #2c766721, transparent 58%), var(--cream)}.location-map-visual:before,.location-map-visual:after,.map-road{border:3px solid var(--paper);content:"";background:#d9cfbc;border-radius:999px;height:14px;display:block;position:absolute;box-shadow:0 0 0 1px #17352d14}.location-map-visual:before{width:125%;top:35%;left:-12%;transform:rotate(-8deg)}.location-map-visual:after{width:115%;bottom:19%;right:-30%;transform:rotate(25deg)}.map-road-one{width:80%;top:12%;right:-18%;transform:rotate(68deg)}.map-road-two{width:70%;top:63%;left:-22%;transform:rotate(75deg)}.map-road-three{width:48%;top:17%;left:-8%;transform:rotate(24deg)}.map-road-four{width:55%;bottom:8%;right:-8%;transform:rotate(-11deg)}.location-map-pin{z-index:2;border:4px solid var(--white);background:var(--coral);border-radius:50% 50% 50% 8px;width:38px;height:38px;position:absolute;top:50%;left:52%;transform:translate(-50%,-62%)rotate(-45deg);box-shadow:0 12px 26px #17352d3d}.location-map-pin span{background:var(--white);border-radius:50%;width:10px;height:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.contact-card-copy{flex-direction:column;flex:1;min-width:0;padding:18px;display:flex}.contact-card-copy .eyebrow{margin-bottom:8px}.contact-email-address{overflow-wrap:anywhere;margin-bottom:18px;font-size:.94rem;font-weight:800}.location-address{color:var(--ink);margin-bottom:18px;font-family:Georgia,Times New Roman,Noto Serif CJK SC,serif;font-size:clamp(1.05rem,1.7vw,1.3rem);font-style:normal;font-weight:700;line-height:1.25;display:block}.contact-card-copy .button{width:100%;min-height:44px;margin-top:auto;padding:10px 12px;font-size:.86rem}.contact-form{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);min-width:0;box-shadow:var(--shadow);gap:18px;padding:clamp(24px,4vw,42px);display:grid}.contact-form label{color:var(--ink);gap:7px;font-size:.9rem;font-weight:800;display:grid}.contact-form input,.contact-form select,.contact-form textarea{border:1px solid var(--line-strong);width:100%;min-height:48px;color:var(--ink);background:var(--white);border-radius:9px;padding:11px 13px;font-weight:500}.contact-form textarea{resize:vertical;min-height:160px}.contact-form .button{justify-self:start}.contact-form .form-help,.contact-form .data-note{margin-bottom:0}.site-footer{color:#ffffffd6;background:var(--green-dark);padding:54px 0 34px}.footer-grid{grid-template-columns:1fr 1.3fr 1fr;align-items:start;gap:28px;display:grid}.footer-brand,.footer-brand strong{color:var(--white)}.footer-brand small{color:#ffffffb3}.footer-nav,.footer-contact{flex-wrap:wrap;gap:10px 18px;display:flex}.footer-contact{display:grid}.site-footer a{color:var(--white);font-weight:700}.copyright{border-top:1px solid #ffffff2e;grid-column:1/-1;padding-top:24px}@media (max-width:1040px){.upcoming-event-details{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-button{display:inline-flex}.primary-nav{overscroll-behavior:contain;border:1px solid var(--line);background:var(--white);width:min(360px,100vw - 40px);max-height:calc(100dvh - 88px);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;align-items:stretch;padding:12px;display:none;position:absolute;top:calc(100% - 4px);right:0;overflow-y:auto}.primary-nav.is-open{display:flex}.primary-nav a{justify-content:flex-start;padding-inline:16px}.month-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.policy-grid,.path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-grid{grid-template-columns:1fr 1fr}.team-group:first-child{grid-column:1/-1}}@media (max-width:800px){.container{width:min(100% - 32px, var(--content))}.section{padding-block:68px}.journey-nav-section{padding:16px 0}.journey-nav ol{grid-template-columns:1fr}.journey-nav li+li{border-top:1px solid var(--line);border-left:0}.journey-nav a{min-height:64px;padding:10px 14px}.hero-action-grid,.giving-hero-grid,.contact-layout,.registration-layout,.volunteer-hero-grid{grid-template-columns:1fr}.upcoming-event-card{grid-template-columns:58px minmax(0,1fr)}.upcoming-event-disclosure,.upcoming-event-disclosure[open]{grid-column:1/-1}.upcoming-event-disclosure[open]>summary{margin-left:0}.upcoming-event-expanded{grid-template-columns:1fr;align-items:stretch}.upcoming-event-expanded>.button{width:fit-content}.hero-action-grid{gap:30px}.facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fact:nth-child(2){border-right:0}.fact:nth-child(-n+2){border-bottom:1px solid var(--line)}.path-grid,.impact-grid,.volunteer-detail-grid{grid-template-columns:1fr}.path-card{grid-template-columns:36px minmax(0,1fr);gap:4px 14px;padding:16px;display:grid}.path-card .card-number{grid-area:1/1/span 3;margin:0}.path-card h3,.path-card p,.path-card .text-link{grid-column:2}.path-card h3{grid-row:1}.path-card p{grid-row:2;margin-bottom:2px}.path-card .text-link{grid-row:3;margin-top:0}.school-gallery-header{margin-bottom:12px;display:block}.school-gallery-tools{justify-items:start;margin-top:8px}.school-gallery-section{padding-block:28px}.school-gallery-copy h2{margin-bottom:6px;font-size:1.72rem}.school-gallery-copy>p:last-child{font-size:.86rem;line-height:1.42}.school-gallery-preview-note{background:0 0;border:0;padding:0;font-size:.66rem}.school-gallery-grid{grid-template-rows:repeat(2,140px);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.school-gallery-card.is-featured{grid-row:auto}.school-gallery-card:nth-child(n+5){display:none}.split-heading,.journey-next{grid-template-columns:1fr;display:grid}.mission-banner-grid{grid-template-columns:1fr}.mission-banner-item+.mission-banner-item{border-top:1px solid var(--line);border-left:0}.month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-heading{align-items:start}.giving-action-grid,.about-hero-grid{grid-template-columns:1fr}.about-mark{width:130px;height:130px}.about-mark strong{font-size:2.2rem}.team-grid,.footer-grid{grid-template-columns:1fr}.team-group:first-child,.copyright{grid-column:auto}.schedule-table,.schedule-table tbody,.schedule-table tr,.schedule-table th,.schedule-table td{display:block;width:100%!important}.schedule-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.schedule-table tr{border-top:1px solid var(--line);padding:16px 18px}.schedule-table tbody tr:nth-child(2n){background:#fbfaf6}.schedule-table tbody th,.schedule-table td{border:0;grid-template-columns:minmax(95px,.36fr) minmax(0,1fr);padding:7px 0;display:grid}.schedule-table tbody th:before,.schedule-table td:before{color:var(--ink-soft);content:attr(data-label);letter-spacing:.06em;text-transform:uppercase;padding-right:12px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.7rem;font-weight:900}.tuition-cell span{grid-column:2}.tuition-cell:before{grid-row:1/span 2}}@media (max-width:560px){.upcoming-event-section{padding-top:8px}.upcoming-event-card{grid-template-columns:54px minmax(0,1fr);gap:0 12px;padding:12px 14px}.upcoming-event-date{min-height:62px}.upcoming-event-date strong{font-size:1.5rem}.upcoming-event-copy h2{font-size:1.3rem}.upcoming-event-copy p:last-child{font-size:.82rem}.upcoming-event-disclosure{margin-top:5px}.upcoming-event-expanded>.button{width:100%}.upcoming-event-details{grid-template-columns:1fr}.section{padding-block:52px}.path-section{padding-block:30px}.path-section .section-heading{margin-bottom:14px}.path-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.path-card{border-radius:14px;gap:0;min-height:150px;padding:12px;display:flex}.path-card .card-number{grid-area:auto;width:28px;height:28px;margin:0 0 9px;font-size:.66rem}.path-card h3{grid-area:auto;margin-bottom:6px;font-size:1rem;line-height:1.18}.path-card p{display:none}.path-card .text-link{grid-area:auto;margin-top:auto;font-size:.78rem;line-height:1.25}.school-gallery-section{padding-block:28px}.school-gallery-header{margin-bottom:12px}.school-gallery-copy h2{font-size:1.64rem}.school-gallery-preview-note{max-width:none}.school-gallery-grid{grid-template-rows:repeat(2,108px)}.school-gallery-card{border-radius:12px}.school-gallery-card figcaption{padding:22px 9px 7px;font-size:.72rem}.pdf-modal{border-radius:14px;width:calc(100vw - 16px);height:92dvh}.pdf-modal-header{padding:14px 12px 12px 16px}.pdf-modal-footer{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 16px;display:grid}.pdf-modal-footer p{font-size:.76rem}.container{width:min(100% - 24px, var(--content))}.home-hero{padding-bottom:36px}.hero-action-grid{gap:22px;padding-top:28px}.header-inner{gap:8px;min-height:70px}.brand{gap:8px}.brand img{width:42px;height:42px}.brand strong{text-overflow:ellipsis;white-space:nowrap;font-size:.94rem;overflow:hidden}.brand small{display:none}.header-controls{gap:6px}.language-toggle{min-width:94px}.language-toggle a{padding-inline:7px}.menu-button{width:44px;height:44px}.hero-actions .button,.button-row .button,.journey-next .button,.registration-form-heading .button{width:100%}.month-grid,.calendar-event-list,.policy-grid{grid-template-columns:1fr}.facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fact{border-right:1px solid var(--line);border-bottom:1px solid var(--line);gap:2px;min-height:82px;padding:12px 11px}.fact:nth-child(2n){border-right:0}.fact:nth-last-child(-n+2){border-bottom:0}.fact>span{letter-spacing:.06em;font-size:.64rem}.fact strong{font-size:.88rem;line-height:1.28}.fact-location-link small{font-size:.69rem;line-height:1.2}.home-mission-actions{grid-template-columns:1fr;display:grid}.home-mission-actions .button{width:100%}.content-accordion-summary{grid-template-columns:minmax(0,1fr) 32px;gap:8px 12px;padding:17px 16px}.content-accordion-summary:after{grid-area:1/2/span 2}.accordion-summary-meta{text-align:left;grid-area:2/1;align-items:baseline;gap:9px;min-width:0;display:flex}.accordion-description{font-size:.84rem}.registration-preflight-body{padding:18px 16px}.registration-action-links,.registration-info-grid{grid-template-columns:1fr}.registration-info-card.is-volunteer{grid-column:auto}.registration-required-label{grid-area:2/1}.schedule-group-summary{grid-template-columns:72px minmax(0,1fr) 32px;gap:8px 12px}.schedule-group-summary .class-category-art{grid-area:1/1/span 2;width:72px;height:72px}.schedule-group-summary .accordion-summary-copy{grid-area:1/2}.schedule-group-summary .accordion-summary-meta{grid-area:2/2}.schedule-group-summary:after{grid-area:1/3/span 2}.class-note-callout{grid-template-columns:1fr}.schedule-table tbody th,.schedule-table td{grid-template-columns:86px minmax(0,1fr)}.month-card{padding:16px}.calendar-date,.empty-date{min-height:35px}.registration-form-heading,.contact-form,.team-group{padding:22px}.contact-method-grid{gap:10px}.contact-card-visual{min-height:76px}.contact-email-visual span{font-size:2.35rem}.contact-card-copy{padding:14px}.contact-email-address,.location-address{margin-bottom:14px;font-size:.86rem}.contact-card-copy .button{padding-inline:8px;font-size:.78rem}.registration-frame-wrap{border-radius:12px;width:100%}.registration-frame{height:clamp(3100px,5490px - 500vw,3900px)}.registration-next-step{grid-template-columns:1fr}.registration-next-step .button{white-space:normal;width:100%}}@media (max-width:360px){.brand span{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.registration-preflight-shell.is-attention{animation:none}.school-gallery-card img{transition:none}}@media print{.site-header,.site-footer,.button,.registration-section{display:none!important}body{color:#000;background:#fff}.section{padding:24px 0}}
