/* ==========================================================================
   Voices from Ukraine, inner pages (theme 7.0)

   Everything here is scoped to .vp, the <main> of every page except the front page (which has css/home.css).
   Colours come only from the tokens in style.css ("6.12 TOKENS"); change a token there and the whole site follows.

   Sizes use container units (cqw): .vp is a size container, so type and spacing follow the width of the page
   content, not of the browser window. The two @container blocks near the end of the base part are the tablet
   (900px) and phone (720px) layouts.

   Order of this file: 1 base (type, layout, buttons, rows, forms, prose), 2 page head and closing band,
   3 pages, one block each.
   ========================================================================== */

/* ---------- 1. BASE ---------- */

.vp{
  --vh-pa-bg:var(--v-paper);--vh-pa-bar:var(--v-navy);
  --vh-pb-bg:var(--v-fog);--vh-pb-bar:var(--v-gold-deep);
  --vh-pc-bg:var(--v-navy);--vh-pc-bar:var(--v-gold);
  --vh-ph-strip:var(--v-gold);--vh-ph-filter:none;
  --vp-gap:clamp(14px,1.8cqw,28px);
  container-type:inline-size;container-name:vp;
  display:block;position:relative;width:100%;
  background:var(--v-bg);color:var(--v-ink);
  font-family:var(--font-body);font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.vp section[id],.vp [id].vp-anchor{scroll-margin-top:96px}

/* The theme's global rules (heading margins, h1 size, list markers) must not leak into the pages. */
.vp :where(h1,h2,h3,h4){font:inherit;letter-spacing:normal;margin:0}
.vp :where(p,figure,ul,ol,li,dl,dd,blockquote){margin:0;padding:0}
.vp :where(ul,ol){list-style:none}
.vp :where(button){font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;text-align:left}
.vp :where(svg){display:block;flex:none}
.vp :where(input,select,textarea){font:inherit;color:inherit}
.vp :focus-visible{outline:3px solid var(--v-focus);outline-offset:3px}
.vp .screen-reader-text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.vp-w{width:100%;max-width:1360px;margin:0 auto;padding-inline:clamp(18px,4.4cqw,64px)}
.vp-narrow{max-width:min(100%,50rem)}
.vp-sec{padding-block:clamp(56px,7cqw,112px)}
.vp-sec--paper{background:var(--v-paper)}
.vp-sec--navy{background:var(--v-navy);color:var(--v-white);--v-focus:var(--v-white)}
.vp-sec--top0{padding-top:0}
.vp-sec--bot0{padding-bottom:0}
.vp-clip{overflow-x:clip}

/* type */
.vp-h1,.vp-h2,.vp-h3,.vp-h4{font-family:var(--font-head);color:var(--v-navy)}
.vp-h1{font-weight:800;letter-spacing:-.04em;line-height:1;font-size:clamp(34px,4.3cqw,72px)}
.vp-h1--doc{font-size:clamp(30px,4.2cqw,66px);line-height:1.04;letter-spacing:-.035em;text-wrap:balance;max-width:20em}
.vp-h2{font-weight:800;letter-spacing:-.035em;line-height:1.04;font-size:clamp(30px,3.6cqw,56px);text-wrap:balance}
.vp-h3{font-weight:700;letter-spacing:-.025em;line-height:1.12;font-size:clamp(21px,2.1cqw,32px);text-wrap:balance}
.vp-h4{font-weight:700;letter-spacing:-.015em;line-height:1.2;font-size:clamp(18px,1.5cqw,22px)}
.vp-lead{font-size:clamp(17px,1.35cqw,20px);line-height:1.6;max-width:34em;text-wrap:pretty}
.vp-muted{color:var(--v-muted)}
.vp-small{font-size:14px;line-height:1.5}
.vp-b{display:block;overflow:hidden;padding:.12em 0 .16em;margin:-.12em 0 -.16em}
.vp-b>span{display:block;text-wrap:balance}
.vp-nw{white-space:nowrap}
.vp-sec--navy :is(.vp-h1,.vp-h2,.vp-h3,.vp-h4){color:var(--v-white)}
.vp-sec--navy .vp-lead,.vp-sec--navy .vp-muted{color:var(--v-on-navy-sub)}

/* buttons and links */
.vp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border:0;border-radius:999px;font-family:var(--font-head);font-weight:700;font-size:16px;line-height:1;letter-spacing:-.005em;text-align:center;cursor:pointer;transition:transform .18s ease,background-color .18s ease,color .18s ease}
.vp-btn:active{transform:scale(.97)}
.vp-btn--gold{background:var(--v-gold);color:var(--v-on-gold)}
.vp-btn--gold:hover{background:var(--v-gold-hover)}
.vp-btn--navy{background:var(--v-navy);color:var(--v-gold-soft)}
.vp-btn--navy:hover{background:var(--v-navy-hover)}
.vp-btn--ring{background:transparent;box-shadow:inset 0 0 0 2px var(--v-navy);color:var(--v-navy)}
.vp-btn--ring:hover{background:var(--v-navy-tint)}
.vp-sec--navy .vp-btn--ring,.vp-cta .vp-btn--ring{box-shadow:inset 0 0 0 2px var(--v-white);color:var(--v-white)}
.vp-sec--navy .vp-btn--ring:hover,.vp-cta .vp-btn--ring:hover{background:var(--v-night-rule)}
.vp-btn--lg{min-height:56px;padding:0 32px;font-size:17px}
.vp-btn--block{display:flex;width:100%}
.vp-btn:disabled,.vp-btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed;transform:none}
.vp-tlink{display:inline-flex;align-items:center;min-height:44px;font-family:var(--font-head);font-weight:700;font-size:17px;letter-spacing:-.01em;line-height:1.2;border-bottom:2px solid currentColor;color:var(--v-navy);align-self:center}
.vp-tlink:hover{color:var(--v-gold-text)}
.vp-sec--navy .vp-tlink,.vp-cta .vp-tlink{color:var(--v-white)}
.vp-sec--navy .vp-tlink:hover,.vp-cta .vp-tlink:hover{color:var(--v-gold-soft)}
.vp-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.vp-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 12px;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--v-muted);font-weight:600;font-size:13px;color:var(--v-muted);white-space:nowrap}
.vp-chip--accent{color:var(--v-gold-text);box-shadow:inset 0 0 0 1.5px var(--v-gold-text)}
.vp-chip--solid{background:var(--v-navy);box-shadow:none;color:var(--v-white)}
.vp-stretch{color:inherit}
.vp-stretch::after{content:"";position:absolute;inset:0;z-index:2}
.vp .vp-stretch:focus-visible{outline:0}
.vp .vp-stretch:focus-visible::after{outline:3px solid var(--v-focus);outline-offset:3px}

