:root{
  --maroon:#861F41;
  --maroon-deep:#4b0b22;
  --maroon-dark:#2f0716;
  --orange:#E87722;
  --orange-bright:#ff7a12;
  --cream:#f8f5f1;
  --paper:#fffdfa;
  --white:#ffffff;
  --ink:#1e1b1d;
  --muted:#665d61;
  --line:#e5ddd8;
  --shadow:0 18px 55px rgba(65,22,39,.12);
  --radius:16px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea{font:inherit}
.container{width:min(92%,var(--max));margin-inline:auto}
.skip-link{position:fixed;left:-999px;top:1rem;background:#fff;color:#111;padding:.75rem 1rem;border-radius:8px;z-index:9999;box-shadow:var(--shadow)}
.skip-link:focus{left:1rem}

/* Header */
.site-header{position:absolute;inset:0 0 auto;z-index:30;color:#fff}
.site-header.inner{position:relative;background:linear-gradient(135deg,var(--maroon-dark),var(--maroon));}
.nav{height:96px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:flex;align-items:center;gap:16px;min-width:0}
.brand-mark{font-family:"Arial Narrow","Franklin Gothic Medium",Impact,sans-serif;font-stretch:condensed;font-weight:900;font-size:2.35rem;line-height:.9;letter-spacing:.02em;padding-right:16px;border-right:1px solid rgba(255,255,255,.55)}
.brand-copy{display:grid;line-height:1.05;max-width:260px}
.brand-copy strong{font-size:.94rem;font-weight:800}
.brand-copy span{font-size:.82rem;color:rgba(255,255,255,.84);margin-top:4px}
.nav-links{display:flex;align-items:center;gap:1.25rem;font-family:"Arial Narrow","Franklin Gothic Medium",sans-serif;font-weight:800;text-transform:uppercase;font-size:.84rem;letter-spacing:.025em}
.nav-links a{position:relative;padding:.65rem 0}
.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:.2rem;height:3px;background:var(--orange);transition:right .2s ease}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{right:0}
.nav-toggle{display:none;border:1px solid rgba(255,255,255,.65);background:transparent;color:#fff;border-radius:8px;padding:.55rem .8rem;font-weight:800}

/* Hero */
.hero{position:relative;min-height:650px;color:#fff;background:
  radial-gradient(circle at 18% 38%,rgba(134,31,65,.72),transparent 40%),
  linear-gradient(135deg,#340414 0%,#5b0d2d 58%,#661437 100%);
  display:flex;align-items:center;padding:145px 0 76px;overflow:hidden}
.hero-media{position:absolute;inset:0 0 0 auto;width:54%;height:100%;background:url("assets/hero-burruss-side.png") 56% 50%/cover no-repeat;z-index:0}
.hero-media::before{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,#45071d 0%,rgba(69,7,29,.94) 5%,rgba(69,7,29,.68) 20%,rgba(69,7,29,.24) 40%,rgba(57,5,22,.10) 100%),
  linear-gradient(0deg,rgba(54,5,22,.34),rgba(93,14,41,.12));}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(44,3,18,.34) 0%,rgba(44,3,18,.14) 44%,rgba(44,3,18,0) 72%);pointer-events:none;z-index:1}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:130px;background:linear-gradient(to top,rgba(28,1,12,.40),transparent);pointer-events:none;z-index:1}
.hero-content{position:relative;z-index:2;max-width:600px;padding-right:1rem}
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;color:#ffd7bb;font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;margin-bottom:1.1rem}
.eyebrow::before{content:"";width:36px;height:3px;background:var(--orange)}
.display{font-family:"Arial Narrow","Franklin Gothic Medium",Impact,sans-serif;font-size:clamp(3rem,5.6vw,4.9rem);line-height:.94;letter-spacing:-.02em;margin:0;text-transform:none;max-width:820px}
.display .accent{display:block;color:var(--orange-bright);margin-top:.1em}
.hero-kicker{margin:.75rem 0 .6rem;font-family:"Arial Narrow","Franklin Gothic Medium",sans-serif;font-size:1.1rem;font-weight:800;letter-spacing:.02em;color:#ffd7bb;text-transform:none}
.hero-copy{font-size:1.04rem;max-width:36rem;max-width:650px;color:rgba(255,255,255,.88);margin:1.55rem 0 1.8rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:6px;padding:.88rem 1.35rem;font-family:"Arial Narrow","Franklin Gothic Medium",sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:.035em;border:2px solid transparent;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.button:hover{transform:translateY(-2px)}
.button.orange{background:var(--orange);color:#fff;box-shadow:0 12px 28px rgba(232,119,34,.25)}
.button.orange:hover{background:#cf6417}
.button.ghost{border-color:rgba(255,255,255,.72);color:#fff;background:rgba(63,7,28,.28)}
.button.maroon{background:var(--maroon);color:#fff}
.button.outline{border-color:var(--maroon);color:var(--maroon);background:transparent}
.text-link{color:var(--orange);font-family:"Arial Narrow","Franklin Gothic Medium",sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:.03em;font-size:.86rem}
.text-link:hover{text-decoration:underline}
.button.mini{padding:.5rem .8rem;font-size:.76rem;border-radius:5px}
.event-actions{margin-top:.8rem;display:flex;gap:.55rem;flex-wrap:wrap}
.agenda-actions{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center;margin-top:.95rem}

/* Sections */
.section{padding:64px 0}
.section.white{background:var(--paper)}
.section-title-row{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:26px}
.section-title-row h2,.section h2{font-family:"Arial Narrow","Franklin Gothic Medium",Impact,sans-serif;text-transform:uppercase;color:var(--maroon-deep);font-size:clamp(2rem,4vw,3rem);line-height:1;margin:0}
.section-title-row p{margin:0;max-width:620px;color:var(--muted)}

/* Event cards */
.events-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.event-card{display:grid;grid-template-columns:84px 1fr;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px rgba(55,27,37,.05);overflow:hidden;min-height:128px}
.event-date{text-align:center;border-right:1px solid var(--line);background:#fff}
.event-date .month{display:block;background:linear-gradient(135deg,var(--maroon-deep),var(--maroon));color:#fff;padding:.55rem .35rem;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.event-date .day{display:block;color:var(--orange);font-family:"Arial Narrow","Franklin Gothic Medium",Impact,sans-serif;font-size:2.45rem;font-weight:900;line-height:1.25}
.event-info{padding:1.15rem 1.2rem}
.event-info h3{font-family:"Arial Narrow","Franklin Gothic Medium",sans-serif;font-size:1.25rem;margin:0 0 .45rem;color:#181315}
.event-meta{font-size:.9rem;color:var(--muted);display:grid;gap:.22rem}

/* Pillars */
.pillars{background:linear-gradient(135deg,var(--maroon-dark),#6c1234 55%,var(--maroon-deep));color:#fff;padding:46px 0}
.pillars-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.pillar{text-align:center;padding:12px 32px;border-right:1px solid rgba(255,255,255,.22)}
.pillar:last-child{border-right:0}
.pillar-icon{font-size:2.25rem;color:var(--orange);line-height:1;margin-bottom:.8rem}
.pillar h3{font-family:"Arial Narrow","Franklin Gothic Medium",sans-serif;text-transform:uppercase;font-size:1.35rem;margin:.2rem 0 .55rem}
.pillar p{color:rgba(255,255,255,.8);font-size:.94rem;margin:0}

/* Who we are */
.split{display:grid;grid-template-columns:.86fr 1.35fr;gap:64px;align-items:center}
.split-copy p{color:#393135;font-size:1.02rem}
.photo-frame{position:relative;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);background:#ddd;min-height:335px}
.photo-frame img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.photo-caption{position:absolute;left:18px;bottom:18px;background:rgba(54,4,23,.88);color:#fff;padding:.7rem .9rem;border-radius:8px;font-size:.82rem;backdrop-filter:blur(4px)}

/* Merch strip */
.merch-strip{margin-top:44px;background:#f7f2ed;border:1px solid var(--line);border-radius:12px;padding:20px 28px;display:flex;align-items:center;justify-content:center;gap:22px;text-align:left}
.merch-strip .icon{font-size:2.3rem;color:var(--orange)}
.merch-strip strong{display:block;color:var(--maroon-deep)}

/* Footer */
.site-footer{background:linear-gradient(135deg,#3f061c,#651033 60%,#42051d);color:#fff;padding:34px 0 20px}
.footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:34px;align-items:start}
.footer-title{font-family:"Arial Narrow","Franklin Gothic Medium",sans-serif;font-size:1.25rem;font-weight:900;text-transform:uppercase;margin:0 0 .5rem}
.footer-label{color:#f5b88c;font-weight:800;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em}
.site-footer p,.site-footer a{color:rgba(255,255,255,.8);font-size:.92rem}
.site-footer a:hover{color:#fff;text-decoration:underline}
.disclaimer{border-top:1px solid rgba(255,255,255,.2);margin-top:28px;padding-top:18px;color:rgba(255,255,255,.67);font-size:.78rem;line-height:1.55}

/* Interior pages */
.page-hero{background:linear-gradient(135deg,var(--maroon-dark),var(--maroon) 65%,#9a2d52);color:#fff;padding:66px 0 62px;position:relative;overflow:hidden}
.page-hero::after{content:"BGSA";position:absolute;right:4%;top:0;font-family:Impact,"Arial Narrow",sans-serif;font-size:11rem;line-height:1;color:rgba(255,255,255,.045);letter-spacing:.04em}
.page-hero h1{font-family:"Arial Narrow","Franklin Gothic Medium",Impact,sans-serif;font-size:clamp(3rem,7vw,5.5rem);line-height:.95;margin:0 0 .8rem;max-width:800px}
.page-hero p{max-width:720px;color:rgba(255,255,255,.82);font-size:1.08rem;margin:0}
.inner-section{padding:62px 0}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:0 10px 34px rgba(50,26,35,.06)}
.card h3{font-family:"Arial Narrow","Franklin Gothic Medium",sans-serif;text-transform:uppercase;color:var(--maroon-deep);font-size:1.45rem;margin:.1rem 0 .55rem}
.card p{color:var(--muted);margin:.4rem 0}
.value-number{font-family:Impact,"Arial Narrow",sans-serif;font-size:3rem;color:#f3d4c0;line-height:1}
.notice{background:#fff2e9;border-left:5px solid var(--orange);padding:18px 20px;border-radius:8px;color:#5a351f}

/* About */
.mission-block{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.lead{font-size:1.35rem;color:#382d31;margin-top:0}
.list-clean{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.list-clean li{padding:14px 0 14px 34px;border-bottom:1px solid var(--line);position:relative}
.list-clean li::before{content:"→";position:absolute;left:0;color:var(--orange);font-weight:900}

/* People */
.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.profile-card{padding:0;overflow:hidden}
.profile-photo{aspect-ratio:3/4;background:#ece7e3;overflow:hidden}
.profile-photo img{width:100%;height:100%;object-fit:cover}
.profile-body{padding:22px}
.role{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--orange);font-weight:900}
.profile-body h3{font-size:1.6rem;text-transform:none;margin:.3rem 0}

/* Events page */
.calendar-shell{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}
.calendar-placeholder{min-height:580px;border:2px dashed #d8c7cc;border-radius:12px;display:grid;place-items:center;text-align:center;padding:32px;background:linear-gradient(135deg,#fff,#faf6f3)}
.calendar-placeholder .calendar-icon{font-size:4rem;margin-bottom:.4rem}
.calendar-placeholder h3{font-family:"Arial Narrow","Franklin Gothic Medium",sans-serif;text-transform:uppercase;color:var(--maroon-deep);font-size:2rem;margin:.2rem 0 .6rem}
.calendar-placeholder p{max-width:630px;color:var(--muted)}

/* Merch */
.merch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.merch-card{padding:0;overflow:hidden}
.merch-image{aspect-ratio:3/4;background:#efe9e5;overflow:hidden}
.merch-image img{width:100%;height:100%;object-fit:cover}
.merch-body{padding:24px}
.price{font-family:Impact,"Arial Narrow",sans-serif;color:var(--orange);font-size:2rem}

/* Connect */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.contact-list{display:grid;gap:14px;margin-top:20px}
.contact-row{padding:17px 18px;background:#f8f4f1;border-radius:10px;border:1px solid var(--line)}
.contact-row strong{display:block;color:var(--maroon-deep);text-transform:uppercase;font-size:.8rem;letter-spacing:.08em;margin-bottom:.25rem}

@media (max-width:980px){
  .nav{height:82px}.brand-mark{font-size:2rem}.brand-copy strong{font-size:.86rem}
  .nav-toggle{display:block;z-index:35}
  .nav-links{position:fixed;inset:0 0 0 auto;width:min(82vw,360px);background:linear-gradient(180deg,var(--maroon-dark),var(--maroon));padding:115px 34px 34px;display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;transform:translateX(105%);transition:transform .22s ease;box-shadow:-20px 0 60px rgba(0,0,0,.25)}
  .nav-links.open{transform:translateX(0)}
  .nav-links a{font-size:1.15rem;width:100%}
  .events-grid,.cards-3,.profile-grid,.merch-grid{grid-template-columns:1fr 1fr}
  .pillars-grid{grid-template-columns:1fr 1fr}
  .pillar:nth-child(2){border-right:0}.pillar:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:28px}.pillar:nth-child(n+3){padding-top:28px}
  .split,.mission-block{grid-template-columns:1fr;gap:34px}.photo-frame{min-height:360px}
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2}
  .hero-media{width:57%;background-position:58% center}
  .hero-content{max-width:560px}
}
@media (max-width:680px){
  .container{width:min(90%,var(--max))}
  .brand-copy{max-width:175px}.brand-copy strong{font-size:.76rem}.brand-copy span{font-size:.7rem}.brand-mark{font-size:1.75rem;padding-right:11px}
  .hero{min-height:720px;padding-top:125px}.hero-media{width:100%;opacity:.62;background-position:56% center}.hero-media::before{background:linear-gradient(90deg,rgba(58,5,25,.98) 0%,rgba(58,5,25,.91) 48%,rgba(58,5,25,.56) 76%,rgba(58,5,25,.30) 100%)}.hero-content{max-width:92%}.display{font-size:clamp(3.25rem,17vw,4.8rem)}.hero-kicker{font-size:1rem}.hero-copy{font-size:1rem}
  .section{padding:50px 0}.section-title-row{align-items:flex-start;flex-direction:column;gap:.8rem}
  .events-grid,.cards-3,.profile-grid,.merch-grid,.contact-grid{grid-template-columns:1fr}
  .pillars-grid{grid-template-columns:1fr}.pillar{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)!important;padding:28px 12px!important}.pillar:last-child{border-bottom:0!important}
  .split{gap:28px}.photo-frame{min-height:260px}
  .merch-strip{align-items:flex-start;justify-content:flex-start}
  .footer-grid{grid-template-columns:1fr 1fr;gap:22px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{grid-column:auto}
  .page-hero{padding:50px 0}.page-hero::after{font-size:7rem;right:-3%}
  .event-card{grid-template-columns:72px 1fr}
}

.event-card-status{grid-column:1/-1;grid-template-columns:1fr;min-height:120px}
.event-card-status .event-info{display:flex;flex-direction:column;justify-content:center}
.event-title-link:hover{color:var(--maroon);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.calendar-placeholder code{background:#f1e9e5;padding:.16rem .35rem;border-radius:4px;color:var(--maroon-deep)}


/* 2026–2027 leadership */
.leadership-grid .profile-card{min-width:0}
.profile-note{font-size:.9rem;line-height:1.5;color:var(--muted)}
.leadership-archive{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.leadership-archive>div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:17px 18px;display:grid;gap:4px}
.leadership-archive strong{color:var(--maroon-deep);font-family:"Arial Narrow","Franklin Gothic Medium",sans-serif;text-transform:uppercase;font-size:.82rem;letter-spacing:.05em}
.leadership-archive span{color:#3d3438}

/* Bylaws */
.bylaws-intro{display:grid;grid-template-columns:.72fr 1.28fr;gap:64px;align-items:start}
.bylaws-intro h2{font-family:"Arial Narrow","Franklin Gothic Medium",Impact,sans-serif;text-transform:uppercase;color:var(--maroon-deep);font-size:clamp(2rem,4vw,3rem);line-height:1;margin:0}
.bylaws-note{color:var(--muted);font-size:.95rem}
.bylaws-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:54px;align-items:start}
.bylaws-toc{position:sticky;top:24px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;display:grid;gap:8px;box-shadow:0 8px 28px rgba(55,27,37,.05)}
.bylaws-toc strong{color:var(--maroon-deep);text-transform:uppercase;font-size:.78rem;letter-spacing:.08em;margin-bottom:6px}
.bylaws-toc a{font-size:.9rem;color:#51474b;padding:.35rem 0;border-bottom:1px solid #eee7e3}
.bylaws-toc a:last-child{border-bottom:0}
.bylaws-toc a:hover{color:var(--orange)}
.bylaws-document{background:#fff;border:1px solid var(--line);border-radius:14px;padding:clamp(26px,5vw,52px);box-shadow:0 12px 40px rgba(50,26,35,.06)}
.bylaws-document>section{scroll-margin-top:24px;padding-bottom:32px;margin-bottom:34px;border-bottom:1px solid var(--line)}
.bylaws-document>section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.bylaws-document h2{font-family:"Arial Narrow","Franklin Gothic Medium",Impact,sans-serif;text-transform:uppercase;color:var(--maroon-deep);font-size:2rem;margin:0 0 1rem}
.bylaws-document h3{font-family:"Arial Narrow","Franklin Gothic Medium",sans-serif;color:var(--maroon);font-size:1.35rem;margin:1.6rem 0 .65rem}
.bylaws-document p,.bylaws-document li{color:#3d3438;line-height:1.7}
.bylaws-list,.alpha-list{padding-left:1.45rem}
.bylaws-list>li,.alpha-list>li{padding-left:.35rem;margin:.6rem 0}
.alpha-list{list-style-type:lower-alpha}
.bylaw-role{padding-top:.1rem}
@media (max-width:980px){.leadership-archive{grid-template-columns:1fr 1fr}.bylaws-layout{grid-template-columns:1fr}.bylaws-toc{position:static;grid-template-columns:1fr 1fr}.bylaws-intro{grid-template-columns:1fr;gap:28px}}
@media (max-width:680px){.leadership-archive{grid-template-columns:1fr}.bylaws-toc{grid-template-columns:1fr}.bylaws-document{padding:24px 20px}}

/* Outlook calendar agenda */
.section-intro{max-width:720px;color:var(--muted);margin:.7rem 0 0}
.events-agenda{display:grid;gap:16px;margin-top:26px}
.agenda-item{display:grid;grid-template-columns:94px 1fr;gap:0;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 8px 28px rgba(55,27,37,.05)}
.agenda-date{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;border-right:1px solid var(--line);background:#fff;min-height:150px}
.agenda-date .month{width:100%;text-align:center;background:linear-gradient(135deg,var(--maroon-deep),var(--maroon));color:#fff;padding:.62rem .35rem;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.agenda-date .day{font-family:"Arial Narrow","Franklin Gothic Medium",Impact,sans-serif;color:var(--orange);font-size:2.7rem;line-height:1.15;padding-top:.65rem}
.agenda-content{padding:1.35rem 1.55rem}
.agenda-date-line{color:var(--orange);font-size:.78rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.28rem}
.agenda-content h3{font-family:"Arial Narrow","Franklin Gothic Medium",sans-serif;color:var(--maroon-deep);font-size:1.55rem;margin:.1rem 0 .35rem}
.agenda-location{font-weight:750;color:#554a4e;margin-bottom:.45rem}
.agenda-content p{color:var(--muted);margin:.5rem 0 .8rem;white-space:pre-line}
.compact-calendar-status{min-height:320px}
@media (max-width:680px){
  .agenda-item{grid-template-columns:72px 1fr}.agenda-date{min-height:140px}.agenda-content{padding:1.15rem}.agenda-content h3{font-size:1.35rem}
}

/* Configuration-driven content */
.profile-affiliation{margin:.25rem 0 .35rem;font-weight:700;color:#4f4448}
.contact-row a{color:var(--maroon);font-weight:750}
.contact-row a:hover{color:var(--orange);text-decoration:underline}
.contact-row code{font-size:.84em;background:#eee7e3;padding:.1rem .3rem;border-radius:4px}

/* ========================================
   Monthly Outlook events calendar
   ======================================== */

.month-calendar-shell {
  margin-top: 28px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: var(--shadow);
  overflow: hidden;
}

.month-calendar-toolbar {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 18px;
  padding: 18px 20px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(
    135deg,
    #fff,
    #faf6f3
  );
}

.month-calendar-label {
  margin: 0;
  text-align: center;
  text-transform: none !important;
  font-size: 2rem !important;
}

.month-calendar-controls {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.calendar-nav-button {
  appearance: none;
  border: 1px solid var(--maroon);
  border-radius: 6px;
  background: #fff;
  color: var(--maroon);
  padding: 0.6rem 0.85rem;
  cursor: pointer;
  font-family:
    "Arial Narrow",
    "Franklin Gothic Medium",
    sans-serif;
  font-size: 0.82rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.calendar-nav-button:hover,
.calendar-nav-button:focus-visible {
  background: var(--maroon);
  color: #fff;
}

.month-calendar-scroll {
  overflow-x: auto;
}

.month-calendar-weekdays,
.month-calendar-grid {
  min-width: 840px;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.month-calendar-weekdays {
  background: var(--maroon-deep);
  color: #fff;
}

.month-calendar-weekdays > div {
  padding: 0.7rem 0.5rem;
  text-align: center;
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.month-calendar-grid {
  background: var(--line);
  gap: 1px;
}

.month-calendar-day {
  min-height: 145px;
  padding: 10px;
  background: #fff;
  min-width: 0;
}

.month-calendar-day.is-empty {
  background: #f5f1ee;
}

.month-calendar-day.is-today {
  box-shadow: inset 0 0 0 3px var(--orange);
}

.month-calendar-day-number {
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  margin-left: auto;
  border-radius: 50%;
  color: var(--maroon-deep);
  font-weight: 900;
}

.month-calendar-day.is-today
.month-calendar-day-number {
  background: var(--orange);
  color: #fff;
}

.month-calendar-day-events {
  display: grid;
  gap: 6px;
  margin-top: 6px;
}

.month-calendar-event {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 7px 8px;
  border-left: 3px solid var(--orange);
  border-radius: 5px;
  background: #f8eaf0;
  color: var(--maroon-deep);
  font-size: 0.76rem;
  line-height: 1.25;
}

.month-calendar-event:hover,
.month-calendar-event:focus-visible {
  background: #f1d7e2;
}

.month-calendar-event-time {
  color: var(--orange);
  font-size: 0.67rem;
  font-weight: 900;
  text-transform: uppercase;
}

.month-calendar-event-title {
  overflow: hidden;
  font-weight: 800;
}

.month-calendar-more {
  padding: 3px 5px;
  color: var(--maroon);
  font-size: 0.74rem;
  font-weight: 800;
}

.month-calendar-more:hover {
  color: var(--orange);
  text-decoration: underline;
}

.month-calendar-message {
  grid-column: 1 / -1;
  min-height: 180px;
  display: grid;
  place-items: center;
  padding: 30px;
  background: #fff;
  color: var(--muted);
  text-align: center;
}

.agenda-title-row {
  margin-top: 52px;
}

.agenda-title-row + .events-agenda {
  margin-top: 0;
}

@media (max-width: 680px) {
  .month-calendar-toolbar {
    grid-template-columns: 1fr;
    justify-items: stretch;
  }

  .month-calendar-label {
    grid-row: 1;
    text-align: left;
  }

  .month-calendar-toolbar >
  .calendar-nav-button {
    grid-row: 2;
  }

  .month-calendar-controls {
    grid-row: 2;
  }

  .calendar-nav-button {
    padding: 0.55rem 0.7rem;
    font-size: 0.74rem;
  }
}

[hidden] {
  display: none !important;
}