/* Editorial workshop theme. Fonts are self-hosted under the SIL OFL. */

@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(/assets/fonts/newsreader-v26-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(/assets/fonts/newsreader-v26-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/source-sans-3-v19-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/source-sans-3-v19-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Page-specific theme: the other routes retain their existing design. */
:root:has(.vv-editorial) {
  color-scheme: light;
  --room: #f5f0e6;
  --room-deep: #ede8dd;
  --room-raised: #f9f6ef;
  --well: #f0ece2;
  --edge: #d6d3c6;
  --edge-strong: #b7b8a9;
  --ink: #272b24;
  --ink-quiet: #626559;
  --ink-faint: #696c60;
  --light: #b6462a;
  --accent-hover: #93391f;
  --face: 'Source Sans 3', ui-sans-serif, system-ui, sans-serif;
  --editorial-face: 'Newsreader', Georgia, serif;
  --measure: 1180px;
  --gutter: clamp(22px, 4.1vw, 64px);
}
.vv-editorial { font-size: 18px; line-height: 1.65; font-variant-numeric: normal; font-optical-sizing: auto; }
.vv-editorial [hidden] { display: none !important; }
.vv-editorial :is(h1,h2,h3,h4) { font-family: var(--editorial-face); font-style: normal; font-weight: 400; font-stretch: normal; letter-spacing: -.025em; line-height: 1.12; }
.vv-editorial :is(em,i) { font-style: normal; }
.vv-editorial strong { font-weight: 600; }
.vv-editorial .vv-header { padding-block: 22px; background: var(--room); backdrop-filter: none; }
.vv-editorial .vv-brand { font-size: 27px; font-weight: 600; letter-spacing: -1.3px; font-stretch: normal; }
.vv-brand-domain { font-weight: 400; }
.vv-editorial .vv-nav { font-size: 15px; color: var(--ink); gap: 28px; }
.vv-editorial .vv-nav a:not(.vv-btn):hover { color: var(--light); text-decoration: underline; text-underline-offset: 5px; }
.vv-editorial .vv-btn { font-weight: 500; font-stretch: normal; font-size: 16px; min-height: 50px; padding: 13px 20px; border-radius: 2px; gap: 24px; }
.vv-editorial .vv-btn-primary { color: #fffaf3; background: var(--light); }
.vv-editorial .vv-btn-primary:hover { color: white; background: var(--accent-hover); }
.vv-editorial .vv-btn-ghost:hover { background: #e8e3d6; }
.vv-editorial .vv-nav-cta { min-height: 42px; padding: 10px 17px; font-size: 15px; }
.vv-editorial .vv-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; width: auto; }
.vv-editorial .vv-actions .vv-btn { white-space: normal; }
.vv-editorial .vv-hero { padding-block: 44px 46px; }
.vv-editorial .vv-hero-inner { grid-template-columns: minmax(0, 1fr) minmax(320px, 360px); gap: 32px; }
.vv-editorial .vv-display { font-size: clamp(44px, 5vw, 66px); line-height: 1.06; letter-spacing: -.028em; max-width: none; text-wrap: initial; }
.vv-editorial .vv-display span { color: var(--light); }
.vv-editorial .vv-hero-lede { margin: 28px 0 0; max-width: none; font-size: 18px; line-height: 1.65; }
.vv-editorial .vv-kicker { margin-bottom: 20px; font-family: ui-monospace, 'Courier New', monospace; font-size: 11px; line-height: 1.6; font-weight: 400; font-stretch: normal; letter-spacing: .12em; text-transform: uppercase; }
.vv-hero-note { margin: 12px 0 0; font-size: 14px; color: var(--ink-quiet); }
.vv-hero-portrait { width: 100%; max-width: 360px; margin: 0; min-width: 0; justify-self: end; }
.vv-hero-photo { position: relative; }
.vv-hero-photo img { width: 100%; height: auto; aspect-ratio: 1.06; object-fit: cover; filter: grayscale(1); }
.vv-photo-note { position: absolute; top: auto; bottom: -26px; left: -26px; width: 186px; margin: 0; padding: 9px 11px; background: var(--room); border: 1px solid var(--edge-strong); font: 400 14.5px/1.28 var(--editorial-face); transform: rotate(-3deg); }
.vv-hero-portrait figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 4px 12px; margin-top: 44px; font-size: 13px; }
.vv-hero-portrait figcaption > span:last-child { color: var(--ink-quiet); }
.vv-session-ribbon { border-block: 1px solid var(--edge); padding: 18px var(--gutter); font-size: 15px; }
.vv-session-ribbon .vv-inner { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 10px 24px; }
.vv-session-ribbon strong { text-transform: uppercase; font-size: 12px; letter-spacing: .06em; margin-right: 20px; }
.vv-session-ribbon a:hover { color: var(--light); }
.vv-session-ribbon [data-webinar-date] { color: var(--ink-quiet); font-size: 14px; }
.vv-editorial .vv-section { padding-block: clamp(48px, 6vw, 82px); }
.vv-editorial .vv-open { margin-bottom: 32px; }
.vv-editorial .vv-h2 { font-size: clamp(34px, 3.7vw, 49px); max-width: 28ch; line-height: 1.1; }
.vv-editorial .vv-h3 { font-size: clamp(27px, 2.8vw, 36px); }
.vv-editorial .vv-lede { font-size: 19px; line-height: 1.6; }
.vv-editorial .vv-question { font: 400 clamp(26px, 2.5vw, 34px)/1.15 var(--editorial-face); max-width: 30ch; }
.vv-editorial .vv-workshop-overview { padding-block: 34px 40px; }
.vv-editorial-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; }
.vv-editorial .vv-editorial-heading .vv-h2 { font-size: 32px; max-width: none; }
.vv-editorial-heading p { font-size: 14px; color: var(--ink-quiet); margin: 0; }
.vv-editorial .vv-tracks { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 28px; }
.vv-editorial .vv-track { min-width: 0; padding: 18px 0 0; background: transparent; border: 0; border-top: 1px solid var(--edge-strong); }
.vv-editorial .vv-track[data-selected='true'] { border-color: var(--light); background: transparent; }
.vv-editorial .vv-track-eyebrow { font: 400 11px/1.5 ui-monospace, 'Courier New', monospace; letter-spacing: .09em; text-transform: uppercase; margin: 0 0 17px; }
.vv-editorial .vv-track h3 { font-size: 27px; line-height: 1.15; }
.vv-track-summary { margin: 12px 0 16px; color: var(--ink-quiet); font-size: 16px; line-height: 1.55; }
.vv-track-details summary, .vv-workshop-picker > summary { width: fit-content; padding: 8px 0; font-size: 15px; cursor: pointer; text-underline-offset: 4px; }
.vv-track-details summary:hover, .vv-workshop-picker > summary:hover { color: var(--light); }
.vv-track-details summary { text-decoration: underline; }
.vv-track-detail-body { padding-top: 16px; }
.vv-editorial .vv-track-tagline { font-size: 17px; font-weight: 500; line-height: 1.45; margin-top: 0; }
.vv-editorial .vv-track-subhead { font-family: var(--face); font-size: 16px; font-weight: 600; letter-spacing: 0; }
.vv-editorial .vv-track-topics { columns: 1; }
.vv-editorial .vv-track-topics li { padding-block: 3px; font-size: 15px; }
.vv-editorial .vv-track-outcome { padding: 16px 0; border-inline: 0; background: transparent; font-weight: 500; }
.vv-editorial .vv-track .vv-btn { font-size: 15px; padding-inline: 12px; }
.vv-workshop-picker { padding: 0; margin: 0 auto 46px; }
.vv-workshop-picker .vv-picker { margin: 0; }
.vv-editorial .vv-picker { gap: 14px; background: transparent; border: 0; }
.vv-editorial .vv-picker-option { display: flex; flex-direction: column; min-width: 0; min-height: 300px; padding: 25px 23px 22px; background: var(--room-raised); border: 1px solid var(--edge-strong); transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.vv-editorial .vv-picker-option:hover { transform: translateY(-2px); border-color: #8f8f82; box-shadow: 0 9px 22px rgba(67, 56, 38, .08); }
.vv-editorial .vv-picker-option[data-selected='true'] { border-color: var(--light); box-shadow: inset 0 3px 0 var(--light); }
.vv-editorial .vv-picker h3 { font-size: 25px; }
.vv-editorial .vv-picker p { margin-top: 13px; color: var(--ink-quiet); }
.vv-picker-actions { display: grid; grid-template-columns: 1fr; gap: 9px; margin-top: auto; padding-top: 25px; }
.vv-editorial .vv-picker .vv-picker-details,
.vv-editorial .vv-picker .vv-picker-register { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 46px; padding: 10px 12px; text-align: center; }
.vv-editorial .vv-picker .vv-picker-details { flex-direction: row; gap: 8px; background: transparent; color: var(--ink); border: 1px solid var(--edge-strong); }
.vv-editorial .vv-picker .vv-picker-details:hover { background: var(--room-deep); border-color: var(--ink-quiet); }
.vv-editorial .vv-picker .vv-picker-details[aria-pressed='true'] { background: #e5ddcc; color: var(--ink); border-color: var(--light); }
.vv-editorial .vv-picker .vv-picker-register { color: #fffaf3; background: var(--light); border-color: var(--light); }
.vv-editorial .vv-picker .vv-picker-register:hover { color: white; background: var(--accent-hover); border-color: var(--accent-hover); }

/* One course at a time, presented as the top sheet in a three-paper deck. */
.vv-track-stack { position: relative; isolation: isolate; max-width: 930px; margin: 18px auto 14px; padding: 28px 34px 34px; scroll-margin-top: 110px; }
.vv-track-stack::before,
.vv-track-stack::after { content: ''; position: absolute; inset: 32px 38px 24px; border: 1px solid #c9c3b5; pointer-events: none; transform-origin: center; }
.vv-track-stack::before { z-index: 1; background: #ece5d6; transform: rotate(-1.7deg) translate(-7px, 8px); box-shadow: 0 13px 28px rgba(67, 56, 38, .1); }
.vv-track-stack::after { z-index: 2; background: #f4edde; transform: rotate(1.4deg) translate(8px, 3px); box-shadow: 0 9px 20px rgba(67, 56, 38, .08); }
.vv-editorial .vv-track-stack .vv-paper { position: relative; z-index: 3; display: flex; min-height: 620px; padding: clamp(28px, 5vw, 54px); background: #fffdf7; border: 1px solid #c6bead; box-shadow: 0 16px 36px rgba(67, 56, 38, .13); animation: vv-paper-in .24s ease-out; }
.vv-editorial .vv-track-stack .vv-paper[data-selected='true'] { background: #fffdf7; border-color: #c6bead; }
@keyframes vv-paper-in { from { opacity: .45; transform: translateY(7px) rotate(.2deg); } to { opacity: 1; transform: translateY(0) rotate(0); } }
.vv-paper-topline { display: flex; align-items: center; justify-content: flex-end; gap: 18px; margin-bottom: 22px; padding-bottom: 13px; border-bottom: 1px solid var(--edge); }
.vv-editorial .vv-paper-topline .vv-track-eyebrow { margin: 0; }
.vv-paper-nav { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.vv-paper-nav > span { min-width: 42px; font: 400 12px/1.4 ui-monospace, 'Courier New', monospace; text-align: center; color: var(--ink-quiet); }
.vv-paper-arrow { display: inline-grid; place-items: center; width: 40px; height: 40px; padding: 0; background: transparent; border: 1px solid var(--edge-strong); border-radius: 50%; color: var(--ink); font: 400 22px/1 var(--face); cursor: pointer; }
.vv-paper-arrow:hover { color: var(--light); border-color: var(--light); }
.vv-paper-arrow:focus-visible { outline: 2px solid var(--light); outline-offset: 3px; }
.vv-editorial .vv-paper h3 { font-size: clamp(34px, 4vw, 48px); }
.vv-editorial .vv-paper .vv-track-summary { max-width: none; margin: 10px 0 24px; font-size: 19px; }
.vv-editorial .vv-paper .vv-track-tagline { max-width: 56ch; padding-top: 20px; border-top: 1px solid var(--edge); font: 400 clamp(23px, 2.5vw, 31px)/1.3 var(--editorial-face); }
.vv-editorial .vv-paper .vv-track-label { max-width: 70ch; font-size: 16px; line-height: 1.6; }
.vv-editorial .vv-paper .vv-flow { margin-top: 22px; }
.vv-editorial .vv-paper .vv-track-subhead { margin-top: 26px; }
.vv-editorial .vv-paper .vv-track-topics { margin-bottom: 6px; columns: 2; column-gap: 36px; }
.vv-editorial .vv-paper .vv-track-topics-rich { columns: 1; }
.vv-editorial .vv-paper .vv-track-outcome { margin-top: 26px; padding: 18px 0; border-block: 1px solid var(--edge); }
.vv-editorial .vv-paper .vv-paper-cta { align-self: flex-start; min-width: min(100%, 280px); margin-top: 26px; }
.vv-paper-lede { max-width: none; margin-top: 22px; font-size: 17px; line-height: 1.65; }
.vv-paper-list-intro { margin-top: 24px; font-weight: 600; }
.vv-paper-list { display: grid; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.vv-paper-list > li { position: relative; padding-left: 19px; color: var(--ink-quiet); line-height: 1.5; }
.vv-paper-list > li::before { content: ''; position: absolute; left: 1px; top: .72em; width: 5px; height: 5px; background: var(--light); border-radius: 50%; }
.vv-paper-process { display: flex; flex-wrap: wrap; gap: 6px 0; margin: 15px 0 0; padding: 0; list-style: none; }
.vv-paper-process li { font: 600 14px/1.5 var(--face); }
.vv-paper-process li:not(:last-child)::after { content: ' → '; margin-inline: 7px; color: var(--light); }
.vv-paper-goal { max-width: none; margin-top: 12px; padding: 19px 22px; background: #f1eadc; border-left: 3px solid var(--light); font-size: 18px; line-height: 1.55; }
.vv-paper-goal-label { margin-top: 22px; }
.vv-paper-section { margin-top: 38px; padding-top: 31px; border-top: 1px solid var(--edge); }
.vv-paper-section > h4 { margin-bottom: 14px; font-size: clamp(27px, 3vw, 36px); }
.vv-paper-section > p { max-width: none; }
.vv-paper-emphasis { margin-top: 18px; font-weight: 600; }
.vv-paper-emphasis + .vv-paper-emphasis { margin-top: 3px; }
.vv-paper-lessons { display: grid; gap: 0; margin: 4px 0 0; padding: 0; list-style: none; counter-reset: workshop-lesson; }
.vv-paper-lessons > li { position: relative; padding: 24px 0 24px 54px; border-bottom: 1px solid var(--edge); counter-increment: workshop-lesson; }
.vv-paper-lessons > li::before { content: counter(workshop-lesson, decimal-leading-zero); position: absolute; left: 0; top: 27px; font: 400 12px/1.4 ui-monospace, 'Courier New', monospace; color: var(--light); }
.vv-paper-lessons h5 { margin: 0; font: 600 19px/1.3 var(--face); letter-spacing: -.01em; }
.vv-paper-lessons p { margin-top: 7px; color: var(--ink-quiet); line-height: 1.55; }
.vv-paper-lessons .vv-paper-sublist { margin-top: 11px; }
.vv-paper-note { display: grid; gap: 7px; margin: 38px 0 0; padding: 22px 24px; background: #f1eadc; border: 0; border-block: 1px solid var(--edge-strong); color: var(--ink-quiet); font-style: normal; line-height: 1.6; }
.vv-paper-note strong { color: var(--ink); }
.vv-editorial .vv-cost { border-inline: 0; }
.vv-editorial .vv-cost-row { padding: 15px 16px; background: transparent; grid-template-columns: 1fr 1fr 68px; gap: 8px 14px; }
.vv-editorial .vv-cost-service, .vv-editorial .vv-cost-price { font-weight: 600; font-stretch: normal; }
.vv-editorial .vv-cost-price { font-variant-numeric: tabular-nums; }
.vv-editorial .vv-cost-masked { background: #e4dfcf; color: var(--ink); }
.vv-editorial .vv-cost-masked .vv-cost-model { color: var(--ink-quiet); }
.vv-editorial .vv-cost-caption { font-size: 14px; }
.vv-editorial .vv-meta { background: transparent; border: 0; border-top: 1px solid var(--edge); gap: 0 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vv-editorial .vv-meta > div { padding: 16px 0; background: transparent; border-bottom: 1px solid var(--edge); }
.vv-editorial .vv-meta dd { font-size: 16px; line-height: 1.4; font-weight: 500; font-stretch: normal; }
.vv-editorial .vv-hero-support { gap: 6px 18px; }
.vv-editorial .vv-hero-support li { border: 0; padding: 0; font-size: 14px; }
.vv-editorial .vv-agenda { counter-reset: agenda; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; }
.vv-editorial .vv-agenda > li { display: block; position: relative; padding: 26px 0 26px 38px; counter-increment: agenda; }
.vv-editorial .vv-agenda > li::before { content: counter(agenda, decimal-leading-zero); position: absolute; left: 0; top: 28px; font: 12px/1.5 ui-monospace, monospace; color: var(--ink-quiet); }
.vv-editorial .vv-agenda-title { font-size: 25px; font-weight: 400; }
.vv-editorial .vv-agenda .vv-flow li { display: block; padding: 4px 0; border: 0; font-size: 14px; background: transparent; }
.vv-editorial .vv-flow li:not(:last-child)::after { content: ' →'; color: var(--ink-faint); }
.vv-editorial .vv-flow li { background: transparent; border: 0; padding: 4px 0; }
.vv-editorial .vv-flow-strong li:last-child { background: transparent; color: var(--light); }
.vv-editorial .vv-flow-strong li { font-weight: 500; }
.vv-editorial .vv-instructor { grid-template-columns: 220px 1fr; gap: 60px; }
.vv-editorial .vv-portrait-well { max-width: 220px; border: 0; background: transparent; }
.vv-editorial .vv-portrait-well img { filter: grayscale(1); aspect-ratio: 1; }
.vv-editorial .vv-portrait-caption { padding-inline: 0; }
.vv-editorial .vv-links a { padding: 5px 0; margin-right: 20px; border: 0; border-bottom: 1px solid var(--edge-strong); }
.vv-editorial .vv-links a:hover { border-color: var(--light); color: var(--light); background: transparent; }
.vv-editorial .vv-faq summary { font-weight: 500; font-stretch: normal; letter-spacing: -.01em; }
.vv-editorial .vv-statement { font: 400 clamp(25px, 2.6vw, 33px)/1.3 var(--editorial-face); max-width: 36ch; }
.vv-editorial .vv-panel { background: transparent; border: 1px solid var(--edge-strong); }
.vv-editorial .vv-contact-grid { grid-template-columns: 1fr; }
.vv-editorial .vv-contact-card { min-height: auto; padding: 14px 0; border: 0; border-bottom: 1px solid var(--edge); background: transparent; flex-direction: row; justify-content: space-between; align-items: baseline; gap: 12px; }
.vv-editorial .vv-contact-card:hover { background: transparent; color: var(--light); border-color: var(--light); }
.vv-editorial .vv-contact-name { font-weight: 500; }
.vv-editorial .vv-contact-topic input { background: var(--room-raised); }
.vv-editorial .vv-contact-topic input:focus-visible { outline: 2px solid var(--light); outline-offset: 3px; }
.vv-editorial .vv-contact-status[data-tone='error'] { color: #a23121; }
.vv-editorial .vv-contact-status[data-tone='success'] { color: #356746; }
.vv-editorial .vv-private-form { margin-top: 20px; }
.vv-editorial .vv-private-form textarea { background: var(--room-raised); }
.vv-editorial .vv-private-form input:focus-visible,
.vv-editorial .vv-private-form textarea:focus-visible { outline: 2px solid var(--light); outline-offset: 3px; }
.vv-editorial .vv-sticky { background: var(--room-raised); backdrop-filter: none; }
.vv-editorial .vv-footer { padding-block: 32px; }
.vv-editorial .vv-case-stages { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 899px) {
  .vv-editorial .vv-header { padding-block: 14px; }
  .vv-editorial .vv-nav { gap: 0; }
  .vv-editorial .vv-nav-toggle { min-height: 44px; border-radius: 2px; }
  .vv-editorial .vv-hero-inner { gap: 28px; }
  .vv-editorial .vv-display { font-size: 44px; }
  .vv-editorial .vv-hero-lede { font-size: 17px; }
  .vv-photo-note { font-size: 16px; left: -10px; padding: 12px; }
  .vv-editorial .vv-tracks { gap: 22px; }
  .vv-editorial .vv-track h3 { font-size: 24px; }
  .vv-editorial .vv-instructor { gap: 32px; grid-template-columns: 180px 1fr; }
}
@media (max-width: 699px) {
  .vv-editorial .vv-hero { padding-block: 34px; }
  .vv-editorial .vv-hero-inner { grid-template-columns: 1fr; gap: 32px; }
  .vv-editorial .vv-display { font-size: clamp(38px, 8.7vw, 52px); }
  .vv-editorial .vv-hero-lede { max-width: 46ch; }
  .vv-hero-photo img { aspect-ratio: auto; object-fit: contain; object-position: center; }
  .vv-photo-note { top: auto; bottom: -10px; left: -8px; width: 154px; padding: 7px 9px; font-size: 12.5px; line-height: 1.24; }
  .vv-hero-portrait figcaption { margin-top: 24px; }
  .vv-editorial .vv-tracks, .vv-editorial .vv-agenda, .vv-editorial .vv-instructor { grid-template-columns: 1fr; }
  .vv-editorial .vv-track h3 { font-size: 29px; }
  .vv-editorial .vv-track-summary { margin-bottom: 6px; }
  .vv-editorial .vv-track-details summary { min-height: 44px; }
  .vv-editorial .vv-cost-row { grid-template-areas: 'service price' 'model price'; grid-template-columns: 1fr 70px; }
  .vv-editorial .vv-editorial-heading .vv-h2 { font-size: 30px; }
  .vv-editorial .vv-section { padding-block: 44px; }
  .vv-editorial .vv-workshop-overview { padding-block: 30px; }
  .vv-editorial .vv-instructor .vv-portrait-well { max-width: 180px; }
  .vv-editorial .vv-case-stages { grid-template-columns: 1fr; }
  .vv-editorial .vv-sticky .vv-btn { min-height: 46px; }
  .vv-session-ribbon strong { display: block; margin-bottom: 5px; }
  .vv-workshop-picker { margin-bottom: 34px; }
  .vv-editorial .vv-picker-option { min-height: 0; padding: 18px 17px 17px; }
  .vv-editorial .vv-picker h3 { font-size: 20px; }
  .vv-editorial .vv-picker p { margin-top: 8px; font-size: 14px; line-height: 1.42; }
  .vv-picker-actions { gap: 7px; padding-top: 17px; }
  .vv-editorial .vv-picker .vv-picker-details,
  .vv-editorial .vv-picker .vv-picker-register { min-height: 42px; padding: 8px 10px; font-size: 14px; }
  .vv-track-stack { width: calc(100% - 16px); padding: 16px 13px 25px; }
  .vv-track-stack::before,
  .vv-track-stack::after { inset: 20px 16px 17px; }
  .vv-track-stack::before { transform: rotate(-1.2deg) translate(-3px, 5px); }
  .vv-track-stack::after { transform: rotate(1deg) translate(4px, 2px); }
  .vv-editorial .vv-track-stack .vv-paper { min-height: 0; padding: 20px 17px 24px; font-size: 15px; line-height: 1.5; }
  .vv-paper-topline { align-items: flex-start; }
  .vv-paper-nav { gap: 7px; }
  .vv-paper-arrow { width: 36px; height: 36px; font-size: 19px; }
  .vv-editorial .vv-paper h3 { font-size: 26px; }
  .vv-editorial .vv-paper .vv-track-summary { margin: 7px 0 17px; font-size: 16px; line-height: 1.42; }
  .vv-paper-lede { margin-top: 16px; font-size: 15px; line-height: 1.55; }
  .vv-paper-list-intro { margin-top: 18px; }
  .vv-paper-list { gap: 5px; margin-top: 8px; }
  .vv-paper-goal { padding: 14px 15px; font-size: 15.5px; line-height: 1.48; }
  .vv-paper-section { margin-top: 28px; padding-top: 23px; }
  .vv-paper-section > h4 { margin-bottom: 10px; font-size: 22px; }
  .vv-paper-lessons > li { padding-block: 17px; padding-left: 37px; }
  .vv-paper-lessons > li::before { top: 20px; }
  .vv-paper-lessons h5 { font-size: 16px; }
  .vv-paper-note { margin-top: 28px; padding: 16px; }
  .vv-editorial .vv-paper .vv-track-topics { columns: 1; }
  .vv-editorial .vv-paper .vv-paper-cta { width: 100%; }
  .vv-paper-process { display: grid; gap: 4px; }
  .vv-paper-process li:not(:last-child)::after { content: ' ↓'; }
}

/* Utility pages (privacy and similar) use a narrower reading measure. */
/* The block stays on the shared measure so it lines up with the page heading;
   only the running text is capped for readability. */
.vv-editorial .vv-prose :is(p, ul, ol) { max-width: 68ch; }
.vv-editorial .vv-prose h2 { margin-top: 1.6em; }

/* Status colours in site.css were chosen for the old dark theme and are
   unreadable on the cream ground. */
.vv-editorial .vv-form-status[data-tone='success'] { color: #2f6b3f; }
.vv-editorial .vv-form-status[data-tone='error'] { color: #a1341b; }
.vv-editorial .vv-form-status-top[data-tone='success'] { background: #eef4ec; }
.vv-editorial .vv-form-status-top[data-tone='error'] { background: #f8ece7; }

/* Analytics consent. Sits at the bottom, does not block the page, and uses the
   same paper language as everything else. */
.vv-consent {
  position: fixed;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  z-index: 60;
  display: flex;
  flex-wrap: wrap;
  gap: 14px 20px;
  align-items: center;
  width: min(760px, calc(100vw - 32px));
  padding: 16px 18px;
  background: #fffdf7;
  border: 1px solid var(--edge-strong);
  box-shadow: 0 14px 34px #43382622;
}
.vv-consent-text {
  flex: 1 1 320px;
  margin: 0;
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--ink-quiet);
}
.vv-consent-text a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.vv-consent-actions { display: flex; gap: 10px; flex: 0 0 auto; }
.vv-consent-actions .vv-btn { min-height: 42px; padding: 10px 20px; font-size: 15px; }
@media (max-width: 560px) {
  .vv-consent { bottom: 0; width: 100vw; border-left: 0; border-right: 0; border-bottom: 0; }
  .vv-consent-actions { width: 100%; }
  .vv-consent-actions .vv-btn { flex: 1; }
}
