
:root{
  --crimson:#70110c;--crimson-deep:#4a0b08;--crimson-night:#2a0604;--paper:#faf6ec;
  --cream:#f2ebd7;--gold:#c69a3f;--gold-bright:#daa70f;
  --font-display:'Cinzel',serif;--font-serif:'Fraunces',serif;
  --font-sans:'Archivo',system-ui,-apple-system,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:#ffffff !important;min-height:100vh;}

/* PAGE ROUTER */
.page{display:none;}
.page.active{display:block;}

/* NAV */
.site-nav{
  position:sticky;top:0;z-index:9999;
  background:#2a0604;
  border-bottom:1px solid rgba(198,154,63,.22);
  font-family:'Archivo',system-ui,sans-serif;
}
.site-nav .nav-inner{
  max-width:1200px;margin:0 auto;padding:0 1.5rem;
  display:flex;align-items:center;height:58px;gap:0;
}
.nav-logo{
  display:flex;align-items:center;gap:.6rem;
  text-decoration:none;margin-right:auto;flex-shrink:0;cursor:pointer;
}
.nav-logo-crest{
  height:38px;width:auto;object-fit:contain;flex-shrink:0;
}
.nav-logo-text{
  display:flex;flex-direction:column;line-height:1.2;
}
.nav-logo-chapter{
  color:#c69a3f;font-family:'Cinzel',serif;
  font-size:.78rem;font-weight:700;letter-spacing:.04em;white-space:nowrap;
}
.nav-logo-frat{
  color:rgba(242,235,215,.7);font-family:'Archivo',sans-serif;
  font-size:.65rem;font-weight:400;letter-spacing:.02em;white-space:nowrap;
}
.site-nav ul{
  list-style:none;display:flex;align-items:center;
  gap:0;margin:0;padding:0;
}
.site-nav ul li{position:relative;}
.site-nav ul li > a{
  display:block;padding:.38rem .78rem;
  color:#f2ebd7;text-decoration:none;
  font-size:.72rem;font-weight:600;
  letter-spacing:.07em;text-transform:uppercase;
  white-space:nowrap;transition:color .2s;cursor:pointer;
}
.site-nav ul li > a:hover,.site-nav ul li.has-drop:hover > a{color:#c69a3f;}
.site-nav ul li.has-drop > a::after{content:' ▾';font-size:.55rem;opacity:.65;}
.site-nav ul li.has-drop .drop{
  display:none;position:absolute;top:100%;left:0;
  background:#2a0604;border:1px solid rgba(198,154,63,.2);
  min-width:200px;padding:.4rem 0;
  box-shadow:0 8px 24px rgba(0,0,0,.45);
}
.site-nav ul li.has-drop:hover .drop{display:block;}
.site-nav ul li.has-drop .drop a{
  display:block;padding:.45rem 1.1rem;
  color:#f2ebd7;text-decoration:none;
  font-size:.71rem;font-weight:500;
  letter-spacing:.04em;text-transform:uppercase;
  white-space:nowrap;transition:color .2s,background .2s;cursor:pointer;
}
.site-nav ul li.has-drop .drop a:hover{color:#c69a3f;background:rgba(198,154,63,.08);}
.site-nav .nav-members > a{
  color:#c69a3f !important;
  border:1px solid rgba(198,154,63,.4);
  border-radius:3px;margin-left:.5rem;
  padding:.32rem .78rem !important;
}
.site-nav .nav-members > a:hover{background:rgba(198,154,63,.12)!important;color:#daa70f!important;}
.site-nav ul li > a.nav-active{color:#c69a3f;}

/* HAMBURGER */
.nav-toggle{
  display:none;background:none;border:none;cursor:pointer;
  padding:.5rem;flex-direction:column;gap:5px;
}
.nav-toggle span{display:block;width:22px;height:2px;background:#f2ebd7;border-radius:2px;}
@media(max-width:900px){
  .nav-toggle{display:flex;}
  .site-nav ul{
    display:none;flex-direction:column;align-items:flex-start;
    position:absolute;top:58px;left:0;right:0;
    background:#2a0604;border-top:1px solid rgba(198,154,63,.2);
    padding:.5rem 0 1rem;gap:0;
  }
  .site-nav ul.open{display:flex;}
  .site-nav ul li{width:100%;}
  .site-nav ul li > a{padding:.55rem 1.4rem;font-size:.78rem;}
  .site-nav ul li.has-drop .drop{
    position:static;display:none;border:none;
    padding:0;box-shadow:none;background:rgba(0,0,0,.2);
  }
  .site-nav ul li.has-drop.mob-open .drop{display:block;}
  .site-nav ul li.has-drop .drop a{padding-left:2.4rem;}
  .site-nav .nav-members{margin-left:1rem;}
  .site-nav .nav-members > a{border:none;margin:0;}
}

/* INNER PAGES */
.inner-page{
  color:var(--cream);font-family:var(--font-sans);
}
.page-hero{
  background:radial-gradient(120% 120% at 70% 10%,#7d1610 0%,var(--crimson) 40%,var(--crimson-deep) 75%,var(--crimson-night) 100%);
  padding:5rem 2rem 4rem;position:relative;overflow:hidden;
}
.page-hero::before{
  content:'';position:absolute;inset:0;opacity:.08;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'><path d='M32 0L64 32L32 64L0 32Z' fill='none' stroke='%23f2ebd7' stroke-width='1'/></svg>");
  background-size:72px 72px;
}
.page-hero .wrap{max-width:1100px;margin:0 auto;position:relative;}
.page-hero .eyebrow{
  font-family:'Cinzel',serif;font-size:.68rem;letter-spacing:.18em;
  text-transform:uppercase;color:#c69a3f;margin-bottom:1rem;
}
.page-hero h1{
  font-family:'Cinzel',serif;
  font-size:clamp(1.8rem,4vw,3.2rem);
  font-weight:600;color:#f2ebd7;margin-bottom:1.25rem;line-height:1.15;
}
.page-hero p{font-size:1.05rem;line-height:1.75;opacity:.82;max-width:620px;color:#f2ebd7 !important;}
.gold-bar{width:56px;height:3px;background:#c69a3f;margin:1.25rem 0 1.5rem;}

.content-section{background:#ffffff;padding:4.5rem 2rem;}
.content-section.alt{background:#f2ebd7;}
.content-section .wrap{max-width:1100px;margin:0 auto;}
.content-section h2{
  font-family:'Cinzel',serif;font-size:clamp(1.3rem,2.5vw,1.9rem);
  color:#70110c;margin-bottom:1.5rem;
}
.content-section p{font-size:1rem;line-height:1.8;color:#2a2a2a;max-width:700px;margin-bottom:1rem;}

.card-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1.75rem;margin-top:2.5rem;
}
.card{
  background:#fff;border:1px solid rgba(112,17,12,.15);
  border-top:3px solid #c69a3f;
  padding:2rem;border-radius:4px;
  box-shadow:0 2px 12px rgba(0,0,0,.06);
}
.content-section.alt .card{background:#fff;}
.card h3{
  font-family:'Cinzel',serif;font-size:.9rem;color:#70110c;
  margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.08em;
}
.card p{font-size:.88rem;color:#444;line-height:1.7;margin:0;}

/* SUB-NAV */
.sub-nav{
  background:#f2ebd7;border-bottom:2px solid rgba(112,17,12,.12);
  font-family:'Archivo',sans-serif;position:sticky;top:58px;z-index:9998;
}
.sub-nav .wrap{
  max-width:1100px;margin:0 auto;padding:0 2rem;
  display:flex;gap:0;overflow-x:auto;
}
.sub-nav a{
  display:block;padding:.65rem .9rem;
  color:#2a0604;text-decoration:none;
  font-size:.7rem;font-weight:600;
  letter-spacing:.07em;text-transform:uppercase;
  white-space:nowrap;transition:color .2s,border-color .2s;
  border-bottom:2px solid transparent;cursor:pointer;
}
.sub-nav a:hover,.sub-nav a.active{color:#70110c;border-bottom-color:#c69a3f;}

.sub-page{display:none;}
.sub-page.active{display:block;}

/* Explore More btn */
.btn-explore{
  display:inline-block;margin-top:2rem;
  padding:.85rem 2.2rem;
  background:#70110c;color:#f2ebd7;
  font-family:'Cinzel',serif;font-size:.8rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  text-decoration:none;border-radius:3px;
  transition:background .2s,transform .2s;
}
.btn-explore:hover{background:#c69a3f;color:#2a0604;transform:translateY(-1px);}

/* Contact */
.contact-grid{display:grid;gap:1.5rem;max-width:520px;margin-top:2.5rem;}
.contact-row{display:flex;gap:1.25rem;align-items:flex-start;}
.contact-row b{min-width:130px;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#70110c;padding-top:.1rem;}
.contact-row span,.contact-row a{font-size:.95rem;line-height:1.6;color:#2a2a2a;text-decoration:none;}
.contact-row a:hover{color:#70110c;}

/* ===== HOME PAGE: ALTERNATING LIGHT SECTION OVERRIDES ===== */

/* Polemarch — WHITE (#faf6ec already, but enforce) */
.polemarch {
  background: #ffffff !important;
}



/* Four Tenets/Pillars — WHITE (now after cream programs) */
.pillars {
  background: #ffffff !important;
  color: #1c1411 !important;
}
.pillars .eyebrow { color: #c69a3f !important; }
.pillars .eyebrow::before { background: #c69a3f !important; }
.pillars h2, .pillars .tenet-title { color: #70110c !important; }
.pillars .tenet-body, .pillars p { color: #3a3028 !important; }
.pillars .letter { color: #70110c !important; border-color: rgba(112,17,12,.2) !important; background: rgba(112,17,12,.06) !important; }


.engage .event-num { color: #70110c !important; border-color: rgba(112,17,12,.2) !important; }

/* Values — WHITE with crimson diamond lattice */
.values {
  background: #ffffff !important;
  color: #1c1411 !important;
  position: relative;
}
.values .lattice {
  opacity: .06 !important;
  filter: none !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'><path d='M32 0L64 32L32 64L0 32Z' fill='none' stroke='%2370110c' stroke-width='1.2'/></svg>") !important;
  background-size: 72px 72px !important;
}
.values .eyebrow { color: #c69a3f !important; }
.values .eyebrow::before { background: #c69a3f !important; }
.values h2 { color: #70110c !important; }
.values p, .values .val-body { color: #3a3028 !important; }
.values .val-name { color: #70110c !important; }
.values .val-card { background: rgba(255,255,255,.92) !important; border-color: rgba(112,17,12,.12) !important; border-top: 3px solid #c69a3f !important; box-shadow: 0 2px 16px rgba(0,0,0,.05) !important; }
.values .head p { color: #5a4a3a !important; }










/* === HERO CAROUSEL UPDATE === */
.hero .wrap{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:center;
  padding:80px 28px;
}
.hero-inner{max-width:100%}

/* Carousel */
.hero-carousel{
  position:relative;
  width:100%;
  aspect-ratio:4/3;
  overflow:hidden;
  flex-shrink:0;
}
.hero-carousel .slide{
  position:absolute;inset:0;
  opacity:0;
  transition:opacity .8s ease;
  background:#3a0806 center/cover no-repeat;
}
.hero-carousel .slide.active{opacity:1;}
.hero-carousel .slide img{
  width:100%;height:100%;object-fit:cover;display:block;
}
/* Gradient overlay on image */
.hero-carousel .slide::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(42,6,4,.35) 0%,transparent 60%);
}
/* Nav arrows */
.carousel-prev,.carousel-next{
  position:absolute;top:50%;z-index:10;
  transform:translateY(-50%);
  background:rgba(42,6,4,.55);
  border:1px solid rgba(198,154,63,.4);
  color:#c69a3f;
  width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;font-size:1rem;
  transition:background .2s;
  backdrop-filter:blur(4px);
}
.carousel-prev{left:12px;}
.carousel-next{right:12px;}
.carousel-prev:hover,.carousel-next:hover{background:rgba(42,6,4,.85);}
/* Dots */
.carousel-dots{
  position:absolute;bottom:14px;left:50%;transform:translateX(-50%);
  display:flex;gap:8px;z-index:10;
}
.carousel-dots .dot{
  width:8px;height:8px;
  background:rgba(242,235,215,.4);
  transform:rotate(45deg);
  cursor:pointer;
  transition:background .25s;
}
.carousel-dots .dot.active{background:#c69a3f;}

/* Placeholder slides (no real image yet) */
.hero-carousel .slide-placeholder{
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#5a0d09,#3a0806);
  color:rgba(242,235,215,.35);
  font-family:'Cinzel',serif;
  font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;
  text-align:center;padding:1rem;
}

@media(max-width:900px){
  .hero .wrap{grid-template-columns:1fr;gap:32px;}
  .hero-carousel{aspect-ratio:16/9;}
  .hero-inner{order:1;}
  .hero-carousel{order:0;}
}

/* === CARRY THE LEGACY FORWARD === */
.join{position:relative;background:#2a0604 !important;color:#f2ebd7;text-align:center;padding:90px 28px;overflow:hidden}
.join .big-dmd{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(45deg);width:440px;height:440px;border:1px solid rgba(218,167,15,.18);pointer-events:none}
.join .inner{position:relative;z-index:2;max-width:680px;margin:0 auto}
.join .eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#daa70f;display:inline-flex;align-items:center;gap:.7rem;justify-content:center}
.join .eyebrow::before{content:"";width:9px;height:9px;background:#daa70f;transform:rotate(45deg);display:inline-block;flex:none}
.join h2{font-family:var(--font-display);font-weight:700;font-size:clamp(1.9rem,4vw,3rem);margin:18px 0 16px;line-height:1.08;letter-spacing:.01em;color:#f2ebd7 !important}
.join p{font-family:var(--font-serif);font-size:1.12rem;color:rgba(242,235,215,.88) !important;margin-bottom:34px;line-height:1.55}
.join .cta-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.join .btn{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-sans);font-weight:600;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;padding:15px 28px;border:1.5px solid transparent;cursor:pointer;text-decoration:none;transition:transform .25s,background .25s}
.join .btn-gold{background:#c69a3f;color:#2a0604}
.join .btn-gold:hover{background:#daa70f;transform:translateY(-2px)}
.join .btn-cream{background:#f2ebd7;color:#70110c}
.join .btn-cream:hover{transform:translateY(-2px)}
@media(max-width:560px){.join{padding:72px 24px}.join .big-dmd{width:320px;height:320px}}



/* === FOUNDERS GRID & MODAL === */
.founders-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  margin-top: 3rem;
}
.founder-card {
  text-align: center;
  cursor: pointer;
}
.founder-portrait {
  width: 100%;
  aspect-ratio: 3/4;
  background: linear-gradient(160deg, #8a1a13, #4a0b08 60%, #2a0604);
  position: relative;
  overflow: hidden;
  margin-bottom: 0.85rem;
  border: 1px solid rgba(198,154,63,.2);
  transition: border-color .25s, box-shadow .25s;
}
.founder-card:hover .founder-portrait {
  border-color: #c69a3f;
  box-shadow: 0 8px 28px rgba(42,6,4,.18);
}
.founder-portrait img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.founder-portrait .fp-placeholder {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  color: rgba(242,235,215,.3);
  font-family: 'Cinzel', serif;
  font-size: .65rem; letter-spacing: .12em; text-transform: uppercase;
  text-align: center; padding: 1rem;
}
.founder-card h4 {
  font-family: 'Cinzel', serif;
  font-size: .85rem; font-weight: 600;
  color: #1c1411; margin-bottom: .2rem;
  line-height: 1.3;
}
.founder-card .fc-role {
  font-size: .72rem; color: #6a5d52;
  text-transform: uppercase; letter-spacing: .08em;
  margin-bottom: .15rem;
}
.founder-card .fc-dates {
  font-size: .72rem; color: #6a5d52;
  margin-bottom: .35rem;
}
.founder-card .fc-bio-link {
  font-size: .72rem; font-weight: 600;
  color: #70110c; text-decoration: underline;
  letter-spacing: .04em; cursor: pointer;
  background: none; border: none; padding: 0;
}
.founder-card .fc-bio-link:hover { color: #c69a3f; }

@media(max-width:900px){ .founders-grid{ grid-template-columns: repeat(3,1fr); } }
@media(max-width:600px){ .founders-grid{ grid-template-columns: repeat(2,1fr); gap:1.25rem; } }

/* BIO MODAL */
#bioModal {
  display: none;
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  width: 100vw; height: 100vh;
  z-index: 999999;
  background: rgba(28,20,17,.8);
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  box-sizing: border-box;
}
#bioModal.open { display: flex !important; }
.bio-modal {
  background: #faf6ec;
  max-width: 760px; width: 100%;
  max-height: 88vh;
  overflow-y: auto;
  position: relative;
  border-top: 4px solid #c69a3f;
  box-shadow: 0 32px 80px rgba(0,0,0,.5);
  box-sizing: border-box;
}
.bio-modal-inner { display: flex; gap: 2rem; padding: 2.5rem; box-sizing: border-box; }
.bio-modal-portrait { flex: none; width: 160px; }
.bio-modal-portrait .bmp-placeholder {
  width: 160px; height: 210px;
  background: linear-gradient(160deg,#8a1a13,#4a0b08 60%,#2a0604);
  display: flex; align-items: center; justify-content: center;
  color: rgba(242,235,215,.35);
  font-family: 'Cinzel', serif; font-size: .6rem;
  letter-spacing: .1em; text-transform: uppercase; text-align: center;
}
.bio-modal-portrait img { width: 100%; display: block; border: 1px solid rgba(198,154,63,.25); }
.bio-modal-content { flex: 1; min-width: 0; }
.bio-modal-content .bm-eyebrow {
  font-size: .65rem; font-weight: 600; letter-spacing: .18em;
  text-transform: uppercase; color: #c69a3f; margin-bottom: .5rem;
}
.bio-modal-content h2 {
  font-family: 'Cinzel', serif; font-size: 1.4rem;
  color: #70110c; margin-bottom: .25rem; line-height: 1.2;
}
.bio-modal-content .bm-dates {
  font-size: .78rem; color: #6a5d52; margin-bottom: 1.25rem; letter-spacing: .04em;
}
.bio-modal-content .bm-body { font-size: .9rem; line-height: 1.75; color: #2a2a2a; }
.bio-modal-content .bm-body p { margin-bottom: .9rem; }
.bio-modal-content .bm-body p:last-child { margin-bottom: 0; }
.bio-modal-close {
  position: absolute; top: 1rem; right: 1rem;
  background: #70110c; color: #f2ebd7;
  border: none; width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.2rem; cursor: pointer; z-index: 2; line-height: 1;
}
.bio-modal-close:hover { background: #c69a3f; color: #2a0604; }
@media(max-width:600px){
  .bio-modal-inner { flex-direction: column; padding: 1.5rem; gap: 1.25rem; }
  .bio-modal-portrait { width: 100%; }
  .bio-modal-portrait .bmp-placeholder { width: 100%; height: 180px; }
}

@media(max-width:600px){
  .bio-modal-inner { flex-direction: column; padding: 1.5rem; gap: 1.25rem; }
  .bio-modal-portrait { width: 100%; }
  .bio-modal-portrait .bmp-placeholder { width: 100%; height: 180px; }
}

/* === EVENTS PAGE === */
.events-page { font-family: var(--font-sans); color: #1c1411; }

/* Calendar */
.cal-section { background: #ffffff; padding: 4rem 2rem; }
.cal-section .wrap { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1fr 340px; gap: 3rem; align-items: start; }
.cal-wrap { background: #fff; border: 1px solid rgba(28,20,17,.12); overflow: hidden; }
.cal-header { background: #70110c; color: #f2ebd7; display: flex; align-items: center; justify-content: space-between; padding: 1.1rem 1.5rem; }
.cal-header h3 { font-family: 'Cinzel', serif; font-size: 1rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.cal-nav-btn { background: none; border: 1px solid rgba(242,235,215,.3); color: #f2ebd7; width: 34px; height: 34px; cursor: pointer; font-size: 1rem; display: flex; align-items: center; justify-content: center; transition: background .2s; }
.cal-nav-btn:hover { background: rgba(242,235,215,.15); }
.cal-weekdays { display: grid; grid-template-columns: repeat(7,1fr); background: #4a0b08; }
.cal-weekdays span { text-align: center; padding: .55rem 0; font-size: .65rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: rgba(242,235,215,.7); }
.cal-grid { display: grid; grid-template-columns: repeat(7,1fr); border-left: 1px solid rgba(28,20,17,.08); border-top: 1px solid rgba(28,20,17,.08); }
.cal-day { min-height: 74px; padding: .5rem .55rem; border-right: 1px solid rgba(28,20,17,.08); border-bottom: 1px solid rgba(28,20,17,.08); cursor: default; position: relative; transition: background .2s; }
.cal-day.other-month { background: #faf6ec; }
.cal-day.other-month .day-num { color: rgba(28,20,17,.25); }
.cal-day.today { background: #faf6ec; }
.cal-day.today .day-num { background: #70110c; color: #f2ebd7; border-radius: 50%; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; }
.cal-day.has-event { cursor: pointer; }
.cal-day.has-event:hover { background: #fdf8f0; }
.cal-day.selected { background: rgba(198,154,63,.1); }
.day-num { font-size: .8rem; font-weight: 600; color: #1c1411; line-height: 1; margin-bottom: .35rem; }
.day-dot { width: 6px; height: 6px; background: #c69a3f; transform: rotate(45deg); margin: 2px auto; }
.day-event-label { font-size: .58rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #70110c; background: rgba(112,17,12,.08); padding: 2px 4px; margin-top: 3px; line-height: 1.3; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Sidebar event list */
.cal-sidebar { }
.cal-sidebar h4 { font-family: 'Cinzel', serif; font-size: .8rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #70110c; margin-bottom: 1.25rem; padding-bottom: .75rem; border-bottom: 2px solid #c69a3f; }
.cal-event-item { display: flex; gap: 1rem; align-items: flex-start; padding: 1rem 0; border-bottom: 1px solid rgba(28,20,17,.1); cursor: pointer; transition: opacity .2s; }
.cal-event-item:hover { opacity: .75; }
.cal-event-item:last-child { border-bottom: none; }
.cal-event-date { flex: none; width: 48px; text-align: center; background: #70110c; color: #f2ebd7; padding: .4rem .2rem; }
.cal-event-date .eday { font-family: 'Cinzel', serif; font-size: 1.3rem; font-weight: 700; line-height: 1; display: block; }
.cal-event-date .emon { font-size: .6rem; letter-spacing: .1em; text-transform: uppercase; display: block; margin-top: 2px; opacity: .8; }
.cal-event-info b { font-size: .9rem; color: #1c1411; display: block; margin-bottom: .2rem; }
.cal-event-info small { font-size: .8rem; color: #6a5d52; line-height: 1.4; }
.cal-event-tag { display: inline-block; margin-top: .4rem; font-size: .6rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #c69a3f; border: 1px solid rgba(198,154,63,.4); padding: 2px 6px; }

/* Full event listings */
.events-list-section { background: #f2ebd7; padding: 4rem 2rem; }
.events-list-section .wrap { max-width: 1100px; margin: 0 auto; }
.events-list-section h2 { font-family: 'Cinzel', serif; font-size: 1.5rem; color: #70110c; margin-bottom: 2rem; }
.event-card { background: #fff; border: 1px solid rgba(28,20,17,.1); border-left: 4px solid #c69a3f; display: flex; gap: 1.5rem; align-items: flex-start; padding: 1.5rem; margin-bottom: 1rem; transition: box-shadow .25s, transform .25s; }
.event-card:hover { box-shadow: 0 8px 28px rgba(0,0,0,.09); transform: translateX(4px); }
.event-card .ec-date { flex: none; text-align: center; width: 64px; }
.event-card .ec-date .ecday { font-family: 'Cinzel', serif; font-size: 2rem; font-weight: 700; color: #70110c; line-height: 1; display: block; }
.event-card .ec-date .ecmon { font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; color: #6a5d52; }
.event-card .ec-divider { width: 1px; background: rgba(28,20,17,.12); align-self: stretch; flex: none; }
.event-card .ec-info h3 { font-family: 'Cinzel', serif; font-size: 1.05rem; color: #1c1411; margin-bottom: .4rem; }
.event-card .ec-info p { font-size: .9rem; color: #6a5d52; line-height: 1.6; }
.event-card .ec-tag { display: inline-block; margin-top: .6rem; font-size: .62rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #70110c; border: 1px solid rgba(112,17,12,.25); padding: 3px 8px; }

@media(max-width:900px){ .cal-section .wrap{grid-template-columns:1fr;} }
@media(max-width:600px){ .cal-day{min-height:48px;padding:.3rem .25rem;} .day-event-label{display:none;} }

/* === EVENTS & ENGAGEMENT === */
.engage{padding:100px 0;background:#f2ebd7}
.engage .wrap{max-width:1200px;margin:0 auto;padding:0 28px}
.engage .grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.engage .eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:.7rem}
.engage .eyebrow::before{content:"";width:9px;height:9px;background:var(--gold);transform:rotate(45deg);display:inline-block;flex:none}
.engage .panel h2{font-family:var(--font-display);font-weight:600;font-size:1.7rem;color:var(--crimson);margin:14px 0 24px;letter-spacing:.01em}
.engage .event{display:flex;gap:20px;align-items:center;background:var(--paper);border:1px solid var(--line);padding:18px 22px;margin-bottom:16px;transition:border-color .25s,transform .25s,box-shadow .25s}
.engage .event:hover{border-color:var(--gold);transform:translateX(4px);box-shadow:0 14px 28px rgba(42,6,4,.08)}
.engage .event .date{flex:none;width:58px;text-align:center;border-right:1px solid var(--line);padding-right:18px}
.engage .event .date b{font-family:var(--font-display);font-size:1.55rem;color:var(--crimson);display:block;line-height:1}
.engage .event .date small{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-top:4px;display:block}
.engage .event .info b{font-size:1rem;color:var(--ink);display:block}
.engage .event .info small{font-size:.86rem;color:var(--ink-soft)}
.engage .ways{display:grid;gap:0}
.engage .way{display:flex;gap:18px;align-items:flex-start;padding:22px 0;border-bottom:1px solid var(--line)}
.engage .way:first-child{padding-top:0}
.engage .way i{width:13px;height:13px;background:var(--crimson);transform:rotate(45deg);flex:none;margin-top:6px}
.engage .way b{font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:var(--crimson);display:block;margin-bottom:4px}
.engage .way small{font-size:.92rem;color:var(--ink-soft);line-height:1.5}
@media(max-width:880px){.engage{padding:72px 0}.engage .grid{grid-template-columns:1fr;gap:52px}}

/* === WHAT WE DO — Programs Section === */
.programs{padding:100px 0}
.programs .wrap{max-width:1200px;margin:0 auto;padding:0 28px}
.programs .head{text-align:center;max-width:660px;margin:0 auto 58px}
.programs .eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:.7rem;justify-content:center}
.programs .eyebrow::before{content:"";width:9px;height:9px;background:var(--gold);transform:rotate(45deg);display:inline-block;flex:none}
.programs .head h2{font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,4vw,2.9rem);color:var(--crimson);margin:16px 0 14px;line-height:1.1;letter-spacing:.01em}
.programs .head p{font-family:var(--font-serif);color:var(--ink-soft);font-size:1.08rem;line-height:1.55}
.programs .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.programs .card{position:relative;background:var(--paper);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;transform:none;box-shadow:none;}
.programs .card:hover{transform:translateY(-6px);box-shadow:0 26px 46px rgba(42,6,4,.14);border-color:var(--gold)}
.programs .media{position:relative;height:172px;background:#5a0d09 center/cover no-repeat;overflow:hidden}
.programs .media::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(112,17,12,.30) 0%,rgba(74,11,8,.78) 70%,rgba(42,6,4,.94) 100%)}
.programs .media::after{content:"";position:absolute;inset:0;opacity:.10;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'><path d='M32 0L64 32L32 64L0 32Z' fill='none' stroke='%23daa70f' stroke-width='1'/></svg>");background-size:60px 60px}
.programs .num{position:absolute;top:18px;left:22px;z-index:2;font-family:var(--font-display);font-weight:700;font-size:3rem;line-height:1;color:transparent;-webkit-text-stroke:1.4px var(--gold-bright);text-stroke:1.4px var(--gold-bright)}
.programs .pill{position:absolute;left:22px;bottom:18px;z-index:2;display:inline-flex;align-items:center;gap:.55rem;font-size:.66rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--cream)}
.programs .pill i{width:8px;height:8px;background:var(--gold-bright);transform:rotate(45deg);display:inline-block;flex:none}
.programs .body{padding:26px 24px 28px;display:flex;flex-direction:column;flex:1;background:var(--paper)}
.programs .body h3{font-family:var(--font-display);font-weight:600;font-size:1.22rem;color:var(--crimson);margin-bottom:12px;line-height:1.2}
.programs .body p{font-size:.92rem;color:var(--ink-soft);line-height:1.58;flex:1}
.programs .more{margin-top:18px;display:inline-flex;align-items:center;gap:.5rem;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--crimson);text-decoration:none}
.programs .more span{transition:transform .25s ease}
.programs .card:hover .more span{transform:translateX(5px)}
@media(max-width:980px){.programs{padding:72px 0}.programs .grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.programs .grid{grid-template-columns:1fr}}
/* ink-soft var fallback */
:root{--ink:#1c1411;--ink-soft:#6a5d52;--line:rgba(28,20,17,.12);}




  :root{

    --crimson:#70110c;

    --crimson-deep:#4a0b08;

    --crimson-night:#2a0604;

    --cream:#f2ebd7;

    --gold:#c69a3f;

    --gold-bright:#daa70f;

    --font-display:'Cinzel',serif;

    --font-serif:'Fraunces',serif;

    --font-sans:'Archivo',system-ui,-apple-system,sans-serif;

  }

  *{margin:0;padding:0;box-sizing:border-box}

  html,body{height:100%;overflow-x:hidden}

  body{background:var(--crimson-night)}

  img{display:block;max-width:100%}

  .hero{

    position:relative;

    background:radial-gradient(120% 130% at 78% 8%,#7d1610 0%,var(--crimson) 36%,var(--crimson-deep) 72%,var(--crimson-night) 100%);

    color:var(--cream);

    overflow:hidden;

    font-family:var(--font-sans);

    min-height:100vh;

    display:flex;

    align-items:center;

  }

  .hero .lattice{

    position:absolute;inset:0;opacity:.10;

    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'><path d='M32 0L64 32L32 64L0 32Z' fill='none' stroke='%23f2ebd7' stroke-width='1'/></svg>");

    background-size:80px 80px;

  }

  .hero .glow{

    position:absolute;right:-10%;top:-25%;width:680px;height:680px;

    background:radial-gradient(circle,rgba(218,167,15,.22),transparent 62%);

    pointer-events:none;

  }

  .hero .big-dmd{

    position:absolute;right:6%;top:50%;

    transform:translateY(-50%) rotate(45deg);

    width:360px;height:360px;

    border:1.5px solid rgba(242,235,215,.22);

    pointer-events:none;

  }

  .hero .big-dmd::after{

    content:"";position:absolute;inset:34px;

    border:1px solid rgba(218,167,15,.32);

  }

  .hero .wrap{

    position:relative;z-index:2;

    width:100%;

    max-width:1200px;margin:0 auto;

    padding:80px 28px;

  }

  .hero-inner{max-width:760px}

  .eyebrow{

    font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;

    color:var(--gold-bright);display:flex;align-items:center;gap:.7rem;

  }

  .eyebrow::before{

    content:"";width:9px;height:9px;background:var(--gold-bright);

    transform:rotate(45deg);display:inline-block;flex:none;

  }

  .hero h1{

    font-family:var(--font-display);font-weight:700;

    font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.02;letter-spacing:.01em;

    margin:26px 0 0;

  }

  .hero h1 .sub{

    display:block;font-size:clamp(1.3rem,2.6vw,2rem);font-weight:500;

    color:var(--gold-bright);letter-spacing:.04em;margin-top:14px;

  }

  .hero .lede{

    font-family:var(--font-serif);font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.55;

    color:rgba(242,235,215,.92);max-width:560px;margin:30px 0 0;

  }

  .cta-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:40px}

  .btn{

    display:inline-flex;align-items:center;gap:.6rem;

    font-family:var(--font-sans);font-weight:600;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;

    padding:15px 28px;border:1.5px solid transparent;cursor:pointer;

    transition:transform .25s ease,background .25s ease,border-color .25s ease;

  }

  .btn-gold{background:var(--gold);color:var(--crimson-night)}

  .btn-gold:hover{background:var(--gold-bright);transform:translateY(-2px)}

  .btn-ghost{background:transparent;color:var(--cream);border-color:rgba(242,235,215,.5)}

  .btn-ghost:hover{border-color:var(--cream);background:rgba(242,235,215,.08);transform:translateY(-2px)}

  a:focus-visible,button:focus-visible{outline:3px solid var(--gold-bright);outline-offset:3px}

  .facts{

    display:flex;gap:34px;flex-wrap:wrap;margin-top:54px;padding-top:30px;

    border-top:1px solid rgba(242,235,215,.2);

  }

  .facts div{line-height:1.1}

  .facts b{font-family:var(--font-display);font-size:1.45rem;color:var(--cream);display:block}

  .facts small{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(242,235,215,.62)}

  a.btn{text-decoration:none}

  @media(max-width:980px){ .hero .big-dmd{display:none} }

  @media(max-width:560px){ .facts{gap:24px} }

  @media(prefers-reduced-motion:reduce){ .btn:hover{transform:none} }





  :root{

    --crimson:#70110c;

    --crimson-deep:#4a0b08;

    --cream:#f2ebd7;

    --paper:#faf6ec;

    --gold:#c69a3f;

    --ink:#1c1411;

    --ink-soft:#6a5d52;

    --line:rgba(28,20,17,.12);

    --font-display:'Cinzel',serif;

    --font-serif:'Fraunces',serif;

    --font-sans:'Archivo',system-ui,-apple-system,sans-serif;

  }

  *{margin:0;padding:0;box-sizing:border-box}

  body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}

  img{display:block;max-width:100%}

  .polemarch{padding:104px 0}

  .polemarch .wrap{max-width:1200px;margin:0 auto;padding:0 28px}

  .polemarch .grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}

  .eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:.7rem}

  .eyebrow::before{content:"";width:9px;height:9px;background:var(--gold);transform:rotate(45deg);display:inline-block;flex:none}

  .portrait{position:relative;justify-self:center;position:sticky;top:48px}

  .portrait .frame{width:320px;height:400px;background:linear-gradient(160deg,#8a1a13,var(--crimson) 55%,var(--crimson-deep));position:relative;display:grid;place-items:center;color:rgba(242,235,215,.5)}

  .portrait .frame span{font-family:var(--font-display);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase}

  .portrait .crest{position:absolute;right:-34px;bottom:-30px;width:148px;height:148px;background:var(--paper);border-radius:50%;display:grid;place-items:center;box-shadow:0 18px 38px rgba(42,6,4,.26);padding:14px}

  .portrait .crest img{width:100%;height:auto}

  .message h2{font-family:var(--font-display);font-weight:600;font-size:clamp(1.9rem,3.5vw,2.7rem);color:var(--crimson);margin:20px 0 0;line-height:1.1;letter-spacing:.01em}

  .message .body{font-family:var(--font-serif);font-size:1.12rem;line-height:1.65;color:var(--ink);margin-top:22px}

  .message .body p{margin-bottom:18px}

  .message .body .objective{color:var(--crimson);font-style:italic}

  .message .sign{margin-top:30px;display:flex;align-items:center;gap:16px}

  .message .sign i{width:34px;height:1px;background:var(--gold);flex:none}

  .message .sign .who b{font-family:var(--font-display);font-size:1.05rem;color:var(--crimson);display:block;line-height:1.3}

  .message .sign .who small{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);display:block;margin-top:2px}

  .message .fraternally{font-family:var(--font-serif);font-style:italic;color:var(--ink-soft);margin-top:26px;font-size:1.05rem}

  @media(max-width:980px){

    .polemarch{padding:72px 0}

    .polemarch .grid{grid-template-columns:1fr;gap:64px}

    .portrait{position:relative;top:0;margin-bottom:8px}

  }

  @media(max-width:560px){

    .portrait .frame{width:520px;height:630px}

    .portrait .crest{width:120px;height:120px;right:-14px;bottom:-22px}

  }





  :root{

    --crimson:#70110c;

    --crimson-deep:#4a0b08;

    --crimson-night:#2a0604;

    --cream:#f2ebd7;

    --paper:#faf6ec;

    --gold:#c69a3f;

    --gold-bright:#daa70f;

    --ink:#1c1411;

    --ink-soft:#6a5d52;

    --line:rgba(28,20,17,.12);

    --font-display:'Cinzel',serif;

    --font-serif:'Fraunces',serif;

    --font-sans:'Archivo',system-ui,-apple-system,sans-serif;

  }

  *{margin:0;padding:0;box-sizing:border-box}

  body{background:var(--cream);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}

  .pillars{padding:100px 0}

  .pillars .wrap{max-width:1200px;margin:0 auto;padding:0 28px}

  .pillars .head{text-align:center;max-width:640px;margin:0 auto 56px}

  .eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:.7rem;justify-content:center}

  .eyebrow::before{content:"";width:9px;height:9px;background:var(--gold);transform:rotate(45deg);display:inline-block;flex:none}

  .pillars .head h2{font-family:var(--font-display);font-weight:600;font-size:clamp(1.9rem,3.5vw,2.7rem);color:var(--crimson);margin:16px 0 14px;line-height:1.1;letter-spacing:.01em}

  .pillars .head p{font-family:var(--font-serif);color:var(--ink-soft);font-size:1.08rem;line-height:1.55}

  .pcards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}

  .pcard{background:var(--paper);border:1px solid var(--line);padding:34px 26px 30px;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}

  .pcard:hover{transform:translateY(-6px);box-shadow:0 22px 40px rgba(42,6,4,.10);border-color:var(--gold)}

  .pcard .mark{width:44px;height:44px;background:var(--crimson);transform:rotate(45deg);display:grid;place-items:center;margin-bottom:28px}

  .pcard .mark b{transform:rotate(-45deg);color:var(--gold-bright);font-family:var(--font-display);font-weight:700;font-size:1.05rem}

  .pcard h3{font-family:var(--font-display);font-weight:600;font-size:1.2rem;color:var(--crimson);margin-bottom:11px}

  .pcard p{font-size:.93rem;color:var(--ink-soft);line-height:1.58}

  @media(max-width:980px){

    .pillars{padding:72px 0}

    .pcards{grid-template-columns:repeat(2,1fr)}

  }

  @media(max-width:560px){

    .pcards{grid-template-columns:1fr}

  }

  @media(prefers-reduced-motion:reduce){

    .pcard:hover{transform:none}

  }





  :root{

    --crimson:#70110c;

    --crimson-deep:#4a0b08;

    --cream:#f2ebd7;

    --paper:#faf6ec;

    --gold:#c69a3f;

    --ink:#1c1411;

    --ink-soft:#6a5d52;

    --line:rgba(28,20,17,.12);

    --font-display:'Cinzel',serif;

    --font-sans:'Archivo',system-ui,-apple-system,sans-serif;

  }

  *{margin:0;padding:0;box-sizing:border-box}

  body{background:var(--cream);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}

  .engage{padding:100px 0}

  .engage .wrap{max-width:1200px;margin:0 auto;padding:0 28px}

  .engage .grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}

  .eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:.7rem}

  .eyebrow::before{content:"";width:9px;height:9px;background:var(--gold);transform:rotate(45deg);display:inline-block;flex:none}

  .panel h2{font-family:var(--font-display);font-weight:600;font-size:1.7rem;color:var(--crimson);margin:14px 0 24px;letter-spacing:.01em}

  /* events */

  .event{display:flex;gap:20px;align-items:center;background:var(--paper);border:1px solid var(--line);padding:18px 22px;margin-bottom:16px;transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease}

  .event:hover{border-color:var(--gold);transform:translateX(4px);box-shadow:0 14px 28px rgba(42,6,4,.08)}

  .event .date{flex:none;width:58px;text-align:center;border-right:1px solid var(--line);padding-right:18px}

  .event .date b{font-family:var(--font-display);font-size:1.55rem;color:var(--crimson);display:block;line-height:1}

  .event .date small{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-top:4px;display:block}

  .event .info b{font-size:1rem;color:var(--ink);display:block}

  .event .info small{font-size:.86rem;color:var(--ink-soft)}

  /* ways */

  .ways{display:grid;gap:0}

  .way{display:flex;gap:18px;align-items:flex-start;padding:22px 0;border-bottom:1px solid var(--line)}

  .way:first-child{padding-top:0}

  .way i{width:13px;height:13px;background:var(--crimson);transform:rotate(45deg);flex:none;margin-top:6px}

  .way b{font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:var(--crimson);display:block;margin-bottom:4px}

  .way small{font-size:.92rem;color:var(--ink-soft);line-height:1.5}

  @media(max-width:880px){

    .engage{padding:72px 0}

    .engage .grid{grid-template-columns:1fr;gap:52px}

  }

  @media(prefers-reduced-motion:reduce){

    .event:hover{transform:none}

  }





  :root{

    --crimson:#70110c;

    --crimson-deep:#4a0b08;

    --crimson-night:#2a0604;

    --cream:#f2ebd7;

    --paper:#faf6ec;

    --gold:#c69a3f;

    --gold-bright:#daa70f;

    --ink:#1c1411;

    --ink-soft:#6a5d52;

    --font-display:'Cinzel',serif;

    --font-serif:'Fraunces',serif;

    --font-sans:'Archivo',system-ui,-apple-system,sans-serif;

  }

  *{margin:0;padding:0;box-sizing:border-box}

  html,body{min-height:100vh}

  body{

    font-family:var(--font-sans);-webkit-font-smoothing:antialiased;

    background:radial-gradient(120% 120% at 50% 0%,#7d1610 0%,var(--crimson) 45%,var(--crimson-deep) 100%);

    background-attachment:fixed;

  }

  .values{position:relative;color:var(--cream);overflow:hidden;padding:100px 0}

  .values .lattice{position:absolute;inset:0;opacity:.08;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'><path d='M32 0L64 32L32 64L0 32Z' fill='none' stroke='%23daa70f' stroke-width='1'/></svg>");background-size:72px 72px}

  .values .wrap{position:relative;z-index:2;max-width:1140px;margin:0 auto;padding:0 28px}

  .head{text-align:center;max-width:620px;margin:0 auto 58px}

  .eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-bright);display:flex;align-items:center;gap:.7rem;justify-content:center}

  .eyebrow::before{content:"";width:9px;height:9px;background:var(--gold-bright);transform:rotate(45deg);display:inline-block;flex:none}

  .head h2{font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,4vw,2.9rem);color:var(--cream);margin:16px 0 14px;line-height:1.1;letter-spacing:.01em}

  .head p{font-family:var(--font-serif);font-size:1.08rem;color:rgba(242,235,215,.82);line-height:1.55}

  .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}

  .card{background:var(--paper);padding:46px 32px 40px;text-align:center;border:1px solid rgba(198,154,63,.35);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}

  .card:hover{transform:translateY(-6px);box-shadow:0 26px 50px rgba(0,0,0,.28);border-color:var(--gold-bright)}

  .iconwrap{width:78px;height:78px;border:1.5px solid var(--gold);transform:rotate(45deg);display:grid;place-items:center;margin:0 auto 30px;background:rgba(112,17,12,.04)}

  .iconwrap svg{transform:rotate(-45deg);width:30px;height:30px;color:var(--crimson)}

  .card h3{font-family:var(--font-display);font-weight:600;font-size:1.3rem;color:var(--crimson);letter-spacing:.02em}

  .card .div{width:9px;height:9px;background:var(--gold);transform:rotate(45deg);margin:14px auto 18px}

  .card p{font-family:var(--font-serif);font-size:1rem;color:var(--ink-soft);line-height:1.6}

  @media(max-width:880px){

    .values{padding:72px 0}

    .grid{grid-template-columns:1fr;gap:20px;max-width:460px;margin:0 auto}

  }

  @media(prefers-reduced-motion:reduce){

    .card:hover{transform:none}

  }





  :root{

    --crimson:#70110c;

    --crimson-deep:#4a0b08;

    --crimson-night:#2a0604;

    --cream:#f2ebd7;

    --gold:#c69a3f;

    --gold-bright:#daa70f;

    --font-display:'Cinzel',serif;

    --font-serif:'Fraunces',serif;

    --font-sans:'Archivo',system-ui,-apple-system,sans-serif;

  }

  *{margin:0;padding:0;box-sizing:border-box}

  body{background:var(--crimson-deep);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}

  img{display:block;max-width:100%}

  footer{background:var(--crimson-deep);color:rgba(242,235,215,.80)}

  footer .wrap{max-width:1200px;margin:0 auto;padding:72px 28px 0}

  footer .cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(242,235,215,.14);align-items:start}

  footer h4{font-family:var(--font-display);font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:20px}

  footer h5{font-family:var(--font-display);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cream);margin:24px 0 14px}

  footer ul{list-style:none}

  footer ul li{margin-bottom:11px}

  footer a{color:rgba(242,235,215,.80);text-decoration:none;font-size:.92rem;transition:color .2s ease}

  footer a:hover{color:var(--gold-bright)}

  footer a:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}

  /* center brand column */

  .brand-col{text-align:center}

  .brand-col .crest{width:104px;margin:0 auto 16px}

  .brand-col .name{font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:var(--cream);line-height:1.3}

  .brand-col .frat{font-family:var(--font-serif);font-style:italic;font-size:.92rem;color:rgba(242,235,215,.7);margin-top:4px}

  .brand-col .addr{font-size:.86rem;color:rgba(242,235,215,.66);margin-top:16px;line-height:1.6}

  .social{display:flex;gap:12px;justify-content:center;margin-top:22px}

  .social a{width:40px;height:40px;border:1px solid rgba(242,235,215,.3);display:grid;place-items:center;font-size:.7rem;font-weight:600;letter-spacing:.04em;transition:background .25s,border-color .25s,color .25s}

  .social a:hover{background:var(--gold);border-color:var(--gold);color:var(--crimson-night)}

  /* contact column */

  .contact .line{font-size:.92rem;color:rgba(242,235,215,.8);margin-bottom:12px;line-height:1.5}

  .contact .line b{color:var(--cream);font-weight:600;display:block;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:3px}

  .portal-btn{display:inline-flex;align-items:center;font-family:var(--font-sans);font-weight:600;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;padding:12px 22px;background:var(--crimson);color:var(--cream);margin-top:10px;transition:background .25s,transform .25s}

  .portal-btn:hover{background:var(--crimson-night);color:var(--cream);transform:translateY(-2px)}

  footer .legal{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:24px 28px;font-size:.78rem;color:rgba(242,235,215,.5)}

  @media(max-width:880px){

    footer .cols{grid-template-columns:1fr;gap:44px;text-align:center}

    .contact .line,.contact{text-align:center}

    footer .legal{justify-content:center;text-align:center}

  }

/* ── GLOBAL MOBILE SAFETY NET ───────────────────────────────────────────── */
html, body { overflow-x: hidden; }

/* ── INDEX: Our Chapter two-column grid ──────────────────────────────────── */
.our-chapter-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: start;
}
@media(max-width:900px) {
  .our-chapter-grid { grid-template-columns: 1fr; gap: 2rem; }
}

/* ── INDEX: Image collage bottom row ─────────────────────────────────────── */
.collage-bottom-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .5rem;
  position: relative;
}
@media(max-width:480px) {
  .collage-bottom-row { grid-template-columns: 1fr; }
  .collage-bottom-row img { height: 200px !important; }
}

/* ── PORTAL NAV: mobile wrap ─────────────────────────────────────────────── */
@media(max-width:700px) {
  .portal-nav { flex-wrap: wrap; gap: .75rem; padding: .75rem 1rem; }
  .portal-nav .nav-links { flex-wrap: wrap; gap: .75rem 1.25rem; width: 100%; justify-content: flex-start; }
  .portal-nav .brand-text .chapter-name { font-size: .85rem; }
  .portal-nav .brand-text .frat-name { display: none; }
}

/* ── OUR COMMUNITY: Education cards + stats bar ──────────────────────────── */
@media(max-width:760px) {
  .edu-two-col { grid-template-columns: 1fr !important; }
}
@media(max-width:640px) {
  .edu-stats-bar { grid-template-columns: 1fr 1fr !important; }
}
@media(max-width:380px) {
  .edu-stats-bar { grid-template-columns: 1fr !important; }
  .edu-stats-bar > div { border-right: none !important; border-bottom: 1px solid rgba(198,154,63,.25); }
}

