/* ===== UVC brand book palette (brand book, Aug 2026) ===== */
:root{
  --uvc-ink:#1A2F5A;    /* Deep Navy  - borders, headings, body text */
  --uvc-navy:#1A2F5A;   /* Deep Navy */
  --uvc-harbor:#1951A0; /* Blue / Field - links, buttons, dates */
  --uvc-mid:#4A7CC7;    /* Blue / Field, lightened */
  --uvc-sky:#F5ECDC;    /* Tonal cream - warm accent panels */
  --uvc-pale:#E3EAF4;   /* pale blue tint */
  --uvc-paper:#FAFAF8;  /* off-white page background */
  --uvc-red:#ED1F33;    /* UVC Red - sparing accent only */
  --uvc-gold:#F7B01A;   /* Warm Gold */
  --uvc-tonal:#F5ECDC;  /* Tonal cream */
}
/* Brand typography: Jost (the brand book's Google Font stand-in for Futura Std). */
body,.wp-site-blocks,p,li,td,th,input,textarea,select,button,.wp-block-button__link{font-family:"Jost",system-ui,-apple-system,sans-serif;}
h1,h2,h3,h4,h5,h6,.wp-block-heading,.entry-title{font-family:"Jost",system-ui,-apple-system,sans-serif;font-weight:700;}
.uvc-chip{font-family:"Jost",system-ui,sans-serif;font-weight:700;}
/* older presets now resolve to Jost so nothing falls back to Montserrat */
:root,body{--wp--preset--font-family--montserrat:"Jost",system-ui,sans-serif;--wp--preset--font-family--space-grotesk:"Jost",system-ui,sans-serif;--wp--preset--font-family--fraunces:"Jost",system-ui,sans-serif;--wp--preset--font-family--anton:"Jost",system-ui,sans-serif;}
/* UVC Red as a sparing accent */
.uvc-chip{background:var(--uvc-red);color:#fff;border-color:var(--uvc-ink);}
a:hover{color:var(--uvc-red);}

.uvc-card{border:3px solid var(--uvc-ink);box-shadow:7px 7px 0 var(--uvc-ink);background:#fff;padding:34px 32px;height:100%;box-sizing:border-box;}
.uvc-card.is-harbor{background:var(--uvc-harbor);color:#fff;}
.uvc-card.is-navy{background:var(--uvc-navy);color:#fff;}
.uvc-card.is-mid{background:var(--uvc-mid);}
.uvc-card.is-sky{background:var(--uvc-sky);}
.uvc-card.is-pale{background:var(--uvc-pale);}
.uvc-card.is-flush{padding:0;overflow:hidden;}
.uvc-card.is-harbor a,.uvc-card.is-navy a{color:#fff;}
.uvc-card.is-harbor h1,.uvc-card.is-harbor h2,.uvc-card.is-harbor h3,.uvc-card.is-harbor h4,.uvc-card.is-harbor p,
.uvc-card.is-navy h1,.uvc-card.is-navy h2,.uvc-card.is-navy h3,.uvc-card.is-navy h4,.uvc-card.is-navy p{color:#fff;}
.uvc-card h1,.uvc-card h2,.uvc-card h3,.uvc-card h4{margin-top:0;}
.uvc-chip{display:inline-block;border:2px solid var(--uvc-ink);padding:5px 12px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;line-height:1.1;background:#fff;color:var(--uvc-ink);}
.uvc-chip.is-mid{background:var(--uvc-mid);}
.uvc-chip.is-sky{background:var(--uvc-sky);}
.uvc-chip.is-pale{background:var(--uvc-pale);}
.uvc-chip.is-harbor{background:var(--uvc-harbor);color:#fff;}
.uvc-rule{border-top:3px solid var(--uvc-ink);}
/* Brand button style, applied to every core Button block site-wide.
   Previously scoped to a few containers, which meant buttons on new pages
   silently fell back to the theme default rounded pill. */
.wp-block-button__link{border:2px solid var(--uvc-ink);box-shadow:4px 4px 0 var(--uvc-ink);border-radius:0;font-weight:800;letter-spacing:.04em;}
.uvc-card.is-flush img,.uvc-card.is-flush video{display:block;width:100%;height:auto;}
@media(max-width:781px){.uvc-card{box-shadow:5px 5px 0 var(--uvc-ink);padding:26px 22px;}}

#uvc-porch-light{filter:brightness(.84) saturate(.92) drop-shadow(0 0 0 rgba(242,169,59,0)) drop-shadow(0 0 0 rgba(242,169,59,0));transition:filter .4s ease;cursor:pointer;}
#uvc-porch-light.toggled{filter:brightness(1.12) saturate(1.05) drop-shadow(0 0 24px rgba(242,169,59,.9)) drop-shadow(0 0 60px rgba(242,169,59,.45));}
.uvc-porch-hint{font-size:.74rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;opacity:.72;margin-top:12px;}

.uvc-card.is-vcenter{display:flex;flex-direction:column;justify-content:center;}
.uvc-cal-embed{margin:26px -32px -34px;border-top:3px solid var(--uvc-ink);}






/* Home events card: two-column layout (text left, event list right) */
body.page-id-10 .uvc-events-cols{max-width:none!important;width:100%!important;}

/* teaser: show only the first paragraph, so auto-embeds in longer descriptions do not leak in */


body.page-id-10 .uvc-events-cols>.wp-block-column{min-width:0;}
body.page-id-10 .uvc-events-cols{gap:40px;align-items:center;}
body.page-id-10 .uvc-events-cols .uvc-cal-embed{margin-top:0!important;}
body.page-id-10 .uvc-events-cols .wp-block-column>*:first-child{margin-top:0;}
body.page-id-10 .uvc-events-cols .wp-block-column>*:last-child{margin-bottom:0;}
@media (max-width:781px){body.page-id-10 .uvc-events-cols{gap:28px;}}

/* Upcoming events list on the home page — The Events Calendar [ecs-list-events] */
body.page-id-10 .uvc-cal-embed ul.ecs-event-list{list-style:none!important;margin:0!important;padding:0!important;display:flex;flex-direction:column;gap:14px;}
html body.page-id-10 .uvc-cal-embed li.ecs-event{display:grid!important;grid-template-columns:92px 1fr!important;column-gap:16px;row-gap:4px;align-items:center;border:2px solid var(--uvc-ink);background:#fff;padding:12px;margin:0;list-style:none!important;}
html body.page-id-10 .uvc-cal-embed li.ecs-event>a{grid-column:1!important;grid-row:1 / span 2!important;display:block!important;line-height:0;}
html body.page-id-10 .uvc-cal-embed li.ecs-event img{width:92px!important;height:92px!important;object-fit:cover!important;display:block!important;max-width:92px!important;}
html body.page-id-10 .uvc-cal-embed li.ecs-event>.entry-title{grid-column:2!important;grid-row:1!important;margin:0!important;font-size:1.05rem!important;line-height:1.25!important;}
body.page-id-10 .uvc-cal-embed li.ecs-event>.entry-title a{text-decoration:none;color:var(--uvc-ink);}
html body.page-id-10 .uvc-cal-embed li.ecs-event>.duration{grid-column:2!important;grid-row:2!important;font-size:.85rem;font-weight:700;color:var(--uvc-harbor);display:block!important;}
@media (max-width:600px){body.page-id-10 .uvc-cal-embed li.ecs-event{grid-template-columns:64px 1fr;}body.page-id-10 .uvc-cal-embed li.ecs-event img{width:64px;height:64px;}}

/* ---- All Events archive page (/all-events/) ---- */
.uvc-archive ul.ecs-event-list{list-style:none!important;margin:32px 0 0!important;padding:0!important;display:flex;flex-direction:column;gap:18px;}
.uvc-archive li.ecs-event{display:grid!important;grid-template-columns:150px 1fr!important;column-gap:22px;row-gap:6px;align-items:start;border:3px solid var(--uvc-ink);box-shadow:6px 6px 0 var(--uvc-ink);background:#fff;padding:18px;margin:0;list-style:none!important;}
.uvc-archive li.ecs-event>a{grid-column:1!important;grid-row:1 / span 3!important;display:block!important;line-height:0;}
.uvc-archive li.ecs-event img:not(.emoji):not(.wp-smiley){width:150px!important;height:150px!important;max-width:150px!important;object-fit:cover!important;display:block!important;}
img.emoji,img.wp-smiley{width:1em!important;height:1em!important;max-width:1em!important;min-height:0!important;object-fit:contain!important;display:inline!important;vertical-align:-0.1em!important;margin:0 .05em 0 .1em!important;padding:0!important;border:0!important;box-shadow:none!important;}
.uvc-archive li.ecs-event>.entry-title{grid-column:2!important;grid-row:1!important;margin:0!important;font-size:1.25rem!important;line-height:1.25!important;}
.uvc-archive li.ecs-event>.entry-title a{text-decoration:none;color:var(--uvc-ink);}
.uvc-archive li.ecs-event>.duration{grid-column:2!important;grid-row:2!important;font-size:.85rem;font-weight:700;color:var(--uvc-harbor);display:block!important;}
.uvc-archive li.ecs-event>p,.uvc-archive li.ecs-event>.ecs-excerpt{grid-column:2!important;grid-row:3!important;margin:0!important;font-size:.95rem;color:#3d4753;}
@media (max-width:600px){.uvc-archive li.ecs-event{grid-template-columns:88px 1fr!important;}.uvc-archive li.ecs-event img:not(.emoji):not(.wp-smiley){width:88px!important;height:88px!important;max-width:88px!important;}}

/* events with no featured image: collapse the empty thumbnail column (no-image fallback) */
.uvc-archive li.ecs-event:not(:has(img)){grid-template-columns:1fr!important;}
body.page-id-10 .uvc-cal-embed li.ecs-event:not(:has(img)){grid-template-columns:1fr!important;}

/* ===== Homepage events card spacing =====
   The calendar embed iframe renders ~770px of content in a 1065px frame,
   and the columns were centre-aligned, which left a large gap above the heading. */
body.page-id-10 .uvc-events-cols{align-items:flex-start!important;}
body.page-id-10 .uvc-events-cols iframe{height:780px!important;max-height:780px!important;display:block;}
body.page-id-10 .uvc-card:has(.uvc-events-cols){padding:26px 28px!important;}
body.page-id-10 .uvc-events-cols>.wp-block-column>*:first-child{margin-top:0!important;}

/* ===== The Events Calendar: swap its default purple for UVC Blue / Field =====
   These variables also apply inside the calendar embed iframe. */
:root,.tribe-common,.tribe-events{--tec-color-accent-primary:#1951A0!important;--tec-color-accent-primary-hover:#123C7A!important;--tec-color-accent-primary-active:#123C7A!important;--tec-color-accent-primary-background:#E3EAF4!important;--tec-color-link-accent:#1951A0!important;--tec-color-link-accent-hover:#123C7A!important;}

/* Chip: UVC Red accent (declared last so it wins over the base .uvc-chip rule) */
/* Tags use Warm Gold. Navy text, because white on gold fails contrast. */
.uvc-chip{background:var(--uvc-gold)!important;color:var(--uvc-ink)!important;border-color:var(--uvc-ink)!important;}

/* ===== Community page (/community/) ===== */
.uvc-community-card{margin-bottom:0;}
.uvc-community-card .uvc-chip{margin-bottom:14px;}
.uvc-community-card h2{margin:0 0 10px;font-size:clamp(1.6rem,3vw,2.1rem);}
.uvc-lead{font-size:1.12rem;line-height:1.5;font-weight:500;color:var(--uvc-harbor);}
.uvc-community-intro .uvc-lead{color:var(--uvc-ink);max-width:60ch;}
.uvc-community-card.is-sky{background:var(--uvc-tonal);}
/* anchor links land below the sticky header instead of under it */
.uvc-community-card,.uvc-community-intro{scroll-margin-top:110px;}

/* Anchor links (e.g. /community/#run-club) were failing: the theme uses smooth
   scrolling, and the ExtenderX animation/dark-mode scripts load late and cancel the
   animated jump. Instant scrolling lands reliably. */
html{scroll-behavior:auto!important;}

/* The community sections carry ExtenderX entrance animations, which move the cards
   during load and land anchor links in the wrong place. Disabled on this page only. */
body.page-id-886 [class*="ext-animate"]{opacity:1!important;transform:none!important;animation:none!important;transition:none!important;}

/* ===== Homepage: overlapping community tiles ===== */
.uvc-groups-section{background:var(--uvc-paper);}
.uvc-groups-section h2{margin:12px 0 6px;}
.uvc-groups-row{display:flex;justify-content:center;align-items:stretch;margin-top:32px;}
.uvc-group-tile{position:relative;flex:1 1 0;min-width:0;aspect-ratio:4/5;display:block;overflow:hidden;
  border:3px solid var(--uvc-ink);box-shadow:6px 6px 0 var(--uvc-ink);background:var(--uvc-pale);
  text-decoration:none;transition:transform .28s ease, z-index 0s;z-index:1;}
/* the slight overlap */
.uvc-group-tile + .uvc-group-tile{margin-left:-26px;}
.uvc-group-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.uvc-group-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(26,47,90,.82) 0%,rgba(26,47,90,.15) 55%,rgba(26,47,90,0) 100%);transition:opacity .28s ease;}
.uvc-group-label{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 16px 18px;color:#fff;}
.uvc-group-name{font-family:"Jost",system-ui,sans-serif;font-weight:700;font-size:1rem;line-height:1.2;}
.uvc-group-arrow{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--uvc-red);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;
  opacity:0;transform:translateX(-6px);transition:opacity .28s ease, transform .28s ease;}
/* hover: lift the tile above its neighbours and reveal the arrow */
.uvc-group-tile:hover,.uvc-group-tile:focus-visible{transform:scale(1.06);z-index:5;}
.uvc-group-tile:hover img,.uvc-group-tile:focus-visible img{transform:scale(1.06);}
.uvc-group-tile:hover .uvc-group-arrow,.uvc-group-tile:focus-visible .uvc-group-arrow{opacity:1;transform:translateX(0);}
.uvc-group-tile:focus-visible{outline:3px solid var(--uvc-gold);outline-offset:3px;}
/* touch screens have no hover: no overlap, arrow always visible, 2x2 grid */
@media (hover:none),(max-width:781px){
  .uvc-groups-row{flex-wrap:wrap;gap:18px;}
  .uvc-group-tile{flex:1 1 calc(50% - 9px);}
  .uvc-group-tile + .uvc-group-tile{margin-left:0;}
  .uvc-group-tile:hover{transform:none;}
  .uvc-group-arrow{opacity:1;transform:none;}
}
@media (prefers-reduced-motion:reduce){.uvc-group-tile,.uvc-group-tile img,.uvc-group-arrow{transition:none!important;}}

/* ===== Community page: 2x2 grid with a photo in each box ===== */
.uvc-community-row{gap:28px;align-items:stretch;}
.uvc-community-col{display:flex;}
.uvc-community-card.is-flush{padding:0;overflow:hidden;display:flex;flex-direction:column;width:100%;}
.uvc-community-photo{margin:0!important;}
.uvc-community-photo img{width:100%!important;height:210px!important;max-height:210px!important;object-fit:cover!important;display:block;}
.uvc-community-body{padding:24px 26px 26px;}
.uvc-community-body .uvc-chip{margin-bottom:12px;}
@media (max-width:781px){.uvc-community-photo img{height:170px!important;max-height:170px!important;}}

/* groups-align-fix: keep the chip in the content column and let the tile row run wider */
.uvc-groups-section>.wp-block-html{width:100%;max-width:var(--wp--style--global--content-size);margin-left:auto;margin-right:auto;}
.uvc-groups-row{max-width:min(1120px,94vw);width:min(1120px,94vw);margin-left:auto;margin-right:auto;}
.uvc-group-tile{aspect-ratio:3/4;}
.uvc-group-name{font-size:1.05rem;}

.uvc-groups-section .uvc-chip-wrap{width:100%;max-width:var(--wp--style--global--content-size);margin-left:auto;margin-right:auto;}

/* The Twenty Twenty-Five theme ships a purple "primary" colour that drives buttons and
   accents. Remapped to the brand palette so everything follows the brand book. */
:root,body,.editor-styles-wrapper{
  --wp--preset--color--primary:#1951A0;
  --wp--preset--color--foreground:#1A2F5A;
}

/* Blue House moved into the footer column, with the contact card tucked below it.
   .uvc-card is height:100% by default, which would stretch the house card down the
   whole column, so this one sizes to its content instead. */
.uvc-footer-house{padding:26px 24px!important;text-align:center;display:flex;flex-direction:column;justify-content:center;}
.uvc-footer-house img{max-width:230px;height:auto;margin-inline:auto;}
@media (max-width:781px){.uvc-footer-house img{max-width:190px;}}

/* footer-house-sizing: in the footer row the cards should hug their content rather
   than stretch to equal height, so the contact card sits right under the house. */

/* groups-heading-tight: the intro line was removed, so close the gap to the tiles */
.uvc-groups-section h2{margin-bottom:0!important;}
.uvc-groups-row{margin-top:22px!important;}

/* ===== Homepage events: horizontal placards of upcoming events =====
   Replaces the month-calendar iframe, which was 780px tall. */
.uvc-events-section h2{margin:12px 0 6px;}
.uvc-events-section .uvc-chip-wrap{width:100%;max-width:var(--wp--style--global--content-size);margin-left:auto;margin-right:auto;}
.uvc-events-placards{width:min(1240px,94vw)!important;max-width:none!important;margin:26px auto 30px;}
.uvc-events-placards ul.ecs-event-list{list-style:none!important;margin:0!important;padding:0!important;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.uvc-events-placards li.ecs-event{display:flex!important;flex-direction:column;margin:0;list-style:none!important;border:3px solid var(--uvc-ink);box-shadow:6px 6px 0 var(--uvc-ink);background:#fff;overflow:hidden;}
.uvc-events-placards li.ecs-event>a{order:1;display:block!important;line-height:0;}
/* Partiful flyers are portrait; bias the crop upward so the headline survives */
.uvc-events-placards li.ecs-event img{width:100%!important;height:225px!important;max-height:225px!important;object-fit:cover!important;object-position:center 22%!important;display:block!important;}
.uvc-events-placards li.ecs-event>.entry-title{order:2;margin:0!important;padding:16px 18px 0;font-size:1.05rem!important;line-height:1.25!important;}
.uvc-events-placards li.ecs-event>.entry-title a{text-decoration:none;color:var(--uvc-ink);}
.uvc-events-placards li.ecs-event>.duration{order:3;padding:6px 18px 18px;font-size:.85rem;font-weight:700;color:var(--uvc-harbor);display:block!important;}
/* no featured image: keep the placard tidy */
.uvc-events-placards li.ecs-event:not(:has(img)) > .entry-title{padding-top:20px;}
@media (max-width:900px){.uvc-events-placards ul.ecs-event-list{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.uvc-events-placards ul.ecs-event-list{grid-template-columns:1fr;}}

/* ===== Our Story / About page ===== */
.uvc-about-sec .uvc-chip-wrap{width:100%;max-width:var(--wp--style--global--content-size);margin-left:auto;margin-right:auto;}
.uvc-about-sec h2{margin:12px 0 14px;}
.uvc-about-hero{min-height:0;}
.uvc-about-hero .uvc-chip-wrap{margin-bottom:18px;}
.uvc-about-manifesto{font-size:clamp(1.7rem,3.4vw,2.9rem)!important;line-height:1.15!important;max-width:20ch;margin:0!important;color:#fff;}
.uvc-about-cols{gap:40px;align-items:center;max-width:none!important;width:min(1120px,94vw);margin-left:auto;margin-right:auto;}
.uvc-about-photo{margin:0!important;}
.uvc-about-photo img{width:100%!important;height:340px!important;max-height:340px!important;object-fit:cover!important;display:block!important;}
.uvc-work-row{gap:28px;align-items:stretch;margin-bottom:28px;max-width:none!important;width:min(1120px,94vw);margin-left:auto;margin-right:auto;}
.uvc-work-row .wp-block-column{display:flex;}
.uvc-work-card{padding:0;overflow:hidden;display:flex;flex-direction:column;width:100%;}
.uvc-work-photo{margin:0!important;}
.uvc-work-photo img{width:100%!important;height:200px!important;max-height:200px!important;object-fit:cover!important;display:block!important;}
.uvc-work-body{padding:22px 24px 26px;}
.uvc-work-body .uvc-chip{margin-bottom:10px;}
.uvc-work-body h3{margin:0 0 8px!important;font-size:1.3rem!important;}
@media (max-width:781px){.uvc-about-photo img{height:240px;}.uvc-work-photo img{height:170px!important;max-height:170px!important;}}

/* about-hero-overlay: the has-ink-background-color class resolves to transparent here,
   so the dim is set explicitly and the hero content is constrained like other sections */
.uvc-about-hero .wp-block-cover__background{background-color:var(--uvc-ink)!important;opacity:.66!important;}
.uvc-about-hero .wp-block-cover__inner-container{width:100%;max-width:var(--wp--style--global--content-size);margin-left:auto;margin-right:auto;}
.uvc-about-hero .uvc-chip-wrap{max-width:none;}

/* about-photo-gap: figure was leaving whitespace under the image inside the card */
.uvc-about-photo{line-height:0;font-size:0;height:auto!important;}
.uvc-work-photo{line-height:0;font-size:0;}

/* .uvc-tag — the small label above headings. Colours, border and padding are set
   per block in the editor (Colour / Border panels); this only stops the paragraph
   stretching to full width. Add the class "uvc-tag" to any paragraph to reuse it. */
.uvc-tag{display:table;margin-bottom:14px;padding:6px 12px;border:2px solid var(--uvc-ink);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.2;}

/* ===== palette-classes =====
 The brand palette is defined in Appearance > Editor > Styles > Colours, but this
 install does not output the matching CSS for it, so picking a brand colour in the
 editor did nothing on the live site. These rules make the palette actually work.
 If you change a colour in the editor palette, update the matching hex here too. */
:root{
  --wp--preset--color--warm-cream:#F5ECDC;
  --wp--preset--color--ink:#1A2F5A;
  --wp--preset--color--terracotta:#ED1F33;
  --wp--preset--color--gold:#F7B01A;
  --wp--preset--color--forest:#123C7A;
  --wp--preset--color--harbor-blue:#1951A0;
  --wp--preset--color--deep-navy:#1A2F5A;
  --wp--preset--color--sky-tint:#E3EAF4;
  --wp--preset--color--house-gold:#F7B01A;
  --wp--preset--color--off-white:#FAFAF8;
}
.has-warm-cream-color{color:var(--wp--preset--color--warm-cream)!important;}
.has-warm-cream-background-color{background-color:var(--wp--preset--color--warm-cream)!important;}
.has-ink-color{color:var(--wp--preset--color--ink)!important;}
.has-ink-background-color{background-color:var(--wp--preset--color--ink)!important;}
.has-terracotta-color{color:var(--wp--preset--color--terracotta)!important;}
.has-terracotta-background-color{background-color:var(--wp--preset--color--terracotta)!important;}
.has-gold-color{color:var(--wp--preset--color--gold)!important;}
.has-gold-background-color{background-color:var(--wp--preset--color--gold)!important;}
.has-forest-color{color:var(--wp--preset--color--forest)!important;}
.has-forest-background-color{background-color:var(--wp--preset--color--forest)!important;}
.has-harbor-blue-color{color:var(--wp--preset--color--harbor-blue)!important;}
.has-harbor-blue-background-color{background-color:var(--wp--preset--color--harbor-blue)!important;}
.has-deep-navy-color{color:var(--wp--preset--color--deep-navy)!important;}
.has-deep-navy-background-color{background-color:var(--wp--preset--color--deep-navy)!important;}
.has-sky-tint-color{color:var(--wp--preset--color--sky-tint)!important;}
.has-sky-tint-background-color{background-color:var(--wp--preset--color--sky-tint)!important;}
.has-house-gold-color{color:var(--wp--preset--color--house-gold)!important;}
.has-house-gold-background-color{background-color:var(--wp--preset--color--house-gold)!important;}
.has-off-white-color{color:var(--wp--preset--color--off-white)!important;}
.has-off-white-background-color{background-color:var(--wp--preset--color--off-white)!important;}

/* cover-inner-constrain: keep Cover block content aligned with the rest of the page */
.wp-block-cover__inner-container{width:100%;max-width:var(--wp--style--global--content-size);margin-left:auto;margin-right:auto;}

/* Calendar embed at the foot of /all-events/. The iframe reports a taller height
   than its content, so it is capped here. Raise it if the month view looks cut off. */
.uvc-cal-frame{width:100%;margin:26px 0 0;border:3px solid var(--uvc-ink);box-shadow:6px 6px 0 var(--uvc-ink);background:#fff;}
.uvc-cal-frame iframe{display:block;width:100%;height:780px;border:0;}
@media (max-width:781px){.uvc-cal-frame iframe{height:640px;}}

/* Homepage "From the collective" row: Query Loop cards */
/* collective-tighten: cards size to their content instead of stretching,
   and the post thumbnails are capped so the row is not needlessly tall. */
.uvc-collective-row{gap:28px;align-items:flex-start;}
.uvc-post-card{padding:22px 24px!important;}
.uvc-post-card .wp-block-latest-posts__list{margin:0!important;}
.uvc-post-card .wp-block-latest-posts__list li{margin:0!important;}
.uvc-post-card .wp-block-latest-posts__featured-image img{max-height:120px;width:auto;display:block;}
.uvc-post-card .wp-block-latest-posts__post-title{display:block;margin-top:8px;}
.uvc-post-card + .wp-block-spacer{height:20px!important;}
.uvc-post-card{height:auto!important;}
.uvc-post-card .uvc-tag{margin-left:0!important;margin-right:auto!important;}
.uvc-post-card .wp-block-post-title{margin:0 0 8px!important;font-size:1.2rem!important;line-height:1.25!important;}
.uvc-post-card .wp-block-post-title a{text-decoration:none;color:var(--uvc-ink);}
.uvc-post-card .wp-block-post-excerpt{margin:0 0 10px!important;}
.uvc-post-card .wp-block-post-excerpt__more-text{display:none;}
.uvc-post-date{font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--uvc-harbor);margin:0!important;}
.uvc-empty{margin:0!important;color:#5a6572;font-size:.95rem;}

/* latest-posts-inline: thumbnail floats left, title/excerpt/date fill the space beside it */
.uvc-post-card .wp-block-latest-posts__featured-image.alignleft{float:left;margin:0 16px 8px 0;}
.uvc-post-card .wp-block-latest-posts__featured-image img{max-height:110px;width:auto;display:block;}
.uvc-post-card .wp-block-latest-posts__list li{overflow:hidden;}
.uvc-post-card .wp-block-latest-posts__post-excerpt{margin:6px 0 0!important;font-size:.92rem;line-height:1.45;}
.uvc-post-card .wp-block-latest-posts__post-date{display:block;margin-top:6px!important;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--uvc-harbor);}

/* project-pages: Refuse / Don’t Look Away / Mythbusted That / Our Work */
.uvc-tag.is-gold{border-color:var(--uvc-gold);color:var(--uvc-gold);}
.uvc-film-strip .uvc-tag{margin-bottom:18px;}
.uvc-sec > .wp-block-columns{margin-bottom:0;}
.uvc-split{gap:44px;align-items:flex-start;}
.uvc-poster img{width:100%;height:auto;display:block;border:3px solid var(--uvc-ink);box-shadow:7px 7px 0 var(--uvc-ink);}
.uvc-poster figcaption{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--uvc-harbor);margin-top:14px;}
.uvc-cast-row{gap:26px;margin-bottom:26px;}
.uvc-cast-photo{margin:0 0 12px!important;}
.uvc-cast-photo img{width:100%;height:300px;object-fit:cover;display:block;border:3px solid var(--uvc-ink);}
.uvc-cast-name{margin:0 0 2px!important;font-size:1.05rem!important;letter-spacing:.04em;text-transform:uppercase;}
.uvc-cast-role{margin:0!important;font-size:.92rem;color:var(--uvc-harbor);}
.uvc-statement p{max-width:70ch;}
.uvc-attrib{margin-top:22px!important;font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;}
.uvc-stills img{width:100%;height:220px;object-fit:cover;border:3px solid var(--uvc-ink);}
.uvc-credit{margin:0 0 14px!important;line-height:1.5;}
.uvc-credit strong{display:block;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--uvc-harbor);margin-bottom:2px;}
.uvc-credits-details{border:3px solid var(--uvc-ink);padding:18px 22px;background:#fff;}
.uvc-credits-details summary{cursor:pointer;font-weight:800;letter-spacing:.05em;text-transform:uppercase;font-size:.85rem;}
.uvc-credits-details[open] summary{margin-bottom:16px;}
.uvc-cta h2{margin-top:0;}
.uvc-project-hero{gap:44px;align-items:center;}
.uvc-project-photo{margin:0!important;}
.uvc-project-photo img{width:100%;height:auto;display:block;border:3px solid var(--uvc-ink);box-shadow:7px 7px 0 var(--uvc-ink);}
.uvc-stat{text-align:center;}
.uvc-stat .uvc-stat-num{font-size:2.4rem;font-weight:800;line-height:1.05;margin:0 0 6px!important;}
.uvc-stat p:last-child{margin:0!important;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;}
.uvc-work-body .uvc-tag{margin-bottom:10px;}
@media(max-width:781px){.uvc-cast-photo img{height:260px;}.uvc-stills img{height:180px;}}

/* project-pages-tagfix: keep section tags flush left */
.uvc-sec .uvc-tag,.uvc-work-body .uvc-tag,.uvc-statement .uvc-tag,.uvc-cta .uvc-tag{margin-left:0!important;margin-right:auto!important;}
.uvc-sec > .uvc-tag{margin-bottom:18px;}

/* project-pages-inner */
.uvc-sec-inner > *{margin-left:0!important;margin-right:0!important;max-width:none!important;}
.uvc-sec-inner .uvc-tag{margin-left:0!important;margin-right:auto!important;margin-bottom:18px;}
.uvc-film-strip .uvc-tag{margin-left:0!important;margin-right:auto!important;}
.uvc-sec-inner > .wp-block-columns{margin-bottom:0;}
.uvc-poster img{max-height:560px;object-fit:cover;}

/* project-image-heights: every project-page photo is the same height */
.uvc-project-photo img{height:400px!important;max-height:400px!important;object-fit:contain!important;object-position:center;width:100%!important;display:block;background:transparent;}
.uvc-credit{margin:0 0 10px!important;line-height:1.35!important;}
.uvc-credit strong{margin-bottom:0!important;}

/* card-inner-flush: card body text lines up with the tag above it */
.uvc-card.uvc-statement > *,.uvc-card.uvc-cta > *{margin-left:0!important;margin-right:0!important;max-width:none!important;}
.uvc-card.uvc-statement > p,.uvc-card.uvc-cta > p{max-width:72ch!important;}

/* stills-uniform: three equal-height stills per row */
.uvc-stills.wp-block-gallery{gap:16px!important;}
.uvc-stills.wp-block-gallery > .wp-block-image{flex-grow:0!important;width:calc((100% - 32px)/3)!important;flex-basis:calc((100% - 32px)/3)!important;margin:0!important;}
.uvc-stills.wp-block-gallery > .wp-block-image img{width:100%!important;height:230px!important;max-height:230px!important;object-fit:cover!important;display:block;}
@media(max-width:781px){.uvc-stills.wp-block-gallery > .wp-block-image{width:calc((100% - 16px)/2)!important;flex-basis:calc((100% - 16px)/2)!important;}.uvc-stills.wp-block-gallery > .wp-block-image img{height:170px!important;max-height:170px!important;}}

/* statement-measure: keep long-form cards to a readable width */
.uvc-sec-inner > .uvc-statement{max-width:960px!important;margin-left:auto!important;margin-right:auto!important;}
.uvc-card.uvc-statement > p{max-width:none!important;}

/* events-split: /all-events/ — list on the left, calendar on the right */
.uvc-events-split{gap:40px!important;align-items:stretch;margin-top:26px;}
.uvc-events-split > .wp-block-column{min-width:0;}
.uvc-cal-card{padding:24px 24px 26px!important;}
.uvc-cal-card h2{margin:0 0 6px!important;font-size:1.35rem!important;}
.uvc-cal-card > p{margin:0 0 16px!important;font-size:.95rem;}
.uvc-cal-card .uvc-cal-frame{margin:0;}
.uvc-cal-card .uvc-cal-frame iframe{width:100%;height:730px;border:3px solid var(--uvc-ink);background:#fff;display:block;}
.uvc-archive ul.ecs-event-list{margin:0!important;padding:0!important;list-style:none!important;}

@media(max-width:781px){.uvc-cal-card{position:static;}.uvc-events-split{gap:32px!important;}}

/* cal-card-height */
.uvc-cal-card{height:auto!important;align-self:flex-start;}
.uvc-events-split > .wp-block-column:last-child{display:block;}

/* team-native: The Team page rebuilt from Columns + Image blocks */

.uvc-people-row > .wp-block-column:empty{display:none;}
.uvc-person{display:flex;flex-direction:column;height:100%;}
.uvc-person-photo{margin:0!important;}

.uvc-person-body{padding:16px 18px 18px!important;}
.uvc-person-name{margin:0 0 8px!important;font-size:1.1rem!important;line-height:1.25!important;}
.uvc-person-body .uvc-tag{margin:0!important;font-size:.66rem;padding:5px 9px;}
.uvc-partner-row{gap:20px!important;margin-bottom:20px!important;align-items:center;}
.uvc-partner-row > .wp-block-column:empty{display:none;}
.uvc-partner-logo{margin:0!important;}



/* tag-visibility: the ExtenderX scroll animation can leave these small labels
   stuck at opacity 0 when they sit inside a card. They are decorative labels, so
   opt them out of the animation entirely. */
html.xero-sw .uvc-tag.xero-sw-el:not(.xero-sw-in),
html.xero-sw .uvc-chip.xero-sw-el:not(.xero-sw-in),
.uvc-tag,.uvc-chip{opacity:1!important;transform:none!important;visibility:visible!important;}

/* team-narrow: the Team page reads better on a narrower, centred column with
   smaller portrait frames, closer to the old Squarespace layout. */

body.page-id-133 .uvc-person-body{text-align:center;padding:14px 16px 18px!important;}
body.page-id-133 .uvc-person-name{text-align:center;}
body.page-id-133 .uvc-person-body .uvc-tag{margin-left:auto!important;margin-right:auto!important;}
@media(max-width:781px){body.page-id-133 .uvc-sec-inner{max-width:none!important;}}

/* team-minimal: only what the block settings cannot express */
.uvc-people-row{margin-bottom:32px!important;align-items:stretch;}
.uvc-person-photo img{width:100%!important;object-position:center 28%!important;background:var(--uvc-pale);}
.uvc-partner-logo img{width:100%!important;object-fit:contain!important;background:transparent;}

/* team-tag-centre: this page is a centred column, so the section labels centre with it
   instead of being pinned to the far left by the shared .uvc-sec rule. */
body.page-id-133 .uvc-sec > .uvc-tag,
body.page-id-50 .uvc-sec > .uvc-tag{
  margin-left:max(0px, calc((100% - 880px) / 2))!important;
  margin-right:auto!important;
}

/* fill-photo: an image that matches the height of whatever sits beside it. Used on the
   Give page, where the donation widget decides the row height. */
.uvc-fill-photo{margin:0!important;height:100%;display:block;}
.uvc-fill-photo img{width:100%!important;height:100%!important;min-height:420px;object-fit:cover!important;object-position:center 30%;display:block;}
.wp-block-column:has(> .uvc-fill-photo){display:flex;}
@media(max-width:781px){.uvc-fill-photo img{height:auto!important;min-height:0;aspect-ratio:4/5;}}

/* tag-gold: section labels are Warm Gold with navy text everywhere, matching the
   chips on the Give and Community pages. Deliberately no !important, so a block that
   sets its own colours in the editor still overrides this. */
.uvc-tag{background-color:var(--uvc-gold);color:var(--uvc-ink);border-color:var(--uvc-ink);}
.uvc-tag.is-gold{background-color:var(--uvc-gold);color:var(--uvc-ink);border-color:var(--uvc-ink);}

/* tag-on-dark: dark cards force their text white, which would put white on gold.
   Tags keep navy text inside them. */
.uvc-card.is-navy .uvc-tag,.uvc-card.is-harbor .uvc-tag,.uvc-card.is-mid .uvc-tag{color:var(--uvc-ink);}
.wp-block-cover .uvc-tag{color:var(--uvc-ink);}

/* home-work-cards: the three Our Work cards on the homepage keep the same image
   height whatever shape the source photo is. */
.uvc-home-work .uvc-card.is-flush img{height:215px!important;object-fit:cover!important;width:100%!important;display:block;}
@media(max-width:781px){.uvc-home-work .uvc-card.is-flush img{height:190px!important;}}

/* blog-grid: the posts index, styled like the old site — date, title, Read More */
.uvc-blog-card{display:flex;flex-direction:column;}
.uvc-blog-photo{margin:0 0 16px!important;}
.uvc-blog-photo img{width:100%!important;height:auto!important;display:block;border:3px solid var(--uvc-ink);}
.uvc-blog-date{margin:0 0 10px!important;font-size:.95rem;font-weight:700;letter-spacing:.02em;color:var(--uvc-ink);}
.uvc-blog-title{margin:0 0 12px!important;font-size:1.35rem!important;line-height:1.2!important;font-style:italic;}
.uvc-blog-title a{text-decoration:none;}
.uvc-blog-title a:hover{text-decoration:underline;}
.uvc-blog-more{margin:0!important;font-weight:700;text-decoration:underline;text-underline-offset:3px;}
@media(max-width:781px){.uvc-blog-title{font-size:1.2rem!important;}}


/* Upcoming events card on the All Events page: content-sized, not stretched to match the column */
.uvc-card.uvc-upcoming-card{
  height:auto !important;
}