:root{--charter-max-width:1060px;--charter-bg:#f9fafb;--charter-accent:#0f9d8a;--charter-muted:#4b5563;--charter-border:#e5e7eb;--charter-card:#fff;--charter-soft:#eefdfa;--charter-heading-lg:26px;--charter-heading-md:18px;--charter-body:15px;--charter-spacing-section:20px;--charter-spacing-card:24px}.charter-page{color:#0f172a;background:var(--charter-bg);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.6}.charter-page a{color:var(--charter-accent);text-decoration:none}.charter-page a:hover{text-decoration:underline}.charter-header{background:linear-gradient(135deg,#f1fff8,#f7f5ff);border-bottom:1px solid #f0f0f0;padding:48px 18px 36px}.charter-header h1{letter-spacing:-.01em;margin:0;font-size:32px;font-weight:600}.header-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.back-home{color:var(--charter-accent);font-size:14px;font-weight:600}.back-home:hover{text-decoration:underline}.back-home-cta{text-align:center;margin-top:24px}.back-home.button{border:1px solid var(--charter-accent);color:var(--charter-accent);background:#f0fffb;border-radius:999px;justify-content:center;align-items:center;padding:10px 20px;font-weight:600;display:inline-flex}.back-home.button:hover{background:#d6fff5;text-decoration:none}.charter-page .meta{color:var(--charter-muted);max-width:720px;margin:8px 0 0;font-size:15px}.charter-page main{max-width:var(--charter-max-width);margin:0 auto;padding:32px 18px 64px}.page-layout{align-items:flex-start;gap:32px;display:flex}@media (max-width:960px){.page-layout{flex-direction:column}}.card-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:18px;display:grid}.card-grid.two-col{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.card-grid article{background:var(--charter-card);border:1px solid var(--charter-border);border-radius:18px;padding:18px;box-shadow:0 6px 24px #0f172a0d}.card-grid article h3{color:#064e3b;margin-top:0;margin-bottom:6px;font-size:18px}.camp-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.camp-card-address{color:var(--charter-muted);margin:4px 0 0;font-size:14px}.camp-card-focus{color:#0f172a;margin:12px 0 6px;font-weight:600}.camp-card-summary{color:#475569;margin:0 0 12px}.camp-details{margin-top:0}.camp-card-registration{color:#0f172a;margin:14px 0 0}.camp-name-link{color:#0d9488;text-underline-offset:4px;font-weight:600;text-decoration:underline;text-decoration-thickness:2px}.camp-address-link{color:#0f172a;text-underline-offset:3px;font-weight:500;text-decoration:underline;text-decoration-thickness:1px}.camp-address-link:hover{color:#0d9488}.contact-note{color:#475569;margin-top:16px;font-size:14px}.toc-panel{border:1px solid var(--charter-border);background:#fff;border-radius:24px;flex:0 0 260px;align-self:flex-start;max-height:calc(100vh - 48px);padding:20px 20px 24px;position:sticky;top:24px;overflow-y:auto;box-shadow:0 10px 30px #0f172a14}@media (max-width:960px){.toc-panel{width:100%;max-height:none;position:static;overflow:visible}}.page-content{flex:1;gap:24px;display:grid}.charter-map{border:1px solid var(--charter-border);border-radius:18px;height:420px;margin-top:16px;overflow:hidden}@media (max-width:640px){.charter-map{height:320px}}.charter-page h2{color:#0f172a;margin:0 0 12px;font-size:22px}.toc-panel h2{margin-top:0;font-size:18px}.charter-page .card{background:var(--charter-card);border:1px solid var(--charter-border);border-radius:24px;padding:24px;box-shadow:0 10px 40px #0f172a14}.intro-card h2{font-size:var(--charter-heading-lg);color:#0f172a;margin-top:0}.intro-card h3{margin-top:var(--charter-spacing-section);font-size:var(--charter-heading-md);color:#064e3b;margin-bottom:6px}.intro-card ul,.intro-card dl{color:#4b5563;font-size:var(--charter-body);margin:0 0 12px 18px}.intro-card ul ul{margin-top:6px}.intro-card p,.intro-card dl,.intro-card dt,.intro-card dd{color:#1f2937;font-size:var(--charter-body)}.dlp-overview h2{color:#0f172a;margin:0 0 12px;font-size:20px}.dlp-overview h3{color:#064e3b;margin-top:18px;margin-bottom:6px;font-size:16px}.dlp-overview p,.dlp-overview ul,.dlp-overview ol{color:#1f2937;font-size:var(--charter-body)}.dlp-overview ul,.dlp-overview ol{margin:0 0 12px 20px}.dlp-overview ul{list-style:outside}.dlp-overview ul ul{margin-top:6px;margin-left:18px;list-style:circle}.dlp-overview ol{list-style:decimal}.dlp-links{margin-top:12px}.dlp-note{color:#0f172a;background:#eefdfa;border-left:4px solid #0f9d8a;border-radius:12px;margin-top:16px;padding:12px 16px}.intro-card .note{color:#065f46;background:#ecfdf5;border-left:4px solid #10b981;border-radius:12px;margin-top:16px;padding:12px 16px}.key-points{list-style:outside}.key-points li{margin-bottom:10px}.key-points .sub-points{margin-top:6px;margin-left:18px;list-style:circle}.charter-page .toc-wrapper{background:var(--charter-card);border:1px solid var(--charter-border);border-radius:24px;padding:24px;box-shadow:0 20px 60px #0f172a0d}.charter-page .toc,.toc-panel .toc{columns:1;column-gap:0;margin:0;padding-left:0;font-size:15px;list-style:none}.charter-page .toc li{break-inside:avoid;margin:8px 0}.charter-page .toc li>ol{columns:auto;margin-top:4px;padding-left:16px;font-size:14px}.charter-page .toc li>ol li{margin:4px 0}.charter-page section{padding:16px 0}.charter-page .school{background:var(--charter-card);border:1px solid var(--charter-border);border-radius:22px;margin:18px 0;padding:22px;box-shadow:0 15px 45px #0f172a0f}.charter-page .school h3{flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:20px;display:flex}.school-headline{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.school-title{flex:1}.apply-button{color:#19534c;white-space:nowrap;background:#eefdfa;border:1px solid #0f9d8a;border-radius:999px;justify-content:center;align-items:center;padding:8px 16px;font-size:14px;font-weight:600;display:inline-flex}.apply-button:hover{background:#d5f5ef;text-decoration:none}.charter-page .school h3 a{color:inherit;border-bottom:1px solid #0000;text-decoration:none}.charter-page .school h3 a:hover{border-color:currentColor}.charter-page .school .about{color:#1f2937;margin:8px 0 10px;font-size:15px}.charter-page .school .address{color:var(--charter-muted);margin:6px 0 12px;font-size:14px}.charter-page .school .address a{font-weight:600}.charter-page .school .best-fit{background:#eefdfa;border-left:4px solid #0f9d8a;border-radius:12px;margin:12px 0 18px;padding:12px 16px}.charter-page .school .best-fit-label{text-transform:uppercase;letter-spacing:.3em;color:#047857;margin:0;font-size:11px}.charter-page .school .best-fit-body{color:#065f56;margin:6px 0 0;font-size:14px;line-height:1.5}.charter-page .honors-widget{flex-wrap:wrap;gap:10px;margin-top:6px;font-size:.78rem;display:flex}.charter-page .honors-widget .honor-pill{color:var(--charter-accent);align-items:center;padding:0;display:inline-flex}.charter-page .honors-widget .honor-pill:before{content:"★";margin-right:4px}.charter-page .honors-widget a.honor-pill{text-decoration:underline}.sources-block{border-top:1px solid var(--charter-border);margin-top:12px;padding-top:8px}.sources-block .sources-label{text-transform:uppercase;letter-spacing:.35em;color:#9ca3af;margin:0;font-size:10px}.sources-block ul{color:#6b7280;margin:4px 0 0 18px;font-size:11px;line-height:1.4}.sources-block a{color:inherit;text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}.charter-page .school .source{color:#94a3b8;margin-left:4px;font-size:12px}.charter-page .unique-list{padding-left:20px;list-style-type:disc}.magnet-options-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin:16px 0;display:grid}.magnet-option-card{border:1px solid var(--charter-border);background:#f8fafc;border-radius:14px;padding:14px 16px}.magnet-option-card-wide{grid-column:1/-1}.magnet-option-card h4{color:#0f172a;margin:0 0 10px;font-size:16px}.contracted-childcare-headline{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.childcare-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}@media (min-width:1100px){.childcare-grid{grid-template-columns:repeat(4,1fr)}}.childcare-card{border:1px solid var(--charter-border);background:#fff;border-radius:14px;padding:14px 16px;box-shadow:0 6px 20px #0f172a0d}.childcare-card h3{color:#0f172a;margin:0 0 8px;font-size:16px}.childcare-address{color:#475569;margin:0 0 6px;font-size:14px}.childcare-phone{margin:0;font-size:14px;font-weight:600}.childcare-options-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:12px;display:grid}.childcare-options-grid article{border:1px solid var(--charter-border);background:#fff;border-radius:12px;padding:12px 14px}.childcare-options-grid h3{color:#0f172a;margin:0 0 8px;font-size:16px}.childcare-options-grid p{color:#475569;margin:0;font-size:14px;line-height:1.5}.eligibility-card{border:1px solid var(--charter-border);background:linear-gradient(135deg,#f0fdf4,#e0f7ee);border-radius:16px;margin-top:16px;padding:16px;box-shadow:0 6px 18px #0f172a0d}.eligibility-fields{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:12px;display:grid}.eligibility-label{color:#0f172a;flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}.eligibility-input{background:#fff;border:1px solid #c1e6d8;border-radius:12px;padding:10px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.eligibility-input:focus{border-color:#0f9d8a;outline:none;box-shadow:0 0 0 3px #0f9d8a26}.eligibility-result{margin-top:6px}.eligible,.not-eligible{background:#fff;border:1px solid #c1e6d8;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.eligible{background:#f3fdf7;border-color:#a3e3cd}.not-eligible{background:#fff5f5;border-color:#f5c2c7}.eligibility-icon{color:#0f9d8a;background:#e0f7ee;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-weight:700;display:inline-flex}.not-eligible .eligibility-icon{color:#b91c1c;background:#fee2e2}.eligibility-subtext{color:#475569;font-size:13px}.eligibility-placeholder{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;padding:10px 12px;font-size:14px}.magnet-schools{padding:28px}.magnet-schools .section-header{margin-bottom:18px}.magnet-schools .section-header h2{color:#0f172a;margin:0;font-size:22px}.magnet-schools .section-header p{color:#475569;margin:6px 0 0;font-size:15px}.school-list{flex-direction:column;gap:16px;display:flex}.magnet-details{margin-top:8px}.campus-summary{width:100%;margin-top:16px}.campus-summary summary{cursor:pointer;color:#0f172a;font-weight:600}.campus-summary table{border-collapse:collapse;width:100%;margin-top:10px;font-size:14px}.campus-summary th,.campus-summary td{text-align:left;border-top:1px solid var(--charter-border);padding:8px 10px}.campus-summary th{text-transform:uppercase;letter-spacing:.2em;color:#9ca3af;font-size:12px}.charter-page .details-grid{border-top:1px solid var(--charter-border);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:16px;padding-top:12px;display:grid}.charter-page .details-grid dt{text-transform:uppercase;letter-spacing:.3em;color:#9ca3af;margin-bottom:4px;font-size:12px}.charter-page .details-grid dd{color:#0f172a;margin:0;font-size:14px}.charter-page .row{grid-template-columns:1fr;gap:16px;display:grid}@media (min-width:860px){.charter-page .row{grid-template-columns:1fr 1fr}}.charter-page .k{color:#0f172a;font-weight:650}.charter-page ul{color:var(--charter-muted);margin:8px 0 0 20px}.charter-page .small{color:var(--charter-muted);font-size:14px}.charter-page .badge{color:#1d4ed8;background:#edf4ff;border:1px solid #c7daff;border-radius:999px;padding:3px 10px;font-size:12px;display:inline-flex}.charter-page .badge.new-school{color:#c2410c;background:#fff7ed;border-color:#fdba74}.charter-page footer{color:var(--charter-muted);text-align:center;background:#f8fafc;border-top:1px solid #e7e7e7;padding:28px 18px;font-size:14px}.charter-page code{background:#f4f4f4;border-radius:6px;padding:2px 5px}.accordion{border:1px solid var(--charter-border);background:#fff;border-radius:12px;padding:12px 14px}.accordion summary{cursor:pointer}.logistics-summary{margin-top:16px}.logistics-summary summary{cursor:pointer;font-weight:650}.extracurriculars-summary{margin-top:16px}.extracurriculars-summary summary{cursor:pointer;color:#0f172a;font-weight:600}.extracurriculars-content{border:1px solid var(--charter-border);background:#fafafa;border-radius:14px;margin-top:12px;padding:12px 16px}.extracurricular-group+.extracurricular-group{border-top:1px solid var(--charter-border);margin-top:12px;padding-top:12px}.extra-label{text-transform:uppercase;letter-spacing:.2em;color:#6b7280;margin:0;font-size:13px}.extra-grades,.extracurricular-group p{color:#1f2937;margin:4px 0;font-size:14px}.extracurricular-note{color:#4b5563;margin-top:12px;font-size:13px;font-style:italic}.toc-details{margin-top:8px}.toc-details summary{cursor:pointer;color:#0f172a;justify-content:space-between;align-items:center;padding:4px 0;font-weight:600;list-style:none;display:flex}.toc-details summary::-webkit-details-marker{display:none}.toc-details summary:after{content:"+";color:var(--charter-muted);font-size:16px}.toc-details[open] summary:after{content:"–"}.toc-section-body{margin-top:6px}.toc-section-link{text-transform:uppercase;letter-spacing:.06em;color:var(--charter-muted);margin-bottom:4px;font-size:13px;display:inline-flex}.toc-section-link:hover{color:var(--charter-accent)}.toc-panel ol ol{margin-top:4px;padding-left:18px;font-size:14px;list-style:outside}.address-lookup-form{flex-direction:column;gap:8px;margin-top:16px;display:flex}.address-lookup-form label{color:#0f172a;font-size:14px;font-weight:600}.lookup-row{flex-wrap:wrap;gap:10px;display:flex}.lookup-row input{border:1px solid var(--charter-border);border-radius:999px;flex:1;min-width:220px;padding:10px 16px;font-size:15px}.lookup-row button{background:var(--charter-accent);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:10px 20px;font-weight:600}.lookup-row button:hover{background:#0c7a6d}.lookup-error{color:#b91c1c;margin-top:10px;font-weight:600}.zoning-results{border-top:1px solid var(--charter-border);margin-top:18px;padding:0;list-style:none}.zoning-results li{border-bottom:1px solid var(--charter-border);padding:12px 0}.zoning-results .result-label{text-transform:uppercase;letter-spacing:.2em;color:#6b7280;margin:0;font-size:13px}.zoning-results .result-value{color:#0f172a;margin:4px 0 0;font-size:16px;font-weight:600}.zoning-results .result-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;display:flex}.zoning-results .result-link-inline{color:var(--charter-accent);text-underline-offset:3px;white-space:nowrap;font-size:14px;font-weight:600;text-decoration:underline}