/* page head */
.vp-head{position:relative;padding-top:clamp(32px,4.4cqw,72px);background:var(--v-bg)}
.vp-head .vp-h1 .vp-b2{margin-left:clamp(0px,7cqw,128px);margin-top:.22em}
.vp-head .vp-b1>span{animation:vp-up 1s var(--v-ease) .08s both}
.vp-head .vp-b2>span{animation:vp-up 1s var(--v-ease) .2s both}
.vp-head-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.vp-head-row{display:flex;align-items:flex-end;justify-content:flex-start;gap:20px clamp(28px,4cqw,64px);flex-wrap:wrap;margin:clamp(18px,2cqw,30px) 0 0 clamp(0px,7cqw,128px);animation:vp-fade 1s ease .45s both}
.vp-head-row .vp-lead{color:var(--v-ink);max-width:32em}
.vp-head--doc{padding-bottom:clamp(28px,3.4cqw,56px)}
.vp-head--doc .vp-head-row{margin-left:0}
.vp-head--doc .vp-h1{animation:vp-fade .8s ease both}
.vp-bars{--vc:var(--v-navy);display:flex;align-items:flex-end;gap:clamp(2px,.4cqw,6px);height:clamp(40px,5.2cqw,88px);margin-top:clamp(28px,3.6cqw,60px);border-bottom:1px solid var(--v-navy)}
.vp-bars>i{flex:1 1 0;min-width:1px;height:calc(var(--h)*100%);background:var(--vc);border-radius:2px 2px 0 0;transform-origin:50% 100%;animation:vp-rise 1s var(--v-ease) calc(var(--i)*9ms + .15s) both}
@keyframes vp-up{from{transform:translateY(108%)}to{transform:none}}
@keyframes vp-fade{from{opacity:0}to{opacity:1}}
@keyframes vp-rise{from{transform:scaleY(0)}to{transform:scaleY(1)}}

/* section head */
.vp-sec-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--vp-gap);row-gap:16px;align-items:end;margin-bottom:clamp(28px,3.4cqw,56px)}
.vp-sec-head .vp-h2{grid-column:1/8}
.vp-sec-side{grid-column:8/13;display:grid;gap:14px;justify-items:start}
.vp-sec-side .vp-lead{color:var(--v-muted)}
.vp-sec--navy .vp-sec-side .vp-lead{color:var(--v-on-navy-sub)}

/* breadcrumbs */
.vp-crumbs{margin-bottom:clamp(16px,2cqw,28px)}
.vp-crumbs ol{display:flex;flex-wrap:wrap;gap:2px 0;font-size:15px;font-weight:600}
.vp-crumbs li{display:inline-flex;align-items:center}
.vp-crumbs li+li::before{content:"/";margin:0 10px;color:var(--v-muted)}
.vp-crumbs a{display:inline-flex;align-items:center;min-height:44px;color:var(--v-navy);border-bottom:2px solid transparent}
.vp-crumbs a:hover{border-bottom-color:currentColor}
.vp-crumbs [aria-current]{color:var(--v-muted)}

/* columns with a rule on top */
.vp-cols{--cols:3;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:clamp(20px,3cqw,48px)}
.vp-cols--2{--cols:2}
.vp-cols--4{--cols:4}
.vp-col{display:grid;align-content:start;gap:12px;border-top:1px solid var(--v-rule);padding-top:18px;position:relative}
.vp-col p{color:var(--v-muted);max-width:26em;text-wrap:pretty}
.vp-sec--navy .vp-col{border-top-color:var(--v-on-navy-rule)}
.vp-sec--navy .vp-col p{color:var(--v-on-navy-sub)}

/* list rows: the hover wipe of the front page */
.vp-rows{border-top:1px solid var(--v-rule)}
.vp-row{--r-t:var(--v-navy);--r-m:var(--v-muted);--r-n:var(--v-muted);--r-s:var(--v-gold-text);
  position:relative;isolation:isolate;display:grid;grid-template-columns:clamp(130px,22cqw,320px) minmax(0,1fr) auto;align-items:center;gap:clamp(12px,2cqw,32px);padding-block:clamp(20px,2.3cqw,34px);border-bottom:1px solid var(--v-rule)}
.vp-row::before{content:"";position:absolute;z-index:-1;top:-1px;bottom:-1px;left:calc(50% - 50cqw);width:100cqw;background:var(--v-navy);transform:scaleY(0);transform-origin:50% 100%;transition:transform .5s var(--v-ease)}
.vp-row:hover::before,.vp-row:focus-within::before{transform:scaleY(1)}
.vp-row:hover,.vp-row:focus-within{--r-t:var(--v-white);--r-m:var(--v-night-soft);--r-n:var(--v-night-soft);--r-s:var(--v-gold-soft);z-index:5}
.vp-row-lead{display:grid;gap:4px;align-content:center}
.vp-row-lead-t{font-family:var(--font-head);font-weight:800;font-size:clamp(18px,1.6cqw,25px);line-height:1.1;letter-spacing:-.03em;color:var(--r-t);transition:color .3s}
.vp-row-lead-n{font-weight:600;font-size:clamp(14px,1.1cqw,16px);line-height:1.35;color:var(--r-n);transition:color .3s}
.vp-row-lead-n[data-soon="true"]{color:var(--r-s)}
.vp-row-t{font-family:var(--font-head);font-weight:700;font-size:clamp(20px,2.1cqw,32px);line-height:1.12;letter-spacing:-.025em;color:var(--r-t);text-wrap:balance;transition:color .3s}
.vp-row-meta{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;margin-top:10px;color:var(--r-m);font-size:clamp(15px,1.15cqw,17px);line-height:1.4;transition:color .3s}
.vp-row:hover .vp-chip,.vp-row:focus-within .vp-chip{color:var(--v-white);box-shadow:inset 0 0 0 1.5px var(--v-white)}
.vp-row-act{font-family:var(--font-head);font-weight:700;font-size:clamp(15px,1.2cqw,18px);color:var(--r-t);white-space:nowrap;transition:color .3s}

/* tabs and filters */
.vp-tabs{display:flex;gap:8px;flex-wrap:wrap}
.vp-tab{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--v-muted);background:transparent;color:var(--v-navy);font-weight:600;font-size:15px;line-height:1;white-space:nowrap;cursor:pointer;transition:background-color .15s,color .15s}
.vp-tab:hover{background:var(--v-navy-tint)}
.vp-tab:is(.is-on,.active,[aria-selected="true"],[aria-current="page"]){background:var(--v-navy);box-shadow:none;color:var(--v-white)}

/* facts */
.vp-facts{border-top:1px solid var(--v-rule)}
.vp-fact{display:grid;gap:2px;padding:14px 0;border-bottom:1px solid var(--v-rule)}
.vp-fact dt{font-size:14px;line-height:1.4;font-weight:600;color:var(--v-muted)}
.vp-fact dd{font-family:var(--font-head);font-weight:700;font-size:clamp(17px,1.3cqw,20px);line-height:1.3;color:var(--v-navy);overflow-wrap:anywhere}
.vp-fact dd a{border-bottom:2px solid currentColor}
.vp-fact dd a:hover{color:var(--v-gold-text)}

/* detail layout: content with a sticky side column */
.vp-detail{display:grid;grid-template-columns:minmax(0,1fr) clamp(280px,29cqw,420px);column-gap:clamp(32px,5.4cqw,88px);row-gap:40px;align-items:start}
.vp-aside{position:sticky;top:100px;display:grid;gap:20px}
.vp-aside .vp-actions{display:grid}
.vp-ph-side{margin-bottom:4px}

