/* Generated by CMS LITE CSS Compiler v2.0.0
   Site: eXchange (exchange)
   Spec hash: a219bdfd995c
   Uses CSS custom properties (--cmsl-*)
   DO NOT EDIT — regenerate from design spec
*/

:root{
  --cmsl-colours-primary:#C44E2D;
  --cmsl-colours-primary-dark:#8A3315;
  --cmsl-colours-primary-light:#FFF0EB;
  --cmsl-colours-secondary:#3E9E58;
  --cmsl-colours-accent:#F2A922;
  --cmsl-colours-text:#26221C;
  --cmsl-colours-text-secondary:#575045;
  --cmsl-colours-text-muted:#797262;
  --cmsl-colours-surface:#FFFDF8;
  --cmsl-colours-surface-raised:#FFFFFF;
  --cmsl-colours-surface-sunken:#FBF3E4;
  --cmsl-colours-border:rgba(38,34,28,0.16);
  --cmsl-colours-info:#2A63C8;
  --cmsl-colours-warning:#C6850C;
  --cmsl-colours-danger:#C8502E;
  --cmsl-colours-success:#3E9E58;
  --cmsl-colours-dark-bg:#26221C;
  --cmsl-colours-dark-text:#FFFDF8;
  --cmsl-colours-dark-muted:rgba(255,253,248,0.7);
  --cmsl-typography-font-heading:'Bricolage Grotesque',system-ui,sans-serif;
  --cmsl-typography-font-body:'Inclusive Sans',system-ui,sans-serif;
  --cmsl-typography-font-mono:ui-monospace,Menlo,monospace;
  --cmsl-typography-text-h1:2.5rem;
  --cmsl-typography-text-h2:1.7rem;
  --cmsl-typography-text-h3:1.25rem;
  --cmsl-typography-text-body:1rem;
  --cmsl-typography-text-lede:1.15rem;
  --cmsl-typography-text-small:0.875rem;
  --cmsl-typography-text-kicker:0.75rem;
  --cmsl-typography-weight-regular:400;
  --cmsl-typography-weight-medium:500;
  --cmsl-typography-weight-semibold:600;
  --cmsl-typography-weight-bold:700;
  --cmsl-spacing-xs:4px;
  --cmsl-spacing-sm:8px;
  --cmsl-spacing-md:16px;
  --cmsl-spacing-lg:24px;
  --cmsl-spacing-xl:30px;
  --cmsl-spacing-xxl:48px;
  --cmsl-spacing-section:42px;
  --cmsl-spacing-container-max:1320px;
  --cmsl-radii-sm:4px;
  --cmsl-radii-md:8px;
  --cmsl-radii-lg:12px;
  --cmsl-shadows-sm:0 1px 3px rgba(0,0,0,0.08);
  --cmsl-shadows-md:0 4px 12px rgba(0,0,0,0.10);
  --cmsl-shadows-lg:0 8px 24px rgba(0,0,0,0.12);
  --cmsl-motion-fast:150ms ease;
  --cmsl-motion-base:250ms ease;
}

body[data-theme="dark"]{
  --cmsl-colours-primary:#F0906E;
  --cmsl-colours-primary-dark:#C8502E;
  --cmsl-colours-primary-light:#3A1F18;
  --cmsl-colours-text:#F5F1E8;
  --cmsl-colours-text-secondary:#C9C2B4;
  --cmsl-colours-text-muted:#9A9384;
  --cmsl-colours-surface:#1E1B16;
  --cmsl-colours-surface-raised:#2A261F;
  --cmsl-colours-surface-sunken:#2A261F;
  --cmsl-colours-border:rgba(245,241,232,0.18);
  --cmsl-colours-info:#8FB4F2;
  --cmsl-colours-warning:#F2A922;
  --cmsl-colours-danger:#F0906E;
  --cmsl-colours-success:#85C99B;
  --cmsl-colours-dark-bg:#FFFDF8;
  --cmsl-colours-dark-text:#26221C;
  --cmsl-colours-dark-muted:rgba(38,34,28,0.7);
  --cmsl-colours-secondary:#85C99B;
  --cmsl-colours-accent:#F2A922;
}

/* Callout */
.b-callout{padding:var(--cmsl-spacing-md) var(--cmsl-spacing-lg);border-radius:var(--cmsl-radii-md);border-left:4px solid var(--cmsl-colours-border);background:var(--cmsl-colours-surface-sunken);margin-bottom:1rem}
.b-callout--info{border-left-color:var(--cmsl-colours-info);background:color-mix(in srgb,var(--cmsl-colours-info) 6%,var(--cmsl-colours-surface))}
.b-callout--warning{border-left-color:var(--cmsl-colours-warning);background:color-mix(in srgb,var(--cmsl-colours-warning) 8%,var(--cmsl-colours-surface))}
.b-callout--danger{border-left-color:var(--cmsl-colours-danger);background:color-mix(in srgb,var(--cmsl-colours-danger) 6%,var(--cmsl-colours-surface))}
.b-callout--success{border-left-color:var(--cmsl-colours-success);background:color-mix(in srgb,var(--cmsl-colours-success) 6%,var(--cmsl-colours-surface))}
.b-callout__heading{font-family:var(--cmsl-typography-font-heading);font-weight:var(--cmsl-typography-weight-semibold);font-size:1rem;margin:0 0 4px}
.b-callout__text{font-size:0.95rem;margin:0}

/* Flow body lists (grammar v2 — nested lists preserved) */
.b-callout__text ul,.b-callout__text ol{margin-bottom:1em;margin-top:0.5em;padding-left:1.5em}
.b-callout__text ul{list-style:disc}
.b-callout__text ol{list-style:decimal}
.b-callout__text li{margin-bottom:0.25em}
.b-callout__text ul ul,.b-callout__text ol ol,.b-callout__text ul ol,.b-callout__text ol ul{margin:0.25em 0;padding-left:1.25em}
.b-callout__text ul ul{list-style:circle}
.b-callout__text ol ol{list-style:lower-alpha}
.b-callout__text li:last-child{margin-bottom:0}
/* Content: event */
.event-card{border:1px solid var(--cmsl-colours-border);border-radius:var(--cmsl-radii-md);padding:var(--cmsl-spacing-md);margin-bottom:1rem;background:var(--cmsl-colours-surface-raised);box-shadow:var(--cmsl-shadows-sm)}
.event-card__body{display:flex;flex-direction:column;gap:var(--cmsl-spacing-xs)}
.event-card__when{font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-text-muted);font-weight:var(--cmsl-typography-weight-semibold);font-family:var(--cmsl-typography-font-mono)}
.event-card__title{font-size:var(--cmsl-typography-text-h3);font-family:var(--cmsl-typography-font-heading);font-weight:var(--cmsl-typography-weight-semibold)}
.event-card__where{font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-text-secondary)}

