/* Documentary photography and an aligned editorial grid. */
.union-hero{min-height:790px;background:var(--black);color:var(--beige)}
.union-hero .hero-inner{min-height:790px;display:flex;align-items:flex-end}
.union-hero .hero-copy{max-width:none;width:100%;padding:45px 0 48px}
.union-hero .background-photo:after{background:linear-gradient(180deg,rgba(12,12,12,.08) 0%,rgba(12,12,12,.05) 38%,rgba(12,12,12,.78) 69%,rgba(12,12,12,.96) 100%)}
.union-hero .hero-bottom{display:grid;grid-template-columns:1.1fr 1fr;align-items:end;gap:70px}
.union-hero h1{font-size:clamp(76px,7.5vw,112px);margin:20px 0 0;line-height:.95}
.union-hero .hero-description p{max-width:500px;font-size:16px;line-height:1.75}
.union-hero .hero-actions{margin-top:24px;gap:24px}
.union-hero .eyebrow{font-size:13px}
.union-hero .hero-actions .text-link{font-size:14px}
.featured-project{display:grid;grid-template-columns:1.2fr 1fr;margin-bottom:38px;background:var(--pink);color:var(--beige);min-height:430px}
.featured-image{overflow:hidden;min-width:0}
.featured-image img{width:100%;height:100%;min-height:430px;object-fit:cover;object-position:center 45%;transition:transform .4s}
.featured-copy{padding:48px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.featured-copy h3{font-family:var(--display);font-size:clamp(45px,5vw,68px);line-height:1;text-transform:uppercase;margin:28px 0 22px;font-weight:600}
.featured-copy p{font-size:17px;line-height:1.7;max-width:400px}
.featured-link{display:inline-flex;gap:35px;align-items:center;border-bottom:1px solid #ebddcc80;padding:0 0 12px;margin-top:35px;font-size:15px;font-weight:700}
.featured-link svg,.card-bottom>svg{width:24px;height:24px;flex-shrink:0}
.featured-project:hover .featured-image img{transform:scale(1.025)}
.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 28px}
.project-card,.project-card:nth-child(2){padding:0;border-bottom:1px solid var(--line);display:flex;flex-direction:column}
.project-card .project-image{height:auto;aspect-ratio:4/3}
.project-card img{object-position:center 40%}
.project-card-copy{padding:0 0 26px;flex:1}
.project-meta{font-size:12px;line-height:1.6;letter-spacing:.04em;gap:15px;margin:19px 0 13px}
.project-card .project-meta>span:last-child{flex-shrink:0}
.project-card h3{font-size:37px;line-height:1.08;text-transform:uppercase}
.card-bottom{gap:16px;align-items:center}
.card-bottom>svg{color:var(--pink)}
.project-card p{font-size:16px;line-height:1.7;margin-top:14px;max-width:none}
.project-card:hover h3{color:var(--pink)}
.impact-section{background:var(--pink);color:var(--beige)}
.impact-section .section-head{max-width:850px}
.impact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px;margin-top:45px}
.impact-item{border-top:1px solid #ebddcc66;padding-top:24px;display:flex;flex-direction:column}
.impact-item strong{font-family:var(--display);font-size:clamp(45px,5.8vw,78px);font-weight:600;line-height:1.1}
.impact-item>span{font-size:16px;line-height:1.5;margin:12px 0 10px;max-width:210px}
.impact-item small{font-size:13px;margin-top:auto;opacity:.8}
.connections-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:50px;padding-top:25px;border-top:1px solid #ebddcc66}
.connections-grid>div{display:flex;flex-direction:column;gap:5px}
.connections-grid strong{font-size:22px;font-weight:600}
.connections-grid span{font-size:14px}
.impact-section .caption{color:var(--beige);opacity:.8;max-width:760px;font-size:12px;line-height:1.7;margin-top:30px}
.activities-heading{margin-top:70px}
.activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px}
.activity-card{border-bottom:1px solid var(--line);padding-bottom:30px;min-width:0}
.activity-photo{background:#ded0bf;aspect-ratio:4/3;overflow:hidden}
.activity-photo img{width:100%;height:100%;object-fit:contain}
.activity-copy{padding-top:22px}
.activity-year{font-size:13px;color:var(--pink);font-weight:700;display:block;margin-bottom:10px}
.activity-copy h3{font-family:var(--display);font-size:36px;text-transform:uppercase;line-height:1.15;margin-bottom:15px;font-weight:600}
.activity-copy p{font-size:16px;line-height:1.75;color:#59524d}
.source-note{margin-top:55px}
.source-note .caption{font-size:13px}
.donations{padding:45px;background:var(--pink);color:var(--beige);margin-top:55px}
.donations h2{font-size:50px;margin-bottom:22px}
.donations>p{font-size:16px}
.donation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:32px 0}
.donation-grid>div{display:flex;flex-direction:column;gap:6px;border-top:1px solid #ebddcc66;padding-top:18px}
.donation-grid strong{font-family:var(--display);font-size:48px;line-height:1.1}
.donation-grid span{font-size:15px}
.legacy-projects{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.legacy-project{display:grid;grid-template-columns:130px 1fr 24px;gap:22px;align-items:center;border-top:1px solid var(--line);padding:25px 0}
.legacy-project img{width:130px;height:145px;object-fit:cover}
.legacy-project[href*="steptron"] img{object-fit:contain;padding:15px}
.legacy-project h3{font-family:var(--display);font-size:32px;text-transform:uppercase;line-height:1.1;margin:13px 0}
.legacy-project p{font-size:15px;line-height:1.6}
.legacy-project .caption{display:block;font-size:12px}
.legacy-project>svg{width:24px;color:var(--pink)}
.eyebrow{line-height:1.6}
@media(min-width:1600px){.union-hero,.union-hero .hero-inner{min-height:880px}.union-hero .background-photo img{object-position:center 30%!important}}
@media(max-width:1100px){.union-hero .hero-bottom{gap:35px}.union-hero h1{font-size:85px}.union-hero .hero-actions{gap:14px;flex-wrap:wrap}.featured-copy{padding:32px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.legacy-projects{grid-template-columns:1fr}.legacy-project{grid-template-columns:150px 1fr 24px}.impact-grid{gap:22px}}
@media(max-width:700px){
 .union-hero{min-height:0}.union-hero .hero-inner{min-height:0;padding-top:clamp(265px,70vw,460px)}
 .union-hero .background-photo{height:clamp(290px,75vw,490px);bottom:auto}
 .union-hero .background-photo img{object-position:center 34%!important}
 .union-hero .background-photo:after{background:linear-gradient(180deg,transparent 65%,var(--black) 100%)}
 .union-hero .hero-copy{padding:22px 0 38px}.union-hero .hero-bottom{display:block}
 .union-hero h1{font-size:clamp(68px,16vw,100px);margin:17px 0 25px}.union-hero .eyebrow{font-size:12px}
 .union-hero .hero-description p{font-size:16px}.union-hero .hero-actions{gap:20px;margin-top:23px}
 .featured-project{grid-template-columns:1fr;margin-bottom:32px;min-height:0}
 .featured-image{aspect-ratio:4/3}.featured-image img{min-height:0;height:100%}
 .featured-copy{padding:30px}.featured-copy h3{font-size:48px;margin:19px 0}.featured-copy p{font-size:16px}
 .featured-link{margin-top:25px}.project-grid{gap:32px 20px}.project-card h3{font-size:32px}
 .project-card .project-meta{font-size:12px;flex-wrap:wrap;gap:5px 10px}.project-card p{font-size:16px}
 .impact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}.impact-item strong{font-size:56px}
 .impact-item>span{font-size:15px}.connections-grid{grid-template-columns:1fr;gap:24px;margin-top:35px}
 .connections-grid>div{flex-direction:row;justify-content:space-between;align-items:center;gap:20px}.connections-grid span{text-align:right;max-width:160px}
 .activity-grid{grid-template-columns:1fr}.activities-heading{margin-top:45px}
 .activity-copy h3{font-size:33px}.activity-copy p{font-size:16px}
 .donations{padding:28px 22px}.donations h2{font-size:43px}.donation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 15px}
 .donation-grid strong{font-size:43px}.legacy-project{grid-template-columns:85px 1fr 20px;gap:17px}.legacy-project img{width:85px;height:110px}.legacy-project h3{font-size:29px}
 .action-photos img:last-child{display:none}
}
@media(max-width:500px){.project-grid{grid-template-columns:1fr}.project-card h3{font-size:36px}.project-card .project-meta{justify-content:space-between}.impact-item strong{font-size:51px}.legacy-project .eyebrow{font-size:11px}}

.brand-text{line-height:1}
.compact-header{position:relative;gap:30px;height:90px}
.primary-nav{display:flex;align-items:center;gap:30px;margin-left:auto}
.primary-nav a{font-size:14px;font-weight:700;text-transform:uppercase;white-space:nowrap;padding:12px 0;border-bottom:2px solid transparent}
.primary-nav a:hover,.primary-nav a[aria-current]{border-color:var(--pink);color:var(--pink)}
.compact-header .menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:46px;height:46px;flex-shrink:0;padding:10px;border:1px solid var(--line)}
.compact-header .menu-toggle span{display:block;width:22px;height:2px;background:var(--black);margin:0;transform:none;transition:transform .2s,opacity .2s}
.compact-header .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}
.compact-header .menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.compact-header .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}
.secondary-menu{position:absolute;right:0;top:calc(100% - 1px);width:285px;padding:14px 22px;background:var(--beige);border:1px solid var(--line);box-shadow:0 12px 22px #25252514;z-index:100;max-height:calc(100dvh - 155px);overflow:auto}
.secondary-menu[hidden]{display:none}
.secondary-menu a{display:block;padding:14px 0;font-size:16px;font-weight:600;border-bottom:1px solid var(--line)}
.secondary-menu a:last-child{border:0}
.secondary-menu a:hover,.secondary-menu a[aria-current]{color:var(--pink)}
@media(max-width:900px){.compact-header{gap:20px}.primary-nav{gap:18px}.primary-nav a{font-size:12px}.compact-header .brand-text{font-size:30px}}
@media(max-width:700px){.compact-header{display:grid;grid-template-columns:1fr auto;height:auto;gap:0 20px;padding-top:14px;padding-bottom:8px}.compact-header .brand{grid-column:1;grid-row:1}.compact-header .menu-toggle{grid-column:2;grid-row:1}.primary-nav{grid-column:1/-1;grid-row:2;justify-content:space-between;flex-wrap:wrap;gap:0 14px;margin:10px 0 0}.primary-nav a{font-size:12px;padding:11px 0;text-transform:none}.secondary-menu{width:min(285px,100%);top:100%}}
.split-content .button{margin-top:24px}
.frc-hero{display:grid;grid-template-columns:.8fr 1.2fr;background:var(--pink);color:var(--beige)}
.frc-hero-copy{padding:45px max(35px,calc((100vw - 1390px)/2));padding-right:35px;display:flex;flex-direction:column;justify-content:center}
.frc-hero-copy h1{font-size:clamp(65px,6vw,93px);line-height:.95;margin:25px 0}
.frc-hero-copy h1 span{font-size:.8em}
.frc-hero-copy p{font-size:17px;line-height:1.75;max-width:430px}
.frc-hero .breadcrumb{margin-bottom:28px}
.frc-hero-photo{margin:0;min-width:0;background:#252525;display:flex;align-items:center}
.frc-hero-photo img{width:100%;height:auto;display:block}
.frc-gallery{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:start}
.frc-gallery figure{margin:0;min-width:0}
.frc-gallery img{width:100%;height:auto;display:block}
.frc-gallery figcaption,.team-photo figcaption{font-size:13px;margin-top:12px;color:#65594f;line-height:1.6}
.team-photo{margin:0 auto;max-width:1020px}
.team-photo img{width:100%;height:auto}
.mentor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 30px}
.mentor-photo{height:235px;background:#ded0bf;overflow:hidden;display:flex;justify-content:center;align-items:flex-end}
.mentor-photo img{width:100%;height:100%;object-fit:contain;object-position:center bottom}
.mentor-role{display:block;color:var(--pink);font-size:13px;margin:20px 0 8px;font-weight:700}
.mentor-card h3{font-family:var(--display);font-size:35px;text-transform:uppercase;line-height:1.1;margin-bottom:15px}
.mentor-card p{font-size:16px;line-height:1.75;color:#59524d}
.benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px 50px}
.benefit-grid article{border-top:1px solid var(--line);padding-top:26px}
.benefit-grid h3{font-family:var(--display);font-size:38px;text-transform:uppercase;line-height:1.1;margin-bottom:18px}
.benefit-grid p{font-size:17px;line-height:1.75;color:#59524d}
.sponsor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.sponsor-card{border:1px solid var(--line);padding:26px;display:flex;flex-direction:column;justify-content:center;min-height:255px}
.sponsor-logo{height:105px;margin-bottom:25px;padding:12px;background:#f7f1e9}
.sponsor-logo.sponsor-dark{background:var(--pink)}
.sponsor-logo img{width:100%;height:100%;object-fit:contain}
.sponsor-card h3{font-size:21px;line-height:1.2;margin-bottom:12px}
.sponsor-card p{font-size:15px;line-height:1.7;color:#59524d}
@media(max-width:900px){.frc-hero{grid-template-columns:1fr}.frc-hero-copy{padding:35px 30px}.frc-hero-copy h1 br{display:none}.frc-hero-copy h1{font-size:72px}.frc-hero-copy h1 span{margin-left:15px}.frc-hero-copy p{max-width:620px}.frc-hero-photo img{max-height:700px;object-fit:contain}.mentor-grid{grid-template-columns:1fr 1fr}.sponsor-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.frc-hero-copy{padding:30px 20px 35px}.frc-hero-copy h1{font-size:60px}.frc-hero-copy h1 span{display:block;margin:10px 0 0}.frc-hero-copy p{font-size:16px}.frc-gallery,.benefit-grid,.sponsor-grid{grid-template-columns:1fr}.frc-gallery{gap:30px}.mentor-grid{grid-template-columns:1fr;gap:36px}.mentor-photo{height:270px}.mentor-card h3{font-size:34px}.sponsor-card{min-height:0;padding:25px}.sponsor-logo{height:115px}.benefit-grid h3{font-size:33px}.benefit-grid p{font-size:16px}}

/* Shared full-width photo banners. The lower blur supports the overlaid copy. */
.photo-blur{position:absolute;inset:45% 0 0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);mask-image:linear-gradient(to bottom,transparent,#000 65%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 65%);pointer-events:none}
.photo-banner{position:relative;isolation:isolate;overflow:hidden;background:#252525;color:#ebddcc;min-height:clamp(640px,calc(100svh - 92px),820px);padding:0;border-bottom:7px solid var(--pink)}
.photo-banner .background-photo{inset:0;width:100%;height:100%}
.photo-banner .background-photo img{width:100%;height:100%;max-width:none;object-fit:cover}
.photo-banner .background-photo:after,.union-hero .background-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,12,12,.4) 0%,rgba(12,12,12,.05) 30%,rgba(12,12,12,.24) 48%,rgba(12,12,12,.84) 78%,rgba(12,12,12,.96) 100%)}
.photo-banner>.wrap{position:relative;z-index:1;min-height:inherit;display:flex;flex-direction:column;justify-content:space-between;padding-top:32px;padding-bottom:55px}
.photo-banner .breadcrumb{color:inherit;margin:0;text-shadow:0 1px 8px #000}
.photo-banner-content{display:grid;grid-template-columns:1.1fr 1fr;align-items:end;gap:70px;padding-top:270px}
.photo-banner h1{max-width:none;font-size:clamp(68px,7.5vw,112px);line-height:.95;margin:20px 0 0}
.photo-banner .lead{max-width:520px;font-size:17px;line-height:1.75;margin:0;color:inherit;text-wrap:pretty}
.photo-banner .eyebrow{color:inherit}
@media(max-width:1000px){.photo-banner-content{gap:35px}.photo-banner h1{font-size:clamp(62px,8vw,85px)}.photo-banner .lead{font-size:16px}}
@media(max-width:700px){
 .photo-banner{min-height:680px;min-height:max(680px,calc(100svh - 118px))}
 .photo-banner>.wrap{padding-top:24px;padding-bottom:38px}
 .photo-banner-content{grid-template-columns:1fr;gap:25px;padding-top:230px}
 .photo-banner h1{font-size:clamp(58px,13vw,84px);margin:17px 0 0}
 .photo-banner h1 br{display:none}
 .photo-banner .lead{max-width:100%;font-size:16px}
 .photo-banner .background-photo img{object-position:var(--photo-mobile-position,center 38%)!important}
 .union-hero .hero-inner{min-height:740px;padding-top:0}
 .union-hero .background-photo{inset:0;height:100%}
 .union-hero .hero-copy{padding:260px 0 38px}
 .union-hero .background-photo:after{background:linear-gradient(180deg,rgba(12,12,12,.15),rgba(12,12,12,.12) 30%,rgba(12,12,12,.88) 64%,rgba(12,12,12,.98))}
 .photo-blur{backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
}
