/*
Theme Name: WCOE Custom
Description: Custom theme for Women Construction Owners & Executives (WCOE). Editable via ACF fields in wp-admin, or directly in these template files.
Version: 3.5.1
Author: WCOE Web Team
Design system sampled from wcoe-dmv.org (colors read directly from screenshot pixels).
*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');

/* ================= DESIGN TOKENS (wcoe-dmv.org colors + Avenir typography) ================= */
:root{
  --red:#E32834;
  --near-black:#241F1E;
  --cream:#F5F2EE;
  --white:#FFFFFF;
  --text-body:#4A4643;
  /* Avenir is a licensed font (not on Google Fonts). If it's installed on the
     visitor's machine, or a licensed web-font version is later added via
     @font-face, it will be used automatically. Poppins is the free fallback
     so the site never drops to a generic system font. */
  --font-display:'Avenir Next', 'Avenir', 'Poppins', Arial, sans-serif;
  --font-body:'Avenir Next', 'Avenir', 'Poppins', Arial, sans-serif;
}

*{box-sizing:border-box;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--text-body);
  background:var(--white);
  line-height:1.6;
  font-size:15px;
}
h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:700;
  letter-spacing:.01em;
  color:var(--near-black);
  line-height:1.1;
  margin:0 0 16px;
}
a{color:var(--red);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;display:block;}
.container{max-width:1200px;margin:0 auto;padding:0 24px;}

/* eyebrow label, e.g. "01 / — THE REGION" */
.eyebrow{
  display:block;font-family:var(--font-body);font-weight:700;font-size:12px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin-bottom:10px;
}
.eyebrow::before{content:"";display:inline-block;width:22px;height:2px;background:var(--red);
  margin-right:8px;vertical-align:middle;}

.highlight{color:var(--red);}

.rule{width:60px;height:3px;background:var(--red);border:none;margin:20px 0 0;}

/* ================= HEADER / NAV ================= */
.site-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 24px;border-bottom:1px solid #EDEAE6;background:var(--white);
  position:relative;z-index:9999;overflow:visible;
}
.site-header nav,.site-header nav ul,.site-header nav li{overflow:visible;}
.site-header .logo img,.site-header .custom-logo{max-height:48px;height:48px;width:auto;}
.site-header .logo{font-family:var(--font-display);color:var(--near-black);font-size:20px;}
.site-header nav ul{list-style:none;display:flex;gap:26px;margin:0;padding:0;}
.site-header nav a{color:var(--near-black);font-weight:600;font-size:13px;letter-spacing:.03em;text-transform:uppercase;}
.site-header nav a:hover{color:var(--red);text-decoration:none;}
.site-header nav li{position:relative;}
/* Robust dropdowns: works for About, Advocacy, Events, Membership, and any future parent item. */
.site-header nav > ul > li.menu-item-has-children{padding-bottom:10px;margin-bottom:-10px;}
.site-header nav .sub-menu{
	display:flex!important;
	visibility:hidden;
	opacity:0;
	pointer-events:none;
	position:absolute;
	top:100%;
	left:0;
	flex-direction:column;
	gap:0;
	background:var(--white);
	border:1px solid #eee;
	box-shadow:0 12px 28px rgba(0,0,0,.10);
	padding:8px 0;
	min-width:240px;
	z-index:100000;
	margin:0;
	transform:translateY(6px);
	transition:opacity .15s ease, transform .15s ease, visibility .15s ease;
}
.site-header nav li:hover > .sub-menu,
.site-header nav li:focus-within > .sub-menu,
.site-header nav li.wcoe-open > .sub-menu{
	visibility:visible!important;
	opacity:1!important;
	pointer-events:auto!important;
	transform:translateY(0);
}
.site-header nav .sub-menu li{width:100%;}
.site-header nav .sub-menu a{
	display:block;
	padding:10px 18px;
	white-space:nowrap;
	font-size:12px;
}
.site-header .socials{display:flex;gap:14px;align-items:center;}
.site-header .socials a{color:var(--near-black);font-size:13px;}
.site-header .header-cta{background:var(--red);color:var(--white)!important;padding:10px 20px;
  border-radius:3px;font-weight:700;font-size:12px;letter-spacing:.04em;text-transform:uppercase;}

/* ================= HERO ================= */
.hero{padding:70px 0 60px;}
.hero .hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;}
@media(max-width:860px){.hero .hero-grid{grid-template-columns:1fr;}}
.hero h1{font-size:44px;margin:6px 0 18px;}
.hero p.lede{font-size:15px;max-width:520px;color:var(--text-body);margin:0 0 26px;}
.hero .rule{margin-top:26px;}
.hero img{border-radius:2px;}

.btn-row{display:flex;gap:14px;flex-wrap:wrap;}
.btn{
  display:inline-block;padding:13px 26px;border-radius:3px;font-weight:700;font-size:12px;
  letter-spacing:.05em;text-transform:uppercase;border:2px solid var(--red);
}
.btn-primary{background:var(--red);color:var(--white)!important;}
.btn-secondary{background:transparent;color:var(--near-black)!important;border-color:var(--near-black);}
.btn-primary:hover, .btn-secondary:hover{opacity:.85;text-decoration:none;}

/* ================= SECTION GENERIC ================= */
.section{padding:70px 0;}
.section.alt{background:var(--cream);}
.section h2{font-size:28px;margin:0 0 16px;}
.section p.lede{max-width:560px;color:var(--text-body);font-size:14px;}

/* two column */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
@media(max-width:800px){.two-col{grid-template-columns:1fr;}}