.b-event__text{margin:0}
/* Flow body lists (grammar v2 — nested lists preserved) */
.b-event__text ul,.b-event__text ol{margin-bottom:1em;margin-top:0.5em;padding-left:1.5em}
.b-event__text ul{list-style:disc}
.b-event__text ol{list-style:decimal}
.b-event__text li{margin-bottom:0.25em}
.b-event__text ul ul,.b-event__text ol ol,.b-event__text ul ol,.b-event__text ol ul{margin:0.25em 0;padding-left:1.25em}
.b-event__text ul ul{list-style:circle}
.b-event__text ol ol{list-style:lower-alpha}
.b-event__text li:last-child{margin-bottom:0}
/* Content: heading */
.b-heading{margin-bottom:0.5em}
.b-heading--page{font-size:var(--cmsl-typography-text-h1);font-family:var(--cmsl-typography-font-heading);font-weight:var(--cmsl-typography-weight-bold);line-height:1.2}
.b-heading--section{font-size:var(--cmsl-typography-text-h2);font-family:var(--cmsl-typography-font-heading);font-weight:var(--cmsl-typography-weight-bold);line-height:1.2}
.b-heading--subsection{font-size:var(--cmsl-typography-text-h3);font-family:var(--cmsl-typography-font-heading);font-weight:var(--cmsl-typography-weight-semibold);line-height:1.3}
.b-heading--muted{color:var(--cmsl-colours-text-muted)}
/* Content: intro */
.b-intro{margin-bottom:2rem}
.b-intro__kicker{font-size:var(--cmsl-typography-text-kicker);text-transform:uppercase;letter-spacing:0.1em;color:var(--cmsl-colours-text-muted);font-weight:var(--cmsl-typography-weight-semibold);font-family:var(--cmsl-typography-font-mono);margin-bottom:var(--cmsl-spacing-xs)}
.b-intro__title{font-size:var(--cmsl-typography-text-h1);font-family:var(--cmsl-typography-font-heading);font-weight:var(--cmsl-typography-weight-bold);line-height:1.2;margin-bottom:var(--cmsl-spacing-sm)}
.b-intro__lede{font-size:var(--cmsl-typography-text-lede);color:var(--cmsl-colours-text-secondary);line-height:1.5}
/* Content: logo_strip */
.b-logo-strip{display:flex;flex-direction:column;gap:var(--cmsl-spacing-sm);padding:var(--cmsl-spacing-md) 0}
.b-logo-strip__label{font-size:var(--cmsl-typography-text-kicker);color:var(--cmsl-colours-text-muted);text-transform:uppercase;letter-spacing:0.1em;font-family:var(--cmsl-typography-font-mono)}
.b-logo-strip__items{display:flex;flex-wrap:wrap;gap:var(--cmsl-spacing-lg);align-items:center}
.b-logo-strip__item{font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-text-secondary);opacity:0.8}
/* Content: newsletter / prose */
.b-newsletter{display:flex;flex-direction:column;gap:var(--cmsl-spacing-lg)}
.b-newsletter__section{display:flex;flex-direction:column;gap:var(--cmsl-spacing-sm)}
.b-newsletter__heading{font-size:var(--cmsl-typography-text-h3);font-family:var(--cmsl-typography-font-heading);font-weight:var(--cmsl-typography-weight-semibold)}
.b-newsletter__date{font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-text-muted);font-family:var(--cmsl-typography-font-mono)}
.b-prose{line-height:1.7;color:var(--cmsl-colours-text)}
.b-prose p{margin-bottom:1em}
.b-prose p:last-child{margin-bottom:0}
/* Content: paragraph */
.b-paragraph{line-height:1.7;color:var(--cmsl-colours-text);margin-bottom:1em}
.b-paragraph:last-child{margin-bottom:0}
.b-paragraph--lede{font-size:var(--cmsl-typography-text-lede);color:var(--cmsl-colours-text-secondary)}
.b-paragraph--small{font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-text-muted)}

/* Flow body lists (grammar v2 — nested lists preserved) */
.b-paragraph ul,.b-paragraph ol{margin-bottom:1em;margin-top:0.5em;padding-left:1.5em}
.b-paragraph ul{list-style:disc}
.b-paragraph ol{list-style:decimal}
.b-paragraph li{margin-bottom:0.25em}
.b-paragraph ul ul,.b-paragraph ol ol,.b-paragraph ul ol,.b-paragraph ol ul{margin:0.25em 0;padding-left:1.25em}
.b-paragraph ul ul{list-style:circle}
.b-paragraph ol ol{list-style:lower-alpha}
.b-paragraph li:last-child{margin-bottom:0}
/* Content: pricing_table */
.b-pricing{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--cmsl-spacing-lg)}
.b-pricing__tier{border:1px solid var(--cmsl-colours-border);border-radius:var(--cmsl-radii-lg);padding:var(--cmsl-spacing-lg);background:var(--cmsl-colours-surface-raised);box-shadow:var(--cmsl-shadows-sm);display:flex;flex-direction:column;gap:var(--cmsl-spacing-sm)}
.b-pricing__tier--featured{border-color:var(--cmsl-colours-primary);box-shadow:var(--cmsl-shadows-md)}
.b-pricing__name{font-size:var(--cmsl-typography-text-h3);font-family:var(--cmsl-typography-font-heading);font-weight:var(--cmsl-typography-weight-semibold)}
.b-pricing__price{font-size:2rem;font-weight:var(--cmsl-typography-weight-bold);font-family:var(--cmsl-typography-font-heading);color:var(--cmsl-colours-primary)}
.b-pricing__period{font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-text-muted)}
.b-pricing__features{display:flex;flex-direction:column;gap:var(--cmsl-spacing-xs)}
.b-pricing__feature{font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-text-secondary);display:flex;gap:var(--cmsl-spacing-xs);align-items:start}
.b-pricing__feature::before{content:'\2713';color:var(--cmsl-colours-success);font-weight:var(--cmsl-typography-weight-bold)}

.b-pricing__blurb{margin:0 0 0.5em}
/* Flow body lists (grammar v2 — nested lists preserved) */
.b-pricing__blurb ul,.b-pricing__blurb ol{margin-bottom:1em;margin-top:0.5em;padding-left:1.5em}
.b-pricing__blurb ul{list-style:disc}
.b-pricing__blurb ol{list-style:decimal}
.b-pricing__blurb li{margin-bottom:0.25em}
.b-pricing__blurb ul ul,.b-pricing__blurb ol ol,.b-pricing__blurb ul ol,.b-pricing__blurb ol ul{margin:0.25em 0;padding-left:1.25em}
.b-pricing__blurb ul ul{list-style:circle}
.b-pricing__blurb ol ol{list-style:lower-alpha}
.b-pricing__blurb li:last-child{margin-bottom:0}
/* Content: prose */
.b-prose{line-height:1.7;color:var(--cmsl-colours-text);max-width:70ch}
.b-prose p{margin-bottom:1em}
.b-prose p:last-child{margin-bottom:0}
.b-prose strong{font-weight:var(--cmsl-typography-weight-bold)}
.b-prose em{font-style:italic}
.b-prose ul,.b-prose ol{margin-bottom:1em;padding-left:1.5em}
.b-prose ul{list-style:disc}
.b-prose ol{list-style:decimal}
.b-prose li{margin-bottom:0.25em}
.b-prose__section{display:flex;flex-direction:column;gap:var(--cmsl-spacing-sm)}
.b-prose__para{margin:0}
/* Content: quote */
.b-quote{border-left:4px solid var(--cmsl-colours-primary);padding-left:var(--cmsl-spacing-lg);margin:1rem 0;font-style:italic;font-size:var(--cmsl-typography-text-lede);color:var(--cmsl-colours-text-secondary);line-height:1.6}
.b-quote__author{font-style:normal;font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-text-muted);margin-top:var(--cmsl-spacing-sm);font-weight:var(--cmsl-typography-weight-semibold)}
.b-quote__role{font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-text-muted)}

