/* Who We Are, part 2: Safety & Quality, Community Impact, Awards & Recognition.
   All classes prefixed w2- so they never clash with site.css or other page sheets. */

/* ---------- pull quote band ---------- */
.w2-quote{display:grid;grid-template-columns:minmax(0,.35fr) minmax(0,1.65fr);gap:clamp(32px,5vw,80px);align-items:start;padding-top:44px;border-top:1px solid rgba(255,255,255,.75)}
.w2-quote .kick{color:var(--red)}
.w2-quote blockquote{margin:0}
.w2-quote blockquote p{font:600 clamp(30px,3.4vw,52px)/1.08 var(--sans);letter-spacing:-.04em}
.w2-quote cite{display:block;margin-top:28px;font:700 12px/1.4 var(--sans);font-style:normal;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.w2-quote-note{margin-top:28px;max-width:720px;color:rgba(255,255,255,.75);font-size:17px}

/* ---------- horizontal process steps ---------- */
.w2-steps{display:grid;grid-template-columns:repeat(5,1fr);counter-reset:w2s;border-top:1px solid var(--line)}
.w2-steps.c4{grid-template-columns:repeat(4,1fr)}
.w2-step{position:relative;padding:34px 26px 10px 0;counter-increment:w2s}
.w2-step+.w2-step{padding-left:26px;border-left:1px solid var(--line)}
.w2-step::before{content:"";position:absolute;top:-6px;left:0;width:11px;height:11px;background:var(--red)}
.w2-step+.w2-step::before{left:26px}
.w2-step .w2-when{display:block;font:500 12.5px/1 var(--mono);color:var(--red);margin-bottom:22px}
.w2-step h3{font-size:clamp(20px,1.7vw,24px);letter-spacing:-.03em;line-height:1.1;margin-bottom:12px}
.w2-step p{color:var(--mute);font-size:15.5px}
.light .w2-steps,.cream .w2-steps,.light .w2-step,.cream .w2-step{border-color:var(--line-d)}
.light .w2-step p,.cream .w2-step p{color:var(--mute-d)}

/* ---------- icon pillars ---------- */
.w2-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.w2-pillars.c3{grid-template-columns:repeat(3,1fr)}
.w2-pillar{display:flex;flex-direction:column;padding:34px 30px;background:var(--ink3);border:1px solid var(--line);border-top:3px solid var(--red);min-height:280px}
.w2-pillar .w2-ic{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:rgba(255,45,45,.12);color:var(--red);margin-bottom:28px}
.w2-pillar .w2-ic .ic{width:24px;height:24px}
.w2-pillar h3{font-size:clamp(22px,1.8vw,27px);letter-spacing:-.03em;line-height:1.08;margin-bottom:14px}
.w2-pillar p{color:var(--mute);font-size:16px}
.w2-pillar .w2-meta{margin-top:auto;padding-top:22px;font:700 11.5px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#fff}
.light .w2-pillar,.cream .w2-pillar{background:#fff;border-color:var(--line-d);border-top-color:var(--red)}
.light .w2-pillar p,.cream .w2-pillar p{color:var(--mute-d)}
.light .w2-pillar .w2-meta,.cream .w2-pillar .w2-meta{color:var(--ink)}

/* ---------- media + checklist ---------- */
.w2-media{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:center}
.w2-media.flip .w2-media-img{order:2}
.w2-media-img{position:relative;aspect-ratio:5/4;overflow:hidden;border-radius:0 140px 0 0}
.w2-media.flip .w2-media-img{border-radius:140px 0 0 0}
.w2-media-img img{width:100%;height:100%;object-fit:cover}
.w2-media h2{font-size:clamp(38px,4.2vw,62px);line-height:.98;letter-spacing:-.045em;margin-bottom:22px}
.w2-media-lede{color:rgba(255,255,255,.78);font-size:17.5px;margin-bottom:30px}
.light .w2-media-lede,.cream .w2-media-lede{color:var(--mute-d)}
.w2-checks{border-top:1px solid var(--line)}
.w2-checks li{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:18px 0;border-bottom:1px solid var(--line)}
.w2-checks .ic{width:20px;height:20px;color:var(--red);margin-top:3px}
.w2-checks b{display:block;font-size:17.5px;font-weight:600;letter-spacing:-.015em;margin-bottom:4px}
.w2-checks span{color:var(--mute);font-size:15.5px}
.light .w2-checks,.light .w2-checks li,.cream .w2-checks,.cream .w2-checks li{border-color:var(--line-d)}
.light .w2-checks span,.cream .w2-checks span{color:var(--mute-d)}

a.w2-pillar{transition:border-color .25s,background .25s}
a.w2-pillar:hover{background:rgba(255,255,255,.05)}
.w2-pillar .w2-meta{display:inline-flex;align-items:center;gap:10px}
.w2-pillar .w2-meta .ic{width:16px;height:16px;color:var(--red);transition:transform .25s}
a.w2-pillar:hover .w2-meta .ic{transform:translateX(4px)}
.w2-more{margin-top:44px}

/* ---------- red pledge plate ---------- */
.w2-pledge{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,5vw,80px);padding:clamp(36px,5vw,72px);background:var(--red);color:#fff;border-radius:0 0 160px 0}
.w2-pledge em{color:var(--ink)}
.w2-pledge .kick .sq{background:var(--ink)}
.w2-pledge h2{margin-top:22px;font-size:clamp(38px,4.4vw,64px);line-height:.98;letter-spacing:-.045em}
.w2-pledge-lede{margin-top:22px;font-size:17.5px;color:rgba(255,255,255,.92)}
.w2-pledge ol{counter-reset:w2p;border-top:1px solid rgba(255,255,255,.5)}
.w2-pledge li{counter-increment:w2p;display:grid;grid-template-columns:56px 1fr;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.35);font-size:18px;font-weight:600;letter-spacing:-.015em;line-height:1.35}
.w2-pledge li::before{content:counter(w2p,decimal-leading-zero);font:500 13px/1.9 var(--mono);color:var(--ink)}

/* ---------- notice board (neighbor communication) ---------- */
.w2-board{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.w2-note{position:relative;padding:30px 28px 28px;background:var(--cream);color:var(--ink);min-height:250px;display:flex;flex-direction:column}
.w2-note:nth-child(3n+2){background:#fff}
.w2-note:nth-child(3n){background:var(--amber)}
.w2-note .w2-tag{display:inline-block;align-self:flex-start;padding:7px 11px;background:var(--ink);color:#fff;font:700 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;margin-bottom:26px}
.w2-note h3{font-size:clamp(21px,1.7vw,25px);letter-spacing:-.03em;line-height:1.1;margin-bottom:12px}
.w2-note p{color:var(--mute-d);font-size:15.5px}
.w2-note:nth-child(3n) p{color:rgba(10,10,15,.78)}
.w2-note .w2-pin{position:absolute;top:18px;right:18px;width:12px;height:12px;border-radius:50%;background:var(--red)}

/* ---------- measures (big scoreboard lines, no numbers) ---------- */
.w2-measures{border-top:1px solid rgba(255,255,255,.75)}
.w2-measure{display:grid;grid-template-columns:110px minmax(0,1fr) minmax(0,1.1fr);gap:32px;align-items:start;padding:40px 0;border-bottom:1px solid var(--line)}
.w2-measure .w2-mi{display:grid;place-items:center;width:72px;height:72px;border:1px solid var(--line);border-radius:50%;color:var(--red)}
.w2-measure .w2-mi .ic{width:28px;height:28px}
.w2-measure h3{font-size:clamp(30px,3.2vw,48px);line-height:1;letter-spacing:-.045em}
.w2-measure p{color:rgba(255,255,255,.78);font-size:17px}
.w2-measure small{display:block;margin-top:14px;font:700 11.5px/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--red)}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .w2-quote{grid-template-columns:1fr;gap:20px}
  .w2-steps,.w2-steps.c4{grid-template-columns:repeat(2,1fr)}
  .w2-step,.w2-step+.w2-step{padding:30px 22px 26px 0;border-left:0;border-bottom:1px solid var(--line)}
  .w2-step:nth-child(2n){padding-left:22px;border-left:1px solid var(--line)}
  .w2-step+.w2-step::before{left:0}
  .w2-step:nth-child(2n)::before{left:22px}
  .w2-pillars{grid-template-columns:repeat(2,1fr)}
  .w2-media{grid-template-columns:1fr}
  .w2-media.flip .w2-media-img{order:0}
  .w2-pledge{grid-template-columns:1fr;border-radius:0 0 100px 0}
  .w2-board{grid-template-columns:repeat(2,1fr)}
  .w2-measure{grid-template-columns:90px 1fr;gap:20px 28px}
  .w2-measure p{grid-column:2}
}
@media (max-width:720px){
  .w2-steps,.w2-steps.c4{grid-template-columns:1fr}
  .w2-step:nth-child(2n){padding-left:0;border-left:0}
  .w2-step:nth-child(2n)::before{left:0}
  .w2-pillars,.w2-pillars.c3{grid-template-columns:1fr}
  .w2-pillar{min-height:0}
  .w2-media-img,.w2-media.flip .w2-media-img{border-radius:0 80px 0 0}
  .w2-pledge{padding:32px 22px;border-radius:0 0 60px 0}
  .w2-pledge li{grid-template-columns:44px 1fr;font-size:16.5px}
  .w2-board{grid-template-columns:1fr}
  .w2-note{min-height:0}
  .w2-measure{grid-template-columns:1fr;gap:16px;padding:32px 0}
  .w2-measure p{grid-column:auto}
  .w2-measure .w2-mi{width:56px;height:56px}
}