/* notes */
.vp-note{display:grid;gap:4px;padding:16px 20px;border-radius:14px;background:var(--v-paper);box-shadow:inset 4px 0 0 var(--v-gold);font-size:16px;line-height:1.5}
.vp-note strong{font-family:var(--font-head);font-weight:700;color:var(--v-navy)}
.vp-note-body{display:grid;gap:8px}
.vp-note-body ul,.vp-note-body ol{padding-left:1.2em}
.vp-note-body ul{list-style:disc}
.vp-note-body ol{list-style:decimal}
.vp-note-body a{color:var(--v-navy);text-decoration:underline}
.vp-fact dd p+p,.vp-fact dd ul,.vp-fact dd ol{margin-top:8px}
.vp-fact dd ul{list-style:disc;padding-left:1.2em}
.vp-fact dd ol{list-style:decimal;padding-left:1.2em}
.vp-note--ok{background:var(--v-navy);color:var(--v-white);box-shadow:inset 4px 0 0 var(--v-gold)}
.vp-note--ok strong{color:var(--v-white)}
.vp-note--error{box-shadow:inset 4px 0 0 var(--v-alert)}
.vp-note--error strong{color:var(--v-alert)}
.vp-empty{display:grid;justify-items:start;gap:12px;padding:clamp(28px,4cqw,56px) 0;border-bottom:1px solid var(--v-rule)}
.vp-empty p{color:var(--v-muted);max-width:30em}

/* pagination */
.vp-pager{margin-top:clamp(28px,3.4cqw,52px)}
.vp-pager ul,.vp-pager .page-numbers:is(ul){display:flex;flex-wrap:wrap;gap:8px}
.vp-pager li{display:inline-flex}
.vp-pager :is(a,span).page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 14px;border-radius:999px;font-family:var(--font-head);font-weight:700;font-size:16px;color:var(--v-navy);transition:background-color .15s}
.vp-pager a.page-numbers:hover{background:var(--v-fog)}
.vp-pager .page-numbers.current{background:var(--v-navy);color:var(--v-white)}
.vp-pager .page-numbers.dots{min-width:0;padding:0 4px}

/* forms */
.vp-form{display:grid;gap:clamp(16px,1.8cqw,24px)}
.vp-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,1.8cqw,24px)}
.vp-field{display:grid;gap:8px;min-width:0}
.vp-field>label,.vp-label{font-weight:600;font-size:15px;line-height:1.35;color:var(--v-navy)}
.vp-field .vp-hint{font-size:14px;line-height:1.45;color:var(--v-muted)}
.vp-input,.vp-select,.vp-textarea{display:block;width:100%;min-height:52px;padding:12px 16px;border:0;border-radius:14px;background:var(--v-bg);box-shadow:inset 0 0 0 1.5px var(--v-muted);font-size:17px;line-height:1.4;color:var(--v-ink);transition:box-shadow .15s}
.vp-input::placeholder,.vp-textarea::placeholder{color:var(--v-muted);opacity:1}
.vp-textarea{min-height:140px;resize:vertical}
.vp-select{appearance:none;-webkit-appearance:none;padding-right:44px;background-image:linear-gradient(45deg,transparent 50%,var(--v-navy) 50%),linear-gradient(135deg,var(--v-navy) 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat}
.vp-input:hover,.vp-select:hover,.vp-textarea:hover{box-shadow:inset 0 0 0 2px var(--v-navy)}
.vp .vp-input:focus-visible,.vp .vp-select:focus-visible,.vp .vp-textarea:focus-visible,.vp-modal :is(.vp-input,.vp-select,.vp-textarea):focus-visible{outline:3px solid var(--v-focus);outline-offset:2px;box-shadow:inset 0 0 0 2px var(--v-navy)}
.vp-input[aria-invalid="true"],.vp-textarea[aria-invalid="true"],.vp-select[aria-invalid="true"]{box-shadow:inset 0 0 0 2px var(--v-alert)}
.vp-check{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;font-size:15px;line-height:1.5;color:var(--v-ink);cursor:pointer}
.vp-check input{width:24px;height:24px;margin:0;accent-color:var(--v-navy)}
.vp-check a{border-bottom:2px solid currentColor;color:var(--v-navy)}
.vp-hp{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}

/* prose: long text (articles, legal pages, event and opportunity descriptions) */
.vp-prose{max-width:44rem;font-size:clamp(17px,1.3cqw,19px);line-height:1.72;color:var(--v-ink);overflow-wrap:break-word}
.vp-prose>*+*{margin-top:1.15em}
.vp-prose :is(h2,h3,h4){font-family:var(--font-head);color:var(--v-navy);line-height:1.15;text-wrap:balance}
.vp-prose h2{font-weight:800;letter-spacing:-.03em;font-size:clamp(26px,2.6cqw,40px);margin-top:2em}
.vp-prose h3{font-weight:700;letter-spacing:-.02em;font-size:clamp(21px,1.9cqw,28px);margin-top:1.7em}
.vp-prose h4{font-weight:700;font-size:clamp(18px,1.5cqw,21px);margin-top:1.5em}
.vp-prose :is(h2,h3,h4)+*{margin-top:.6em}
.vp-prose a{color:var(--v-navy);border-bottom:2px solid var(--v-gold);transition:background-color .15s}
.vp-prose a:hover{background:var(--v-gold-soft)}
.vp-prose :is(ul,ol){padding-left:0;display:grid;gap:.5em}
.vp-prose ul>li{position:relative;padding-left:1.5em}
.vp-prose ul>li::before{content:"";position:absolute;left:.15em;top:.72em;width:.5em;height:.5em;border-radius:50%;background:var(--v-gold-deep)}
.vp-prose ol{counter-reset:vpl}
.vp-prose ol>li{position:relative;padding-left:2em;counter-increment:vpl}
.vp-prose ol>li::before{content:counter(vpl) ".";position:absolute;left:0;top:0;font-family:var(--font-head);font-weight:800;color:var(--v-navy)}
.vp-prose blockquote{padding:.2em 0 .2em 1.2em;border-left:4px solid var(--v-gold);font-family:var(--font-head);font-weight:600;font-size:1.15em;line-height:1.45;color:var(--v-navy)}
.vp-prose img{display:block;max-width:100%;height:auto;border-radius:14px}
.vp-prose figure{max-width:100%}
.vp-prose figcaption{margin-top:8px;font-size:14px;line-height:1.45;color:var(--v-muted)}
.vp-prose hr{border:0;border-top:1px solid var(--v-rule);margin-block:2em}
.vp-prose table{width:100%;border-collapse:collapse;font-size:16px}
.vp-prose :is(th,td){padding:10px 12px;border-bottom:1px solid var(--v-rule);text-align:left;vertical-align:top}
.vp-prose th{font-family:var(--font-head);font-weight:700;color:var(--v-navy)}
.vp-prose iframe,.vp-prose video{max-width:100%}
.vp-prose .wp-block-image,.vp-prose .alignwide,.vp-prose .alignfull{margin-inline:0;max-width:100%}
.vp-prose .aligncenter{margin-inline:auto}
.vp-prose .alignleft,.vp-prose .alignright{float:none;margin:0}
.vp-prose pre,.vp-prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}
.vp-prose pre{overflow:auto;padding:16px;border-radius:12px;background:var(--v-paper)}