/* Flow body lists (grammar v2 — nested lists preserved) */
.b-quote__text ul,.b-quote__text ol{margin-bottom:1em;margin-top:0.5em;padding-left:1.5em}
.b-quote__text ul{list-style:disc}
.b-quote__text ol{list-style:decimal}
.b-quote__text li{margin-bottom:0.25em}
.b-quote__text ul ul,.b-quote__text ol ol,.b-quote ul ol,.b-quote ol ul{margin:0.25em 0;padding-left:1.25em}
.b-quote__text ul ul{list-style:circle}
.b-quote__text ol ol{list-style:lower-alpha}
.b-quote li:last-child{margin-bottom:0}
.b-quote__text{margin:0}
/* Content: steps */
.b-steps{display:flex;flex-direction:column;gap:var(--cmsl-spacing-lg);counter-reset:step}
.b-steps__item{display:flex;gap:var(--cmsl-spacing-md);align-items:flex-start}
.b-steps__num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--cmsl-colours-primary);color:var(--cmsl-colours-surface-raised);font-size:var(--cmsl-typography-text-small);font-weight:var(--cmsl-typography-weight-bold);flex-shrink:0;font-family:var(--cmsl-typography-font-heading)}
.b-steps__body{display:flex;flex-direction:column;gap:var(--cmsl-spacing-xs)}
.b-steps__title{font-size:var(--cmsl-typography-text-h3);font-family:var(--cmsl-typography-font-heading);font-weight:var(--cmsl-typography-weight-semibold)}
.b-steps__desc{font-size:var(--cmsl-typography-text-body);color:var(--cmsl-colours-text-secondary);line-height:1.5}
.b-steps:has(.steps-num){counter-reset:step}
.steps-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--cmsl-colours-primary);color:var(--cmsl-colours-surface-raised);font-size:var(--cmsl-typography-text-small);font-weight:var(--cmsl-typography-weight-bold);flex-shrink:0;font-family:var(--cmsl-typography-font-heading);counter-increment:step}
.steps-num::before{content:counter(step)}

/* Flow body lists (grammar v2 — nested lists preserved) */
.b-steps__desc ul,.b-steps__desc ol{margin-bottom:1em;margin-top:0.5em;padding-left:1.5em}
.b-steps__desc ul{list-style:disc}
.b-steps__desc ol{list-style:decimal}
.b-steps__desc li{margin-bottom:0.25em}
.b-steps__desc ul ul,.b-steps__desc ol ol,.b-steps__desc ul ol,.b-steps__desc ol ul{margin:0.25em 0;padding-left:1.25em}
.b-steps__desc ul ul{list-style:circle}
.b-steps__desc ol ol{list-style:lower-alpha}
.b-steps__desc li:last-child{margin-bottom:0}
/* Table */
.b-table{width:100%;border-collapse:collapse;border:1px solid var(--cmsl-colours-border);border-radius:var(--cmsl-radii-md);overflow:hidden}
.b-table th{background:var(--cmsl-colours-surface-sunken);padding:12px 16px;text-align:left;font:var(--cmsl-typography-weight-semibold) 0.85rem var(--cmsl-typography-font-mono);letter-spacing:0.04em;text-transform:uppercase;color:var(--cmsl-colours-text-muted);border-bottom:2px solid var(--cmsl-colours-border)}
.b-table td{padding:12px 16px;border-bottom:1px solid var(--cmsl-colours-border);font-size:0.95rem}
.b-table tbody tr:last-child td{border-bottom:none}
.b-table tbody tr:nth-child(even){background:color-mix(in srgb,var(--cmsl-colours-text) 2%,var(--cmsl-colours-surface-raised))}
.b-table.b-table--unstriped tbody tr:nth-child(even){background:none}
.b-table tfoot td{padding:12px 16px;font:var(--cmsl-typography-weight-semibold) 0.95rem var(--cmsl-typography-font-body);border-top:2px solid var(--cmsl-colours-border);border-bottom:none}
.b-table tfoot td:empty::after{content:"\00a0"}
/* Content: text_image */
.b-textimg{display:grid;grid-template-columns:1fr 1fr;gap:var(--cmsl-spacing-xl);align-items:center}
.b-textimg--reverse{grid-template-columns:1fr 1fr;direction:rtl}
.b-textimg--reverse .b-textimg__copy{direction:ltr}
.b-textimg__copy{display:flex;flex-direction:column;gap:var(--cmsl-spacing-sm)}
.b-textimg__copy .kicker{margin-bottom:var(--cmsl-spacing-xs)}
.b-textimg__frame{border-radius:var(--cmsl-radii-lg);overflow:hidden;box-shadow:var(--cmsl-shadows-md)}
.b-textimg__caption{font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-text-muted);margin-top:var(--cmsl-spacing-xs)}

.b-text-image__text{margin:0}
/* Flow body lists (grammar v2 — nested lists preserved) */
.b-text-image__text ul,.b-text-image__text ol{margin-bottom:1em;margin-top:0.5em;padding-left:1.5em}
.b-text-image__text ul{list-style:disc}
.b-text-image__text ol{list-style:decimal}
.b-text-image__text li{margin-bottom:0.25em}
.b-text-image__text ul ul,.b-text-image__text ol ol,.b-text-image__text ul ol,.b-text-image__text ol ul{margin:0.25em 0;padding-left:1.25em}
.b-text-image__text ul ul{list-style:circle}
.b-text-image__text ol ol{list-style:lower-alpha}
.b-text-image__text li:last-child{margin-bottom:0}
/* Content: timeline */
.b-timeline{display:flex;flex-direction:column;gap:var(--cmsl-spacing-lg);position:relative;padding-left:var(--cmsl-spacing-lg);border-left:2px solid var(--cmsl-colours-border)}
.b-timeline__item{position:relative}
.b-timeline__item::before{content:'';position:absolute;left:-23px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--cmsl-colours-primary);border:2px solid var(--cmsl-colours-surface-raised)}
.b-timeline__date{font-size:var(--cmsl-typography-text-kicker);color:var(--cmsl-colours-text-muted);font-weight:var(--cmsl-typography-weight-semibold);font-family:var(--cmsl-typography-font-mono);text-transform:uppercase;letter-spacing:0.05em}
.b-timeline__title{font-size:var(--cmsl-typography-text-h3);font-family:var(--cmsl-typography-font-heading);font-weight:var(--cmsl-typography-weight-semibold);margin:2px 0}
.b-timeline__desc{font-size:var(--cmsl-typography-text-body);color:var(--cmsl-colours-text-secondary);line-height:1.5}