/* accordion (Why Join Us) */
.why-join-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
@media(max-width:800px){.why-join-grid{grid-template-columns:1fr;}}
.why-join-grid img{width:100%;border-radius:6px;display:block;}
.accordion-item{border-bottom:1px solid #E5E1DB;}
.accordion-item summary{padding:18px 4px;font-weight:700;cursor:pointer;color:var(--near-black);
  list-style:none;position:relative;text-transform:uppercase;font-size:14px;letter-spacing:.02em;}
.accordion-item summary::-webkit-details-marker{display:none;}
.accordion-item summary::after{content:"+";position:absolute;right:4px;color:var(--red);font-size:20px;}
.accordion-item[open] summary::after{content:"\2212";}
.accordion-item p{padding:0 4px 18px;margin:0;color:var(--text-body);font-size:14px;}

/* feature pillar / numbered feature list (Connect · Grow · Advocate · Engage style) */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #E5E1DB;align-items:stretch;}
@media(max-width:800px){.pillars{grid-template-columns:1fr;}}
.pillar-card{padding:26px 22px 26px 22px;border-right:1px solid #E5E1DB;display:flex;flex-direction:column;}
.pillar-card:last-child{border-right:none;}
@media(max-width:800px){.pillar-card{border-right:none;border-bottom:1px solid #E5E1DB;}}
.pillar-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;display:block;margin-bottom:18px;}
.pillar-card h3{font-size:16px;margin:0 0 10px;}
.pillar-card p{font-size:13px;margin:0 0 14px;color:var(--text-body);}
.pillar-card a.pillar-learn-more{display:block;width:fit-content;font-size:12px;font-weight:700;text-transform:uppercase;
  letter-spacing:.03em;color:var(--red);text-decoration:none;margin:auto auto 0;}
.pillar-card a.pillar-learn-more:hover{text-decoration:underline;}

/* logo grid */
.logo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;align-items:center;}
@media(max-width:700px){.logo-grid{grid-template-columns:repeat(2,1fr);}}
.logo-grid img{max-height:60px;width:auto;margin:0 auto;object-fit:contain;filter:grayscale(15%);}

/* card list — sponsors / spotlights / people / events */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
@media(max-width:860px){.card-grid{grid-template-columns:1fr;}}
.info-card{border:1px solid #E5E1DB;padding:22px;}
.info-card .tag{color:var(--red);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;display:block;}
.info-card h3{font-size:16px;margin:0 0 6px;}
.info-card .meta{font-size:12px;color:#8A8580;margin-bottom:12px;}
.info-card p{font-size:13px;color:var(--text-body);margin:0 0 14px;}
.info-card a{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;}

.people-row{display:grid;grid-template-columns:140px 1fr;gap:24px;padding:26px 0;border-bottom:1px solid #E5E1DB;align-items:start;}
.people-row img{border-radius:2px;}
.people-row h3{font-size:15px;margin:0 0 4px;}
.people-row .role{color:var(--red);font-size:12px;font-weight:700;text-transform:uppercase;margin-bottom:2px;}
.people-row .org{font-size:12px;color:#8A8580;margin-bottom:10px;}
.people-row p{font-size:13px;color:var(--text-body);margin:0;}

/* dark statement / stat band (full-bleed near-black) */
.dark-band{background:var(--near-black);color:var(--white);padding:80px 0;}
.dark-band .eyebrow{color:var(--red);}
.dark-band h2{color:var(--white);font-size:32px;max-width:760px;}
.dark-band .rule{margin:24px 0 40px;}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
@media(max-width:700px){.stat-row{grid-template-columns:1fr;}}
.stat-row .num{font-family:var(--font-display);font-size:38px;color:var(--white);display:block;margin-bottom:6px;}
.stat-row .label{font-size:12px;color:#C9C4BE;text-transform:uppercase;letter-spacing:.03em;}

/* CTA band (pre-footer) */
.cta-band{background:var(--near-black);color:var(--white);padding:70px 0;border-top:3px solid var(--red);text-align:left;}
.cta-band h2{color:var(--white);font-size:26px;}
.cta-band p{color:#C9C4BE;font-size:14px;max-width:520px;margin:0 0 24px;}
.cta-band .btn-secondary{border-color:var(--white);color:var(--white)!important;}

/* ================= FOOTER ================= */
.site-footer{background:var(--near-black);color:#C9C4BE;padding:50px 0 24px;font-size:13px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;padding-bottom:32px;}
@media(max-width:800px){.footer-grid{grid-template-columns:1fr 1fr;}}
.footer-grid h4{color:var(--white);font-size:12px;letter-spacing:.05em;margin-bottom:14px;font-family:var(--font-body);text-transform:uppercase;}
.footer-grid ul{list-style:none;margin:0;padding:0;}
.footer-grid li{margin-bottom:8px;}
.footer-grid a{color:#C9C4BE;}
.footer-grid a:hover{color:var(--red);}
.site-footer .socials{display:flex;gap:14px;margin-top:16px;}
.site-footer .socials a{color:#C9C4BE;}
.footer-bottom{border-top:1px solid #3A3432;padding-top:20px;display:flex;justify-content:space-between;
  flex-wrap:wrap;gap:10px;font-size:11px;color:#8A8580;}
.footer-bottom a{color:#8A8580;}

/* ================= SCROLL-REVEAL ANIMATION ================= */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease;}
.reveal.in-view{opacity:1;transform:translateY(0);}
.reveal-stagger > *{opacity:0;transform:translateY(20px);transition:opacity .6s ease, transform .6s ease;}
.reveal-stagger.in-view > *{opacity:1;transform:translateY(0);}
.reveal-stagger.in-view > *:nth-child(1){transition-delay:.05s;}
.reveal-stagger.in-view > *:nth-child(2){transition-delay:.15s;}
.reveal-stagger.in-view > *:nth-child(3){transition-delay:.25s;}
.reveal-stagger.in-view > *:nth-child(4){transition-delay:.35s;}
.reveal-stagger.in-view > *:nth-child(5){transition-delay:.45s;}
@media(prefers-reduced-motion:reduce){.reveal,.reveal-stagger > *{opacity:1;transform:none;transition:none;}}

/* ================= PHOTO GALLERY STRIP ================= */
.gallery-strip-wrap{overflow:hidden;padding:0 0 8px;}
.gallery-strip{display:flex;gap:10px;width:max-content;animation:wcoe-marquee 40s linear infinite;}
.gallery-strip-wrap:hover .gallery-strip{animation-play-state:paused;}
@keyframes wcoe-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.gallery-strip figure{flex:0 0 auto;width:200px;height:140px;margin:0;scroll-snap-align:start;
  border-radius:2px;overflow:hidden;cursor:pointer;position:relative;}
.gallery-strip img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .4s ease;}
.gallery-strip figure:hover img{transform:scale(1.06);}

/* lightbox */
.wcoe-lightbox{border:none;padding:0;background:rgba(20,17,16,.92);max-width:none;max-height:none;
  width:100vw;height:100vh;}
.wcoe-lightbox::backdrop{background:rgba(20,17,16,.92);}
.wcoe-lightbox img{max-width:90vw;max-height:85vh;margin:auto;display:block;}
.wcoe-lightbox .lb-close{position:absolute;top:20px;right:28px;color:#fff;font-size:28px;
  background:none;border:none;cursor:pointer;line-height:1;}

/* ================= SCHEDULE BAND ================= */
.schedule-band{background:var(--red);color:var(--white);padding:60px 0;}
.schedule-band h2{color:var(--white);font-size:24px;text-align:center;margin-bottom:34px;}
.schedule-cols{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:760px;margin:0 auto;}
@media(max-width:700px){.schedule-cols{grid-template-columns:1fr;}}
.schedule-row{display:flex;gap:16px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.25);}
.schedule-row .time{font-family:var(--font-display);font-size:14px;flex:0 0 68px;}
.schedule-row .title{font-size:13px;}

/* ================= OUR MEMBERS (dark overlay section) ================= */
.members-section{position:relative;padding:90px 0;color:var(--white);background:var(--near-black);}
.members-section .container{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
@media(max-width:800px){.members-section .container{grid-template-columns:1fr;}}
.members-photo{width:100%;border-radius:6px;display:block;}
.members-section .eyebrow{color:var(--red);}
.members-section h2{color:var(--white);font-size:26px;}
.members-section p{color:#D8D4CE;font-size:14px;}
.members-section img.members-logo{max-width:220px;margin:0 auto;}

/* ================= VIDEO HIGHLIGHT ================= */
.video-section{padding:70px 0;}
.video-frame{position:relative;max-width:900px;margin:34px auto 0;border-radius:4px;overflow:hidden;
  aspect-ratio:16/9;background:var(--near-black);}
.video-frame iframe, .video-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0;}
.video-frame .play-badge{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(20,17,16,.25);}
.video-frame .play-badge span{width:64px;height:64px;border-radius:50%;background:var(--red);
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;}

/* ================= EVENT TICKETING BAND ================= */
.ticket-band{background:var(--red);color:var(--white);padding:60px 0;text-align:center;}
.ticket-band .event-name{font-family:var(--font-display);font-size:26px;text-transform:uppercase;margin-bottom:8px;}
.ticket-band .event-meta{font-size:13px;margin-bottom:22px;opacity:.9;}
.ticket-band .btn-primary{background:var(--white);color:var(--red)!important;border-color:var(--white);}

/* card hover lift */
.pillar-card, .info-card{transition:transform .3s ease, box-shadow .3s ease;}
.pillar-card:hover, .info-card:hover{transform:translateY(-4px);}
.btn{transition:transform .2s ease, opacity .2s ease;}
.btn:hover{transform:translateY(-2px);}

/* ================= ABOUT PAGE ================= */
.about-hero{position:relative;min-height:480px;display:flex;align-items:flex-end;
  background:var(--near-black) center 30%/cover no-repeat;padding:60px 0;}
@media(min-width:1200px){.about-hero{min-height:560px;}}
.about-hero-overlay{position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(20,17,16,.82) 0%, rgba(20,17,16,.55) 55%, rgba(20,17,16,.15) 100%);}
.about-hero-inner{position:relative;z-index:1;max-width:640px;}
.about-hero-inner h1{color:var(--white);font-family:var(--font-display);font-size:34px;margin:0 0 14px;}
.about-hero-inner p{color:rgba(255,255,255,.9);font-size:13px;line-height:1.8;margin:0;}
@media(max-width:700px){.about-hero-inner h1{font-size:26px;}}

.president-row{display:grid;grid-template-columns:280px 1fr;gap:44px;padding:40px 0;align-items:start;}
@media(max-width:700px){.president-row{grid-template-columns:1fr;}}
.president-photo-caption{margin-top:10px;}
.president-photo-caption .cap-name{display:block;font-weight:700;color:var(--red);font-size:16px;line-height:1.3;}
.president-photo-caption .cap-title{display:block;font-weight:700;color:var(--near-black);font-size:12px;line-height:1.4;margin-top:2px;}
.president-row img{border-radius:2px;width:100%;height:auto;}
.president-row h2{font-size:20px;color:var(--red);text-transform:none;font-family:var(--font-body);font-weight:700;margin-bottom:4px;display:flex;align-items:center;gap:10px;}
.statement-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;
  background:var(--red);color:var(--white);font-size:12px;flex:none;}
.president-row .role{font-size:12px;color:#8A8580;text-transform:uppercase;margin-bottom:16px;display:block;}
.president-row .statement p{font-size:13px;color:var(--text-body);margin:0 0 14px;line-height:1.8;}

.purpose-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;max-width:1100px;margin:34px auto 0;}
@media(max-width:900px){.purpose-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:500px){.purpose-grid{grid-template-columns:1fr;}}
.purpose-card{position:relative;background:var(--white);border:1px solid #EDEAE6;border-radius:4px;
  padding:34px 18px 22px;text-align:center;box-shadow:0 6px 18px rgba(0,0,0,.04);}
.purpose-num{position:absolute;top:-12px;left:-8px;background:var(--red);color:var(--white);
  font-family:var(--font-display);font-size:12px;font-weight:700;padding:5px 10px;border-radius:2px;}
.purpose-icon{display:flex;align-items:center;justify-content:center;margin:6px 0 16px;}
.purpose-card p{font-size:12px;line-height:1.7;color:var(--text-body);margin:0 0 16px;min-height:66px;}
.purpose-rule{display:block;width:28px;height:3px;background:var(--red);margin:0 auto;}

.values-stack{display:flex;flex-direction:column;}
.value-band{padding:34px 0;}
.value-band.dark{background:var(--near-black);}
.value-band.red{background:var(--red);}
.value-band-inner{display:flex;align-items:flex-start;gap:22px;}
.value-icon-circle{flex:none;width:52px;height:52px;border-radius:50%;border:1.5px solid rgba(255,255,255,.6);
  display:flex;align-items:center;justify-content:center;}
.value-band h3{font-size:15px;color:var(--white);text-transform:uppercase;margin:6px 0 8px;letter-spacing:.03em;}
.value-band p{font-size:12.5px;line-height:1.8;color:rgba(255,255,255,.88);margin:0;}

/* ================= OFFICERS PAGE ================= */
.photo-hero{position:relative;min-height:320px;display:flex;align-items:center;justify-content:center;
  text-align:center;color:var(--white);background:var(--near-black) center/cover no-repeat;}
.photo-hero::after{content:"";position:absolute;inset:0;background:rgba(20,17,16,.5);}
.photo-hero .inner{position:relative;z-index:1;}
.photo-hero h1{color:var(--white);font-size:26px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;}
.photo-hero .rule{margin:0 auto;}

.statement-box{background:var(--cream);border-radius:4px;max-width:820px;margin:-60px auto 0;position:relative;z-index:2;
  padding:34px 40px;}
.statement-box p{color:var(--red);font-size:12px;line-height:1.7;margin:0 0 14px;text-align:center;}
.statement-box p:last-child{margin-bottom:0;}

.officer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:60px;}
@media(max-width:800px){.officer-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.officer-grid{grid-template-columns:1fr;}}
.officer-card{border:1px solid #E5E1DB;border-radius:8px;overflow:hidden;background:var(--white);}
.officer-card img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;display:block;}
.officer-card .ocard-body{padding:16px;}
.officer-card .otitle{font-size:11px;color:#8A8580;line-height:1.4;display:block;}
.officer-card .oorg{font-size:11px;color:#8A8580;margin-bottom:8px;display:block;}
.officer-card .oname{font-size:14px;font-weight:700;color:var(--near-black);margin-bottom:2px;}
.officer-card .orole{font-size:11px;color:var(--red);font-weight:700;text-transform:uppercase;margin-bottom:10px;display:block;}
.officer-card .obio-clamp{font-size:11.5px;color:var(--text-body);line-height:1.6;margin:0 0 10px;
  display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;}
.officer-card .oreadmore{border:none;background:none;padding:0;color:var(--red);font-size:11px;font-weight:700;
  text-transform:uppercase;cursor:pointer;letter-spacing:.02em;}
.officer-card .osocials{display:flex;gap:8px;margin-top:14px;border-top:1px solid #F0EEEA;padding-top:12px;}
.officer-card .osocials a{width:28px;height:28px;border-radius:50%;background:var(--cream);
  display:flex;align-items:center;justify-content:center;color:var(--near-black);font-size:12px;}
.officer-card .osocials a:hover{background:var(--red);color:var(--white);}

/* slide-in bio panel */
.officer-panel-wrap{position:relative;}
.officer-panel{position:fixed;top:0;right:0;width:420px;max-width:90vw;height:100%;background:var(--white);
  box-shadow:-8px 0 30px rgba(0,0,0,.18);transform:translateX(105%);transition:transform .35s ease;
  padding:28px;overflow-y:auto;z-index:50;}
.officer-panel.open{transform:translateX(0);}
.officer-panel .close-btn{border:none;background:var(--cream);width:30px;height:30px;border-radius:50%;
  font-size:16px;cursor:pointer;float:right;}
.officer-panel-backdrop{position:fixed;inset:0;background:rgba(20,17,16,.4);opacity:0;pointer-events:none;
  transition:opacity .35s ease;z-index:49;}
.officer-panel-backdrop.open{opacity:1;pointer-events:auto;}
.officer-panel img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:6px;margin-bottom:18px;display:block;}
.officer-panel h3{font-size:19px;margin-bottom:4px;}
.officer-panel .prole{color:var(--red);font-weight:700;font-size:12px;text-transform:uppercase;margin-bottom:2px;display:block;}
.officer-panel .porg{color:#8A8580;font-size:12px;margin-bottom:18px;display:block;}
.officer-panel p.pbio{font-size:13px;line-height:1.75;color:var(--text-body);}
.officer-panel .osocials{display:flex;gap:8px;margin-top:20px;}
.officer-panel .osocials a{width:32px;height:32px;border-radius:50%;background:var(--cream);
  display:flex;align-items:center;justify-content:center;color:var(--near-black);font-size:13px;}

/* ================= BOARD MEMBERS PAGE (animated rows, photo always right) ================= */
.board-header{background:var(--cream);padding:50px 0;text-align:center;}
.board-header h1{font-size:22px;}

.board-row{position:relative;display:grid;grid-template-columns:140px 1fr;gap:0;
  border-bottom:1px solid #EDEAE6;padding:34px 0;overflow:hidden;}
.board-row .bg-letter{position:absolute;left:100px;top:-40px;font-size:180px;font-weight:700;
  color:var(--cream);line-height:1;z-index:0;user-select:none;opacity:0;transform:translateY(24px);
  transition:opacity .6s ease, transform .6s ease;pointer-events:none;}
.board-row .row-photo{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-start;
  opacity:0;transform:scale(.75);transition:opacity .5s ease, transform .5s ease;}
.board-row .row-text{position:relative;z-index:1;padding-left:24px;opacity:0;transform:translateX(28px);
  transition:opacity .55s ease, transform .55s ease;}
.board-row.in-view .bg-letter{opacity:1;transform:translateY(0);}
.board-row.in-view .row-text{opacity:1;transform:translateX(0);}
.board-row.in-view .row-photo{opacity:1;transform:scale(1);}
.board-row .row-photo img{width:110px;height:110px;border-radius:50%;object-fit:cover;object-position:center top;
  border:3px solid var(--white);box-shadow:0 2px 10px rgba(0,0,0,.1);}
.board-row .bm-name{font-size:17px;font-weight:700;color:var(--near-black);margin-bottom:2px;}
.board-row .bm-role{font-size:11px;color:var(--red);font-weight:700;text-transform:uppercase;margin-bottom:10px;}
.board-row .bm-bio{font-size:12px;color:var(--text-body);line-height:1.65;max-width:480px;margin:0 0 12px;}
.board-row .bm-readmore{border:none;background:none;padding:0;color:var(--red);font-size:10px;font-weight:700;
  text-transform:uppercase;cursor:pointer;border-bottom:1px solid var(--red);}
.board-row .bm-socials{display:flex;gap:8px;}
.board-row .bm-socials a{width:22px;height:22px;border-radius:50%;background:var(--cream);
  display:flex;align-items:center;justify-content:center;color:var(--near-black);font-size:9px;}
.board-row .bm-socials a:hover{background:var(--red);color:var(--white);}
.bm-social-disabled{width:22px;height:22px;border-radius:50%;background:#F0EEEA;
  display:flex;align-items:center;justify-content:center;color:#C9C1B6;font-size:9px;cursor:default;}
.officer-panel .bm-social-disabled{width:32px;height:32px;font-size:11px;}
@media(max-width:700px){
  .board-row{grid-template-columns:1fr;}
  .board-row .row-photo{margin-bottom:14px;}
  .board-row .bg-letter{left:20px;}
}

/* ================= COALITION PARTNERS PAGE ================= */
.coalition-banner{background:var(--red);padding:60px 0;text-align:center;color:var(--white);}
.coalition-banner h1{color:var(--white);font-size:24px;margin-bottom:14px;}
.coalition-banner p{max-width:640px;margin:0 auto;font-size:13px;color:rgba(255,255,255,.92);line-height:1.7;}

.coalition-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 32px;align-items:center;margin-top:20px;}
@media(max-width:700px){.coalition-grid{grid-template-columns:repeat(2,1fr);}}
.coalition-grid a{display:block;opacity:0;transform:translateY(16px);transition:opacity .5s ease, transform .5s ease;}
.coalition-grid.in-view a{opacity:1;transform:translateY(0);}
.coalition-grid.in-view a:nth-child(1){transition-delay:.05s;}
.coalition-grid.in-view a:nth-child(2){transition-delay:.12s;}
.coalition-grid.in-view a:nth-child(3){transition-delay:.19s;}
.coalition-grid.in-view a:nth-child(4){transition-delay:.26s;}
.coalition-grid.in-view a:nth-child(5){transition-delay:.33s;}
.coalition-grid.in-view a:nth-child(6){transition-delay:.4s;}
.coalition-grid.in-view a:nth-child(7){transition-delay:.47s;}
.coalition-grid img{max-height:64px;width:auto;margin:0 auto;object-fit:contain;filter:grayscale(10%);
  transition:transform .3s ease, filter .3s ease;}
.coalition-grid a:hover img{transform:scale(1.06);filter:grayscale(0%);}

/* ================= HISTORY PAGE ================= */
.history-hero{position:relative;min-height:280px;overflow:hidden;display:flex;align-items:center;}
.history-hero .bgphoto{position:absolute;inset:-14px;background:var(--near-black) center/cover no-repeat;
  transform:scale(1.1) translate(0,0);transition:transform 9s ease-out;filter:saturate(.6);}
.history-hero .bgphoto::after{content:"";position:absolute;inset:0;
  background:linear-gradient(115deg, rgba(227,40,52,.55), rgba(20,17,16,.75));}
.history-hero.play .bgphoto{transform:scale(1.22) translate(-2%,-2%);}
.history-hero .inner{position:relative;z-index:1;padding:44px 0;width:100%;}
.history-hero .eyebrow-wrap{overflow:hidden;display:inline-block;margin-bottom:10px;}
.history-hero .eyebrow-inner{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--white);display:block;transform:translateY(100%);transition:transform .5s cubic-bezier(.2,.8,.2,1);}
.history-hero.play .eyebrow-inner{transform:translateY(0);}
.history-hero .heading-wrap{position:relative;overflow:hidden;margin-bottom:18px;height:44px;}
.history-hero h1{font-size:30px;color:var(--white);margin:0;font-weight:700;position:absolute;top:0;left:0;
  transform:translateY(100%);transition:transform .6s cubic-bezier(.2,.8,.2,1) .2s;}
.history-hero.play h1{transform:translateY(0);}
.history-hero .curtain{position:absolute;inset:0;background:var(--red);transform:translateX(0);
  transition:transform .5s cubic-bezier(.6,0,.2,1) .85s;}
.history-hero.play .curtain{transform:translateX(101%);}
.history-hero .intro-cols{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:760px;}
@media(max-width:700px){.history-hero .intro-cols{grid-template-columns:1fr;}}
.history-hero .intro-cols p{font-size:13px;line-height:1.8;color:rgba(255,255,255,.92);margin:0;
  opacity:0;transition:opacity .5s ease;}
.history-hero.play .intro-cols p:nth-child(1){transition-delay:1.25s;opacity:1;}
.history-hero.play .intro-cols p:nth-child(2){transition-delay:1.45s;opacity:1;}
.history-hero .hr-underline{width:0;height:2px;background:var(--red);margin-top:24px;transition:width .6s ease 1.7s;}
.history-hero.play .hr-underline{width:64px;}

.history-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
@media(max-width:800px){.history-grid{grid-template-columns:1fr;}}
.history-box{padding:50px 40px;}
.history-box:nth-child(odd){background:var(--white);}
.history-box:nth-child(even){background:var(--cream);}
.history-box h2{color:var(--red);font-size:18px;text-transform:uppercase;margin-bottom:16px;}
.history-box p{font-size:12px;color:var(--text-body);line-height:1.7;margin:0 0 12px;}
.history-box ul{margin:0;padding-left:18px;}
.history-box li{font-size:12px;color:var(--text-body);line-height:1.7;margin-bottom:8px;}
.history-box .pres-row{display:flex;gap:12px;font-size:12px;color:var(--text-body);padding:5px 0;border-bottom:1px solid rgba(0,0,0,.06);}
.history-box .pres-row .yrs{flex:0 0 90px;color:var(--red);font-weight:700;font-size:11px;}

/* ================= ADVOCACY / WASHINGTON UPDATE PAGE ================= */
.adv-banner{background:var(--red);padding:60px 0;text-align:center;color:var(--white);}
.adv-banner h1{color:var(--white);font-size:24px;margin-bottom:14px;}
.adv-banner p{max-width:700px;margin:0 auto;font-size:12.5px;color:rgba(255,255,255,.92);line-height:1.7;text-align:left;}

.adv-section-label{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--red);
  display:block;margin-bottom:16px;}

.issue-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media(max-width:800px){.issue-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.issue-grid{grid-template-columns:1fr;}}
.issue-card{position:relative;background:var(--white);border:1px solid #E5E1DB;border-left:3px solid var(--red);
  border-radius:4px;padding:18px 16px 16px;overflow:hidden;opacity:0;transform:translateY(16px);
  transition:opacity .5s ease, transform .5s ease, box-shadow .25s ease, translate .25s ease;}
.issue-card::after{content:"";position:absolute;top:0;right:0;width:0;height:0;
  border-style:solid;border-width:0 16px 16px 0;border-color:transparent var(--cream) transparent transparent;}
.issue-card:hover{box-shadow:0 6px 18px rgba(0,0,0,.08);transform:translateY(-3px);}
.issue-card.in-view{opacity:1;transform:translateY(0);}
.issue-card .it-title{font-size:12px;font-weight:700;color:var(--near-black);line-height:1.4;margin-bottom:16px;min-height:44px;}
.issue-card .it-link{font-size:10px;color:var(--red);font-weight:700;text-transform:uppercase;}

.ledger{margin-top:16px;}
.ledger-header{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:2px solid var(--near-black);}
.ledger-header span{font-size:10px;font-weight:700;text-transform:uppercase;color:#8A8580;}
.ledger-header .col-year{flex:0 0 70px;}
.ledger-header .col-title{flex:1;}
.ledger-header .col-doc{flex:0 0 90px;text-align:right;}
.ledger-row{display:flex;align-items:center;gap:10px;padding:12px 0;padding-left:12px;
  border-left:3px solid var(--near-black);opacity:0;transform:translateY(10px);
  transition:opacity .45s ease, transform .45s ease, background .2s ease;}
.ledger-row.in-view{opacity:1;transform:translateY(0);}
.ledger-row:nth-child(odd){background:var(--cream);}
.ledger-row:hover{background:#EFEAE0;}
.ledger-row .col-year{flex:0 0 70px;font-size:11px;color:var(--red);font-weight:700;}
.ledger-row .col-year.dash{color:#B4B0A6;font-weight:400;}
.ledger-row .col-title{flex:1;font-size:12px;font-weight:600;color:var(--near-black);}
.ledger-row .col-doc{flex:0 0 90px;text-align:right;padding-right:12px;}
.ledger-row .col-doc a{font-size:10px;color:var(--red);font-weight:700;text-transform:uppercase;}

/* ================= EVENT FLYER PAGE (simple, reusable) ================= */
.flyer-wrap{padding:60px 24px;text-align:center;}
.flyer-link{display:inline-block;max-width:420px;width:100%;border-radius:4px;overflow:hidden;
  box-shadow:0 6px 24px rgba(0,0,0,.08);opacity:0;transform:translateY(16px);
  transition:opacity .6s ease, transform .6s ease, box-shadow .25s ease;}
.flyer-link.in-view{opacity:1;transform:translateY(0);}
.flyer-link:hover{box-shadow:0 10px 30px rgba(0,0,0,.14);}
.flyer-link img{width:100%;display:block;transition:transform .35s ease;}
.flyer-link:hover img{transform:scale(1.02);}
.flyer-caption{font-size:11px;color:#8A8580;margin-top:14px;}

/* ================= LEADERSHIP SUMMIT PAGE ================= */
.summit-hero-img{width:100%;max-height:420px;object-fit:cover;}

.panelist-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 24px;margin-top:20px;}
@media(max-width:700px){.panelist-grid{grid-template-columns:1fr;}}
.panelist-item{opacity:0;transform:translateY(16px);transition:opacity .5s ease, transform .5s ease;}
.panelist-item.in-view{opacity:1;transform:translateY(0);}
.panelist-item .pv-title{font-size:12px;font-weight:600;color:var(--near-black);text-align:center;
  margin-bottom:10px;line-height:1.4;min-height:34px;}

.exec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin-top:20px;}
.exec-item{text-align:center;}
.exec-item .exec-name{font-size:12px;font-weight:700;color:var(--near-black);margin-top:10px;}
.exec-coming-soon{aspect-ratio:16/9;background:var(--cream);border-radius:4px;display:flex;
  align-items:center;justify-content:center;color:var(--red);font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;}

.summit-graphic{max-width:520px;margin:24px auto 0;display:block;border-radius:4px;
  box-shadow:0 4px 20px rgba(0,0,0,.06);}

.action-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:20px;}
@media(max-width:700px){.action-cards{grid-template-columns:1fr;}}
.action-card{border:1px solid #E5E1DB;border-radius:6px;padding:28px 26px;position:relative;}
.action-card .tag{position:absolute;top:-11px;left:24px;background:var(--red);color:var(--white);
  font-size:9px;font-weight:700;text-transform:uppercase;padding:4px 10px;border-radius:3px;}
.action-card h3{font-size:15px;color:var(--near-black);margin-bottom:14px;}
.action-card .price-line{display:flex;justify-content:space-between;font-size:12px;
  color:var(--text-body);padding:6px 0;border-bottom:1px solid #F0EEEA;}
.action-card .price-line span:last-child{color:var(--red);font-weight:700;}
.action-card p{font-size:12px;color:var(--text-body);line-height:1.6;}

/* ================= MEMBERSHIP TIERS PAGE ================= */
.mem-banner{background:var(--red);padding:60px 0;text-align:center;color:var(--white);}
.mem-banner h1{color:var(--white);font-size:24px;margin-bottom:16px;}
.mem-banner p{max-width:760px;margin:0 auto 10px;font-size:12.5px;color:rgba(255,255,255,.92);line-height:1.7;}

.renew-band{text-align:center;padding:34px 0;}
.renew-band p{font-size:12px;color:var(--text-body);margin:0 0 16px;}

.tier-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:30px;}
@media(max-width:700px){.tier-grid{grid-template-columns:1fr;}}
.tier-card{background:var(--white);border:1px solid #E5E1DB;border-radius:10px;overflow:hidden;
  opacity:0;transform:translateY(16px);transition:opacity .5s ease, transform .5s ease;}
.tier-card.in-view{opacity:1;transform:translateY(0);}
.tier-card .tier-head{background:var(--near-black);padding:16px 20px;}
.tier-card:nth-child(2n) .tier-head{background:var(--red);}
.tier-card .tier-head p{color:var(--white);font-size:13px;font-weight:700;margin:0;letter-spacing:.01em;}
.tier-card .tier-body{padding:20px;}
.tier-card .price-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px;}
.tier-card .price{font-size:24px;font-weight:700;color:var(--red);}
.tier-card .price small{font-size:12px;font-weight:500;color:#8A8580;}
.tier-card .join-btn{border:1px solid var(--red);color:var(--red);background:transparent;
  font-size:11px;font-weight:700;padding:7px 16px;border-radius:5px;text-transform:uppercase;}
.tier-card .tier-desc{font-size:12.5px;color:var(--text-body);line-height:1.6;margin:0 0 12px;}
.tier-card .tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;}
.tier-card .tag-pill{font-size:10.5px;background:var(--cream);border-radius:20px;padding:4px 10px;color:var(--text-body);}
.tier-card .tier-footer{font-size:11px;color:#8A8580;border-top:1px solid #F0EEEA;padding-top:10px;}

.chapters-band{text-align:center;padding:20px 0 60px;}
.chapters-band h2{color:var(--red);font-size:14px;text-transform:uppercase;margin-bottom:14px;}
.chapters-band .body{max-width:640px;margin:0 auto 30px;font-size:12px;color:var(--text-body);line-height:1.7;}
.chapters-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:640px;margin:0 auto;}
@media(max-width:600px){.chapters-row{grid-template-columns:1fr;}}
.chapter-card{text-align:center;}
.chapter-card .cname{font-size:12px;font-weight:700;color:var(--near-black);text-transform:uppercase;
  letter-spacing:.03em;margin-bottom:6px;}
.chapter-card .cprice{font-size:12px;color:var(--red);font-weight:700;margin-bottom:14px;}
.chapter-card a.btn{padding:9px 20px;font-size:10.5px;}

/* ================= CORPORATE ALLIANCE PARTNERS (MEMBERSHIP) PAGE ================= */
.cap-banner{background:var(--red);padding:60px 0;text-align:center;color:var(--white);}
.cap-banner h1{color:var(--white);font-size:24px;margin-bottom:16px;}
.cap-banner p{max-width:820px;margin:0 auto 10px;font-size:12px;color:rgba(255,255,255,.92);line-height:1.7;text-align:left;}

.cap-ladder{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:30px;align-items:stretch;}
@media(max-width:700px){.cap-ladder{grid-template-columns:1fr;}}
.cap-card{border:1px solid #E5E1DB;border-radius:8px;padding:26px 22px;opacity:0;transform:translateY(18px);
  transition:opacity .5s ease, transform .5s ease;display:flex;flex-direction:column;}
.cap-card.in-view{opacity:1;transform:translateY(0);}
.cap-card:nth-child(1){background:var(--white);}
.cap-card:nth-child(2){background:var(--cream);}
.cap-card:nth-child(3){background:#F0DCDF;}
.cap-card:nth-child(4){background:var(--near-black);}
.cap-card:nth-child(4) .cap-title,.cap-card:nth-child(4) .cap-price{color:var(--white);}
.cap-card:nth-child(4) .cap-bullets li,.cap-card:nth-child(4) .cap-includes{color:#D8D4CE;}
.cap-title{font-size:13px;font-weight:700;color:var(--near-black);text-transform:uppercase;letter-spacing:.02em;margin-bottom:4px;}
.cap-price{font-size:20px;font-weight:700;color:var(--red);margin-bottom:14px;display:block;}
.cap-includes{font-size:10.5px;font-style:italic;color:var(--red);margin-bottom:10px;
  padding-bottom:10px;border-bottom:1px dashed rgba(227,40,52,.35);}
.cap-bullets{margin:0 0 18px;padding-left:16px;flex:1;}
.cap-bullets li{font-size:11px;color:var(--text-body);line-height:1.6;margin-bottom:6px;}
.cap-btn{display:block;text-align:center;background:var(--red);color:var(--white)!important;
  font-size:10.5px;font-weight:700;text-transform:uppercase;padding:10px;border-radius:4px;text-decoration:none;margin-top:auto;}
.cap-card:nth-child(4) .cap-btn{background:var(--red);}

/* ================= CHAPTERS & CAUCUSES PAGE ================= */
.chc-banner{background:var(--red);padding:60px 0;text-align:center;}
.chc-banner h1{color:var(--white);font-size:24px;margin:0;}

.chc-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:760px;margin:0 auto;}
@media(max-width:640px){.chc-grid{grid-template-columns:1fr;}}
.chc-card{border:1px solid var(--red);border-radius:6px;padding:24px 22px;
  opacity:0;transform:translateY(16px);transition:opacity .5s ease, transform .5s ease;}
.chc-card.in-view{opacity:1;transform:translateY(0);}
.chc-card h3{font-size:15px;color:var(--near-black);margin-bottom:16px;letter-spacing:.02em;}
.chc-card .board-label{font-size:10px;color:#8A8580;text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px;display:block;}
.chc-card ul{margin:0 0 16px;padding-left:16px;}
.chc-card li{font-size:11px;color:var(--text-body);line-height:1.7;margin-bottom:2px;}
.chc-card a.btn{padding:9px 18px;font-size:10.5px;}

.chc-open{max-width:520px;margin:50px auto 0;border:1px solid #E8A23A;border-radius:6px;
  padding:26px 24px;text-align:center;}
.chc-open p{font-size:12px;color:var(--text-body);line-height:1.7;margin:0;}
.chc-open a{color:var(--red);font-weight:700;}

/* v2.4.4 dropdown reliability fix */
.site-header nav > ul > li{position:relative;}
.site-header nav > ul > li > ul{
  display:flex!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  position:absolute!important;
  top:calc(100% + 0px)!important;
  left:0!important;
  flex-direction:column!important;
  gap:0!important;
  min-width:240px!important;
  margin:0!important;
  padding:8px 0!important;
  background:#fff!important;
  border:1px solid #eee!important;
  box-shadow:0 12px 28px rgba(0,0,0,.12)!important;
  z-index:2147483000!important;
}
.site-header nav > ul > li:hover > ul,
.site-header nav > ul > li:focus-within > ul,
.site-header nav > ul > li.wcoe-open > ul{
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.site-header, .site-header nav, .site-header nav > ul, .site-header nav > ul > li{overflow:visible!important;}


/* ================= v3.5.1 ADDITIONS ================= */
/* Partner logos with tier labels */
.wcoe-partner-logos{grid-template-columns:repeat(3,1fr);gap:28px;}
@media(max-width:700px){.wcoe-partner-logos{grid-template-columns:repeat(2,1fr);gap:18px;}}
.wcoe-partner-logos .logo-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  background:var(--white,#fff);border:1px solid #E5E1DB;padding:22px 16px;min-height:140px;text-decoration:none;transition:border-color .2s,transform .2s;}
.wcoe-partner-logos a.logo-item:hover{border-color:var(--red);transform:translateY(-2px);}
.wcoe-partner-logos .logo-tier{color:var(--red);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.wcoe-partner-logos img{max-height:64px;max-width:100%;filter:none;}

/* Header: Member Login (outline) button */
.site-header .header-cta-outline{background:transparent;color:var(--red)!important;border:2px solid var(--red);padding:8px 16px;}
.site-header .header-cta-outline:hover{background:var(--red);color:var(--white)!important;}

/* WCOE News — newsletter cards */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:18px;}
@media(max-width:900px){.news-grid{grid-template-columns:1fr;}}
.news-card{display:flex;flex-direction:column;gap:8px;border:1px solid #E5E1DB;border-top:4px solid var(--red);
  padding:24px;background:var(--white,#fff);text-decoration:none;color:var(--near-black);transition:transform .2s,box-shadow .2s;}
.news-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(20,17,16,.08);}
.news-card .news-date{color:var(--red);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;}
.news-card .news-title{font-family:var(--font-display);font-size:18px;font-weight:700;line-height:1.3;}
.news-card .news-desc{font-size:13px;line-height:1.7;color:#5A5550;flex:1;}
.news-card .news-link{font-size:12px;font-weight:700;color:var(--red);margin-top:6px;}