/* round social links */
.vp-soc-row{display:flex;gap:8px;flex-wrap:wrap}
.vp-soc{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--v-muted);color:var(--v-navy);font-size:16px;transition:background-color .15s,color .15s,box-shadow .15s}
.vp-soc:hover{background:var(--v-navy);color:var(--v-white);box-shadow:none}

/* closing band */
.vp-cta{background:var(--v-navy);color:var(--v-white);padding-block:clamp(56px,7cqw,112px);--v-focus:var(--v-white)}
.vp-cta-in{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--vp-gap);row-gap:28px;align-items:end}
.vp-cta .vp-h2{grid-column:1/8;color:var(--v-white);font-size:clamp(34px,5cqw,80px);line-height:.98;letter-spacing:-.045em}
.vp-cta-side{grid-column:8/13;display:grid;gap:22px;justify-items:start}
.vp-cta .vp-lead{color:var(--v-on-navy-sub)}

/* motion off */
@media (prefers-reduced-motion:reduce){
.vp *,.vp *::before,.vp *::after{animation:none!important;transition:none!important}
}

@container vp (max-width:900px){
.vp-sec-head .vp-h2,.vp-sec-side,.vp-cta .vp-h2,.vp-cta-side{grid-column:1/13}
.vp-detail{grid-template-columns:minmax(0,1fr)}
.vp-aside{position:static;order:-1}
.vp-cols,.vp-cols--4{--cols:2}
.vp-row{grid-template-columns:clamp(130px,24cqw,230px) minmax(0,1fr)}
.vp-row-act{grid-column:2;justify-self:start}
}
@container vp (max-width:720px){
.vp-head{padding-top:24px}
.vp-h1{font-size:clamp(32px,9cqw,44px)}
.vp-head .vp-h1 .vp-b2{margin-left:6cqw}
.vp-head-row{margin-left:0;flex-direction:column;align-items:flex-start;gap:16px}
.vp-bars{height:44px;gap:2px}
.vp-bars>i:nth-child(2n){display:none}
.vp-cols,.vp-cols--2,.vp-cols--4{--cols:1}
.vp-form-row{grid-template-columns:1fr}
.vp-row{grid-template-columns:minmax(0,1fr);row-gap:10px}
.vp-row-lead{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 12px}
.vp-row-lead-t{font-size:22px}
.vp-row-act{grid-column:auto}
.vp-actions .vp-btn--lg{flex:1 1 auto}
}
@container vp (max-width:340px){
.vp-actions .vp-btn{width:100%}
}

/* ---------- 3. PAGES ---------- */

/* shared: a label or heading on the left, the main text on the right */
.vp-split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--vp-gap);row-gap:20px}
.vp-side-label{grid-column:1/3;font-family:var(--font-body);font-weight:600;font-size:15px;line-height:1.5;padding-top:.9em;color:inherit}
.vp-split-h{grid-column:1/5}
.vp-split-main{grid-column:3/13;min-width:0}
.vp-split-h+.vp-split-main{grid-column:6/13}
.vp-stmt{font-family:var(--font-head);font-weight:800;letter-spacing:-.035em;line-height:1.06;font-size:clamp(28px,3.8cqw,62px);text-wrap:balance;color:var(--v-white)}
.vp-stmt+.vp-cols{margin-top:clamp(32px,4.4cqw,72px)}
@container vp (max-width:900px){
.vp-side-label,.vp-split-h,.vp-split-main,.vp-split-h+.vp-split-main{grid-column:1/13}
.vp-side-label{padding-top:0}
}

/* about */
.vp-story{display:grid;gap:20px}
.vp-story .vp-lead{max-width:36em}
.vp-story-note{max-width:40em}
.vp-story-cols{margin-top:clamp(12px,2cqw,28px)}
.vp-areas{border-top:1px solid var(--v-rule)}
.vp-area{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--vp-gap);row-gap:12px;align-items:start;padding-block:clamp(22px,2.6cqw,40px);border-bottom:1px solid var(--v-rule)}
.vp-area .vp-h3{grid-column:1/6}
.vp-area p{grid-column:6/12;color:var(--v-muted);max-width:30em;text-wrap:pretty}
.vp-area .vp-tlink{grid-column:6/13;justify-self:start}
.vp-area-tag{grid-column:12/13;justify-self:end}
@container vp (max-width:720px){.vp-area-tag{grid-column:1/13;justify-self:start;order:-1}}
.vp-aside-note{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--vp-gap);row-gap:12px;margin-top:clamp(40px,5cqw,80px);padding-top:clamp(22px,2.6cqw,40px);border-top:2px solid var(--v-navy)}
.vp-aside-note .vp-h3{grid-column:1/6}
.vp-aside-note p{grid-column:6/12;max-width:32em;color:var(--v-muted);text-wrap:pretty}
.vp-team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,3cqw,48px) var(--vp-gap)}
.vp-member{display:grid;align-content:start;gap:8px}
.vp-portrait .vh-ph-box{--ar:4/5}
.vp-member .vp-h4{margin-top:10px}
.vp-member-role{font-weight:600;font-size:15px;line-height:1.4;color:var(--v-gold-text)}
.vp-member-bio{font-size:16px;line-height:1.5;color:var(--v-muted);text-wrap:pretty}
.vp-member .vp-soc-row{margin-top:6px}
@container vp (max-width:900px){
.vp-area .vp-h3,.vp-aside-note .vp-h3{grid-column:1/13}
.vp-area p,.vp-area .vp-tlink,.vp-aside-note p{grid-column:1/13}
.vp-team{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container vp (max-width:340px){
.vp-team{grid-template-columns:1fr}
}

/* On the paper band the placeholder frames must stay visible: fog, white, navy. */
.vp-sec--paper{--vh-pa-bg:var(--v-fog);--vh-pb-bg:var(--v-bg)}

/* opportunities: featured picks, search, loader, dialog */
.vp-detail-main{min-width:0}
.vp-feat{gap:14px;border-top:0;padding-top:0}
.vp-feat .vh-ph-box{--ar:3/2}
.vp-feat-body{display:grid;gap:14px;align-content:start;min-width:0}
.vp-feat-chips{display:flex;gap:8px;flex-wrap:wrap}
.vp-feat-solo{--cols:1}
@container vp (min-width:901px){
.vp-feat-solo .vp-feat{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:clamp(24px,4cqw,64px);align-items:center}
.vp-feat-solo .vh-ph-box{--ar:16/10}
.vp-feat-solo .vp-h3{font-size:clamp(26px,3cqw,44px);line-height:1.08}
}
.vp-feat-note{color:var(--v-muted);font-size:16px}
.vp-search{display:flex;gap:12px;align-items:stretch;margin-bottom:20px}
.vp-search .vp-input{flex:1 1 auto;min-height:56px;font-size:18px}
.vp-search .vp-btn{flex:none}
.vp-tabs+.vp-rows{margin-top:clamp(24px,3cqw,44px)}
.vp-loader{align-items:center;justify-content:center;gap:14px;padding:28px 0;font-weight:600;color:var(--v-muted)}
.vp-loader-bars{display:flex;align-items:flex-end;gap:4px;height:22px}
.vp-loader-bars i{display:block;width:5px;height:100%;background:var(--v-navy);border-radius:2px 2px 0 0;transform-origin:50% 100%;animation:vp-pulse .9s ease-in-out infinite alternate}
.vp-loader-bars i:nth-child(2){animation-delay:.18s}
.vp-loader-bars i:nth-child(3){animation-delay:.36s}
@keyframes vp-pulse{from{transform:scaleY(.25)}to{transform:scaleY(1)}}
.vp .opp-empty-state{display:grid;justify-items:start;gap:12px;padding:clamp(28px,4cqw,56px) 0;border-bottom:1px solid var(--v-rule)}
.vp .opp-empty-state h3{font-family:var(--font-head);font-weight:700;letter-spacing:-.025em;line-height:1.12;font-size:clamp(21px,2.1cqw,32px);color:var(--v-navy)}
.vp .opp-empty-state p{color:var(--v-muted);max-width:30em}
.vp-share{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:clamp(28px,3.4cqw,52px);padding-top:20px;border-top:1px solid var(--v-rule)}
.vp-share-l{margin-right:6px;font-weight:600;font-size:15px;color:var(--v-muted)}
.vp-copy{position:relative}
.vp-copy .tooltip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);padding:6px 12px;border-radius:999px;background:var(--v-navy);color:var(--v-white);font-size:13px;line-height:1.3;opacity:0;pointer-events:none;transition:opacity .2s}
.vp-copy .tooltip.show{opacity:1}
@container vp (max-width:540px){
.vp-search{flex-direction:column}
.vp-search .vp-btn{width:100%}
}

