:root{--bg:#fff;--text:#000}*,*::before,*::after{box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%}body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,helvetica neue,Helvetica,sans-serif;line-height:1.6;overflow-x:hidden}.site-header h1.brand-name{font-size:clamp(3rem,12vw,10rem);line-height:.9;letter-spacing:-.05em;text-transform:uppercase;margin:0;font-weight:900;color:#000;padding:.5rem 1rem}.site-header h1 a{color:inherit;text-decoration:none}.site-header h1 a:hover,.site-header h1 a:focus-visible{text-decoration:underline}.site-header h1 a:focus-visible{outline:2px solid var(--text);outline-offset:4px}img{max-width:100%;height:auto;display:block}article{max-width:70ch;margin:0 auto;line-height:1.6}.site-nav{padding:.5rem 1rem 1.5rem}.site-nav ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:1.5rem}.site-nav a{color:var(--text);text-decoration:none;font-weight:500}.site-nav a:hover{text-decoration:underline}.site-nav a:focus-visible{outline:2px solid var(--text);outline-offset:4px}main{padding:1rem;max-width:90ch;margin:0 auto}.post-list{margin:0;padding:0;list-style:none}.post-list li{padding:0;border-bottom:1px solid #ccc}.post-list li:last-child{border-bottom:0}.post-list-link{display:block;color:var(--text);text-decoration:none;font-weight:500;padding:1.25rem 0}.post-list-link:hover{text-decoration:underline}.post-list-link:focus-visible{outline:2px solid var(--text);outline-offset:4px}.post-list-image{display:block;width:100%;max-width:640px;aspect-ratio:16/9;overflow:hidden;border-radius:.25rem;margin-bottom:.5rem;background:#eee}.post-list-image img{width:100%;height:100%;object-fit:cover;object-position:center;vertical-align:middle}.post-list-meta{display:block}.post-list .post-date{display:block;font-size:.875rem;color:#333;margin-top:.25rem}article.post-content{max-width:70ch;margin:0 auto;line-height:1.6}article.post-content>header time{display:block;font-size:.875rem;color:#333;margin-bottom:1.5rem}article.post-content .post-featured-image{margin:0 0 1.5rem}article.post-content .post-featured-image img{border-radius:.25rem}article.post-content .post-featured-image img:focus-visible{outline:2px solid var(--text);outline-offset:2px}article.post-content h1,article.post-content h2,article.post-content h3{margin-top:1.5em;margin-bottom:.5em;line-height:1.25}article.post-content p{margin:0 0 1em}article.post-content a{color:var(--text);text-decoration:underline}article.post-content a:focus-visible{outline:2px solid var(--text);outline-offset:2px}article.post-content ul,article.post-content ol{margin:1em 0;padding-left:1.5em}article.post-content li{margin-bottom:.35em}article.post-content li:last-child{margin-bottom:0}article.post-content blockquote{margin:1.25em 0;padding-left:1em;border-left:3px solid #ccc;color:#333}article.post-content figure{margin:1.5em 0}article.post-content figure img{margin:0}article.post-content figcaption{font-size:.875rem;color:#555;margin-top:.5em}article.post-content pre{margin:1.25em 0;overflow-x:auto;padding:.75em 1em;background:#f5f5f5;border-radius:.25rem}article.post-content hr{margin:1.5em 0;border:0;border-top:1px solid #ccc}@media(max-width:768px){html{font-size:112.5%}body{line-height:1.7}main{padding-left:1.5rem;padding-right:1.5rem}article.post-content{line-height:1.75}article.post-content p{margin-bottom:1.35em}article.post-content h1,article.post-content h2,article.post-content h3{margin-top:1.75em;margin-bottom:.6em}article.post-content h1:first-child,article.post-content h2:first-child,article.post-content h3:first-child{margin-top:0}article.post-content ul,article.post-content ol{margin:1.25em 0}article.post-content li{margin-bottom:.5em}article.post-content blockquote{margin:1.5em 0;padding-left:1.25em}article.post-content figure,article.post-content .post-featured-image{margin-top:1.75rem;margin-bottom:1.75rem}article.post-content img{margin:1.25rem 0}article.post-content .post-featured-image img{margin:0}article.post-content pre{margin:1.5em 0}article.post-content hr{margin:2em 0}.post-list-link{padding:1.5rem 0}.site-nav a{padding:.35rem 0}#comments{margin-top:2.5rem;padding-top:1.5rem}#comments .comments-form input,#comments .comments-form textarea{padding:.5rem .75rem}#comments .comments-form-actions button[type=submit],#comments .comments-form-actions .comment-cancel{padding:.6rem 1rem}}#comments{max-width:70ch;margin-left:auto;margin-right:auto;margin-top:3.5rem;padding-top:2rem;border-top:1px solid var(--border,#e5e5e5)}#comments .comments-heading{font-size:1.125rem;font-weight:600;margin:0 0 1rem}#comments .comments-count:empty::before{content:'0'}#comments .comments-list{list-style:none;padding:0;margin:0 0 1.5rem}#comments .comments-loading,#comments .comments-empty{color:var(--text);opacity:.6;font-size:.9375rem;padding:.25rem 0}#comments .comment-item{display:grid;grid-template-columns:2rem 1fr;grid-template-rows:auto auto;column-gap:.75rem;padding-bottom:1.25rem;margin-bottom:1.25rem;border-bottom:1px solid var(--border,#eee)}#comments .comment-item:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}#comments .comment-avatar{grid-column:1;grid-row:1;width:2rem;height:2rem;border-radius:50%;color:#fff;font-size:.875rem;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.125rem}#comments .comment-content{grid-column:2;grid-row:1;min-width:0}#comments .comment-replies{grid-column:2;grid-row:2;margin-top:1rem;border-left:2px solid var(--border,#e5e5e5);padding-left:.75rem}#comments .comment-meta{margin-bottom:.25rem;font-size:.875rem;line-height:1.4}#comments .comment-author{font-style:normal;font-weight:600;color:var(--link,#2563eb)}#comments .comment-reply-to{color:var(--text);opacity:.6;margin-left:.25rem}#comments .comment-date{font-size:.8125rem;opacity:.6;margin-left:.375rem}#comments .comment-body-wrap{margin-top:.125rem}#comments .comment-body{white-space:pre-wrap;word-break:break-word;font-size:.9375rem;line-height:1.55}#comments .comment-actions{margin-top:.375rem;font-size:.8125rem;opacity:.7}#comments .comment-action{background:0 0;border:0;padding:0;font:inherit;color:var(--text);cursor:pointer}#comments .comment-action:hover,#comments .comment-action:focus-visible{opacity:1;text-decoration:underline}#comments .comment-action:focus-visible{outline:2px solid var(--text);outline-offset:2px}#comments .comment-reply{margin-left:.5rem;padding-bottom:.75rem;margin-bottom:.75rem}#comments .comment-reply:last-child{padding-bottom:0;margin-bottom:0}#comments .comment-edit-active{margin-top:.5rem}#comments .comment-edit-active .comment-edit-author{width:100%;box-sizing:border-box;padding:.4375rem .625rem;border:1px solid var(--border,#ccc);font:inherit;font-size:.9375rem;display:block;margin:0 0 .5rem}#comments .comment-edit-active .comment-edit-author:focus-visible{outline:2px solid var(--text);outline-offset:2px}#comments .comment-edit-active label[for^=comment-edit-author]{display:block;font-size:.875rem;margin-bottom:.25rem}#comments .comment-edit-active textarea{width:100%;box-sizing:border-box;padding:.4375rem .625rem;border:1px solid var(--border,#ccc);font:inherit;font-size:.9375rem;display:block;margin-bottom:.5rem}#comments .comment-edit-active textarea:focus-visible{outline:2px solid var(--text);outline-offset:2px}#comments .comment-edit-actions{display:flex;gap:.5rem}#comments .comments-error{color:#c00;font-size:.875rem;margin:0 0 .75rem}#comments .comments-form-main{border-top:1px solid var(--border,#e5e5e5);padding-top:1.25rem}#comments .comments-form label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.25rem;margin-top:.875rem}#comments .comments-form label:first-of-type{margin-top:0}#comments .comments-optional{font-weight:400;opacity:.6;font-size:.8125rem}#comments .comments-form input,#comments .comments-form textarea{width:100%;box-sizing:border-box;padding:.4375rem .625rem;border:1px solid var(--border,#ccc);font:inherit;font-size:.9375rem}#comments .comments-form input:focus-visible,#comments .comments-form textarea:focus-visible{outline:2px solid var(--text);outline-offset:1px}#comments .comments-turnstile{margin-top:.875rem;margin-bottom:.875rem}#comments .comments-form-actions{margin-top:.875rem;display:flex;gap:.5rem}#comments .comments-form-actions button[type=submit]{flex:1;padding:.5rem 1rem;font:inherit;font-size:.9375rem;font-weight:500;cursor:pointer;border:0;background:var(--text);color:var(--bg)}#comments .comments-form-actions button[type=submit]:hover,#comments .comments-form-actions button[type=submit]:focus-visible{outline:2px solid var(--text);outline-offset:2px}#comments .comments-form-actions .comment-cancel{flex:none;background:var(--bg);border:1px solid var(--border,#999);color:var(--text);padding:.5rem .875rem;font:inherit;font-size:.9375rem;cursor:pointer}#comments .comments-form-actions .comment-cancel:hover,#comments .comments-form-actions .comment-cancel:focus-visible{outline:2px solid var(--text);outline-offset:2px}#comments .comments-reply-form{margin-top:.75rem}#comments .comments-reply-form label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.25rem}#comments .comments-reply-form textarea{width:100%;box-sizing:border-box;padding:.4375rem .625rem;border:1px solid var(--border,#ccc);font:inherit;font-size:.9375rem;resize:vertical}#comments .comments-reply-form textarea:focus-visible{outline:2px solid var(--text);outline-offset:1px}#comments .comments-reply-form .comments-form-actions{margin-top:.5rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.map-page{max-width:none;padding:1rem}.map-origin{margin-bottom:1rem}.map-origin-link{color:var(--text);text-decoration:underline}.map-origin-link:hover,.map-origin-link:focus-visible{text-decoration:none}.map-origin-link:focus-visible{outline:2px solid var(--text);outline-offset:2px}.map-embed-wrapper{position:relative;width:100%;max-width:1200px;margin:0 auto;aspect-ratio:4/3;min-height:360px}.map-embed-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.school-sheets-page{max-width:min(1400px,100%)}.school-sheets-origin{margin-bottom:1rem}.school-sheets-origin-link{color:var(--text);text-decoration:underline}.school-sheets-origin-link:hover,.school-sheets-origin-link:focus-visible{text-decoration:none}.school-sheets-origin-link:focus-visible{outline:2px solid var(--text);outline-offset:2px}.school-sheets-toolbar{margin-bottom:1rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem}.school-sheets-search{font-size:1rem;padding:.5rem .75rem;border:1px solid #ccc;border-radius:0;min-width:16ch;max-width:100%}.school-sheets-search:focus{outline:2px solid var(--text);outline-offset:2px}.school-sheets-count{font-size:.875rem;color:#555}.school-sheets-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;overflow-y:visible}@media(max-width:640px){.school-sheets-wrapper{overflow-x:visible}.school-sheets-table,.school-sheets-table thead,.school-sheets-table tbody,.school-sheets-table tr,.school-sheets-table th,.school-sheets-table td{display:block}.school-sheets-table thead tr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.school-sheets-table tbody tr{border:1px solid #ccc;border-bottom-width:2px;margin-bottom:1rem;padding:.75rem;background:#fff}.school-sheets-table tbody tr:nth-child(even){background:#f9f9f9}.school-sheets-table tbody tr:hover{background:#eee}.school-sheets-table td{padding:.35rem 0;border-bottom:1px solid #eee}.school-sheets-table td:last-child{border-bottom:0}.school-sheets-table td::before{content:attr(data-label);font-weight:600;display:inline-block;min-width:8ch;margin-right:.5rem}}.school-sheets-th[data-sortable]{cursor:pointer;user-select:none;white-space:nowrap;padding-right:1.5rem;position:relative}.school-sheets-th[data-sortable]:hover,.school-sheets-th[data-sortable]:focus{text-decoration:underline}.school-sheets-th[data-sortable]:focus-visible{outline:2px solid var(--text);outline-offset:2px}.school-sheets-th[data-sortable]::after{content:'';position:absolute;right:.5rem;top:50%;transform:translateY(-50%);border:.35em solid transparent;border-top-color:initial;border-bottom:none;opacity:.4}.school-sheets-th.sort-asc::after{border-top:none;border-bottom-color:initial;opacity:1}.school-sheets-th.sort-desc::after{opacity:1}.school-sheets-table{width:100%;border-collapse:collapse;font-size:.9375rem}.school-sheets-table th,.school-sheets-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid #ccc}.school-sheets-table th{font-weight:600;background:#f5f5f5}.school-sheets-table tbody tr:nth-child(odd){background:#fff}.school-sheets-table tbody tr:nth-child(even){background:#f5f5f5}.school-sheets-table tbody tr:hover{background:#eee}.school-sheets-table a{color:var(--text);text-decoration:underline}.school-sheets-table a:hover,.school-sheets-table a:focus-visible{text-decoration:none}.school-sheets-table a:focus-visible{outline:2px solid var(--text);outline-offset:2px}.school-sheets-fallback{color:#555;font-style:italic}.admin-comments-main{max-width:70ch;margin:0 auto;padding:1rem}.admin-comments-title{font-size:1.25rem;margin:0 0 1rem}.admin-secret-form{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:1.5rem}.admin-secret-form label{flex:none}.admin-secret-form input{flex:1 1 12rem;min-width:10rem;padding:.375rem .5rem;border:1px solid var(--border,#ccc);font:inherit}.admin-secret-form input:focus-visible{outline:2px solid var(--text);outline-offset:1px}.admin-secret-form button{padding:.375rem .75rem;font:inherit;cursor:pointer;border:0;background:var(--text);color:var(--bg)}.admin-secret-form button:hover,.admin-secret-form button:focus-visible{outline:2px solid var(--text);outline-offset:2px}.admin-error{color:#c00;margin:.5rem 0 0;flex:1 1 100%}.admin-loading{margin:0 0 1rem;color:#555}.admin-list{margin-top:1rem}.admin-url-group{margin-bottom:1.5rem}.admin-url-heading{font-size:1rem;font-weight:600;margin:0 0 .5rem}.admin-url-heading a{color:var(--text);text-decoration:underline}.admin-url-heading a:hover,.admin-url-heading a:focus-visible{outline:2px solid var(--text);outline-offset:2px}.admin-comment-list{list-style:none;margin:0;padding:0;border-left:3px solid var(--border,#ddd);padding-left:.75rem}.admin-comment-item{margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border,#eee)}.admin-comment-item:last-child{border-bottom:0}.admin-comment-meta{font-size:.8125rem;color:#555;margin-bottom:.25rem}.admin-comment-body{font-size:.9375rem;margin-bottom:.5rem;white-space:pre-wrap;word-break:break-word}.admin-comment-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.25rem}.admin-comment-status{font-size:.75rem;padding:.125rem .375rem;border-radius:3px;margin-left:.5rem}.admin-comment-status-approved{background:#e0f2e0;color:#0a0}.admin-comment-status-pending{background:#fff3cd;color:#856404}.admin-comment-edit{padding:.25rem .5rem;font-size:.8125rem;cursor:pointer;border:1px solid #0891b2;background:#fff;color:#0891b2}.admin-comment-edit:hover,.admin-comment-edit:focus-visible{background:#0891b2;color:#fff;outline:2px solid #0891b2;outline-offset:2px}.admin-comment-edit-form{margin-top:.5rem;padding:.75rem;border:1px solid var(--border,#ddd);border-radius:4px;background:var(--bg-subtle,#f9f9f9)}.admin-comment-edit-form label{display:block;font-size:.8125rem;font-weight:600;margin:.5rem 0 .25rem}.admin-comment-edit-form label:first-child{margin-top:0}.admin-comment-edit-form .admin-edit-author,.admin-comment-edit-form .admin-edit-body{display:block;width:100%;padding:.375rem .5rem;border:1px solid var(--border,#ccc);font:inherit;box-sizing:border-box}.admin-comment-edit-form .admin-edit-body{min-height:4rem;resize:vertical}.admin-comment-edit-form .admin-edit-author:focus-visible,.admin-comment-edit-form .admin-edit-body:focus-visible{outline:2px solid var(--text);outline-offset:1px}.admin-comment-edit-actions{display:flex;gap:.5rem;margin-top:.5rem}.admin-comment-save{padding:.25rem .5rem;font-size:.8125rem;cursor:pointer;border:1px solid #0891b2;background:#0891b2;color:#fff}.admin-comment-save:hover,.admin-comment-save:focus-visible{outline:2px solid #0891b2;outline-offset:2px}.admin-comment-cancel{padding:.25rem .5rem;font-size:.8125rem;cursor:pointer;border:1px solid #555;background:#fff;color:#555}.admin-comment-cancel:hover,.admin-comment-cancel:focus-visible{outline:2px solid #555;outline-offset:2px}.admin-comment-delete{padding:.25rem .5rem;font-size:.8125rem;cursor:pointer;border:1px solid #c00;background:#fff;color:#c00}.admin-comment-delete:hover,.admin-comment-delete:focus-visible{background:#c00;color:#fff;outline:2px solid #c00;outline-offset:2px}.site-header-minimal .site-nav{padding-top:0}.site-header-minimal .site-nav a{font-size:.875rem}