/* United Way of Rhode Island homepage */

:root {
  --uw-navy:        #21296B;
  --uw-navy-deep:   #293384;
  --uw-blue:        #0044B5;
  --uw-blue-bright: #5082F0;
  --uw-indigo:      #4050D1;
  --uw-blue-pale:   #A7D2FF;
  --uw-blue-mist:   #F5FAFF;
  --uw-red:         #FD372C;
  --uw-red-deep:    #D12626;
  --uw-gold:        #FFBA00;
  --uw-gold-soft:   #FAD42F;
  --uw-orange:      #F47925;
  --uw-green:       #009464;
  --uw-green-deep:  #156B4C;
  --uw-purple:      #4E4AA6;
  --uw-ink:         #231F20;
  --uw-grey:        #F2F2F2;
  --uw-paper:       #FFFFFF;

  --uw-display: 'Antonio', 'Oswald', Impact, sans-serif;
  --uw-body:    'Lato', Helvetica, Arial, sans-serif;

  --uw-h1: clamp(40px, 5.4vw, 88px);
  --uw-h2: clamp(30px, 3.9vw, 62px);
  --uw-h3: clamp(19px, 1.95vw, 33px);
  --uw-body-size: clamp(15px, 1.04vw, 18px);
  --uw-label: clamp(12px, .98vw, 17px);

  --uw-max: 1488px;
  --uw-gut: clamp(20px, 6.94vw, 120px);
  --uw-sec: clamp(68px, 8.2vw, 144px);
  --uw-r: 16px;
  --uw-r-lg: 28px;
}

*, *::before, *::after { box-sizing: border-box; }
figure, blockquote, figcaption { margin: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; overflow-x: hidden; }
body {
  margin: 0; background: var(--uw-paper); color: var(--uw-ink);
  font-family: var(--uw-body); font-size: var(--uw-body-size);
  line-height: 1.55; -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; height: auto; }
p { margin: 0; }
a { color: var(--uw-blue); }
button { font: inherit; }

h1, h2, h3, h4 {
  font-family: var(--uw-display); margin: 0; font-weight: 700;
  line-height: 1.0; text-transform: uppercase; letter-spacing: 0;
}

.uw-wrap { max-width: var(--uw-max); margin: 0 auto; padding: 0 var(--uw-gut); }
.uw-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.uw-skip {
  position: absolute; left: -9999px; top: 0; z-index: 300;
  background: var(--uw-gold); color: var(--uw-ink); padding: 14px 22px;
  font-weight: 700; text-decoration: none;
}
.uw-skip:focus { left: 0; }
:focus-visible { outline: 3px solid var(--uw-gold); outline-offset: 3px; }

