/* PLU design tokens, taken from wp-content/themes/plu-theme/style.css so the
   Django site is visually continuous with the WordPress original. */
/* The site typeface. Without this @font-face the whole page fell back to Arial,
   which reflows every heading and paragraph against the reference. */
@font-face {
  font-family: 'Geist PLU';
  src: url("../fonts/Geist-Variable.dfa48d5a8537.woff2") format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --plu-black: #050505;
  --plu-cream: #f5f4ed;
  --plu-line: #dddcd2;
  --plu-red: #e30613;
  --plu-text: #0d0d0d;
  --plu-yellow: #fff200;
  --plu-muted: #626262;
  --plu-font: 'Geist PLU', Arial, Helvetica, sans-serif;
  --plu-radius: 2px;
  --plu-maxw: 1180px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--plu-font);
  background: var(--plu-cream);
  color: var(--plu-text);
  font-size: 16px;
  /* 1.5, as the legacy body rule sets. At 1.55 every inherited line box was
     3.3% taller, which drifted section heights against the reference. */
  line-height: 1.5;
}
/* The reference sets this globally at style.css:21. Without it every <button>
   falls back to the UA default 13.3333px instead of inheriting the body's
   16px/24px - measured on .plu-level-button, which also changed height at 1024
   as a result. It was patched onto two individual components here instead,
   which is the tell that the global was missing. */
button, input, select, textarea { font: inherit; }
a { color: inherit; }
/* display:block matches the reference at style.css:22. Without it an <img> is
   inline and carries the baseline descender gap - a few pixels under every
   image on the site. height:auto is ours and stays: the reference omits it, but
   it stops an <img> with explicit width/height attributes distorting once
   max-width constrains it. */
img { display: block; max-width: 100%; height: auto; }

.plu-shell { max-width: var(--plu-maxw); margin: 0 auto; padding: 0 20px; }

/* Header ---------------------------------------------------------------- */
.plu-header { background: var(--plu-black); border-bottom: 3px solid var(--plu-yellow); }
.plu-header__inner {
  max-width: var(--plu-maxw); margin: 0 auto; padding: 14px 20px;
  display: flex; align-items: center; gap: 24px; flex-wrap: wrap;
}
.plu-brand {
  color: #fff; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
  text-decoration: none; font-size: 15px; display: flex; align-items: center; gap: 10px;
}
.plu-brand__mark {
  background: var(--plu-yellow); color: var(--plu-black);
  padding: 5px 8px; border-radius: var(--plu-radius); font-size: 13px;
}
.plu-nav { display: flex; gap: 20px; margin-left: auto; align-items: center; flex-wrap: wrap; }
.plu-nav a {
  color: #fff; text-decoration: none; font-size: 12.5px; font-weight: 700;
  letter-spacing: .07em; text-transform: uppercase;
}
.plu-nav a:hover { color: var(--plu-yellow); }
.plu-btn-join {
  background: var(--plu-yellow); color: var(--plu-black) !important;
  padding: 9px 16px; border-radius: var(--plu-radius);
}

/* Buttons and forms ------------------------------------------------------ */
.plu-btn {
  display: inline-block; background: var(--plu-yellow); color: var(--plu-black);
  border: 0; padding: 13px 26px; font-family: inherit; font-weight: 800;
  letter-spacing: .07em; text-transform: uppercase; font-size: 13px;
  cursor: pointer; border-radius: var(--plu-radius); text-decoration: none;
}
.plu-btn:hover { filter: brightness(.93); }
.plu-btn--ghost { background: transparent; border: 2px solid var(--plu-black); }

.plu-card {
  background: #fff; border: 1px solid var(--plu-line);
  border-top: 4px solid var(--plu-black); padding: 32px; margin: 0 auto 40px;
  max-width: 820px;
}
.plu-card__head { border-bottom: 1px solid var(--plu-line); padding-bottom: 18px; margin-bottom: 26px; }
.plu-card__head h1 { margin: 0 0 6px; font-size: 27px; letter-spacing: -.01em; }
.plu-card__head p { margin: 0; color: var(--plu-muted); font-size: 14.5px; }

.plu-eyebrow {
  margin: 0 0 10px; color: var(--plu-red); font-size: 11px;
  font-weight: 900; letter-spacing: .18em; text-transform: uppercase;
}

.plu-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 640px) { .plu-grid { grid-template-columns: 1fr; } }

.plu-field { margin-bottom: 18px; }
/* Control metrics measured off the reference signup form, not chosen here.
   These style every form on the site, so they live with the shared chrome. */
/* 8px, not 6px. The reference's label is display:grid with gap:8px; measured
   label-to-input reads 9.5px there against 7.5px here, the extra 1.25px on each
   being half-leading on a 17px text box in a 19.5px line. */
