@import "https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&family=Open+Sans:wght@300;400;600;700&family=Raleway:wght@400;600;700&display=swap";
:root{--crimson:#c00;--crimson-dark:#a50000;--crimson-light:#e83333;--white:#fff;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--font-primary:"Lato", "Open Sans", sans-serif;--font-heading:"Raleway", "Lato", sans-serif;--max-width:1100px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-primary);color:var(--gray-800);background:var(--white);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.7}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--gray-900);margin-bottom:.5em;font-weight:700;line-height:1.3}h1{font-size:2.2rem}h2{font-size:1.75rem}h3{font-size:1.35rem}h4{font-size:1.15rem}p{margin-bottom:1rem}a{color:var(--crimson);text-decoration:none;transition:color .2s}a:hover{color:var(--crimson-dark)}img{max-width:100%;height:auto}ul,ol{margin-bottom:1rem;padding-left:1.5rem}li{margin-bottom:.35rem}table{border-collapse:collapse;width:100%;margin-bottom:1.5rem}th,td{border:1px solid var(--gray-200);text-align:left;padding:.75rem}th{background:var(--crimson);color:var(--white);font-weight:600}tbody tr:nth-child(2n){background:var(--gray-50)}hr{border:none;border-top:1px solid var(--gray-200);margin:2rem 0}.brand-color{color:var(--crimson)}.site-header{background:var(--crimson);color:var(--white);z-index:1000;position:sticky;top:0;box-shadow:0 2px 8px #00000026}.header-inner{max-width:var(--max-width);justify-content:space-between;align-items:center;min-height:64px;margin:0 auto;padding:0 1rem;display:flex}.logo-link{color:var(--white);font-family:var(--font-heading);flex-shrink:0;align-items:center;gap:.75rem;font-size:1.1rem;font-weight:700;text-decoration:none;display:flex}.logo-link:hover{color:var(--white);opacity:.9}.logo-link svg{flex-shrink:0;width:40px;height:40px}.logo-text{line-height:1.2}.logo-text-small{opacity:.85;font-size:.7rem;font-weight:400;display:block}.desktop-nav{align-items:center;gap:0;display:flex}.desktop-nav a{color:var(--white);white-space:nowrap;padding:.5rem .75rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .2s}.desktop-nav a:hover{color:var(--white);background:#ffffff26}.mobile-menu-btn{color:var(--white);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.75rem;line-height:1;display:none}.mobile-nav{background:var(--crimson-dark);padding:1rem;display:none}.mobile-nav.open{display:block}.mobile-nav a{color:var(--white);border-bottom:1px solid #ffffff1a;padding:.6rem 1rem;font-size:.95rem;font-weight:500;text-decoration:none;display:block}.mobile-nav a:hover{color:var(--white);background:#ffffff1a}@media (max-width:900px){.desktop-nav{display:none}.mobile-menu-btn{display:block}}.hero-banner{background:linear-gradient(135deg, var(--crimson) 0%, var(--crimson-dark) 100%);color:var(--white);text-align:center;padding:4rem 1rem}.hero-banner h1{color:var(--white);margin-bottom:.5rem;font-size:2.5rem}.hero-banner p{opacity:.9;max-width:700px;margin:0 auto;font-size:1.15rem}.page-banner{background:linear-gradient(135deg, var(--crimson) 0%, var(--crimson-dark) 100%);color:var(--white);text-align:center;padding:3rem 1rem}.page-banner h1{color:var(--white);margin-bottom:.25rem;font-size:2rem}.page-banner p{opacity:.9}.container{max-width:var(--max-width);margin:0 auto;padding:2rem 1rem}.content-section{padding:2rem 0}.content-section+.content-section{border-top:1px solid var(--gray-200)}.card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin:2rem 0;display:grid}.card{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:1.5rem;transition:box-shadow .2s,transform .2s}.card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.card h3{color:var(--crimson);font-size:1.1rem}.card p{color:var(--gray-600);font-size:.92rem}.card-link{color:inherit;text-decoration:none;display:block}.card-link:hover{color:inherit}.roster-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;margin:2rem 0;display:grid}.roster-card{text-align:center}.roster-card h4{color:var(--crimson);margin-top:.5rem;margin-bottom:.25rem}.roster-card p{color:var(--gray-600);margin-bottom:.15rem;font-size:.85rem}.schedule-table th{font-size:.85rem}.schedule-table td{font-size:.9rem}.schedule-table tr.home-meet{background:#fff5f5;font-weight:600}.stats-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin:2rem 0;display:grid}.stat-box{text-align:center;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;padding:1.5rem 1rem}.stat-number{color:var(--crimson);font-size:2.5rem;font-weight:700;line-height:1;display:block}.stat-label{color:var(--gray-600);margin-top:.5rem;font-size:.85rem;display:block}.toc{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;margin-bottom:2rem;padding:1.25rem 1.5rem}.toc h2{color:var(--gray-800);margin-bottom:.75rem;font-size:1.1rem}.toc ul{margin:0;padding:0;list-style:none}.toc li{margin-bottom:.4rem}.toc a{color:var(--crimson);font-size:.92rem}.toc a:hover{text-decoration:underline}.toc .toc-h2{padding-left:1rem;font-size:.87rem}.faq-section{background:var(--gray-50);margin-top:2rem;padding:2.5rem 0}.faq-item{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;margin-bottom:1rem;overflow:hidden}.faq-question{cursor:pointer;text-align:left;width:100%;color:var(--gray-800);font-size:1rem;font-weight:600;font-family:var(--font-primary);background:0 0;border:none;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.faq-question:hover{background:var(--gray-50)}.faq-question .arrow{flex-shrink:0;margin-left:1rem;font-size:1.2rem;transition:transform .2s}.faq-item.open .arrow{transform:rotate(180deg)}.faq-answer{color:var(--gray-700);padding:0 1.25rem 1.25rem;font-size:.95rem;line-height:1.7;display:none}.faq-item.open .faq-answer{display:block}.site-footer{background:var(--gray-900);color:var(--gray-300);padding:3rem 1rem 1.5rem}.footer-inner{max-width:var(--max-width);margin:0 auto}.footer-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;margin-bottom:2rem;display:grid}.footer-col h3{color:var(--white);text-transform:uppercase;letter-spacing:.5px;margin-bottom:1rem;font-size:1rem}.footer-col ul{padding:0;list-style:none}.footer-col li{margin-bottom:.5rem}.footer-col a{color:var(--gray-300);font-size:.9rem;text-decoration:none}.footer-col a:hover{color:var(--white)}.footer-bottom{border-top:1px solid var(--gray-700);text-align:center;color:var(--gray-500);padding-top:1.5rem;font-size:.82rem}.article-content h2{border-top:1px solid var(--gray-200);margin-top:2rem;padding-top:1rem}.article-content h2:first-of-type{border-top:none;padding-top:0}.article-content h3{margin-top:1.5rem}.profile-section{gap:2rem;margin-bottom:2rem;display:flex}.profile-section .profile-text{flex:2}.profile-section .profile-aside{flex:1}@media (max-width:700px){.profile-section{flex-direction:column}}.highlight-box{border-left:4px solid var(--crimson);background:#fff5f5;border-radius:0 8px 8px 0;margin:1.5rem 0;padding:1.25rem 1.5rem}.highlight-box p{margin-bottom:.5rem}.highlight-box p:last-child{margin-bottom:0}.lead{color:var(--gray-700);font-size:1.15rem;line-height:1.8}.not-found-page{text-align:center;padding:4rem 1rem}.not-found-page h1{color:var(--crimson);margin-bottom:.25rem;font-size:6rem}.not-found-page h2{margin-bottom:1rem;font-size:1.5rem}.not-found-page a{background:var(--crimson);color:var(--white);border-radius:6px;margin-top:1rem;padding:.75rem 2rem;font-weight:600;text-decoration:none;display:inline-block}.not-found-page a:hover{background:var(--crimson-dark);color:var(--white)}@media (max-width:768px){h1{font-size:1.75rem}h2{font-size:1.4rem}.hero-banner{padding:2.5rem 1rem}.hero-banner h1{font-size:1.8rem}.container{padding:1.5rem 1rem}.card-grid{grid-template-columns:1fr}.stats-row,.roster-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr}}@media (max-width:480px){.stats-row,.roster-grid{grid-template-columns:1fr}.schedule-table{font-size:.8rem}.schedule-table th,.schedule-table td{padding:.5rem}}
