
:root{--red:#c9080b;--black:#050505;--ink:#111;--muted:#666;--line:#dedede;--max:1500px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}
.site-header{height:76px;background:#050505;color:#fff;position:sticky;top:0;z-index:50}.header-inner{height:100%;display:flex;align-items:center;gap:26px}.brand{display:flex;align-items:center;gap:10px;margin-right:auto}.brand-mark{width:54px;height:34px}.brand-title{font-size:22px;font-weight:900;line-height:.95;letter-spacing:1px}.brand-title span{color:var(--red)}.brand-sub{font-size:10px;letter-spacing:1.7px;margin-top:5px}.nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:900;text-transform:uppercase}.nav a{padding:29px 0 23px;border-bottom:3px solid transparent}.nav a.active,.nav a:hover{color:#f22;border-bottom-color:var(--red)}.donate-btn,.btn{background:var(--red);color:#fff;text-transform:uppercase;font-weight:900;border:0;border-radius:2px;padding:13px 24px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.donate-btn{padding:11px 18px}.mobile-toggle{display:none;border:0;background:none;color:#fff;font-size:28px}
.home-hero{min-height:470px;background:#000;position:relative;color:#fff;overflow:hidden}.home-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.46) 48%,rgba(0,0,0,.05)),url("../images/hero-home.jpg") center/cover no-repeat}.hero-content{position:relative;z-index:1;padding-top:92px;max-width:720px}.hero-content h1{font-size:74px;line-height:.95;margin:0;font-weight:1000;text-transform:uppercase;letter-spacing:-2px}.hero-content .red{color:#e31619}.hero-content .strap{font-size:30px;line-height:1.12;font-weight:900;text-transform:uppercase;margin:15px 0 24px}
.section{padding:42px 0}.section-title{text-align:center;font-size:36px;margin:0 0 24px;font-weight:1000;text-transform:uppercase}.section-title:after,.page-title:after{content:"";display:block;width:96px;height:2px;background:var(--red);margin:12px auto}.priority-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border:1px solid var(--line)}.priority-card{text-align:center;min-height:225px;padding:26px 16px;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center}.priority-card:last-child{border-right:0}.priority-card .icon{width:54px;height:54px;color:#111;margin-bottom:12px}.priority-card .icon svg{width:100%;height:100%;fill:currentColor}.priority-card h3{color:var(--red);font-size:15px;text-transform:uppercase;margin:0 0 8px}.priority-card p{font-size:14px;margin:0;line-height:1.45}.priority-card .learn{margin-top:auto;color:var(--red);font-size:12px;text-transform:uppercase;font-weight:900;padding-top:12px}
.mountain-band{background:linear-gradient(rgba(255,255,255,.7),rgba(255,255,255,.7)),url("../images/priority-mountain.jpg") center 38%/cover no-repeat;padding:40px 0 46px}.community-tag{text-align:center;color:#555;text-transform:uppercase;font-size:14px;margin-top:-10px}.community-lead{text-align:center;font-size:28px;font-weight:1000;text-transform:uppercase;margin:8px 0 24px}.community-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px 16px}.community-card{cursor:pointer}.community-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:4px}.community-card h3{text-align:center;font-size:16px;margin:8px 0 0}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:1000;display:none;align-items:center;justify-content:center;padding:28px}.lightbox.open{display:flex}.lightbox img{max-width:92vw;max-height:84vh;object-fit:contain}.lightbox-close,.lightbox-prev,.lightbox-next{position:fixed;background:rgba(0,0,0,.55);border:1px solid #777;color:#fff;border-radius:3px;cursor:pointer;z-index:1001}.lightbox-close{right:24px;top:20px;font-size:30px;padding:4px 12px}.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%);font-size:34px;padding:12px 16px}.lightbox-prev{left:18px}.lightbox-next{right:18px}.lightbox-caption{position:fixed;bottom:18px;color:#fff;font-weight:800;text-align:center;left:20%;right:20%}
.election-banner{background:linear-gradient(90deg,#b70000,#de0e12);color:#fff}.election-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:20px}.election-inner strong{display:block;font-size:24px;text-transform:uppercase}.election-inner span{font-size:15px;font-weight:800}.btn-outline{background:transparent;border:1px solid currentColor}
.site-footer{background:#050505;color:#fff}.footer-top{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:50px;padding:28px 0}.footer-col h4{font-size:13px;text-transform:uppercase;margin:0 0 8px}.footer-col p{font-size:13px;color:#ddd}.signup{display:flex}.signup input{flex:1;background:#0b0b0b;border:1px solid #555;padding:10px;color:#fff}.signup button{border-radius:0;padding:10px 16px;font-size:11px}.quick{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;font-size:13px}.socials{display:flex;gap:12px}.socials a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:900;color:#fff}.facebook{background:#1877f2}.instagram{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045)}.linkedin{background:#0a66c2}.authorization,.footer-bottom{border-top:1px solid #2b2b2b;text-align:center;color:#ccc;font-size:12px;padding:9px 0}.footer-bottom{padding-top:0;border-top:0;padding-bottom:12px}
.page-shell{background:#fff}.simple-hero{background:linear-gradient(rgba(0,0,0,.72),rgba(0,0,0,.72)),url("../images/priority-mountain.jpg") center/cover no-repeat;color:#fff;padding:54px 0;text-align:center}.page-title{font-size:54px;font-weight:1000;text-transform:uppercase;margin:0}.page-sub{font-size:17px;text-transform:uppercase;letter-spacing:.7px}.content{padding:42px 0}.story-list{max-width:1050px;margin:auto}.story-item{display:grid;grid-template-columns:36% 1fr;gap:28px;align-items:center;padding:18px 0;border-bottom:1px solid #eee}.story-item img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;background:#f4f4f4}.story-item h2{font-size:20px;color:var(--red);text-transform:uppercase;margin:0 0 7px}.story-item p{margin:0;font-size:15px}.why-photos{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:900px;margin:0 auto 30px}.why-photos img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;background:#f4f4f4}.short-copy{max-width:900px;margin:auto;text-align:left}.short-copy h2{text-align:center;font-size:32px;text-transform:uppercase;margin:28px 0 14px}.short-copy p{font-size:17px}.quote{border-top:1px solid #e4b1b1;border-bottom:1px solid #e4b1b1;padding:22px 0;margin:28px auto;max-width:950px;text-align:center;font-size:21px;font-weight:900}
.priority-hero{background:linear-gradient(90deg,rgba(0,0,0,.96),rgba(0,0,0,.72)),url("../images/priority-mountain.jpg") center/cover no-repeat;color:#fff;filter:grayscale(1);position:relative}.priority-hero>*{filter:grayscale(0)}.priority-hero-inner{min-height:260px;display:flex;align-items:center;gap:22px}.priority-icon-round{width:82px;height:82px;border-radius:50%;background:var(--red);display:grid;place-items:center;flex:0 0 auto}.priority-icon-round svg{width:46px;height:46px;fill:#fff;color:#fff}.priority-hero h1{font-size:46px;text-transform:uppercase;margin:0}.priority-hero .tag{font-size:18px;margin-top:8px}.priority-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line)}.priority-col{padding:26px 28px;min-height:250px;border-right:1px solid var(--line)}.priority-col:last-child{border-right:0}.priority-col h2{font-size:16px;text-transform:uppercase;margin:0 0 14px}.priority-col ul{padding-left:18px;margin:0}.priority-col li{margin:8px 0;font-size:14px}.priority-nav{display:flex;justify-content:space-between;gap:16px;margin-top:22px}.priority-nav a{border:1px solid #aaa;padding:10px 14px;font-size:12px;font-weight:900;text-transform:uppercase}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.action-card,.panel{border:1px solid #ddd;padding:24px;background:#fff}.action-card h3,.panel h2{text-transform:uppercase;margin-top:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:14px}.field label{display:block;font-weight:800;margin-bottom:4px}.field input,.field textarea{width:100%;padding:11px;border:1px solid #ccc;font:inherit}.field textarea{min-height:145px}.amounts{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.amount{padding:16px;border:1px solid #ccc;text-align:center;font-weight:900}.notice{background:#fafafa;border-left:4px solid var(--red);padding:14px;margin:16px 0}
@media(max-width:1000px){.nav{gap:16px}.priority-grid{grid-template-columns:repeat(3,1fr)}.priority-card{border-bottom:1px solid var(--line)}.priority-card:nth-child(3n){border-right:0}.community-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.wrap{width:min(var(--max),calc(100% - 26px))}.site-header{height:66px}.header-inner{gap:10px}.brand-mark{width:43px}.brand-title{font-size:16px}.brand-sub{font-size:8px}.nav{display:none;position:absolute;left:0;right:0;top:66px;background:#050505;flex-direction:column;padding:12px 22px 18px;align-items:stretch}.nav.open{display:flex}.nav a{padding:10px 0}.mobile-toggle{display:block}.donate-btn{font-size:11px;padding:9px 11px}.home-hero{min-height:400px}.home-hero:before{background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.45)),url("../images/hero-home.jpg") 62% center/cover no-repeat}.hero-content{padding-top:48px;text-align:center}.hero-content h1{font-size:48px}.hero-content .strap{font-size:21px}.priority-grid{grid-template-columns:repeat(2,1fr)}.priority-card{min-height:205px;border-right:1px solid var(--line)!important}.priority-card:nth-child(2n){border-right:0!important}.community-grid{grid-template-columns:repeat(2,1fr);gap:18px 8px}.community-card h3{font-size:12px}.mountain-band{padding:28px 0}.community-lead{font-size:21px}.election-inner{flex-direction:column;text-align:center;padding:14px 0}.election-inner strong{font-size:19px}.footer-top{grid-template-columns:1fr;gap:24px}.page-title{font-size:38px}.story-item{grid-template-columns:44% 1fr;gap:14px}.story-item h2{font-size:16px}.story-item p{font-size:13px}.why-photos{gap:8px}.short-copy h2{font-size:27px}.priority-hero-inner{min-height:220px}.priority-hero h1{font-size:34px}.priority-columns{grid-template-columns:1fr}.priority-col{border-right:0;border-bottom:1px solid var(--line);min-height:0}.cards-3,.form-grid{grid-template-columns:1fr}.amounts{grid-template-columns:repeat(3,1fr)}.lightbox-prev,.lightbox-next{font-size:24px;padding:8px 10px}.lightbox-caption{left:10%;right:10%}}
@media(max-width:470px){.brand-sub{display:none}.priority-card p{font-size:12px}.priority-card h3{font-size:13px}.priority-card .icon{width:44px;height:44px}.community-grid{grid-template-columns:repeat(2,1fr)}}

.scroll-section{scroll-margin-top:76px}.section-sub{text-align:center;color:#666;margin:-12px 0 28px}.alt-section{background:#f7f7f7}
@media(max-width:780px){.scroll-section{scroll-margin-top:66px}}


/* ===== V5 MODERN EDITORIAL POLISH ===== */
:root{--soft:#f7f7f5;--soft2:#fbfbfa;--shadow:0 10px 34px rgba(0,0,0,.07);--radius:18px;--radius-lg:28px}
body{background:var(--soft2);color:#171717;letter-spacing:-.005em}
.wrap{width:min(1420px,calc(100% - 56px))}
.site-header{height:74px;background:rgba(5,5,5,.97);backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);box-shadow:0 1px 0 rgba(255,255,255,.06)}
.nav a{padding:28px 0 22px;transition:color .2s ease,border-color .2s ease,opacity .2s ease}.nav a:hover{opacity:.92}
.donate-btn,.btn{border-radius:999px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;box-shadow:0 6px 18px rgba(201,8,11,.18)}
.donate-btn:hover,.btn:hover{transform:translateY(-1px);box-shadow:0 9px 24px rgba(201,8,11,.24)}
.home-hero{min-height:510px;border-radius:0 0 34px 34px;box-shadow:0 16px 42px rgba(0,0,0,.12)}
.home-hero:before{background:linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.42) 48%,rgba(0,0,0,.08)),url("../images/hero-home.jpg") center/cover no-repeat}
.hero-content{padding-top:108px}.hero-content h1{letter-spacing:-2.4px}.hero-content .strap{margin-bottom:28px}
.section,.content{padding:72px 0}.section-title{font-size:38px;margin-bottom:30px;letter-spacing:-.9px}.section-title:after,.page-title:after{width:72px;border-radius:999px}.section-sub{margin:-14px 0 38px;color:#777}

/* Priorities: fewer hard boxes, more editorial spacing */
.priority-grid{border:0;gap:0;background:transparent}.priority-card{min-height:250px;padding:26px 24px;border:0;border-right:1px solid #e7e7e4;background:transparent;transition:transform .22s ease,background .22s ease}.priority-card:last-child{border-right:0}.priority-card:hover{transform:translateY(-3px);background:rgba(255,255,255,.72);border-radius:16px}.priority-card .icon{width:52px;height:52px;margin-bottom:16px}.priority-card h3{font-size:15px;letter-spacing:.2px}.priority-card p{color:#333}.priority-card .learn{transition:transform .2s ease}.priority-card:hover .learn{transform:translateX(3px)}

/* Meet Ivan: portrait editorial frames, never crop the person */
.story-list{max-width:1080px}.story-item{grid-template-columns:minmax(260px,34%) 1fr;gap:54px;padding:0;margin:0 0 58px;border:0;align-items:center}.story-item:nth-child(even){grid-template-columns:1fr minmax(260px,34%)}.story-item:nth-child(even) img{order:2}.story-item:nth-child(even) div{order:1}.story-item img{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;object-position:center;background:#f1f1ef;border-radius:22px;box-shadow:var(--shadow);padding:6px}.story-item h2{font-size:22px;margin-bottom:10px}.story-item p{font-size:16px;line-height:1.7;color:#333}

/* Why I'm Running: equal, symmetrical, no crop */
.why-photos{grid-template-columns:1fr 1fr;gap:28px;max-width:960px;margin:0 auto 44px;align-items:stretch}.why-photos img{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;object-position:center;background:#f1f1ef;border-radius:22px;box-shadow:var(--shadow);padding:6px}.short-copy{max-width:880px}.short-copy h2{font-size:30px;margin-top:42px}.short-copy p{font-size:17px;line-height:1.75;color:#2f2f2f}.quote{border:0;background:#fff;border-radius:20px;box-shadow:var(--shadow);padding:28px 34px;margin:44px auto;font-size:20px;position:relative}.quote:before{content:"";display:block;width:42px;height:3px;background:var(--red);border-radius:99px;margin:0 auto 18px}

/* Community */
.mountain-band{background:linear-gradient(rgba(255,255,255,.78),rgba(255,255,255,.88)),url("../images/priority-mountain.jpg") center 38%/cover no-repeat;padding:68px 0 74px}.community-grid{gap:34px 22px}.community-card{transition:transform .22s ease}.community-card:hover{transform:translateY(-4px)}.community-card img{border-radius:18px;box-shadow:var(--shadow);transition:box-shadow .22s ease}.community-card:hover img{box-shadow:0 14px 38px rgba(0,0,0,.12)}.community-card h3{margin-top:12px;font-size:15px}
.lightbox{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.lightbox img{border-radius:14px}.lightbox-close,.lightbox-prev,.lightbox-next{border-radius:999px;border-color:rgba(255,255,255,.35)}

/* Get involved + contact */
.alt-section{background:#f5f5f2}.cards-3{gap:26px}.action-card,.panel{border:0;border-radius:20px;padding:30px;background:#fff;box-shadow:var(--shadow)}.action-card{transition:transform .22s ease}.action-card:hover{transform:translateY(-4px)}.field input,.field textarea{border:1px solid #d8d8d4;border-radius:12px;background:#fcfcfb;padding:13px 14px;transition:border-color .2s ease,box-shadow .2s ease}.field input:focus,.field textarea:focus{outline:0;border-color:#aaa;box-shadow:0 0 0 4px rgba(0,0,0,.04)}.notice{border-left:0;border-radius:14px;background:#f6f6f3;padding:18px}

/* Election + footer */
.election-banner{background:linear-gradient(100deg,#a90000,#df1518);border-radius:28px 28px 0 0;margin-top:20px}.election-inner{min-height:104px}.site-footer{background:#080808}.footer-top{padding:38px 0 30px}.signup input{border-radius:999px 0 0 999px;padding-left:16px}.signup button{border-radius:0 999px 999px 0}.socials a{transition:transform .2s ease}.socials a:hover{transform:translateY(-2px)}

/* Priority detail pages */
.simple-hero,.priority-hero{border-radius:0 0 28px 28px;overflow:hidden}.priority-hero-inner{min-height:290px}.priority-icon-round{box-shadow:0 10px 30px rgba(201,8,11,.24)}.priority-columns{border:0;gap:18px;background:transparent}.priority-col{border:0!important;background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:30px;min-height:270px}.priority-nav a{border:0;border-radius:999px;background:#f0f0ed;padding:12px 18px;transition:background .2s ease,transform .2s ease}.priority-nav a:hover{background:#e8e8e4;transform:translateY(-1px)}
.amount{border:1px solid #e1e1dd;border-radius:14px;background:#fff}

/* Smooth anchor arrival under sticky header */
.scroll-section{scroll-margin-top:92px}

/* Reveal motion: class added by JS; disabled for reduced motion */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1!important;transform:none!important;transition:none!important}.donate-btn,.btn,.priority-card,.community-card,.action-card{transition:none!important}}

@media(max-width:1000px){.priority-grid{grid-template-columns:repeat(3,1fr);gap:0}.priority-card{border-right:1px solid #e7e7e4;border-bottom:1px solid #e7e7e4}.priority-card:nth-child(3n){border-right:0}.story-item,.story-item:nth-child(even){grid-template-columns:minmax(230px,38%) 1fr;gap:34px}.story-item:nth-child(even) img{order:0}.story-item:nth-child(even) div{order:0}}
@media(max-width:780px){.wrap{width:min(1420px,calc(100% - 28px))}.site-header{height:66px}.home-hero{min-height:430px;border-radius:0 0 24px 24px}.hero-content{padding-top:58px}.hero-content h1{font-size:46px}.section,.content{padding:54px 0}.section-title{font-size:32px}.nav{border-radius:0 0 18px 18px;box-shadow:0 18px 35px rgba(0,0,0,.2)}.priority-grid{grid-template-columns:1fr}.priority-card{min-height:0;display:grid;grid-template-columns:56px 1fr auto;grid-template-rows:auto auto;column-gap:16px;align-items:center;text-align:left;padding:18px 4px;border-right:0!important;border-bottom:1px solid #e8e8e5}.priority-card .icon{grid-row:1/3;margin:0;width:42px;height:42px}.priority-card h3{margin:0}.priority-card p{margin-top:4px;font-size:13px}.priority-card .learn{grid-column:3;grid-row:1/3;margin:0;padding:0;white-space:nowrap}.story-item,.story-item:nth-child(even){grid-template-columns:1fr;gap:20px;margin-bottom:44px}.story-item:nth-child(even) img,.story-item:nth-child(even) div{order:initial}.story-item img{aspect-ratio:4/5;max-height:560px;margin:auto}.story-item h2{text-align:center}.story-item p{text-align:center}.why-photos{grid-template-columns:1fr 1fr;gap:10px}.why-photos img{border-radius:16px;padding:3px}.short-copy h2{font-size:25px}.community-grid{gap:22px 10px}.community-card img{border-radius:14px}.cards-3{gap:16px}.action-card,.panel{border-radius:16px;padding:22px}.election-banner{border-radius:22px 22px 0 0}.priority-columns{grid-template-columns:1fr;gap:14px}.priority-col{min-height:0}.scroll-section{scroll-margin-top:78px}}
@media(max-width:470px){.why-photos{grid-template-columns:1fr}.why-photos img{max-height:520px}.community-grid{grid-template-columns:1fr 1fr}.community-card h3{font-size:11px}.hero-content h1{font-size:42px}}


/* ===== V6 RESPONSIVE + FINAL LAYOUT CORRECTIONS ===== */
/* My Community uses the same clean site background; no mountain image. */
.community-section{background:var(--soft2);padding:68px 0 74px}

/* Keep the tall orange community photo readable in the landscape gallery. */
.community-card img.community-truth-photo{object-fit:contain!important;object-position:center top!important;background:#f1f1ef}

/* Why I'm Running: two genuinely identical image frames. */
.why-photos{align-items:stretch}
.why-photos img{height:560px!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important}

/* Mobile should feel compact, not like a desktop page zoomed in. */
@media(max-width:780px){
  .wrap{width:calc(100% - 24px)}
  .site-header{height:58px}
  .header-inner{gap:8px}
  .brand{gap:6px}
  .brand-mark{width:36px;height:26px}
  .brand-title{font-size:14px;letter-spacing:.5px}
  .brand-sub{font-size:7px;letter-spacing:1px;margin-top:2px}
  .donate-btn{font-size:10px;padding:8px 10px}
  .mobile-toggle{font-size:24px;padding:4px}
  .nav{top:58px;padding:8px 18px 14px}
  .nav a{padding:8px 0;font-size:12px}
  .home-hero{min-height:330px;border-radius:0 0 20px 20px}
  .home-hero:before{background:linear-gradient(rgba(0,0,0,.58),rgba(0,0,0,.40)),url("../images/hero-home.jpg") 62% center/cover no-repeat}
  .hero-content{padding-top:42px;max-width:100%}
  .hero-content h1{font-size:clamp(32px,10vw,40px);line-height:.98;letter-spacing:-1.2px}
  .hero-content .strap{font-size:clamp(16px,5vw,19px);margin:10px 0 16px}
  .hero-content .btn{padding:9px 16px;font-size:11px}
  .section,.content,.community-section{padding:38px 0}
  .section-title{font-size:clamp(24px,7vw,29px);margin-bottom:22px}
  .section-sub{font-size:13px;margin:-10px 0 24px}
  .priority-grid{grid-template-columns:1fr}
  .priority-card{display:grid;grid-template-columns:40px minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:12px;padding:12px 2px;min-height:0;text-align:left}
  .priority-card .icon{width:34px;height:34px;grid-row:1/3}
  .priority-card h3{font-size:12px;margin:0}
  .priority-card p{font-size:11px;line-height:1.35;margin:2px 0 0}
  .priority-card .learn{font-size:10px;grid-column:3;grid-row:1/3;white-space:nowrap}
  .story-list{max-width:520px}
  .story-item,.story-item:nth-child(even){grid-template-columns:1fr;gap:14px;margin-bottom:32px}
  .story-item img{width:min(78vw,360px);height:auto;aspect-ratio:4/5;object-fit:contain;margin:auto;border-radius:16px;padding:4px}
  .story-item h2{font-size:16px;margin:0 0 6px;text-align:center}
  .story-item p{font-size:13px;line-height:1.55;text-align:center}
  .why-photos{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:26px}
  .why-photos img{height:260px!important;border-radius:14px;padding:3px}
  .short-copy h2{font-size:21px;margin:28px 0 10px}
  .short-copy p{font-size:14px;line-height:1.6}
  .quote{font-size:16px;padding:20px 18px;margin:28px auto}
  .community-tag{font-size:12px}
  .community-lead{font-size:18px;margin:6px 0 18px}
  .community-grid{grid-template-columns:1fr 1fr;gap:18px 8px}
  .community-card img{border-radius:12px}
  .community-card h3{font-size:10px;line-height:1.25;margin-top:6px}
  .cards-3{gap:12px}
  .action-card,.panel{padding:18px;border-radius:14px}
  .action-card h3,.panel h2{font-size:17px}
  .action-card p,.panel p{font-size:13px}
  .form-grid{gap:12px}
  .field{margin-bottom:10px}
  .field input,.field textarea{padding:10px 11px;font-size:16px}
  .field textarea{min-height:110px}
  .election-inner{min-height:0;padding:12px 0;gap:10px}
  .election-inner strong{font-size:16px}
  .election-inner span{font-size:12px}
  .election-inner .btn{padding:8px 14px;font-size:10px}
  .footer-top{gap:18px;padding:24px 0 18px}
  .footer-col h4{font-size:12px}
  .footer-col p,.quick{font-size:12px}
  .socials a{width:34px;height:34px}
  .authorization,.footer-bottom{font-size:10px;padding-left:8px;padding-right:8px}
  .page-title{font-size:clamp(30px,9vw,38px)}
  .simple-hero{padding:34px 0}
  .priority-hero-inner{min-height:160px;gap:14px}
  .priority-icon-round{width:58px;height:58px}
  .priority-icon-round svg{width:32px;height:32px}
  .priority-hero h1{font-size:clamp(26px,8vw,34px)}
  .priority-hero .tag{font-size:14px}
  .priority-col{padding:20px;border-radius:14px}
  .scroll-section{scroll-margin-top:68px}
}
@media(max-width:390px){
  .why-photos{grid-template-columns:1fr 1fr}
  .why-photos img{height:220px!important}
  .community-grid{grid-template-columns:1fr 1fr}
  .priority-card{grid-template-columns:36px minmax(0,1fr)}
  .priority-card .learn{grid-column:2;grid-row:3;margin-top:5px}
  .priority-card .icon{width:30px;height:30px}
  .hero-content h1{font-size:31px}
}

/* --- Added for Grav (not in the ported build) ------------------------------
   The Form plugin wraps submit results in .notices (plural). The static build
   had no server feedback at all, so there is nothing to port; this mirrors the
   ported .notice look exactly. The success/error accents are the one addition. */
.notices{background:#f6f6f3;border-radius:14px;padding:18px;margin:16px 0}
.notices p{margin:0}
.notices.success{box-shadow:inset 4px 0 0 #2e7d32}
.notices.error{box-shadow:inset 4px 0 0 var(--red)}
/* Page-top submit result (base.html.twig), full-width band under the header. */
.page-notice{background:#2e7d32;color:#fff;padding:16px 0;font-weight:800;font-size:18px;text-align:center}
.page-notice.error{background:var(--red)}
.page-notice p{margin:0}

/* iOS Safari zooms the page when a focused input has font-size < 16px. The ported build's
   signup input inherits the 13.33px UA default, so tapping it on iPhone zooms and the user has
   to pinch back. Applied only below the 780px breakpoint, so desktop stays pixel-identical
   to the original. */
@media(max-width:780px){
  .signup input,.field input,.field textarea,input[type=email],input[type=text],textarea{font-size:16px}
}

/* basic-captcha: the Form plugin's own styling lives in form-styles.css, which we deliberately
   do not load (built_in_css: false, so it stops fighting the ported design). These four rules
   are that stylesheet's captcha block, copied verbatim, so the challenge image, refresh button
   and answer field sit in one row instead of stacking as loose fragments. */
.form-data.basic-captcha .form-input-wrapper{border:1px solid #ccc;border-radius:5px;display:flex;overflow:hidden}
.form-data.basic-captcha .form-input-prepend{display:flex;align-items:center;color:#333;background-color:#ccc;flex-shrink:0}
.form-data.basic-captcha .form-input-prepend img{margin:0}
.form-data.basic-captcha .form-input-prepend button{background:none;border:0;cursor:pointer;display:flex;align-items:center}
.form-data.basic-captcha .form-input-prepend button>svg{margin:0 8px;width:18px;height:18px}
.form-data.basic-captcha input.form-input{border:0}
