:root{--red:#b02a3e;--red-dark:#8c2232;--red-tint:#faf3f4;--ink:#1d1d1f;--ink-soft:#4a4a4f;--rule:#e6e2e3;--paper:#fff;--paper-alt:#f8f6f6;--gutter:clamp(1.25rem, 5vw, 4rem);--measure:70ch;--radius:10px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);margin:0;font-family:"Source Sans 3",Segoe UI,system-ui,-apple-system,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1.125rem;line-height:1.7}img{max-width:100%;height:auto;display:block}a{color:var(--red);text-underline-offset:.2em}a:hover{color:var(--red-dark)}a:focus-visible{outline:3px solid var(--red);outline-offset:3px;border-radius:2px}h1,h2,h3{letter-spacing:-.01em;margin:0 0 .75em;font-weight:700;line-height:1.2}p{margin:0 0 1.25em}.skip-link{background:var(--red);color:#fff;z-index:100;padding:.75rem 1.25rem;position:absolute;top:0;left:-999px}.skip-link:focus{color:#fff;left:1rem}:root{--red-soft:#e3bcc2;--red-tint-strong:#f5e5e8;--field-border:#c9c4c5;--ok:#2e7d32;--ok-tint:#eaf6ec;--ok-dark:#1b5e20}button,input,textarea,select{font:inherit}#root{flex-direction:column;min-height:100vh;display:flex}#main{flex:1}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{z-index:10;background:var(--paper);border-top:6px solid var(--red);border-bottom:1px solid var(--rule);position:sticky;top:0}.site-header__inner{padding:.85rem var(--gutter);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 2rem;display:flex}.brand{color:var(--ink);letter-spacing:.02em;align-items:center;gap:.85rem;font-size:1.2rem;font-weight:700;text-decoration:none;display:flex}.brand img{width:auto;height:52px}.brand span small{color:var(--red);letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;font-weight:600;display:block}.site-nav ul{flex-wrap:wrap;gap:.25rem .5rem;margin:0;padding:0;list-style:none;display:flex}.site-nav a{color:var(--ink);border-radius:999px;padding:.5rem 1rem;font-weight:600;text-decoration:none;display:block}.site-nav a:hover{background:var(--red-tint);color:var(--red-dark)}.site-nav a[aria-current=page]{background:var(--red);color:#fff}.hero{padding:clamp(3rem, 8vw, 6rem) var(--gutter);background:var(--paper);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:clamp(2rem,5vw,5rem);display:grid}.hero__logo{justify-self:center;width:min(100%,360px)}.hero__eyebrow{color:var(--red);letter-spacing:.14em;text-transform:uppercase;margin:0 0 1rem;font-size:.95rem;font-weight:700}.hero h1{font-size:clamp(2.25rem,5vw,3.75rem)}.hero__lead{color:var(--ink-soft);max-width:38ch;font-size:clamp(1.15rem,1.8vw,1.35rem)}.hero__verse{border-left:5px solid var(--red);background:var(--red-tint);border-radius:0 var(--radius) var(--radius) 0;max-width:46ch;margin:2rem 0 0;padding:1.25rem 1.5rem;font-style:italic}.hero__verse cite{color:var(--red-dark);margin-top:.5rem;font-size:.95rem;font-style:normal;font-weight:600;display:block}.page-banner{padding:clamp(3rem, 7vw, 5.5rem) var(--gutter);background:linear-gradient(135deg, var(--red) 0%, var(--red-dark) 100%);color:#fff}.page-banner__eyebrow{letter-spacing:.14em;text-transform:uppercase;opacity:.85;margin:0 0 .75rem;font-size:.9rem;font-weight:700}.page-banner h1{margin-bottom:.5rem;font-size:clamp(2.25rem,5vw,3.5rem)}.page-banner p:last-child{opacity:.95;max-width:60ch;margin:0;font-size:1.2rem}.band{padding:clamp(3rem, 7vw, 5.5rem) var(--gutter)}.band--alt{background:var(--paper-alt)}.band__heading{margin-bottom:clamp(2rem,4vw,3rem)}.band__heading h2{margin-bottom:.4em;font-size:clamp(1.75rem,3.5vw,2.5rem)}.band__heading h2:after{content:"";background:var(--red);border-radius:3px;width:64px;height:5px;margin-top:.6rem;display:block}.band__heading p{color:var(--ink-soft);max-width:var(--measure);margin:0}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(1.5rem,3vw,2.5rem);display:grid}.summary-card{background:var(--paper);border:1px solid var(--rule);border-top:6px solid var(--red);border-radius:var(--radius);flex-direction:column;padding:clamp(1.75rem,3.5vw,3rem);display:flex;box-shadow:0 6px 24px #1d1d1f0f}.summary-card h2{font-size:clamp(1.6rem,3vw,2.1rem)}.summary-card p{color:var(--ink-soft)}.summary-card ul{gap:.6rem;margin:0 0 2rem;padding:0;list-style:none;display:grid}.summary-card li{padding-left:1.5rem;position:relative}.summary-card li:before{content:"";background:var(--red);border-radius:50%;width:.55rem;height:.55rem;position:absolute;top:.65em;left:0}.summary-card .button{align-self:flex-start;margin-top:auto}.button{background:var(--red);color:#fff;border-radius:999px;padding:.85rem 1.75rem;font-weight:700;text-decoration:none;transition:background-color .15s;display:inline-block}.button:hover{background:var(--red-dark);color:#fff}.stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}.stats li{border-left:5px solid var(--red);background:var(--paper);padding:1.5rem}.stats strong{color:var(--red);font-size:clamp(2rem,4vw,2.75rem);line-height:1.1;display:block}.layout{grid-template-columns:minmax(200px,260px) minmax(0,1fr);align-items:start;gap:clamp(2rem,5vw,5rem);display:grid}.toc{background:var(--paper-alt);border-radius:var(--radius);padding:1.5rem;position:sticky;top:7rem}.toc h2{letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:1rem;font-size:.85rem}.toc ol{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.toc a{color:var(--ink);border-left:3px solid #0000;padding:.35rem .75rem;font-size:1rem;font-weight:600;text-decoration:none;display:block}.toc a:hover{border-left-color:var(--red);color:var(--red-dark);background:var(--paper)}.article-section{max-width:var(--measure);border-bottom:1px solid var(--rule);margin-bottom:clamp(2.5rem,5vw,3.5rem);padding-bottom:clamp(2.5rem,5vw,3.5rem);scroll-margin-top:7rem}.article-section:last-child{border-bottom:0;margin-bottom:0}.article-section h2{font-size:clamp(1.6rem,3vw,2.1rem)}.article-section h2 .tag{background:var(--red);color:#fff;vertical-align:.3em;letter-spacing:.05em;border-radius:6px;margin-right:.6rem;padding:.15rem .65rem;font-size:.6em;display:inline-block}.callout{border-left:5px solid var(--red);background:var(--red-tint);border-radius:0 var(--radius) var(--radius) 0;margin:1.75rem 0;padding:1.5rem 1.75rem}.callout p:last-child{margin-bottom:0}.callout cite{color:var(--red-dark);margin-top:.5rem;font-style:normal;font-weight:600;display:block}.facts{flex-wrap:wrap;gap:.75rem;margin:1.5rem 0 0;padding:0;list-style:none;display:flex}.facts li{border:2px solid var(--red);color:var(--red-dark);border-radius:999px;padding:.5rem 1.1rem;font-size:1rem;font-weight:700}.contact-layout{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,5vw,5rem);display:grid}.contact-form{border:1px solid var(--rule);border-top:6px solid var(--red);border-radius:var(--radius);gap:1.5rem;padding:clamp(1.75rem,3.5vw,3rem);display:grid;box-shadow:0 6px 24px #1d1d1f0f}.field-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1.5rem;display:grid}.field{gap:.5rem;font-weight:600;display:grid}.field abbr{color:var(--red);text-decoration:none}.field input,.field textarea{width:100%;font:inherit;color:var(--ink);background:var(--paper);border:1px solid #c9c4c5;border-radius:8px;padding:.8rem 1rem;font-weight:400}.field textarea{resize:vertical;min-height:10rem}.field input:focus,.field textarea:focus{border-color:var(--red);outline:none;box-shadow:0 0 0 3px #b02a3e33}.contact-form .button{font:inherit;cursor:pointer;border:0;justify-self:start;font-weight:700}.field-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-status{border-radius:8px;margin:0;padding:1rem 1.25rem;scroll-margin-top:8rem;font-weight:600;display:none}.form-status:target{display:block}.form-status--ok{color:#1b5e20;background:#eaf6ec;border-left:5px solid #2e7d32}.form-status--error{background:var(--red-tint);border-left:5px solid var(--red);color:var(--red-dark)}.contact-aside{background:var(--paper-alt);border-radius:var(--radius);padding:clamp(1.5rem,3vw,2.25rem)}.contact-aside h2{font-size:1.4rem}.contact-aside p{color:var(--ink-soft)}.site-footer{padding:clamp(2.5rem, 5vw, 3.5rem) var(--gutter);background:var(--ink);color:#d8d6d7;border-top:6px solid var(--red)}.site-footer__inner{flex-wrap:wrap;justify-content:space-between;gap:1.5rem 3rem;display:flex}.site-footer strong{color:#fff;font-size:1.15rem}.site-footer p{margin:.25rem 0 0}.site-footer ul{flex-wrap:wrap;gap:.5rem 1.75rem;margin:0;padding:0;list-style:none;display:flex}.site-footer a{color:#fff;font-weight:600;text-decoration:none}.site-footer a:hover{color:#eba3ae;text-decoration:underline}@media (width<=860px){.hero{text-align:center;grid-template-columns:1fr}.hero__logo{width:min(100%,260px)}.hero__lead,.hero__verse{margin-left:auto;margin-right:auto}.hero__verse{text-align:left}.layout,.contact-layout{grid-template-columns:1fr}.toc{position:static}.toc ol{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}}@media (width<=560px){body{font-size:1.0625rem}.site-header{position:static}.site-header__inner{justify-content:center}.brand img{height:44px}}button.button{font:inherit;cursor:pointer;border:0;font-weight:700}button.button:disabled{opacity:.65;cursor:wait}.button--small{padding:.5rem 1.25rem}.button--outline{color:var(--red-dark);box-shadow:inset 0 0 0 2px var(--red);background:0 0}.button--outline:hover{background:var(--red-tint);color:var(--red-dark)}.site-header__nav-group{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem 1rem;display:flex}.site-nav ul{justify-content:flex-end}.site-nav a{padding:.45rem .9rem;font-size:1rem}.account-menu{position:relative}.account-menu summary{border:2px solid var(--red);color:var(--red-dark);cursor:pointer;border-radius:999px;align-items:center;gap:.5rem;padding:.45rem 1rem;font-size:1rem;font-weight:700;list-style:none;display:flex}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary:after{content:"";border-bottom:2px solid;border-right:2px solid;width:.45rem;height:.45rem;transform:translateY(-25%)rotate(45deg)}.account-menu[open] summary,.account-menu summary:hover{background:var(--red-tint)}.account-menu summary:focus-visible{outline:3px solid var(--red);outline-offset:3px}.account-menu__panel{z-index:20;background:var(--paper);border:1px solid var(--rule);border-top:4px solid var(--red);border-radius:var(--radius);min-width:15rem;padding:.75rem;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 12px 32px #1d1d1f24}.account-menu__who{border-bottom:1px solid var(--rule);overflow-wrap:anywhere;margin:0 0 .5rem;padding:0 .5rem .6rem;font-size:.95rem;line-height:1.4}.account-menu__who small{color:var(--red);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700;display:block}.account-menu__panel ul{margin:0;padding:0;list-style:none}.account-menu__panel a,.account-menu__panel button{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.45rem .5rem;font-size:1rem;font-weight:600;text-decoration:none;display:block}.account-menu__panel a:hover,.account-menu__panel button:hover,.account-menu__panel a[aria-current=page]{background:var(--red-tint);color:var(--red-dark)}.tool-page{max-width:1120px}.status-strip{padding:.75rem var(--gutter) 0}@media (width<=1100px){.site-header__inner,.site-header__nav-group,.site-nav ul{justify-content:center}}@media (width<=560px){.account-menu__panel{right:50%;transform:translate(50%)}}.form-status--shown{display:block}.status-banner{background:var(--red-tint);color:var(--ink);border-radius:.75rem;margin:0;padding:.7rem .9rem;font-size:.9rem;font-weight:600}.content-block{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);margin-top:1rem;padding:1.25rem 1.4rem;box-shadow:0 8px 18px #1d1d1f0f}.content-block h3{color:var(--ink);margin:0 0 .7rem;font-size:1.2rem}.content-block p{color:var(--ink-soft);margin:0;line-height:1.75}.news-tool,.article-detail{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);flex-direction:column;gap:1rem;padding:1.25rem 1.4rem;display:flex;box-shadow:0 8px 18px #1d1d1f0f}.article-list{gap:.75rem;display:grid}.article-list-item{border:1px solid var(--rule);color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:.65rem;grid-template-columns:7rem minmax(0,1fr) auto;grid-template-areas:"date title author""date summary summary";gap:.35rem 1rem;padding:1rem;display:grid}.article-list-item:hover,.article-list-item:focus-visible{border-color:var(--red);outline:2px solid var(--red-soft);outline-offset:2px}.article-list-date{color:var(--red);text-transform:uppercase;grid-area:date;font-size:.78rem;font-weight:700}.article-list-title{grid-area:title;font-size:1.08rem;font-weight:700}.article-list-summary{color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;grid-area:summary;line-height:1.5;display:-webkit-box;overflow:hidden}.article-list-author{color:var(--ink-soft);white-space:nowrap;grid-area:author;font-size:.82rem}.article-pagination{justify-content:space-between}.article-detail-actions,.article-editor-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.article-detail-title-row{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.article-detail-title-row .course-edit-button{flex-shrink:0;position:static}.article-editor-delete{margin-left:auto}.article-detail h2,.article-editor-heading h2{color:var(--ink);margin:0}.article-meta{color:var(--ink-soft);font-size:.85rem}.article-rendered-content{color:var(--ink-soft);font-size:1.02rem;line-height:1.8}.article-rendered-content p,.article-rendered-content h2,.article-rendered-content h3,.article-rendered-content blockquote{margin:0 0 1rem}.article-rendered-content h2,.article-rendered-content h3{color:var(--ink);line-height:1.25}.article-rendered-content blockquote{border-left:3px solid var(--red-soft);color:var(--ink-soft);padding-left:1rem}.article-rendered-content ul{margin:0 0 1rem;padding-left:1.5rem}.article-editor{gap:.85rem;display:grid}.article-editor-field{color:var(--ink);gap:.35rem;font-weight:600;display:grid}.article-editor input,.article-editor textarea{box-sizing:border-box;border:1px solid var(--field-border);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:.5rem;padding:.65rem .7rem}.article-editor textarea{resize:vertical}.article-editor small{color:var(--ink-soft);font-weight:400}.article-rich-text-editor{border:1px solid var(--field-border);background:#fff;border-radius:.5rem;overflow:hidden}.article-editor-toolbar{border-bottom:1px solid var(--rule);background:var(--paper);flex-wrap:wrap;gap:.35rem;padding:.45rem;display:flex}.article-editor-toolbar button{border:1px solid var(--field-border);color:var(--ink);cursor:pointer;font:inherit;background:#fff;border-radius:.35rem;padding:.3rem .5rem}.article-editor-input{min-height:14rem;color:var(--ink);outline:none;padding:.75rem;line-height:1.7}.article-photo-dropzone{border:2px dashed var(--field-border);background:var(--paper);color:var(--ink-soft);border-radius:.5rem;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem;font-weight:400;display:flex}.article-photo-dropzone.is-dragging{border-color:var(--red);background:var(--red-tint)}.article-photo-rejected{margin:0;padding-left:1.25rem;font-weight:400}.article-photo-grid{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.75rem;margin:0;padding:0;font-weight:400;list-style:none;display:grid}.article-photo-card{border:1px solid var(--rule);background:#fff;border-radius:.5rem;gap:.4rem;min-width:0;padding:.4rem;display:grid}.article-photo-card img,.article-photo-card .missing-image{aspect-ratio:4/3;object-fit:cover;background:var(--paper-alt);border-radius:.3rem;width:100%}.article-photo-queued img,.article-photo-uploading img{opacity:.7}.article-photo-error{border-color:var(--red)}.article-editor .article-photo-card input{padding:.4rem .5rem;font-size:.9rem}.article-photo-progress{width:100%;accent-color:var(--red)}.article-photo-card-footer{justify-content:space-between;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.article-photo-status{min-width:0;color:var(--ink-soft);overflow-wrap:anywhere}.article-photo-error .article-photo-status{color:var(--red)}.danger-link{color:var(--red);cursor:pointer;font:inherit;background:0 0;border:0;flex-shrink:0;padding:.2rem 0;text-decoration:underline}.danger-link:disabled{color:var(--ink-soft);cursor:not-allowed}.article-photos{margin-top:1.5rem}.article-photos h3{color:var(--ink);margin:0 0 .75rem}.article-lightbox-nav{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.article-lightbox-nav button{border:1px solid var(--field-border);color:var(--ink);cursor:pointer;font:inherit;background:#fff;border-radius:.35rem;padding:.35rem .75rem}.management-tool-link{border:1px solid var(--field-border);background:var(--red-tint);width:100%;color:var(--ink);text-align:left;cursor:pointer;border-radius:.75rem;padding:1.2rem;font-size:1.1rem;font-weight:700}.management-tools{flex-direction:column;gap:.75rem;display:flex}.management-tools h3{color:var(--ink);margin:0}.gallery-tool{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);flex-direction:column;gap:1rem;padding:1.25rem 1.4rem;display:flex;box-shadow:0 8px 18px #1d1d1f0f}.section-kicker{color:var(--red);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .25rem;font-size:.72rem;font-weight:700}.gallery-count{color:var(--ink-soft);font-size:.85rem}.gallery-filters{border:1px solid var(--rule);background:var(--paper-alt);grid-template-columns:minmax(180px,.38fr) minmax(0,1fr);gap:.85rem;padding:.9rem;display:grid}.gallery-search,.gallery-select{color:var(--ink);gap:.35rem;font-size:.82rem;font-weight:700;display:grid}.gallery-search-row{gap:.5rem;display:flex}.gallery-search input,.gallery-select select{border:1px solid var(--field-border);width:100%;min-width:0;color:var(--ink);background:#fff;border-radius:.5rem;padding:.6rem .7rem}.gallery-search button,.gallery-lightbox-close{border:1px solid var(--red);background:var(--red);color:#fff;cursor:pointer;white-space:nowrap;border-radius:.5rem;padding:.5rem .8rem;font-weight:700}.thumbnail-table{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.thumbnail-tile{border:1px solid var(--rule);min-width:0;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:.65rem;flex-direction:column;gap:.28rem;padding:0;display:flex;overflow:hidden}.thumbnail-tile:hover,.thumbnail-tile:focus-visible{border-color:var(--red);outline:2px solid var(--red-soft);outline-offset:2px}.thumbnail-tile img,.missing-image{aspect-ratio:4/3;object-fit:cover;background:var(--paper-alt);width:100%}.missing-image{color:var(--ink-soft);place-items:center;font-size:.8rem;display:grid}.thumbnail-caption,.thumbnail-gallery{text-overflow:ellipsis;white-space:nowrap;padding:0 .65rem;overflow:hidden}.thumbnail-caption{padding-top:.25rem;font-weight:700}.thumbnail-gallery{color:var(--ink-soft);padding-bottom:.65rem;font-size:.76rem}.gallery-message{color:var(--ink-soft);margin:0}.gallery-management{border:1px solid var(--field-border);background:var(--paper-alt);gap:.85rem;padding:1rem;display:grid}.gallery-management h3{color:var(--ink);margin:0}.gallery-create-form{color:var(--ink);gap:.35rem;font-size:.82rem;font-weight:700;display:grid}.gallery-create-form input{border:1px solid var(--field-border);width:100%;min-width:0;color:var(--ink);background:#fff;border-radius:.5rem;padding:.6rem .7rem}.gallery-create-form button{border:1px solid var(--red);background:var(--red);color:#fff;cursor:pointer;white-space:nowrap;border-radius:.5rem;padding:.5rem .8rem;font-weight:700}.gallery-create-form button:disabled{cursor:wait;opacity:.65}.gallery-management-table-wrap{overflow-x:auto}.gallery-management-table{border-collapse:collapse;background:var(--paper);width:100%}.gallery-management-table th,.gallery-management-table td{border-bottom:1px solid var(--rule);text-align:left;padding:.65rem .75rem}.gallery-management-table thead th{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.gallery-management-table td:nth-child(2){width:7rem;color:var(--ink-soft)}.gallery-management-table td:last-child{white-space:nowrap;width:1%}.gallery-error{color:var(--red-dark)}.gallery-lightbox{z-index:40;background:#1d1d1fb8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.gallery-lightbox-content{background:var(--paper);border-radius:.75rem;width:min(100%,900px);max-height:92vh;padding:.75rem;position:relative;overflow:auto}.gallery-lightbox-content img{object-fit:contain;background:var(--ink);width:100%;max-height:75vh}.gallery-lightbox-content p{color:var(--ink);margin:.75rem 0 .15rem;font-size:1.05rem;font-weight:700}.picture-controls-toggle{border:1px solid var(--red);background:var(--red-tint);color:var(--ink);cursor:pointer;font:inherit;border-radius:.5rem;margin-top:.65rem;padding:.5rem .8rem;font-weight:700}.picture-controls{border-top:1px solid var(--rule);gap:.75rem;margin-top:.75rem;padding-top:.75rem;display:grid}.picture-controls label{color:var(--ink);gap:.35rem;font-size:.82rem;font-weight:700;display:grid}.picture-controls input,.picture-controls select{border:1px solid var(--field-border);min-width:0;color:var(--ink);font:inherit;background:#fff;border-radius:.5rem;padding:.6rem .7rem}.picture-controls select:disabled{cursor:not-allowed;opacity:.65}.picture-controls-actions{flex-wrap:wrap;gap:.5rem;display:flex}.picture-controls-actions button{border:1px solid var(--red);background:var(--red);color:#fff;cursor:pointer;font:inherit;border-radius:.5rem;padding:.5rem .8rem;font-weight:700}.picture-controls-actions button:disabled{cursor:wait;opacity:.65}.picture-controls-actions .danger-button{border-color:var(--red-dark);background:var(--red-dark)}.gallery-lightbox-close{margin:0 0 .75rem auto;display:block}.management-tool-link:hover{background:var(--red-tint-strong)}.tool-header,.pagination-controls{justify-content:space-between;align-items:center;gap:1rem;display:flex}.tool-header h3{margin:.35rem 0 0}.tool-header h2{color:var(--ink);margin:0}.events-header-actions{align-items:center;gap:.75rem;display:flex}.new-event-button,.new-event-form>button{border:1px solid var(--red);background:var(--red);color:#fff;cursor:pointer;font:inherit;border-radius:.5rem;padding:.5rem .75rem;font-weight:600}.new-event-form{gap:.75rem;margin-top:1rem;display:grid}.new-event-form h3{margin:0}.new-event-form label{color:var(--ink);gap:.35rem;font-weight:600;display:grid}.new-event-form input,.new-event-form select{border:1px solid var(--field-border);color:var(--ink);font:inherit;background:#fff;border-radius:.5rem;padding:.6rem .7rem}.rich-text-editor{border:1px solid var(--field-border);background:#fff;border-radius:.5rem;overflow:hidden}.rich-text-toolbar{border-bottom:1px solid var(--rule);background:var(--paper);gap:.35rem;padding:.4rem;display:flex}.rich-text-toolbar button{border:1px solid var(--field-border);min-width:2rem;color:var(--ink);cursor:pointer;font:inherit;background:#fff;border-radius:.35rem;padding:.25rem .45rem;font-weight:700}.rich-text-input{min-height:7rem;color:var(--ink);outline:none;padding:.65rem .7rem;line-height:1.6}.rich-text-input:empty:before{content:attr(data-placeholder);color:#8a8588}.event-form-checkbox{grid-template-columns:auto 1fr;align-items:center;width:fit-content;display:inline-flex!important}.event-date-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.new-event-form button:disabled{cursor:not-allowed;opacity:.5}.tool-description{color:var(--ink-soft);margin:.35rem 0 0}.events-controls{gap:1rem;margin-top:1rem;display:grid}.search-options-toggle,.event-actions button{border:1px solid var(--field-border);background:var(--red);color:#fff;cursor:pointer;font:inherit;border:none;border-radius:999px;align-self:flex-start;padding:.55rem .9rem;font-size:.82rem;font-weight:600}.search-options-toggle:hover,.event-actions button:hover{background:var(--red-dark)}.events-controls-top-row{align-items:end;gap:1rem;display:flex}.events-controls-second-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.event-search-field,.event-certification-field{color:var(--ink);align-items:center;gap:.6rem;font-weight:600;display:flex}.event-search-field{width:100%}.event-search-field input,.event-certification-field select{border:1px solid var(--field-border);min-width:0;color:var(--ink);font:inherit;background:#fff;border-radius:.5rem;padding:.6rem .7rem}.event-search-field input{flex:1}.event-certification-field select{width:10rem}.event-checkbox-field{min-height:2.5rem;color:var(--ink);white-space:nowrap;justify-self:end;align-items:center;gap:.45rem;font-weight:600;display:inline-flex}@media (width<=640px){.events-controls-top-row{flex-direction:column;align-items:stretch}.event-certification-field{flex-direction:column;align-items:stretch;gap:.35rem}.events-controls-second-row{flex-direction:column;align-items:stretch}.event-checkbox-field{align-self:flex-end}}.form-actions{flex-wrap:wrap;gap:.6rem;display:flex}.form-actions button,.secondary-button{border:1px solid var(--field-border);background:var(--red);color:#fff;cursor:pointer;font:inherit;border-radius:.5rem;padding:.5rem .75rem;font-weight:600}.form-actions button:disabled{cursor:not-allowed;opacity:.5}.form-actions .secondary-button{background:var(--paper);color:var(--ink)}.course-form{gap:1.1rem;margin:0}.course-form h3{margin:0}.field-hint{color:var(--ink-soft);font-size:.85rem;font-weight:400}.events-list{gap:1rem;margin-top:1rem;display:grid}.event-card{cursor:pointer;margin:0;transition:border-color .2s,box-shadow .2s}.event-card:hover,.event-card:focus-visible{border-color:var(--red);outline:none;box-shadow:0 10px 22px #b02a3e1f}.event-card-header{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.event-card-header h3{margin:0}.event-card-header time{color:var(--ink-soft);text-align:right;font-size:.85rem}.event-description{color:var(--ink-soft);margin-top:.75rem;line-height:1.7}.event-description-preview{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.event-details .content-block{margin-top:1rem}.registered-members ul{margin:.75rem 0 0;padding-left:1.25rem}.event-description p,.event-description ul,.event-description ol,.event-description blockquote{margin:.6rem 0 0}.event-description p:first-child,.event-description ul:first-child,.event-description ol:first-child,.event-description blockquote:first-child{margin-top:0}.event-actions{flex-wrap:wrap;gap:.6rem;margin-top:1rem;display:flex}.event-actions button{background:var(--red);color:#fff;cursor:pointer;font:inherit;border:none;border-radius:999px;padding:.55rem .9rem;font-size:.82rem;font-weight:600}.event-actions button:hover{background:var(--red-dark)}.event-actions .danger-button{background:var(--red-dark);color:#fff;border:none}.event-actions .danger-button:hover{background:#7a0a1c}.event-actions button:disabled{cursor:not-allowed;opacity:.5}.text-button,.sort-button{color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700}.tool-count{color:var(--ink-soft);font-size:.85rem}.members-table-wrap{margin:1rem 0;overflow-x:auto}.members-table{border-collapse:collapse;width:100%;min-width:620px}.members-table th,.members-table td{border-bottom:1px solid var(--rule);text-align:left;vertical-align:middle;padding:.75rem .6rem}.members-table th{color:var(--ink-soft);text-transform:uppercase;font-size:.78rem}.members-table select{border:1px solid var(--field-border);color:var(--ink);background:#fff;border-radius:.5rem;padding:.45rem .55rem}.danger-button{border:1px solid var(--red);background:var(--red-tint);color:var(--red-dark);cursor:pointer;border-radius:.5rem;padding:.45rem .65rem}.danger-button:disabled{cursor:not-allowed;opacity:.5}.self-action-note{color:var(--ink-soft);font-size:.8rem}.pagination-controls{color:var(--ink-soft);justify-content:flex-end;font-size:.85rem}.pagination-controls button{border:1px solid var(--field-border);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:.5rem;padding:.45rem .7rem}.pagination-controls button:disabled{cursor:not-allowed;opacity:.5}.modal-backdrop{z-index:50;background:#1d1d1f73;place-items:center;display:grid;position:fixed;inset:0}.login-modal{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);box-sizing:border-box;width:min(100%,420px);max-height:88vh;padding:1rem 1rem .9rem;overflow-y:auto;box-shadow:0 18px 45px #1d1d1f2e}.modal-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.modal-header h3{margin:0;font-size:1.3rem}.close-button{color:var(--ink);cursor:pointer;background:0 0;border:none;font-size:1.6rem;line-height:1}.login-form{flex-direction:column;gap:.75rem;display:flex}.login-form label{color:var(--ink);flex-direction:column;gap:.35rem;font-weight:600;display:flex}.name-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.login-form input,.login-form textarea{border:1px solid var(--field-border);color:var(--ink);resize:vertical;box-sizing:border-box;background:#fff;border-radius:.75rem;padding:.7rem .8rem}.login-form textarea{min-height:52px;max-height:160px;line-height:1.4}.login-form button{background:var(--red);color:#fff;cursor:pointer;border:none;border-radius:.75rem;padding:.8rem 1rem;font-weight:700}.login-form button:disabled{opacity:.7;cursor:not-allowed}.secondary-button{border:2px solid var(--red)!important;color:var(--red-dark)!important;background:0 0!important}.secondary-button:hover:not(:disabled){background:var(--red-tint)!important}.error-message{color:var(--red-dark);margin:0;font-size:.9rem}@media (width<=640px){.gallery-filters,.thumbnail-table{grid-template-columns:1fr 1fr}.gallery-filters{grid-template-columns:1fr}.gallery-search-row{flex-direction:column}.article-list-item{grid-template-columns:1fr;grid-template-areas:"date""title""summary""author"}.article-list-author{white-space:normal}.article-detail-actions,.article-editor-heading{flex-direction:column;align-items:stretch}}.content-block,.news-tool,.article-detail,.gallery-tool{border:1px solid var(--rule);border-top:4px solid var(--red);border-radius:var(--radius);box-shadow:0 6px 24px #1d1d1f0f}.content-block h3{font-size:1.3rem}.new-event-button,.new-event-form>button,.form-actions button,.gallery-search button,.gallery-create-form button,.picture-controls-actions button,.picture-controls-toggle,.gallery-lightbox-close,.login-form button,.search-options-toggle,.event-actions button,.pagination-controls button{border-radius:999px;padding:.55rem 1.2rem;font-weight:700;transition:background-color .15s}.new-event-button:hover:not(:disabled),.new-event-form>button:hover:not(:disabled),.form-actions button:hover:not(:disabled):not(.secondary-button),.gallery-search button:hover,.gallery-create-form button:hover:not(:disabled),.picture-controls-actions button:hover:not(:disabled):not(.danger-button),.gallery-lightbox-close:hover,.login-form button:hover:not(:disabled):not(.secondary-button){background:var(--red-dark);border-color:var(--red-dark)}.picture-controls-toggle,.pagination-controls button{border:2px solid var(--red);color:var(--red-dark);background:0 0}.picture-controls-toggle:hover,.pagination-controls button:hover:not(:disabled){background:var(--red-tint)}.danger-button,.event-actions .danger-button,.picture-controls-actions .danger-button{border:2px solid var(--red-dark);color:var(--red-dark);background:#fff;border-radius:999px;font-weight:700}.danger-button:hover:not(:disabled),.event-actions .danger-button:hover:not(:disabled),.picture-controls-actions .danger-button:hover:not(:disabled){background:var(--red-dark);color:#fff}.text-button,.sort-button{color:var(--red)}#main input:not([type=checkbox]):not([type=radio]):focus,#main select:focus,#main textarea:focus,.login-form input:focus,.login-form textarea:focus,.rich-text-editor:focus-within,.article-rich-text-editor:focus-within{border-color:var(--red);outline:none;box-shadow:0 0 0 3px #b02a3e33}input[type=checkbox],input[type=radio]{accent-color:var(--red)}.management-tool-link{border:1px solid var(--rule);border-left:5px solid var(--red);border-radius:var(--radius);background:var(--paper);box-shadow:0 6px 24px #1d1d1f0f}.management-tool-link:hover{background:var(--red-tint);color:var(--red-dark)}.login-modal{border-top:6px solid var(--red);border-radius:var(--radius)}a.management-tool-link{box-sizing:border-box;color:var(--ink);text-decoration:none;display:block}.courses-content .article-section{margin-bottom:1.5rem;padding-bottom:1.5rem}.courses-content .article-section h2{margin-bottom:.5rem}.courses-content .callout{margin:0;padding:1rem 1.25rem}.courses-content .course-manage{margin-top:1rem}.courses-content .facts{margin-top:.75rem}.courses-content .article-section>:last-child,.courses-content .course-manage>:last-child{margin-bottom:0}.course-section{position:relative}.course-section>h2{padding-right:2.75rem}.course-edit-button{border:1px solid var(--rule);background:var(--paper);width:2.1rem;height:2.1rem;color:var(--ink-soft);cursor:pointer;border-radius:999px;place-items:center;padding:0;transition:color .15s,border-color .15s,background-color .15s;display:grid;position:absolute;top:0;right:0}.course-edit-button:hover:not(:disabled),.course-edit-button:focus-visible{color:var(--red-dark);border-color:var(--red);background:var(--red-tint)}.course-edit-button:disabled{cursor:not-allowed;opacity:.5}.course-form__delete{margin-left:auto}.gallery-lightbox-content .article-lightbox-caption{text-align:center}.hero:has(+.recent-activity-band){padding-bottom:clamp(1.5rem,4vw,2.5rem)}.recent-activity-band{padding-top:0;padding-bottom:clamp(1.75rem,4vw,2.75rem)}.recent-activity-band .band__heading{margin-bottom:clamp(1rem,2.5vw,1.5rem)}.recent-activity{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:clamp(1rem,2.5vw,1.75rem);margin:0 0 clamp(1.5rem,3vw,2rem);padding:0;list-style:none;display:grid}.recent-activity>li{min-width:0;display:flex}.recent-activity__item{border:1px solid var(--rule);background:var(--paper);min-width:0;color:var(--ink);flex:1;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden;box-shadow:0 6px 24px #1d1d1f0f}.recent-activity__item:hover,.recent-activity__item:focus-visible{border-color:var(--red);color:var(--ink);box-shadow:0 8px 28px #1d1d1f1f}.recent-activity__photo{object-fit:cover;background:var(--paper-alt);flex:0 0 23%;align-self:stretch;width:23%;min-height:5.4rem}.recent-activity__body{flex-direction:column;flex:1;gap:.4rem;min-width:0;padding:clamp(1rem,2.5vw,1.35rem);display:flex}.recent-activity__body h3{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:1.15rem;line-height:1.3}.recent-activity__item:hover h3,.recent-activity__item:focus-visible h3{color:var(--red-dark)}.recent-activity__date{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;font-weight:700}.recent-activity__summary{color:var(--ink-soft);white-space:pre-line;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;margin:0;line-height:1.6;display:-webkit-box;overflow:hidden}.stats-band{padding-top:clamp(1.25rem,3vw,2rem);padding-bottom:clamp(1.25rem,3vw,2rem)}.stats-band+.band{padding-top:clamp(2rem,4.5vw,3.25rem)}.stats-band .stats{gap:1rem}.stats-band .stats li{padding:.75rem 1.1rem}