/* dialog (sits outside .vp, so no container units here) */
.vp-modal{position:fixed;inset:0;z-index:100500;display:none;place-items:center;padding:16px;background:var(--v-scrim);font-family:var(--font-body);font-size:17px;line-height:1.6;color:var(--v-ink)}
.vp-modal[aria-hidden="false"]{display:grid}
.vp-modal :where(input,select,textarea,button){font:inherit;color:inherit}
.vp-modal :where(h2,p){margin:0}
.vp-modal :focus-visible{outline:3px solid var(--v-focus);outline-offset:3px}
.vp-modal-box{position:relative;width:min(100%,640px);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;padding:clamp(22px,4vw,40px);border-radius:24px;background:var(--v-bg);box-shadow:var(--v-shadow-card)}
.vp-modal-x{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;font-size:28px;line-height:1;color:var(--v-navy);cursor:pointer}
.vp-modal-x:hover{background:var(--v-fog)}
.vp-modal-t{margin:0 44px 8px 0;font-family:var(--font-head);font-weight:800;font-size:clamp(26px,4vw,36px);letter-spacing:-.03em;line-height:1.1;color:var(--v-navy)}
.vp-modal-sub{margin-bottom:6px;color:var(--v-muted)}
.form-message{display:none;padding:14px 18px;border-radius:14px;background:var(--v-paper);font-size:16px;line-height:1.5;color:var(--v-ink)}
.form-message.success{background:var(--v-navy);color:var(--v-white)}
.form-message.error{background:var(--v-paper);color:var(--v-alert);box-shadow:inset 4px 0 0 var(--v-alert);font-weight:600}
@media (max-width:540px){
.vp-modal{padding:0;align-items:end}
.vp-modal-box{width:100%;max-height:92vh;max-height:92dvh;border-radius:24px 24px 0 0}
}
@media (prefers-reduced-motion:reduce){
.vp-loader-bars i{animation:none;transform:none}
}

/* events: the next event as a navy band */
.vp-next{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,4cqw,64px);align-items:center}
.vp-next-main{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(12px,1.4cqw,20px);justify-items:start}
.vp-next .vp-side-label{grid-column:auto;padding-top:0;color:var(--v-gold-soft)}
.vp-next-t{font-family:var(--font-head);font-weight:800;font-size:clamp(30px,4cqw,60px);line-height:1.02;letter-spacing:-.035em;text-wrap:balance}
.vp-next-t a{color:inherit;text-decoration:none}
.vp-next-t a:hover{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:.12em}
.vp-next-when{font-family:var(--font-head);font-weight:700;font-size:clamp(18px,1.6cqw,24px);letter-spacing:-.02em}
.vp-next-where{color:var(--v-on-navy-sub);display:flex;flex-wrap:wrap;gap:6px 14px}
.vp-next-fmt{color:var(--v-night-soft)}
.vp-next-act{position:relative;z-index:2;margin-top:8px}
.vp-next .vp-stretch::after{content:"";position:absolute;inset:0}
.vp-next-ph{--vh-pb-bg:var(--v-navy-hover)}
.vp-next-ph .vh-ph-box{--ar:4/3;border-radius:18px}
@container vp (max-width:900px){
.vp-next{grid-template-columns:minmax(0,1fr)}
.vp-next-ph{order:-1}
}

/* single event */
.vp-poster{margin-bottom:clamp(24px,3cqw,44px)}
.vp-poster .vh-ph-box{--ar:16/9;border-radius:18px}
.vp-reg{margin-top:clamp(28px,3.4cqw,52px);padding-top:clamp(24px,3cqw,40px);border-top:1px solid var(--v-rule)}
.vp-organizer{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:center;margin-top:clamp(28px,3.4cqw,52px);padding-top:clamp(20px,2.4cqw,32px);border-top:1px solid var(--v-rule)}
.vp-organizer-logo{width:clamp(72px,8cqw,110px);height:clamp(72px,8cqw,110px);border-radius:16px;background:var(--v-paper);display:grid;place-items:center;overflow:hidden}
.vp-organizer-logo img{max-width:80%;max-height:80%;object-fit:contain}
.vp-organizer-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:8px}
.vp-aside-links{display:grid;justify-items:start;gap:10px;margin-top:20px}
.vp-note+.vp-reg{border-top:0;padding-top:0}

/* The CRM's registration box (Tickets module) in the page's own palette. Its variables are only set on the ticket page. */
.vp-reg .vcrm-event-registration{margin:0;padding:clamp(22px,3cqw,40px);border:1px solid var(--v-rule);border-radius:22px;background:var(--v-paper);box-shadow:none}
.vp-reg .vcrm-ticket-head>span{display:block;font-weight:600;font-size:15px;letter-spacing:0;text-transform:none;color:var(--v-muted)}
.vp-reg .vcrm-ticket-head h2{margin:6px 0 0;font-family:var(--font-head);font-weight:700;font-size:clamp(22px,2.3cqw,32px);letter-spacing:-.025em;line-height:1.12;color:var(--v-navy)}
.vp-reg .vcrm-ticket-remaining,.vp-reg .vcrm-ticket-price{margin-top:10px;color:var(--v-ink)}
.vp-reg .vcrm-ticket-form label>span{font-size:15px;font-weight:600;color:var(--v-ink)}
.vp-reg .vcrm-ticket-form input[type=text],.vp-reg .vcrm-ticket-form input[type=email],.vp-reg .vcrm-ticket-form input[type=tel]{min-height:52px;border:1.5px solid var(--v-muted);border-radius:14px;background:var(--v-bg);color:var(--v-ink)}
.vp-reg .vcrm-ticket-form input:focus{outline:3px solid var(--v-focus);outline-offset:2px;border-color:var(--v-navy)}
.vp-reg .vcrm-ticket-submit{min-height:56px;padding:14px 30px;border-radius:999px;background:var(--v-gold);color:var(--v-on-gold);font-family:var(--font-head);font-weight:700;font-size:17px}
.vp-reg .vcrm-ticket-submit:hover{background:var(--v-gold-hover);color:var(--v-on-gold)}
.vp-reg .vcrm-ticket-secure{color:var(--v-muted);font-weight:500}
.vp-reg .vcrm-ticket-message{border-radius:14px;background:var(--v-bg);color:var(--v-navy);font-weight:600}
.vp-reg .vcrm-ticket-message.is-error{background:var(--v-bg);color:var(--v-alert);box-shadow:inset 4px 0 0 var(--v-alert)}
.vp-reg .vcrm-ticket-message.is-closed{background:var(--v-bg);color:var(--v-muted)}