/* Flow body lists (grammar v2 — nested lists preserved) */
.b-timeline__desc ul,.b-timeline__desc ol{margin-bottom:1em;margin-top:0.5em;padding-left:1.5em}
.b-timeline__desc ul{list-style:disc}
.b-timeline__desc ol{list-style:decimal}
.b-timeline__desc li{margin-bottom:0.25em}
.b-timeline__desc ul ul,.b-timeline__desc ol ol,.b-timeline__desc ul ol,.b-timeline__desc ol ul{margin:0.25em 0;padding-left:1.25em}
.b-timeline__desc ul ul{list-style:circle}
.b-timeline__desc ol ol{list-style:lower-alpha}
.b-timeline__desc li:last-child{margin-bottom:0}
/* Content: counter */
.b-counter{text-align:center;padding:var(--cmsl-spacing-lg)}
.b-counter__value{font-size:3rem;font-weight:var(--cmsl-typography-weight-bold);line-height:1;font-family:var(--cmsl-typography-font-heading);color:var(--cmsl-colours-primary)}
.b-counter__label{font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-text-muted);text-transform:uppercase;letter-spacing:0.05em;font-family:var(--cmsl-typography-font-mono);margin-top:var(--cmsl-spacing-xs)}
/* Data: panel */
.b-panel{border:1px solid var(--cmsl-colours-border);border-radius:var(--cmsl-radii-md);padding:var(--cmsl-spacing-md);background:var(--cmsl-colours-surface-raised);box-shadow:var(--cmsl-shadows-sm)}
.b-panel__heading{font-size:var(--cmsl-typography-text-h3);font-family:var(--cmsl-typography-font-heading);font-weight:var(--cmsl-typography-weight-semibold);margin-bottom:var(--cmsl-spacing-sm)}
.b-panel .row{display:flex;justify-content:space-between;padding:var(--cmsl-spacing-sm) 0;border-bottom:1px solid var(--cmsl-colours-border)}
.b-panel .row:last-child{border-bottom:none}
.b-panel .row__label{font-weight:var(--cmsl-typography-weight-semibold);color:var(--cmsl-colours-text)}
.b-panel .row__title{font-weight:var(--cmsl-typography-weight-semibold);color:var(--cmsl-colours-text)}
.b-panel .row__meta{color:var(--cmsl-colours-text-muted);font-size:var(--cmsl-typography-text-small)}
.b-panel .row__date{color:var(--cmsl-colours-text-muted);font-size:var(--cmsl-typography-text-small);font-family:var(--cmsl-typography-font-mono)}

.b-panel__text{margin:0}
/* Flow body lists (grammar v2 — nested lists preserved) */
.b-panel__text ul,.b-panel__text ol{margin-bottom:1em;margin-top:0.5em;padding-left:1.5em}
.b-panel__text ul{list-style:disc}
.b-panel__text ol{list-style:decimal}
.b-panel__text li{margin-bottom:0.25em}
.b-panel__text ul ul,.b-panel__text ol ol,.b-panel__text ul ol,.b-panel__text ol ul{margin:0.25em 0;padding-left:1.25em}
.b-panel__text ul ul{list-style:circle}
.b-panel__text ol ol{list-style:lower-alpha}
.b-panel__text li:last-child{margin-bottom:0}
/* Data: stats */
.b-stats{display:flex;flex-direction:column;gap:var(--cmsl-spacing-md)}
.b-stats__heading{font-size:var(--cmsl-typography-text-h3);font-family:var(--cmsl-typography-font-heading);font-weight:var(--cmsl-typography-weight-semibold)}
.b-stats__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--cmsl-spacing-lg);text-align:center}
.b-stats__item{display:flex;flex-direction:column;gap:var(--cmsl-spacing-xs)}
.b-stats__num{font-size:2rem;font-weight:var(--cmsl-typography-weight-bold);font-family:var(--cmsl-typography-font-heading);color:var(--cmsl-colours-primary)}
.b-stats__label{font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-text-muted);text-transform:uppercase;letter-spacing:0.05em;font-family:var(--cmsl-typography-font-mono)}
/* Data: team */
.b-team{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--cmsl-spacing-lg)}
.b-team .person{display:flex;flex-direction:column;gap:var(--cmsl-spacing-sm);text-align:center}
.b-team .person__photo{border-radius:var(--cmsl-radii-md);overflow:hidden;aspect-ratio:1;background:var(--cmsl-colours-surface-sunken)}
.b-team .person__body{display:flex;flex-direction:column;gap:2px}
.b-team .person__name{font-size:var(--cmsl-typography-text-body);font-weight:var(--cmsl-typography-weight-semibold);font-family:var(--cmsl-typography-font-heading);color:var(--cmsl-colours-text)}
.b-team .person__role{font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-text-muted)}
.b-team .person__bio{font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-text-secondary);line-height:1.4}
.b-team .tag{display:inline-block;font-size:0.7rem;padding:2px var(--cmsl-spacing-sm);border-radius:var(--cmsl-radii-sm);background:var(--cmsl-colours-surface-sunken);color:var(--cmsl-colours-text-muted)}
/* Interaction: accordion */
.b-accordion{display:flex;flex-direction:column;gap:var(--cmsl-spacing-sm)}
.b-accordion__item{border:1px solid var(--cmsl-colours-border);border-radius:var(--cmsl-radii-md);overflow:hidden;background:var(--cmsl-colours-surface-raised);transition:box-shadow var(--cmsl-motion-fast)}
.b-accordion__item--open{box-shadow:var(--cmsl-shadows-sm)}
.b-accordion__heading{padding:12px var(--cmsl-spacing-md);cursor:pointer;font-size:var(--cmsl-typography-text-body);font-weight:var(--cmsl-typography-weight-semibold);font-family:var(--cmsl-typography-font-heading);display:flex;justify-content:space-between;align-items:center;color:var(--cmsl-colours-text);background:none;border:none;width:100%;text-align:left}
.b-accordion__icon{font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-text-muted);transition:transform var(--cmsl-motion-fast)}
.b-accordion__item--open .b-accordion__icon{transform:rotate(180deg)}
.b-accordion__content{padding:0 var(--cmsl-spacing-md) 12px;font-size:var(--cmsl-typography-text-body);color:var(--cmsl-colours-text-secondary);line-height:1.5}

