/*
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: 2.0
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);
}
.site-header .logo img{max-height:48px;}
.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 .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) */
.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;}
@media(max-width:800px){.pillars{grid-template-columns:1fr;}}
.pillar-card{padding:26px 22px 26px 0;border-right:1px solid #E5E1DB;}
.pillar-card:last-child{border-right:none;}
@media(max-width:800px){.pillar-card{border-right:none;border-bottom:1px solid #E5E1DB;}}
.pillar-card .num{color:var(--red);font-family:var(--font-display);font-size:13px;margin-bottom:8px;display:block;}
.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{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;}

/* 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{display:flex;gap:10px;overflow-x:auto;padding:0 24px 8px;scroll-snap-type:x mandatory;}
.gallery-strip::-webkit-scrollbar{height:6px;}
.gallery-strip::-webkit-scrollbar-thumb{background:#D3D1C7;border-radius:3px;}
.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;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) center/cover no-repeat;}
.members-section::before{content:"";position:absolute;inset:0;background:rgba(20,17,16,.72);}
.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-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-banner{background:var(--cream);padding:60px 0;text-align:center;}
.about-banner h1{font-family:var(--font-display);font-size:24px;max-width:700px;margin:0 auto;}

.president-row{display:grid;grid-template-columns:220px 1fr;gap:36px;padding:70px 0;align-items:start;}
@media(max-width:700px){.president-row{grid-template-columns:1fr;}}
.president-row img{border-radius:2px;}
.president-row h2{font-size:20px;color:var(--red);text-transform:none;font-family:var(--font-body);font-weight:700;margin-bottom:4px;}
.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;}

.purpose-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;max-width:900px;margin:30px auto 0;}
@media(max-width:700px){.purpose-strip{grid-template-columns:repeat(2,1fr);}}
.purpose-box{background:var(--red);color:var(--white);padding:22px 14px;min-height:200px;}
.purpose-box .n{font-family:var(--font-display);font-size:26px;display:block;margin-bottom:8px;}
.purpose-box hr{border:none;border-top:1px solid rgba(255,255,255,.5);width:24px;margin:0 0 12px;}
.purpose-box p{font-size:11px;line-height:1.5;margin:0;}

.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;}
@media(max-width:800px){.values-grid{grid-template-columns:repeat(2,1fr);}}
.value-box{padding:30px 20px;min-height:220px;color:var(--white);}
.value-box:nth-child(odd){background:var(--near-black);}
.value-box:nth-child(even){background:var(--red);}
.value-box h3{font-size:13px;color:var(--white);text-transform:uppercase;margin-bottom:12px;}
.value-box p{font-size:11px;line-height:1.6;color:rgba(255,255,255,.85);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/3;object-fit:cover;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%;border-radius:6px;margin-bottom:18px;aspect-ratio:4/3;object-fit:cover;}
.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;
  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);}
@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;}

.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(4,1fr);gap:0;margin-top:30px;align-items:end;}
@media(max-width:900px){.cap-ladder{grid-template-columns:repeat(2,1fr);gap:16px;}}
@media(max-width:520px){.cap-ladder{grid-template-columns:1fr;}}
.cap-card{border:1px solid #E5E1DB;padding:22px 20px;opacity:0;transform:translateY(18px);
  transition:opacity .5s ease, transform .5s ease;}
.cap-card.in-view{opacity:1;transform:translateY(0);}
.cap-card + .cap-card{border-left:none;}
@media(max-width:900px){.cap-card + .cap-card{border-left:1px solid #E5E1DB;}}
.cap-card:nth-child(1){background:var(--white);}
.cap-card:nth-child(2){background:var(--cream);padding-top:28px;}
.cap-card:nth-child(3){background:#F0DCDF;padding-top:34px;}
.cap-card:nth-child(4){background:var(--near-black);padding-top:40px;}
.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;}
.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;}
.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;}