/* projects: tiles */
.vp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3.4cqw,56px) clamp(20px,3cqw,48px)}
.vp-tile{position:relative;display:grid;gap:16px;align-content:start}
.vp-tile .vh-ph-box{--ar:3/2;border-radius:18px}
.vp-tile--wide{grid-column:1/-1;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:clamp(24px,4cqw,64px)}
.vp-tile--wide .vh-ph-box{--ar:16/10}
.vp-tile--wide .vp-h3{font-size:clamp(26px,3cqw,44px);line-height:1.08}
.vp-tile-body{display:grid;gap:12px;align-content:start;min-width:0}
.vp-tile-x{color:var(--v-ink);max-width:36em;text-wrap:pretty}
.vp-tile:hover .vp-h3 a,.vp-tile:focus-within .vp-h3 a{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.14em}
.vp-grid+.vp-pager{margin-top:clamp(32px,4cqw,56px)}
@container vp (max-width:720px){
.vp-grid{grid-template-columns:minmax(0,1fr)}
.vp-tile--wide{grid-template-columns:minmax(0,1fr)}
}
.vp-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.vp-post .vh-ph-box{--ar:3/2}
.vp-post .vp-h3{font-weight:700;font-size:clamp(19px,1.5cqw,24px);line-height:1.25;letter-spacing:-.015em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.vp-post .vp-tile-x{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
a.vp-chip{text-decoration:none}
a.vp-chip:hover{background:var(--v-navy);color:var(--v-white);box-shadow:inset 0 0 0 1.5px var(--v-navy)}
.vp-tile .vp-chip{position:relative;z-index:2}
@container vp (max-width:900px){.vp-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container vp (max-width:720px){.vp-grid--3{grid-template-columns:minmax(0,1fr)}}
.vp-sec--top0>.vp-w>.vp-search:first-child,.vp-sec--top0>.vp-w>.vp-grid:first-child{margin-top:clamp(20px,2.6cqw,40px)}

/* single post */
.vp-detail--post .vp-prose{max-width:44em}
.vp-toc{margin-bottom:24px}
.vp-toc ol{counter-reset:toc;margin-top:8px;display:grid;gap:6px}
.vp-toc li{counter-increment:toc;display:flex;gap:10px;font-size:15px;line-height:1.4}
.vp-toc li::before{content:counter(toc) ".";color:var(--v-muted);font-weight:600;flex:none;min-width:1.4em}
.vp-toc .vp-toc-l3{padding-left:1.4em;font-size:14px}
.vp-toc .vp-toc-l3::before{content:""}
.vp-toc a{color:var(--v-navy);text-decoration:none;font-weight:600}
.vp-toc a:hover{text-decoration:underline;text-underline-offset:.14em}
.vp-aside-cta{display:grid;justify-items:start;gap:10px;margin-top:24px;padding:20px;border-radius:18px;background:var(--v-paper)}
.vp-prevnext{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:clamp(28px,3.4cqw,52px);padding-top:20px;border-top:1px solid var(--v-rule)}
.vp-pn{display:grid;gap:4px;text-decoration:none;color:var(--v-navy)}
.vp-pn--next{text-align:right;justify-items:end}
.vp-pn-t{font-family:var(--font-head);font-weight:700;font-size:clamp(17px,1.4cqw,21px);line-height:1.2;letter-spacing:-.02em}
.vp-pn:hover .vp-pn-t{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.14em}
@container vp (max-width:540px){.vp-prevnext{grid-template-columns:1fr}.vp-pn--next{text-align:left;justify-items:start}}
.vp-404-links{margin-top:clamp(32px,4cqw,56px)}
.vp-404-links .vp-col{position:relative}
.vp-404-links .vp-col:hover .vp-h4 a{text-decoration:underline;text-underline-offset:.14em}
.vp-404-links .vp-h4 a{color:inherit;text-decoration:none}
.vp-prose--page,.vp-poster--page{max-width:46em}

/* volunteers */
.vp-hp{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.vp-fieldset{border:0;padding:0;margin:0;min-width:0}
.vp-fieldset legend{font-weight:600;font-size:15px;line-height:1.35;color:var(--v-navy);padding:0;margin-bottom:10px}
.vp-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}
.vp-steps{counter-reset:none}
.vp-step-n{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--v-gold);color:var(--v-on-gold);font-family:var(--font-head);font-weight:800;font-size:18px;margin-bottom:6px}
.vp-sec--navy .vp-lead+.vp-cols{margin-top:clamp(24px,3cqw,44px)}
.vp-faq{display:grid;gap:0;border-top:1px solid var(--v-rule)}
.vp-faq-i{border-bottom:1px solid var(--v-rule)}
.vp-faq-i summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:clamp(16px,1.8cqw,22px) 0;cursor:pointer;list-style:none;font-family:var(--font-head);font-weight:700;font-size:clamp(18px,1.5cqw,22px);letter-spacing:-.02em;line-height:1.25;color:var(--v-navy)}
.vp-faq-i summary::-webkit-details-marker{display:none}
.vp-faq-i summary::after{content:"";flex:none;width:12px;height:12px;border-right:2.5px solid var(--v-navy);border-bottom:2.5px solid var(--v-navy);transform:rotate(45deg);transition:transform .25s;margin-right:4px}
.vp-faq-i[open] summary::after{transform:rotate(225deg)}
.vp-faq-i summary:hover{color:var(--v-navy-hover)}
.vp-faq-i>p{padding:0 0 clamp(16px,1.8cqw,22px);max-width:40em;color:var(--v-ink)}
.vp-mail-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:10px 0 18px}
@container vp (max-width:540px){.vp-checks{grid-template-columns:1fr}}
.vp-contact-soc{margin-top:22px}

/* donate: table of accounts */
.vp-table{width:100%;border-collapse:collapse;margin-bottom:clamp(20px,2.4cqw,32px);font-size:16px}
.vp-table th{text-align:left;font-weight:600;font-size:14px;color:var(--v-muted);padding:0 12px 10px 0;border-bottom:1px solid var(--v-rule)}
.vp-table td{padding:14px 12px 14px 0;border-bottom:1px solid var(--v-rule);vertical-align:middle}
.vp-table td:last-child,.vp-table th:last-child{padding-right:0;text-align:right}
.vp-mono{font-variant-numeric:tabular-nums;letter-spacing:.02em;font-weight:600;color:var(--v-navy)}
@container vp (max-width:720px){
.vp-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.vp-table tr{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;padding:14px 0;border-bottom:1px solid var(--v-rule)}
.vp-table td{display:block;padding:0;border:0}
.vp-table td:nth-child(2){grid-column:1/3}
.vp-table td:last-child{text-align:left}
}