.b-accordion__answer{margin:0}
/* Flow body lists (grammar v2 — nested lists preserved) */
.b-accordion__answer ul,.b-accordion__answer ol{margin-bottom:1em;margin-top:0.5em;padding-left:1.5em}
.b-accordion__answer ul{list-style:disc}
.b-accordion__answer ol{list-style:decimal}
.b-accordion__answer li{margin-bottom:0.25em}
.b-accordion__answer ul ul,.b-accordion__answer ol ol,.b-accordion__answer ul ol,.b-accordion__answer ol ul{margin:0.25em 0;padding-left:1.25em}
.b-accordion__answer ul ul{list-style:circle}
.b-accordion__answer ol ol{list-style:lower-alpha}
.b-accordion__answer li:last-child{margin-bottom:0}
/* Interaction: accordion_frame (container for accordion items) */
.b-accordion-frame{display:flex;flex-direction:column;gap:var(--cmsl-spacing-sm)}
.b-accordion-frame__heading{font-size:var(--cmsl-typography-text-h2);font-family:var(--cmsl-typography-font-heading);font-weight:var(--cmsl-typography-weight-bold);margin-bottom:var(--cmsl-spacing-sm)}
/* Interaction: accordion_item (single item within accordion_frame) */
.b-accordion-item{border:1px solid var(--cmsl-colours-border);border-radius:var(--cmsl-radii-md);overflow:hidden;background:var(--cmsl-colours-surface-raised)}
.b-accordion-item__heading{padding:12px var(--cmsl-spacing-md);cursor:pointer;font-size:var(--cmsl-typography-text-body);font-weight:var(--cmsl-typography-weight-semibold);font-family:var(--cmsl-typography-font-heading);display:flex;justify-content:space-between;align-items:center;color:var(--cmsl-colours-text);background:none;border:none;width:100%;text-align:left}
.b-accordion-item__icon{font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-text-muted);transition:transform var(--cmsl-motion-fast)}
.b-accordion-item--open .b-accordion-item__icon{transform:rotate(180deg)}
.b-accordion-item__content{padding:0 var(--cmsl-spacing-md) 12px;font-size:var(--cmsl-typography-text-body);color:var(--cmsl-colours-text-secondary);line-height:1.5}
/* Interaction: button */
.b-button{display:inline-block}
.b-button--primary .btn{background:var(--cmsl-colours-primary);color:var(--cmsl-colours-surface-raised);border-color:var(--cmsl-colours-primary)}
.b-button--primary .btn:hover{background:var(--cmsl-colours-primary-dark)}
.b-button--secondary .btn{background:transparent;color:var(--cmsl-colours-primary);border-color:var(--cmsl-colours-primary)}
.b-button--secondary .btn:hover{background:var(--cmsl-colours-primary-light)}
.b-button--ghost .btn{background:transparent;color:var(--cmsl-colours-text);border-color:var(--cmsl-colours-border)}
.b-button--ghost .btn:hover{background:var(--cmsl-colours-surface-sunken)}
.b-button--lg .btn{padding:var(--cmsl-spacing-md) var(--cmsl-spacing-xl);font-size:var(--cmsl-typography-text-body)}
.b-button--sm .btn{padding:var(--cmsl-spacing-xs) var(--cmsl-spacing-md);font-size:var(--cmsl-typography-text-small)}
/* Interaction: contact_form */
.b-contact-form{display:flex;flex-direction:column;gap:var(--cmsl-spacing-md);max-width:600px}
.b-contact-form__field{display:flex;flex-direction:column;gap:var(--cmsl-spacing-xs)}
.b-contact-form__label{font-size:var(--cmsl-typography-text-small);font-weight:var(--cmsl-typography-weight-semibold);color:var(--cmsl-colours-text);font-family:var(--cmsl-typography-font-heading)}
.b-contact-form__input{padding:var(--cmsl-spacing-sm) var(--cmsl-spacing-md);border:1px solid var(--cmsl-colours-border);border-radius:var(--cmsl-radii-sm);font-size:var(--cmsl-typography-text-body);font-family:var(--cmsl-typography-font-body);background:var(--cmsl-colours-surface-raised);color:var(--cmsl-colours-text);transition:border-color var(--cmsl-motion-fast)}
.b-contact-form__input:focus{outline:none;border-color:var(--cmsl-colours-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--cmsl-colours-primary) 20%,transparent)}
.b-contact-form__textarea{min-height:120px;resize:vertical}
.b-contact-form__submit{align-self:flex-start}
.b-contact-form__notice{padding:var(--cmsl-spacing-sm) var(--cmsl-spacing-md);border-radius:var(--cmsl-radii-sm);font-size:var(--cmsl-typography-text-small)}
.b-contact-form__notice--success{background:color-mix(in srgb,var(--cmsl-colours-success) 10%,var(--cmsl-colours-surface));color:var(--cmsl-colours-success)}
.b-contact-form__notice--error{background:color-mix(in srgb,var(--cmsl-colours-danger) 10%,var(--cmsl-colours-surface));color:var(--cmsl-colours-danger)}
/* Interaction: cta_band */
.b-cta{background:var(--cmsl-colours-surface-sunken);padding:var(--cmsl-spacing-xl);border-radius:var(--cmsl-radii-lg);text-align:center}
.b-cta--primary{background:var(--cmsl-colours-primary);color:var(--cmsl-colours-surface-raised)}
.b-cta--dark{background:var(--cmsl-colours-dark-bg);color:var(--cmsl-colours-dark-text)}
.b-cta__copy{display:flex;flex-direction:column;gap:var(--cmsl-spacing-sm);align-items:center}
.b-cta__copy h2{font-size:var(--cmsl-typography-text-h2);font-family:var(--cmsl-typography-font-heading);font-weight:var(--cmsl-typography-weight-bold)}
.b-cta__copy p{font-size:var(--cmsl-typography-text-lede);color:var(--cmsl-colours-text-secondary);max-width:60ch}
.b-cta--primary .b-cta__copy p{color:color-mix(in srgb,var(--cmsl-colours-surface-raised) 85%,transparent)}
.b-cta--dark .b-cta__copy p{color:var(--cmsl-colours-dark-muted)}
.b-cta__actions{display:flex;gap:var(--cmsl-spacing-sm);margin-top:var(--cmsl-spacing-sm);flex-wrap:wrap;justify-content:center}

