.desktop-nav{gap:14px;font-size:.81rem}.desktop-nav a{white-space:normal}.header-inner{gap:20px}.brand-name{font-size:1.3rem}.slider-controls{display:flex;align-items:center;gap:14px;margin-top:29px}.slider-controls button{border:1px solid #ffffff60;background:transparent;color:#fff;padding:7px 13px;min-height:40px}.slider-controls button:hover{background:#ffffff18}.slider-count{font-size:.8rem;font-variant-numeric:tabular-nums}.slider-pause{font-size:.8rem}.slider-controls[hidden]{display:none}.hero h1{font-size:clamp(2.9rem,5vw,4.8rem)}.hero-copy{padding-top:50px;padding-bottom:45px}.content-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.content-card{display:block;border:1px solid var(--line);background:white;overflow:hidden;transition:box-shadow .2s}.content-card:hover{box-shadow:0 10px 30px #102d4712}.content-card>img{height:235px;width:100%;object-fit:cover}.card-body{padding:27px}.card-body h2{font-size:1.7rem}.card-body p{color:var(--muted)}.event-date{font-size:.86rem;color:#886025;font-weight:600;line-height:1.6}.event-calendar{background:var(--pale);height:150px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--navy)}.event-calendar span{text-transform:uppercase;letter-spacing:.2em}.event-calendar strong{font:3rem var(--serif)}.event-detail{max-width:850px;margin:40px auto}.event-detail .event-date{margin:28px 0 15px}.event-description{white-space:pre-wrap;line-height:1.9}.filter-buttons{display:flex;gap:10px;margin-bottom:35px}.filter-buttons button{padding:10px 22px;background:#fff;border:1px solid var(--line);color:var(--navy)}.filter-buttons button[aria-pressed=true]{background:var(--navy);color:#fff}.empty-state{padding:65px 30px;text-align:center;background:var(--pale);border:1px solid var(--line)}.empty-state h2{font-size:2.1rem}.empty-state p{color:var(--muted);margin:0}.album-placeholder{height:200px;background:var(--pale);display:grid;place-items:center;color:var(--muted);font:1.7rem var(--serif)}.album-description{margin:30px 0;max-width:800px;white-space:pre-wrap}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.photo-item{padding:0;border:1px solid var(--line);background:white;text-align:left;color:var(--ink)}.photo-item img{width:100%;height:260px;object-fit:cover}.photo-item span{display:block;padding:15px;font-size:.94rem}.photo-item:hover{outline:2px solid var(--gold)}#lightbox{width:min(1100px,95vw);padding:50px 30px 20px;border:0;background:#092438;color:#fff;max-height:94vh}dialog::backdrop{background:#061421d9}#lightbox img{margin:auto;max-height:66vh;object-fit:contain}#lightbox p{text-align:center;margin:15px 0;white-space:pre-wrap}.lightbox-close{position:absolute;right:14px;top:8px;background:none;border:0;color:white;font-size:2rem}.lightbox-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.lightbox-actions button{background:transparent;color:white;border:1px solid #ffffff60;padding:8px 14px}.admin-body{background:#f3f6f8;font-size:16px}.admin-sidebar{width:262px;background:var(--navy);color:#e6eef3;position:fixed;inset:0 auto 0 0;padding:34px 22px;display:flex;flex-direction:column;overflow-y:auto}.admin-brand{display:flex;gap:12px;font-family:var(--serif);font-size:1.12rem;line-height:1.35;margin-bottom:42px}.admin-brand img{border-radius:50%;background:white;align-self:center}.admin-brand small{display:block;font:10px var(--sans);letter-spacing:.1em;color:var(--gold);margin-top:7px}.admin-sidebar nav{display:grid;gap:8px}.admin-sidebar nav a{padding:12px 15px;font-size:.92rem;border-left:2px solid transparent}.admin-sidebar nav a[aria-current=page]{background:#ffffff12;color:var(--gold);border-color:var(--gold)}.admin-sidebar nav a:hover{background:#ffffff0c}.view-site{margin:35px 15px;font-size:.88rem}.admin-identity{margin:auto 15px 13px;font-size:.78rem;overflow-wrap:anywhere;color:#bacdd9}.admin-sidebar #admin-signout{margin-left:15px;font-size:.85rem}.admin-main{margin-left:262px;padding:0 48px 65px;max-width:1700px}.admin-top{height:82px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);font-size:.75rem;letter-spacing:.08em;color:var(--muted);gap:20px;margin-bottom:40px}.admin-title{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px}.admin-title h1{font-size:2.6rem;margin:0 0 9px}.admin-title p{color:var(--muted);margin:0}.admin-panel{background:#fff;padding:30px;border:1px solid var(--line);margin-bottom:24px}.admin-panel h2{font-size:1.75rem}.admin-panel h3{font-size:1.12rem}.admin-form{max-width:900px}.admin-form label{display:block;font-size:.89rem;font-weight:600;margin-bottom:8px}.admin-form input:not([type=checkbox]),.admin-form select,.admin-form textarea{display:block;width:100%;border:1px solid #c3d0d9;background:white;color:var(--ink);padding:11px 13px;border-radius:2px;font-size:.98rem;min-height:46px}.admin-form textarea{resize:vertical;min-height:135px}.field{margin-bottom:23px}.field small{display:block;color:var(--muted);font-size:.81rem;margin-top:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 23px}.form-grid .span-2{grid-column:1/-1}.admin-form input[type=file]{padding:9px}.admin-form input[type=checkbox]{width:18px;height:18px;accent-color:var(--navy);vertical-align:middle;margin-right:7px}.admin-form .actions{padding-top:6px}.secondary{background:#fff;color:var(--navy);border-color:#bacad4}.secondary:hover{background:#edf3f7}.danger{background:#b43434;color:white}.danger:hover{background:#8c2222}.admin-row{display:flex;justify-content:space-between;gap:24px;padding:24px 0;border-bottom:1px solid var(--line);align-items:center}.admin-row:first-child{padding-top:0}.admin-row:last-child{border-bottom:0;padding-bottom:0}.admin-row h3{margin:0 0 8px}.admin-row p{margin:0;color:var(--muted);font-size:.89rem}.row-actions{display:flex;gap:9px;flex-shrink:0}.row-actions button{font-size:.85rem;padding:8px 15px;border:1px solid var(--line);background:#fff;color:var(--navy)}.row-actions .delete{color:#ad2a2a}.badge{display:inline-block;padding:3px 9px;background:#eaf2f4;color:#375368;font-size:.72rem;margin-left:9px;text-transform:uppercase;letter-spacing:.05em}.badge.published{background:#e4f1e9;color:#2f6044}#admin-alert{position:sticky;top:12px;z-index:20;padding:14px 20px;margin-bottom:24px;background:#e7f1eb;border:1px solid #b7d0c0;color:#205238}#admin-alert.error{background:#fff0ed;border-color:#e3b6af;color:#8a2922}.admin-help{color:var(--muted);font-size:.91rem}.admin-image-preview{width:190px;max-height:150px;object-fit:cover;margin:13px 0}.admin-images{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.admin-image{padding:20px;border:1px solid var(--line);background:white}.admin-image img{width:100%;height:200px;object-fit:cover;margin-bottom:20px}.admin-image .field{margin-bottom:15px}.admin-image .actions{gap:10px;margin-top:15px}.admin-image .btn{padding:10px 15px;font-size:.85rem}.upload-zone{background:#f5f8fa;border:1px dashed #99afbd;padding:25px;margin:24px 0}.slide-editor{margin-bottom:22px;border:1px solid var(--line);padding:25px;background:#fff}.slide-editor h2{font:1.4rem var(--serif)}#confirm-dialog{width:min(470px,90vw);padding:32px;border:0;color:var(--ink)}#confirm-dialog h2{font-size:1.8rem}.admin-main button[disabled]{opacity:.6}.inline-link{text-decoration:underline;color:var(--blue)}.admin-image input[type=number]{max-width:130px}
@media(max-width:1350px) and (min-width:1021px){.desktop-nav{gap:10px;font-size:.75rem}.brand-name{font-size:1.12rem}.school-crest{width:48px;height:48px}.header-inner{gap:12px}}
@media(max-width:1020px){.content-grid{grid-template-columns:repeat(2,1fr)}.photo-grid{grid-template-columns:repeat(2,1fr)}.admin-sidebar{width:215px;padding:25px 14px}.admin-main{margin-left:215px;padding:0 25px 45px}.admin-title{align-items:start}.admin-title h1{font-size:2.2rem}.admin-images{grid-template-columns:1fr}.admin-row{align-items:start;flex-direction:column;gap:15px}}
@media(max-width:700px){.hero h1{font-size:2.8rem}.hero-copy{padding-top:40px}.slider-controls{margin-top:24px}.content-grid,.photo-grid{grid-template-columns:1fr}.photo-item img{height:300px}.filter-buttons button{padding:9px 17px}.admin-sidebar{position:static;width:100%;padding:21px}.admin-brand{margin-bottom:18px}.admin-sidebar nav{display:flex;flex-wrap:wrap;gap:5px}.admin-sidebar nav a{padding:8px 10px;font-size:.8rem}.view-site{margin:18px 10px 6px}.admin-identity{margin:10px;font-size:.76rem}.admin-sidebar #admin-signout{margin-left:10px}.admin-main{margin:0;padding:0 20px 40px}.admin-top{height:65px;margin-bottom:27px}.admin-top span:last-child{display:none}.admin-title{display:block}.admin-title .btn{margin-top:20px}.admin-panel{padding:22px}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.admin-title h1{font-size:2.1rem}.slide-editor{padding:20px}.content-card>img{height:225px}.card-body{padding:22px}.admin-form input:not([type=checkbox]),.admin-form textarea,.admin-form select{font-size:16px}#lightbox{padding:45px 14px 16px}.lightbox-actions button{font-size:.85rem;padding:8px}.empty-state{padding:40px 20px}}
.admin-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:34px;align-items:start}.admin-brand img{border-radius:0;object-fit:contain;background:#fff}.admin-sidebar nav a[aria-current=false]{background:transparent;color:inherit;border-color:transparent}.slide-editor .admin-title{margin-bottom:16px}.slide-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.slide-editor .admin-title,.slide-editor .span-2,.slide-editor textarea{grid-column:1/-1}.slide-editor>button.delete{justify-self:start}.admin-panel .btn{border:0}.login-panel{max-width:560px}.login-panel .admin-form{max-width:420px}@media(max-width:1350px) and (min-width:1021px){.school-crest{width:82px;height:100px}.desktop-nav{font-size:.8rem;gap:8px}.brand-name{font-size:1.12rem}.header-inner{gap:10px}}@media(max-width:900px){.admin-grid{grid-template-columns:1fr}.admin-images{grid-template-columns:1fr}.slide-editor{grid-template-columns:1fr}}@media(max-width:700px){.admin-brand img{width:54px;height:66px}.slide-editor{display:block}}