/* donate: the CRM's online widget (Donations module) in the page's own palette */
.vp-donate-online .vcrm-donation-widget{margin:0;gap:clamp(20px,3cqw,48px)}
.vp-donate-online .vcrm-donation-copy,.vp-donate-online .vcrm-donation-panel{border:1px solid var(--v-rule);border-radius:22px;background:var(--v-bg);box-shadow:none;padding:clamp(22px,3cqw,40px)}
.vp-donate-online .vcrm-donation-copy{background:var(--v-paper)}
.vp-donate-online .vcrm-donation-kicker{background:transparent;color:var(--v-muted);padding:0;letter-spacing:0;text-transform:none;font-size:15px;font-weight:600}
.vp-donate-online .vcrm-donation-copy h2{font-family:var(--font-head);font-weight:800;font-size:clamp(26px,3cqw,44px);letter-spacing:-.03em;line-height:1.05;color:var(--v-navy);margin:10px 0 12px}
.vp-donate-online .vcrm-donation-copy>p{font-weight:400;color:var(--v-ink)}
.vp-donate-online .vcrm-donation-secure{border:0;background:var(--v-bg);border-radius:16px}
.vp-donate-online .vcrm-donation-secure span{display:none}
.vp-donate-online .vcrm-donation-secure strong{font-weight:700;color:var(--v-navy)}
.vp-donate-online .vcrm-donation-secure small{color:var(--v-muted)}
.vp-donate-online .vcrm-donation-currency-row label{font-weight:600;color:var(--v-navy)}
.vp-donate-online .vcrm-donation-currency-row select{border:1.5px solid var(--v-muted);border-radius:12px;font-weight:600;color:var(--v-ink)}
.vp-donate-online .vcrm-donation-amount{border:1.5px solid var(--v-navy);border-radius:999px;background:var(--v-bg);color:var(--v-navy);font-family:var(--font-head);font-weight:700;transform:none}
.vp-donate-online .vcrm-donation-amount:hover,.vp-donate-online .vcrm-donation-amount.is-active{background:var(--v-navy);color:var(--v-white);transform:none}
.vp-donate-online .vcrm-donation-custom>span,.vp-donate-online .vcrm-donation-fields span,.vp-donate-online .vcrm-donation-message>span{font-weight:600;font-size:15px;color:var(--v-navy)}
.vp-donate-online .vcrm-donation-custom>div{border:1.5px solid var(--v-muted);border-radius:14px}
.vp-donate-online .vcrm-donation-custom input{font-family:var(--font-head);font-weight:700!important;color:var(--v-navy)}
.vp-donate-online .vcrm-donation-custom strong{background:var(--v-paper);border-left:1px solid var(--v-rule);color:var(--v-navy)}
.vp-donate-online .vcrm-donation-fields input,.vp-donate-online .vcrm-donation-message textarea{border:1.5px solid var(--v-muted);border-radius:14px;min-height:52px;color:var(--v-ink)}
.vp-donate-online .vcrm-donation-fields input:focus,.vp-donate-online .vcrm-donation-message textarea:focus{outline:3px solid var(--v-focus);outline-offset:2px}
.vp-donate-online .vcrm-donation-check{font-weight:500;color:var(--v-ink)}
.vp-donate-online .vcrm-donation-check input{accent-color:var(--v-navy)}
.vp-donate-online .vcrm-donation-submit{border:0;background:var(--v-gold);color:var(--v-on-gold);min-height:56px;font-family:var(--font-head);font-weight:700;font-size:17px;transform:none}
.vp-donate-online .vcrm-donation-submit:hover{background:var(--v-gold-hover);color:var(--v-on-gold);transform:none}
.vp-donate-online .vcrm-quickpay-fallback{color:var(--v-navy);font-weight:600}
.vp-donate-online .vcrm-donation-alert{border:0;background:var(--v-paper);color:var(--v-alert);box-shadow:inset 4px 0 0 var(--v-alert);font-weight:600}
.vp-donate-online .vcrm-donation-result{border-radius:18px}
.vp-donate-online .vcrm-donation-result>span{display:none}
.vp-donate-online .vcrm-donation-result h3{font-family:var(--font-head);font-weight:700;color:var(--v-navy)}
.vp-donate-online .vcrm-donation-result.is-success{background:var(--v-paper)}
.vp-donate-online .vcrm-donation-result.is-pending{background:var(--v-paper)}
.vp-donate-online .vcrm-donation-secure{grid-template-columns:1fr}

/* legal and transparency: the CRM's reports list */
.vp-reports .vcrm-public-reports{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
.vp-reports .vcrm-public-report{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--v-rule);text-decoration:none;color:var(--v-navy)}
.vp-reports .vcrm-public-report span{display:grid;gap:4px}
.vp-reports .vcrm-public-report strong{font-family:var(--font-head);font-weight:700;font-size:clamp(17px,1.4cqw,21px);letter-spacing:-.02em;line-height:1.2}
.vp-reports .vcrm-public-report small{font-size:14px;color:var(--v-muted)}
.vp-reports .vcrm-public-report:hover strong{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.14em}
.vp-reports .vcrm-public-report::after{content:"";flex:none;width:10px;height:10px;border-top:2px solid var(--v-navy);border-right:2px solid var(--v-navy);transform:rotate(45deg)}
@container vp (max-width:720px){.vp-reports .vcrm-public-reports{grid-template-columns:minmax(0,1fr)}}
.vp-reports .vcrm-public-report>span[aria-hidden]{display:none}
.vp-reports .vcrm-public-report{border:0;border-bottom:1px solid var(--v-rule);border-radius:0;background:transparent;box-shadow:none}

/* privacy policy */
.vp-policy>section{position:relative;padding:clamp(22px,2.6cqw,36px) 0;border-top:1px solid var(--v-rule);scroll-margin-top:96px}
.vp-policy>section:first-child{border-top:0;padding-top:0}
.vp-pol-n{display:block;font-family:var(--font-head);font-weight:700;font-size:14px;color:var(--v-gold-text);margin-bottom:8px}
.vp-policy h2{font-size:clamp(21px,2cqw,30px);margin-top:0}
.vp-policy h3{font-size:17px;margin-top:0}
.vp-pol-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;margin:18px 0}
.vp-pol-grid>div{display:grid;gap:6px;padding:16px;border-radius:14px;background:var(--v-paper)}
.vp-pol-grid p{margin:0;font-size:15px}
.vp-pol-ctrl{display:grid;gap:4px;margin:16px 0;padding:18px 20px;border-radius:14px;background:var(--v-paper)}
.vp-pol-ctrl strong{font-family:var(--font-head);font-weight:700;color:var(--v-navy)}
.vp-pol-rh>div>span{display:block;font-size:14px;font-weight:600;color:var(--v-muted);margin-bottom:6px}
.vp-pol-contact{display:inline-flex;align-items:center;min-height:48px;padding:12px 24px;border-radius:999px;background:var(--v-navy);color:var(--v-white);font-family:var(--font-head);font-weight:700;text-decoration:none;border-bottom:0}
.vp-policy a.vp-pol-contact{color:var(--v-white);border-bottom:0}
.vp-pol-contact:hover{background:var(--v-navy-hover)}
@container vp (max-width:720px){.vp-pol-grid{grid-template-columns:minmax(0,1fr)}}

