:root{--font-serif:"Bitter", Georgia, serif;--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--color-primary:#8f141f;--color-primary-light:#fbe4e6;--color-primary-dark:#590d13;--color-accent:#ffb300;--color-accent-light:#fff6e0;--color-accent-hover:#d69705;--color-blue:#16649c;--color-blue-light:#e3f2fc;--color-bg-paper:#f7f6f2;--color-bg-card:#fff;--color-text-main:#171f26;--color-text-muted:#67737e;--color-border:#dce0e5;--max-width:1200px;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--transition:all .3s cubic-bezier(.4, 0, .2, 1);--shadow-sm:0 2px 4px #0000000d;--shadow-md:0 10px 20px -5px #00000014;--shadow-lg:0 20px 40px -10px #0000001f}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-sans);color:var(--color-text-main);background-color:var(--color-bg-paper);-webkit-font-smoothing:antialiased;margin:0;padding:0;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);color:var(--color-primary-dark);margin-top:0;margin-bottom:.5em;font-weight:700;line-height:1.25}p{margin-top:0;margin-bottom:1em}a{color:var(--color-primary);transition:var(--transition);text-decoration:none}a:hover{color:var(--color-primary-dark);text-decoration:underline}button{cursor:pointer;font-family:var(--font-sans);transition:var(--transition)}img{max-width:100%;height:auto;display:block}.site-wrapper{max-width:var(--max-width);background-color:var(--color-bg-card);flex-direction:column;min-height:100vh;margin:0 auto;padding:0 20px;display:flex;box-shadow:0 0 30px #00000008}.site-header{border-bottom:1px solid var(--color-border);background-color:var(--color-bg-card);z-index:100;padding:20px 0;position:sticky;top:0}.header-top{justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px;display:flex}.school-badge{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;background:var(--color-bg-paper);border:1px solid var(--color-border);border-radius:50px;padding:4px 12px;font-size:.85rem;font-weight:600}.site-logo{align-items:center;gap:15px;text-decoration:none;display:flex}.logo-mascot{object-fit:cover;border:2px solid var(--color-accent);background:var(--color-bg-paper);border-radius:50%;width:50px;height:50px}.logo-text h1{color:var(--color-primary);margin:0;font-size:2rem;line-height:1.1}.logo-text span{color:var(--color-text-muted);letter-spacing:.02em;font-size:.85rem;font-weight:500}.nav-toggle{color:var(--color-primary);background:0 0;border:none;font-size:1.8rem;display:none}.site-nav{border-top:1px solid var(--color-border);justify-content:center;padding-top:10px;display:flex}.nav-list{flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none;display:flex}.nav-link{color:var(--color-text-main);border-radius:var(--radius-sm);transition:var(--transition);border:1px solid #0000;padding:8px 16px;font-size:.95rem;font-weight:600;display:block}.nav-link:hover{background-color:var(--color-accent-light);color:var(--color-primary-dark);text-decoration:none}.nav-link.active{background-color:var(--color-primary);color:var(--color-bg-card)}.site-section{border-bottom:1px solid var(--color-border);padding:60px 40px}.site-section.bg-white{background-color:var(--color-bg-card)}.site-section.bg-soft-red{background-color:var(--color-primary-light)}.site-section.bg-soft-gold{background-color:var(--color-accent-light)}.site-section.bg-soft-blue{background-color:var(--color-blue-light)}.grid-container{grid-template-columns:repeat(12,1fr);align-items:start;gap:30px;display:grid}.col-1{grid-column:span 1}.col-2{grid-column:span 2}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-9{grid-column:span 9}.col-10{grid-column:span 10}.col-11{grid-column:span 11}.col-12{grid-column:span 12}.block-title{text-align:center;margin-bottom:20px;padding-bottom:15px;position:relative}.block-title h2{color:var(--color-primary);font-size:2.2rem;display:inline-block}.block-title h2:after{content:"";background-color:var(--color-accent);border-radius:2px;width:60px;height:4px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.block-rich-text{color:var(--color-text-main);text-align:left;font-size:1.05rem}.block-rich-text h1{color:var(--color-primary);margin-bottom:.5em;font-size:3rem}.block-rich-text h3{color:var(--color-text-main);margin-bottom:.8em;font-size:1.6rem;font-weight:600}.block-rich-text h4{margin-bottom:.6em;font-size:1.25rem}.block-rich-text h5{color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4em;font-size:1.1rem}.block-rich-text ul{margin-bottom:1.5em;padding-left:20px}.block-rich-text li{margin-bottom:.5em}.mascot-badge{background:var(--color-bg-card);border:1px dashed var(--color-accent);border-radius:50px;align-items:center;margin-top:15px;padding:8px 16px;font-size:.95rem;display:inline-flex}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);height:100%;transition:var(--transition);padding:25px}.card:hover{box-shadow:var(--shadow-md);border-color:var(--color-accent);transform:translateY(-4px)}.card h4{color:var(--color-primary);margin-top:0;font-size:1.4rem}.card .date{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:15px;font-size:.8rem;display:block}.btn{background-color:var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);border:none;padding:8px 20px;font-size:.9rem;font-weight:600;display:inline-block;color:var(--color-bg-card)!important;text-decoration:none!important}.btn:hover{background-color:var(--color-primary-dark)}.btn-accent{background-color:var(--color-accent);color:var(--color-text-main)!important}.btn-accent:hover{background-color:var(--color-accent-hover)}.team-category{background:var(--color-bg-paper);border-radius:var(--radius-md);height:100%;padding:20px}.team-category h5{border-bottom:2px solid var(--color-accent);margin-bottom:12px;padding-bottom:8px;font-size:1.15rem}.team-category ul{margin:0;padding:0;list-style:none}.team-category li{padding:4px 0;font-weight:500}.block-image{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:8px}.block-image img{border-radius:var(--radius-sm);object-fit:cover;width:100%;max-height:400px}.image-caption{color:var(--color-text-muted);text-align:center;margin-top:10px;font-size:.85rem;font-style:italic}.block-quote{font-family:var(--font-serif);color:var(--color-primary-dark);border-left:5px solid var(--color-accent);text-align:left;margin:20px 0;padding-left:20px;font-size:1.25rem;font-style:italic;line-height:1.5}.quote-author{font-family:var(--font-sans);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:5px;font-size:.85rem;font-weight:600;display:block}.block-video{width:100%}.video-container{border-radius:var(--radius-md);height:0;box-shadow:var(--shadow-md);background:#000;padding-bottom:56.25%;position:relative;overflow:hidden}.video-container iframe{border:0;width:100%;height:100%;position:absolute;top:0;left:0}.event-block{background:var(--color-bg-card);border:1px solid var(--color-border);border-top:4px solid var(--color-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);height:100%;padding:25px}.event-block h3{color:var(--color-primary);margin-top:0;font-size:1.4rem}.stat-box{background:var(--color-primary);color:var(--color-bg-card);border-radius:var(--radius-md);text-align:center;box-shadow:var(--shadow-md);padding:40px 20px}.stat-box h3{color:var(--color-accent);margin:0;font-size:4rem;line-height:1}.stat-box p{margin:10px 0 0;font-size:1.1rem;font-weight:500}.tip-card{background:var(--color-blue-light);border-left:4px solid var(--color-blue);border-radius:0 var(--radius-md) var(--radius-md) 0;height:100%;padding:20px}.tip-card h5{color:var(--color-blue);margin-top:0;margin-bottom:8px;font-size:1.15rem}.poem-lines{font-family:var(--font-serif);text-align:center;font-size:1.15rem;font-style:italic;line-height:1.7}.site-footer{border-top:1px solid var(--color-border);background-color:var(--color-bg-card);margin-top:auto;padding:50px 0 30px}.footer-grid{grid-template-columns:2fr 1fr 1.5fr;gap:40px;margin-bottom:40px;display:grid}.footer-info h4{color:var(--color-primary);margin-bottom:15px;font-size:1.4rem}.footer-info p{color:var(--color-text-muted);font-size:.95rem}.footer-links h5,.footer-subscribe h5{color:var(--color-text-main);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--color-accent);margin-bottom:15px;padding-bottom:8px;font-size:1.05rem}.footer-links ul{margin:0;padding:0;list-style:none}.footer-links li{margin-bottom:8px}.footer-links a{color:var(--color-text-muted)}.footer-links a:hover{color:var(--color-primary)}.subscribe-form{gap:10px;display:flex}.subscribe-form input{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-sans);flex-grow:1;padding:8px 12px;font-size:.9rem}.footer-bottom{border-top:1px solid var(--color-border);color:var(--color-text-muted);justify-content:space-between;align-items:center;padding-top:20px;font-size:.85rem;display:flex}.footer-mascot-icon{vertical-align:middle;border:1px solid var(--color-accent);border-radius:50%;width:25px;height:25px;margin-right:8px;display:inline-block}.admin-login-link{color:var(--color-text-muted);border-radius:4px;align-items:center;gap:5px;padding:4px 8px;font-weight:500;display:inline-flex}.admin-login-link:hover{background:var(--color-bg-paper);color:var(--color-primary);text-decoration:none}.admin-top-bar{color:#fff;z-index:1000;width:100%;font-family:var(--font-sans);background-color:#171f26;justify-content:space-between;align-items:center;padding:12px 20px;display:flex;position:fixed;top:0;left:0;box-shadow:0 4px 15px #0003}body.admin-mode-active{padding-top:60px}.admin-logo-badge{color:var(--color-accent);align-items:center;gap:8px;font-size:1.05rem;font-weight:700;display:flex}.admin-actions{align-items:center;gap:12px;display:flex}.btn-admin{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);border:none;padding:6px 14px;font-size:.85rem;font-weight:600}.btn-admin-primary{color:#fff;background-color:#1fad4e}.btn-admin-primary:hover{background-color:#188b3f}.btn-admin-secondary{color:#fff;background-color:#c32222}.btn-admin-secondary:hover{background-color:#a51d1d}.btn-admin-neutral{color:#fff;background-color:#ffffff26}.btn-admin-neutral:hover{background-color:#ffffff40}.admin-mode-active .site-section{border:1px dashed #8f141f4d;position:relative}.admin-mode-active .grid-container>*{border-radius:var(--radius-sm);border:1px dotted #171f264d;padding:10px;position:relative}.section-admin-controls{z-index:10;border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);background:#fff;gap:5px;padding:5px;display:flex;position:absolute;top:10px;right:10px}.block-admin-controls{z-index:10;border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);opacity:.3;transition:var(--transition);background:#171f26;gap:2px;padding:2px;display:flex;position:absolute;top:-12px;right:10px}.grid-container>:hover .block-admin-controls{opacity:1}.btn-control-icon{color:var(--color-text-main);background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:.9rem}.btn-control-icon:hover{background:var(--color-bg-paper)}.block-admin-controls .btn-control-icon{color:#fff;padding:2px 6px;font-size:.8rem}.block-admin-controls .btn-control-icon:hover{background:#ffffff26}[contenteditable=true]{transition:var(--transition);background-color:#ffb3000d;border-radius:4px;outline:none;padding:2px 4px}[contenteditable=true]:focus{box-shadow:0 0 0 2px var(--color-accent);background-color:#ffb3001f}.add-block-placeholder{cursor:pointer;color:var(--color-text-muted);background:var(--color-bg-paper);transition:var(--transition);grid-column:span 12;justify-content:center;align-items:center;font-weight:600;display:flex;border:2px dashed var(--color-border)!important;padding:20px!important}.add-block-placeholder:hover{color:var(--color-primary);background:var(--color-primary-light);border-color:var(--color-primary)!important}.add-section-placeholder{cursor:pointer;color:var(--color-primary);background:var(--color-primary-light);border-radius:var(--radius-md);transition:var(--transition);justify-content:center;align-items:center;margin:20px 40px;padding:25px;font-weight:600;display:flex;border:2px dashed var(--color-primary)!important}.add-section-placeholder:hover{background:var(--color-accent-light);color:var(--color-text-main);border-color:var(--color-accent)!important}.modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal-content{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center;background:#fff;width:90%;max-width:400px;padding:35px;position:relative}.modal-content h3{color:var(--color-primary);margin-top:0;font-size:1.8rem}.form-group{text-align:left;margin-bottom:20px}.form-group label{color:var(--color-text-main);margin-bottom:6px;font-weight:600;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;font-family:var(--font-sans);padding:10px 14px;font-size:.95rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light);outline:none}.modal-actions{justify-content:flex-end;gap:12px;display:flex}.admin-sidebar{border-right:1px solid var(--color-border);z-index:900;width:320px;height:calc(100vh - 60px);font-family:var(--font-sans);background:#fff;padding:25px;position:fixed;top:60px;left:0;overflow-y:auto;box-shadow:5px 0 15px #00000005}body.admin-sidebar-open .site-wrapper{max-width:calc(100% - 360px);margin-left:340px}.sidebar-title{border-bottom:2px solid var(--color-accent);color:var(--color-primary-dark);margin-bottom:20px;padding-bottom:8px;font-size:1.25rem}.sidebar-section{margin-bottom:30px}.page-list-item{border-radius:var(--radius-sm);background:var(--color-bg-paper);justify-content:space-between;align-items:center;margin-bottom:8px;padding:8px 12px;display:flex}.page-list-item span{font-weight:600}.page-list-actions{gap:4px;display:flex}.page-list-actions button{background:0 0;border:none;padding:2px 6px;font-size:.8rem}.image-upload-preview{border:1px solid var(--color-border);border-radius:var(--radius-sm);object-fit:contain;max-height:120px;margin-top:10px;padding:5px}@media (width<=1024px){.site-section{padding:40px 20px}.footer-grid{grid-template-columns:1fr 1fr}.footer-subscribe{grid-column:span 2}}@media (width<=768px){.header-top{flex-direction:column;align-items:flex-start}.nav-toggle{align-self:flex-end;margin-top:-50px;display:block}.site-nav{width:100%;display:none}.site-nav.mobile-open{display:block}.nav-list{flex-direction:column;width:100%}.nav-link{text-align:left;width:100%;padding:12px 16px}.grid-container{grid-template-columns:1fr;gap:20px}.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12{grid-column:span 12}.block-rich-text h1{font-size:2.2rem}.footer-grid{grid-template-columns:1fr}.footer-subscribe{grid-column:span 1}.footer-bottom{text-align:center;flex-direction:column;gap:15px}body.admin-sidebar-open .site-wrapper{max-width:100%;margin-left:0}.admin-sidebar{border-right:none;border-top:1px solid var(--color-border);width:100%;height:50vh;top:auto;bottom:0;box-shadow:0 -5px 15px #0000000d}}.modal-overlay{animation:.25s ease-out forwards fadeIn}.modal-content{animation:.3s cubic-bezier(.34,1.56,.64,1) forwards scaleUp}.admin-sidebar{animation:.3s cubic-bezier(.16,1,.3,1) forwards slideInLeft}.svg-icon{vertical-align:middle;stroke-width:2.25px;transition:transform .2s;display:inline-block}button:hover .svg-icon{transform:scale(1.08)}@keyframes fadeIn{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}@keyframes scaleUp{0%{opacity:0;transform:scale(.93)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}.site-content{animation:.35s cubic-bezier(.16,1,.3,1) forwards pageFadeIn}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