/* Flow body lists (grammar v2 — nested lists preserved) */
.b-cta__copy ul,.b-cta__copy ol{margin-bottom:1em;margin-top:0.5em;padding-left:1.5em}
.b-cta__copy ul{list-style:disc}
.b-cta__copy ol{list-style:decimal}
.b-cta__copy li{margin-bottom:0.25em}
.b-cta__copy ul ul,.b-cta__copy ol ol,.b-cta__copy ul ol,.b-cta__copy ol ul{margin:0.25em 0;padding-left:1.25em}
.b-cta__copy ul ul{list-style:circle}
.b-cta__copy ol ol{list-style:lower-alpha}
.b-cta__copy li:last-child{margin-bottom:0}
/* Interaction: embed */
.b-embed{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:var(--cmsl-radii-md)}
.b-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;background:var(--cmsl-colours-dark-bg)}
.b-embed__transcript{display:inline-block;margin-top:var(--cmsl-spacing-sm);font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-primary);text-decoration:underline}
.b-embed__caption{font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-text-muted);margin-top:var(--cmsl-spacing-xs)}
/* Interaction: form */
.b-form{display:flex;flex-direction:column;gap:var(--cmsl-spacing-md);max-width:600px}
.b-form__field{display:flex;flex-direction:column;gap:var(--cmsl-spacing-xs)}
.b-form__label{font-size:var(--cmsl-typography-text-small);font-weight:var(--cmsl-typography-weight-semibold);color:var(--cmsl-colours-text);font-family:var(--cmsl-typography-font-heading)}
.b-form__input{padding:var(--cmsl-spacing-sm) var(--cmsl-spacing-md);border:1px solid var(--cmsl-colours-border);border-radius:var(--cmsl-radii-sm);font-size:var(--cmsl-typography-text-body);font-family:var(--cmsl-typography-font-body);background:var(--cmsl-colours-surface-raised);color:var(--cmsl-colours-text)}
.b-form__input:focus{outline:none;border-color:var(--cmsl-colours-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--cmsl-colours-primary) 20%,transparent)}
.b-form__select{padding:var(--cmsl-spacing-sm) var(--cmsl-spacing-md);border:1px solid var(--cmsl-colours-border);border-radius:var(--cmsl-radii-sm);font-size:var(--cmsl-typography-text-body);background:var(--cmsl-colours-surface-raised);color:var(--cmsl-colours-text)}
.b-form__checkbox{display:flex;flex-direction:row;align-items:center;gap:var(--cmsl-spacing-sm)}
.b-form__checkbox input{width:auto}
.b-form__checkbox-label{font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-text-secondary)}
.b-form__submit{align-self:flex-start}
/* Interaction: slide */
.b-slide{position:relative;min-height:400px;display:flex;align-items:center;background:var(--cmsl-colours-surface-sunken);overflow:hidden}
.b-slide--dark{background:var(--cmsl-colours-dark-bg);color:var(--cmsl-colours-dark-text)}
.b-slide__bg{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;opacity:0.4}
.b-slide__inner{position:relative;z-index:1;padding:0 var(--cmsl-spacing-md);display:flex;flex-direction:column;gap:var(--cmsl-spacing-sm)}
.b-slide__kicker{color:var(--cmsl-colours-text-muted);font-size:var(--cmsl-typography-text-kicker);text-transform:uppercase;letter-spacing:0.1em;font-family:var(--cmsl-typography-font-mono);font-weight:var(--cmsl-typography-weight-semibold)}
.b-slide--dark .b-slide__kicker{color:var(--cmsl-colours-dark-muted)}
.b-slide__title{font-size:var(--cmsl-typography-text-h1);font-family:var(--cmsl-typography-font-heading);font-weight:var(--cmsl-typography-weight-bold);color:var(--cmsl-colours-text)}
.b-slide--dark .b-slide__title{color:var(--cmsl-colours-dark-text)}
.b-slide__lede{font-size:var(--cmsl-typography-text-lede);color:var(--cmsl-colours-text-secondary);max-width:50ch}
.b-slide--dark .b-slide__lede{color:var(--cmsl-colours-dark-muted)}
.b-slide__cta{margin-top:var(--cmsl-spacing-sm)}
/* Interaction: switch_block (conditional content container) */
.b-switch{display:flex;flex-direction:column;gap:var(--cmsl-spacing-md)}
.b-switch__branch{border:1px dashed var(--cmsl-colours-border);border-radius:var(--cmsl-radii-md);padding:var(--cmsl-spacing-md)}
.b-switch__branch--active{border-style:solid;border-color:var(--cmsl-colours-primary);background:color-mix(in srgb,var(--cmsl-colours-primary) 4%,var(--cmsl-colours-surface))}
.b-switch__condition{font-size:var(--cmsl-typography-text-kicker);color:var(--cmsl-colours-text-muted);text-transform:uppercase;letter-spacing:0.05em;font-family:var(--cmsl-typography-font-mono);font-weight:var(--cmsl-typography-weight-semibold);margin-bottom:var(--cmsl-spacing-xs)}
.b-switch__content{margin-top:var(--cmsl-spacing-sm)}
/* Interaction: switch_branch (single branch within switch_block) */
.b-switch-branch{border:1px dashed var(--cmsl-colours-border);border-radius:var(--cmsl-radii-md);padding:var(--cmsl-spacing-md)}
.b-switch-branch--active{border-style:solid;border-color:var(--cmsl-colours-primary);background:var(--cmsl-colours-primary-light)}
.b-switch-branch__condition{font-size:var(--cmsl-typography-text-kicker);color:var(--cmsl-colours-text-muted);text-transform:uppercase;letter-spacing:0.05em;font-family:var(--cmsl-typography-font-mono);font-weight:var(--cmsl-typography-weight-semibold)}
.b-switch-branch__content{margin-top:var(--cmsl-spacing-sm)}
/* Interaction: tab_item (single tab panel within tab_set) */
.b-tab-item{border:1px solid var(--cmsl-colours-border);border-radius:var(--cmsl-radii-md);padding:var(--cmsl-spacing-md);background:var(--cmsl-colours-surface-raised)}
.b-tab-item__heading{font-size:var(--cmsl-typography-text-body);font-weight:var(--cmsl-typography-weight-semibold);font-family:var(--cmsl-typography-font-heading);padding-bottom:var(--cmsl-spacing-sm);border-bottom:1px solid var(--cmsl-colours-border);color:var(--cmsl-colours-text)}
.b-tab-item__content{padding-top:12px;font-size:var(--cmsl-typography-text-body);color:var(--cmsl-colours-text-secondary);line-height:1.5}
/* Interaction: tab_set (container with tab navigation) */
.b-tabs{display:flex;flex-direction:column;gap:var(--cmsl-spacing-md)}
.b-tabs__nav{display:flex;gap:var(--cmsl-spacing-xs);border-bottom:2px solid var(--cmsl-colours-border);flex-wrap:wrap}
.b-tabs__tab{padding:var(--cmsl-spacing-sm) var(--cmsl-spacing-md);cursor:pointer;font-size:var(--cmsl-typography-text-small);font-weight:var(--cmsl-typography-weight-semibold);font-family:var(--cmsl-typography-font-heading);color:var(--cmsl-colours-text-muted);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color var(--cmsl-motion-fast),border-color var(--cmsl-motion-fast)}
.b-tabs__tab--active{color:var(--cmsl-colours-primary);border-bottom-color:var(--cmsl-colours-primary)}
.b-tabs__tab:hover:not(.b-tabs__tab--active){color:var(--cmsl-colours-text)}
.b-tabs__panel{border:1px solid var(--cmsl-colours-border);border-radius:var(--cmsl-radii-md);padding:var(--cmsl-spacing-md);background:var(--cmsl-colours-surface-raised);box-shadow:var(--cmsl-shadows-sm)}
.b-tabs__heading{font-size:var(--cmsl-typography-text-body);font-weight:var(--cmsl-typography-weight-semibold);font-family:var(--cmsl-typography-font-heading);padding-bottom:var(--cmsl-spacing-sm);border-bottom:1px solid var(--cmsl-colours-border)}
.b-tabs__content{padding-top:12px;font-size:var(--cmsl-typography-text-body);color:var(--cmsl-colours-text-secondary);line-height:1.5}
/* Layout: card_grid */
.b-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--cmsl-spacing-lg)}
.b-card{border:1px solid var(--cmsl-colours-border);border-radius:var(--cmsl-radii-md);overflow:hidden;background:var(--cmsl-colours-surface-raised);box-shadow:var(--cmsl-shadows-sm);transition:box-shadow var(--cmsl-motion-base),transform var(--cmsl-motion-fast);display:flex;flex-direction:column}
@media(hover:hover){.b-card:hover{box-shadow:var(--cmsl-shadows-md);transform:translateY(-2px)}}
.b-card__photo{margin-bottom:var(--cmsl-spacing-sm);aspect-ratio:16/9;overflow:hidden}
.b-card__photo img{width:100%;height:100%;object-fit:cover}
.b-card__body{display:flex;flex-direction:column;gap:var(--cmsl-spacing-xs);padding:var(--cmsl-spacing-md)}
.b-card__kicker{font-size:var(--cmsl-typography-text-kicker);text-transform:uppercase;letter-spacing:0.1em;color:var(--cmsl-colours-text-muted);font-weight:var(--cmsl-typography-weight-semibold);font-family:var(--cmsl-typography-font-mono)}
.b-card__title{font-size:var(--cmsl-typography-text-h3);font-family:var(--cmsl-typography-font-heading);font-weight:var(--cmsl-typography-weight-semibold);color:var(--cmsl-colours-text)}
.b-card__text{font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-text-secondary);line-height:1.4}
.b-card__link{font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-primary);text-decoration:underline;font-weight:var(--cmsl-typography-weight-semibold);margin-top:var(--cmsl-spacing-xs)}
.b-cards .b-card--compact .b-card__body{padding:var(--cmsl-spacing-sm)}