/* radio */
.vp-radio-hero{background:var(--v-navy);color:var(--v-white);--v-focus:var(--v-white);padding-bottom:0;margin-bottom:0}
.vp-radio-hero .vp-bars>i{background:var(--v-gold)}
.vp-radio-live{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;font-weight:700;font-size:14px;letter-spacing:.04em;color:var(--v-gold-soft);margin-bottom:clamp(20px,2.4cqw,36px)}
.vp-radio-dot{width:10px;height:10px;border-radius:50%;background:var(--v-gold);box-shadow:0 0 0 4px var(--v-gold-ring);animation:vp-blink 1.6s ease-in-out infinite}
@keyframes vp-blink{0%,100%{opacity:1}50%{opacity:.35}}
.vp-radio-name{font-weight:600;letter-spacing:0;color:var(--v-night-soft)}
.vp-radio-name::before{content:"";display:inline-block;width:1px;height:14px;background:var(--v-on-navy-rule);margin:0 14px 0 0;vertical-align:-2px}
.vp-radio-now{display:grid;grid-template-columns:clamp(96px,14cqw,180px) minmax(0,1fr);gap:clamp(20px,3cqw,44px);align-items:center}
.vp-radio-art{aspect-ratio:1;border-radius:20px;overflow:hidden;background:var(--v-navy-hover)}
.vp-radio-art img{width:100%;height:100%;object-fit:cover;display:block}
.vp-radio-art--bars{display:grid;align-items:end;padding:18px}
.vp-radio-art--bars .vp-bars{height:100%;gap:3px}
.vp-radio-art--bars .vp-bars>i{background:var(--v-gold)}
.vp-radio-art[hidden]{display:none}
.vp-radio-copy{display:grid;gap:6px;min-width:0}
.vp-radio-label{color:var(--v-night-soft)}
.vp-radio-title{font-family:var(--font-head);font-weight:800;font-size:clamp(28px,4cqw,60px);line-height:1.02;letter-spacing:-.035em;text-wrap:balance;overflow-wrap:anywhere}
.vp-radio-artist{font-family:var(--font-head);font-weight:600;font-size:clamp(18px,1.7cqw,26px);letter-spacing:-.02em;color:var(--v-gold-soft)}
.vp-radio-artist:empty,.vp-radio-album:empty{display:none}
.vp-radio-album{color:var(--v-night-soft)}
.vp-radio-meta{display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--v-night-soft);margin-top:6px}
.vp-radio-meta [hidden]{display:none}
.vp-radio-next{margin-top:10px;color:var(--v-night-soft)}
.vp-radio-next[hidden]{display:none}
.vp-radio-next strong{color:var(--v-white);font-weight:600}
.vp-radio-actions{margin-top:clamp(24px,3cqw,40px)}
.vp-radio-play i{font-size:14px;margin-right:10px}
.vp-radio-play[disabled]{opacity:.5;cursor:not-allowed}
.vp-radio-state:empty{display:none}
.vp-radio-history{border-top:1px solid var(--v-rule)}
.vp-radio-history .radio-history-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--v-rule)}
.vp-radio-history .radio-history-icon{width:44px;height:44px;border-radius:10px;background:var(--v-navy);overflow:hidden;display:grid;place-items:center;color:var(--v-gold)}
.vp-radio-history .radio-history-icon img{width:100%;height:100%;object-fit:cover}
.vp-radio-history .radio-history-copy{display:grid;gap:2px;min-width:0}
.vp-radio-history .radio-history-copy strong{font-family:var(--font-head);font-weight:700;color:var(--v-navy);overflow-wrap:anywhere}
.vp-radio-history .radio-history-copy span{font-size:15px;color:var(--v-muted)}
.vp-radio-history time{font-variant-numeric:tabular-nums;font-weight:600;color:var(--v-muted);font-size:15px}
.vp-radio-history .radio-history-empty{padding:24px 0;color:var(--v-muted)}
.vp-radio-cards .vp-col{gap:14px}
.vp-share--plain{margin-top:4px;padding-top:0;border-top:0}
@container vp (max-width:720px){
.vp-radio-now{grid-template-columns:minmax(0,1fr)}
.vp-radio-art{width:120px}
}
@media (prefers-reduced-motion:reduce){.vp-radio-dot{animation:none}}
.vp-pol-contact{white-space:normal;text-align:center;max-width:100%}
.vp-policy strong,.vp-policy a{overflow-wrap:anywhere}
.vp-reg input[type=checkbox],.vp-donate-online input[type=checkbox]{width:24px;height:24px;accent-color:var(--v-navy);flex:none}
.vp .vp-row .vp-stretch:focus-visible::after{outline-color:var(--v-gold);outline-offset:-5px}

/* ─────────────────────────────────────────────
 * 4. CRM PAGES (ticket, volunteer portal, verification, secure links, wallet)
 * The plugin draws these pages itself. Its colour variables are pointed at the site palette so they read as one site.
 * ───────────────────────────────────────────── */
.vcrm-ticket-page,.vcrm-secure-access,.vcrm-wallet-bridge{--vft-navy:var(--v-navy);--vft-blue:var(--v-navy);--vft-blue-2:var(--v-navy-hover);--vft-yellow:var(--v-gold);--vft-ink:var(--v-ink);--vft-muted:var(--v-muted);--vft-line:var(--v-rule);--vft-soft:var(--v-paper);--vft-red:var(--v-alert);--vft-shadow:var(--v-shadow-card);background:var(--v-paper);color:var(--v-ink);font-family:var(--font-body)}
.vcrm-volunteer-portal,.vcrm-volunteer-verify-page{--vv-blue:var(--v-navy);--vv-blue-deep:var(--v-navy);--vv-yellow:var(--v-gold);--vv-ink:var(--v-ink);--vv-muted:var(--v-muted);--vv-line:var(--v-rule);--vv-soft:var(--v-paper);--vv-red:var(--v-alert);background:var(--v-bg);font-family:var(--font-body)}
:is(.vcrm-ticket-page,.vcrm-secure-access,.vcrm-wallet-bridge,.vcrm-volunteer-portal,.vcrm-volunteer-verify-page) :is(h1,h2,h3){font-family:var(--font-head);letter-spacing:-.03em;color:var(--v-navy)}
:is(.vcrm-ticket-page,.vcrm-secure-access,.vcrm-wallet-bridge,.vcrm-volunteer-portal,.vcrm-volunteer-verify-page) :focus-visible{outline:3px solid var(--v-focus);outline-offset:3px}
.vcrm-volunteer-portal a:not([class]),.vcrm-ticket-page a:not([class]){color:var(--v-navy)}
.vp-member-bio p+p,.vp-member-bio ul,.vp-member-bio ol{margin-top:8px}
.vp-member-bio ul{list-style:disc;padding-left:1.2em}
.vp-member-bio ol{list-style:decimal;padding-left:1.2em}
.vp-member-bio a{color:inherit;text-decoration:underline}
.footer-nav-inline .footer-nav-extra{margin-top:10px}
