@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,600;1,600&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{
  --navy:#071426;
  --navy-2:#0b223d;
  --red:#c9232b;
  --red-dark:#99181d;
  --cream:#f7f4ee;
  --ink:#0a1a31;
  --muted:#627082;
  --line:#d9dee5;
  --white:#fff;
  --shadow:0 24px 70px rgba(4,18,38,.22);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Manrope',Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);line-height:1.5}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input{font:inherit}
.skip-link{position:fixed;top:8px;left:8px;z-index:9999;padding:10px 14px;background:#fff;color:#000;transform:translateY(-180%)}
.skip-link:focus{transform:none}
.site-header{position:fixed;z-index:100;top:0;left:0;right:0;height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4vw,68px);transition:.25s ease}
.site-header.scrolled{height:70px;background:rgba(7,20,38,.94);backdrop-filter:blur(12px);box-shadow:0 6px 24px rgba(0,0,0,.16)}
.brand img{width:250px;max-height:58px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1)}
.site-header nav{display:flex;align-items:center;gap:28px;color:#fff;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.site-header nav a{opacity:.94}.site-header nav a:hover{opacity:1}
.nav-cta{background:var(--red);padding:14px 20px}
.nav-toggle{display:none;background:none;border:0;width:42px;height:42px;position:relative}.nav-toggle span{position:absolute;left:9px;right:9px;height:2px;background:#fff;top:15px}.nav-toggle span:last-child{top:25px}
.hero{position:relative;min-height:760px;overflow:hidden;background:var(--navy);color:#fff}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,18,35,.83) 0%,rgba(6,18,35,.44) 46%,rgba(6,18,35,.18) 72%,rgba(6,18,35,.32) 100%),linear-gradient(0deg,rgba(5,14,29,.48),transparent 48%)}
.hero-inner{position:relative;z-index:2;width:min(1420px,92vw);min-height:760px;margin:auto;padding:140px 0 70px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(390px,.72fr);gap:6vw;align-items:center}
.hero-copy{padding-left:10px;max-width:700px}.hero-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.2em;margin:0 0 24px;color:#dfe6ed}.hero h1{margin:0;font-family:var(--sans);font-size:clamp(62px,7vw,104px);font-weight:800;line-height:.86;letter-spacing:-.055em;text-transform:uppercase}.hero h1 span,.hero h1 strong{display:block}.hero h1 strong{color:#e22e37}.hero-rule{display:flex;align-items:center;gap:14px;margin:28px 0 22px;width:min(450px,90%)}.hero-rule i{height:2px;flex:1;background:rgba(255,255,255,.72)}.hero-rule b{letter-spacing:.28em;font-size:11px}.hero-deck{max-width:570px;font-size:clamp(18px,2vw,24px);line-height:1.45;margin:0;color:#f2f4f7}
.join-card{background:rgba(255,255,255,.97);color:var(--ink);border-radius:6px;box-shadow:var(--shadow);overflow:hidden;border:1px solid rgba(255,255,255,.55)}
.join-card-head{padding:26px 30px 18px;border-bottom:1px solid #e7eaee}.join-card-head p{margin:0 0 4px;font-size:11px;text-transform:uppercase;letter-spacing:.17em;color:var(--muted);font-weight:800}.join-card-head h2{margin:0;font-family:var(--sans);font-size:34px;font-weight:800;line-height:1.1;letter-spacing:-.025em;text-transform:uppercase}.join-card-head h2 span{color:var(--red)}.join-card-head small{display:block;margin-top:8px;color:#5e6975}
.membership-form{padding:22px 30px 28px;display:grid;gap:15px}.membership-form label>span,.membership-form legend{display:block;font-size:12px;font-weight:800;margin-bottom:7px}.membership-form b{color:var(--red)}.membership-form em{font-style:normal;font-weight:400;color:#7b8792}.membership-form input[type=text],.membership-form input[type=email],.membership-form input[type=tel]{width:100%;height:44px;border:1px solid #cfd6df;background:#fff;padding:0 13px;outline:none}.membership-form input:focus{border-color:#37506b;box-shadow:0 0 0 3px rgba(38,71,108,.1)}.membership-form fieldset{margin:2px 0 0;padding:0;border:0}.radio{display:inline-flex!important;align-items:center;gap:7px;margin-right:22px;font-weight:400!important}.radio input{accent-color:var(--red)}.radio span{margin:0!important;font-weight:500!important}.form-note,.form-status{margin:0;font-size:11px;color:#77818a}.form-status{min-height:16px;color:var(--red-dark);font-weight:700}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border:0;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}.button--red{background:var(--red);color:#fff}.button--red:hover{background:#a91f25}.button--full{width:100%}.button--outline{border:1px solid currentColor;color:#fff;background:transparent}.button--outline:hover{background:#fff;color:var(--navy)}
.section-eyebrow{margin:0 0 10px;color:var(--red);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.section-eyebrow--light{color:#ffd4d4}.section-eyebrow--red{color:#f04a51}.red-rule{display:block;width:52px;height:3px;background:var(--red);margin:18px 0 18px}
.about{display:grid;grid-template-columns:.86fr 1.14fr;gap:5vw;align-items:center;width:min(1380px,90vw);margin:auto;padding:76px 0}.about-copy h2,.events-copy h2{margin:0;color:var(--ink);font-family:var(--sans);font-size:clamp(38px,4.2vw,64px);font-weight:800;line-height:.98;text-transform:uppercase;letter-spacing:-.045em}.about-copy p:not(.section-eyebrow){font-size:16px;max-width:580px;color:#344255}.group-photo{margin:0;position:relative;min-height:410px;overflow:hidden;background:#e9ecf0;clip-path:polygon(8% 0,100% 0,100% 89%,92% 100%,0 100%,0 11%)}.group-photo img{width:100%;height:100%;min-height:410px;object-fit:cover}.group-photo figcaption{position:absolute;bottom:0;left:0;background:rgba(7,20,38,.93);color:#fff;padding:14px 18px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.movement{position:relative;background:radial-gradient(circle at 72% 50%,#163354 0,#0b223d 35%,#061427 76%);color:#fff;min-height:520px;display:grid;grid-template-columns:.72fr 1.28fr;align-items:center;gap:4vw;padding:70px max(5vw,calc((100vw - 1380px)/2))}.movement-copy{max-width:480px;z-index:2}.movement-copy h2{font-family:var(--sans);font-size:clamp(40px,4.3vw,68px);font-weight:800;line-height:.96;text-transform:uppercase;letter-spacing:-.045em;margin:0 0 24px}.movement-copy h2 span{color:#ef323a}.movement-copy p{font-size:16px;color:#d9e3ed;margin:0 0 26px}.county-map-shell{position:relative;width:100%;height:430px;max-width:780px;justify-self:end;isolation:isolate}.county-map-cutout{position:absolute;inset:0;-webkit-mask-image:url('assets/images/cumberland-county-mask.png');mask-image:url('assets/images/cumberland-county-mask.png');-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;filter:saturate(.78) contrast(.95);overflow:hidden}.county-map-cutout iframe{border:0;width:100%;height:100%;transform:scale(1.08);transform-origin:center}.county-map-cutout:after{content:"";position:absolute;inset:0;background:rgba(10,31,55,.14);pointer-events:none}.county-outline{position:absolute;inset:0;pointer-events:none;background:var(--red);-webkit-mask-image:url('assets/images/cumberland-county-outline.png');mask-image:url('assets/images/cumberland-county-outline.png');-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;filter:drop-shadow(0 0 8px rgba(0,0,0,.28));z-index:2}.county-label{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);text-align:center;text-transform:uppercase;letter-spacing:.13em;text-shadow:0 2px 8px rgba(0,0,0,.72);pointer-events:none;z-index:3}.county-label strong{display:block;font-size:22px}.county-label span{font-size:11px}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);width:min(1380px,92vw);margin:0 auto;padding:38px 0;background:#fff}.pillars article{padding:12px 32px 18px;text-align:center;border-right:1px solid var(--line)}.pillars article:last-child{border-right:0}.pillar-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 14px;border-radius:50%;background:var(--navy);color:#fff;font-weight:900;letter-spacing:-.15em}.pillars article:nth-child(odd) .pillar-icon{background:var(--red)}.pillars h3{margin:0 0 9px;text-transform:uppercase;font-size:16px}.pillars p{margin:0;color:#4c5a6a;font-size:13px}
.events{display:grid;grid-template-columns:.65fr 1.35fr;gap:5vw;align-items:start;padding:76px max(5vw,calc((100vw - 1380px)/2));background:#f8f9fb}.events-copy{padding-top:20px}.events-copy p:not(.section-eyebrow){color:#4b5868;max-width:450px}.event-source-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.event-source{border:1px solid #c5ccd6;background:#fff;padding:11px 16px;text-transform:uppercase;font-weight:900;font-size:11px;color:var(--navy);cursor:pointer}.event-source.is-active{background:var(--red);color:#fff;border-color:var(--red)}
.event-window{background:#fff;border:1px solid #d8dde4;box-shadow:0 12px 34px rgba(17,34,52,.12);min-height:395px}.event-window-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid #e2e6eb}.event-window-head>div{display:flex;align-items:center;gap:12px}.event-window-head img{width:42px;height:42px}.event-window-head span{display:grid}.event-window-head strong{font-size:15px}.event-window-head small{font-size:11px;color:#6e7a88}.event-window-head small i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#f2aa33;margin-right:5px}.event-window-head a{font-size:11px;color:#24518f;font-weight:800}.gop-events-list{padding:2px 22px}.gop-event{display:grid;grid-template-columns:62px 1fr 26px;gap:14px;align-items:center;padding:17px 0;border-bottom:1px solid #e3e7ec}.gop-event:hover{background:#fbfcfd}.gop-event-date{text-align:center;border-right:1px solid #dde2e8}.gop-event-date b{display:block;font-family:var(--serif);font-size:30px;font-weight:600;line-height:.9}.gop-event-date span{font-size:10px;color:var(--red);font-weight:900}.gop-event-main strong{display:block;font-size:14px}.gop-event-main p{margin:4px 0 0;color:#657182;font-size:12px}.gop-event-arrow{font-size:18px;color:#7a8795}.event-feed-note{padding:10px 22px 16px;margin:0;font-size:10px;color:#7a8795}.event-skeleton{display:grid;grid-template-columns:62px 1fr;gap:15px;padding:18px 0;border-bottom:1px solid #e5e8ec}.event-skeleton span,.event-skeleton div{height:36px;background:linear-gradient(90deg,#eef1f4,#f8f9fa,#eef1f4);background-size:200% 100%;animation:shimmer 1.4s infinite}.event-skeleton div{height:42px}.event-empty{padding:30px 0}.event-empty p{margin:6px 0 0;color:#667384}.facebook-events{padding:18px;text-align:center}.facebook-events iframe{max-width:100%;width:100%}.facebook-events p{font-size:12px;color:#697688}.facebook-events a{color:#1d5b9f;font-weight:800}@keyframes shimmer{to{background-position:-200% 0}}
.leadership{background:linear-gradient(110deg,rgba(111,14,18,.96),rgba(144,20,26,.92)),url('assets/images/meeting.webp') center/cover;color:#fff;display:grid;grid-template-columns:.72fr 1.28fr;gap:4vw;padding:62px max(5vw,calc((100vw - 1380px)/2));align-items:center}.leadership-copy h2{font-family:var(--sans);font-size:clamp(36px,3.7vw,58px);font-weight:800;line-height:.98;text-transform:uppercase;letter-spacing:-.04em;margin:0 0 15px}.leadership-copy p:not(.section-eyebrow){color:#f2dfe0}.leaders{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.leaders article{text-align:center}.leader-photo{width:118px;height:118px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;border:3px solid rgba(255,255,255,.85);box-shadow:0 10px 25px rgba(0,0,0,.25)}.leader-photo--placeholder{background:linear-gradient(145deg,#17365a,#0b1e34);font-family:var(--serif);font-size:34px;font-weight:600;letter-spacing:-.02em}.leaders h3{margin:0;font-family:var(--serif);font-size:22px;font-weight:600;line-height:1.05}.leaders p{margin:4px 0 0;font-size:12px;color:#ffd9db}
.partners{display:grid;grid-template-columns:.38fr 1.62fr;gap:3vw;padding:50px max(5vw,calc((100vw - 1380px)/2));align-items:center;background:#fff}.partners-title h2{font-family:var(--sans);font-size:34px;font-weight:800;text-transform:uppercase;margin:0;line-height:.95;letter-spacing:-.035em}.partner-links{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line)}.partner-links a{padding:18px 24px;border-right:1px solid var(--line);display:grid;gap:5px;position:relative}.partner-links span{font-size:10px;color:#7b8792;text-transform:uppercase;letter-spacing:.1em}.partner-links strong{font-size:13px}.partner-links b{position:absolute;top:18px;right:18px;color:var(--red)}
.final-cta{background:linear-gradient(90deg,#0a1f39 0,#0b2847 55%,#0a1c33 100%);color:#fff;display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;padding:34px max(5vw,calc((100vw - 1380px)/2));border-top:5px solid var(--red)}.final-cta p{margin:0;font-family:var(--serif);font-size:28px;font-weight:600;font-style:italic}.final-cta h2{margin:0;color:#ed3038;font-family:var(--sans);font-size:30px;font-weight:800;text-transform:uppercase;letter-spacing:-.035em}.final-cta .button--outline{border-color:#fff}
footer{background:#05111f;color:#d5dde6;display:grid;grid-template-columns:1.2fr 1fr .65fr .65fr;gap:34px;padding:46px max(5vw,calc((100vw - 1380px)/2)) 34px;font-size:12px;position:relative}.footer-brand img{width:240px;filter:brightness(0) invert(1);margin-bottom:12px}.footer-brand p{font-style:italic}.footer-brand p,footer p{margin:6px 0;color:#aeb9c5}footer strong{display:block;color:#fff;text-transform:uppercase;font-size:11px;letter-spacing:.08em;margin-bottom:9px}footer a{display:block;margin:5px 0;color:#d6dee6}.copyright{grid-column:1/-1;text-align:center;border-top:1px solid rgba(255,255,255,.13);padding-top:20px;margin-top:8px!important}
@media (max-width:1050px){.hero-inner{grid-template-columns:1fr .8fr;gap:3vw}.about,.movement,.events,.leadership{grid-template-columns:1fr}.movement-copy{max-width:760px}.county-map-shell{justify-self:center;width:min(900px,100%)}.pillars{grid-template-columns:repeat(2,1fr)}.pillars article:nth-child(2){border-right:0}.pillars article{border-bottom:1px solid var(--line)}.leaders{max-width:820px}.partners{grid-template-columns:1fr}.partner-links{border-top:1px solid var(--line)}.final-cta{grid-template-columns:1fr auto}.final-cta>a:last-child{grid-column:2}.about{padding-top:56px}.group-photo{min-height:360px}}
@media (max-width:820px){.site-header{height:72px;padding:0 18px}.brand img{width:205px}.nav-toggle{display:block}.site-header nav{position:absolute;top:72px;left:12px;right:12px;background:#071426;display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px;box-shadow:0 14px 30px rgba(0,0,0,.28)}.site-header nav.open{display:flex}.site-header nav a{padding:13px 12px}.nav-cta{text-align:center}.hero{min-height:auto}.hero-inner{min-height:auto;padding:112px 0 52px;grid-template-columns:1fr}.hero-copy{padding:0}.hero h1{font-size:clamp(52px,14vw,78px)}.join-card{max-width:620px;width:100%}.about{grid-template-columns:1fr;width:min(92vw,680px)}.group-photo{min-height:300px}.movement{padding:60px 4vw}.county-map-shell{height:340px}.pillars{grid-template-columns:1fr 1fr;width:100%}.events{padding:60px 4vw}.leaders{grid-template-columns:repeat(2,1fr);gap:30px}.partners{padding:44px 4vw}.partner-links{grid-template-columns:1fr;border-left:0}.partner-links a{border-right:0;border-bottom:1px solid var(--line)}.final-cta{grid-template-columns:1fr;text-align:center}.final-cta>a:last-child{grid-column:auto}.final-cta .button{width:100%}footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media (max-width:560px){.brand img{width:180px}.hero-inner{width:92vw}.hero-copy{padding-top:10px}.hero-eyebrow{margin-bottom:14px}.hero h1{font-size:50px}.hero-deck{font-size:17px}.join-card-head,.membership-form{padding-left:20px;padding-right:20px}.about{padding:50px 0}.about-copy h2,.events-copy h2{font-size:38px}.group-photo{min-height:260px}.group-photo img{min-height:260px}.movement{padding:50px 4vw}.movement-copy h2{font-size:42px}.county-map-shell{height:280px}.county-label strong{font-size:15px}.county-label span{font-size:9px}.pillars{grid-template-columns:1fr}.pillars article{border-right:0}.events{padding:50px 4vw}.event-window-head{align-items:flex-start;gap:10px}.event-window-head>a{display:none}.gop-event{grid-template-columns:52px 1fr 18px}.leadership{padding:50px 4vw}.leaders{grid-template-columns:1fr 1fr}.leader-photo{width:96px;height:96px}.partners{padding:42px 4vw}.final-cta{padding:30px 4vw}.final-cta p{font-size:18px}.final-cta h2{font-size:26px}footer{grid-template-columns:1fr;padding:40px 5vw 28px}.footer-brand{grid-column:auto}.copyright{grid-column:1}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-video{display:none}.hero{background:linear-gradient(rgba(6,18,35,.55),rgba(6,18,35,.55)),url('assets/images/hero-poster.webp') center/cover}.event-skeleton span,.event-skeleton div{animation:none}}


/* V8 typography refinement — restores the earlier CCYR editorial pairing */
.hero-eyebrow,.section-eyebrow,.button,.site-header nav,.membership-form label>span,.membership-form legend,.event-source,.county-label,.partners-title,.partner-links span,footer strong{font-family:var(--sans)}
.about-copy p:not(.section-eyebrow),.movement-copy p,.pillars p,.events-copy p,.gop-event-main p,.leadership-copy p,.partner-links strong,footer,input,button{font-family:var(--sans)}
.group-photo figcaption{font-family:var(--sans);letter-spacing:.12em}
.leaders p{font-family:var(--sans);text-transform:uppercase;letter-spacing:.08em;font-size:10px}

/* Anti-spam honeypot: intentionally invisible to visitors. */
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

/* V11 section-order + mobile QA hardening */
main > section { min-width: 0; }
.event-window,
.event-panel,
.gop-events-list,
.facebook-events,
.about-copy,
.movement-copy,
.leadership-copy,
.leaders { min-width: 0; }

@media (max-width: 820px) {
  .movement { gap: 26px; }
  .county-map-shell { width: 100%; max-width: 680px; margin-inline: auto; }
  .county-map-cutout iframe { transform: scale(1.04); }
  .leadership { gap: 34px; }
  .leaders { width: 100%; margin-inline: auto; }
  .about { gap: 30px; }
  .events { gap: 30px; }
  .event-window { width: 100%; max-width: 100%; overflow: hidden; }
  .facebook-events iframe { width: 100% !important; max-width: 100% !important; }
}

@media (max-width: 560px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  .hero-inner { gap: 30px; }
  .join-card { border-radius: 4px; }
  .membership-form input { width: 100%; min-width: 0; }
  .movement { grid-template-columns: minmax(0,1fr); }
  .county-map-shell { height: 265px; max-width: 100%; }
  .county-map-cutout iframe { transform: scale(1.02); }
  .leadership { grid-template-columns: minmax(0,1fr); }
  .leaders { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 14px; }
  .leaders article { min-width: 0; }
  .leaders h3 { overflow-wrap: anywhere; }
  .about { grid-template-columns: minmax(0,1fr); }
  .pillars { grid-template-columns: minmax(0,1fr); }
  .events { grid-template-columns: minmax(0,1fr); }
  .event-window-head { padding: 15px 14px; }
  .event-window-head > div { min-width: 0; }
  .event-window-head span { min-width: 0; }
  .event-window-head strong { overflow-wrap: anywhere; }
  .gop-events-list { padding-inline: 14px; }
  .gop-event { grid-template-columns: 48px minmax(0,1fr) 16px; gap: 10px; }
  .gop-event-main { min-width: 0; }
  .gop-event-main strong,
  .gop-event-main p { overflow-wrap: anywhere; }
  .facebook-events { padding: 12px; }
  .partner-links a { min-width: 0; }
}

@media (max-width: 390px) {
  .hero h1 { font-size: 44px; }
  .join-card-head h2 { font-size: 29px; }
  .movement-copy h2 { font-size: 38px; }
  .about-copy h2,
  .events-copy h2 { font-size: 34px; }
  .leaders { gap: 20px 10px; }
  .leader-photo { width: 86px; height: 86px; }
  .leaders h3 { font-size: 19px; }
  .county-map-shell { height: 235px; }
}

/* V12 refinements: larger desktop masthead, subtle Smoky Mountains leadership texture,
   and native Google Apps Script form submission. */
@media (min-width:821px){
  .site-header{
    height:112px;
    transition:height .28s ease,background .28s ease,box-shadow .28s ease,backdrop-filter .28s ease;
  }
  .brand img{
    width:340px;
    max-height:84px;
    transition:width .28s ease,max-height .28s ease,transform .28s ease;
  }
  .site-header.scrolled{
    height:70px;
  }
  .site-header.scrolled .brand img{
    width:225px;
    max-height:50px;
  }
}

.leadership{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#a4161c;
}
.leadership::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:url('https://images.pexels.com/photos/33008783/pexels-photo-33008783.jpeg?auto=compress&cs=tinysrgb&w=1800') center 54% / cover no-repeat;
  opacity:.10;
  pointer-events:none;
}
.leadership-copy,
.leaders{
  position:relative;
  z-index:1;
}
.leadership-copy p:not(.section-eyebrow){
  color:#fff0f1;
}
.leaders p{
  color:#ffe4e6;
}


/* V13 visual refinements: red sticky masthead + clearer Smoky Mountains leadership image */
@media (min-width:821px){
  .site-header.scrolled{
    background:rgba(201,35,43,.97);
    box-shadow:0 8px 26px rgba(76,8,12,.24);
  }
  .site-header.scrolled .nav-cta{
    background:#fff;
    color:var(--red);
  }
}

/* Keep the scenic sunset clearly visible, with a restrained CCYR-red wash. */
.leadership{
  background:url('https://images.pexels.com/photos/33008783/pexels-photo-33008783.jpeg?auto=compress&cs=tinysrgb&w=1800') center 54% / cover no-repeat;
}
.leadership::before{
  background:rgba(164,22,28,.38);
  opacity:1;
}

@media (max-width:820px){
  .site-header.scrolled{
    background:rgba(201,35,43,.97);
  }
  .site-header nav{
    background:rgba(201,35,43,.985);
  }
  .site-header nav .nav-cta{
    background:#fff;
    color:var(--red);
  }
}

/* V16 identity + leadership photo update */
/* New circular Cumberland County YR logo in the masthead. */
.brand img{
  width:64px;
  height:64px;
  max-height:none;
  object-fit:cover;
  object-position:center;
  border-radius:50%;
  filter:none;
  transition:width .28s ease,height .28s ease,transform .28s ease;
}

@media (min-width:821px){
  .brand img{
    width:92px;
    height:92px;
  }
  .site-header.scrolled .brand img{
    width:52px;
    height:52px;
    max-height:none;
  }
}

@media (max-width:820px){
  .brand img{
    width:56px;
    height:56px;
  }
}

@media (max-width:560px){
  .brand img{
    width:52px;
    height:52px;
  }
}

/* Use the same official mark as a restrained identifier in Politics Is Local. */
.about-brand-mark{
  width:94px;
  height:94px;
  object-fit:cover;
  border-radius:50%;
  margin:0 0 18px;
  box-shadow:0 10px 28px rgba(7,20,38,.14);
}

@media (max-width:560px){
  .about-brand-mark{
    width:78px;
    height:78px;
    margin-bottom:14px;
  }
}

/* Real leadership portraits */
.leader-photo{
  overflow:hidden;
  background:#fff;
}
.leader-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 18%;
}


/* V17 — restore the complete chapter wordmark beside the new circular logo. */
.brand{
  display:flex;
  align-items:center;
  gap:14px;
  text-decoration:none;
  color:#fff;
  min-width:0;
}
.brand-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  line-height:1;
  white-space:nowrap;
  transition:transform .28s ease,opacity .28s ease;
}
.brand-copy strong{
  font-family:var(--sans);
  font-size:19px;
  line-height:.94;
  font-weight:800;
  letter-spacing:-.035em;
  text-transform:uppercase;
  color:#fff;
}
.brand-copy small{
  margin-top:6px;
  padding-top:5px;
  border-top:2px solid rgba(255,255,255,.86);
  font-family:var(--sans);
  font-size:8px;
  line-height:1;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:rgba(255,255,255,.82);
}

@media (min-width:821px){
  .site-header:not(.scrolled) .brand{
    gap:18px;
  }
  .site-header:not(.scrolled) .brand-copy strong{
    font-size:23px;
  }
  .site-header:not(.scrolled) .brand-copy small{
    font-size:9px;
  }
  .site-header.scrolled .brand{
    gap:11px;
  }
  .site-header.scrolled .brand-copy strong{
    font-size:15px;
    letter-spacing:-.025em;
  }
  .site-header.scrolled .brand-copy small{
    margin-top:4px;
    padding-top:4px;
    font-size:6.5px;
    border-top-width:1px;
  }
}

@media (max-width:1120px) and (min-width:821px){
  .site-header:not(.scrolled) .brand-copy strong{
    font-size:19px;
  }
  .site-header:not(.scrolled) .brand-copy small{
    font-size:7.5px;
  }
  .site-header nav{
    gap:17px;
  }
}

@media (max-width:820px){
  .brand{
    gap:10px;
    max-width:calc(100% - 56px);
  }
  .brand-copy strong{
    font-size:14px;
    line-height:.96;
  }
  .brand-copy small{
    margin-top:4px;
    padding-top:4px;
    font-size:6px;
    letter-spacing:.10em;
    border-top-width:1px;
  }
}

@media (max-width:420px){
  .brand{
    gap:8px;
  }
  .brand img{
    width:46px;
    height:46px;
  }
  .brand-copy strong{
    font-size:12.5px;
  }
  .brand-copy small{
    font-size:5.4px;
    letter-spacing:.08em;
  }
}


/* V18 — footer uses the same official logo + chapter wordmark as the header. */
.footer-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.footer-lockup{
  display:flex;
  align-items:center;
  gap:14px;
  color:#fff;
  text-decoration:none;
  margin-bottom:14px;
}
.footer-lockup img{
  width:92px;
  height:92px;
  object-fit:contain;
  flex:0 0 auto;
  filter:none;
  margin:0;
}
.footer-brand-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  line-height:1;
  white-space:nowrap;
}
.footer-brand-copy strong{
  display:block;
  margin:0;
  color:#fff;
  font-family:var(--sans);
  font-size:18px;
  line-height:.96;
  font-weight:800;
  letter-spacing:-.03em;
  text-transform:uppercase;
}
.footer-brand-copy small{
  display:block;
  margin-top:6px;
  padding-top:5px;
  border-top:2px solid rgba(255,255,255,.82);
  color:rgba(255,255,255,.78);
  font-family:var(--sans);
  font-size:7px;
  line-height:1;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.footer-brand>p{
  margin:0 0 4px;
}
@media (max-width:560px){
  .footer-lockup{
    gap:11px;
  }
  .footer-lockup img{
    width:72px;
    height:72px;
  }
  .footer-brand-copy strong{
    font-size:15px;
  }
  .footer-brand-copy small{
    font-size:6px;
    letter-spacing:.11em;
  }
}

/* V20 — hero campaign statement pulled forward from the closing CTA. */
.hero h1.hero-slogan{
  max-width:760px;
  text-transform:none;
  letter-spacing:-.04em;
  line-height:.93;
}
.hero h1.hero-slogan span{
  font-family:var(--serif);
  font-size:clamp(54px,6.3vw,94px);
  font-weight:600;
  font-style:italic;
  line-height:.92;
  text-wrap:balance;
}
.hero h1.hero-slogan strong{
  margin-top:14px;
  font-family:var(--sans);
  font-size:clamp(46px,5.5vw,82px);
  font-weight:800;
  line-height:.9;
  letter-spacing:-.055em;
  text-transform:uppercase;
  color:#e22e37;
}
@media (max-width:820px){
  .hero h1.hero-slogan span{font-size:clamp(46px,11vw,68px)}
  .hero h1.hero-slogan strong{font-size:clamp(40px,10vw,60px);margin-top:12px}
}
@media (max-width:560px){
  .hero h1.hero-slogan span{font-size:44px;line-height:.95}
  .hero h1.hero-slogan strong{font-size:40px;line-height:.92}
}
@media (max-width:390px){
  .hero h1.hero-slogan span{font-size:39px}
  .hero h1.hero-slogan strong{font-size:35px}
}

/* V24 — stronger mobile hero reframing.
   Use transform-based upward movement so the shift is visually obvious on mobile,
   while keeping the X axis perfectly centered. */
@media (max-width:820px){
  .hero{
    overflow:hidden;
  }
  .hero-video{
    position:absolute;
    left:50%;
    top:50%;
    width:100%;
    height:145%;
    transform:translate(-50%, -58%);
    object-fit:cover;
    object-position:50% 50%;
  }
}

@media (max-width:560px){
  .hero-video{
    width:100%;
    height:158%;
    transform:translate(-50%, -64%);
  }
}

@media (max-width:390px){
  .hero-video{
    width:100%;
    height:170%;
    transform:translate(-50%, -68%);
  }
}

/* Match the static poster treatment for reduced-motion users. */
@media (max-width:820px) and (prefers-reduced-motion:reduce){
  .hero{
    background-image:linear-gradient(rgba(6,18,35,.55),rgba(6,18,35,.55)),url('assets/images/hero-poster.webp');
    background-size:auto 125%;
    background-position:50% 30%;
    background-repeat:no-repeat;
    background-color:#061223;
  }
}


/* V26 — section headline accents use the exact hero editorial type treatment.
   This intentionally mirrors: “The next generation doesn't wait its turn.” */
.headline-accent{
  display:inline-block;
  font-family:var(--serif);
  font-style:italic;
  font-weight:600;
  line-height:.92;
  letter-spacing:-.04em;
  text-transform:uppercase;
  text-wrap:balance;
  color:var(--red);
}

/* Optical sizing by section keeps the italic serif from overpowering the sans headline. */
.movement-copy .headline-accent{font-size:.94em;}
.leadership-copy .headline-accent{font-size:.96em;}
.about-copy .headline-accent{font-size:1em;}
.events-copy .headline-accent{font-size:.98em;}
.partners-title .headline-accent{font-size:1.06em;}

.headline-accent--light{
  color:#fff;
  text-shadow:0 1px 18px rgba(70,0,0,.28);
}
.leadership .headline-accent--light{
  color:#ffd9dc;
}

@media (max-width:820px){
  .movement-copy .headline-accent,
  .leadership-copy .headline-accent,
  .about-copy .headline-accent,
  .events-copy .headline-accent{font-size:.96em;}
  .partners-title .headline-accent{font-size:1.02em;}
}

@media (max-width:560px){
  .headline-accent{
    line-height:.94;
    letter-spacing:-.035em;
  }
  .movement-copy .headline-accent,
  .leadership-copy .headline-accent,
  .about-copy .headline-accent,
  .events-copy .headline-accent{font-size:.94em;}
  .partners-title .headline-accent{font-size:1em;}
}
