:root{--crimson:#a51c30;--crimson-dark:#7c1220;--crimson-light:#c94156;--ink:#1c1a17;--ink-soft:#4a4540;--paper:#faf7f0;--paper-dim:#f1ebe0;--line:#ddd2bd;--cream:#fffdf8;--font-serif:"Source Serif 4", Georgia, "Times New Roman", serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--max-width:1120px;--radius:2px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4{font-family:var(--font-serif);color:var(--ink);margin:0 0 .5em;font-weight:600;line-height:1.2}h1{font-size:clamp(2.2rem,4vw,3.2rem)}h2{font-size:clamp(1.6rem,2.6vw,2.1rem)}h3{font-size:1.3rem}p{color:var(--ink-soft);margin:0 0 .85em}a{color:var(--crimson);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 24px}.eyebrow{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--crimson);margin-bottom:.6em;font-size:.75rem;font-weight:600;display:inline-block}.btn{font-family:var(--font-sans);border-radius:var(--radius);border:1.5px solid var(--crimson);background:var(--crimson);color:var(--cream);cursor:pointer;padding:.7em 1.6em;font-size:.95rem;font-weight:600;transition:background .15s,color .15s,transform .15s,box-shadow .15s;display:inline-block}.btn:hover{background:var(--crimson-dark);text-decoration:none;transform:translateY(-2px);box-shadow:0 8px 18px #a51c3047}.btn:active{box-shadow:none;transform:translateY(0)}.btn-outline{color:var(--crimson);background:0 0}.btn-outline:hover{background:var(--crimson);color:var(--cream)}.section{padding:48px 0}.section--tight{padding:32px 0}.rule{border:none;border-top:1px solid var(--line);margin:1.75em 0}.card{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:22px;transition:transform .2s,box-shadow .2s,border-color .2s}.card:hover{border-color:var(--crimson-light);transform:translateY(-4px);box-shadow:0 14px 28px #1c1a1714}.tag{letter-spacing:.08em;text-transform:uppercase;color:var(--crimson);background:#a51c3014;border:1px solid #a51c3040;border-radius:100px;padding:.3em .9em;font-size:.72rem;font-weight:600;display:inline-block}.page-hero{background:linear-gradient(180deg, var(--paper-dim) 0%, var(--paper) 100%);border-bottom:1px solid var(--line);text-align:center;padding:40px 0 28px}.page-hero p{max-width:640px;margin-inline:auto}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.underline-link{position:relative}.underline-link:after{content:"";background:var(--crimson);transform-origin:0;height:2px;transition:transform .2s;position:absolute;bottom:4px;left:16px;right:16px;transform:scaleX(0)}.underline-link:hover:after,.underline-link.is-active:after{transform:scaleX(1)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}.navbar{z-index:50;background:var(--cream);border-bottom:1px solid var(--line);position:sticky;top:0}.navbar__inner{justify-content:space-between;align-items:center;height:66px;display:flex}.navbar__brand{color:var(--ink);align-items:center;gap:12px;display:flex}.navbar__brand:hover{text-decoration:none}.navbar__logo{object-fit:contain;width:40px;height:40px;transition:transform .25s}.navbar__brand:hover .navbar__logo{transform:scale(1.08)rotate(-4deg)}.navbar__wordmark{font-family:var(--font-serif);letter-spacing:.01em;color:var(--ink);font-size:1.15rem;font-weight:600;transition:color .15s}.navbar__brand:hover .navbar__wordmark{color:var(--crimson)}.navbar__links{align-items:center;gap:2px;display:flex}.navbar__link{font-family:var(--font-sans);color:var(--ink-soft);border-radius:var(--radius);padding:10px 16px;font-size:.92rem;font-weight:500;transition:color .15s;position:relative}.navbar__link:hover{color:var(--crimson);text-decoration:none}.navbar__link.is-active{color:var(--crimson)}.navbar__toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;padding:0;transition:transform .15s;display:none}.navbar__toggle:hover{transform:scale(1.1)}.navbar__toggle span{background:var(--ink);width:100%;height:2px;transition:background .15s;display:block}.navbar__toggle:hover span{background:var(--crimson)}@media (width<=860px){.navbar__toggle{display:flex}.navbar__links{background:var(--cream);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:8px 24px 16px;display:none;position:absolute;top:66px;left:0;right:0}.navbar__links.is-open{display:flex}.navbar__link{border-bottom:1px solid var(--paper-dim);padding:12px 4px}.navbar__link:after{display:none}}.footer{background:var(--ink);color:var(--paper-dim);margin-top:auto;padding:32px 0 20px}.footer .rule{border-top-color:#faf7f026;margin:1.4em 0}.footer__sponsors{text-align:center}.footer__sponsors-label{letter-spacing:.14em;text-transform:uppercase;color:var(--crimson-light);margin-bottom:14px;font-size:.72rem;font-weight:600;display:block}.footer__sponsor-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;margin-bottom:12px;display:flex}.footer__sponsor{background:var(--cream);border-radius:6px;justify-content:center;align-items:center;min-height:38px;padding:8px 18px;transition:transform .15s,box-shadow .15s;display:flex}.footer__sponsor:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.footer__sponsor img{object-fit:contain;max-width:130px;height:28px}.footer__sponsor-text{font-family:var(--font-serif);letter-spacing:.02em;color:var(--ink);font-size:.95rem;font-weight:600}.footer__sponsors-link{color:var(--crimson-light);font-size:.85rem;transition:transform .15s;display:inline-block}.footer__sponsors-link:hover{transform:translate(3px)}.footer__bottom{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.footer__brand{align-items:center;gap:12px;display:flex}.footer__logo{object-fit:contain;width:36px;height:36px}.footer__club-name{font-family:var(--font-serif);color:var(--cream);margin:0;font-weight:600}.footer__tagline{color:var(--paper-dim);opacity:.7;margin:0;font-size:.85rem}.footer__nav{flex-wrap:wrap;gap:18px;display:flex}.footer__nav a{color:var(--paper-dim);opacity:.85;font-size:.9rem;transition:color .15s,opacity .15s,transform .15s;display:inline-block}.footer__nav a:hover{color:var(--crimson-light);opacity:1;text-decoration:none;transform:translateY(-2px)}.footer__contact{align-items:center;gap:14px;display:flex}.footer__contact a{color:var(--paper-dim);opacity:.85;font-size:.9rem;transition:color .15s,opacity .15s}.footer__contact a:hover{color:var(--crimson-light);opacity:1}.footer__social{transition:color .15s,opacity .15s,transform .15s;display:inline-flex}.footer__social:hover{transform:translateY(-2px)}.footer__copyright{text-align:center;color:var(--paper-dim);opacity:.5;margin:20px 0 0;font-size:.78rem}.hero{background:var(--ink);color:var(--cream);padding:64px 0 56px;position:relative;overflow:hidden}.hero__pattern{opacity:.08;background-image:linear-gradient(45deg, var(--cream) 25%, transparent 25%), linear-gradient(-45deg, var(--cream) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--cream) 75%), linear-gradient(-45deg, transparent 75%, var(--cream) 75%);background-position:0 0,0 32px,32px -32px,-32px 0;background-size:64px 64px;position:absolute;inset:0}.hero__inner{text-align:center;position:relative}.hero .eyebrow{color:var(--crimson-light)}.hero h1{color:var(--cream);margin-bottom:.4em}.hero__lede{color:#faf7f0cc;max-width:680px;margin:0 auto 1.4em;font-size:1.05rem}.hero__actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.hero .btn-outline{border-color:var(--cream);color:var(--cream)}.hero .btn-outline:hover{background:var(--cream);color:var(--ink)}.stats{text-align:center;flex-wrap:wrap;justify-content:center;gap:44px;display:flex}.stats__item{flex-direction:column;transition:transform .2s;display:flex}.stats__item:hover{transform:translateY(-3px)}.stats__number{font-family:var(--font-serif);color:var(--crimson);font-size:2.2rem;font-weight:700;transition:color .2s}.stats__item:hover .stats__number{color:var(--crimson-dark)}.stats__label{letter-spacing:.04em;color:var(--ink-soft);text-transform:uppercase;font-size:.85rem}.home-split__grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.home-list{flex-direction:column;gap:10px;margin:0 0 1.1em;padding:0;list-style:none;display:flex}.home-list li{border-left:2px solid var(--crimson);flex-direction:column;padding-left:14px;transition:transform .15s,border-color .15s;display:flex}.home-list li:hover{border-left-color:var(--crimson-dark);transform:translate(5px)}.home-list__date{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}.home-list__title{font-family:var(--font-serif);color:var(--ink);font-weight:600}.home-split__more{font-size:.9rem;font-weight:600;transition:transform .15s;display:inline-block}.home-split__more:hover{transform:translate(3px)}.cta{background:var(--paper-dim);border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}.cta p{text-align:left}.cta__inner{max-width:560px}@media (width<=760px){.home-split__grid{grid-template-columns:1fr}.stats{gap:28px}}.about-body{max-width:760px;margin:0 auto}.officers-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-top:18px;display:grid}.officer-card h3{color:var(--crimson);margin-bottom:.2em;font-size:1.05rem}.officer-card__class{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .5em;font-size:.78rem}.officer-card__role{margin:0;font-size:.9rem}.past-officers{flex-direction:column;gap:8px;margin-top:16px;display:flex}.past-officers__term{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:2px 18px}.past-officers__term summary{cursor:pointer;font-family:var(--font-serif);color:var(--ink);justify-content:space-between;align-items:center;padding:10px 0;font-size:1.05rem;font-weight:600;list-style:none;transition:color .15s;display:flex}.past-officers__term summary::-webkit-details-marker{display:none}.past-officers__term summary:after{content:"+";color:var(--crimson);font-size:1.3rem;line-height:1;transition:transform .2s}.past-officers__term[open] summary:after{transform:rotate(45deg)}.past-officers__term summary:hover{color:var(--crimson)}.past-officers__list{border-top:1px solid var(--line);flex-direction:column;gap:7px;margin:0;padding:12px 0 14px;display:flex}.past-officers__row{grid-template-columns:200px 1fr;gap:12px;display:grid}.past-officers__row dt{color:var(--ink-soft);font-size:.85rem;font-weight:600}.past-officers__row dd{color:var(--ink);margin:0;font-size:.9rem}@media (width<=560px){.past-officers__row{grid-template-columns:1fr;gap:2px}}.join{background:var(--ink);color:var(--cream);text-align:center}.join__inner{max-width:560px}.join h2{color:var(--cream)}.join p{color:#faf7f0cc;text-align:left}.join a:not(.btn){color:var(--crimson-light)}.news-list{max-width:760px}.news-item__date{letter-spacing:.06em;text-transform:uppercase;color:var(--crimson);margin-bottom:.5em;font-size:.8rem;font-weight:600;display:block}.news-item__title{margin-bottom:.4em;transition:color .15s}.news-item:hover .news-item__title{color:var(--crimson)}.news-item .rule{margin:1.4em 0}.news-item__links{flex-direction:column;gap:4px;margin:.6em 0 0;padding:0;list-style:none;display:flex}.news-item__links a{font-size:.88rem;font-weight:600;transition:transform .15s;display:inline-block}.news-item__links a:hover{transform:translate(3px)}.events-subnav{border-bottom:1px solid var(--line);gap:8px;padding-top:20px;display:flex}.events-subnav__link{font-family:var(--font-serif);color:var(--ink-soft);padding:9px 16px;font-size:1rem;font-weight:600;transition:color .15s;position:relative}.events-subnav__link:hover{color:var(--crimson);text-decoration:none}.events-subnav__link.is-active{color:var(--crimson)}.events-subnav__link:after{content:"";background:var(--crimson);transform-origin:0;height:2px;transition:transform .2s;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.events-subnav__link:hover:after,.events-subnav__link.is-active:after{transform:scaleX(1)}.event-list{flex-direction:column;gap:14px;display:flex}.event-card{color:inherit;grid-template-columns:160px 1fr;gap:20px;display:grid}.event-card:hover{text-decoration:none}.event-card__date{flex-direction:column;align-items:flex-start;display:flex}.event-card__day{font-family:var(--font-serif);color:var(--crimson);font-size:2rem;font-weight:700;line-height:1}.event-card__month{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-top:4px;font-size:.78rem}.event-card__meta{color:var(--ink-soft);margin:6px 0 0;font-size:.85rem}.event-card__title{margin-bottom:.3em}.event-card__more{color:var(--crimson);margin-top:.3em;font-size:.85rem;font-weight:600;transition:transform .15s;display:inline-block}.event-card:hover .event-card__more{transform:translate(3px)}.empty-state{text-align:center;color:var(--ink-soft);padding:48px 0}@media (width<=600px){.event-card{grid-template-columns:1fr}.event-card__date{flex-direction:row;align-items:baseline;gap:8px}}.event-detail{max-width:none}.event-detail__back{align-items:center;width:fit-content;margin-bottom:28px;font-size:.88rem;font-weight:600;transition:transform .15s;display:flex}.event-detail__back:hover{text-decoration:none;transform:translate(-3px)}.event-detail h1{margin-top:.3em}.event-detail__meta{color:var(--ink-soft);flex-wrap:wrap;gap:6px 14px;margin-bottom:1.6em;font-size:.9rem;display:flex}.event-detail__meta span:not(:last-child):after{content:"·";color:var(--line);margin-left:14px}.event-detail__image{border-radius:var(--radius);border:1px solid var(--line);width:100%;max-width:420px;margin:4px 0 24px}.event-detail__description,.event-detail__body p{font-size:1.02rem}.event-detail__recap{font-style:italic}.event-detail__gallery-link{margin-top:1.2em}.event-detail__gallery-link a{font-weight:600;transition:transform .15s;display:inline-block}.event-detail__gallery-link a:hover{transform:translate(3px)}.event-detail__actions{flex-wrap:wrap;gap:14px;margin-top:1.5em;display:flex}.event-detail__rsvp-note{color:var(--ink-soft);margin-top:.8em;font-size:.88rem}.sponsor-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:16px;display:grid}.sponsor-card{min-height:92px;color:var(--ink);justify-content:center;align-items:center;display:flex}.sponsor-card:hover{border-color:var(--crimson);text-decoration:none}.sponsor-card img{object-fit:contain;max-width:100%;max-height:56px;transition:transform .2s}.sponsor-card:hover img{transform:scale(1.06)}.sponsor-card__text{font-family:var(--font-serif);text-align:center;color:var(--ink);font-weight:600}.become-sponsor{background:var(--paper-dim);border-top:1px solid var(--line);text-align:center}.become-sponsor__inner{max-width:540px}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;display:grid}.gallery-grid--album{margin-top:24px}.gallery-item{margin:0}.gallery-album{color:inherit}.gallery-album:hover{text-decoration:none}.gallery-album__title{margin:10px 0 .2em;font-size:1.05rem;transition:color .15s}.gallery-album:hover .gallery-album__title{color:var(--crimson)}.gallery-album__count{color:var(--ink-soft);margin:0;font-size:.82rem}.gallery-item__frame{border-radius:var(--radius);border:1px solid var(--line);overflow:hidden}.gallery-item img,.gallery-item__placeholder{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .4s;display:block}.gallery-item__frame:hover img,.gallery-item__frame:hover .gallery-item__placeholder{transform:scale(1.08)}.gallery-item__placeholder{background-image:linear-gradient(45deg, var(--paper-dim) 25%, transparent 25%), linear-gradient(-45deg, var(--paper-dim) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--paper-dim) 75%), linear-gradient(-45deg, transparent 75%, var(--paper-dim) 75%);background-position:0 0,0 20px,20px -20px,-20px 0;background-size:40px 40px;background-color:var(--cream)}.gallery-item figcaption{color:var(--ink-soft);margin-top:8px;font-size:.85rem;transition:color .15s}.gallery-item:hover figcaption{color:var(--crimson)}.gallery-album__back{align-items:center;width:fit-content;margin-bottom:28px;font-size:.88rem;font-weight:600;transition:transform .15s;display:flex}.gallery-album__back:hover{text-decoration:none;transform:translate(-3px)}.gallery-album__date{color:var(--ink-soft);margin-bottom:0;font-size:.9rem}