/* BLOCK: buttons */
.uw-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 46px; padding: 13px 30px;
  font-family: var(--uw-display); font-weight: 600;
  font-size: var(--uw-label); letter-spacing: 0; text-transform: uppercase;
  text-decoration: none; border: 2px solid transparent; border-radius: 40px;
  cursor: pointer; transition: background-color .25s, color .25s, border-color .25s, transform .25s;
}
.uw-btn:hover { transform: translateY(-2px); }
.uw-btn--red { background: var(--uw-red); color: #fff; }
.uw-btn--red:hover { background: var(--uw-red-deep); color: #fff; }
.uw-btn--gold { background: var(--uw-gold); color: var(--uw-navy); }
.uw-btn--gold:hover { background: #EDB412; color: var(--uw-navy); }
.uw-btn--navy { background: var(--uw-navy); color: #fff; }
.uw-btn--navy:hover { background: var(--uw-navy-deep); color: #fff; }
.uw-btn--outline { background: transparent; color: var(--uw-navy); border-color: var(--uw-navy); }
.uw-btn--outline:hover { background: var(--uw-navy); color: #fff; }
.uw-arrow {
  width: 42px; height: 42px; border-radius: 50%; background: var(--uw-navy);
  color: #fff; display: inline-flex; align-items: center; justify-content: center;
  border: none; cursor: pointer; flex: none; font-size: 17px; text-decoration: none;
  transition: background-color .25s, transform .25s;
}
.uw-arrow:hover { background: var(--uw-blue); color: #fff; transform: translateX(3px); }

/* BLOCK: header */
.uw-header {
  position: sticky;
  top: 0;
  z-index: 120;
  background: rgba(255,255,255,.88);
  border-bottom: 1px solid rgba(33, 41, 107, 0);
  backdrop-filter: blur(16px) saturate(135%);
  -webkit-backdrop-filter: blur(16px) saturate(135%);
  transition: background-color .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.uw-header.is-scrolled {
  background: rgba(255,255,255,.72);
  border-bottom-color: rgba(33, 41, 107, .12);
  box-shadow: 0 14px 38px rgba(20, 32, 63, .12);
}
.uw-header__inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: clamp(14px, 2.6vw, 40px); max-width: var(--uw-max); margin: 0 auto;
  padding: clamp(18px, 1.4vw, 24px) var(--uw-gut);
}
.uw-logo { display: flex; align-items: center; gap: 11px; text-decoration: none; flex: none; }
.uw-logo img { width: clamp(150px, 13vw, 223px); height: auto; }
.uw-nav { display: flex; align-items: center; gap: clamp(10px, 1.5vw, 22px); }
.uw-nav a {
  font-family: var(--uw-display); font-weight: 600; font-size: var(--uw-label);
  letter-spacing: 0; text-transform: uppercase; text-decoration: none;
  color: var(--uw-navy); padding: 8px 2px;
}
.uw-nav a:hover { color: var(--uw-blue); }
.uw-nav i { width: 1px; height: 17px; background: rgba(29,44,107,.3); display: block; }
.uw-header__end { display: flex; align-items: center; gap: 10px; }
.uw-search {
  width: 41px; height: 41px; border-radius: 50%; border: none; cursor: pointer;
  padding: 0; background: transparent; color: #fff; display: flex; align-items: center; justify-content: center;
  flex: none; transition: transform .22s ease, filter .22s ease;
}
.uw-search img { display: block; width: 100%; height: 100%; }
.uw-search:hover { transform: translateY(-1px); filter: brightness(1.08); }
.uw-search:focus-visible { outline: 3px solid rgba(80,130,240,.45); outline-offset: 3px; }
.uw-burger { display: none; width: 46px; height: 46px; border: none; background: none; cursor: pointer; flex-direction: column; align-items: center; justify-content: center; gap: 5px; }
.uw-burger span { display: block; width: 24px; height: 2.5px; background: var(--uw-navy); border-radius: 2px; }
@media (max-width: 1080px) { .uw-nav { display: none; } .uw-burger { display: flex; } }

/* BLOCK: hero */
.uw-hero { position: relative; overflow: visible; background: #fff; z-index: 0; }
.uw-hero .uw-wrap { position: relative; z-index: 3; }
.uw-hero__grid {
  display: grid; grid-template-columns: minmax(0, 46%);
  gap: clamp(24px, 3vw, 56px); align-items: center;
  min-height: clamp(660px, 52vw, 900px);
  padding: clamp(74px, 5.9vw, 102px) 0 0; }
.uw-hero__text { min-width: 0; }
.uw-hero__text { container-type: inline-size; }
.uw-hero h1 { color: var(--uw-navy); font-size: clamp(34px, 15.4cqw, 112px); line-height: .96; }
.uw-hero h1 span { display: block; white-space: nowrap; }
.uw-hero p {
  font-weight: 700; font-size: clamp(14px, 1.16vw, 20px); line-height: 1.45;
  color: var(--uw-ink); margin: clamp(26px, 3.2vw, 54px) 0 clamp(20px, 2vw, 34px);
  max-width: 42ch;
}

.uw-circ--purple { background: var(--uw-purple); }
.uw-circ--orange { background: var(--uw-orange); }
.uw-circ--gold { background: var(--uw-gold); }
.uw-hero__corner { display: none; }
@media (max-width: 900px) { .uw-hero__grid { grid-template-columns: 1fr; } .uw-hero__corner { display: none; } }

/* BLOCK: 211 support */
.uw-211 {
  position: relative; overflow: visible;
  --uw-ring-bleed: clamp(82px, 8vw, 132px);
  --uw-ring-size: clamp(520px, 58vw, 760px);
  --uw-ring-radius: clamp(330px, 34vw, 470px);
  --uw-ring-center-x: 0%;
  --uw-ring-center-y: 50%;
  background: linear-gradient(90deg, #21296B 25.16%, #2C378F 67.62%, #4050D1 100%);
  min-height: clamp(430px, 41.5vw, 717px);
  padding: 0;
  display: flex;
  align-items: center;
}
.uw-211__rings {
  display: block; position: absolute; pointer-events: none;
  left: 0; top: calc(-1 * var(--uw-ring-bleed));
  width: var(--uw-ring-size); height: calc(100% + var(--uw-ring-bleed) + var(--uw-ring-bleed));
  z-index: 0; overflow: visible; contain: none;
  background: radial-gradient(circle var(--uw-ring-radius) at var(--uw-ring-center-x) var(--uw-ring-center-y),
    var(--uw-blue) 0 21%,
    var(--uw-gold) 21% 37%,
    var(--uw-navy) 37% 45%,
    var(--uw-blue) 45% 88%,
    transparent 88%);
}
.uw-211 > .uw-wrap { position: relative; z-index: 2; width: 100%; }



.uw-211__grid {
  position: relative; z-index: 1;
  display: grid; grid-template-columns: clamp(300px, 28.9vw, 500px) minmax(0, 1fr);
  gap: clamp(64px, 7.75vw, 134px); align-items: center;
  padding-left: clamp(120px, 11.6vw, 200px);
}
.uw-211__card {
  background: #fff; border-radius: var(--uw-r-lg);
  min-height: clamp(300px, 28.9vw, 500px);
  padding: clamp(42px, 3.75vw, 65px) clamp(42px, 4.95vw, 86px);
  display: flex; flex-direction: column; justify-content: center;
}
.uw-211__badge {
  display: inline-block; background: var(--uw-blue); color: #fff;
  font-family: var(--uw-display); font-weight: 700; font-size: clamp(24px, 2.2vw, 36px);
  padding: 6px 20px 10px; border-radius: 14px 14px 14px 4px;
  margin-bottom: clamp(18px, 2vw, 30px); position: relative;
}
.uw-211__badge::after {
  content: ''; position: absolute; right: -9px; top: 6px; width: 18px; height: 100%;
  background: var(--uw-gold); border-radius: 0 14px 14px 0; z-index: -1;
}
.uw-211__card h2 { font-size: clamp(38px, 4.05vw, 70px); color: var(--uw-navy); }
.uw-211__body p:first-child {
  font-weight: 700; font-size: clamp(18px, 1.74vw, 30px); line-height: 1.35; color: #fff;
}
.uw-211__body p + p { margin-top: clamp(16px, 1.8vw, 26px); font-size: var(--uw-body-size); color: rgba(255,255,255,.94); }
.uw-211__body a { color: #fff; }
.uw-211__icons { display: flex; gap: 10px; margin-top: clamp(18px, 2vw, 28px); }
.uw-211__icons a {
  width: 40px; height: 40px; border-radius: 50%; background: #fff; color: var(--uw-navy);
  display: flex; align-items: center; justify-content: center; text-decoration: none; font-size: 16px;
}
.uw-211__icons a:hover { background: var(--uw-gold); }
@media (max-width: 900px) {
  .uw-211 {
    min-height: clamp(530px, 84vw, 612px);
    --uw-ring-bleed: clamp(76px, 14vw, 104px);
    --uw-ring-size: clamp(390px, 76vw, 560px);
    --uw-ring-radius: clamp(270px, 46vw, 340px);
    --uw-ring-center-y: 52%;
  }
  .uw-211__rings {
    top: calc(-1 * var(--uw-ring-bleed));
    width: var(--uw-ring-size);
    height: calc(100% + var(--uw-ring-bleed) + var(--uw-ring-bleed));
    background: radial-gradient(circle var(--uw-ring-radius) at var(--uw-ring-center-x) var(--uw-ring-center-y),
      var(--uw-blue) 0 21%,
      var(--uw-gold) 21% 37%,
      var(--uw-navy) 37% 45%,
      var(--uw-blue) 45% 88%,
      transparent 88%);
  }
  .uw-211__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(24px, 5vw, 38px);
    padding-left: clamp(108px, 18vw, 144px);
    padding-right: 0;
  }
  .uw-211__card {
    width: min(100%, 360px);
    min-height: clamp(300px, 50vw, 360px);
    padding: clamp(34px, 6vw, 44px);
  }
  .uw-211__card h2 {
    font-size: clamp(42px, 8.4vw, 56px);
  }
}
@media (max-width: 560px) {
  .uw-211 {
    min-height: 560px;
    --uw-ring-bleed: 72px;
    --uw-ring-size: 390px;
    --uw-ring-radius: 268px;
    --uw-ring-center-y: 52%;
  }
  .uw-211__rings {
    left: 0;
    top: calc(-1 * var(--uw-ring-bleed));
    height: calc(100% + var(--uw-ring-bleed) + var(--uw-ring-bleed));
    width: var(--uw-ring-size);
    background: radial-gradient(circle var(--uw-ring-radius) at var(--uw-ring-center-x) var(--uw-ring-center-y),
      var(--uw-blue) 0 21%,
      var(--uw-gold) 21% 37%,
      var(--uw-navy) 37% 45%,
      var(--uw-blue) 45% 88%,
      transparent 88%);
  }
  .uw-211__grid {
    padding-left: clamp(74px, 19vw, 104px);
  }
  .uw-211__card {
    width: min(100%, 314px);
  }
}

/* BLOCK: donation tiers */
.uw-give { position: relative; background: var(--uw-navy); overflow: hidden; min-height: clamp(680px, 56.2vw, 970px); }
.uw-give__grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; min-height: inherit; }
.uw-give__img { position: relative; min-height: 420px; }
.uw-give__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.uw-give__panel { padding: clamp(36px, 4.6vw, 88px) var(--uw-gut) clamp(46px, 5.4vw, 96px) clamp(28px, 3.4vw, 60px); }
.uw-give__panel h2 { font-size: clamp(34px, 4.2vw, 68px); color: #fff; margin-bottom: clamp(22px, 2.6vw, 38px); }
.uw-freq, .uw-tiers { display: grid; gap: 10px; margin-bottom: 12px; }
.uw-freq { grid-template-columns: repeat(3, 1fr); }
.uw-tiers { grid-template-columns: repeat(4, 1fr); }
.uw-pill {
  background: transparent; border: 2px solid #fff; border-radius: 10px;
  color: #fff; font-family: var(--uw-display); font-weight: 600;
  font-size: clamp(13px, 1.05vw, 17px); letter-spacing: 0; text-transform: uppercase;
  padding: 13px 6px; min-height: 48px; cursor: pointer;
  transition: background-color .22s, color .22s, border-color .22s;
}
.uw-pill:hover { background: rgba(255,255,255,.14); }
.uw-pill[aria-pressed="true"] { background: var(--uw-gold); border-color: var(--uw-gold); color: var(--uw-navy); }
.uw-give__impact {
  display: flex; align-items: center; gap: clamp(16px, 2vw, 32px);
  border: 2px solid #fff; border-radius: 10px; padding: clamp(16px, 1.8vw, 26px) clamp(18px, 2vw, 30px);
  margin: 12px 0 clamp(16px, 1.8vw, 26px);
}
.uw-give__impact strong {
  font-family: var(--uw-display); font-weight: 700; font-size: clamp(20px, 1.9vw, 30px);
  color: #fff; white-space: nowrap;
}
.uw-give__impact span { border-left: 2px solid rgba(255,255,255,.5); padding-left: clamp(16px, 2vw, 30px); font-weight: 700; color: #fff; font-size: var(--uw-label); line-height: 1.45; }
.uw-give .uw-btn { width: 100%; }
@media (max-width: 900px) {
  .uw-give__grid { grid-template-columns: 1fr; }
  .uw-give__img { min-height: 280px; }
  .uw-give__panel { padding-left: var(--uw-gut); }
  .uw-give__impact { flex-direction: column; align-items: flex-start; gap: 12px; }
  .uw-give__impact span { border-left: none; padding-left: 0; }
}

/* BLOCK: pillars */
.uw-pillars { min-height: 0; padding: clamp(104px, 8.6vw, 149px) 0 clamp(74px, 6.4vw, 118px); text-align: center; }
.uw-pillars h2 { font-size: var(--uw-h2); color: var(--uw-navy); margin-bottom: clamp(34px, 4.4vw, 76px); }
.uw-pillars__grid { display: grid; grid-template-columns: repeat(3, 1fr); max-width: var(--uw-max); margin: 0 auto; padding: 0 var(--uw-gut); }
.uw-pillar { position: relative; display: block; text-decoration: none; overflow: hidden; }
.uw-pillar__img { aspect-ratio: 5 / 4; overflow: hidden; }
.uw-pillar__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.22,1,.36,1); }
.uw-pillar:hover .uw-pillar__img img { transform: scale(1.05); }
.uw-pillar__band {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 1;
  background: rgba(253,55,44,.64); color: #fff; padding: clamp(16px, 1.8vw, 26px) clamp(14px, 1.6vw, 24px);
  border-left: 1px solid rgba(255,255,255,.45);
}
.uw-pillar:first-child .uw-pillar__band { border-left: none; }
.uw-pillar__band h3 { font-size: clamp(19px, 1.75vw, 29px); color: #fff; }
.uw-pillar__band p { font-weight: 700; font-size: var(--uw-label); margin-top: 8px; }
@media (max-width: 860px) { .uw-pillars__grid { grid-template-columns: 1fr; } .uw-pillar__band { border-left: none; } }

/* BLOCK: donor quotes */
.uw-donors { background: var(--uw-grey); min-height: clamp(820px, 63.8vw, 1102px); padding: clamp(124px, 12vw, 208px) 0; position: relative; overflow: hidden; display: flex; align-items: center; }
.uw-donors .uw-wrap { width: 100%; }
.uw-donors__grid { display: grid; grid-template-columns: minmax(0, .62fr) minmax(0, 1fr); gap: clamp(26px, 3.4vw, 64px); }
.uw-donors h2 { font-size: clamp(34px, 4vw, 66px); color: var(--uw-navy); }
.uw-donors__intro p { margin: clamp(26px, 3.4vw, 52px) 0 clamp(22px, 2.6vw, 36px); font-weight: 700; color: var(--uw-ink); }
.uw-donors__ctl { display: flex; align-items: center; gap: 12px; }
.uw-quotes { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(14px, 1.8vw, 26px); }
.uw-quote { background: #fff; border-radius: var(--uw-r); overflow: hidden; display: flex; flex-direction: column; }
.uw-quote__mark { font-family: Georgia, serif; font-size: 54px; line-height: .8; color: var(--uw-navy); padding: clamp(22px, 2.4vw, 34px) clamp(22px, 2.4vw, 34px) 0; }
.uw-quote blockquote {
  margin: 0; padding: clamp(14px, 1.6vw, 22px) clamp(22px, 2.4vw, 34px) clamp(26px, 2.8vw, 40px);
  font-weight: 700; font-size: clamp(16px, 1.32vw, 21px); line-height: 1.42; color: var(--uw-navy); flex: 1;
}
.uw-quote figcaption { background: var(--uw-navy); color: #fff; padding: clamp(16px, 1.8vw, 26px) clamp(22px, 2.4vw, 34px); }
.uw-quote__name { font-family: var(--uw-display); font-weight: 600; font-size: clamp(15px, 1.2vw, 19px); text-transform: uppercase; letter-spacing: 0; }
.uw-quote__role { font-size: 13px; letter-spacing: 0; text-transform: uppercase; color: rgba(255,255,255,.82); margin-top: 3px; }
@media (max-width: 900px) { .uw-donors__grid, .uw-quotes { grid-template-columns: 1fr; } }

/* BLOCK: impact stats */
.uw-stats { position: relative; background: var(--uw-navy); min-height: clamp(1080px, 87.4vw, 1510px); padding: clamp(124px, 9vw, 156px) 0; overflow: hidden; display: flex; align-items: center; }
.uw-stats .uw-wrap { width: 100%; }
.uw-stats::before {
  content: ''; position: absolute; left: -160px; top: -120px; width: 760px; height: 760px;
  border-radius: 50%; border: 60px solid rgba(255,255,255,.045);
}
.uw-stats h2 { position: relative; font-size: var(--uw-h2); color: #fff; text-align: center; margin-bottom: clamp(34px, 4.4vw, 74px); }
.uw-stats__grid {
  position: relative; display: grid; grid-template-columns: repeat(3, 1fr);
  gap: clamp(14px, 2vw, 34px); max-width: 1120px; margin: 0 auto;
}
.uw-statcirc {
  border-radius: 50%; aspect-ratio: 1; display: flex; flex-direction: column;
  align-items: center; justify-content: center; text-align: center; padding: 12% 14%; overflow: hidden;
}
.uw-statcirc img { width: 100%; height: 100%; object-fit: cover; }
.uw-statcirc--photo { padding: 0; }
.uw-statcirc--green { background: var(--uw-green); }
.uw-statcirc--orange { background: var(--uw-orange); }
.uw-statcirc--purple { background: var(--uw-purple); }
.uw-statcirc__n { font-family: var(--uw-display); font-weight: 700; font-size: clamp(34px, 4.4vw, 76px); line-height: 1; color: #fff; }
.uw-statcirc__r { width: 54px; height: 2px; background: rgba(255,255,255,.7); margin: clamp(10px, 1.2vw, 18px) 0; }
.uw-statcirc__l { font-weight: 700; font-size: clamp(12px, 1.02vw, 16px); line-height: 1.35; color: #fff; }
@media (max-width: 860px) {
  .uw-stats__grid { grid-template-columns: repeat(2, 1fr); }
  .uw-statcirc--hide { display: none; }
}

/* BLOCK: workplaces */
.uw-work { min-height: clamp(820px, 57.5vw, 994px); padding: clamp(84px, 7vw, 120px) 0; display: flex; align-items: center; }
.uw-work .uw-wrap { width: 100%; }
.uw-work__head { display: grid; grid-template-columns: minmax(0, .52fr) minmax(0, 1fr); gap: clamp(22px, 3vw, 54px); align-items: start; margin-bottom: clamp(30px, 3.8vw, 62px); }
.uw-work__head h2 { font-size: clamp(30px, 3.4vw, 56px); color: var(--uw-navy); }
.uw-work__head p { font-weight: 700; font-size: clamp(16px, 1.4vw, 22px); line-height: 1.45; color: var(--uw-navy); }
.uw-work__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(16px, 2vw, 34px); }
.uw-workcard { border-radius: var(--uw-r); overflow: hidden; display: flex; flex-direction: column; }
.uw-workcard__img { aspect-ratio: 16 / 10; overflow: hidden; }
.uw-workcard__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.22,1,.36,1); }
.uw-workcard:hover .uw-workcard__img img { transform: scale(1.04); }
.uw-workcard__body { background: var(--uw-blue-pale); padding: clamp(22px, 2.6vw, 40px); flex: 1; }
.uw-workcard h3 { font-family: var(--uw-body); font-weight: 700; text-transform: none;
  letter-spacing: 0; line-height: 1.25; font-size: clamp(18px, 1.5vw, 23px); color: var(--uw-navy); }
.uw-workcard p { font-weight: 700; font-size: var(--uw-label); line-height: 1.55; color: var(--uw-ink); margin: clamp(14px, 1.6vw, 24px) 0 clamp(16px, 1.8vw, 26px); }
.uw-workcard a {
  font-family: var(--uw-display); font-weight: 600; font-size: var(--uw-label);
  letter-spacing: 0; text-transform: uppercase; color: var(--uw-blue); text-decoration: none;
}
.uw-workcard a:hover { text-decoration: underline; }
@media (max-width: 860px) { .uw-work__head, .uw-work__grid { grid-template-columns: 1fr; } }

/* BLOCK: nonprofits */
.uw-np { position: relative; min-height: clamp(640px, 46.8vw, 809px); padding: clamp(74px, 6.4vw, 110px) 0; display: flex; align-items: center; }
.uw-np .uw-wrap { width: 100%; }
.uw-np__bg { position: absolute; left: 0; right: 0; bottom: 0; height: 62%; background: var(--uw-blue-bright); }
.uw-np__top { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding-bottom: clamp(24px, 3vw, 46px); }
.uw-np__top h2 { font-size: clamp(28px, 3.2vw, 52px); color: var(--uw-navy); }
.uw-np__link { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--uw-navy); font-weight: 700; }
.uw-np__card { position: relative; display: grid; grid-template-columns: 1fr 1fr; border-radius: var(--uw-r-lg); overflow: hidden; }
.uw-np__copy { background: var(--uw-navy); color: #fff; padding: clamp(28px, 3.4vw, 62px); display: flex; flex-direction: column; }
.uw-np__copy h3 { font-size: clamp(24px, 2.6vw, 42px); color: #fff; margin-bottom: clamp(18px, 2vw, 30px); }
.uw-np__copy p { font-size: var(--uw-label); line-height: 1.55; color: rgba(255,255,255,.94); }
.uw-np__copy p:first-of-type { font-weight: 700; margin-bottom: clamp(12px, 1.4vw, 20px); }
.uw-np__ctl { display: flex; align-items: center; gap: 10px; margin-top: auto; padding-top: clamp(24px, 3vw, 46px); }
.uw-np__ctl .uw-arrow { background: var(--uw-gold); color: var(--uw-navy); width: 38px; height: 38px; }
.uw-np__ctl .uw-arrow:hover { background: #fff; }
.uw-np__dots { display: flex; gap: 7px; margin-left: auto; }
.uw-np__dots i { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,.4); display: block; }
.uw-np__dots i.on { background: #fff; }
.uw-np__img { min-height: 340px; position: relative; }
.uw-np__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 860px) { .uw-np__card { grid-template-columns: 1fr; } .uw-np__bg { height: 76%; } }

/* BLOCK: join */
.uw-join { background: linear-gradient(180deg, #4050D1 4.93%, #293384 53.09%, #21296B 100%); min-height: clamp(690px, 48.3vw, 835px); padding: clamp(86px, 7.6vw, 132px) 0; display: flex; align-items: center; }
.uw-join .uw-wrap { width: 100%; }
.uw-join h2 { font-size: var(--uw-h2); color: #fff; text-align: center; margin-bottom: clamp(28px, 3.4vw, 56px); }
.uw-join__card { background: #fff; border-radius: var(--uw-r-lg); padding: clamp(30px, 3.6vw, 62px) clamp(20px, 2.4vw, 40px); display: grid; grid-template-columns: repeat(3, 1fr); }
.uw-joincol { text-align: center; padding: 0 clamp(14px, 2vw, 34px); border-left: 1px solid rgba(29,44,107,.22); display: flex; flex-direction: column; align-items: center; gap: clamp(14px, 1.6vw, 24px); }
.uw-joincol:first-child { border-left: none; }
.uw-joincol h3 { font-size: clamp(30px, 3.4vw, 56px); color: var(--uw-navy); }
.uw-joincol--gold h3 { color: var(--uw-gold); }
.uw-joincol p { font-weight: 700; font-size: var(--uw-label); line-height: 1.5; }
.uw-joincol .uw-btn { padding: 11px 26px; min-height: 42px; }
@media (max-width: 860px) { .uw-join__card { grid-template-columns: 1fr; gap: 34px; } .uw-joincol { border-left: none; } }

/* BLOCK: news */
.uw-news { background: var(--uw-blue-pale); min-height: clamp(740px, 63vw, 1088px); padding: clamp(78px, 6.9vw, 120px) 0; display: flex; align-items: center; }
.uw-news .uw-wrap { width: 100%; }
.uw-news__top { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-bottom: clamp(26px, 3.2vw, 48px); }
.uw-tabs { display: flex; gap: 10px; }
.uw-tab {
  background: transparent; border: 2px solid var(--uw-navy); border-radius: 10px;
  font-family: var(--uw-display); font-weight: 600; font-size: var(--uw-label);
  letter-spacing: 0; text-transform: uppercase; color: var(--uw-navy);
  padding: 11px 20px; min-height: 44px; cursor: pointer; transition: background-color .22s, color .22s;
}
.uw-tab[aria-selected="true"] { background: var(--uw-navy); color: #fff; }
.uw-news__all { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--uw-navy); font-weight: 700; }
.uw-news__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 2vw, 30px); }
.uw-article { background: #fff; border-radius: var(--uw-r); padding: clamp(22px, 2.6vw, 38px); display: flex; flex-direction: column; gap: 14px; }
.uw-article h3 { font-family: var(--uw-body); font-weight: 700; font-size: clamp(18px, 1.5vw, 24px); line-height: 1.28; text-transform: none; letter-spacing: 0; }
.uw-article h3 a { color: var(--uw-navy); text-decoration: none; }
.uw-article h3 a:hover { text-decoration: underline; }
.uw-article time { font-weight: 700; font-size: 14px; color: var(--uw-blue); }
.uw-article p { font-weight: 700; font-size: var(--uw-label); line-height: 1.5; color: var(--uw-ink); }
@media (max-width: 860px) { .uw-news__grid { grid-template-columns: 1fr; } }

/* BLOCK: footer */
.uw-footer { position: relative; background: var(--uw-navy); color: #fff; min-height: clamp(780px, 66.1vw, 1142px); padding: clamp(70px, 6.3vw, 109px) 0 0; }
.uw-sub-pill {
  position: absolute; top: clamp(-18px, -1.6vw, -10px); left: var(--uw-gut); z-index: 3;
  background: var(--uw-navy); border-radius: 10px; padding: 16px 26px;
  font-family: var(--uw-display); font-weight: 600; font-size: clamp(13px, 1.15vw, 18px);
  letter-spacing: 0; text-transform: uppercase; color: #fff; text-decoration: none;
  display: inline-flex; gap: .4em;
}
.uw-sub-pill b { color: var(--uw-gold); font-weight: 600; }
.uw-sub-pill:hover { color: #fff; background: var(--uw-navy-deep); }
.uw-footer__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .48fr); gap: clamp(24px, 3vw, 56px); }
.uw-footer__logo { width: clamp(180px, 17vw, 240px); margin-bottom: clamp(26px, 3vw, 46px); }
.uw-footer__eyebrow { font-family: var(--uw-display); font-weight: 600; font-size: clamp(15px, 1.3vw, 21px); letter-spacing: 0; text-transform: uppercase; margin-bottom: clamp(12px, 1.4vw, 20px); }
.uw-footer__lock { font-family: var(--uw-display); font-weight: 700; font-size: clamp(46px, 7.4vw, 122px); line-height: .88; text-transform: uppercase; }
.uw-footer__portrait { width: clamp(200px, 26vw, 360px); aspect-ratio: 1; border-radius: 50%; overflow: hidden; border: 6px solid #fff; margin-left: auto; }
.uw-footer__portrait img { width: 100%; height: 100%; object-fit: cover; }
.uw-footer__meta { display: flex; flex-wrap: wrap; gap: clamp(20px, 3vw, 56px); align-items: flex-start; padding: clamp(26px, 3.2vw, 52px) 0 clamp(22px, 2.6vw, 40px); }
.uw-footer__hours { border-left: 1px solid rgba(255,255,255,.4); padding-left: clamp(18px, 2.2vw, 34px); font-size: var(--uw-label); }
.uw-footer__hours a { color: #fff; }
.uw-footer__nav { display: flex; flex-wrap: wrap; gap: clamp(14px, 2vw, 30px); align-items: center; }
.uw-footer__nav a { font-family: var(--uw-display); font-weight: 600; font-size: var(--uw-label); letter-spacing: 0; text-transform: uppercase; color: #fff; text-decoration: none; }
.uw-footer__nav a:hover { color: var(--uw-gold); }
.uw-social { display: flex; gap: 9px; }
.uw-social a { width: 34px; height: 34px; border-radius: 50%; background: #fff; color: var(--uw-navy); display: flex; align-items: center; justify-content: center; text-decoration: none; font-size: 14px; font-weight: 700; }
.uw-social a:hover { background: var(--uw-gold); }
.uw-badges { display: flex; gap: 10px; }
.uw-badges img { height: 62px; width: auto; background: #fff; border-radius: 4px; padding: 4px; }
.uw-footer__legal { background: var(--uw-gold); color: var(--uw-navy); margin-top: clamp(24px, 3vw, 44px); }
.uw-footer__legal .uw-wrap { display: flex; flex-wrap: wrap; gap: 18px; justify-content: space-between; padding-top: 16px; padding-bottom: 16px; font-weight: 700; font-size: var(--uw-label); }
.uw-footer__legal a { color: var(--uw-navy); text-decoration: none; margin-right: 18px; }
.uw-footer__legal a:hover { text-decoration: underline; }
@media (max-width: 900px) {
  .uw-footer__grid { grid-template-columns: 1fr; }
  .uw-footer__portrait { margin: 0 0 24px; }
  .uw-footer__hours { border-left: none; padding-left: 0; }
}

.uw-reveal { opacity: 1; transform: none; }

.uw-collage {
  position: absolute;
  left: 50%;
  top: 0;
  width: 50vw;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}
.uw-collage .uw-circ { position: absolute; border-radius: 50%; overflow: hidden; width: min(25vw, 432px); aspect-ratio: 1; }
.uw-collage .uw-circ img { width: 100%; height: 100%; object-fit: cover; display: block; }
.uw-collage .uw-c0 { left: 0; top: -18vw; }
.uw-collage .uw-c1 { left: 0; top: 7vw; }
.uw-collage .uw-c2 { left: min(25vw, 432px); top: -2vw; }
.uw-collage .uw-c3 { left: 0; top: 32.2vw; }
.uw-collage .uw-c4 { left: min(25vw, 432px); top: 22.9vw; }
.uw-collage .uw-c5 { left: min(25vw, 432px); top: 47.9vw; }
.uw-collage .uw-c6 { left: 0; top: 57.2vw; }
.uw-collage .uw-circ--purple { background: var(--uw-purple); }
.uw-collage .uw-circ--orange { background: var(--uw-orange); }
.uw-collage .uw-circ--gold   { background: var(--uw-gold); }
.uw-collage .uw-circ--green  { background: var(--uw-green); }
@media (max-width: 860px) {
  .uw-collage { position: relative; left: auto; width: 100%; min-height: 78vw; }
  .uw-collage .uw-circ { width: 42vw; }
  .uw-collage .uw-c0 { display: none; }
  .uw-collage .uw-c1 { left: 5%; top: 4%; }
  .uw-collage .uw-c2 { left: 52%; top: 0; }
  .uw-collage .uw-c3 { left: 8%; top: 42%; }
  .uw-collage .uw-c4 { left: 52%; top: 34%; }
  .uw-collage .uw-c5, .uw-collage .uw-c6 { display: none; }
}


/* Curved stats band. */
.uw-stats {
  border-radius: 50% / 57px;
  margin-top: -1px;
  position: relative;
  overflow: hidden;
}
.uw-stats::before,
.uw-stats::after {
  content: ""; position: absolute; border-radius: 50%;
  border: 92px solid rgba(255,255,255,.035);
  pointer-events: none;
}
.uw-stats::before { width: 1120px; height: 1120px; left: -340px;  top: 34%; }
.uw-stats::after  { width: 1420px; height: 1420px; right: -520px; top: 8%; }

/* Give section image treatment. */
.uw-give { position: relative; overflow: hidden; border-radius: 0 0 50% 50% / 0 0 57px 57px; }
.uw-give__img { position: relative; overflow: hidden; }
.uw-give__bg { width: 100%; height: 100%; object-fit: cover; display: block; }
.uw-give__wash {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(33,41,107,.72) 0%, rgba(33,41,107,.88) 60%, #21296B 100%);
}
.uw-give__cut {
  position: absolute; left: 0; bottom: 0;
  width: 100%; height: auto; display: block;
  object-fit: contain; object-position: left bottom;
}
@media (max-width: 900px) {
  .uw-give { border-radius: 0; }
  .uw-give__cut { position: static; }
  .uw-give__wash { display: none; }
}

/* Full-bleed give section photo and wash. */
.uw-give__img { position: absolute; inset: 0; overflow: hidden; z-index: 0; }
.uw-give__bg  { width: 100%; height: 100%; object-fit: cover; object-position: left center; }
.uw-give__wash {
  position: absolute; inset: 0;
  background: linear-gradient(90deg,
    rgba(33,41,107,0) 0%, rgba(33,41,107,.28) 26%,
    rgba(33,41,107,.86) 52%, #21296B 68%);
}
.uw-give__cut {
  position: absolute; left: 0; bottom: 0; height: 100%; width: auto;
  max-width: 58%; object-fit: contain; object-position: left bottom; z-index: 1;
}
.uw-give__grid { position: relative; z-index: 2; grid-template-columns: 1fr 1fr; }
.uw-give__panel { grid-column: 2; }
@media (max-width: 900px) {
  .uw-give__img { position: relative; height: 56vw; }
  .uw-give__cut { max-width: 100%; }
  .uw-give__grid { grid-template-columns: 1fr; }
  .uw-give__panel { grid-column: 1; }
}

/* ── pillar bands read as a gradient in the source, not a flat fill ── */

/* ── the concentric ring spans the 211 band's full height, crossing both edges ── */






/* ══ FOOTER — rebuilt 1:1 against the reference ══ */
.uw-footer { position: relative; background: var(--uw-navy); color: #fff; overflow: hidden; }
.uw-footer__inner { position: relative; padding-bottom: clamp(28px, 3vw, 48px); }
.uw-sub-pill {
  display: inline-block; margin: clamp(-58px,-4.4vw,-34px) 0 clamp(34px,4vw,64px);
  background: var(--uw-navy); color: #fff; text-decoration: none;
  font-family: var(--uw-display); font-size: clamp(14px,1.16vw,20px);
  letter-spacing: 0; text-transform: uppercase;
  padding: clamp(14px,1.3vw,22px) clamp(20px,2vw,34px); border-radius: 10px;
  position: relative; z-index: 2;
}
.uw-sub-pill b { color: var(--uw-gold); font-weight: 700; }
.uw-footer__grid {
  display: grid; grid-template-columns: minmax(0,1fr) clamp(250px,22vw,340px);
  gap: clamp(40px,4.4vw,74px); align-items: start;
}
.uw-logo--fw { display: inline-flex; margin-bottom: clamp(20px,2.2vw,34px); }
.uw-logo--fw img { width: clamp(150px, 11vw, 200px); height: auto; }
.uw-logo--fw .uw-lw, .uw-logo--fw .uw-lr { color: #fff; }
.uw-footer__eyebrow {
  font-family: var(--uw-body); font-weight: 700;
  font-size: clamp(13px,1.16vw,20px); letter-spacing: 0;
  text-transform: uppercase; margin: 0 0 clamp(10px,1vw,18px); color: #fff;
}
/* the wordmark is the footer's dominant element in the source (Antonio 200/0.88) */
.uw-footer__lock {
  font-family: var(--uw-display); font-weight: 700;
  font-size: clamp(38px, 6.6vw, 96px); line-height: .92;
  letter-spacing: 0; text-transform: uppercase; margin: 0; color: #fff;
  white-space: nowrap;
}
.uw-footer__side { display: flex; flex-direction: column; gap: clamp(20px,2.4vw,40px); }
.uw-footer__portrait {
  width: min(100%, clamp(160px,17vw,270px)); aspect-ratio: 1; margin-left: auto;
  border-radius: 50%; overflow: hidden; border: 6px solid #fff; flex: none;
}
.uw-footer__portrait img { width: 100%; height: 100%; object-fit: cover; display: block; }
.uw-footer__contact {
  border-left: 1px solid rgba(255,255,255,.34);
  padding-left: clamp(18px,1.8vw,30px); margin-left: auto;
  width: min(100%, clamp(230px,22vw,330px));
  font-family: var(--uw-body); font-size: clamp(13px,.98vw,16px); line-height: 1.5;
}
.uw-footer__contact p { margin: 0 0 clamp(12px,1.2vw,20px); }
.uw-footer__contact a { color: #fff; text-decoration: underline; }
.uw-badges { display: flex; gap: 10px; align-items: stretch; }
.uw-badges img { width: 78px; height: 78px; object-fit: contain; background: #fff; padding: 5px; border-radius: 3px; }
.uw-badge-alt {
  background: #fff; color: var(--uw-navy); border-radius: 3px;
  font-family: var(--uw-body); font-size: 8px; line-height: 1.28; font-weight: 600;
  padding: 8px 9px; display: flex; flex-direction: column; justify-content: center;
}
.uw-footer__base {
  display: flex; align-items: center; justify-content: space-between;
  gap: clamp(18px,2vw,40px); flex-wrap: wrap;
  margin-top: clamp(26px,3vw,54px);
}
.uw-footer__nav { display: flex; flex-wrap: wrap; gap: clamp(14px,1.6vw,30px); }
.uw-footer__nav a {
  color: #fff; text-decoration: none; font-family: var(--uw-display);
  font-size: clamp(11px,.92vw,15px); letter-spacing: 0; text-transform: uppercase;
}
.uw-footer__nav a:hover { color: var(--uw-gold); }
.uw-social { display: flex; gap: 10px; }
.uw-social a {
  width: 34px; height: 34px; border-radius: 50%; border: 1px solid rgba(255,255,255,.6);
  display: flex; align-items: center; justify-content: center;
  color: #fff; text-decoration: none; font-size: 12px; font-weight: 700;
}
.uw-social a:hover { background: #fff; color: var(--uw-navy); }
.uw-footer__legal { background: var(--uw-gold); color: var(--uw-navy); padding: 13px 0; }
.uw-footer__legal .uw-wrap { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.uw-footer__legal a { color: var(--uw-navy); text-decoration: none; margin-right: clamp(14px,1.6vw,26px); }
.uw-footer__legal a:hover { text-decoration: underline; }
.uw-footer__legal, .uw-footer__legal a { font-family: var(--uw-body); font-weight: 600; font-size: clamp(12px,.92vw,15px); }
@media (max-width: 900px) {
  .uw-footer__grid { grid-template-columns: 1fr; }
  .uw-footer__portrait, .uw-footer__contact { margin-left: 0; }
  .uw-footer__contact { width: 100%; }
  .uw-footer__base { flex-direction: column; align-items: flex-start; }
}


/* ── red bands: .92/.94 alpha read as solid; drop so the photo shows through ── */

/* ── give: the two images had different fit/position so the subject doubled.
   Give the cutout the SAME box and object rules as the plate behind it. ── */
.uw-give__cut {
  position: absolute; inset: 0;
  left: 0; bottom: auto;
  width: 100%; height: 100%; max-width: none;
  object-fit: cover; object-position: left center;
}

/* ── 211 band: rings deliberately bleed into neighboring sections ── */
.uw-211 { overflow: visible !important; z-index: 2; padding: 0 !important; }
.uw-211 > .uw-wrap { position: relative; z-index: 2; }
.uw-211__badge { display: block; width: clamp(96px,8vw,150px); height: auto; margin-bottom: clamp(14px,1.6vw,24px); background: none; }

/* concentric rings, nudged 20px left, drawn over the bands above and below */


@media (max-width: 900px) {  }

/* ── 211 concentric rings: one declaration, centred off the left edge so the
      disc overhangs the band above and below (matches the reference crop) ── */

.uw-211 > .uw-wrap { position: relative; z-index: 2; }

/* red pillar band: flat translucent, no gradient, so photography reads through */
.uw-pillar__band { background: rgba(253,55,44,.64) !important; }

/* h1 locks to two lines: each line is its own nowrap block, and the size is
   driven by the text column's width (cqw) so the longer line always fits. */
.uw-hero__text { container-type: inline-size; }
.uw-hero h1 { font-size: clamp(34px, 15.4cqw, 112px); line-height: .96; }
.uw-hero h1 span { display: block; white-space: nowrap; }
@supports not (width: 1cqw) { .uw-hero h1 { font-size: clamp(34px, 6.6vw, 112px); } }

/* Final visual alignment pass for the August reference screenshots. */

/* Pillars: true viewport thirds with translucent lower bands. */
.uw-pillars {
  background: #fff;
  padding: clamp(54px, 6.65vw, 86px) 0 0;
  margin-bottom: 0;
  text-align: center;
}
.uw-pillars h2 {
  font-size: clamp(46px, 5vw, 76px);
  line-height: .94;
  margin: 0 auto clamp(94px, 10vw, 116px);
}
.uw-pillars__grid {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}
.uw-pillar {
  height: clamp(336px, 40vw, 460px);
  min-width: 0;
}
.uw-pillar__img {
  height: 100%;
  aspect-ratio: auto;
}
.uw-pillar__img img {
  object-position: center center;
}
.uw-pillar:nth-child(1) .uw-pillar__img img {
  object-position: 47% center;
}
.uw-pillar:nth-child(2) .uw-pillar__img img {
  object-position: 52% center;
}
.uw-pillar:nth-child(3) .uw-pillar__img img {
  object-position: 52% center;
}
.uw-pillar__band {
  min-height: clamp(112px, 12vw, 132px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: rgba(216, 31, 31, .78) !important;
  border-left: 1px solid rgba(255,255,255,.72);
  padding: clamp(20px, 2.2vw, 30px) clamp(16px, 2vw, 28px);
}
.uw-pillar__band h3 {
  font-size: clamp(25px, 2.7vw, 34px);
  line-height: .96;
}
.uw-pillar__band p {
  font-size: clamp(12px, 1.22vw, 16px);
  margin-top: 9px;
}

/* Keep the grey donor field behind the arced stats top so no white sliver leaks through. */
.uw-donors {
  padding-bottom: clamp(150px, 13vw, 230px);
  margin-bottom: -58px;
}
.uw-pillars + .uw-donors {
  margin-top: 0;
}
.uw-stats {
  margin-top: 0;
  border-radius: 50% 50% 0 0 / 58px 58px 0 0;
  box-shadow: 0 -92px 0 var(--uw-grey);
}

/* Nonprofits card and join CTA: one continuous white-to-blue composition. */
.uw-np {
  min-height: 0;
  padding: clamp(54px, 5.4vw, 92px) 0 0;
  display: block;
  overflow: visible;
  background:
    linear-gradient(
      to bottom,
      #fff 0,
      #fff clamp(330px, 36vw, 382px),
      #4050D1 clamp(330px, 36vw, 382px),
      #4050D1 100%
    );
}
.uw-np__bg {
  display: none;
}
.uw-np__top {
  padding-bottom: clamp(38px, 4vw, 52px);
  flex-wrap: nowrap;
}
.uw-np__top h2 {
  font-size: clamp(38px, 4.55vw, 52px);
  line-height: .94;
  white-space: nowrap;
}
.uw-np__card {
  width: 100%;
  border-radius: 14px;
  box-shadow: 0 14px 30px rgba(33, 41, 107, .28);
  overflow: hidden;
}
.uw-np__copy {
  height: clamp(420px, 44vw, 454px);
  min-height: 0;
  padding: clamp(54px, 6.4vw, 66px) clamp(42px, 7.2vw, 78px) clamp(40px, 4.5vw, 48px);
}
.uw-np__copy h3 {
  font-size: clamp(35px, 4.4vw, 48px);
  margin-bottom: clamp(34px, 4.2vw, 46px);
}
.uw-np__copy p {
  font-size: clamp(12px, 1.18vw, 15px);
  line-height: 1.43;
}
.uw-np__ctl {
  padding-top: 0;
}
.uw-np__ctl .uw-arrow {
  width: 24px;
  height: 24px;
  font-size: 14px;
}
.uw-np__dots {
  margin-left: auto;
  margin-right: clamp(8px, 1vw, 14px);
}
.uw-np__dots i {
  width: 6px;
  height: 6px;
}
.uw-np__img {
  height: clamp(420px, 44vw, 454px);
  min-height: 0;
}
.uw-np__img img {
  object-position: 52% center;
}
.uw-join {
  min-height: 0;
  margin-top: -1px;
  padding: clamp(58px, 6.4vw, 76px) 0 clamp(44px, 5vw, 72px);
  display: block;
  background: linear-gradient(180deg, #4050D1 0%, #3440AE 38%, #293384 68%, #21296B 100%);
}
.uw-join h2 {
  font-size: clamp(48px, 5.6vw, 72px);
  line-height: .94;
  margin-bottom: clamp(30px, 3.5vw, 40px);
}
.uw-join__card {
  width: min(100%, 738px);
  min-height: 225px;
  margin: 0 auto;
  padding: clamp(38px, 4.2vw, 44px) 0;
  border-radius: 14px;
  align-items: stretch;
}
.uw-joincol {
  justify-content: center;
  gap: clamp(13px, 1.5vw, 18px);
  padding: 0 clamp(24px, 3.4vw, 38px);
  border-left-color: rgba(33, 41, 107, .44);
}
.uw-joincol h3 {
  font-size: clamp(39px, 4.9vw, 54px);
  line-height: .95;
}
.uw-joincol p {
  max-width: 180px;
  font-size: clamp(9px, .94vw, 12px);
  line-height: 1.28;
}
.uw-joincol .uw-btn {
  min-height: 24px;
  padding: 4px 18px 5px;
  border-width: 1px;
  font-size: clamp(10px, .95vw, 12px);
}

/* News and footer wave: shorter pale-blue field with layered wave overlap. */
.uw-news {
  min-height: 0;
  position: relative;
  z-index: 1;
  display: block;
  padding: clamp(84px, 8.4vw, 112px) 0 clamp(184px, 18vw, 230px);
  background: var(--uw-blue-pale);
}
.uw-news__top {
  margin-bottom: clamp(30px, 3.3vw, 40px);
}
.uw-tabs {
  gap: 14px;
}
.uw-tab {
  min-height: 36px;
  border-radius: 8px;
  border-width: 1px;
  padding: 7px 18px 8px;
  font-size: clamp(13px, 1.2vw, 16px);
}
.uw-news__all {
  font-size: clamp(12px, 1.1vw, 14px);
}
.uw-news__grid {
  gap: 14px;
}
.uw-article {
  height: 294px;
  min-height: 0;
  border-radius: 14px;
  padding: clamp(28px, 3.45vw, 36px) clamp(30px, 3.8vw, 40px);
  gap: 13px;
  box-shadow: 0 16px 28px rgba(33, 41, 107, .14);
  overflow: hidden;
}
.uw-article h3 {
  font-size: clamp(18px, 1.76vw, 23px);
  line-height: 1.18;
}
.uw-article time {
  font-size: clamp(10px, .92vw, 12px);
}
.uw-article p {
  margin-top: clamp(12px, 1.4vw, 16px);
  font-size: clamp(11px, 1.04vw, 13px);
  line-height: 1.42;
}
.uw-footer {
  position: relative;
  z-index: 2;
  margin-top: -1px;
  padding-top: clamp(92px, 10vw, 152px);
  overflow: visible;
  background: var(--uw-navy);
}
.uw-footer__inner {
  position: relative;
  z-index: 2;
}
.uw-sub-pill {
  position: absolute;
  top: clamp(-224px, -20vw, -190px);
  left: var(--uw-gut);
  z-index: 4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .42em;
  min-width: clamp(296px, 28.7vw, 496px);
  min-height: clamp(48px, 4.63vw, 80px);
  margin: 0;
  border-radius: 8px;
  padding: clamp(12px, 1.35vw, 17px) clamp(18px, 2.1vw, 28px);
  box-shadow: 0 0 0 1px rgba(80,130,240,.55);
}
.uw-footer__grid {
  padding-top: clamp(8px, 1.8vw, 28px);
  grid-template-columns: minmax(0, 1fr) clamp(340px, 35vw, 380px);
}
.uw-footer__portrait {
  position: relative;
  z-index: 3;
  width: min(100%, clamp(320px, 35vw, 378px));
  margin-top: clamp(-270px, -23vw, -210px);
  box-shadow: 0 18px 34px rgba(0,0,0,.16);
}

@media (max-width: 860px) {
  .uw-pillars__grid,
  .uw-news__grid {
    grid-template-columns: 1fr;
  }
  .uw-pillar {
    height: 360px;
  }
  .uw-pillar__band {
    border-left: none;
  }
  .uw-np {
    background: linear-gradient(to bottom, #fff 0 310px, #4050D1 310px, #293384 70%, #21296B 100%);
  }
  .uw-np__top {
    flex-wrap: wrap;
  }
  .uw-np__top h2 {
    white-space: normal;
  }
  .uw-np__card,
  .uw-join__card {
    grid-template-columns: 1fr;
  }
  .uw-np__copy,
  .uw-np__img {
    height: auto;
    min-height: 340px;
  }
  .uw-joincol {
    border-left: none;
    border-top: 1px solid rgba(33, 41, 107, .28);
    padding: 26px;
  }
  .uw-joincol:first-child {
    border-top: none;
  }
  .uw-news {
    padding-bottom: 140px;
  }
  .uw-footer__portrait {
    width: min(100%, 300px);
    margin-top: 0;
  }
  .uw-footer__grid {
    grid-template-columns: 1fr;
  }
  .uw-footer__side,
  .uw-footer__contact {
    width: 100%;
    max-width: 100%;
  }
  .uw-header__inner {
    gap: 8px;
    padding-left: 16px;
    padding-right: 16px;
  }
  .uw-header__end {
    gap: 6px;
  }
  .uw-search {
    width: 38px;
    height: 38px;
  }
  .uw-header__end .uw-btn {
    min-height: 38px;
    padding: 9px 16px;
  }
  .uw-burger {
    width: 38px;
    height: 38px;
  }
}

/* Stats background layer. */
.uw-stats {
  border-radius: 50% / 58px;
  box-shadow: 0 -92px 0 var(--uw-grey);
  isolation: isolate;
}
.uw-stats::before,
.uw-stats::after {
  z-index: 0;
}
.uw-stats .uw-wrap,
.uw-stats h2,
.uw-stats__grid {
  position: relative;
  z-index: 1;
}
/* Footer trim. */
.uw-footer {
  min-height: 0;
  padding-top: clamp(74px, 7.8vw, 126px);
  overflow-x: clip;
  overflow-y: visible;
}
.uw-footer__inner {
  padding-bottom: clamp(18px, 2.1vw, 34px);
}
.uw-footer__grid {
  grid-template-columns: minmax(0, 1fr) clamp(300px, 30vw, 360px);
  gap: clamp(34px, 4.2vw, 72px);
}
.uw-footer__side {
  min-width: 0;
  align-items: flex-start;
}
.uw-footer__portrait {
  width: min(100%, clamp(280px, 28vw, 350px));
  margin-top: clamp(-238px, -20vw, -190px);
  margin-right: clamp(24px, 4vw, 68px);
}
.uw-footer__contact {
  margin-right: clamp(24px, 4vw, 68px);
}
.uw-footer__legal {
  margin-top: 0;
  margin-bottom: 0;
}
.uw-footer__legal .uw-wrap {
  padding-top: 14px;
  padding-bottom: 14px;
}
body {
  padding-bottom: 0;
}
@media (max-width: 860px) {
  .uw-footer {
    overflow: hidden;
    padding-top: 74px;
  }
  .uw-footer__portrait,
  .uw-footer__contact {
    margin-right: 0;
  }
}

/* Footer alignment. */
@media (min-width: 861px) {
  .uw-footer {
    padding-top: clamp(50px, 5.4vw, 94px);
  }
  .uw-footer__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) clamp(380px, 35vw, 560px);
    grid-template-areas:
      "brand portrait"
      "base contact";
    column-gap: clamp(34px, 4.2vw, 72px);
    align-items: end;
  }
  .uw-footer__grid,
  .uw-footer__side {
    display: contents;
  }
  .uw-footer__lock {
    font-size: clamp(58px, 11.65vw, 192px);
  }
  .uw-footer__brand {
    grid-area: brand;
    min-width: 0;
  }
  .uw-footer__portrait {
    grid-area: portrait;
    justify-self: center;
    align-self: start;
    width: min(100%, clamp(360px, 35vw, 525px));
    margin: clamp(-260px, -16vw, -190px) 0 clamp(28px, 3vw, 52px);
  }
  .uw-footer__contact {
    grid-area: contact;
    justify-self: end;
    align-self: end;
    margin: clamp(-138px, -8vw, -120px) 0 0;
    width: min(100%, clamp(218px, 19vw, 348px));
    padding-left: clamp(36px, 3.9vw, 68px);
    font-size: clamp(11px, .86vw, 15px);
    line-height: 1.48;
  }
  .uw-footer__contact a {
    white-space: nowrap;
  }
  .uw-footer__base {
    grid-area: base;
    align-self: end;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: clamp(14px, 1.1vw, 20px);
    flex-wrap: nowrap;
    width: clamp(640px, 62vw, 860px);
    margin: clamp(36px, 4vw, 70px) 0 0;
  }
  .uw-footer__nav {
    flex: 0 1 auto;
    align-items: center;
    gap: clamp(10px, .86vw, 16px);
  }
  .uw-social {
    flex: 0 0 auto;
    align-items: flex-end;
    gap: 8px;
  }
}
.uw-social a {
  width: 30px;
  height: 30px;
  background: #fff;
  border-color: #fff;
  color: var(--uw-navy);
}

/* Stats sizing. */
.uw-stats {
  padding: clamp(132px, 9vw, 172px) 0 clamp(150px, 10vw, 190px);
}
.uw-stats .uw-wrap {
  max-width: min(98vw, 1568px);
  padding-left: clamp(24px, 3vw, 34px);
  padding-right: clamp(24px, 3vw, 34px);
}
.uw-stats h2 {
  font-size: clamp(42px, 5.7vw, 96px);
  margin-bottom: clamp(48px, 5.6vw, 92px);
}
.uw-stats__grid {
  max-width: min(94vw, 1500px);
  gap: clamp(18px, 2vw, 36px);
}
.uw-statcirc {
  padding: 10% 12%;
}
.uw-statcirc__n {
  font-size: clamp(42px, 5vw, 88px);
}
.uw-statcirc__r {
  width: clamp(58px, 4.2vw, 78px);
  margin: clamp(12px, 1.35vw, 22px) 0;
}
.uw-statcirc__l {
  font-size: clamp(13px, 1.08vw, 18px);
}
@media (max-width: 860px) {
  .uw-stats {
    padding: 96px 0 118px;
  }
  .uw-stats__grid {
    max-width: min(100%, 720px);
    gap: 16px;
  }
  .uw-statcirc__n {
    font-size: clamp(34px, 12vw, 62px);
  }
  .uw-statcirc__l {
    font-size: clamp(11px, 3.2vw, 15px);
  }
}
.uw-social a:hover {
  background: var(--uw-gold);
  border-color: var(--uw-gold);
  color: var(--uw-navy);
}

/* Lower-page sizing. */
.uw-work .uw-wrap,
.uw-np .uw-wrap,
.uw-join .uw-wrap,
.uw-news .uw-wrap {
  max-width: min(94vw, 1500px);
  padding-left: clamp(28px, 3.3vw, 64px);
  padding-right: clamp(28px, 3.3vw, 64px);
}
.uw-np {
  padding-top: clamp(68px, 6vw, 112px);
}
.uw-np__top h2 {
  font-size: clamp(44px, 5.2vw, 72px);
}
.uw-np__card {
  max-width: none;
}
.uw-np__copy,
.uw-np__img {
  height: clamp(500px, 36vw, 590px);
}
.uw-np__copy {
  padding: clamp(62px, 5vw, 82px) clamp(58px, 5vw, 86px) clamp(46px, 4vw, 64px);
}
.uw-np__copy h3 {
  font-size: clamp(46px, 4.6vw, 68px);
}
.uw-np__copy p {
  font-size: clamp(14px, 1.05vw, 18px);
}
.uw-np__ctl .uw-arrow {
  width: 32px;
  height: 32px;
}
.uw-join {
  padding: clamp(74px, 7.4vw, 124px) 0 clamp(72px, 7.2vw, 118px);
}
.uw-join h2 {
  font-size: clamp(60px, 6.4vw, 104px);
  margin-bottom: clamp(38px, 4vw, 62px);
}
.uw-join__card {
  width: min(100%, 1180px);
  min-height: clamp(292px, 19vw, 356px);
  padding: clamp(52px, 4.9vw, 76px) 0;
}
.uw-joincol {
  gap: clamp(16px, 1.5vw, 24px);
  padding: 0 clamp(34px, 3.8vw, 56px);
}
.uw-joincol h3 {
  font-size: clamp(52px, 5.1vw, 82px);
}
.uw-joincol p {
  max-width: 260px;
  font-size: clamp(12px, 1.05vw, 16px);
  line-height: 1.34;
}
.uw-joincol .uw-btn {
  min-height: 34px;
  padding: 7px 24px 8px;
  font-size: clamp(11px, .95vw, 14px);
}
.uw-news {
  padding-top: clamp(96px, 8vw, 142px);
  padding-bottom: clamp(210px, 17vw, 280px);
}
.uw-news__top {
  margin-bottom: clamp(42px, 4vw, 64px);
}
.uw-news__grid {
  gap: clamp(20px, 2.1vw, 36px);
}
.uw-article {
  height: clamp(338px, 20vw, 396px);
  padding: clamp(34px, 3vw, 52px) clamp(34px, 3.4vw, 58px);
}
.uw-article h3 {
  font-size: clamp(22px, 1.75vw, 31px);
}
.uw-article time {
  font-size: clamp(12px, .92vw, 14px);
}
.uw-article p {
  font-size: clamp(13px, 1.02vw, 16px);
}

/* Stats background rings. */
.uw-stats::before,
.uw-stats::after {
  aspect-ratio: auto;
  width: clamp(780px, 62vw, 1160px);
  height: clamp(980px, 80vw, 1460px);
  background: none;
  border: clamp(38px, 3.7vw, 68px) solid rgba(231, 234, 255, .07);
  border-radius: 50%;
  box-sizing: border-box;
  opacity: 1;
}
.uw-stats::before {
  top: clamp(-430px, -24vw, -290px);
  left: clamp(-670px, -34vw, -450px);
  transform: rotate(-17deg);
}
.uw-stats::after {
  top: auto;
  right: clamp(-670px, -34vw, -450px);
  bottom: clamp(-460px, -26vw, -320px);
  transform: rotate(-17deg);
}
@media (min-width: 861px) {
  .uw-footer__inner {
    max-width: none;
    padding-left: clamp(58px, 5.8vw, 118px);
    padding-right: clamp(58px, 5.8vw, 118px);
    grid-template-columns: minmax(0, 1fr) clamp(390px, 33vw, 570px);
  }
  .uw-footer__contact {
    width: min(100%, clamp(236px, 20vw, 360px));
    justify-self: stretch;
    margin-left: auto;
  }
  .uw-footer__base {
    width: clamp(690px, 60vw, 1060px);
  }
}
@media (max-width: 860px) {
  .uw-work .uw-wrap,
  .uw-np .uw-wrap,
  .uw-join .uw-wrap,
  .uw-news .uw-wrap {
    max-width: 100%;
    padding-left: var(--uw-gut);
    padding-right: var(--uw-gut);
  }
  .uw-np__copy,
  .uw-np__img {
    height: auto;
  }
  .uw-join__card {
    width: min(100%, 620px);
  }
  .uw-stats::before {
    left: -520px;
    top: -300px;
  }
  .uw-stats::after {
    right: -520px;
    bottom: -340px;
  }
}

/* Footer contact and stats ring placement. */
@media (min-width: 861px) {
  .uw-footer__contact {
    transform: translateX(clamp(30px, 3vw, 58px));
  }
  .uw-footer__base {
    width: clamp(640px, 60vw, 980px);
  }
}
.uw-stats::before,
.uw-stats::after {
  border-width: clamp(30px, 3vw, 54px);
}
.uw-stats::before {
  left: clamp(-760px, -42vw, -560px);
  top: clamp(-520px, -31vw, -370px);
  transform: rotate(-25deg);
}
.uw-stats::after {
  right: clamp(-760px, -42vw, -560px);
  bottom: clamp(-560px, -35vw, -410px);
  transform: rotate(-25deg);
}

/* News cards and footer portrait. */
.uw-news {
  padding-top: clamp(112px, 8.8vw, 158px);
  padding-bottom: clamp(250px, 20vw, 340px);
}
.uw-news__grid {
  gap: clamp(24px, 2.5vw, 44px);
}
.uw-article {
  height: clamp(560px, 38vw, 760px);
  padding: clamp(42px, 3.8vw, 66px) clamp(42px, 4vw, 68px);
  gap: clamp(16px, 1.4vw, 22px);
}
.uw-article h3 {
  font-size: clamp(25px, 2.08vw, 36px);
  line-height: 1.16;
}
.uw-article time {
  font-size: clamp(13px, 1vw, 16px);
}
.uw-article p {
  font-size: clamp(15px, 1.12vw, 18px);
  line-height: 1.48;
  margin-top: clamp(16px, 1.6vw, 24px);
}
@media (min-width: 861px) {
  .uw-footer__inner {
    grid-template-columns: minmax(0, 1fr) clamp(470px, 40vw, 680px);
  }
  .uw-footer__portrait {
    width: min(100%, clamp(432px, 42vw, 630px));
    margin-top: clamp(-300px, -19vw, -228px);
  }
}
@media (max-width: 860px) {
  .uw-article {
    height: auto;
    min-height: 430px;
  }
}

/* Footer optical alignment: compensate for logo art inset and lockup overhang. */
@media (min-width: 861px) {
  .uw-logo--fw {
    transform: translateX(clamp(-22px, -1.95vw, -18px));
  }
  .uw-footer__base {
    width: clamp(604px, 58.7vw, 960px);
  }
}

/* Keep sticky headers working while preventing horizontal bleed. */
html,
body {
  overflow-x: clip;
}
html {
  scroll-padding-top: 96px;
}

/* Pillar cards: taller reference-like presence. */
.uw-pillar {
  height: clamp(430px, 46vw, 640px);
}
.uw-pillar__band {
  min-height: clamp(146px, 13.4vw, 188px);
  padding-top: clamp(28px, 2.8vw, 42px);
  padding-bottom: clamp(28px, 2.8vw, 42px);
}
.uw-pillar__band h3 {
  font-size: clamp(31px, 3.1vw, 47px);
}
.uw-pillar__band p {
  font-size: clamp(14px, 1.32vw, 20px);
  margin-top: clamp(10px, 1vw, 14px);
}
@media (max-width: 860px) {
  .uw-pillar {
    height: clamp(430px, 112vw, 560px);
  }
  .uw-pillar__band {
    min-height: 150px;
  }
}

/* ── footer wave: three stacked crests ─────────────────────────────────
   Reading front to back: the navy crest is the footer's own edge, the cyan
   crest peaks 20px above it, and the indigo crest peaks 10px above the cyan
   and is shifted 70px right so its wave starts a third of the way along.
   Each PNG is cropped to its curve; the footer's navy supplies the mass below.
   overflow-x is clipped so the indigo layer's overhang cannot create a
   horizontal scrollbar, while overflow-y stays visible for the crests. */
.uw-footer { position: relative; }
.uw-wave {
  --uw-wave-h: clamp(58px, 7.4vw, 128px);
  --uw-wave-shift: clamp(86px, 7.3vw, 140px);
  --uw-wave-cyan-rise: clamp(28px, 3.3vw, 42px);
  --uw-wave-cyan-overlap: clamp(4px, .45vw, 8px);
  --uw-wave-indigo-rise: clamp(22px, 2.9vw, 36px);
  position: absolute; left: 0; right: 0; bottom: 100%;
  display: block; height: var(--uw-wave-h);
  pointer-events: none; z-index: 0;
  overflow-x: clip; overflow-y: visible;
}
.uw-wave img {
  position: absolute; left: -1px; width: calc(100% + 2px); height: calc(100% + 2px);
  display: block; object-fit: fill; max-width: none;
}
.uw-wave img.uw-wave__navy   { z-index: 3; bottom: -2px; }
.uw-wave img.uw-wave__cyan   { z-index: 2; bottom: calc(var(--uw-wave-cyan-rise) - var(--uw-wave-cyan-overlap)); }
.uw-wave img.uw-wave__indigo { z-index: 1; bottom: var(--uw-wave-indigo-rise); left: var(--uw-wave-shift); width: calc(100% + var(--uw-wave-shift) + 2px); }
/* the navy crest carries the footer colour, so any sliver it leaves uncovered
   would show the section above through the seam */
.uw-wave::after {
  content: ''; position: absolute; left: 0; right: 0; top: 100%; height: 2px;
  background: var(--uw-navy); z-index: 4;
}
@media (max-width: 860px) {
  /* the offsets are absolute pixels, so they need scaling down with the crest */
  .uw-wave__cyan   { bottom: 33px; }
  .uw-wave__indigo { bottom: 25px; left: 84px; width: calc(100% + 84px); }
}

/* The indigo crest starts 140px in, leaving a straight vertical edge where it
   begins. The subscribe pill is parked over that edge so the cut reads as
   deliberate layering rather than a clipped graphic. */
.uw-sub-pill { z-index: 6; }
@media (min-width: 861px) {
  .uw-sub-pill { left: calc(140px - clamp(28px, 3.2vw, 62px)); }
}
@media (max-width: 860px) {
  .uw-sub-pill { left: calc(84px - clamp(20px, 6vw, 44px)); }
}