/* Flow body lists (grammar v2 — nested lists preserved) */
.b-card__body ul,.b-card__body ol{margin-bottom:1em;margin-top:0.5em;padding-left:1.5em}
.b-card__body ul{list-style:disc}
.b-card__body ol{list-style:decimal}
.b-card__body li{margin-bottom:0.25em}
.b-card__body ul ul,.b-card__body ol ol,.b-card__body ul ol,.b-card__body ol ul{margin:0.25em 0;padding-left:1.25em}
.b-card__body ul ul{list-style:circle}
.b-card__body ol ol{list-style:lower-alpha}
.b-card__body li:last-child{margin-bottom:0}
/* Layout: content_wrapper */
.b-content-wrapper{max-width:70ch;margin:0 auto}
.b-content-wrapper--narrow{max-width:50ch}
.b-content-wrapper--wide{max-width:100%}
.b-content-wrapper--prose{line-height:1.7;color:var(--cmsl-colours-text)}
.b-content-wrapper--prose p{margin-bottom:1em}
.b-content-wrapper--prose p:last-child{margin-bottom:0}
/* Layout: divider */
.b-divider{border:none;border-top:1px solid var(--cmsl-colours-border);margin:var(--cmsl-spacing-xl) 0}
.b-divider--thick{border-top-width:2px}
.b-divider--dashed{border-top-style:dashed}
.b-divider--dotted{border-top-style:dotted}
.b-divider--primary{border-top-color:var(--cmsl-colours-primary)}
.b-divider--gradient{border:none;height:1px;background:linear-gradient(to right,transparent,var(--cmsl-colours-border),transparent)}
/* Hero */
.b-hero{background:var(--cmsl-colours-surface-sunken);padding:64px 0}
.b-hero--dark{background:var(--cmsl-colours-dark-bg);color:var(--cmsl-colours-dark-text)}
.b-hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.b-hero__copy{display:flex;flex-direction:column;gap:12px}
.b-hero__cta{display:flex;gap:12px;margin-top:8px}
.b-hero__frame{border-radius:var(--cmsl-radii-lg)}
.b-hero__caption{font-size:0.75rem;color:var(--cmsl-colours-text-muted);margin-top:8px}
.b-hero__lede{font-size:var(--cmsl-typography-text-lede);line-height:1.5;margin:0}
.b-hero__media{min-width:0}
.b-hero__frame img,.b-hero__frame video{display:block;width:100%;height:100%;object-fit:cover}
.b-hero--dark .b-hero__caption{color:var(--cmsl-colours-dark-muted)}
/* Layout: multicol_column (single column within multicol_grid) */
.b-multicol-col{min-width:0;display:flex;flex-direction:column;gap:var(--cmsl-spacing-sm)}
.b-multicol-col--centered{align-items:center;text-align:center}
.b-multicol-col--padded{padding:var(--cmsl-spacing-md)}
.b-multicol-col--bordered{border:1px solid var(--cmsl-colours-border);border-radius:var(--cmsl-radii-md);padding:var(--cmsl-spacing-md);background:var(--cmsl-colours-surface-raised)}
/* Layout: multicol_grid */
.b-grid{display:grid;gap:var(--cmsl-spacing-lg)}
.b-grid--2{grid-template-columns:repeat(2,1fr)}
.b-grid--3{grid-template-columns:repeat(3,1fr)}
.b-grid--4{grid-template-columns:repeat(4,1fr)}
.b-grid--auto{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.b-grid--sm{gap:var(--cmsl-spacing-sm)}
.b-grid--md{gap:var(--cmsl-spacing-md)}
.b-grid--lg{gap:var(--cmsl-spacing-xl)}
.b-grid__col{min-width:0}
/* Layout: section_group (semantic section wrapper) */
.b-section-group{padding:var(--cmsl-spacing-section) 0}
.b-section-group--tight{padding:var(--cmsl-spacing-md) 0}
.b-section-group--spacious{padding:var(--cmsl-spacing-xxl) 0}
.b-section-group--dark{background:var(--cmsl-colours-dark-bg);color:var(--cmsl-colours-dark-text)}
.b-section-group--dark .h-section{color:var(--cmsl-colours-dark-text)}
.b-section-group--dark .kicker{color:var(--cmsl-colours-dark-muted)}
.b-section-group--dark .lede{color:var(--cmsl-colours-dark-muted)}
.b-section-group--sunken{background:var(--cmsl-colours-surface-sunken)}
.b-section-group--raised{background:var(--cmsl-colours-surface-raised);box-shadow:var(--cmsl-shadows-sm)}
/* Layout: sidebar */
.b-sidebar{display:grid;grid-template-columns:1fr 300px;gap:var(--cmsl-spacing-xl);align-items:start}
.b-sidebar--left{grid-template-columns:300px 1fr}
.b-sidebar__main{min-width:0}
.b-sidebar__aside{padding:var(--cmsl-spacing-md);background:var(--cmsl-colours-surface-sunken);border-radius:var(--cmsl-radii-md);border:1px solid var(--cmsl-colours-border)}
.b-sidebar__aside-title{font-size:var(--cmsl-typography-text-h3);font-family:var(--cmsl-typography-font-heading);font-weight:var(--cmsl-typography-weight-semibold);margin-bottom:var(--cmsl-spacing-sm);color:var(--cmsl-colours-text)}
/* Layout: spacer */
.b-spacer{width:100%;display:block;height:var(--cmsl-spacer-h,0px)}
/* Media: carousel */
.b-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:var(--cmsl-spacing-md);scrollbar-width:thin;scrollbar-color:var(--cmsl-colours-border) transparent}
.b-carousel::-webkit-scrollbar{height:6px}
.b-carousel::-webkit-scrollbar-track{background:var(--cmsl-colours-surface-sunken);border-radius:3px}
.b-carousel::-webkit-scrollbar-thumb{background:var(--cmsl-colours-border);border-radius:3px}
.b-carousel__item{flex:0 0 100%;scroll-snap-align:start}
.b-carousel__item--half{flex:0 0 calc(50% - var(--cmsl-spacing-sm))}
.b-carousel__item--third{flex:0 0 calc(33.333% - var(--cmsl-spacing-md))}
.b-carousel__nav{display:flex;gap:var(--cmsl-spacing-sm);justify-content:center;margin-top:var(--cmsl-spacing-sm)}
.b-carousel__dot{width:10px;height:10px;border-radius:50%;border:none;background:var(--cmsl-colours-border);cursor:pointer;padding:0;transition:background var(--cmsl-motion-fast)}
.b-carousel__dot--active{background:var(--cmsl-colours-primary)}
/* Media: carousel_item (single slide within carousel) */
.b-carousel-item{scroll-snap-align:start;border-radius:var(--cmsl-radii-md);overflow:hidden;background:var(--cmsl-colours-surface-raised);box-shadow:var(--cmsl-shadows-sm)}
.b-carousel-item__media{aspect-ratio:16/9;overflow:hidden}
.b-carousel-item__media img{width:100%;height:100%;object-fit:cover}
.b-carousel-item__body{padding:var(--cmsl-spacing-md);display:flex;flex-direction:column;gap:var(--cmsl-spacing-xs)}
.b-carousel-item__kicker{font-size:var(--cmsl-typography-text-kicker);text-transform:uppercase;letter-spacing:0.1em;color:var(--cmsl-colours-text-muted);font-weight:var(--cmsl-typography-weight-semibold);font-family:var(--cmsl-typography-font-mono)}
.b-carousel-item__title{font-size:var(--cmsl-typography-text-h3);font-family:var(--cmsl-typography-font-heading);font-weight:var(--cmsl-typography-weight-semibold)}
.b-carousel-item__text{font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-text-secondary)}
/* Media: image */
.b-image{display:flex;flex-direction:column;gap:var(--cmsl-spacing-sm)}
.b-image--rounded .b-image__frame{border-radius:var(--cmsl-radii-lg)}
.b-image--circle .b-image__frame{border-radius:50%}
.b-image__frame{border-radius:var(--cmsl-radii-md);background:var(--cmsl-colours-surface-sunken)}
.b-image__frame img{width:100%;height:auto;display:block}
.b-image--cover .b-image__frame{aspect-ratio:16/9}
.b-image--cover .b-image__frame img{height:100%;object-fit:cover}
.b-image__caption{font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-text-muted);font-style:italic}
.b-image--has-tape{position:relative}
.b-image--has-tape .tape{position:absolute;width:60px;height:20px;background:rgba(255,255,255,0.3);transform:rotate(-3deg);z-index:1}
.b-image--has-tape .tape--tl{top:-8px;left:-8px}
.b-image--has-tape .tape--tr{top:-8px;right:-8px;transform:rotate(3deg)}
/* Media: image_grid */
.b-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--cmsl-spacing-md)}
.b-gallery--2{grid-template-columns:repeat(2,1fr)}
.b-gallery--3{grid-template-columns:repeat(3,1fr)}
.b-gallery--4{grid-template-columns:repeat(4,1fr)}
.b-gallery__item{border-radius:var(--cmsl-radii-md);overflow:hidden;aspect-ratio:1;background:var(--cmsl-colours-surface-sunken)}
.b-gallery__item--wide{aspect-ratio:16/9;grid-column:span 2}
.b-gallery__item--tall{aspect-ratio:3/4}
.b-gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform var(--cmsl-motion-base)}
@media(hover:hover){.b-gallery__item:hover img{transform:scale(1.05)}}
/* Media: parallax_hero */
.b-parallax{position:relative;overflow:hidden;min-height:500px;display:flex;align-items:center}
.b-parallax--dark{color:var(--cmsl-colours-dark-text)}
.b-parallax__layer{position:absolute;inset:0;background-size:cover;background-attachment:fixed;background-position:center}
.b-parallax__overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,0.3),rgba(0,0,0,0.6))}
.b-parallax__content{position:relative;z-index:1;padding:0 var(--cmsl-spacing-md);display:flex;flex-direction:column;gap:var(--cmsl-spacing-sm);max-width:var(--cmsl-spacing-container-max);margin:0 auto;width:100%}
.b-parallax__kicker{color:var(--cmsl-colours-text-muted);font-size:var(--cmsl-typography-text-kicker);text-transform:uppercase;letter-spacing:0.1em;font-family:var(--cmsl-typography-font-mono);font-weight:var(--cmsl-typography-weight-semibold)}
.b-parallax--dark .b-parallax__kicker{color:var(--cmsl-colours-dark-muted)}
.b-parallax__title{font-size:var(--cmsl-typography-text-h1);font-family:var(--cmsl-typography-font-heading);font-weight:var(--cmsl-typography-weight-bold);color:var(--cmsl-colours-text)}
.b-parallax--dark .b-parallax__title{color:var(--cmsl-colours-dark-text)}
.b-parallax__lede{font-size:var(--cmsl-typography-text-lede);color:var(--cmsl-colours-text-secondary);max-width:50ch}
.b-parallax--dark .b-parallax__lede{color:var(--cmsl-colours-dark-muted)}
/* Media: parallax_layer (single layer within parallax_hero) */
.b-parallax-layer{position:absolute;inset:0;background-size:cover;background-position:center;will-change:transform}
.b-parallax-layer--back{z-index:0;background-attachment:fixed}
.b-parallax-layer--mid{z-index:1}
.b-parallax-layer--front{z-index:2}
/* Media: video */
.b-video{display:flex;flex-direction:column;gap:var(--cmsl-spacing-sm)}
.b-video--rounded .b-video__player{border-radius:var(--cmsl-radii-lg)}
.b-video__player{width:100%;border-radius:var(--cmsl-radii-md);background:var(--cmsl-colours-dark-bg);display:block}
.b-video__poster{width:100%;border-radius:var(--cmsl-radii-md);object-fit:cover}
.b-video__caption{font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-text-muted);margin-top:var(--cmsl-spacing-xs)}
.b-video__transcript{display:inline-block;margin-top:var(--cmsl-spacing-sm);font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-primary);text-decoration:underline}
/* Navigation: breadcrumb */
.b-breadcrumb{display:flex;flex-wrap:wrap;gap:var(--cmsl-spacing-sm);align-items:center;font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-text-muted);padding:var(--cmsl-spacing-sm) 0}
.b-breadcrumb__item{color:var(--cmsl-colours-text-muted);text-decoration:none;transition:color var(--cmsl-motion-fast)}
.b-breadcrumb__item:hover{color:var(--cmsl-colours-primary)}
.b-breadcrumb__item--current{color:var(--cmsl-colours-text);font-weight:var(--cmsl-typography-weight-semibold)}
.b-breadcrumb__item:not(:last-child)::after{content:'/';margin-left:var(--cmsl-spacing-sm);color:var(--cmsl-colours-border)}
/* Navigation: events (listing) */
.b-events{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--cmsl-spacing-md)}
.b-events__heading{font-size:var(--cmsl-typography-text-h2);font-family:var(--cmsl-typography-font-heading);font-weight:var(--cmsl-typography-weight-bold);margin-bottom:var(--cmsl-spacing-md)}
.b-events__item{border:1px solid var(--cmsl-colours-border);border-radius:var(--cmsl-radii-md);padding:var(--cmsl-spacing-md);background:var(--cmsl-colours-surface-raised);box-shadow:var(--cmsl-shadows-sm);transition:box-shadow var(--cmsl-motion-base),transform var(--cmsl-motion-fast);display:flex;flex-direction:column;gap:var(--cmsl-spacing-xs)}
@media(hover:hover){.b-events__item:hover{box-shadow:var(--cmsl-shadows-md);transform:translateY(-2px)}}
.b-events__date{font-size:var(--cmsl-typography-text-kicker);color:var(--cmsl-colours-primary);font-weight:var(--cmsl-typography-weight-semibold);font-family:var(--cmsl-typography-font-mono);text-transform:uppercase;letter-spacing:0.05em}
.b-events__title{font-size:var(--cmsl-typography-text-h3);font-family:var(--cmsl-typography-font-heading);font-weight:var(--cmsl-typography-weight-semibold);color:var(--cmsl-colours-text)}
.b-events__venue{font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-text-secondary)}
.b-events__link{font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-primary);text-decoration:underline;margin-top:var(--cmsl-spacing-xs)}
/* Navigation: rows (link listing) */
.b-rows{display:flex;flex-direction:column;gap:var(--cmsl-spacing-md)}
.b-rows__heading{font-size:var(--cmsl-typography-text-h2);font-family:var(--cmsl-typography-font-heading);font-weight:var(--cmsl-typography-weight-bold);margin-bottom:var(--cmsl-spacing-sm)}
.b-rows__item{display:flex;justify-content:space-between;align-items:center;padding:var(--cmsl-spacing-md);border:1px solid var(--cmsl-colours-border);border-radius:var(--cmsl-radii-md);background:var(--cmsl-colours-surface-raised);text-decoration:none;color:var(--cmsl-colours-text);transition:border-color var(--cmsl-motion-fast),box-shadow var(--cmsl-motion-fast)}
@media(hover:hover){.b-rows__item:hover{border-color:var(--cmsl-colours-primary);box-shadow:var(--cmsl-shadows-sm)}}
.b-rows__item-title{font-size:var(--cmsl-typography-text-body);font-weight:var(--cmsl-typography-weight-semibold);font-family:var(--cmsl-typography-font-heading);color:var(--cmsl-colours-text)}
.b-rows__item-meta{font-size:var(--cmsl-typography-text-small);color:var(--cmsl-colours-text-muted);font-family:var(--cmsl-typography-font-mono)}
.b-rows__item-arrow{color:var(--cmsl-colours-text-muted);font-size:var(--cmsl-typography-text-body);transition:color var(--cmsl-motion-fast)}
.b-rows__item:hover .b-rows__item-arrow{color:var(--cmsl-colours-primary)}
@media(max-width:768px){.b-textimg,.b-hero__grid,.b-sidebar,.b-sidebar--left{grid-template-columns:1fr}}
@media(max-width:375px){.b-carousel__item{flex:0 0 100%}}