.plu-field label { display: block; font-weight: 900; font-size: 13px; margin-bottom: 8px; }
.plu-field .plu-help { font-size: 10.8333px; color: #8a8d96; margin-top: 8px; }
/* textarea belongs in all of these. Without it a textarea keeps its intrinsic
   cols="40" (~365px) and overflows narrow viewports - 44px of document overflow
   at 320 - and it gets no focus ring at all, which the other controls do. */
.plu-field input, .plu-field select, .plu-field textarea {
  width: 100%; font-family: inherit; font-size: 13px;
  border: 1px solid #d4d4d0; border-radius: 7px; background: #fff;
}
/* The reference centres its text on a fixed 46px control rather than padding
   it vertically. A textarea has to keep real padding, so it is set apart. */
.plu-field input, .plu-field select { height: 46px; padding: 0 14px; }
.plu-field textarea { padding: 12px 14px; }
.plu-field input:focus, .plu-field select:focus, .plu-field textarea:focus {
  outline: 3px solid var(--plu-yellow); outline-offset: 0; border-color: var(--plu-black);
}
/* A DELIBERATE DIVERGENCE, do not "fix" it: the reference has no :focus rule on
   its signup text inputs at all - the only focus styling in its membership.css
   is on buttons and pickers. Matching it would be an accessibility regression,
   so this ring stays. */

/* The reference marks a failed field on the control itself, not only in the
   message underneath. */
.plu-field--error input, .plu-field--error select, .plu-field--error textarea {
  border-color: #b91c1c; background: #fff7f7;
}
.plu-errors { color: #b91c1c; font-size: 10.8333px; margin-top: 5px; font-weight: 700; }
.plu-alert {
  background: #fff4f4; border-left: 4px solid var(--plu-red);
  padding: 13px 16px; margin-bottom: 22px; font-size: 14px; font-weight: 600;
}
.plu-notice {
  background: #fffde6; border-left: 4px solid var(--plu-yellow);
  padding: 13px 16px; margin-bottom: 22px; font-size: 14px;
}

/* Steps ------------------------------------------------------------------ */
.plu-steps { display: flex; border: 1px solid var(--plu-line); background: #fff; margin-bottom: 0; }
.plu-step {
  flex: 1; padding: 15px 12px; text-align: center; font-size: 13px; font-weight: 700;
  color: var(--plu-muted); border-right: 1px solid var(--plu-line);
}
.plu-step:last-child { border-right: 0; }
.plu-step--active { background: #fffdf0; color: var(--plu-black); }
.plu-step__n {
  display: inline-flex; width: 22px; height: 22px; border-radius: 50%;
  align-items: center; justify-content: center; margin-right: 7px; font-size: 12px;
  background: #e9e8e0; color: var(--plu-black);
}
.plu-step--active .plu-step__n { background: var(--plu-yellow); }

/* Dashboard -------------------------------------------------------------- */
.plu-number {
  font-size: 40px; font-weight: 800; letter-spacing: .02em; margin: 0;
  font-variant-numeric: tabular-nums;
}
.plu-badge {
  display: inline-block; padding: 5px 11px; font-size: 11.5px; font-weight: 800;
  text-transform: uppercase; letter-spacing: .08em; border-radius: var(--plu-radius);
}
.plu-badge--pending { background: #fff2c2; color: #6b5600; }
.plu-badge--approved { background: var(--plu-yellow); color: var(--plu-black); }
.plu-badge--rejected { background: #ffd9d9; color: #8a0009; }
.plu-dl { display: grid; grid-template-columns: 190px 1fr; gap: 11px 18px; font-size: 14.5px; }
.plu-dl dt { color: var(--plu-muted); font-weight: 600; }
.plu-dl dd { margin: 0; font-weight: 600; }
@media (max-width: 560px) { .plu-dl { grid-template-columns: 1fr; gap: 3px 0; } .plu-dl dd { margin-bottom: 11px; } }

/* Footer ----------------------------------------------------------------- */
.plu-footer { background: var(--plu-black); color: #cfcfc8; margin-top: 60px; padding: 40px 0 26px; }
.plu-footer a { color: #fff; text-decoration: none; }
.plu-footer a:hover { color: var(--plu-yellow); }
.plu-footer__title {
  color: #fff; text-transform: uppercase; letter-spacing: .1em;
  font-size: 12px; font-weight: 800; margin: 0 0 12px;
}
.plu-footer__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 28px; }
.plu-footer__bottom {
  border-top: 1px solid #232323; margin-top: 30px; padding-top: 16px;
  font-size: 12.5px; display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap;
}
.plu-footer ul { list-style: none; padding: 0; margin: 0; font-size: 13.5px; }
.plu-footer li { margin-bottom: 8px; }

/* Staff console ---------------------------------------------------------- */
.plu-console { max-width: 1180px; margin: 0 auto; }
.plu-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 14px; margin-bottom: 30px; }
.plu-stat { background: #fff; border: 1px solid var(--plu-line); border-top: 4px solid var(--plu-black); padding: 18px; }
.plu-stat--alert { border-top-color: var(--plu-red); }
.plu-stat__n { font-size: 30px; font-weight: 800; font-variant-numeric: tabular-nums; line-height: 1.1; }
.plu-stat__label { font-size: 11.5px; text-transform: uppercase; letter-spacing: .1em; color: var(--plu-muted); font-weight: 700; margin-top: 4px; }
.plu-table { width: 100%; border-collapse: collapse; background: #fff; font-size: 14px; }
.plu-table th { text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .09em; padding: 11px 12px; background: var(--plu-black); color: #fff; }
.plu-table td { padding: 11px 12px; border-bottom: 1px solid var(--plu-line); }
.plu-table tr:hover td { background: #fffdf0; }
.plu-table a { font-weight: 700; }
.plu-scroll { overflow-x: auto; border: 1px solid var(--plu-line); }
.plu-filters { background: #fff; border: 1px solid var(--plu-line); padding: 16px; margin-bottom: 20px; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; align-items: end; }
.plu-filters .plu-field { margin-bottom: 0; }
.plu-pager { display: flex; gap: 10px; align-items: center; margin-top: 18px; font-size: 14px; }
.plu-msg { padding: 12px 16px; margin-bottom: 18px; font-weight: 600; font-size: 14px; border-left: 4px solid var(--plu-yellow); background: #fffde6; }
.plu-msg--error { border-left-color: var(--plu-red); background: #fff4f4; }
.plu-events { font-size: 13px; }
.plu-events li { margin-bottom: 7px; color: var(--plu-muted); }

/* ======================================================================
   Public site
   ----------------------------------------------------------------------
   Everything below serves the recreated public website (cms app). The
   section rules are lifted from wp-content/themes/plu-theme/style.css so
   the Django pages are visually continuous with the WordPress original;
   the header and footer are rewritten under plu-site-* names because the
   theme's .plu-header / .plu-footer would restyle the member and staff
   pages that already use those classes.
   ====================================================================== */

:root { --plu-shadow: 0 10px 24px rgba(0, 0, 0, .06); --plu-site-maxw: 1360px; }

/* Site header ------------------------------------------------------------ */
.plu-site-header { position: sticky; top: 0; z-index: 1001; background: #070707; color: #fff; border-bottom: 3px solid var(--plu-yellow); }
/* 8px, not 10px. The brand is 58px tall, so 10px padding makes the row 78 and
   overshoots the shared 76px min-height; at 8px the content is 74 and the
   min-height wins, giving the reference's 76 (79 with the 3px border). Those
   2px offset every row on every page below the header, which is enough to make
   a whole-page pixel diff of an otherwise identical page report ~10%. */
.plu-site-header__inner { max-width: 1376px; min-height: 76px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 8px 12px; }
.plu-site-brand { flex: 0 0 auto; display: flex; align-items: center; gap: 10px; padding: 6px 10px; border-radius: 4px; background: var(--plu-yellow); color: var(--plu-black); text-decoration: none; font-weight: 900; letter-spacing: .06em; font-size: 15px; text-transform: uppercase; }
.plu-site-brand small { display: block; font-size: 9px; letter-spacing: .1em; font-weight: 800; }
/* Brand mark -------------------------------------------------------------
   Sizes taken from plu-theme/style.css. The original accumulated a ladder of
   overlapping rules; this reproduces the size it actually renders at each
   width, without the contradictions. The tile carries no text - the link's
   aria-label is what assistive technology reads. */
.plu-brand {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  padding: 2px 5px;
  border-radius: 4px;
  background: var(--plu-yellow);
  text-decoration: none;
}
/* The reference's public wordmark is plain: 400, no transform, normal
   tracking, 16px. Ours inherited the member header's 800/uppercase/.06em/15px
   because both headers share .plu-brand. Scoped so member chrome is untouched. */
.plu-site-header .plu-brand {
  font-weight: 400; text-transform: none; letter-spacing: normal; font-size: 16px;
}
.plu-brand img {
  width: 46px;
  height: 54px;
  display: block;
  object-fit: contain;
  object-position: center;
  background: var(--plu-yellow);
}
.plu-site-nav { min-width: 0; flex: 0 1 auto; }
.plu-site-nav > ul { margin: 0; padding: 0; list-style: none; display: flex; align-items: center; gap: 2px; }
.plu-site-nav > ul > li { position: relative; }
/* 5px, not 10px: the reference's resolved `@media (min-width:1061px)` value.
   At 10px the nine items need 1018px, which at 1061 pushes the last one
   past the viewport and gives the whole page a horizontal scrollbar. */
.plu-site-nav > ul > li > a { display: flex; min-height: 40px; align-items: center; padding: 8px 5px; border-radius: 4px; color: #fff; text-decoration: none; font-size: 13px; font-weight: 900; text-transform: uppercase; white-space: nowrap; }
.plu-site-nav > ul > li > a:hover, .plu-site-nav > ul > li.is-current > a { background: var(--plu-yellow); color: #000; }
.plu-site-nav li.has-children > a::after { content: ""; width: 5px; height: 5px; margin-left: 6px; border: solid currentColor; border-width: 0 1px 1px 0; transform: rotate(45deg) translateY(-2px); }
/* The reference makes the parent li the containing block and sizes the panel
   to it: li position:relative, ul width:100%, z-index 80. Ours had the li
   static, so the panel resolved against a further ancestor - the boxes agree
   today and would diverge the moment anything between them gains a position. */
.plu-site-nav li.has-children { position: relative; }
.plu-site-nav ul ul { position: absolute; left: 0; top: 100%; z-index: 80; width: 100%; min-width: 232px; margin: 0; padding: 6px 0; list-style: none; background: #101010; border: 1px solid #262626; border-top: 3px solid var(--plu-yellow); opacity: 0; visibility: hidden; transition: opacity 120ms ease; }
.plu-site-nav li:hover > ul, .plu-site-nav li:focus-within > ul { opacity: 1; visibility: visible; }
.plu-site-nav ul ul a { display: block; padding: 9px 16px; color: #e8e8e2; text-decoration: none; font-size: 13px; font-weight: 700; }
.plu-site-nav ul ul a:hover { background: var(--plu-yellow); color: #000; }
.plu-site-header__actions { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.plu-site-join { display: inline-flex; align-items: center; min-height: 40px; padding: 0 15px; background: var(--plu-yellow); color: #000; text-decoration: none; font-size: 11px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; border-radius: 2px; }
.plu-site-signin { display: inline-flex; align-items: center; min-height: 40px; padding: 0 13px; border: 1px solid rgba(255,255,255,.4); color: #fff; text-decoration: none; font-size: 11px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; border-radius: 2px; }
.plu-site-signin:hover { border-color: var(--plu-yellow); color: var(--plu-yellow); }

/* The hamburger. Hidden until the nav collapses, which the reference does at
   1060 - not at a phone width, because 23 top-level items stop fitting long
   before that. Ours used to keep them all and scroll them sideways instead.

   1060 is the reference's *effective* threshold, not one you can read off any
   single rule: its stylesheet collapses at 1400, then a later
   `@media (min-width:1061px)` block puts the bar back with !important. Only the
   resolved cascade tells you where the change actually happens. */
.plu-menu-button { display: none; }
.plu-menu-button span,
.plu-menu-button span::before,
.plu-menu-button span::after { display: block; width: 21px; height: 2px; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
.plu-menu-button span { position: relative; }
.plu-menu-button span::before, .plu-menu-button span::after { content: ''; position: absolute; left: 0; }
.plu-menu-button span::before { top: -7px; }
.plu-menu-button span::after { top: 7px; }
.plu-menu-button[aria-expanded='true'] span { background: transparent; }
.plu-menu-button[aria-expanded='true'] span::before { top: 0; transform: rotate(45deg); }
.plu-menu-button[aria-expanded='true'] span::after { top: 0; transform: rotate(-45deg); }
.plu-submenu-toggle { display: none; }

@media (max-width: 1060px) {
  .plu-site-header__inner { min-height: auto; flex-wrap: wrap; gap: 14px; padding: 10px 18px; }
  .plu-brand { padding: 3px 7px; }
  .plu-brand img { width: 58px; height: 68px; }
  .plu-menu-button { display: inline-flex; width: 44px; height: 44px; flex: 0 0 44px; align-items: center; justify-content: center; padding: 0; border: 1px solid var(--plu-yellow); border-radius: 4px; background: transparent; color: var(--plu-yellow); cursor: pointer; }
  .plu-site-header__actions { margin-left: auto; }
  .plu-site-nav { display: none; order: 4; width: 100%; overflow: hidden; border-top: 1px solid rgba(255,255,255,.12); }
  .plu-site-nav.is-open { display: block; }
  .plu-site-nav > ul { width: 100%; display: grid; align-items: stretch; justify-content: stretch; gap: 2px; padding: 8px 0 10px; }
  .plu-site-nav > ul > li { width: 100%; position: static; }
  .plu-site-nav > ul > li > a { width: 100%; min-height: 44px; padding: 11px 12px; white-space: normal; }
  /* The reference marks these `menu-item-has-children` and the child list
     `sub-menu`; ours emits `has-children` and a bare nested <ul>. */
  .plu-site-nav li.has-children { display: grid; grid-template-columns: minmax(0,1fr) 44px; }
  .plu-site-nav li.has-children > a { grid-column: 1; }
  .plu-site-nav li.has-children > a::after { display: none; }
  .plu-site-nav ul ul,
  .plu-site-nav li.has-children:hover > ul,
  .plu-site-nav li.has-children:focus-within > ul { position: static; grid-column: 1 / -1; display: none; min-width: 0; gap: 2px; margin: 0 0 4px 12px; padding: 2px 0 4px 12px; border: 0; border-left: 2px solid rgba(255,242,0,.45); border-radius: 0; background: #111; box-shadow: none; opacity: 1; visibility: visible; }
  .plu-site-nav li.has-children.is-submenu-open > ul { display: grid; }
  .plu-submenu-toggle { grid-column: 2; grid-row: 1; display: grid; width: 40px; height: 40px; place-items: center; align-self: center; border: 0; background: transparent; color: var(--plu-yellow); cursor: pointer; }
  .plu-submenu-toggle span { width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translate(-2px,-2px); transition: transform .2s ease; }
  .is-submenu-open > .plu-submenu-toggle span { transform: rotate(225deg) translate(-1px,-1px); }
}

@media (max-width: 980px) {
  .plu-site-header__inner { min-height: 76px; }
  .plu-brand img { width: 50px; height: 58px; }
  .plu-site-nav > ul > li > a { width: 100%; padding: 12px; }
  .plu-site-nav ul ul { padding: 4px 4px 8px 18px; background: rgba(255,255,255,.04); }
}
@media (max-width: 760px) {
  .plu-site-header__inner { min-height: 70px; gap: 8px; padding: 8px 14px; }
  .plu-brand { padding: 2px 5px; }
  .plu-brand img { width: 44px; height: 52px; }
  .plu-menu-button { width: 42px; height: 42px; flex: 0 0 42px; }
  /* Twenty-three items will not fit a phone screen, so the panel scrolls. */
  .plu-site-nav { max-height: min(68vh, 520px); overflow-y: auto; }
  .plu-site-nav > ul > li > a { min-height: 44px; padding: 11px 8px; font-size: 12px; }
  .plu-site-nav ul ul a { min-height: 40px; display: flex; align-items: center; padding: 9px 12px; font-size: 12px; }
}
@media (max-width: 620px) {
  .plu-brand { min-width: 0; }
  .plu-brand img { width: 42px; height: 54px; }
}
@media (max-width: 390px) {
  .plu-site-header__inner { padding-right: 9px; padding-left: 9px; }
  .plu-brand img { width: 38px; height: 48px; }
  .plu-menu-button { width: 38px; height: 38px; flex-basis: 38px; }
  .plu-site-signin { min-height: 38px; padding: 0 9px; font-size: 9px; }
  .plu-site-join { min-height: 38px; padding: 0 9px; font-size: 9px; }
}
@media (max-width: 360px) {
  .plu-site-header__inner { padding-right: 10px; padding-left: 10px; }
  .plu-brand img { width: 40px; height: 48px; }
  .plu-menu-button { width: 38px; height: 38px; flex-basis: 38px; }
  .plu-site-signin, .plu-site-join { min-height: 38px; padding: 0 10px; font-size: 10px; }
}

/* Site footer ------------------------------------------------------------ */
/* Values measured from the reference's computed styles at 1440, not read off
   its CSS: plu-theme/style.css still describes an older footer (logo tile,
   two-column link list, action buttons) that assets/footer-refresh.css
   overrides. The rendered footer is the refresh, and that is what these match. */
.plu-site-footer { margin-top: 0; background: #050505; color: #fff; }
.plu-site-footer__accent { height: 4px; background: var(--plu-yellow); }
.plu-site-footer__inner {
  max-width: var(--plu-site-maxw); margin: 0 auto;
  display: grid; grid-template-columns: minmax(220px, .65fr) minmax(0, 2.35fr);
  gap: 54px; align-items: start; padding: 48px 24px 42px;
}
/* Both the brand title and the four column headings are the same eyebrow:
   11px/900 yellow caps. The brand is not a larger heading on the reference. */
.plu-site-footer__brand h2, .plu-site-footer__directory h2 {
  margin: 0; color: var(--plu-yellow); font-size: 11px; font-weight: 900;
  letter-spacing: .18em; text-transform: uppercase;
}
.plu-site-footer__brand p {
  max-width: 320px; margin: 15px 0 0;
  color: rgba(255, 255, 255, .68); font-size: 13px; line-height: 1.7;
}
.plu-site-footer__social { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.plu-site-footer__social a {
  display: grid; place-items: center; width: 38px; height: 38px;
  border: 1px solid rgba(255, 255, 255, .24); border-radius: 3px;
  color: var(--plu-yellow); text-decoration: none;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}
.plu-site-footer__social a:hover, .plu-site-footer__social a:focus-visible {
  border-color: var(--plu-yellow); background: var(--plu-yellow); color: #000;
}
.plu-site-footer__social svg { width: 18px; height: 18px; }
.plu-site-footer__directory { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 34px; }
.plu-site-footer__directory section { min-width: 0; }
.plu-site-footer__directory ul { margin: 16px 0 0; padding: 0; list-style: none; }
.plu-site-footer__directory li + li { margin-top: 3px; }
.plu-site-footer__directory a, .plu-site-footer__pending {
  display: inline-block; padding: 5px 0; font-size: 12px; font-weight: 700; line-height: 1.4;
}
.plu-site-footer__directory a {
  color: rgba(255, 255, 255, .76); text-decoration: none; transition: color 180ms ease;
}
.plu-site-footer__directory a:hover, .plu-site-footer__directory a:focus-visible { color: var(--plu-yellow); }
/* Drafts on the reference, rendered there unlinked. Dimmer than a live link
   on purpose - it is the reference's own signal that the page is not published. */
.plu-site-footer__pending { color: rgba(255, 255, 255, .42); cursor: help; }
.plu-site-footer__lower { border-top: 1px solid rgba(255, 255, 255, .1); }
.plu-site-footer__lower > div {
  max-width: var(--plu-site-maxw); margin: 0 auto; display: flex; align-items: center;
  justify-content: space-between; flex-wrap: wrap; gap: 22px; padding: 16px 24px;
  color: rgba(255, 255, 255, .58); font-size: 11px;
}
.plu-site-footer__lower address { font: inherit; font-style: normal; }
/* The reference's own breakpoints, not ours: 980 / 620 / 420. */
@media (max-width: 980px) {
  .plu-site-footer__inner { grid-template-columns: 1fr; gap: 38px; }
  .plu-site-footer__directory { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .plu-site-footer__directory { grid-template-columns: 1fr 1fr; gap: 30px 20px; }
  .plu-site-footer__lower > div { align-items: flex-start; flex-direction: column; gap: 6px; padding: 15px 20px; }
}
@media (max-width: 420px) { .plu-site-footer__directory { grid-template-columns: 1fr; } }

/* Visually hidden, still announced. The reference's social links pair the icon
   with a text label; without this the label renders inside the 38px box. */
.plu-visually-hidden {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
  border: 0; overflow: hidden; clip-path: inset(50%);
}

/* Cadre Sign In ---------------------------------------------------------- */
/* From mu-plugins/plu-membership/assets/membership.css, confirmed against the
   reference's computed styles at 1440. Two deliberate departures, both noted
   below: the reference leaves two controls unstyled and we do not copy that. */
.plu-member-access {
  display: grid; grid-template-columns: .9fr 1.1fr; max-width: 1040px; margin: 0 auto;
  border-top: 4px solid #111; background: #fff; box-shadow: 0 24px 60px rgba(0, 0, 0, .08);
}
.plu-member-access__intro { padding: 42px; background: var(--plu-yellow); }
.plu-member-access__intro h2 { margin: 8px 0 16px; font-size: 34px; line-height: 1.08; }
.plu-member-access__intro p:not(.plu-eyebrow) { color: rgba(0, 0, 0, .66); line-height: 1.65; }
.plu-member-login { display: grid; gap: 18px; padding: 42px; align-content: start; }
.plu-member-login label:not(.plu-login-remember) {
  display: grid; gap: 8px; font-size: 13px; font-weight: 900;
}
/* The reference's rule lists only [type=email] and [type=password], but its
   own identifier field is [type=text] - so on the live site it renders as a
   26px browser default beside a 48px PIN box. That is a defect in the
   reference, not a style to reproduce: text and search are included here. */
.plu-member-login input[type=text],
.plu-member-login input[type=search],
.plu-member-login input[type=email],
.plu-member-login input[type=password] {
  min-height: 48px; border: 1px solid #cfcfc8; border-radius: 5px;
  padding: 0 14px; font: inherit; font-weight: 400;
}
.plu-member-login input:focus-visible { outline: 2px solid var(--plu-yellow); outline-offset: 1px; }
.plu-login-remember { display: flex; gap: 9px; align-items: center; font-size: 13px; font-weight: 400; }
.plu-member-login small { font-size: 10.8333px; font-weight: 900; }
.plu-member-login p { margin: 0; color: #71747b; font-size: 13px; }
.plu-member-login a { color: #050505; font-weight: 900; }
/* Same story as the input: the reference's reset button carries no class, so it
   renders as a grey browser default under a black sign-in button. Both are
   .plu-submit here. */
.plu-member-login .plu-submit {
  grid-column: 1 / -1; width: fit-content; min-height: 46px; border: 0;
  background: #050505; color: #fff; padding: 0 20px;
  font: inherit; font-weight: 900; text-transform: uppercase; cursor: pointer;
}
.plu-member-login .plu-submit:hover { background: #222; }
@media (max-width: 780px) {
  .plu-member-access { grid-template-columns: 1fr; }
  .plu-member-access__intro, .plu-member-login { padding: 28px; }
}

/* Shared public-page bits not carried by the extracted theme rules -------- */
.plu-site-main { display: block; }
.plu-empty-note { max-width: 760px; margin: 0 auto; padding: 26px 28px; background: #fff; border: 1px solid var(--plu-line); border-left: 4px solid var(--plu-yellow); font-size: 14.5px; }
.plu-leader-photo--initials { display: grid; place-items: center; background: var(--plu-black); color: var(--plu-yellow); font-size: 34px; font-weight: 900; letter-spacing: .04em; }
.plu-news-body img { margin: 22px 0; }
.plu-slider { position: relative; height: 680px; overflow: hidden; background: #111; }
.plu-slide { position: absolute; inset: 0; opacity: 0; transform: scale(1.015); transition: opacity 850ms ease, transform 1400ms ease; pointer-events: none; }
.plu-slide.is-active { opacity: 1; transform: scale(1); pointer-events: auto; }
.plu-slide > img { width: 100%; height: 100%; object-fit: cover; object-position: var(--plu-slide-x, 50%) var(--plu-slide-y, 50%); }
.plu-slide__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.76), rgba(0,0,0,.44) 42%, rgba(0,0,0,.1)); }
.plu-slide__content { position: absolute; z-index: 2; left: max(64px, calc((100% - 1360px) / 2 + 24px)); top: 178px; width: min(820px, calc(100% - 80px)); color: #fff; }
.plu-slide--text-right .plu-slide__shade { background: linear-gradient(270deg, rgba(0,0,0,.76), rgba(0,0,0,.44) 42%, rgba(0,0,0,.1)); }
.plu-slide--text-right .plu-slide__content { right: max(64px, calc((100% - 1360px) / 2 + 24px)); left: auto; }
.plu-slide--text-bottom-left .plu-slide__shade { background: linear-gradient(0deg, rgba(0,0,0,.78), rgba(0,0,0,.34) 42%, rgba(0,0,0,.05)); }
.plu-slide--text-bottom-left .plu-slide__content { top: auto; bottom: 92px; }
.plu-slide--text-bottom-right .plu-slide__shade { background: linear-gradient(0deg, rgba(0,0,0,.78), rgba(0,0,0,.34) 42%, rgba(0,0,0,.05)); }
.plu-slide--text-bottom-right .plu-slide__content { top: auto; right: max(64px, calc((100% - 1360px) / 2 + 24px)); bottom: 92px; left: auto; }
.plu-slide--text-center .plu-slide__shade { background: radial-gradient(circle at center, rgba(0,0,0,.5), rgba(0,0,0,.22) 46%, rgba(0,0,0,.12)); }
.plu-slide--text-center .plu-slide__content { right: 24px; left: 24px; top: 50%; width: min(820px, calc(100% - 48px)); margin: 0 auto; text-align: center; transform: translateY(-50%); }
.plu-slide--text-center .plu-hero-rule { margin-left: auto; margin-right: auto; }
.plu-slide--text-center p:not(.plu-eyebrow) { margin-left: auto; margin-right: auto; }
.plu-slide--text-center .plu-slide__actions { justify-content: center; }
.plu-hero-rule { display: block; width: 74px; height: 5px; background: var(--plu-yellow); margin-bottom: 16px; }
.plu-slide .plu-eyebrow { color: var(--plu-yellow); }
.plu-slide h1 { margin: 0; font-size: clamp(46px, 4.7vw, 70px); line-height: .97; font-weight: 900; letter-spacing: 0; }
.plu-slide p:not(.plu-eyebrow) { max-width: 620px; margin: 18px 0 0; color: rgba(255,255,255,.92); font-size: 20px; line-height: 1.45; font-weight: 800; }
.plu-slide__actions { display: flex; gap: 14px; margin-top: 28px; }
.plu-button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 0 22px; border: 2px solid transparent; text-decoration: none; font-size: 12px; font-weight: 900; text-transform: uppercase; border-radius: 2px; }
.plu-button--yellow { background: var(--plu-yellow); color: #000; }
.plu-button--ghost { border-color: rgba(255,255,255,.75); color: #fff; }
.plu-slider__count { position: absolute; left: max(64px, calc((100% - 1360px) / 2 + 24px)); bottom: 42px; z-index: 3; display: flex; align-items: center; gap: 12px; color: #fff; font-size: 12px; font-weight: 900; }
.plu-slider__count i { display: block; width: 72px; height: 2px; background: rgba(255,255,255,.35); }
.plu-slider__controls { position: absolute; right: max(28px, calc((100% - 1360px) / 2 + 24px)); bottom: 32px; z-index: 3; display: flex; align-items: center; gap: 8px; padding: 8px; background: rgba(0,0,0,.45); border-radius: 2px; }
.plu-slider__controls button { width: 34px; height: 34px; border: 0; background: rgba(255,255,255,.16); color: #fff; font-size: 22px; font-weight: 900; cursor: pointer; }
.plu-slider__controls button[data-plu-dot] { width: 22px; height: 5px; background: rgba(255,255,255,.4); font-size: 0; }
.plu-slider__controls button[data-plu-dot].is-active { background: var(--plu-yellow); }
.plu-top-row, .plu-endorsement-strip, .plu-gs-row, .plu-membership-row, .plu-programmes-section, .plu-news-section { max-width: 1360px; margin-left: auto; margin-right: auto; }
.plu-top-row { display: grid; grid-template-columns: 1.35fr .65fr; gap: 18px; padding: 44px 24px 22px; }
.plu-chairman-card { display: grid; grid-template-columns: 340px 1fr; min-height: 360px; background: #fff; border: 1px solid var(--plu-line); box-shadow: var(--plu-shadow); }
.plu-person-photo { position: relative; background: #000; overflow: hidden; }
.plu-person-photo img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.plu-person-photo b { position: absolute; left: 0; right: 0; bottom: 0; padding: 10px 14px; background: #050505; color: #fff; font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.plu-person-copy { padding: 46px 34px; }
.plu-red-rule { display: block; width: 70px; height: 4px; background: var(--plu-red); margin-bottom: 18px; }
.plu-person-copy h2, .plu-gs-message h2, .plu-vision-card h2 { margin: 0 0 8px; font-size: 32px; line-height: 1.05; font-weight: 900; }
.plu-person-copy strong, .plu-gs-message strong { display: block; margin-bottom: 16px; font-size: 14px; color: rgba(0,0,0,.68); }
.plu-person-copy p,
.plu-gs-message p,
.plu-vision-card p { color: rgba(0,0,0,.68); font-size: 14px; line-height: 1.7; }
.home .plu-person-copy p,
.home .plu-gs-message p { text-align: justify;
  text-justify: inter-word; }
.plu-mini-button { display: inline-flex; min-height: 38px; align-items: center; margin-top: 12px; padding: 0 18px; background: #050505; color: #fff; text-decoration: none; font-size: 11px; font-weight: 900; text-transform: uppercase; border-radius: 2px; }
.plu-mini-button--light { background: #fff; color: #000; border: 1px solid var(--plu-line); }
.plu-vision-card { position: relative; min-height: 290px; padding: 54px 36px 32px; background: #fff; border: 1px solid var(--plu-line); border-left: 8px solid var(--plu-yellow); box-shadow: var(--plu-shadow); overflow: hidden; }
.plu-vision-card::before { content: ''; position: absolute; top: 0; right: 0; width: 155px; height: 150px; background: var(--plu-yellow); clip-path: polygon(35% 0, 100% 0, 100% 100%, 0 100%); }
.plu-vision-card::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--plu-red); }
.plu-icon-box { position: relative; z-index: 2; display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; margin-bottom: 16px; background: #050505; color: var(--plu-yellow); font-size: 24px; font-weight: 900; }
.plu-vision-card h2, .plu-vision-card p, .plu-vision-card a { position: relative; z-index: 2; }
.plu-endorsement-strip { position: relative; display: grid; grid-template-columns: 126px 1fr auto; align-items: center; margin-top: 12px; overflow: hidden; background: #050505; color: #fff; min-height: 136px; box-shadow: var(--plu-shadow); }
.plu-endorsement-strip::after { content: ''; position: absolute; right: 0; bottom: 0; left: 126px; height: 3px; background: var(--plu-red); transform-origin: left; animation: plu-accountability-line 4.8s ease-in-out infinite; }
/* Referenced by the rule above but never defined, so the strip's red underline
   sat frozen at full width instead of pulsing. */
@keyframes plu-accountability-line { 0%, 100% { transform: scaleX(.18); } 50% { transform: scaleX(1); } }
.plu-strip-icon { height: 100%; display: flex; align-items: center; justify-content: center; background: var(--plu-yellow); color: #000; }
.plu-strip-icon svg { width: 48px; height: 48px; }
.plu-endorsement-strip > div:nth-child(2) { padding: 24px 30px; }
.plu-endorsement-strip h2 { margin: 0; font-size: 27px; line-height: 1.1; }
.plu-endorsement-strip p:not(.plu-eyebrow) { margin: 8px 0 0; color: rgba(255,255,255,.7); font-size: 13px; }
.plu-endorsement-strip .plu-button { margin-right: 30px; }
.plu-gs-row { display: grid; grid-template-columns: 310px 1fr 230px; gap: 0; margin-top: 28px; padding: 0 24px; }
.plu-gs-photo,
.plu-gs-message { min-height: 430px; border: 1px solid var(--plu-line); background: #fff; }
.plu-gs-message { padding: 50px 36px; background: #fff9c9; }
.plu-gs-message ul { display: flex; gap: 22px; flex-wrap: wrap; margin: 22px 0; padding: 0; list-style: none; }
.plu-gs-message li { position: relative; padding-left: 18px; font-size: 12px; font-weight: 900; }
.plu-gs-message li::before { content: ''; position: absolute; left: 0; top: 4px; width: 10px; height: 10px; border-radius: 50%; background: var(--plu-yellow); border: 2px solid var(--plu-red); }

@keyframes plu-endorsement-progress { to { transform: scaleX(1); } }
.plu-membership-row { display: grid; grid-template-columns: 300px 1fr; margin-top: 38px; padding: 0 24px; }
.plu-membership-intro { position: relative; background: #fffcee; border: 1px solid var(--plu-line); border-right: 0; padding: 36px 28px; overflow: hidden; }
.plu-membership-intro::before { content: ''; position: absolute; right: 0; top: 0; width: 86px; height: 82px; background: var(--plu-yellow); clip-path: polygon(50% 0, 100% 0, 100% 100%, 0 100%); }
.plu-membership-intro::after { content: ''; position: absolute; right: 25px; top: 0; width: 3px; height: 88px; background: var(--plu-red); }
.plu-membership-intro h2 { position: relative; margin: 0 0 12px; font-size: 25px; line-height: 1.08; }
.plu-membership-intro p:not(.plu-eyebrow) { position: relative; font-size: 14px; color: rgba(0,0,0,.66); line-height: 1.6; }
.plu-action-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--plu-line); border-left: 1px solid var(--plu-line); }
.plu-action-grid a { min-height: 150px; padding: 28px; background: #fff; border-right: 1px solid var(--plu-line); border-bottom: 1px solid var(--plu-line); text-decoration: none; }
.plu-action-grid b { display: block; margin-bottom: 10px; font-size: 15px; }
.plu-action-grid span { color: rgba(0,0,0,.6); font-size: 13px; line-height: 1.5; }
.plu-programmes-section { padding: 38px 24px 70px; }
.plu-section-title-row { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.plu-section-title-row h2 { margin: 0; font-size: 37px; line-height: 1.05; }
.plu-programmes-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.plu-programmes-grid article { min-height: 150px; background: #fff; border: 1px solid var(--plu-line); padding: 24px; box-shadow: 0 8px 18px rgba(0,0,0,.035); }
.plu-programmes-grid span { display: flex; width: 58px; height: 58px; align-items: center; justify-content: center; margin-bottom: 18px; background: var(--plu-yellow); color: #050505; }
.plu-programmes-grid h3 { margin: 0 0 10px; font-size: 18px; }
.plu-programmes-grid p { margin: 0; color: rgba(0,0,0,.62); font-size: 13px; line-height: 1.55; }
.plu-news-section { padding: 72px 24px; }
.plu-news-grid { display: grid; grid-template-columns: 1.25fr .95fr; gap: 22px; }
.plu-news-main { background: #fff; box-shadow: var(--plu-shadow); }
.plu-news-main img { width: 100%; height: 350px; object-fit: cover; }
.plu-news-main div { padding: 24px; }
.plu-news-main span { display: inline-flex; margin-bottom: 18px; padding: 8px 12px; background: var(--plu-yellow); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.plu-news-main h3 { margin: 0; font-size: 34px; line-height: 1.08; }
.plu-news-list { display: grid; gap: 18px; }
.plu-news-list article { display: grid; grid-template-columns: 120px 1fr; gap: 18px; align-items: center; min-height: 120px; padding: 14px; background: #fff; border: 1px solid var(--plu-line); }
.plu-news-list img { width: 120px; height: 82px; object-fit: cover; }
.plu-news-list b { font-size: 15px; line-height: 1.25; }
.plu-page-hero { padding: 86px 24px; background: #050505; color: #fff; border-bottom: 4px solid var(--plu-yellow); }
.plu-page-hero > div, .plu-page .plu-section { max-width: 1360px; margin: 0 auto; }
.plu-page-hero h1 { margin: 0; font-size: 58px; line-height: 1; }
.plu-page .plu-section { padding: 44px 24px; background: #fff; min-height: 360px; }
@media (max-width: 980px) {
  .plu-slider { height: 560px; }
  .plu-slide__content { top: 125px; left: 24px; width: calc(100% - 48px); }
  .plu-top-row, .plu-gs-row, .plu-membership-row, .plu-news-grid { grid-template-columns: 1fr; }
  .plu-chairman-card { grid-template-columns: 1fr; }
  .plu-person-photo { min-height: 340px; }
  .plu-endorsement-strip { grid-template-columns: 90px 1fr; }
  .plu-endorsement-strip .plu-button { grid-column: 2; margin: 0 30px 24px; width: fit-content; }
  .plu-programmes-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px) {
  .plu-slider { height: 590px; }
  .plu-slide h1 { font-size: 44px; }
  .plu-slide p:not(.plu-eyebrow) { font-size: 17px; }
  .plu-slider__count { left: 24px; bottom: 26px; }
  .plu-slider__controls { right: 20px; bottom: 20px; }
  .plu-action-grid, .plu-programmes-grid, .plu-news-list article { grid-template-columns: 1fr; }
  .plu-section-title-row { align-items: start; flex-direction: column; }
  .plu-news-main h3 { font-size: 25px; }
}
.home .plu-slider { height: 640px; }
.home .plu-slide { transform: scale(1.025); transition: opacity 700ms ease, transform 1200ms ease; }
.home .plu-slide.is-active { transform: scale(1); }
.home .plu-slide__content { top: 150px; width: min(690px, calc(100% - 80px)); }
.home .plu-slide--text-bottom-left .plu-slide__content,
.home .plu-slide--text-bottom-right .plu-slide__content { top: auto; bottom: 92px; }
.home .plu-slide h1,
.home .plu-slide h2 { max-width: 680px; margin: 0; color: #fff; font-size: clamp(44px, 4.4vw, 64px); line-height: 1; font-weight: 900; letter-spacing: 0; }
.home .plu-slide p:not(.plu-eyebrow) { max-width: 590px; font-size: 18px; line-height: 1.5; }
.home .plu-slide-member-rail { position: absolute; right: 0; bottom: 0; left: 0; z-index: 4; display: block; min-height: 98px; border-top: 4px solid var(--plu-yellow); background: #fff; color: #050505; text-decoration: none; box-shadow: 0 -14px 34px rgba(0,0,0,.2); transition: border-color 180ms ease; }
.home .plu-slide-member-rail::after { position: absolute; right: 0; bottom: 0; left: 0; height: 4px; content: ''; background: var(--plu-red); }
.home .plu-slide-member-rail__inner { width: min(100%, 1440px); min-height: 94px; display: grid; grid-template-columns: minmax(330px,1.4fr) minmax(150px,.62fr) minmax(150px,.62fr) minmax(220px,.9fr); margin: 0 auto; }
.home .plu-slide-member-rail__lead { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 18px; align-content: center; padding: 14px max(24px, calc((100vw - 1360px) / 2 + 24px)); padding-right: 28px; background: #050505; color: #fff; }
.home .plu-slide-member-rail__lead > small { grid-column: 2; align-self: end; color: var(--plu-yellow); font-size: 10px; line-height: 1.2; font-weight: 900; text-transform: uppercase; }
.home .plu-slide-member-rail__lead > strong { grid-row: 1 / 3; align-self: center; min-width: 70px; color: var(--plu-yellow); font-size: 46px; line-height: .9; font-weight: 900; text-align: right; }
.home .plu-slide-member-rail__lead > span { grid-column: 2; align-self: start; margin-top: 4px; color: rgba(255,255,255,.82); font-size: 12px; line-height: 1.3; font-weight: 800; text-transform: uppercase; }
.home .plu-slide-member-rail__stat { display: grid; align-content: center; gap: 5px; padding: 16px 26px; border-right: 1px solid rgba(0,0,0,.12); background: #fff; }
.home .plu-slide-member-rail__stat strong { font-size: 28px; line-height: 1; font-weight: 900; }
.home .plu-slide-member-rail__stat small { color: rgba(0,0,0,.55); font-size: 10px; line-height: 1.35; font-weight: 850; text-transform: uppercase; }
.home .plu-slide-member-rail__action { display: grid; align-content: center; gap: 5px; padding: 15px max(28px, calc((100vw - 1360px) / 2 + 24px)) 18px 30px; background: var(--plu-yellow); }
.home .plu-slide-member-rail__action small { color: rgba(0,0,0,.56); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.home .plu-slide-member-rail__action strong { display: flex; align-items: center; gap: 12px; font-size: 18px; line-height: 1; font-weight: 900; text-transform: uppercase; }
.home .plu-slide-member-rail__action i { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #050505; color: #fff; font-size: 17px; font-style: normal; transition: transform 180ms ease; }
.home .plu-slide-member-rail:hover .plu-slide-member-rail__action i,
.home .plu-slide-member-rail:focus-visible .plu-slide-member-rail__action i { transform: translateX(4px); }
.home .plu-slide-member-rail:focus-visible { outline: 3px solid #fff; outline-offset: -7px; }
.home .plu-slide__actions { align-items: center; gap: 20px; }
.home .plu-slide__secondary { display: inline-flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 2px solid rgba(255,255,255,.7); color: #fff; font-size: 12px; font-weight: 900; text-decoration: none; text-transform: uppercase; transition: border-color 180ms ease, color 180ms ease; }
.home .plu-slide__secondary:hover,
.home .plu-slide__secondary:focus-visible { border-color: var(--plu-yellow); color: var(--plu-yellow); }
.home .plu-slider__controls { gap: 6px; padding: 6px; backdrop-filter: blur(8px); }
.home .plu-slider__count { bottom: 126px; }
.home .plu-slider__controls { bottom: 114px; }
.home .plu-slider__controls button { width: 36px; height: 36px; }
.home .plu-slider__controls .plu-slider__pause { font-size: 13px; }
.home .plu-slider__controls button[data-plu-dot] { width: 18px; height: 4px; }
.home .plu-icon-box svg { width: 22px; height: 22px; }
.home .plu-slide--173 .plu-slide__shade,
.home .plu-slide--the-secretariat-at-work .plu-slide__shade { background: linear-gradient(0deg, rgba(0,0,0,.78), rgba(0,0,0,.34) 38%, rgba(0,0,0,.04) 66%); }
.home .plu-slide--173 .plu-slide__content,
.home .plu-slide--the-secretariat-at-work .plu-slide__content { top: auto;
  right: max(54px, calc((100% - 1360px) / 2 + 24px));
  bottom: 88px;
  left: auto;
  width: min(520px, calc(46% - 24px)); }
.home .plu-top-row { grid-template-columns: minmax(0,1.4fr) minmax(280px,.6fr); padding-top: 40px; }
.home .plu-chairman-card { grid-template-columns: 320px minmax(0,1fr); min-height: 340px; }
.home .plu-person-copy { padding: 38px 32px; }
.home .plu-person-copy h2,
.home .plu-gs-message h2,
.home .plu-vision-card h2 { font-size: 30px; }
.home .plu-vision-card { min-height: 280px; padding: 42px 32px 30px; }
.home .plu-vision-card::before { width: 132px; height: 126px; }
.home .plu-endorsement-strip { min-height: 118px; }
.home .plu-strip-icon svg { width: 44px; height: 44px; }
.home .plu-gs-row { grid-template-columns: 290px minmax(0,1fr) minmax(320px,.85fr); margin-top: 26px; }
.home .plu-gs-photo,
.home .plu-gs-message { min-height: 390px; }
.home .plu-gs-photo img { height: 118%;
  max-width: none;
  object-position: 50% 100%;
  transform: translateY(-15%); }
.home .plu-gs-message { padding: 38px 32px; border-top: 4px solid var(--plu-yellow); background: #fff; }
.home .plu-gs-message ul { gap: 16px; margin: 18px 0; }
.home .plu-membership-row { display: block; margin-top: 34px; }
.home .plu-membership-intro { display: grid; grid-template-columns: minmax(280px,.75fr) minmax(320px,1.25fr); gap: 40px; align-items: end; padding: 24px 28px; border-right: 1px solid var(--plu-line); border-bottom: 0; }
.home .plu-membership-intro h2 { max-width: 420px; margin-bottom: 0; font-size: 27px; }
.home .plu-membership-intro > p { max-width: 590px; margin: 0; }
.home .plu-membership-intro::before { width: 74px; height: 70px; }
.home .plu-membership-intro::after { right: 22px; height: 74px; }
.home .plu-action-grid { grid-template-columns: repeat(auto-fit,minmax(230px,1fr)); }
.home .plu-action-grid a { min-height: 126px; display: grid; grid-template-columns: 44px minmax(0,1fr) 18px; gap: 14px; align-items: center; padding: 22px 18px; transition: background 180ms ease, transform 180ms ease; }
.home .plu-action-grid a:hover,
.home .plu-action-grid a:focus-visible { position: relative; z-index: 1; background: #fffde1; transform: translateY(-3px); outline: 2px solid #111; outline-offset: -2px; }
.home .plu-action-grid i { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: #050505; color: var(--plu-yellow); }
.home .plu-action-grid i svg { width: 21px; height: 21px; }
.home .plu-action-grid span { min-width: 0; color: inherit; }
.home .plu-action-grid b { margin: 0; font-size: 14px; line-height: 1.25; }
.home .plu-action-grid small { display: block; margin-top: 7px; color: rgba(0,0,0,.58); font-size: 12px; line-height: 1.45; }
.home .plu-action-grid em { color: #050505; font-size: 18px; font-style: normal; font-weight: 900; }
.home .plu-programmes-section { padding-top: 34px; padding-bottom: 58px; }
.home .plu-programmes-grid { grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); }
.home .plu-programmes-grid article { position: relative; min-height: 174px; padding: 24px; overflow: hidden; border-top: 4px solid #050505; transition: transform 180ms ease, box-shadow 180ms ease; }
.home .plu-programmes-grid article:hover { transform: translateY(-4px); box-shadow: 0 18px 34px rgba(0,0,0,.08); }
.home .plu-programmes-grid header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.home .plu-programmes-grid header span { margin: 0; }
.home .plu-programmes-grid header span svg { width: 30px; height: 30px; }
.home .plu-programmes-grid header b { color: rgba(0,0,0,.16); font-size: 32px; line-height: 1; }
.home .plu-home-news { padding: 52px 0; }
.home .plu-home-news__media { min-height: 340px; }
.home .plu-home-news__content { padding: 24px; }
.home .plu-home-news__content h3 { font-size: 32px; }
.home .plu-home-news__content > p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.home .plu-home-news__selectors { gap: 10px; }
.home .plu-home-news__selectors button { min-height: 82px; padding: 10px; }
@media (max-width: 980px) {
  .home .plu-slider { height: 560px; }
  .home .plu-slide__content { top: 116px; }
  .home .plu-slide--text-right .plu-slide__content,
  .home .plu-slide--text-bottom-right .plu-slide__content { right: 24px; left: auto; }
  .home .plu-slide--text-bottom-left .plu-slide__content,
  .home .plu-slide--text-bottom-right .plu-slide__content { top: auto; bottom: 82px; }
  .home .plu-top-row { grid-template-columns: 1fr; }
  .home .plu-chairman-card { grid-template-columns: minmax(280px,.8fr) minmax(0,1.2fr); }
  .home .plu-gs-row { grid-template-columns: 280px minmax(0,1fr); }
  .home .plu-membership-intro { grid-template-columns: 1fr; gap: 10px; }
  .home .plu-action-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .home .plu-slider { height: 520px; }
  .home .plu-slide__content { top: 76px; left: 20px; width: calc(100% - 40px); }
  .home .plu-slide--text-right .plu-slide__content,
  .home .plu-slide--text-bottom-right .plu-slide__content,
  .home .plu-slide--text-bottom-left .plu-slide__content,
  .home .plu-slide--text-center .plu-slide__content { top: auto; right: 20px; bottom: 74px; left: 20px; width: calc(100% - 40px); text-align: left; transform: none; }
  .home .plu-slide--text-center .plu-hero-rule { margin-left: 0; margin-right: 0; }
  .home .plu-slide--text-center p:not(.plu-eyebrow) { margin-left: 0; margin-right: 0; }
  .home .plu-slide--text-center .plu-slide__actions { justify-content: flex-start; }
  .home .plu-slide--text-right .plu-slide__shade,
  .home .plu-slide--text-bottom-right .plu-slide__shade,
  .home .plu-slide--text-bottom-left .plu-slide__shade,
  .home .plu-slide--text-center .plu-slide__shade { background: linear-gradient(0deg, rgba(0,0,0,.78), rgba(0,0,0,.34) 48%, rgba(0,0,0,.06)); }
  .home .plu-hero-rule { width: 54px; height: 4px; margin-bottom: 12px; }
  .home .plu-slide h1,
  .home .plu-slide h2 { font-size: 38px; line-height: 1.03; }
  .home .plu-slide p:not(.plu-eyebrow) { display: -webkit-box; max-width: 340px; margin-top: 14px; overflow: hidden; font-size: 15px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
  .home .plu-slide__actions { gap: 16px; margin-top: 20px; }
  .home .plu-button { min-height: 40px; padding: 0 17px; font-size: 11px; }
  .home .plu-slide__secondary { font-size: 11px; }
  .home .plu-slider__count { left: 20px; bottom: 20px; }
  .home .plu-slider__count i { width: 44px; }
  .home .plu-slider__controls { right: 14px; bottom: 14px; }
  .home .plu-slider__controls button { width: 32px; height: 32px; }
  .home .plu-top-row { gap: 14px; padding: 28px 16px 16px; }
  .home .plu-chairman-card { grid-template-columns: 1fr; min-height: 0; }
  .home .plu-chairman-card .plu-person-photo { height: 360px; min-height: 0; }
  .home .plu-person-copy { padding: 28px 22px; }
  .home .plu-person-copy h2,
  .home .plu-gs-message h2,
  .home .plu-vision-card h2 { font-size: 27px; }
  .home .plu-person-copy p:nth-of-type(2) { display: none; }
  .home .plu-vision-card { min-height: 0; padding: 30px 24px 26px; }
  .home .plu-vision-card::before { width: 102px; height: 96px; }
  .home .plu-endorsement-strip { grid-template-columns: 64px 1fr; min-height: 0; margin: 0 16px; }
  .home .plu-endorsement-strip::after { left: 64px; }
  .home .plu-strip-icon svg { width: 34px; height: 34px; }
  .home .plu-endorsement-strip > div:nth-child(2) { padding: 22px 18px 12px; }
  .home .plu-endorsement-strip h2 { font-size: 23px; }
  .home .plu-endorsement-strip .plu-button { margin: 0 18px 22px; }
  .home .plu-gs-row { grid-template-columns: 1fr; margin-top: 20px; padding: 0 16px; }
  .home .plu-gs-photo { height: 360px; min-height: 0; }
  .home .plu-gs-message { min-height: 0; padding: 28px 22px; }
  .home .plu-gs-message > p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 5; }
  .home .plu-gs-message ul { display: grid; gap: 9px; margin: 16px 0; }
  .home .plu-membership-row { margin-top: 28px; padding: 0 16px; }
  .home .plu-membership-intro { display: block; padding: 24px 22px; }
  .home .plu-membership-intro h2 { font-size: 25px; }
  .home .plu-membership-intro > p { margin-top: 12px; }
  .home .plu-action-grid { grid-template-columns: 1fr; }
  .home .plu-action-grid a { min-height: 94px; padding: 17px 16px; }
  .home .plu-action-grid i { width: 40px; height: 40px; }
  .home .plu-programmes-section { padding: 30px 16px 46px; }
  .home .plu-section-title-row h2 { font-size: 30px; }
  .home .plu-programmes-grid { grid-template-columns: 1fr; gap: 12px; }
  .home .plu-programmes-grid article { min-height: 142px; padding: 20px; }
  .home .plu-programmes-grid header { margin-bottom: 14px; }
  .home .plu-home-news { padding: 40px 0; }
  .home .plu-home-news__inner { width: calc(100% - 32px); }
  .home .plu-home-news__header { gap: 14px; margin-bottom: 18px; }
  .home .plu-home-news__header h2 { font-size: 34px; }
  .home .plu-home-news__media { min-height: 240px; }
  .home .plu-home-news__content { padding: 20px; }
  .home .plu-home-news__content h3 { font-size: 25px; }
  .home .plu-home-news__content > p { font-size: 14px; line-height: 1.6; -webkit-line-clamp: 3; }
  .home .plu-home-news__selectors { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .home .plu-home-news__selectors button { grid-template-columns: 52px minmax(0,1fr); gap: 8px; min-height: 76px; padding: 8px; }
  .home .plu-home-news__selectors img { width: 52px; height: 58px; }
  .home .plu-home-news__selectors strong { font-size: 11px; }
  .home .plu-home-news__selectors time { margin-top: 5px; font-size: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .plu-endorsement-strip::after { animation: none; transform: scaleX(1); }
}
.single-plu_news .plu-news-article { padding-bottom: 0; background: #f3f4f1; }
.single-plu_news .plu-news-article-hero { height: clamp(360px, 56vw, 700px);
  min-height: 0;
  align-items: stretch; }
.single-plu_news .plu-news-article-hero > img { object-position: var(--plu-news-focus-x, 50%) var(--plu-news-focus-y, 32%); }
.single-plu_news .plu-news-article-intro { position: relative; z-index: 2; padding: 44px 0 46px; background: #0a0a0a; color: #fff; }
.single-plu_news .plu-news-article-intro::before { position: absolute; inset: 0 auto 0 0; width: 7px; background: #fff200; content: ""; }
.single-plu_news .plu-news-article-hero__content { max-width: 1080px; padding-bottom: 0; }
.plu-news-article-back { display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  color: rgba(255,255,255,.82);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  text-transform: uppercase; }
.plu-news-article-back:hover { color: #fff200; }
.single-plu_news .plu-news-article-hero__content > .plu-news-article-category { width: fit-content;
  margin: 0 0 14px;
  padding: 6px 10px;
  background: #fff200;
  color: #050505;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase; }
.single-plu_news .plu-news-article-hero h1 { max-width: 1040px;
  margin-bottom: 17px;
  font-size: clamp(40px, 5vw, 68px);
  line-height: 1.02;
  letter-spacing: 0; }
.plu-news-article-deck { max-width: 820px;
  margin: 0 0 22px;
  color: rgba(255,255,255,.82);
  font-size: clamp(16px, 1.5vw, 20px);
  line-height: 1.55; }
.single-plu_news .plu-news-article-meta { flex-direction: row; flex-wrap: wrap; gap: 22px 50px; }
.single-plu_news .plu-news-article-meta span,
.single-plu_news .plu-news-article-meta time { position: relative; font-size: 13px; font-weight: 700; }
.single-plu_news .plu-news-article-meta span + time::before { position: absolute;
  top: 3px;
  left: -26px;
  width: 1px;
  height: 30px;
  background: rgba(255,255,255,.3);
  content: ""; }
.single-plu_news .plu-news-article-body { position: relative;
  z-index: 2;
  width: calc(100% - 48px);
  max-width: 1040px;
  margin: 0 auto 72px;
  padding: 58px 64px 68px;
  background: #fff;
  box-shadow: 0 22px 55px rgba(20,24,22,.08);
  color: #202321;
  font-family: 'Geist PLU', Arial, Helvetica, sans-serif;
  font-size: 18px;
  line-height: 1.82; }
.plu-news-feature-stage .plu-news-feature { min-height: 0;
  display: grid;
  grid-template-rows: minmax(360px, 54vh) auto;
  background: #fff;
  color: #050505; }
.plu-news-feature-stage .plu-news-feature__image { position: relative; inset: auto; min-height: 0; overflow: hidden; }
.plu-news-feature-stage .plu-news-feature__image img { position: absolute; inset: 0; }
.plu-news-feature-stage .plu-news-feature__image img,
.plu-news-card__image img { object-position: var(--plu-news-focus-x, 50%) var(--plu-news-focus-y, 32%); }
.plu-news-feature-stage .plu-news-feature__shade { display: none; }
.plu-news-feature-stage .plu-news-feature__content { position: relative;
  inset: auto;
  padding: 30px 32px 34px;
  background: #fff;
  color: #050505; }
.plu-news-feature-stage .plu-news-feature .plu-news-meta { color: rgba(0,0,0,.58); }
.plu-news-feature-stage .plu-news-feature__content > p { color: rgba(0,0,0,.68); }
.plu-news-feature-stage .plu-news-feature .plu-news-read--yellow { color: #050505; }
.single-plu_news .plu-news-article-body p { margin: 0 0 1.45em; }
.single-plu_news .plu-news-article-body h2,
.single-plu_news .plu-news-article-body h3,
.single-plu_news .plu-news-article-body h4 { margin: 1.75em 0 .65em;
  color: #0d0e0d;
  font-family: 'Geist PLU', Arial, Helvetica, sans-serif;
  line-height: 1.18; }
.single-plu_news .plu-news-article-body h2 { font-size: 32px; }
.single-plu_news .plu-news-article-body h3 { font-size: 25px; }
.single-plu_news .plu-news-article-body ul,
.single-plu_news .plu-news-article-body ol { margin: 0 0 1.5em; padding-left: 1.35em; }
.single-plu_news .plu-news-article-body li { margin-bottom: .55em; padding-left: .2em; }
.single-plu_news .plu-news-article-body a { color: #9e141a; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.single-plu_news .plu-news-article-body blockquote { position: relative;
  margin: 2.2em 0;
  padding: 28px 30px 28px 35px;
  border: 0;
  border-left: 5px solid #fff200;
  background: #f4f4f0;
  color: #101110;
  font-size: 23px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.48; }
.single-plu_news .plu-news-article-body blockquote p:last-child { margin-bottom: 0; }
.single-plu_news .plu-news-article-body img,
.single-plu_news .plu-news-article-body figure,
.single-plu_news .plu-news-article-body .wp-caption { width: 100% !important;
  max-width: 100% !important; }
.single-plu_news .plu-news-article-body img { display: block;
  float: none !important;
  height: auto !important;
  margin: 2em 0;
  object-fit: contain; }
.single-plu_news .plu-news-article-body figure,
.single-plu_news .plu-news-article-body .wp-caption { margin: 2.15em 0; }
.single-plu_news .plu-news-article-body figure img,
.single-plu_news .plu-news-article-body .wp-caption img { margin: 0; }
.single-plu_news .plu-news-article-body figcaption,
.single-plu_news .plu-news-article-body .wp-caption-text { margin: 0;
  padding: 10px 12px 0;
  border-top: 3px solid #fff200;
  color: #666b67;
  font-family: 'Geist PLU', Arial, Helvetica, sans-serif;
  font-size: 12px;
  line-height: 1.5; }
.single-plu_news .plu-news-related { padding: 58px 0 72px; background: #fff; }
.single-plu_news .plu-news-related header { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.single-plu_news .plu-news-related header h2 { margin: 7px 0 0; font-size: 38px; }
@media (max-width: 700px) {
  .single-plu_news .plu-news-article-hero { height: clamp(250px, 68vw, 390px); min-height: 0; }
  .single-plu_news .plu-news-article-intro { padding: 30px 0 32px; }
  .single-plu_news .plu-news-article-hero__content { padding-bottom: 0; }
  .single-plu_news .plu-news-article-hero h1 { font-size: 32px; line-height: 1.12; }
  .single-plu_news .plu-news-article-deck { font-size: 16px; }
  .single-plu_news .plu-news-article-meta { gap: 18px 34px; }
  .single-plu_news .plu-news-article-meta span + time::before { left: -18px; }
  .single-plu_news .plu-news-article-body { width: 100%;
    margin: 0 auto 42px;
    padding: 38px 20px 48px;
    box-shadow: none;
    font-size: 17px;
    line-height: 1.76; }
  .single-plu_news .plu-news-article-body h2 { font-size: 27px; }
  .single-plu_news .plu-news-article-body h3 { font-size: 22px; }
  .single-plu_news .plu-news-article-body blockquote { padding: 22px 20px; font-size: 20px; }
  .single-plu_news .plu-news-related { padding: 44px 0 54px; }
  .single-plu_news .plu-news-related header h2 { font-size: 30px; }
  .plu-news-feature-stage .plu-news-feature { grid-template-rows: auto auto; }
  .plu-news-feature-stage .plu-news-feature__image { aspect-ratio: 16 / 10; }
  .plu-news-feature-stage .plu-news-feature__content { padding: 24px 20px 28px; }
}
.plu-message-page { background: #f5f5f1; }
.plu-message-hero { display: grid; min-height: 330px; place-items: center; padding: 64px 24px 72px; border-bottom: 4px solid var(--plu-yellow); background: #080808; color: #fff; text-align: center; }
.plu-message-hero > div { width: min(940px, 100%); }
.plu-message-hero .plu-eyebrow { margin-bottom: 18px; color: var(--plu-yellow); }
.plu-message-hero h1 { max-width: 920px; margin: 0 auto; font-size: clamp(38px, 5.4vw, 72px); font-weight: 800; line-height: 1.02; text-wrap: balance; }
.plu-message-hero span { display: block; width: 72px; height: 3px; margin: 30px auto 0; background: var(--plu-red); }
.plu-message { position: relative; width: min(860px, calc(100% - 40px)); margin: 0 auto; padding: 72px 76px 82px; background: #fff; box-shadow: 0 18px 55px rgba(0,0,0,.07); }
.plu-message__mark { position: absolute; top: 34px; left: 36px; color: var(--plu-yellow); font-family: Georgia, serif; font-size: 108px; font-weight: 700; line-height: 1; opacity: .42; pointer-events: none; }
.plu-message__body { position: relative; max-width: 680px; margin: 0 auto; color: #242424; }
.plu-message__body p { margin: 0 0 24px; font-family: 'Geist PLU', Arial, Helvetica, sans-serif; font-size: 18px; line-height: 1.85; }
.plu-message__body :where(p, h2, h3, h4, li, blockquote, strong, em, a, span) { font-family: 'Geist PLU', Arial, Helvetica, sans-serif !important; }
.plu-message__body .plu-message__salutation { margin-bottom: 34px; font-family: inherit; font-size: 15px; font-weight: 800; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.plu-message__body .plu-message__opening { margin-bottom: 30px; font-size: 23px; line-height: 1.55; text-align: center; }
.plu-message__pullquote { position: relative; width: min(760px, calc(100% + 80px)); margin: 48px -40px !important; padding: 34px 40px 30px; border-top: 1px solid #d7d7d0; border-bottom: 1px solid #d7d7d0; color: #111; font-size: 26px !important; font-weight: 700; line-height: 1.48 !important; text-align: center; }
.plu-message__pullquote::before { content: '\201C'; display: block; height: 28px; color: var(--plu-red); font-family: Georgia, serif; font-size: 58px; line-height: .9; }
.plu-message__pullquote::after { content: '\201D'; display: block; height: 20px; margin-top: 12px; color: var(--plu-red); font-family: Georgia, serif; font-size: 58px; line-height: .72; }
.plu-message__body p:nth-last-child(3) { margin-top: 42px; padding-top: 25px; border-top: 3px solid var(--plu-yellow); }
.plu-message__body p:last-child { margin-bottom: 0; }
.plu-tracker-v3 .plu-tracker-hero.plu-banner-media::before { inset: 0;
  height: auto;
  background-image: var(--plu-banner-image);
  background-position: var(--plu-banner-x, 50%) var(--plu-banner-y, 50%);
  background-size: cover;
  background-repeat: no-repeat;
  transform: scale(1.012); }
.plu-tracker-v3 .plu-tracker-hero.plu-banner-media::after { inset: 0;
  height: auto;
  background: linear-gradient(90deg, rgba(0,0,0,.96) 0%, rgba(0,0,0,.82) 45%, rgba(0,0,0,.42) 78%, rgba(0,0,0,.62) 100%), linear-gradient(var(--plu-yellow), var(--plu-yellow)) top / 100% 5px no-repeat; }
.plu-tracker-v3 .plu-tracker-hero.plu-banner-media.plu-banner-overlay--light::after { background: linear-gradient(90deg, rgba(0,0,0,.84) 0%, rgba(0,0,0,.66) 45%, rgba(0,0,0,.25) 78%, rgba(0,0,0,.42) 100%), linear-gradient(var(--plu-yellow), var(--plu-yellow)) top / 100% 5px no-repeat; }
.plu-tracker-v3 .plu-tracker-hero.plu-banner-media.plu-banner-overlay--strong::after { background: linear-gradient(90deg, rgba(0,0,0,.99) 0%, rgba(0,0,0,.9) 48%, rgba(0,0,0,.58) 80%, rgba(0,0,0,.74) 100%), linear-gradient(var(--plu-yellow), var(--plu-yellow)) top / 100% 5px no-repeat; }
@media (max-width: 700px) {
  .plu-message-hero { min-height: 250px; padding: 48px 20px 54px; }
  .plu-message-hero h1 { font-size: clamp(34px, 11vw, 48px); }
  .plu-message { width: 100%; padding: 54px 24px 62px; box-shadow: none; }
  .plu-message__mark { top: 24px; left: 12px; font-size: 82px; }
  .plu-message__body p { font-size: 17px; line-height: 1.75; }
  .plu-message__body .plu-message__opening { font-size: 21px; }
  .plu-message__pullquote { width: 100%; margin: 38px 0 !important; padding: 28px 8px 26px; font-size: 22px !important; }
}
@media (max-width: 760px) {
  .plu-tracker-v3 .plu-tracker-hero.plu-banner-media::before,
  .plu-tracker-v3 .plu-tracker-hero.plu-banner-media::after { top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    height: 240px;
    transform: none; }
  .plu-tracker-v3 .plu-tracker-hero.plu-banner-media::after { background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.34)), linear-gradient(var(--plu-yellow), var(--plu-yellow)) top / 100% 5px no-repeat; }
}
.plu-events-hero.plu-banner-media { min-height: 470px; display: flex; align-items: center; }
.plu-events-hero.plu-banner-media::before { background-position: var(--plu-banner-x,50%) var(--plu-banner-y,50%); }
.plu-events-hero.plu-banner-media::after { background: linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.62) 54%,rgba(0,0,0,.4) 100%); }
.plu-events-hero.plu-banner-media.plu-banner-overlay--light::after { background: linear-gradient(90deg,rgba(0,0,0,.76) 0%,rgba(0,0,0,.48) 54%,rgba(0,0,0,.24) 100%); }
.plu-events-hero.plu-banner-media.plu-banner-overlay--strong::after { background: linear-gradient(90deg,rgba(0,0,0,.97) 0%,rgba(0,0,0,.78) 58%,rgba(0,0,0,.58) 100%); }
.plu-events-hero.plu-banner-media .plu-events-hero__layout { position: relative; z-index: 2; }
.plu-events-hero.plu-banner-media aside { background: rgba(0,0,0,.48); }
@media(max-width:700px) {
  .plu-events-hero.plu-banner-media { min-height:0;display:block;padding:280px 0 0;background:#050505 }
  .plu-events-hero.plu-banner-media::before { inset:0 0 auto;height:280px;background-size:cover;transform:none }
  .plu-events-hero.plu-banner-media::after,.plu-events-hero.plu-banner-media.plu-banner-overlay--light::after,.plu-events-hero.plu-banner-media.plu-banner-overlay--strong::after { inset:0 0 auto;width:auto;height:280px;border:0;border-radius:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.28));box-shadow:none }
  .plu-events-hero.plu-banner-media .plu-events-hero__layout { width:100%;max-width:none;display:grid;gap:28px;padding:32px 20px 40px;box-sizing:border-box;background:#050505 }
  .plu-events-hero.plu-banner-media aside { max-width:none;margin:0;background:rgba(255,255,255,.07) }
}
@media (prefers-reduced-motion: reduce) {
  .home .plu-slide,
  .home .plu-home-news__slide,
  .home .plu-home-news__media img { transition: none; transform: none; }
}
.plu-news-controls { display: flex; align-items: center; gap: 8px; }
.plu-news-controls button { width: 38px; height: 38px; border: 1px solid var(--plu-line); background: #fff; color: #000; font-size: 24px; font-weight: 900; cursor: pointer; }
.plu-news-stage { position: relative; min-height: 570px; }
.plu-news-panel { position: absolute; inset: 0; opacity: 0; transform: translateX(18px); pointer-events: none; transition: opacity 360ms ease, transform 360ms ease; }
.plu-news-panel.is-active { opacity: 1; transform: translateX(0); pointer-events: auto; }
.plu-news-list a { display: grid; grid-template-columns: 120px 1fr; gap: 18px; align-items: center; min-height: 120px; padding: 14px; background: #fff; border: 1px solid var(--plu-line); text-decoration: none; }
@media (max-width: 980px) {
  .plu-news-stage { min-height: 980px; }
}
@media (max-width: 620px) {
  .plu-news-controls { flex-wrap: wrap; }
  .plu-news-stage { min-height: 1180px; }
  .plu-news-list a { grid-template-columns: 1fr; }
}
.plu-news-archive-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
@media (max-width: 760px) {
  .plu-news-archive-grid { grid-template-columns: 1fr; }
}
.plu-page-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.plu-button--ghost-dark { border-color: rgba(255,255,255,.34); color: #fff; background: transparent; }
.plu-membership-hero.has-panel-photo .plu-button--ghost-dark { border-color: rgba(0,0,0,.42); color: #111; background: rgba(255,255,255,.34); backdrop-filter: blur(5px); }
.plu-membership-hero.has-panel-photo .plu-page-actions .plu-button:nth-child(2) { border-color: #050505; background: var(--plu-yellow); color: #050505; box-shadow: none; }
.plu-membership-hero.has-panel-photo .plu-page-actions .plu-button:nth-child(2):hover, .plu-membership-hero.has-panel-photo .plu-page-actions .plu-button:nth-child(2):focus { background: #fff; color: #050505; }
.plu-membership-hero.has-panel-photo .plu-page-actions .plu-button:nth-child(3) { border-color: var(--plu-red); background: var(--plu-red); color: #fff; box-shadow: 0 10px 24px rgba(180,0,0,.2); }
.plu-membership-hero.has-panel-photo .plu-page-actions .plu-button:nth-child(3):hover, .plu-membership-hero.has-panel-photo .plu-page-actions .plu-button:nth-child(3):focus { border-color: #fff; background: #fff; color: var(--plu-red); }
.plu-membership-hero.has-panel-photo .plu-button--yellow { border-color: #050505; background: #050505; color: #fff; box-shadow: 0 10px 24px rgba(0,0,0,.24); }
.plu-membership-hero.has-panel-photo .plu-button--yellow:hover, .plu-membership-hero.has-panel-photo .plu-button--yellow:focus { border-color: #050505; background: #fff; color: #050505; }
.plu-designed-content { background: #fff; border-top: 4px solid var(--plu-yellow); }
.plu-designed-content { max-width: 1360px; margin: 0 auto 70px; padding: 42px 24px; border: 1px solid var(--plu-line); border-top: 4px solid var(--plu-yellow); box-shadow: var(--plu-shadow); }
.plu-designed-content .plu-section-title-row h2 { font-size: 34px; }
.plu-designed-content .plu-form { margin-top: 18px; }
.plu-join-page .plu-designed-content { max-width: 980px; padding: 0; border-top: 4px solid #050505; background: #fff; }
.plu-conduct { display: flex; gap: 10px; align-items: start; color: #667085; font-size: 14px; }
.plu-join-page .plu-designed-content { margin-top: 58px; margin-bottom: 76px; }
.plu-leadership-hero { min-height: 260px; display: grid; grid-template-columns: 1fr 360px; gap: 40px; align-items: end; padding: 70px max(56px, calc((100% - 1360px) / 2 + 24px)) 42px; background: var(--plu-yellow); border-bottom: 4px solid #050505; }
.plu-leadership-hero h1 { margin: 0; font-size: 42px; line-height: 1.05; font-weight: 900; }
.plu-leadership-hero p:not(.plu-eyebrow) { color: rgba(0,0,0,.65); max-width: 680px; }
.plu-leadership-hero aside { background: #050505; color: #fff; padding: 24px; border-top: 4px solid var(--plu-red); }
.plu-leadership-hero aside span { color: #fff; font-size: 11px; text-transform: uppercase; }
.plu-leadership-hero aside b { display:block; color: var(--plu-yellow); font-size: 26px; }
.plu-leadership-hero aside small { color: rgba(255,255,255,.72); }
.plu-leadership-content { max-width: 1360px; margin: 0 auto; padding: 42px 24px 90px; }
.plu-count-badge { align-self: center; background:#050505; color:var(--plu-yellow); padding:10px 16px; text-transform:uppercase; font-size:12px; }
.plu-featured-leader { display:grid; grid-template-columns: 450px 1fr; background:#fff; border:1px solid var(--plu-line); box-shadow:var(--plu-shadow); overflow:hidden; margin:24px 0 36px; }
.plu-featured-leader img { width:100%; height:420px; object-fit:cover; object-position: top center; border-right:6px solid var(--plu-yellow); }
.plu-featured-leader div { padding:70px 44px; }
.plu-featured-leader h2 { margin:0 0 8px; font-size:34px; line-height:1.05; }
.plu-featured-leader strong { display:block; margin-bottom:18px; }
.plu-featured-leader p:not(.plu-eyebrow) { color:rgba(0,0,0,.66); line-height:1.7; }
.plu-leader-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.plu-leader-card { background:#fff; border:1px solid var(--plu-line); border-radius:6px; overflow:hidden; box-shadow:0 8px 18px rgba(0,0,0,.04); }
.plu-leader-card img { width:100%; height:280px; object-fit:cover; object-position: top center; border-bottom:5px solid var(--plu-yellow); }
.plu-leader-card div { padding:22px; }
.plu-leader-card h3 { margin:0 0 6px; font-size:21px; line-height:1.1; }
.plu-leader-card strong { display:block; margin-bottom:12px; font-size:13px; }
.plu-leader-card p:not(.plu-eyebrow) { color:rgba(0,0,0,.62); font-size:13px; line-height:1.55; }
.plu-structure-hero { min-height:620px; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:40px; padding:70px max(56px, calc((100% - 1360px) / 2 + 24px)); background:#050505; color:#fff; border-bottom:4px solid var(--plu-yellow); overflow:hidden; }
.plu-structure-hero h1 { margin:0; max-width:620px; font-size:clamp(58px,7vw,86px); line-height:.98; font-weight:900; }
.plu-structure-hero p:not(.plu-eyebrow) { max-width:590px; color:rgba(255,255,255,.72); font-size:18px; line-height:1.7; }
.plu-structure-orbit { position:relative; min-height:440px; display:flex; align-items:center; justify-content:center; }
.plu-structure-orbit::before { content:''; position:absolute; width:390px; height:390px; border:1px solid rgba(255,242,0,.34); border-radius:50%; }
.plu-structure-orbit img { width:210px; height:210px; object-fit:contain; padding:26px; border-radius:50%; background:#070707; z-index:2; }
.plu-structure-chain { max-width:1360px; margin:0 auto; padding:62px 24px; display:grid; grid-template-columns:.85fr .75fr .7fr; gap:28px; }
.plu-structure-chain h2 { margin:0; font-size:42px; line-height:1.15; }
.plu-structure-chain p { color:rgba(0,0,0,.62); line-height:1.7; }
.plu-level-list { display:grid; gap:12px; }
.plu-level-list button { min-height:62px; border:1px solid var(--plu-line); background:#fff; text-align:left; padding:10px 18px; font-weight:900; box-shadow:0 6px 16px rgba(0,0,0,.04); }
.plu-level-list button:first-child { background:#050505; color:#fff; }
.plu-level-list small { display:block; color:#999; font-weight:400; }
.plu-structure-chain aside { background:#fff; padding:34px; box-shadow:var(--plu-shadow); }
.plu-structure-chain aside b { display:inline-flex; float:right; background:var(--plu-yellow); padding:14px; font-size:24px; }
.plu-structure-chain aside h3 { font-size:29px; margin:64px 0 20px; }
.plu-movement-row,.plu-positions-row,.plu-interest-row,.plu-coordination-row { max-width:1360px; margin:0 auto 56px; padding:36px; background:#fff; box-shadow:var(--plu-shadow); }
.plu-movement-row h2,.plu-positions-row h2,.plu-interest-row h2,.plu-coordination-row h2 { margin:0; font-size:38px; line-height:1.12; }
.plu-move-cards { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; margin-top:28px; }
.plu-move-cards span { background:#fffdf0; border:1px solid var(--plu-line); padding:20px; font-weight:900; }
.plu-positions-row article,.plu-coordination-row { background:#050505; color:#fff; }
.plu-positions-row div,.plu-interest-row div,.plu-coordination-row div { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.plu-positions-row span,.plu-interest-row span { background:#fff; border:1px solid var(--plu-line); padding:18px; font-weight:900; color:#000; }
.plu-interest-row { display:grid; grid-template-columns:.9fr 1.1fr; gap:24px; }
.plu-coordination-row { display:grid; grid-template-columns:.9fr 1.1fr; gap:24px; }
.plu-coordination-row p { color:rgba(255,255,255,.68); }
.plu-coordination-row span { background:#181818; border:1px solid #333; padding:18px; font-weight:900; color:#fff; }
.plu-coordination-row b { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; margin-right:14px; background:var(--plu-yellow); color:#000; }
@media(max-width:980px) {
  .plu-leadership-hero,.plu-featured-leader,.plu-structure-hero,.plu-structure-chain,.plu-positions-row,.plu-interest-row,.plu-coordination-row { grid-template-columns:1fr }
  .plu-leader-grid { grid-template-columns:repeat(2,1fr) }
  .plu-move-cards { grid-template-columns:1fr 1fr }
  .plu-structure-orbit { min-height:300px }
}
@media(max-width:620px) {
  .plu-leader-grid,.plu-move-cards,.plu-positions-row div,.plu-interest-row div,.plu-coordination-row div { grid-template-columns:1fr }
  .plu-leadership-hero h1,.plu-structure-hero h1 { font-size:46px }
}
.plu-leadership-hero { max-width: none; width: 100%; padding-left: max(42px, calc((100% - 1360px) / 2 + 24px)); padding-right: max(42px, calc((100% - 1360px) / 2 + 24px)); }
.plu-leadership-content { max-width: 1360px; }
.plu-featured-leader { grid-template-columns: 480px 1fr; }
.plu-featured-leader img { height: 440px; object-position: top center; }
.plu-leader-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.plu-leader-card img { height: 300px; object-fit: cover; object-position: top center; }
.plu-leader-card p:not(.plu-eyebrow) { font-size: 13.5px; line-height: 1.62; }
.plu-main, .plu-page, .plu-membership-page, .plu-join-page, .plu-verify-page, .plu-officers-page, .plu-leadership-page, .plu-structure-page { width: 100%; }
@media (min-width: 1500px) {
  .plu-leadership-content, .plu-top-row, .plu-endorsement-strip, .plu-gs-row, .plu-membership-row, .plu-programmes-section, .plu-news-section { max-width: 1420px; }
}
@media(max-width:980px) {
  .plu-featured-leader { grid-template-columns:1fr; }
  .plu-leader-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media(max-width:620px) {
  .plu-leader-grid { grid-template-columns:1fr; }
}
.plu-about-page, .plu-what-page { width:100%; padding-bottom:96px; overflow:hidden; background:#f4f4f1; color:#050505; font-family:'Geist PLU',Arial,Helvetica,sans-serif; }
.plu-about-page *, .plu-about-page *::before, .plu-about-page *::after, .plu-what-page *, .plu-what-page *::before, .plu-what-page *::after { box-sizing:border-box; }
.plu-about-page h1,.plu-about-page h2,.plu-about-page h3,.plu-about-page p,.plu-what-page h1,.plu-what-page h2,.plu-what-page h3,.plu-what-page p { letter-spacing:0; }
.plu-about-hero,.plu-what-hero { padding-top:56px; background:var(--plu-yellow); border-bottom:4px solid #050505; }
.plu-about-hero__inner,.plu-what-hero__inner { width:100%; max-width:1376px; min-height:330px; margin:0 auto; padding:0 32px; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); gap:32px; align-items:stretch; }
.plu-about-hero__inner>div,.plu-what-hero__inner>div { display:flex; flex-direction:column; justify-content:flex-end; padding-bottom:40px; }
.plu-about-hero .plu-eyebrow,.plu-what-hero .plu-eyebrow { color:var(--plu-red); font-size:12px; font-weight:700; }
.plu-about-hero h1,.plu-what-hero h1 { max-width:800px; margin:16px 0 0; font-size:60px; line-height:1.1; font-weight:900; }
.plu-about-hero__inner>div>p:last-child,.plu-what-hero__inner>div>p:last-child { max-width:672px; margin:20px 0 0; color:rgba(0,0,0,.7); font-size:18px; line-height:1.55; }
.plu-about-hero aside,.plu-what-hero aside { align-self:stretch; padding:28px; color:#fff; background:#050505; border-left:4px solid #050505; }
.plu-about-hero.plu-banner-media { min-height: 440px; }
.plu-about-hero.plu-banner-media::before { background-size: cover; background-color: #111; }
.plu-about-hero.plu-banner-media::after { background: linear-gradient(90deg, rgba(0,0,0,.58) 0%, rgba(0,0,0,.28) 42%, rgba(0,0,0,.16) 100%); }
.plu-about-hero.plu-banner-media .plu-about-hero__inner { min-height: 420px; }
.plu-about-hero.plu-banner-media .plu-about-hero__inner>div { max-width: 760px; padding: 32px 34px 42px; align-self: end; background: linear-gradient(90deg, rgba(0,0,0,.48), rgba(0,0,0,.12)); border-left: 5px solid var(--plu-yellow); }
.plu-about-hero.plu-banner-media h1 { color: #fff; text-shadow: 0 2px 18px rgba(0,0,0,.42); }
.plu-about-hero.plu-banner-media .plu-about-hero__inner>div>p:last-child { color: #fff; text-shadow: 0 2px 12px rgba(0,0,0,.55); }
.plu-about-hero.plu-banner-media aside { background: transparent; border-left: 0; box-shadow: none; backdrop-filter: none; }
.plu-about-hero.plu-banner-media aside h2 { color: #fff; text-shadow: 0 2px 14px rgba(0,0,0,.52); }
.plu-about-hero.plu-banner-media aside>p:last-of-type { color: rgba(255,255,255,.92); text-shadow: 0 2px 12px rgba(0,0,0,.55); }
.plu-about-hero.plu-banner-media aside>div { border-color: rgba(255,242,0,.42); background: rgba(0,0,0,.14); }
.plu-about-hero aside .plu-eyebrow,.plu-what-hero aside .plu-eyebrow { color:var(--plu-yellow); }
.plu-about-hero aside h2,.plu-what-hero aside h2 { margin:16px 0 0; font-size:24px; line-height:1.25; font-weight:900; }
.plu-about-hero aside>p:last-of-type,.plu-what-hero aside>p:last-child { max-width:390px; margin:16px 0 0; color:rgba(255,255,255,.7); font-size:14px; line-height:1.55; }
.plu-about-hero aside>div { margin-top:28px; display:grid; grid-template-columns:repeat(3,1fr); border:1px solid rgba(255,255,255,.2); }
.plu-about-hero aside span { padding:12px 8px; color:var(--plu-yellow); border-right:1px solid rgba(255,255,255,.2); text-align:center; font-size:12px; font-weight:700; text-transform:uppercase; }
.plu-about-hero aside span:last-child { border-right:0; }
.plu-about-content,.plu-what-content { width:100%; max-width:1376px; margin:0 auto; padding:56px 32px 0; }
.plu-about-purpose,.plu-about-standards,.plu-about-panel,.plu-about-cta { border:1px solid rgba(0,0,0,.1); border-radius:28px; box-shadow:0 10px 30px rgba(0,0,0,.04); }
.plu-about-vision { position:relative; min-height:190px; display:grid; grid-template-columns:minmax(230px,.42fr) minmax(0,1.58fr); align-items:center; overflow:hidden; border:1px solid rgba(0,0,0,.14); border-left:8px solid var(--plu-yellow); background:#fff; box-shadow:0 10px 30px rgba(0,0,0,.05); }
.plu-about-vision__label { height:100%; display:flex; align-items:center; gap:18px; padding:34px 30px; border-right:1px solid rgba(0,0,0,.1); background:#f6f6f2; }
.plu-about-vision__label>span { width:52px; height:52px; flex:0 0 52px; display:grid; place-items:center; background:#050505; color:var(--plu-yellow); }
.plu-about-vision__label svg { width:25px; height:25px; }
.plu-about-vision__label .plu-eyebrow { margin:0; color:var(--plu-red); }
.plu-about-vision__label h2 { margin:7px 0 0; font-size:28px; line-height:1.05; font-weight:900; }
.plu-about-vision blockquote { position:relative; z-index:1; max-width:900px; margin:0; padding:36px 70px 36px 82px; border:0; color:#161616; font-size:clamp(21px,2vw,29px); line-height:1.45; font-weight:750; }
.plu-about-vision blockquote::before { content:'“'; position:absolute; top:18px; left:24px; color:var(--plu-yellow); font-size:62px; line-height:1; font-weight:900; }
.plu-about-vision>i { position:absolute; top:0; right:0; width:54px; height:100%; background:var(--plu-yellow); clip-path:polygon(100% 0,100% 100%,0 100%); }
.plu-about-mission { position:relative; min-height:210px; margin-top:18px; display:grid; grid-template-columns:minmax(230px,.42fr) minmax(0,1.58fr); align-items:stretch; overflow:hidden; border-left:8px solid #e21b23; background:#050505; color:#fff; box-shadow:0 16px 34px rgba(0,0,0,.12); }
.plu-about-mission__label { display:flex; align-items:center; gap:18px; padding:34px 30px; border-right:1px solid rgba(255,255,255,.14); background:#111; }
.plu-about-mission__label>span { width:52px; height:52px; flex:0 0 52px; display:grid; place-items:center; background:var(--plu-yellow); color:#050505; }
.plu-about-mission__label svg { width:25px; height:25px; }
.plu-about-mission__label .plu-eyebrow { margin:0; color:var(--plu-yellow); }
.plu-about-mission__label h2 { margin:7px 0 0; color:#fff; font-size:28px; line-height:1.05; font-weight:900; }
.plu-about-mission__statement { position:relative; z-index:1; display:flex; align-items:center; padding:38px 74px 38px 48px; }
.plu-about-mission__statement:before { content:''; width:42px; height:4px; flex:0 0 42px; align-self:flex-start; margin:11px 22px 0 0; background:#e21b23; }
.plu-about-mission__statement p { max-width:870px; margin:0; color:rgba(255,255,255,.78); font-size:20px; line-height:1.65; font-weight:600; }
.plu-about-mission>i { position:absolute; top:0; right:0; width:54px; height:100%; background:var(--plu-yellow); clip-path:polygon(100% 0,100% 100%,0 100%); }
.plu-about-values { margin-top:56px; }
.plu-about-values>header { display:grid; grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr); gap:48px; align-items:end; padding-bottom:24px; border-bottom:2px solid #050505; }
.plu-about-values>header .plu-eyebrow { margin:0; color:var(--plu-red); }
.plu-about-values>header h2 { margin:8px 0 0; font-size:36px; line-height:1.08; font-weight:900; }
.plu-about-values>header>p { max-width:670px; margin:0; color:rgba(0,0,0,.62); font-size:16px; line-height:1.65; }
.plu-about-values-grid { margin-top:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-left:1px solid rgba(0,0,0,.12); }
.plu-about-values-grid article { min-height:280px; padding:28px; border-right:1px solid rgba(0,0,0,.12); border-bottom:1px solid rgba(0,0,0,.12); background:#fff; transition:background 180ms ease, transform 180ms ease; }
.plu-about-values-grid article:hover { position:relative; z-index:1; background:#fffde4; transform:translateY(-3px); box-shadow:0 16px 30px rgba(0,0,0,.07); }
.plu-about-values-grid article>header { display:flex; align-items:center; justify-content:space-between; }
.plu-about-values-grid article>header span { width:64px; height:64px; display:grid; place-items:center; background:var(--plu-yellow); color:#050505; box-shadow:inset 0 -3px 0 rgba(227,6,19,.75); }
.plu-about-values-grid article>header svg { width:32px; height:32px; }
.plu-about-values-grid article>header b { color:rgba(0,0,0,.22); font-size:24px; line-height:1; font-weight:900; }
.plu-about-values-grid h3 { margin:25px 0 0; color:#050505; font-size:20px; line-height:1.15; font-weight:900; }
.plu-about-values-grid p { margin:13px 0 0; color:rgba(0,0,0,.64); font-size:14px; line-height:1.7; }
.plu-about-values-grid article:last-child:nth-child(3n+1) { min-height:0; grid-column:1 / -1; display:grid; grid-template-columns:90px 220px minmax(0,1fr); gap:24px; align-items:center; }
.plu-about-values-grid article:last-child:nth-child(3n+1)>header { grid-column:1; }
.plu-about-values-grid article:last-child:nth-child(3n+1)>header b { display:none; }
.plu-about-values-grid article:last-child:nth-child(3n+1)>h3 { grid-column:2; margin:0; }
.plu-about-values-grid article:last-child:nth-child(3n+1)>p { grid-column:3; margin:0; }
.plu-about-duo { margin-top:40px; display:grid; grid-template-columns:1.1fr .9fr; gap:32px; }
.plu-about-purpose,.plu-about-standards { padding:32px; }
.plu-about-purpose { background:#fffef5; transition:.3s ease; }
.plu-about-purpose:hover { background:#fff8b3; border-color:#f2c94c; box-shadow:0 16px 40px rgba(242,201,76,.18); }
.plu-about-standards { color:#fff; background:#050505; transition:.3s ease; }
.plu-about-standards:hover { color:#050505; background:#f9e865; border-color:#f2c94c; }
.plu-about-purpose header,.plu-about-standards header { display:flex; align-items:center; gap:12px; }
.plu-about-purpose header b,.plu-about-standards header b { width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--plu-red); border-radius:50%; color:var(--plu-red); background:#fff2f2; font-size:14px; }
.plu-about-standards header b { color:#f2c94c; background:#1f1f1f; border-color:#f2c94c; }
.plu-about-purpose h2,.plu-about-standards h2 { margin:0; font-size:24px; font-weight:900; }
.plu-about-purpose>p { margin:20px 0 0 48px; color:rgba(0,0,0,.75); font-size:18px; line-height:1.78; }
.plu-about-standards ol { margin:24px 0 0 48px; padding:0; display:grid; gap:16px; color:rgba(255,255,255,.8); font-size:16px; line-height:1.7; }
.plu-about-standards:hover ol { color:#050505; }
.plu-about-panel { margin-top:40px; padding:32px; background:#fff; }
.plu-about-panel>header { padding-left:16px; border-left:4px solid var(--plu-red); }
.plu-about-panel>header h2 { margin:0; font-size:30px; font-weight:900; }
.plu-about-panel>header p { max-width:768px; margin:12px 0 0; color:rgba(0,0,0,.7); font-size:18px; line-height:1.78; }
.plu-about-focus-grid { margin-top:24px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.plu-about-focus-grid article { padding:24px; background:#fffdf5; border:1px solid rgba(0,0,0,.1); border-radius:20px; transition:.3s ease; }
.plu-about-focus-grid article:hover,.plu-about-history article:hover { background:#fff7b3; border-color:#f2c94c; box-shadow:0 12px 24px rgba(242,201,76,.16); }
.plu-about-focus-grid article>div { display:flex; align-items:center; gap:12px; }
.plu-about-focus-grid b { width:32px; height:32px; display:inline-flex; align-items:center; justify-content:center; color:var(--plu-yellow); background:#050505; border-radius:50%; font-size:14px; }
.plu-about-focus-grid h3 { margin:0; font-size:20px; font-weight:900; }
.plu-about-focus-grid p { margin:16px 0 0 44px; color:rgba(0,0,0,.7); font-size:16px; line-height:1.75; }
.plu-about-history { background:#fffdf5; }
.plu-about-history>header { border-left-color:#f2c94c; }
.plu-about-history>div { margin-top:24px; display:grid; gap:16px; }
.plu-about-history article { padding:24px; display:flex; align-items:flex-start; gap:24px; background:#fff; border:1px solid rgba(0,0,0,.1); border-radius:20px; transition:.3s ease; }
.plu-about-history article>b { width:48px; height:48px; flex:0 0 48px; display:inline-flex; align-items:center; justify-content:center; background:#fff8dc; border:1px solid #050505; border-radius:50%; }
.plu-about-history article span { color:var(--plu-red); font-size:14px; font-weight:900; text-transform:uppercase; }
.plu-about-history article h3 { margin:8px 0 0; font-size:20px; font-weight:900; }
.plu-about-history article p { margin:12px 0 0; color:rgba(0,0,0,.7); font-size:16px; line-height:1.75; }
.plu-about-cta { margin-top:40px; padding:32px; display:flex; align-items:center; justify-content:space-between; gap:32px; background:#f8f8f8; }
.plu-about-cta h2 { margin:0; font-size:24px; font-weight:900; }
.plu-about-cta p { max-width:672px; margin:12px 0 0; color:rgba(0,0,0,.7); font-size:18px; line-height:1.78; }
.plu-about-cta>div:last-child { display:flex; flex-wrap:wrap; gap:12px; }
.plu-about-cta a,.plu-what-actions a { display:inline-flex; align-items:center; padding:12px 20px; border:1px solid #050505; border-radius:999px; color:#050505; text-decoration:none; font-size:14px; font-weight:900; text-transform:uppercase; }
.plu-about-cta a:first-child,.plu-what-actions a:first-child { color:var(--plu-yellow); background:#050505; }
.plu-what-hero__inner { min-height:280px; align-items:end; }
.plu-what-hero__inner>div { padding-bottom:32px; }
.plu-what-hero aside { align-self:end; }
.plu-what-journey { display:grid; grid-template-columns:1.05fr .95fr; gap:40px; }
.plu-what-journey>article { padding:48px; background:#fff; border:1px solid rgba(226,27,35,.2); border-radius:28px; box-shadow:0 20px 60px rgba(0,0,0,.06); }
.plu-what-journey>article>header { display:flex; align-items:center; gap:12px; }
.plu-what-journey>article>header span { width:12px; height:12px; border-radius:50%; background:var(--plu-red); }
.plu-what-journey>article>header p { margin:0; color:rgba(0,0,0,.6); font-size:14px; font-weight:900; text-transform:uppercase; }
.plu-what-journey>article>h2 { margin:24px 0 0; font-size:48px; line-height:1.15; font-weight:900; }
.plu-what-journey>article>p { margin:24px 0 0; color:rgba(0,0,0,.75); font-size:18px; line-height:1.78; }
.plu-what-actions { margin-top:40px; display:flex; flex-wrap:wrap; gap:16px; }
.plu-what-journey>aside { display:grid; align-content:start; gap:32px; }
.plu-what-journey>aside>img { width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:28px; box-shadow:0 20px 60px rgba(0,0,0,.12); }
.plu-what-journey>aside>section { padding:32px; background:#fffef5; border:1px solid rgba(0,0,0,.1); border-radius:28px; box-shadow:0 10px 30px rgba(0,0,0,.04); }
.plu-what-journey>aside>section>h2 { margin:0; font-size:30px; font-weight:900; }
.plu-what-journey>aside>section>article { margin-top:16px; padding:20px; display:flex; gap:16px; background:#fff; border:1px solid rgba(0,0,0,.1); border-radius:24px; }
.plu-what-journey>aside>section>article>span { width:48px; height:48px; flex:0 0 48px; display:flex; align-items:center; justify-content:center; color:var(--plu-yellow); background:#050505; border-radius:50%; }
.plu-what-journey>aside svg { width:24px; height:24px; }
.plu-what-journey>aside h3 { margin:0; font-size:20px; font-weight:900; }
.plu-what-journey>aside p { margin:8px 0 0; color:rgba(0,0,0,.75); font-size:14px; line-height:1.55; }
.plu-what-service { margin-top:48px; padding:48px; display:grid; gap:24px; background:#fff; border:1px solid rgba(226,27,35,.15); border-radius:28px; box-shadow:0 20px 60px rgba(0,0,0,.05); }
.plu-what-service { grid-template-columns:.9fr 1.1fr; align-items:center; }
.plu-what-service>header { padding-left:24px; border-left:4px solid var(--plu-red); }
.plu-what-service>header>p { margin:0; color:var(--plu-red); font-size:14px; font-weight:900; text-transform:uppercase; }
.plu-what-service>header h2 { margin:16px 0 0; font-size:36px; line-height:1.2; font-weight:900; }
.plu-what-service>header div { margin-top:24px; color:rgba(0,0,0,.75); font-size:18px; line-height:1.78; }
.plu-what-service>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.plu-what-service article { padding:20px; background:#fffaf0; border:1px solid rgba(0,0,0,.1); border-radius:24px; }
.plu-what-service article.is-green { background:#f7fff2; }
.plu-what-service h3 { margin:0; color:rgba(0,0,0,.7); font-size:14px; font-weight:900; text-transform:uppercase; }
.plu-what-service article p { margin:16px 0 0; color:rgba(0,0,0,.75); font-size:16px; line-height:1.75; }
@media(max-width:1000px) {
  .plu-about-hero__inner,.plu-what-hero__inner,.plu-about-duo,.plu-what-journey,.plu-what-service { grid-template-columns:1fr }
  .plu-about-hero aside,.plu-what-hero aside { border-left:0;border-top:4px solid #050505 }
  .plu-what-hero aside { align-self:stretch }
  .plu-about-cta { align-items:flex-start;flex-direction:column }
  .plu-about-vision,.plu-about-mission { grid-template-columns:220px minmax(0,1fr) }
  .plu-about-vision blockquote { padding-right:58px }
  .plu-about-mission__statement { padding-right:58px }
  .plu-about-values-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .plu-about-values-grid article:last-child:nth-child(2n+1) { min-height:0;grid-column:1 / -1;display:grid;grid-template-columns:90px 190px minmax(0,1fr);gap:20px;align-items:center }
  .plu-about-values-grid article:last-child:nth-child(2n+1)>header { grid-column:1 }
  .plu-about-values-grid article:last-child:nth-child(2n+1)>header b { display:none }
  .plu-about-values-grid article:last-child:nth-child(2n+1)>h3 { grid-column:2;margin:0 }
  .plu-about-values-grid article:last-child:nth-child(2n+1)>p { grid-column:3;margin:0 }
}
@media(max-width:700px) {
  .plu-about-hero,.plu-what-hero { padding-top:32px }
  .plu-about-hero__inner,.plu-what-hero__inner { padding:0 20px }
  .plu-about-hero h1,.plu-what-hero h1 { font-size:42px }
  .plu-about-content,.plu-what-content { padding:40px 20px 0 }
  .plu-about-focus-grid,.plu-process-grid,.plu-signal-grid,.plu-what-service>div,.plu-about-values-grid { grid-template-columns:1fr }
  .plu-about-purpose,.plu-about-standards,.plu-about-panel,.plu-about-cta,.plu-what-journey>article,.plu-what-journey>aside>section,.plu-what-service { padding:24px }
  .plu-about-vision,.plu-about-mission { grid-template-columns:1fr }
  .plu-about-vision__label,.plu-about-mission__label { padding:24px;border-right:0;border-bottom:1px solid rgba(0,0,0,.1) }
  .plu-about-mission__label { border-bottom-color:rgba(255,255,255,.14) }
  .plu-about-vision blockquote { padding:34px 34px 38px 68px;font-size:19px }
  .plu-about-vision blockquote::before { top:18px;left:18px;font-size:52px }
  .plu-about-mission__statement { align-items:flex-start;flex-direction:column;padding:30px 42px 34px 24px }
  .plu-about-mission__statement:before { flex-basis:4px;width:42px;height:4px;margin:0 0 18px }
  .plu-about-mission__statement p { font-size:17px }
  .plu-about-values { margin-top:42px }
  .plu-about-values>header { grid-template-columns:1fr;gap:14px }
  .plu-about-values>header h2 { font-size:30px }
  .plu-about-values-grid article,.plu-about-values-grid article:last-child:nth-child(3n+1),.plu-about-values-grid article:last-child:nth-child(2n+1) { min-height:0;display:block;grid-column:auto;padding:24px }
  .plu-about-values-grid article:last-child:nth-child(3n+1)>header,.plu-about-values-grid article:last-child:nth-child(2n+1)>header { display:flex }
  .plu-about-values-grid article:last-child:nth-child(3n+1)>header b,.plu-about-values-grid article:last-child:nth-child(2n+1)>header b { display:block }
  .plu-about-values-grid article:last-child:nth-child(3n+1)>h3,.plu-about-values-grid article:last-child:nth-child(2n+1)>h3 { margin-top:25px }
  .plu-about-values-grid article:last-child:nth-child(3n+1)>p,.plu-about-values-grid article:last-child:nth-child(2n+1)>p { margin-top:13px }
  .plu-what-journey>article>h2 { font-size:36px }
  .plu-about-purpose>p,.plu-about-standards ol { margin-left:0 }
  .plu-about-focus-grid p { margin-left:0 }
  .plu-about-history article { gap:16px }
  .plu-about-cta>div:last-child,.plu-what-actions { width:100%;flex-direction:column }
  .plu-about-cta a,.plu-what-actions a { justify-content:center }
}
.plu-structure-page { width: 100%;
  overflow: hidden;
  background: #f7f7f2;
  color: #050505;
  font-family: 'Geist PLU', Arial, Helvetica, sans-serif; }
.plu-structure-page *, .plu-structure-page *::before, .plu-structure-page *::after { box-sizing: border-box; }
.plu-structure-page h1, .plu-structure-page h2, .plu-structure-page h3, .plu-structure-page p { letter-spacing: 0; }
.plu-structure-hero { position: relative;
  display: block;
  min-height: 520px;
  padding: 0;
  overflow: hidden;
  background: #050505;
  color: #fff;
  border-bottom: 0; }
.plu-structure-hero__inner { position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1376px;
  min-height: 520px;
  margin: 0 auto;
  padding: 64px 32px;
  display: grid;
  grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);
  align-items: center;
  gap: 40px; }
.plu-structure-hero__decor { display: none; }
.plu-structure-hero .plu-hero-rule { display: block; width: 96px; height: 6px; margin-bottom: 20px; background: var(--plu-yellow); }
.plu-structure-hero .plu-eyebrow { color: var(--plu-yellow); font-size: 14px; font-weight: 900; text-transform: uppercase; }
.plu-structure-hero h1 { max-width: 760px; margin: 16px 0 0; font-size: clamp(50px,5.2vw,72px); line-height: .98; font-weight: 900; }
.plu-structure-hero p:not(.plu-eyebrow) { max-width: 672px; margin: 24px 0 0; color: rgba(255,255,255,.76); font-size: 18px; line-height: 1.78; }
.plu-structure-hero .plu-page-actions { margin-top: 32px; }
.plu-structure-page .plu-button { gap: 8px; border-radius: 4px; font-family: inherit; font-size: 14px; font-weight: 900; letter-spacing: 0; }
.plu-structure-page .plu-button--ghost-dark { border-color: rgba(255,255,255,.25); color: #fff; }
.plu-structure-page .plu-button--ghost-dark:hover { border-color: var(--plu-yellow); color: var(--plu-yellow); }
.plu-structure-orbit { position: relative; width: min(100%,500px); min-height: 0; aspect-ratio: 1; margin: 0 auto; display: block; }
.plu-structure-orbit::before { content: none; }
.plu-structure-orbit__ring { position: absolute; left: 50%; top: 50%; display: block; border-radius: 50%; transform: translate(-50%,-50%); }
.plu-structure-orbit__ring--outer { width: 78%; height: 78%; border: 1px solid rgba(255,242,0,.46); }
.plu-structure-orbit__ring--inner { width: 50%; height: 50%; border: 1px solid rgba(255,255,255,.2); }
.plu-structure-orbit img { position: absolute; left: 50%; top: 50%; z-index: 2; width: 176px; height: 176px; padding: 0; object-fit: contain; background: var(--plu-yellow); border-radius: 4px; transform: translate(-50%,-50%); filter: drop-shadow(0 20px 24px rgba(0,0,0,.45)); }
.plu-structure-jumpbar { position: relative; z-index: 4; border-bottom: 1px solid rgba(0,0,0,.12); background: #fff; box-shadow: 0 12px 26px rgba(0,0,0,.06); }
.plu-structure-jumpbar__inner { width: 100%; max-width: 1376px; min-height: 92px; margin: 0 auto; padding: 0 32px; display: grid; grid-template-columns: 145px minmax(0,1fr); align-items: stretch; }
.plu-structure-jumpbar__inner > p { margin: 0; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid rgba(0,0,0,.12); }
.plu-structure-jumpbar__inner > p span { color: var(--plu-red); font-size: 10px; font-weight: 900; text-transform: uppercase; }
.plu-structure-jumpbar__inner > p strong { margin-top: 3px; font-size: 14px; line-height: 1.15; }
.plu-structure-jumpbar__inner > div { min-width: 0; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); }
.plu-structure-jump { min-width: 0; display: flex; align-items: center; justify-content: center; gap: 9px; padding: 12px 10px; border: 0; border-right: 1px solid rgba(0,0,0,.1); color: #050505; background: #fff; font: inherit; cursor: pointer; transition: color .18s ease, background .18s ease; }
.plu-structure-jump:last-child { border-right: 0; }
.plu-structure-jump:hover, .plu-structure-jump:focus-visible { background: #fffde1; }
.plu-structure-jump.is-active { color: var(--plu-yellow); background: #050505; }
.plu-structure-jump > span { width: 34px; height: 34px; flex: 0 0 34px; display: grid; place-items: center; border-radius: 50%; color: #050505; background: var(--plu-yellow); }
.plu-structure-jump svg { width: 17px; height: 17px; }
.plu-structure-jump b { min-width: 0; font-size: 11px; line-height: 1.2; text-align: left; }
.plu-structure-explore { padding: 56px 0; }
.plu-structure-explore__inner { width: 100%; max-width: 1376px; margin: 0 auto; padding: 0 32px; display: grid; grid-template-columns: minmax(280px,.8fr) minmax(0,1.2fr); gap: 24px; }
.plu-structure-page .plu-eyebrow { margin: 0; color: var(--plu-red); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.plu-structure-explore header h2 { margin: 12px 0 0; font-size: clamp(36px,4vw,48px); line-height: 1.08; font-weight: 900; }
.plu-structure-explore header > p:last-child { margin: 16px 0 0; color: rgba(0,0,0,.68); font-size: 16px; line-height: 1.75; }
.plu-structure-browser { display: grid; grid-template-columns: minmax(250px,.9fr) minmax(0,1.1fr); gap: 20px; }
.plu-level-list { display: grid; align-content: start; gap: 8px; }
.plu-level-button { width: 100%; min-height: 70px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 12px; color: #050505; background: #fff; border: 1px solid rgba(0,0,0,.1); border-radius: 4px; text-align: left; font-family: inherit; cursor: pointer; box-shadow: none; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.plu-level-button:hover { border-color: rgba(0,0,0,.35); transform: translateY(-2px); }
.plu-level-button.is-active { color: #fff; background: #050505; border-color: #050505; box-shadow: 0 18px 40px rgba(0,0,0,.16); }
.plu-level-button__icon { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; color: #050505; background: var(--plu-yellow); border-radius: 4px; }
.plu-level-button__icon svg { width: 20px; height: 20px; }
.plu-level-button b { display: block; font-size: 14px; line-height: 1.2; font-weight: 900; }
.plu-level-button small { display: block; margin-top: 4px; color: rgba(0,0,0,.55); font-size: 12px; font-weight: 400; }
.plu-level-button.is-active small { color: rgba(255,255,255,.65); }
.plu-level-button__chevron { font-size: 25px; line-height: 1; }
.plu-structure-detail { padding: 28px; background: #fff; border-radius: 4px; box-shadow: 0 22px 50px rgba(0,0,0,.08); scroll-margin-top: 100px; }
.plu-structure-detail__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.plu-structure-detail__top > span { width: 64px; height: 64px; display: inline-flex; align-items: center; justify-content: center; color: var(--plu-yellow); background: #050505; border-radius: 4px; }
.plu-structure-detail__top svg { width: 32px; height: 32px; }
.plu-structure-detail__top > b { padding: 8px 16px; color: #050505; background: var(--plu-yellow); border-radius: 4px; font-size: 24px; line-height: 1.2; font-weight: 900; }
.plu-structure-detail h3 { margin: 24px 0 0; font-size: 30px; line-height: 1.15; font-weight: 900; }
.plu-structure-detail dl { margin: 24px 0 0; display: grid; gap: 16px; }
.plu-structure-detail dl div { padding: 0; }
.plu-structure-detail dt { color: var(--plu-red); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.plu-structure-detail dd { margin: 8px 0 0; color: rgba(0,0,0,.7); font-size: 14px; line-height: 1.75; }
.plu-structure-section { padding: 0 0 56px; }
.plu-structure-section--last { padding-bottom: 64px; }
.plu-structure-panel, .plu-roles-layout, .plu-groups-layout, .plu-coordination-panel { width: calc(100% - 64px); max-width: 1312px; margin: 0 auto; }
.plu-structure-panel { padding: 28px; background: #fff; border-radius: 4px; box-shadow: 0 22px 50px rgba(0,0,0,.08); }
.plu-structure-panel__heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 24px; }
.plu-structure-panel__heading h2, .plu-roles-intro h2, .plu-groups-intro h2, .plu-coordination-panel h2 { margin: 12px 0 0; font-size: clamp(30px,3.2vw,38px); line-height: 1.12; font-weight: 900; }
.plu-structure-panel__heading > p { max-width: 576px; margin: 0; color: rgba(0,0,0,.62); font-size: 14px; line-height: 1.75; }
.plu-flow-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; }
.plu-flow-grid article { min-width: 0; padding: 16px; background: #fffdf0; border: 1px solid rgba(0,0,0,.1); border-radius: 4px; }
.plu-flow-grid article > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.plu-flow-grid b { width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; color: var(--plu-yellow); background: #050505; border-radius: 4px; font-size: 14px; }
.plu-flow-grid span { color: rgba(0,0,0,.35); font-size: 20px; }
.plu-flow-grid article:last-child span { color: var(--plu-red); }
.plu-flow-grid h3 { margin: 16px 0 0; font-size: 14px; line-height: 1.25; font-weight: 900; }
.plu-roles-intro .plu-eyebrow, .plu-coordination-panel .plu-eyebrow { color: var(--plu-yellow); }
.plu-roles-intro > p:not(.plu-eyebrow), .plu-coordination-panel article > p:not(.plu-eyebrow) { margin: 16px 0 0; color: rgba(255,255,255,.7); font-size: 14px; line-height: 1.75; }
.plu-roles-intro .plu-button { margin-top: 24px; }
.plu-groups-intro { padding: 28px; background: #fff; border-radius: 4px; box-shadow: 0 22px 50px rgba(0,0,0,.08); }
.plu-groups-intro > p:last-child { margin: 16px 0 0; color: rgba(0,0,0,.68); font-size: 14px; line-height: 1.75; }
.plu-group-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.plu-group-grid article { padding: 20px; background: #fff; border: 1px solid rgba(0,0,0,.1); border-radius: 4px; }
.plu-group-grid article > span { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; color: #050505; background: var(--plu-yellow); border-radius: 4px; }
.plu-group-grid svg { width: 20px; height: 20px; }
.plu-group-grid h3 { margin: 16px 0 0; font-size: 18px; line-height: 1.2; font-weight: 900; }
.plu-group-grid p { margin: 8px 0 0; color: rgba(0,0,0,.62); font-size: 14px; line-height: 1.5; }
.plu-coordination-panel { padding: 28px; display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); align-items: center; gap: 24px; color: #fff; background: #050505; border-radius: 4px; }
.plu-coordination-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.plu-coordination-grid > div { display: flex; align-items: center; gap: 12px; padding: 16px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.1); border-radius: 4px; }
.plu-coordination-grid b { width: 32px; height: 32px; flex: 0 0 32px; display: inline-flex; align-items: center; justify-content: center; color: #050505; background: var(--plu-yellow); border-radius: 4px; font-size: 12px; }
.plu-coordination-grid span { font-size: 14px; line-height: 1.25; font-weight: 900; }
@media (max-width: 1020px) {
  .plu-structure-hero__inner, .plu-structure-explore__inner, .plu-roles-layout, .plu-groups-layout, .plu-coordination-panel { grid-template-columns: 1fr; }
  .plu-structure-orbit { width: min(100%,460px); min-height: 0; }
  .plu-structure-browser { grid-template-columns: minmax(220px,.8fr) minmax(0,1.2fr); }
  .plu-structure-jumpbar__inner { grid-template-columns: 120px minmax(0,1fr); }
  .plu-structure-jumpbar__inner > div { overflow-x: auto; grid-template-columns: repeat(6,minmax(145px,1fr)); scrollbar-width: thin; }
}
@media (max-width: 760px) {
  .plu-structure-hero__inner { padding: 48px 20px; }
  .plu-structure-hero h1 { font-size: 48px; }
  .plu-structure-orbit { width: min(100%,360px); min-height: 0; }
  .plu-structure-orbit img { width: 140px; height: 140px; }
  .plu-structure-explore__inner { padding: 0 20px; }
  .plu-structure-browser { grid-template-columns: 1fr; }
  .plu-structure-panel, .plu-roles-layout, .plu-groups-layout, .plu-coordination-panel { width: calc(100% - 40px); }
  .plu-structure-panel__heading { align-items: start; flex-direction: column; }
  .plu-flow-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .plu-structure-jumpbar__inner { min-height: 78px; padding: 0 20px; grid-template-columns: 1fr; }
  .plu-structure-jumpbar__inner > p { display: none; }
  .plu-structure-jumpbar__inner > div { margin-right: -20px; grid-template-columns: repeat(6,minmax(138px,1fr)); }
  .plu-structure-jump { min-height: 78px; }
}
@media (max-width: 520px) {
  .plu-structure-hero h1 { font-size: 42px; }
  .plu-structure-hero p:not(.plu-eyebrow) { font-size: 16px; line-height: 1.65; }
  .plu-structure-orbit { width: min(100%,310px); min-height: 0; }
  .plu-structure-orbit img { width: 112px; height: 112px; }
  .plu-structure-detail, .plu-structure-panel, .plu-roles-intro, .plu-groups-intro, .plu-coordination-panel { padding: 22px; }
  .plu-flow-grid, .plu-role-grid, .plu-group-grid, .plu-coordination-grid { grid-template-columns: 1fr; }
}
.plu-leadership-page { width: 100%;
  background: #fff;
  color: #000;
  font-family: 'Geist PLU', Arial, Helvetica, sans-serif; }
.plu-regional-leadership-content .plu-section-title-row { margin-bottom:30px; }
.plu-leadership-hero { display: block;
  width: 100%;
  min-height: 0;
  padding: 0;
  background: var(--plu-yellow);
  border-bottom: 4px solid #050505; }
.plu-leadership-hero__inner { width: 100%;
  max-width: 1376px;
  min-height: 290px;
  margin: 0 auto;
  padding: 48px 32px;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(250px, .8fr);
  align-items: end;
  gap: 28px; }
.plu-leadership-hero h1 { margin: 16px 0 0;
  font-size: 48px;
  line-height: 1.15;
  font-weight: 900;
  letter-spacing: 0; }
.plu-leadership-hero p:not(.plu-eyebrow) { max-width: 672px;
  margin: 16px 0 0;
  color: #fff;
  font-size: 16px;
  line-height: 1.75;
  font-weight: 400; }
.plu-leadership-hero aside { margin-bottom: 4px;
  padding: 20px;
  background: transparent;
  backdrop-filter: none;
  border: 0;
  border-left: 4px solid var(--plu-red); }
.plu-leadership-hero aside strong { display: block; margin: 8px 0 6px; color: #fff; font-size: 19px; line-height: 1.2; }
.plu-leadership-hero aside span,
.plu-leadership-hero aside small { font-weight: 700; }
.plu-leadership-content { width: 100%;
  max-width: 1376px;
  padding: 48px 32px 90px;
  font-family: inherit; }
.plu-leadership-page .plu-section-title-row h2 { font-size: 36px;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: 0; }
.plu-leadership-page .plu-section-title-row p { max-width: 672px;
  font-size: 18px;
  line-height: 1.6;
  font-weight: 500;
  color: rgba(0,0,0,.7); }
.plu-featured-leader { grid-template-columns: minmax(300px,.78fr) minmax(0,1.22fr);
  margin: 24px 0 48px;
  border-radius: 8px;
  box-shadow: 0 22px 60px rgba(0,0,0,.10); }
.plu-featured-leader img { height: 100%;
  min-height: 512px;
  border-right: 4px solid var(--plu-yellow); }
.plu-featured-leader .plu-leader-card__content { display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 48px; }
.plu-leader-card .plu-leader-card__content { padding: 20px; }
.plu-leader-card__identity { display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px; }
.plu-featured-leader .plu-leader-card__identity,
.plu-leader-card .plu-leader-card__identity { padding: 0; }
.plu-leader-card__identity > div,
.plu-featured-leader .plu-leader-card__identity > div { padding: 0; }
.plu-leader-profile-icon { width: 48px;
  height: 48px;
  flex: 0 0 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--plu-yellow);
  color: #050505; }
.plu-leader-profile-icon svg { width: 24px; height: 24px; }
.plu-featured-leader h2,
.plu-leader-card h3 { margin: 0; font-weight: 900; letter-spacing: 0; }
.plu-featured-leader h2 { font-size: 36px; line-height: 1.18; }
.plu-leader-card h3 { font-size: 20px; line-height: 1.25; }
.plu-featured-leader strong { font-size: 20px; line-height: 1.4; font-weight: 900; }
.plu-leader-card strong { font-size: 16px; line-height: 1.4; font-weight: 900; }
.plu-featured-leader p:not(.plu-eyebrow) { margin-top: 20px;
  font-size: 18px;
  line-height: 1.78;
  font-weight: 400; }
.plu-leader-card p:not(.plu-eyebrow) { margin-top: 12px;
  font-size: 14px;
  line-height: 1.625;
  font-weight: 400; }
.plu-leadership-page .plu-eyebrow { font-weight: 900; letter-spacing: 0; }
.plu-leadership-tier { position: relative; margin-top: 48px; }
.plu-leadership-tier > header { display: grid; grid-template-columns: 54px minmax(0,1fr) auto; gap: 16px; align-items: center; margin-bottom: 22px; padding-bottom: 16px; border-bottom: 1px solid rgba(0,0,0,.14); }
.plu-leadership-tier > header > span { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 50%; background: #050505; color: var(--plu-yellow); font-size: 13px; font-weight: 900; }
.plu-leadership-tier > header > div { min-width: 0; }
.plu-leadership-tier > header .plu-eyebrow { margin: 0 0 3px; color: rgba(0,0,0,.52); font-size: 10px; text-transform: uppercase; }
.plu-leadership-tier > header h3 { margin: 0; font-size: 26px; line-height: 1.16; font-weight: 900; }
.plu-leadership-tier > header > b { padding: 7px 10px; border: 1px solid rgba(0,0,0,.14); color: rgba(0,0,0,.58); font-size: 10px; text-transform: uppercase; }
.plu-leadership-tier--chairman { margin-top: 32px; }
.plu-leadership-tier--chairman > header > span { background: var(--plu-yellow); color: #050505; box-shadow: inset 0 0 0 1px rgba(0,0,0,.12); }
.plu-leadership-tier--chairman .plu-featured-leader { margin-top: 0; margin-bottom: 0; }
.plu-leadership-tier--executive .plu-leader-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.plu-leadership-content { max-width: 1376px; }
.plu-featured-leader { grid-template-columns: minmax(300px,.78fr) minmax(0,1.22fr); }
.plu-featured-leader .plu-leader-photo,
.plu-leader-card .plu-leader-photo { padding: 0; }
.plu-featured-leader .plu-leader-photo { height: auto; min-height: 512px; padding: 8px; border-right: 4px solid var(--plu-yellow); background: linear-gradient(180deg, #f7f6f2, #f1f2f0 78%, rgba(255,242,0,.08)); }
.plu-featured-leader .plu-leader-photo img { width: 100%; height: 100%; object-fit: cover; }
.plu-leader-grid,
.plu-leadership-tier--executive .plu-leader-grid { gap: 20px; }
.plu-leader-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.plu-leadership-tier--executive .plu-leader-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.plu-leader-card .plu-leader-photo { height: 352px; overflow: hidden; padding: 7px; border-bottom: 4px solid var(--plu-yellow); background: linear-gradient(180deg, #f7f6f2, #f1f2f0 78%, rgba(255,242,0,.08)); }
.plu-leader-card .plu-leader-photo img { width: 100%; height: 100%; object-fit: cover; }
.plu-leader-card { display: flex; min-width: 0; flex-direction: column; }
.plu-leader-card .plu-leader-card__content { display: flex; flex: 1; flex-direction: column; }
.plu-leader-card .plu-leader-card__content > p:last-child { margin-bottom: 0; }
@media (max-width: 980px) {
  .plu-leadership-hero__inner { grid-template-columns: 1fr; min-height: 260px; }
  .plu-featured-leader { grid-template-columns: 1fr; }
  .plu-featured-leader .plu-leader-photo { height: 480px; min-height: 0; border-right: 0; border-bottom: 4px solid var(--plu-yellow); }
  .plu-leader-grid,
  .plu-leadership-tier--executive .plu-leader-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .plu-leader-card .plu-leader-photo { height: 416px; }
}
@media (max-width: 620px) {
  .plu-leadership-hero__inner,
  .plu-leadership-content { padding-left: 16px; padding-right: 16px; }
  .plu-leadership-hero h1 { font-size: 36px; }
  .plu-leadership-page .plu-section-title-row h2 { font-size: 30px; }
  .plu-featured-leader .plu-leader-card__content { padding: 28px 22px; }
  .plu-featured-leader .plu-leader-photo { height: 384px; }
  .plu-featured-leader h2 { font-size: 30px; }
  .plu-leadership-tier { margin-top: 38px; }
  .plu-leadership-tier > header { grid-template-columns: 46px minmax(0,1fr); gap: 12px; }
  .plu-leadership-tier > header > span { width: 46px; height: 46px; }
  .plu-leadership-tier > header h3 { font-size: 22px; }
  .plu-leadership-tier > header > b { grid-column: 2; width: fit-content; }
  .plu-leader-grid,
  .plu-leadership-tier--executive .plu-leader-grid { grid-template-columns: 1fr; }
  .plu-leader-card .plu-leader-photo { height: 352px; }
}
.plu-contact-page { overflow: hidden; background: #f4f4f1; color: #050505; }
.plu-contact-hero { padding-top: 88px; border-bottom: 4px solid #050505; background: var(--plu-yellow); }
.plu-contact-hero__inner { width: min(100%, 1440px); min-height: 310px; margin: 0 auto; padding: 0 48px; display: grid; grid-template-columns: minmax(0,1.4fr) minmax(310px,.6fr); gap: 44px; align-items: end; }
.plu-contact-hero__inner>div { padding-bottom: 38px; }
.plu-contact-hero h1 { max-width: 850px; margin: 14px 0 0; font-size: 60px; line-height: 1.04; font-weight: 900; }
.plu-contact-hero__inner>div>p:last-child { max-width: 760px; margin: 22px 0 0; color: rgba(0,0,0,.68); font-size: 18px; line-height: 1.65; }
.plu-contact-hero aside { align-self: end; padding: 34px; border-left: 4px solid #050505; background: #050505; color: #fff; }
.plu-contact-hero aside .plu-eyebrow { color: var(--plu-yellow); }
.plu-contact-hero aside h2 { margin: 16px 0 0; font-size: 30px; line-height: 1.12; font-weight: 900; }
.plu-contact-hero aside>p:last-child { margin: 18px 0 0; color: rgba(255,255,255,.7); font-size: 14px; line-height: 1.65; }
.plu-contact-content { width: min(100%, 1440px); margin: 0 auto; padding: 58px 48px 96px; }
.plu-contact-layout { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); gap: 40px; align-items: start; }
.plu-contact-information>header { padding: 12px 0 12px 24px; border-left: 4px solid var(--plu-red); }
.plu-contact-information>header h2 { max-width: 650px; margin: 14px 0 0; font-size: 42px; line-height: 1.12; font-weight: 900; }
.plu-contact-information>header>p:last-child { max-width: 700px; margin: 18px 0 0; color: rgba(0,0,0,.64); font-size: 16px; line-height: 1.75; }
.plu-contact-cards { margin-top: 32px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.plu-contact-cards article { min-height: 360px; padding: 30px; border: 1px solid rgba(0,0,0,.1); border-radius: 8px; background: #fff; box-shadow: 0 18px 44px rgba(0,0,0,.05); }
.plu-contact-cards article>span { width: 50px; height: 50px; margin-bottom: 22px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #050505; color: var(--plu-yellow); }
.plu-contact-cards svg { width: 24px; height: 24px; }
.plu-contact-cards .plu-eyebrow { color: rgba(0,0,0,.58); }
.plu-contact-cards h3 { margin: 14px 0 0; font-size: 20px; line-height: 1.35; font-weight: 900; }
.plu-contact-cards article>p:last-child { margin: 20px 0 0; color: rgba(0,0,0,.68); font-size: 14px; line-height: 1.75; }
.plu-contact-cards dl { margin: 24px 0 0; }
.plu-contact-cards dl>div { padding: 12px 0; border-top: 1px solid rgba(0,0,0,.1); }
.plu-contact-cards dt { color: rgba(0,0,0,.52); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.plu-contact-cards dd { margin: 5px 0 0; font-size: 14px; font-weight: 700; }
.plu-contact-cards a { color: #050505; overflow-wrap: anywhere; }
.plu-contact-form-panel { overflow: hidden; border: 1px solid rgba(0,0,0,.1); border-radius: 8px; background: #fff; box-shadow: 0 22px 64px rgba(0,0,0,.07); }
.plu-contact-form-panel__accent { display: block; width: 100%; height: 14px; border-bottom: 4px solid #050505; background: var(--plu-yellow); }
.plu-contact-form-panel>div { padding: 38px; }
.plu-contact-form-panel h2 { margin: 14px 0 0; font-size: 38px; line-height: 1.12; font-weight: 900; }
.plu-contact-form-panel>div>p:nth-of-type(2) { margin: 16px 0 0; color: rgba(0,0,0,.65); line-height: 1.7; }
.plu-contact-form-panel>div>section { margin: 28px 0; padding: 22px 0; border-top: 1px solid rgba(0,0,0,.1); border-bottom: 1px solid rgba(0,0,0,.1); }
.plu-contact-form-panel>div>section h3 { margin: 0; font-size: 21px; font-weight: 900; }
.plu-contact-form-panel>div>section p { margin: 10px 0 0; color: rgba(0,0,0,.62); font-size: 14px; line-height: 1.65; }
.plu-contact-form-panel .wpcf7-form-control-wrap { display: block; }
.plu-contact-form-panel input:not([type=checkbox]):not([type=submit]),
.plu-contact-form-panel select,
.plu-contact-form-panel textarea { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #b7b7b2; border-radius: 4px; background: #fff; color: #050505; font: inherit; font-size: 15px; }
.plu-contact-form-panel textarea { min-height: 150px; resize: vertical; }
.plu-contact-form-panel input:focus,
.plu-contact-form-panel select:focus,
.plu-contact-form-panel textarea:focus { outline: 3px solid rgba(255,242,0,.75); outline-offset: 1px; border-color: #050505; }
.plu-contact-form-panel input[type=submit] { min-height: 48px; padding: 0 28px; border: 2px solid #050505; border-radius: 4px; background: #050505; color: var(--plu-yellow); font-size: 13px; font-weight: 900; text-transform: uppercase; cursor: pointer; }
.plu-contact-form-panel input[type=submit]:hover { background: var(--plu-yellow); color: #050505; }
.plu-contact-form-panel input[type=submit]:disabled { opacity: .55; cursor: wait; }
.plu-contact-form-panel .wpcf7-not-valid-tip { margin-top: 6px; color: #b51219; font-size: 12px; font-weight: 700; }
.plu-contact-form-panel .wpcf7-response-output { margin: 22px 0 0 !important; padding: 14px 16px !important; border: 0 !important; border-left: 4px solid #050505 !important; background: #f3f3ef; font-size: 14px; line-height: 1.55; }
.plu-contact-form-panel form.sent .wpcf7-response-output { border-left-color: #287a3f !important; background: #eef8f0; }
.plu-contact-form-panel form.invalid .wpcf7-response-output,
.plu-contact-form-panel form.failed .wpcf7-response-output { border-left-color: var(--plu-red) !important; background: #fff1f1; }
.plu-contact-form-panel .wpcf7-spinner { margin: 0; }
.plu-contact-form-missing { padding: 16px; border-left: 4px solid var(--plu-red); background: #fff1f1; }
@media(max-width:1050px) {
  .plu-contact-hero__inner,.plu-contact-layout { grid-template-columns:1fr }
  .plu-contact-hero__inner { gap:0 }
  .plu-contact-hero aside { border-left:0;border-top:4px solid #050505 }
  .plu-contact-cards article { min-height:0 }
}
@media(max-width:700px) {
  .plu-contact-hero { padding-top:32px }
  .plu-contact-hero__inner { padding:0 20px }
  .plu-contact-hero h1 { font-size:42px }
  .plu-contact-hero__inner>div { padding-bottom:30px }
  .plu-contact-hero aside { padding:26px }
  .plu-contact-content { padding:40px 20px 72px }
  .plu-contact-information>header h2 { font-size:34px }
  .plu-contact-cards,.plu-cf7-grid { grid-template-columns:1fr }
  .plu-contact-form-panel>div { padding:26px }
  .plu-contact-form-panel h2 { font-size:32px }
  .plu-contact-form-panel input[type=submit] { width:100% }
}
.plu-news-pagination[hidden] { display:none!important }
.plu-home-news { padding:56px 0;background:#f7f7f2;color:#000;font-family:'Geist PLU',Arial,Helvetica,sans-serif }
.plu-home-news__inner { width:calc(100% - 64px);max-width:1376px;margin:0 auto }
.plu-home-news__header { display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px }
.plu-home-news__header .plu-eyebrow { color:#e21b23;font-size:12px;font-weight:900;text-transform:uppercase }
.plu-home-news__header h2 { margin:12px 0 0;font-size:48px;line-height:1.08;font-weight:900 }
.plu-home-news__all { display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border:1px solid rgba(0,0,0,.15);border-radius:4px;font-size:14px;font-weight:900;text-transform:uppercase;text-decoration:none;transition:.2s }
.plu-home-news__all:hover { border-color:#000;background:#000;color:#fff }
.plu-home-news__layout { display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:20px;align-items:start }
.plu-home-news__stage { position:relative;min-width:0 }
.plu-home-news__slide { position:absolute;inset:0;z-index:0;overflow:hidden;border-radius:4px;background:#fff;box-shadow:0 22px 50px rgba(0,0,0,.08);opacity:0;transform:translateX(12px);pointer-events:none;transition:opacity .4s ease,transform .4s ease }
.plu-home-news__slide.is-active { position:relative;z-index:1;opacity:1;transform:translateX(0);pointer-events:auto }
.plu-home-news__media { position:relative;min-height:390px;overflow:hidden;background:#e8e8e3 }
.plu-home-news__media img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 7s ease-out }
.plu-home-news__slide.is-active .plu-home-news__media img { transform:scale(1.035) }
.plu-home-news__media:after { content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,.12),transparent) }
.plu-home-news__media>span { position:absolute;right:auto;bottom:20px;left:20px;z-index:1;padding:6px 12px;border-radius:4px;background:#fff200;color:#000;font-size:12px;font-weight:900;text-transform:uppercase }
.plu-home-news__content { padding:28px }
.plu-home-news__content h3 { margin:0;font-size:36px;line-height:1.12;font-weight:900 }
.plu-home-news__content>p { max-width:768px;margin:16px 0 0;color:rgba(0,0,0,.68);font-size:16px;line-height:1.75 }
.plu-home-news__actions { display:flex;flex-wrap:wrap;gap:12px;margin-top:24px }
.plu-home-news__actions>a { display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:4px;background:#000;color:#fff;font-size:14px;font-weight:900;text-transform:uppercase;text-decoration:none;transition:background .2s }
.plu-home-news__actions>a:hover { background:#e21b23 }
.plu-home-news__actions button { width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.15);border-radius:4px;background:#fff;color:#000;font-size:19px;font-weight:900;cursor:pointer;transition:.2s }
.plu-home-news__actions button:hover { border-color:#000;background:#000;color:#fff }
.plu-home-news__selectors { display:grid;gap:12px }
.plu-home-news__selectors button { width:100%;display:grid;grid-template-columns:78px 1fr;align-items:center;gap:12px;padding:12px;border:1px solid rgba(0,0,0,.1);border-radius:4px;background:#fff;color:#000;text-align:left;font:inherit;cursor:pointer;transition:transform .2s,border-color .2s,background .2s,color .2s }
.plu-home-news__selectors button:hover { transform:translateY(-2px);border-color:rgba(0,0,0,.3) }
.plu-home-news__selectors button.is-active { border-color:#000;background:#000;color:#fff;box-shadow:0 16px 34px rgba(0,0,0,.18) }
.plu-home-news__selectors img { width:78px;height:80px;object-fit:cover;border-radius:4px;background:#eee }
.plu-home-news__selectors button>span { min-width:0 }
.plu-home-news__selectors strong { display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:14px;line-height:1.25;font-weight:900 }
.plu-home-news__selectors time { display:block;margin-top:8px;color:rgba(0,0,0,.5);font-size:10px;font-weight:700;text-transform:uppercase }
.plu-home-news__selectors button.is-active time { color:#fff200 }
@media(max-width:980px) {
  .plu-home-news__layout { grid-template-columns:1fr }
  .plu-home-news__selectors { grid-template-columns:repeat(2,minmax(0,1fr)) }
}
@media(max-width:700px) {
  .plu-home-news { padding:40px 0 }
  .plu-home-news__inner { width:calc(100% - 40px) }
  .plu-home-news__header { align-items:flex-start;flex-direction:column }
  .plu-home-news__header h2 { font-size:36px }
  .plu-home-news__media { min-height:260px }
  .plu-home-news__content { padding:20px }
  .plu-home-news__content h3 { font-size:26px }
  .plu-home-news__selectors { grid-template-columns:1fr }
  .plu-home-news__all { padding:10px 14px }
  .plu-home-news__actions>a { flex:1;justify-content:center }
}
.plu-newsroom,.plu-news-article { background:#f4f4f1;color:#000;font-family:'Geist PLU',Arial,Helvetica,sans-serif }
.plu-news-container { width:calc(100% - 64px);max-width:1376px;margin:0 auto }
.plu-news-eyebrow { margin:0;color:#e21b23;font-size:12px;font-weight:800;text-transform:uppercase }
.plu-newsroom-hero { padding:44px 0 28px;border-bottom:4px solid #000;background:#fff200 }
.plu-newsroom-hero__copy { max-width:768px }
.plu-newsroom-hero h1 { margin:16px 0 0;font-size:60px;line-height:1.08;font-weight:900;letter-spacing:0 }
.plu-newsroom-hero__copy>p:last-child { max-width:672px;margin:20px 0 0;color:rgba(0,0,0,.7);font-size:18px;line-height:1.56 }
.plu-news-feature-stage { padding:0 0 64px;background:#050505;color:#fff }
.plu-news-feature-layout { display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,.75fr);gap:32px }
.plu-news-feature { position:relative;min-height:540px;overflow:hidden;background:#191919 }
.plu-news-feature__image { position:absolute;inset:0 }
.plu-news-feature__image img { width:100%;height:100%;object-fit:cover;transition:transform .7s ease }
.plu-news-feature:hover .plu-news-feature__image img { transform:scale(1.02) }
.plu-news-feature__shade { position:absolute;inset:0;background:linear-gradient(to top,#000 0%,rgba(0,0,0,.38) 52%,transparent 100%);pointer-events:none }
.plu-news-feature__content { position:absolute;right:0;bottom:0;left:0;padding:40px }
.plu-news-meta { display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:rgba(255,255,255,.7);font-size:12px;font-weight:800;text-transform:uppercase }
.plu-news-featured-label { padding:6px 12px;background:#fff200;color:#000 }
.plu-news-feature h2 { max-width:900px;margin:20px 0 0;font-size:48px;line-height:1.08;font-weight:900 }
.plu-news-feature h2 a { text-decoration:none }
.plu-news-feature__content>p { max-width:672px;margin:16px 0 0;color:rgba(255,255,255,.76);font-size:16px;line-height:1.5 }
.plu-news-read { display:inline-flex;align-items:center;gap:8px;margin-top:20px;font-size:14px;font-weight:800;text-decoration:none }
.plu-news-read span { transition:transform .2s }
.plu-news-card:hover .plu-news-read span,.plu-news-feature:hover .plu-news-read span { transform:translateX(4px) }
.plu-news-read--yellow { margin-top:24px;color:#fff200 }
.plu-news-latest { padding:0 0 0 32px;border-left:1px solid rgba(255,255,255,.2) }
.plu-news-latest header { display:flex;align-items:center;justify-content:space-between;margin:0 0 20px }
.plu-news-latest header h2 { margin:0;font-size:18px;font-weight:900 }
.plu-news-latest header span { width:40px;height:4px;background:#e21b23 }
.plu-news-latest>div>a { display:grid;grid-template-columns:32px 1fr;gap:12px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.15);text-decoration:none }
.plu-news-latest>div>a:first-child { padding-top:0 }
.plu-news-latest b { color:#fff200;font-size:14px }
.plu-news-latest time { display:block;color:rgba(255,255,255,.5);font-size:12px;font-weight:700;text-transform:uppercase }
.plu-news-latest strong { display:block;margin-top:8px;font-size:16px;line-height:1.5;transition:color .2s }
.plu-news-latest a:hover strong { color:#fff200 }
.plu-news-toolbar { padding:20px 0;border-bottom:1px solid rgba(0,0,0,.1);background:#fff }
.plu-news-toolbar>.plu-news-container { display:flex;align-items:center;justify-content:space-between;gap:24px }
.plu-news-filters { display:flex;gap:8px;overflow-x:auto;padding-bottom:1px }
.plu-news-filters button { flex:0 0 auto;padding:9px 16px;border:1px solid rgba(0,0,0,.15);border-radius:0;background:#fff;color:#000;font:inherit;font-size:12px;font-weight:800;text-transform:uppercase;cursor:pointer }
.plu-news-filters button:hover { border-color:#000 }
.plu-news-filters button.is-active { border-color:#000;background:#000;color:#fff200 }
.plu-news-search { width:320px;min-width:0;display:flex;align-items:center;gap:12px;padding:10px 16px;border:1px solid rgba(0,0,0,.2);background:#fff }
.plu-news-search>span:first-child { width:15px;height:15px;border:2px solid #000;border-radius:50%;position:relative }
.plu-news-search>span:first-child:after { content:'';position:absolute;width:6px;height:2px;right:-5px;bottom:-2px;background:#000;transform:rotate(45deg) }
.plu-news-search input { min-width:0;flex:1;border:0;outline:0;background:transparent;font:inherit;font-size:14px }
.plu-news-archive { padding:64px 0 }
.plu-news-archive__header { display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 32px;padding:0 0 20px;border-bottom:1px solid rgba(0,0,0,.15) }
.plu-news-archive__header h2,.plu-news-related header h2 { margin:8px 0 0;font-size:30px;font-weight:900 }
.plu-news-archive__header>p { margin:0;color:rgba(0,0,0,.55);font-size:14px }
.plu-news-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;row-gap:40px }
.plu-news-card { height:100%;display:flex;flex-direction:column;padding:0 0 28px;border-bottom:1px solid rgba(0,0,0,.2) }
.plu-news-card[hidden] { display:none }
.plu-news-card__image { aspect-ratio:16/10;overflow:hidden;background:#deded8 }
.plu-news-card__image img { width:100%;height:100%;object-fit:cover;transition:transform .5s ease }
.plu-news-card:hover .plu-news-card__image img { transform:scale(1.03) }
.plu-news-card__meta { display:flex;align-items:center;gap:12px;margin-top:20px;font-size:12px;font-weight:800;text-transform:uppercase }
.plu-news-card__meta span { color:#e21b23 }
.plu-news-card__meta time { color:rgba(0,0,0,.5) }
.plu-news-card__meta time:before { content:'\2022';margin-right:12px;color:rgba(0,0,0,.25) }
.plu-news-card__meta time:first-child:before { display:none }
.plu-news-card h3 { margin:12px 0 0;font-size:20px;line-height:1.38;font-weight:900 }
.plu-news-card h3 a { text-decoration:none }
.plu-news-card>p { display:-webkit-box;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:12px 0 0;color:rgba(0,0,0,.6);font-size:14px;line-height:1.55 }
.plu-news-card>.plu-news-read { margin-top:auto;padding-top:20px }
.plu-news-empty { padding:64px 24px;border:1px solid rgba(0,0,0,.15);background:#fff;text-align:center }
.plu-news-empty h3 { margin:0;font-size:20px;font-weight:900 }
.plu-news-empty p { margin:8px 0 0;color:rgba(0,0,0,.6) }
.plu-news-pagination { display:flex;align-items:center;justify-content:space-between;margin-top:56px;padding-top:24px;border-top:1px solid rgba(0,0,0,.15) }
.plu-news-pagination button { border:0;background:none;font:inherit;font-size:14px;font-weight:800;cursor:pointer }
.plu-news-pagination button:disabled { opacity:.35;cursor:not-allowed }
.plu-news-pagination span { color:rgba(0,0,0,.55);font-size:12px;font-weight:800;text-transform:uppercase }
.plu-news-cta { padding:32px 0;border-top:1px solid rgba(0,0,0,.1);border-bottom:1px solid rgba(0,0,0,.1);background:#fff200 }
.plu-news-cta>.plu-news-container { display:flex;align-items:center;justify-content:space-between;gap:20px }
.plu-news-cta p { margin:0;font-size:12px;font-weight:800;text-transform:uppercase }
.plu-news-cta h2 { margin:8px 0 0;font-size:24px;font-weight:900 }
.plu-news-cta a { display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background:#000;color:#fff;font-size:14px;font-weight:800;text-decoration:none }
.plu-news-article { padding-bottom:64px }
.plu-news-article-hero { height:80vh;min-height:580px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#191919;color:#fff }
.plu-news-article-hero>img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover }
.plu-news-article-hero__shade { position:absolute;inset:0;background:linear-gradient(to top,#000 0%,rgba(0,0,0,.32) 55%,transparent 100%) }
.plu-news-article-hero__content { position:relative;padding-bottom:44px }
.plu-news-article-hero__content>p { margin:0 0 24px;font-size:14px;font-weight:700;text-transform:uppercase }
.plu-news-article-hero h1 { max-width:1100px;margin:0 0 24px;font-size:60px;line-height:1.08;font-weight:900 }
.plu-news-article-hero__content>div { display:flex;gap:64px }
.plu-news-article-hero__content span,.plu-news-article-hero__content time { display:flex;flex-direction:column;gap:4px }
.plu-news-article-hero__content small { font-size:12px;color:rgba(255,255,255,.7) }
.plu-news-article-body { width:calc(100% - 40px);max-width:768px;margin:0 auto;padding:48px 0;font-size:17px;line-height:1.8 }
.plu-news-article-body>*:first-child { margin-top:0 }
.plu-news-article-body img { height:auto }
.plu-news-related { padding:48px 0 24px;border-top:1px solid rgba(0,0,0,.15) }
.plu-news-related header { margin-bottom:28px }
@media(max-width:980px) {
  .plu-news-feature-layout { grid-template-columns:1fr }
  .plu-news-latest { padding:24px 0 0;border-top:1px solid rgba(255,255,255,.2);border-left:0 }
  .plu-news-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
}
@media(max-width:700px) {
  .plu-news-container { width:calc(100% - 40px) }
  .plu-newsroom-hero { padding:36px 0 26px }
  .plu-newsroom-hero h1 { font-size:40px }
  .plu-newsroom-hero__copy>p:last-child { font-size:16px }
  .plu-news-feature-stage { padding-bottom:48px }
  .plu-news-feature { min-height:0;display:grid;grid-template-rows:auto auto;background:#fff;color:#000 }
  .plu-news-feature__image { position:relative;inset:auto;aspect-ratio:16/10;overflow:hidden }
  .plu-news-feature__image img { position:absolute;inset:0 }
  .plu-news-feature__shade { display:none }
  .plu-news-feature__content { position:relative;inset:auto;padding:24px;background:#fff;color:#000 }
  .plu-news-feature .plu-news-meta { color:rgba(0,0,0,.58) }
  .plu-news-feature h2 { font-size:30px }
  .plu-news-feature__content>p { color:rgba(0,0,0,.68) }
  .plu-news-feature .plu-news-read--yellow { color:#000 }
  .plu-news-toolbar>.plu-news-container { align-items:stretch;flex-direction:column }
  .plu-news-search { width:100% }
  .plu-news-filters { width:100% }
  .plu-news-archive { padding:48px 0 }
  .plu-news-grid { grid-template-columns:1fr }
  .plu-news-archive__header>p { display:none }
  .plu-news-cta>.plu-news-container { align-items:flex-start;flex-direction:column }
  .plu-news-article-hero { height:72vh;min-height:540px }
  .plu-news-article-hero h1 { font-size:38px }
  .plu-news-article-hero__content>div { gap:24px;flex-direction:column }
  .plu-news-article-body { font-size:16px }
}
.plu-banner-media { position:relative;isolation:isolate;overflow:hidden;background:#050505;color:#fff }
.plu-banner-media::before,.plu-banner-media::after { content:"";position:absolute;inset:0;pointer-events:none }
.plu-banner-media::before { z-index:0;background-image:var(--plu-banner-image);background-position:var(--plu-banner-x,50%) var(--plu-banner-y,50%);background-size:cover;background-repeat:no-repeat;transform:scale(1.012) }
.plu-banner-media::after { z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.68) 48%,rgba(0,0,0,.38) 100%) }
.plu-banner-media.plu-banner-overlay--light::after { background:linear-gradient(90deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,.5) 48%,rgba(0,0,0,.22) 100%) }
.plu-banner-media.plu-banner-overlay--strong::after { background:linear-gradient(90deg,rgba(0,0,0,.97) 0%,rgba(0,0,0,.82) 52%,rgba(0,0,0,.62) 100%) }
.plu-membership-hero.plu-banner-media>.plu-membership-hero__copy,.plu-membership-hero.plu-banner-media>.plu-membership-hero__mark,.plu-join-banner.plu-banner-media>div,.plu-verify-hero.plu-banner-media>div,.plu-verify-hero.plu-banner-media>aside,.plu-officers-hero.plu-banner-media>div,.plu-officers-hero.plu-banner-media>aside,.plu-page-hero.plu-banner-media>div,.plu-leadership-hero.plu-banner-media>.plu-leadership-hero__inner,.plu-structure-hero.plu-banner-media>.plu-structure-hero__inner,.plu-about-hero.plu-banner-media>.plu-about-hero__inner,.plu-what-hero.plu-banner-media>.plu-what-hero__inner,.plu-contact-hero.plu-banner-media>.plu-contact-hero__inner,.plu-tracker-hero.plu-banner-media>.plu-tracker-hero__inner { position:relative;z-index:2 }
.plu-banner-media .plu-eyebrow,.plu-banner-media .plu-tracker-eyebrow { color:#fff200 }
.plu-banner-media p:not(.plu-eyebrow):not(.plu-tracker-eyebrow) { text-shadow:0 1px 16px rgba(0,0,0,.28) }
.plu-structure-hero.plu-banner-media::after { background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.76) 43%,rgba(0,0,0,.43) 72%,rgba(0,0,0,.56) 100%) }
.plu-structure-hero.plu-banner-media.plu-banner-overlay--light::after { background:linear-gradient(90deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.62) 43%,rgba(0,0,0,.28) 72%,rgba(0,0,0,.4) 100%) }
.plu-structure-hero.plu-banner-media.plu-banner-overlay--strong::after { background:linear-gradient(90deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.86) 48%,rgba(0,0,0,.62) 76%,rgba(0,0,0,.7) 100%) }
.plu-structure-hero.plu-banner-media .plu-structure-orbit { border-radius:50%;background:radial-gradient(circle,rgba(0,0,0,.62) 0%,rgba(0,0,0,.34) 43%,transparent 70%) }
.plu-structure-hero.plu-banner-media .plu-structure-orbit__ring--outer { border-color:rgba(255,242,0,.72) }
.plu-structure-hero.plu-banner-media .plu-structure-orbit__ring--inner { border-color:rgba(255,255,255,.4) }
@media(max-width:760px) {
  .plu-banner-media::after,.plu-banner-media.plu-banner-overlay--light::after,.plu-structure-hero.plu-banner-media::after,.plu-structure-hero.plu-banner-media.plu-banner-overlay--light::after { background:linear-gradient(180deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.68) 58%,rgba(0,0,0,.55) 100%) }
  .plu-banner-media.plu-banner-overlay--strong::after,.plu-structure-hero.plu-banner-media.plu-banner-overlay--strong::after { background:linear-gradient(180deg,rgba(0,0,0,.97) 0%,rgba(0,0,0,.82) 58%,rgba(0,0,0,.7) 100%) }
}
.plu-main h1, .plu-main h2, .plu-main h3, .plu-page h1, .plu-page h2, .plu-page h3 { font-family: inherit; letter-spacing: 0; }
.plu-slide h1 { font-size: clamp(48px, 5vw, 68px); line-height: .98; }
.plu-page-hero h1 { font-size: clamp(42px, 5vw, 62px); line-height: 1; }
.plu-membership-hero h1, .plu-verify-hero h1, .plu-officers-hero h1, .plu-structure-hero h1 { font-size: clamp(48px, 5.6vw, 72px); line-height: 1; }
.plu-person-copy h2, .plu-gs-message h2, .plu-vision-card h2, .plu-section-title-row h2 { font-size: clamp(28px, 2.7vw, 38px); line-height: 1.08; }
@media (max-width: 620px) {
  .plu-slide h1 { font-size: 42px; }
  .plu-membership-hero h1, .plu-verify-hero h1, .plu-officers-hero h1, .plu-structure-hero h1 { font-size: 42px; }
}
.plu-home-news__layout { grid-template-columns: minmax(0,1.55fr) minmax(310px,.65fr); gap: 24px; }
.plu-home-news__news-column { min-width: 0; }
.plu-home-news__selectors { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin-top: 10px; }
.plu-home-news__selectors button { display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 9px; min-height: 76px; padding: 8px; }
.plu-home-news__selectors img { width: 48px; height: 58px; }
.plu-home-news__selectors strong { font-size: 11px; }
.plu-home-news__selectors time { margin-top: 5px; font-size: 8px; }
.plu-home-events { min-height: 100%; display: flex; flex-direction: column; overflow: hidden; border-radius: 4px; background: #050505; color: #fff; box-shadow: 0 22px 50px rgba(0,0,0,.14); }
.plu-home-events > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 28px 26px 24px; border-bottom: 1px solid rgba(255,255,255,.16); }
.plu-home-events > header .plu-eyebrow { margin: 0; color: #fff200; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.plu-home-events > header h3 { margin: 8px 0 0; color: #fff; font-size: 26px; line-height: 1.1; font-weight: 900; }
.plu-home-events > header > span { width: 44px; height: 44px; flex: 0 0 44px; display: grid; place-items: center; background: #fff200; color: #000; }
.plu-home-events > header svg { width: 23px; height: 23px; }
.plu-home-events__list { flex: 1; }
.plu-home-events__list > a { display: grid; grid-template-columns: 54px minmax(0,1fr) 18px; align-items: center; gap: 14px; padding: 22px 24px; border-bottom: 1px solid rgba(255,255,255,.13); color: #fff; text-decoration: none; transition: background .2s; }
.plu-home-events__list > a:hover { background: rgba(255,242,0,.09); }
.plu-home-events__list time { min-height: 58px; display: grid; place-content: center; border: 1px solid rgba(255,242,0,.5); color: #fff200; text-align: center; }
.plu-home-events__list time b { font-size: 23px; line-height: 1; }
.plu-home-events__list time span { margin-top: 4px; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.plu-home-events__list a > span { min-width: 0; }
.plu-home-events__list small { display: block; color: rgba(255,255,255,.55); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.plu-home-events__list strong { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; margin-top: 6px; font-size: 15px; line-height: 1.3; }
.plu-home-events__list em { display: block; overflow: hidden; margin-top: 6px; color: rgba(255,255,255,.65); font-size: 11px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.plu-home-events__list i { color: #fff200; font-style: normal; transition: transform .2s; }
.plu-home-events__list a:hover i { transform: translateX(3px); }
.plu-home-events__empty { min-height: 300px; display: grid; align-content: center; justify-items: start; gap: 16px; padding: 30px; }
.plu-home-events__empty > span { width: 54px; height: 54px; display: grid; place-items: center; border: 1px solid rgba(255,242,0,.45); color: #fff200; font-size: 28px; }
.plu-home-events__empty p { max-width: 250px; margin: 0; color: rgba(255,255,255,.65); line-height: 1.65; }
.plu-home-events > footer { padding: 20px 24px; background: #fff200; }
.plu-home-events > footer a { display: flex; align-items: center; justify-content: space-between; color: #000; font-size: 12px; font-weight: 900; text-transform: uppercase; text-decoration: none; }
.plu-events-page,.plu-event-single { background: #f7f7f2; color: #050505; font-family: 'Geist PLU',Arial,Helvetica,sans-serif; }
.plu-events-shell { width: calc(100% - 64px); max-width: 1376px; margin: 0 auto; }
.plu-events-hero { position: relative; overflow: hidden; padding: 80px 0; background: #050505; color: #fff; }
.plu-events-hero:after { content: ''; position: absolute; top: -110px; right: 4%; width: 330px; height: 330px; border: 1px solid rgba(255,242,0,.25); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,242,0,.04),0 0 0 140px rgba(255,242,0,.025); }
.plu-events-hero__layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.4fr) minmax(270px,.6fr); align-items: end; gap: 80px; }
.plu-events-hero .plu-hero-rule { display: block; width: 64px; height: 5px; margin-bottom: 20px; background: #fff200; }
.plu-events-hero .plu-eyebrow { margin: 0; color: #fff200; font-size: 12px; font-weight: 900; text-transform: uppercase; }
.plu-events-hero h1 { max-width: 850px; margin: 14px 0 18px; color: #fff; font-size: 68px; line-height: 1; font-weight: 900; }
.plu-events-hero__layout > div > p:last-child { max-width: 720px; margin: 0; color: rgba(255,255,255,.7); font-size: 18px; line-height: 1.65; }
.plu-events-hero aside { display: grid; grid-template-columns: 78px 1fr; gap: 16px; padding: 20px; border-left: 4px solid #fff200; background: rgba(255,255,255,.08); backdrop-filter: blur(8px); }
.plu-events-hero aside > small { grid-column: 1/-1; color: #fff200; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.plu-events-hero aside time { display: grid; place-content: center; min-height: 76px; background: #fff200; color: #000; text-align: center; }
.plu-events-hero aside time b { font-size: 31px; line-height: 1; }
.plu-events-hero aside time span { font-size: 9px; font-weight: 900; text-transform: uppercase; }
.plu-events-hero aside a,.plu-events-hero aside > strong { align-self: center; color: #fff; font-size: 15px; line-height: 1.35; font-weight: 800; text-decoration: none; }
.plu-events-list { padding: 72px 0; }
.plu-events-section-title { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 30px; padding-bottom: 20px; border-bottom: 1px solid rgba(0,0,0,.16); }
.plu-events-section-title .plu-eyebrow { margin: 0; color: #e21b23; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.plu-events-section-title h2 { margin: 8px 0 0; font-size: 38px; line-height: 1.1; font-weight: 900; }
.plu-events-section-title > span { color: rgba(0,0,0,.55); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.plu-event-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.plu-event-card { display: grid; grid-template-columns: minmax(160px,.55fr) 76px minmax(0,1.2fr); min-height: 260px; overflow: hidden; border: 1px solid rgba(0,0,0,.12); background: #fff; }
.plu-event-card__media { position: relative; min-height: 100%; overflow: hidden; background: #fff200; text-decoration: none; }
.plu-event-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.plu-event-card:hover .plu-event-card__media img { transform: scale(1.03); }
.plu-event-card__media > span { position: absolute; inset: 0; z-index: 2; display: grid; place-items: center; color: #050505; font-size: 52px; line-height: 1; font-weight: 900; text-transform: uppercase; }
.plu-event-card__date { display: flex; align-items: center; flex-direction: column; padding-top: 26px; border-right: 1px solid rgba(0,0,0,.1); }
.plu-event-card__date time { text-align: center; }
.plu-event-card__date time b { display: block; font-size: 34px; line-height: 1; }
.plu-event-card__date time span { display: block; margin-top: 5px; color: #e21b23; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.plu-event-card__date small { margin-top: 24px; color: rgba(0,0,0,.45); font-size: 9px; font-weight: 800; writing-mode: vertical-rl; }
.plu-event-card__copy { display: flex; align-items: flex-start; flex-direction: column; padding: 26px; }
.plu-event-card__copy > div { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; color: rgba(0,0,0,.5); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.plu-event-status { display: inline-flex; width: fit-content; padding: 5px 8px; background: #fff200; color: #000; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.plu-event-status--cancelled { background: #e21b23; color: #fff; }
.plu-event-status--postponed { background: #eee; }
.plu-event-status--completed { background: #111; color: #fff; }
.plu-event-card h3 { margin: 14px 0 0; font-size: 21px; line-height: 1.25; font-weight: 900; }
.plu-event-card h3 a { color: inherit; text-decoration: none; }
.plu-event-card__copy > p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; margin: 12px 0 0; color: rgba(0,0,0,.6); font-size: 13px; line-height: 1.55; }
.plu-event-card__copy > a { margin-top: auto; padding-top: 18px; color: #000; font-size: 11px; font-weight: 900; text-transform: uppercase; text-decoration: none; }
.plu-events-empty { min-height: 280px; display: grid; align-content: center; justify-items: center; padding: 40px; border: 1px solid rgba(0,0,0,.14); background: #fff; text-align: center; }
.plu-events-empty > span { width: 58px; height: 58px; display: grid; place-items: center; background: #fff200; font-size: 28px; }
.plu-events-empty h3 { margin: 18px 0 0; font-size: 23px; }
.plu-events-empty p { max-width: 520px; margin: 8px 0 0; color: rgba(0,0,0,.6); }
.plu-events-past { padding: 56px 0 72px; border-top: 1px solid rgba(0,0,0,.1); background: #fff; }
.plu-events-past__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; background: rgba(0,0,0,.12); }
.plu-events-past__grid a { min-height: 140px; display: grid; grid-template-columns: 1fr auto; align-content: center; gap: 10px; padding: 24px; background: #fff; color: #000; text-decoration: none; }
.plu-events-past__grid time { grid-column: 1/-1; color: #e21b23; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.plu-events-past__grid strong { font-size: 16px; line-height: 1.35; }
.plu-event-single__hero { padding: 88px 0 70px; background: #050505; color: #fff; }
.plu-event-single__hero.has-image { position: relative; min-height: 620px; display: flex; align-items: flex-end; overflow: hidden; }
.plu-event-single__hero > img,.plu-event-single__hero > span { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.plu-event-single__hero > span { background: linear-gradient(to top,#000 0%,rgba(0,0,0,.45) 55%,rgba(0,0,0,.08)); }
.plu-event-single__hero .plu-events-shell { position: relative; z-index: 1; }
.plu-event-single__hero .plu-eyebrow { margin: 0 0 18px; color: #fff200; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.plu-event-single__hero .plu-eyebrow a { color: inherit; }
.plu-event-single__hero h1 { max-width: 980px; margin: 0; color: #fff; font-size: 58px; line-height: 1.05; font-weight: 900; }
.plu-event-single__hero .plu-events-shell > p:last-child { max-width: 760px; margin: 20px 0 0; color: rgba(255,255,255,.75); font-size: 18px; }
.plu-event-single__layout { display: grid; grid-template-columns: minmax(0,1fr) 340px; align-items: start; gap: 72px; padding-top: 64px; padding-bottom: 80px; }
.plu-event-single__body { min-width: 0; font-size: 17px; line-height: 1.8; }
.plu-event-single__body > *:first-child { margin-top: 0; }
.plu-event-single__body img { height: auto; }
.plu-event-single__details { position: sticky; top: 110px; padding: 28px; border-top: 5px solid #fff200; background: #050505; color: #fff; }
.plu-event-single__details > div { display: grid; gap: 5px; padding: 22px 0; border-bottom: 1px solid rgba(255,255,255,.15); }
.plu-event-single__details small { color: #fff200; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.plu-event-single__details strong { font-size: 16px; }
.plu-event-single__details span { color: rgba(255,255,255,.6); font-size: 13px; }
.plu-event-single__details > a { display: flex; justify-content: space-between; margin-top: 24px; padding: 13px 16px; background: #fff200; color: #000; font-size: 11px; font-weight: 900; text-transform: uppercase; text-decoration: none; }
.plu-event-single__details > .plu-event-single__back { justify-content: center; margin-top: 10px; border: 1px solid rgba(255,255,255,.25); background: transparent; color: #fff; }
@media(max-width:1100px) {
  .plu-event-grid { grid-template-columns:1fr }
  .plu-events-hero__layout { gap:40px }
  .plu-event-single__layout { gap:40px }
}
@media(max-width:980px) {
  .plu-home-news__layout { grid-template-columns:1fr }
  .plu-home-news__selectors { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .plu-home-events { min-height:0 }
  .plu-home-events__list { display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) }
  .plu-home-events__list>a { grid-template-columns:48px minmax(0,1fr);align-items:start }
  .plu-home-events__list>a>i { display:none }
  .plu-home-events__empty { grid-column:1/-1;min-height:180px }
  .plu-events-hero__layout { grid-template-columns:1fr }
  .plu-events-hero aside { max-width:440px }
  .plu-event-single__layout { grid-template-columns:1fr }
  .plu-event-single__details { position:static }
}
@media(max-width:700px) {
  .plu-events-shell { width:calc(100% - 40px) }
  .plu-events-hero { padding:58px 0 }
  .plu-events-hero h1 { font-size:44px }
  .plu-events-hero__layout>div>p:last-child { font-size:16px }
  .plu-home-events__list { grid-template-columns:1fr }
  .plu-home-events__list>a { grid-template-columns:54px minmax(0,1fr) 18px;align-items:center }
  .plu-home-events__list>a>i { display:block }
  .plu-home-news__selectors { grid-template-columns:1fr }
  .plu-events-list { padding:48px 0 }
  .plu-events-section-title { align-items:flex-start;flex-direction:column }
  .plu-events-section-title h2 { font-size:32px }
  .plu-event-card { grid-template-columns:72px minmax(0,1fr) }
  .plu-event-card__media { grid-column:1/-1;min-height:210px }
  .plu-event-card__date { grid-column:1;padding-top:22px }
  .plu-event-card__copy { grid-column:2;padding:22px 18px }
  .plu-events-past__grid { grid-template-columns:1fr }
  .plu-event-single__hero { padding:62px 0 50px }
  .plu-event-single__hero.has-image { min-height:520px }
  .plu-event-single__hero h1 { font-size:40px }
  .plu-event-single__layout { padding-top:42px;padding-bottom:56px }
}
.plu-home-news__media img,
.plu-home-news__selectors img { object-position: var(--plu-news-focus-x,50%) var(--plu-news-focus-y,32%); }
@media (max-width: 760px) {
  /* The legacy theme's mobile baseline. These five global rules head its
     "Mobile experience" block; without them every inherited line box below
     760px was 6% short of the reference and long words could not break. */
  html, body { max-width: 100%; overflow-x: clip; }
  body { font-size: 16px; line-height: 1.6; }
  main, section, article, aside, div, form { min-width: 0; }
  h1, h2, h3, p, a, button, label, td, th { overflow-wrap: break-word; }
  input, select, textarea, button { max-width: 100%; }

  .plu-button, .plu-mini-button { min-height: 44px; }
  .plu-page-actions { gap: 10px; }
  .plu-page-actions > a { flex: 1 1 100%; width: 100%; }
  .plu-leadership-hero.plu-banner-media,
  .plu-structure-hero.plu-banner-media,
  .plu-about-hero.plu-banner-media,
  .plu-what-hero.plu-banner-media,
  .plu-officers-hero.plu-banner-media,
  .plu-contact-hero.plu-banner-media,
  .plu-tracker-hero.plu-banner-media,
  .plu-join-banner.plu-banner-media,
  .plu-page-hero.plu-banner-media { min-height: 0;
    padding-top: 240px;
    background: #050505; }
  .plu-leadership-hero.plu-banner-media::before,
  .plu-structure-hero.plu-banner-media::before,
  .plu-about-hero.plu-banner-media::before,
  .plu-what-hero.plu-banner-media::before,
  .plu-officers-hero.plu-banner-media::before,
  .plu-contact-hero.plu-banner-media::before,
  .plu-tracker-hero.plu-banner-media::before,
  .plu-join-banner.plu-banner-media::before,
  .plu-page-hero.plu-banner-media::before,
  .plu-leadership-hero.plu-banner-media::after,
  .plu-structure-hero.plu-banner-media::after,
  .plu-about-hero.plu-banner-media::after,
  .plu-what-hero.plu-banner-media::after,
  .plu-officers-hero.plu-banner-media::after,
  .plu-contact-hero.plu-banner-media::after,
  .plu-tracker-hero.plu-banner-media::after,
  .plu-join-banner.plu-banner-media::after,
  .plu-page-hero.plu-banner-media::after { top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    height: 240px;
    transform: none; }
  .plu-leadership-hero.plu-banner-media::after,
  .plu-structure-hero.plu-banner-media::after,
  .plu-about-hero.plu-banner-media::after,
  .plu-what-hero.plu-banner-media::after,
  .plu-officers-hero.plu-banner-media::after,
  .plu-contact-hero.plu-banner-media::after,
  .plu-tracker-hero.plu-banner-media::after,
  .plu-join-banner.plu-banner-media::after,
  .plu-page-hero.plu-banner-media::after { background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.22)); }
  .plu-leadership-hero__inner,
  .plu-structure-hero__inner,
  .plu-about-hero__inner,
  .plu-what-hero__inner,
  .plu-contact-hero__inner,
  .plu-tracker-hero__inner { min-height: 0;
    padding: 28px 20px 32px;
    background: #050505; }
  .plu-leadership-hero h1,
  .plu-structure-hero h1,
  .plu-about-hero h1,
  .plu-what-hero h1,
  .plu-officers-hero h1,
  .plu-contact-hero h1,
  .plu-tracker-hero h1,
  .plu-page-hero h1 { font-size: 36px; line-height: 1.08; }
  .plu-leadership-hero aside,
  .plu-about-hero aside,
  .plu-what-hero aside,
  .plu-contact-hero aside { margin-top: 22px; padding: 20px 0 0; border-top: 1px solid rgba(255,255,255,.18); border-left: 0; }
  .plu-join-banner.plu-banner-media > div,
  .plu-page-hero.plu-banner-media > div { padding: 28px 20px 32px; background: #050505; }
  .home .plu-slider { height: 640px; background: #050505; }
  .home .plu-slider--member-count { height: 760px; }
  .home .plu-slide > img { top: 0; height: 310px; object-fit: cover; }
  .home .plu-slide__shade,
  .home .plu-slide--text-right .plu-slide__shade,
  .home .plu-slide--text-bottom-right .plu-slide__shade,
  .home .plu-slide--text-bottom-left .plu-slide__shade,
  .home .plu-slide--text-center .plu-slide__shade { top: 0;
    bottom: auto;
    height: 310px;
    background: linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.34)); }
  .home .plu-slide__content,
  .home .plu-slide--text-right .plu-slide__content,
  .home .plu-slide--text-bottom-right .plu-slide__content,
  .home .plu-slide--text-bottom-left .plu-slide__content,
  .home .plu-slide--text-center .plu-slide__content { top: 330px;
    right: 20px;
    bottom: auto;
    left: 20px;
    width: auto;
    max-width: calc(100vw - 40px);
    overflow: hidden;
    text-align: left;
    transform: none; }
  .home .plu-slide--text-center .plu-hero-rule,
  .home .plu-slide--text-center p:not(.plu-eyebrow) { margin-right: 0; margin-left: 0; }
  .home .plu-slide--text-center .plu-slide__actions { justify-content: flex-start; }
  .home .plu-slide h1,
  .home .plu-slide h2 { max-width: 100%; font-size: clamp(29px, 8.5vw, 34px); line-height: 1.08; overflow-wrap: break-word; }
  .home .plu-slide p:not(.plu-eyebrow) { max-width: none; font-size: 14px; line-height: 1.5; -webkit-line-clamp: 2; }
  .home .plu-slide-member-rail { min-height: 122px; }
  .home .plu-slide-member-rail__inner { min-height: 118px; grid-template-columns: minmax(0,1.35fr) minmax(118px,.65fr); grid-template-rows: 1fr 1fr; }
  .home .plu-slide-member-rail__lead { grid-row: 1 / 3; grid-template-columns: 1fr; grid-template-rows: auto auto auto; column-gap: 0; padding: 14px 16px 17px 20px; }
  .home .plu-slide-member-rail__lead > small { grid-column: 1; grid-row: 1; }
  .home .plu-slide-member-rail__lead > strong { grid-column: 1; grid-row: 2; min-width: 0; margin-top: 5px; font-size: 36px; text-align: left; }
  .home .plu-slide-member-rail__lead > span { grid-column: 1; grid-row: 3; margin-top: 4px; font-size: 9px; }
  .home .plu-slide-member-rail__stat { gap: 1px; padding: 9px 13px; border-right: 0; border-bottom: 1px solid rgba(0,0,0,.12); }
  .home .plu-slide-member-rail__stat strong { font-size: 21px; }
  .home .plu-slide-member-rail__stat small { font-size: 8px; }
  .home .plu-slide-member-rail__stat--diaspora { display: none; }
  .home .plu-slide-member-rail__action { gap: 2px; padding: 8px 13px 11px; }
  .home .plu-slide-member-rail__action small { font-size: 8px; }
  .home .plu-slide-member-rail__action strong { gap: 7px; font-size: 12px; }
  .home .plu-slide-member-rail__action i { width: 22px; height: 22px; font-size: 13px; }
  .home .plu-slide__actions { margin-top: 18px; }
  .home .plu-slider__count { bottom: 143px; left: 20px; }
  .home .plu-slider__controls { right: 14px; bottom: 135px; }
  .home .plu-top-row,
  .home .plu-gs-row,
  .home .plu-membership-row,
  .home .plu-programmes-section { padding-right: 16px; padding-left: 16px; }
  .home .plu-chairman-card .plu-person-photo,
  .home .plu-gs-photo { height: 310px; min-height: 0; }
  .home .plu-gs-photo img { height: 100%; max-width: 100%; object-position: 50% 92%; transform: none; }
  .home .plu-person-copy,
  .home .plu-gs-message { padding: 26px 22px; }
  .home .plu-home-news__inner { width: calc(100% - 32px); }
  .home .plu-home-news__media { min-height: 225px; }
  .home .plu-home-news__content h3 { font-size: 24px; }
  .plu-leadership-content { padding: 34px 16px 64px; }
  .plu-featured-leader .plu-leader-photo { height: 340px; }
  .plu-leader-card .plu-leader-photo { height: 300px; }
  .plu-featured-leader .plu-leader-photo img,
  .plu-leader-card .plu-leader-photo img { object-fit: contain;
    object-position: var(--plu-leader-focus-x, 50%) var(--plu-leader-focus-y, 50%); }
  .plu-leader-card .plu-leader-card__content { padding: 20px; }
  .plu-leader-card h3 { font-size: 20px; }
  .plu-leader-card p:not(.plu-eyebrow) { font-size: 14px; line-height: 1.65; }
  .plu-form, .plu-designed-content { padding: 20px 16px; }
  .plu-structure-jumpbar__inner { padding: 0; grid-template-columns: 1fr; }
  .plu-structure-jumpbar__inner > p { display: none; }
  .plu-structure-jumpbar__inner > div { padding: 0 12px; scroll-snap-type: x proximity; }
  .plu-structure-jump { scroll-snap-align: start; }
  .plu-structure-explore__inner, .plu-roles-layout, .plu-groups-layout, .plu-coordination-panel { padding-right: 18px; padding-left: 18px; }
  .plu-contact-content { padding: 40px 16px 64px; }
  .plu-contact-form-panel > div, .plu-contact-cards article { padding: 22px 18px; }
  .plu-contact-information > header h2, .plu-contact-form-panel h2 { font-size: 30px; }
  .plu-news-container, .plu-events-shell, .plu-tracker-container { width: calc(100% - 32px); }
  .plu-news-feature { min-height: 0; }
  .plu-news-feature__content { padding: 22px 18px; }
  .plu-news-feature h2 { font-size: 30px; }
  .plu-news-article-hero h1, .plu-event-single__hero h1 { font-size: 34px; }
  .plu-event-card { grid-template-columns: 66px minmax(0,1fr); }
  .plu-event-card__copy { padding: 20px 16px; }
}
@media (max-width: 360px) {
  .home .plu-slide h1, .home .plu-slide h2 { font-size: 31px; }
  .plu-leadership-hero h1, .plu-structure-hero h1, .plu-about-hero h1, .plu-what-hero h1,
  .plu-officers-hero h1, .plu-contact-hero h1, .plu-tracker-hero h1, .plu-page-hero h1 { font-size: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  .plu-slide, .plu-slide > img, [data-plu-reveal], .plu-home-news__media img { transition: none !important; animation: none !important; transform: none !important; }
}
.single-plu_news .plu-news-article { background:#f2f3ef; }
.single-plu_news .plu-news-article-hero { height:480px; min-height:0; background:#161616; }
.single-plu_news .plu-news-article-hero > img { object-position:var(--plu-news-focus-x,50%) var(--plu-news-focus-y,32%); }
.single-plu_news .plu-news-article-intro { padding:38px 0 40px; border-bottom:4px solid #fff200; }
.single-plu_news .plu-news-article-intro::before { display:none; }
.single-plu_news .plu-news-article-hero__content { width:calc(100% - 64px); max-width:1120px; }
.single-plu_news .plu-news-article-back { margin-bottom:20px; }
.single-plu_news .plu-news-article-hero h1 { max-width:980px; margin:0 0 16px; font-size:50px; line-height:1.06; }
.single-plu_news .plu-news-article-deck { max-width:820px; font-size:18px; }
.single-plu_news .plu-news-article-meta { gap:18px 42px; }
.single-plu_news .plu-news-article-meta span,
.single-plu_news .plu-news-article-meta time { display:flex; flex-direction:column; gap:4px; font-size:12px; }
.single-plu_news .plu-news-article-meta small { color:rgba(255,255,255,.52); font-size:9px; font-weight:900; text-transform:uppercase; }
.single-plu_news .plu-news-article-meta span + time::before { left:-22px; height:27px; }
.single-plu_news .plu-news-story-stage { padding:58px 0 72px; background:#f2f3ef; }
.single-plu_news .plu-news-story-layout { width:calc(100% - 64px); max-width:1120px; display:grid; grid-template-columns:210px minmax(0,1fr); align-items:start; gap:58px; padding:54px 56px 70px; background:#fff; box-shadow:0 18px 48px rgba(20,24,22,.07); }
.single-plu_news .plu-news-article-rail { position:sticky; top:104px; min-width:0; padding-top:18px; border-top:5px solid #fff200; }
.single-plu_news .plu-news-article-rail > p { margin:0; color:#b3161c; font-size:9px; font-weight:900; text-transform:uppercase; }
.single-plu_news .plu-news-article-rail dl { display:grid; gap:0; margin:18px 0 0; }
.single-plu_news .plu-news-article-rail dl > div { padding:14px 0; border-top:1px solid #deded8; }
.single-plu_news .plu-news-article-rail dt { color:#757575; font-size:9px; font-weight:900; text-transform:uppercase; }
.single-plu_news .plu-news-article-rail dd { margin:5px 0 0; overflow-wrap:anywhere; font-size:12px; font-weight:800; line-height:1.45; }
.single-plu_news .plu-news-article-rail nav { display:flex; flex-wrap:wrap; gap:7px; margin-top:20px; padding-top:17px; border-top:1px solid #deded8; }
.single-plu_news .plu-news-article-rail nav > span { width:100%; margin-bottom:2px; color:#757575; font-size:9px; font-weight:900; text-transform:uppercase; }
.single-plu_news .plu-news-article-rail nav a { min-height:30px; display:inline-flex; align-items:center; padding:0 9px; border:1px solid #cfcfca; color:#111; font-size:9px; font-weight:900; text-decoration:none; }
.single-plu_news .plu-news-article-rail nav a:hover { border-color:#111; background:#111; color:#fff; }
.single-plu_news .plu-news-article-rail__back { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:24px; padding-top:16px; border-top:1px solid #deded8; color:#111; font-size:10px; font-weight:900; text-decoration:none; text-transform:uppercase; }
.single-plu_news .plu-news-article-body { width:auto; max-width:790px; margin:0; padding:0; background:transparent; box-shadow:none; color:#252825; font-family:'Geist PLU',Arial,Helvetica,sans-serif; font-size:17px; line-height:1.78; }
.single-plu_news .plu-news-article-body > p:first-of-type { color:#151715; font-size:20px; font-weight:560; line-height:1.65; }
.single-plu_news .plu-news-article-body p { margin:0 0 1.35em; }
.single-plu_news .plu-news-article-body p:empty { display:none; }
.single-plu_news .plu-news-article-body h2 { font-size:29px; }
.single-plu_news .plu-news-article-body h3 { font-size:23px; }
.single-plu_news .plu-news-article-body blockquote { margin:2em 0; padding:26px 28px 26px 32px; font-size:21px; }
.single-plu_news .plu-news-article-body img,
.single-plu_news .plu-news-article-body figure,
.single-plu_news .plu-news-article-body .wp-caption { width:100% !important; max-width:100% !important; }
.single-plu_news .plu-news-article-body img { margin:30px 0; }
.single-plu_news .plu-news-article-body figure,
.single-plu_news .plu-news-article-body .wp-caption { margin:34px 0; }
.single-plu_news .plu-news-article-body figure img,
.single-plu_news .plu-news-article-body .wp-caption img { width:100%; margin:0; }
.single-plu_news .plu-news-article-body figcaption,
.single-plu_news .plu-news-article-body .wp-caption-text { padding:10px 0 0; font-size:11px; }
.single-plu_news .plu-news-related { padding:58px 0 72px; }
.single-plu_news .plu-news-related > .plu-news-container { max-width:1120px; }
.single-plu_news .plu-news-related header { margin-bottom:28px; padding-bottom:18px; border-bottom:1px solid #dadad5; }
.single-plu_news .plu-news-related header h2 { font-size:32px; }
.single-plu_news .plu-news-related header > a { display:inline-flex; align-items:center; gap:8px; color:#111; font-size:10px; font-weight:900; text-decoration:none; text-transform:uppercase; }
.single-plu_news .plu-news-related .plu-news-card__image { aspect-ratio:16/9; }
.single-plu_news .plu-news-related .plu-news-card h3 { font-size:17px; }
@media (max-width:980px) {
  .single-plu_news .plu-news-article-hero { height:400px; }
  .single-plu_news .plu-news-article-hero h1 { font-size:43px; }
  .single-plu_news .plu-news-story-layout { grid-template-columns:1fr; gap:34px; padding:42px 44px 58px; }
  .single-plu_news .plu-news-article-rail { position:static; display:grid; grid-template-columns:auto minmax(0,1fr); gap:16px 30px; padding-top:15px; }
  .single-plu_news .plu-news-article-rail > p { grid-column:1 / -1; }
  .single-plu_news .plu-news-article-rail dl { grid-column:1; grid-row:2; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:0; }
  .single-plu_news .plu-news-article-rail dl > div { padding:0; border-top:0; }
  .single-plu_news .plu-news-article-rail nav { grid-column:2; grid-row:2; align-content:start; margin:0; padding:0 0 0 24px; border-top:0; border-left:1px solid #ddd; }
  .single-plu_news .plu-news-article-rail__back { display:none; }
  .single-plu_news .plu-news-article-body { max-width:none; }
}
@media (max-width:700px) {
  .single-plu_news .plu-news-article-hero { height:260px; }
  .single-plu_news .plu-news-article-intro { padding:28px 0 30px; }
  .single-plu_news .plu-news-article-hero__content { width:calc(100% - 32px); }
  .single-plu_news .plu-news-article-back { margin-bottom:16px; }
  .single-plu_news .plu-news-article-hero__content > .plu-news-article-category { margin-bottom:12px; }
  .single-plu_news .plu-news-article-hero h1 { font-size:32px; line-height:1.1; }
  .single-plu_news .plu-news-article-deck { font-size:16px; }
  .single-plu_news .plu-news-article-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px 22px; }
  .single-plu_news .plu-news-article-meta span + time::before { display:none; }
  .single-plu_news .plu-news-story-stage { padding:0 0 42px; }
  .single-plu_news .plu-news-story-layout { width:100%; display:block; padding:0; box-shadow:none; }
  .single-plu_news .plu-news-article-rail { display:grid; grid-template-columns:1fr; gap:12px; padding:18px 20px; border-top:0; border-bottom:1px solid #e0d500; background:#fffbd0; }
  .single-plu_news .plu-news-article-rail > p { display:none; }
  .single-plu_news .plu-news-article-rail dl { grid-column:1; grid-row:auto; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .single-plu_news .plu-news-article-rail dl > div:first-child { display:none; }
  .single-plu_news .plu-news-article-rail nav { grid-column:1; grid-row:auto; padding:12px 0 0; border-top:1px solid rgba(0,0,0,.12); border-left:0; }
  .single-plu_news .plu-news-article-body { width:100%; margin:0; padding:34px 20px 48px; font-size:16px; line-height:1.72; }
  .single-plu_news .plu-news-article-body > p:first-of-type { font-size:18px; line-height:1.6; }
  .single-plu_news .plu-news-article-body h2 { font-size:25px; }
  .single-plu_news .plu-news-article-body h3 { font-size:21px; }
  .single-plu_news .plu-news-article-body img { margin:26px 0; }
  .single-plu_news .plu-news-article-body figure,
  .single-plu_news .plu-news-article-body .wp-caption { margin:28px 0; }
  .single-plu_news .plu-news-related { padding:42px 0 52px; }
  .single-plu_news .plu-news-related header { align-items:flex-start; }
  .single-plu_news .plu-news-related header h2 { font-size:28px; }
}
@media (max-width:760px) {
  .home .plu-slider { height:704px; }
  .home .plu-slider--member-count { height:760px; }
  .home .plu-slide > img { height:276px; }
  .home .plu-slide__shade,
  .home .plu-slide--text-right .plu-slide__shade,
  .home .plu-slide--text-bottom-right .plu-slide__shade,
  .home .plu-slide--text-bottom-left .plu-slide__shade,
  .home .plu-slide--text-center .plu-slide__shade { height:276px;
    background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.28)); }
  .home .plu-slide__content,
  .home .plu-slide--text-right .plu-slide__content,
  .home .plu-slide--text-bottom-right .plu-slide__content,
  .home .plu-slide--text-bottom-left .plu-slide__content,
  .home .plu-slide--text-center .plu-slide__content { top:352px;
    right:20px;
    left:20px;
    max-width:calc(100vw - 40px); }
  .home .plu-slide h1,
  .home .plu-slide h2 { font-size:clamp(28px,8vw,32px); line-height:1.06; }
  .home .plu-slide p:not(.plu-eyebrow) { margin-top:12px; -webkit-line-clamp:2; }
  .home .plu-slide__actions { gap:12px; margin-top:14px; }
  .home .plu-slide__secondary { padding:9px 0; }
  .home .plu-slider__count { top:299px; bottom:auto; left:20px; }
  .home .plu-slider__controls { top:288px; right:14px; bottom:auto; }
  .home .plu-slide-member-rail { min-height:150px; }
  .home .plu-slide-member-rail__inner { min-height:146px;
    grid-template-columns:minmax(0,1fr) 134px;
    grid-template-rows:1fr 1fr; }
  .home .plu-slide-member-rail__lead { padding:16px 15px 18px 20px; }
  .home .plu-slide-member-rail__lead > strong { margin-top:5px; font-size:38px; }
  .home .plu-slide-member-rail__lead > span { font-size:9px; }
  .home .plu-slide-member-rail__stat { gap:3px; padding:10px 13px; }
  .home .plu-slide-member-rail__stat strong { font-size:24px; }
  .home .plu-slide-member-rail__stat small { font-size:9px; line-height:1.2; }
  .home .plu-slide-member-rail__action { gap:4px; padding:10px 13px 12px; }
  .home .plu-slide-member-rail__action small { font-size:9px; }
  .home .plu-slide-member-rail__action strong { gap:7px; font-size:13px; }
  .home .plu-slide-member-rail__action i { width:23px; height:23px; font-size:13px; }
  .home .plu-slide--has-member-rail .plu-slide__content { max-height:238px; overflow:hidden; }
}
@media (max-width:760px) {
  .home .plu-slider--member-count { height:740px; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__inner { min-height:128px; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(88px,.8fr) minmax(118px,.95fr); }
  .home .plu-slide-member-rail.plu-slide-endorsement-rail { min-height:132px; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__lead,
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__stat,
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__action { min-width:0; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__lead { padding:12px 10px 12px 16px; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__lead > strong { font-size:29px; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__lead > small,
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__lead > span,
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__stat small { overflow-wrap:anywhere; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__stat { padding:12px 9px; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__stat strong { font-size:23px; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__action { padding:12px 9px; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__action strong { font-size:10px; }
}
@media (max-width:380px) {
  .home .plu-slider--member-count { height:728px; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__inner { grid-template-columns:minmax(0,1.1fr) minmax(78px,.72fr) minmax(105px,.88fr); }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__lead > strong { font-size:26px; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__action strong { font-size:9px; }
}
@media (max-width:380px) {
  .home .plu-slider--member-count { height:748px; }
  .home .plu-slide__content,
  .home .plu-slide--text-right .plu-slide__content,
  .home .plu-slide--text-bottom-right .plu-slide__content,
  .home .plu-slide--text-bottom-left .plu-slide__content,
  .home .plu-slide--text-center .plu-slide__content { top:344px; }
  .home .plu-slide p:not(.plu-eyebrow) { -webkit-line-clamp:1; }
  .home .plu-slide-member-rail { min-height:142px; }
  .home .plu-slide-member-rail__inner { min-height:138px; grid-template-columns:minmax(0,1fr) 124px; }
  .home .plu-slide-member-rail__lead > strong { font-size:35px; }
}
.plu-banner-media h1,
.plu-banner-media h2 { color:#fff; }
.plu-banner-media p:not(.plu-eyebrow):not(.plu-tracker-eyebrow) { color:rgba(255,255,255,.86);
  text-shadow:none; }
@media (max-width:980px) {
  .plu-membership-hero.has-panel-photo .plu-button--ghost-dark { border-color:#050505;
    background:#fff;
    color:#050505; }
}
@media (max-width:760px) {
  .plu-page-actions > a,
  .plu-news-cta a,
  .plu-home-news__actions > a { min-height:44px; }
  .plu-contact-form-panel input,
  .plu-contact-form-panel textarea,
  .plu-contact-form-panel select { color:#050505; background:#fff; }
}
@media (max-width:760px) {
  .home .plu-slider--member-count { height:740px; }
  .home .plu-slide-member-rail.plu-slide-endorsement-rail { min-height:132px; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__inner { min-height:128px;
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(88px,.8fr) minmax(118px,.95fr); }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__lead,
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__stat,
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__action { min-width:0; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__lead { padding:12px 10px 12px 16px; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__lead > strong { font-size:29px; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__lead > small,
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__lead > span,
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__stat small { overflow-wrap:anywhere; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__stat { padding:12px 9px; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__stat strong { font-size:23px; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__action { padding:12px 9px; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__action strong { font-size:10px; }
}
@media (max-width:380px) {
  .home .plu-slider--member-count { height:728px; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__inner { grid-template-columns:minmax(0,1.1fr) minmax(78px,.72fr) minmax(105px,.88fr); }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__lead > strong { font-size:26px; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__action strong { font-size:9px; }
}
@media (max-width:760px) {
  .home .plu-slider--member-count { height:710px; }
  .home .plu-slider--member-count,
  .home .plu-slide,
  .home .plu-slide-member-rail.plu-slide-endorsement-rail,
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__inner { width:100%; max-width:100vw; }
  .home .plu-slide-member-rail.plu-slide-endorsement-rail { display:block; min-height:118px; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__inner { min-height:114px; display:flex; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__lead,
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__stat,
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__action { flex:1 1 0; min-width:0; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__lead { grid-row:auto; padding:13px 10px 13px 16px; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__lead > small { font-size:8px; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__lead > strong { margin-top:4px; font-size:31px; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__lead > span { font-size:8px; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__stat { padding:13px 11px; border-bottom:0; border-right:1px solid rgba(0,0,0,.12); }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__stat strong { font-size:25px; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__stat small { font-size:8px; line-height:1.25; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__stat--diaspora { display:none; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__action { padding:13px 10px; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__action small { display:none; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__action strong { justify-content:center; gap:6px; font-size:11px; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__action i { width:22px; height:22px; font-size:12px; }
  .home .plu-slide--has-member-rail .plu-slide__content { top:328px;
    right:16px;
    left:16px;
    width:auto;
    max-width:calc(100vw - 32px);
    max-height:none;
    overflow:visible; }
  .home .plu-slide h1,
  .home .plu-slide h2 { max-width:310px; font-size:30px; line-height:1.06; overflow-wrap:anywhere; }
  .home .plu-slide p:not(.plu-eyebrow) { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; font-size:13px; line-height:1.46; }
  .home .plu-slide__actions { flex-wrap:wrap; gap:10px; margin-top:16px; }
  .home .plu-slide__actions .plu-button { min-height:42px; padding:0 13px; font-size:10px; }
  .home .plu-slide__secondary { padding:10px 0; font-size:10px; }
  .home .plu-slider__controls { top:276px; right:10px; bottom:auto; }
}
@media (max-width:760px) {
  .home .plu-slider--member-count { height:740px !important; }
  .home .plu-slide-member-rail.plu-slide-endorsement-rail { min-height:132px !important; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__inner { min-height:128px !important; display:grid !important; grid-template-columns:minmax(0,1.2fr) minmax(88px,.8fr) minmax(118px,.95fr) !important; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__lead,
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__stat,
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__action { min-width:0; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__lead > small,
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__lead > span,
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__stat small { overflow-wrap:anywhere; }
}
@media (max-width:380px) {
  .home .plu-slider--member-count { height:728px !important; }
  .home .plu-slide-endorsement-rail .plu-slide-member-rail__inner { grid-template-columns:minmax(0,1.1fr) minmax(78px,.72fr) minmax(105px,.88fr) !important; }
}


/* Residency toggle --------------------------------------------------------
   Two tabs, as on the WordPress form: choosing one swaps the location fields
   between an official Ugandan district and a free-text country. */
.plu-residency { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--plu-black); margin-bottom: 0; }
.plu-residency input { position: absolute; opacity: 0; pointer-events: none; }
.plu-residency label {
  display: block; text-align: center; padding: 15px 12px; cursor: pointer;
  font-weight: 800; letter-spacing: .08em; text-transform: uppercase; font-size: 13.5px;
  background: #fff; color: var(--plu-black); user-select: none;
}
.plu-residency label + label { border-left: 1px solid var(--plu-black); }
.plu-residency input:checked + label { background: var(--plu-black); color: var(--plu-yellow); }
.plu-residency input:focus-visible + label { outline: 3px solid var(--plu-yellow); outline-offset: -3px; }
[data-residency-panel][hidden] { display: none; }














