.wo-v33 { --wo-paper: var(--wp-palette-1, var(--bs-body-bg)); --wo-surface: var(--wp-palette-2, var(--bs-white)); --wo-aqua: var(--wp-palette-3, var(--bs-light)); --wo-blue: var(--wp-palette-6, var(--bs-primary)); --wo-ink: var(--wp-palette-7, var(--bs-dark)); --wo-water: var(--wp-palette-4, var(--bs-info)); --wo-body: var(--wp-palette-9, var(--bs-body-color)); --wo-line: color-mix(in srgb, var(--wo-ink) 18%, transparent); background: var(--wo-paper); color: var(--wo-body); font-family: var(--wpv4-sans, var(--bs-body-font-family)); line-height: 1.65; overflow: clip; }
.wo-v33 *, .wo-v33 *::before, .wo-v33 *::after { box-sizing: border-box; }
.wo-v33 img { display: block; height: auto; max-width: 100%; }
.wo-v33 figure, .wo-v33 ol, .wo-v33 dl { margin-bottom: 0; }
.wo-v33-hero, .wo-v33-section { padding-block: clamp(3.75rem, 7vw, 7rem); }
.wo-v33-hero { border-bottom: 1px solid var(--wo-line); }
.wo-v33-hero--ink, .wo-v33-section--ink { background: var(--wo-ink); color: var(--wo-surface); }
.wo-v33-hero--stone, .wo-v33-section--stone { background: var(--wp-palette-5, var(--bs-light)); }
.wo-v33-section--aqua { background: var(--wo-aqua); }
.wo-v33-h1, .wo-v33-h2, .wo-v33 h3 { color: var(--wo-ink); font-family: var(--wpv4-serif, Georgia, serif); font-weight: 600; letter-spacing: -0.03em; text-wrap: balance; }
.wo-v33-h1 { font-size: clamp(2.55rem, 5.2vw, 4.9rem); line-height: 1.02; margin: 0; max-width: 13ch; }
.wo-v33-h2 { font-size: clamp(2rem, 3.6vw, 3.4rem); line-height: 1.08; margin: 0; max-width: 17ch; }
.wo-v33 h3 { font-size: clamp(1.2rem, 1.8vw, 1.55rem); line-height: 1.2; margin: 0 0 .7rem; }
.wo-v33-h1--light, .wo-v33-h2--light, .wo-v33-section--ink h3 { color: var(--wo-surface); }
.wo-v33-kicker { color: var(--wo-blue); font-size: .74rem; font-weight: 700; letter-spacing: .16em; margin: 0 0 1rem; text-transform: uppercase; }
.wo-v33-kicker--light { color: var(--wo-water); }
.wo-v33-answer { color: var(--wo-ink); font-size: clamp(1.05rem, 1.35vw, 1.28rem); margin: 1.4rem 0 0; max-width: 62ch; }
.wo-v33-answer--light { color: var(--wo-surface); }
.wo-v33-btn { align-items: center; background: var(--wo-blue); border: 1px solid var(--wo-blue); border-radius: var(--wp-radius-button, 1.5rem); color: var(--wo-surface); display: inline-flex; font-weight: 700; justify-content: center; margin-top: 1.5rem; min-height: 48px; padding: .75rem 1.35rem; text-decoration: none; }
.wo-v33-btn--light { background: var(--wo-surface); border-color: var(--wo-surface); color: var(--wo-ink); }
.wo-v33 a:not(.wo-v33-btn) { color: var(--wo-blue); font-weight: 700; text-decoration-thickness: 2px; text-underline-offset: .18em; }
.wo-v33-section--ink a:not(.wo-v33-btn) { color: var(--wo-water); }
.wo-v33 a:focus-visible { outline: 3px solid var(--wo-water); outline-offset: 4px; }
.wo-v33-hero-note, .wo-v33-source-card { border-left: 2px solid var(--wo-blue); padding-left: clamp(1.25rem, 3vw, 2.25rem); }
.wo-v33-hero--ink .wo-v33-hero-note { border-color: var(--wo-water); }
.wo-v33-ledger, .wo-v33-specimen { border-top: 1px solid var(--wo-line); }
.wo-v33-ledger > .lc-block, .wo-v33-specimen > .lc-block { border-bottom: 1px solid var(--wo-line); padding-block: clamp(1.25rem, 2vw, 1.85rem); }
.wo-v33-ledger dt, .wo-v33-specimen dt { color: var(--wo-ink); font-family: var(--wpv4-serif, Georgia, serif); font-size: clamp(1.25rem, 2vw, 1.65rem); font-weight: 600; margin-bottom: .45rem; }
.wo-v33-ledger dd, .wo-v33-specimen dd { margin: 0; max-width: 62ch; }
.wo-v33-source-panel { border: 1px solid var(--wo-line); border-top: 3px solid var(--wo-blue); margin-inline: auto; max-width: 72rem; padding: clamp(1.75rem, 4vw, 4rem); }
.wo-v33-figure { background: var(--wo-surface); overflow: hidden; }
.wo-v33-figure figcaption { font-size: .8rem; line-height: 1.45; padding: .8rem 1rem 1rem; }
.wo-v33-fit-gate { counter-reset: fit; display: grid; gap: 1px; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin-top: clamp(2rem, 4vw, 3.5rem); padding: 0; background: var(--wo-line); }
.wo-v33-fit-gate > li { background: var(--wo-surface); min-width: 0; padding: clamp(1.4rem, 3vw, 2.5rem); }
.wo-v33-index { color: var(--wo-blue); font-family: var(--wpv4-serif, Georgia, serif); font-size: 1.25rem; font-weight: 700; margin: 0 0 1rem; }
.wo-v33-range-notes { border-left: 2px solid var(--wo-blue); }
.wo-v33-range-notes > .lc-block { border-bottom: 1px solid var(--wo-line); padding: 0 0 1.5rem clamp(1.25rem, 3vw, 2.25rem); }
.wo-v33-range-notes > .lc-block + .lc-block { padding-top: 1.5rem; }
.wo-v33-range-notes > .lc-block:last-child { border-bottom: 0; padding-bottom: 0; }
.wo-v33-answer-list { border-top: 1px solid var(--wo-line); }
.wo-v33-answer-list > .lc-block { border-bottom: 1px solid var(--wo-line); padding-block: clamp(1.25rem, 2.4vw, 2rem); }
.wo-v33-answer-list p { margin-bottom: 0; max-width: 70ch; }
.wo-v33-answer-list--light { border-color: color-mix(in srgb, var(--wo-surface) 28%, transparent); }
.wo-v33-answer-list--light > .lc-block { border-color: color-mix(in srgb, var(--wo-surface) 28%, transparent); }
@media (max-width: 991.98px) { .wo-v33-fit-gate { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 575.98px) { .wo-v33-hero, .wo-v33-section { padding-block: 3.75rem; } .wo-v33-h1 { font-size: clamp(2.3rem, 11vw, 3.1rem); } .wo-v33-btn { width: 100%; } }

/* @why V45: V42's full-width post-content context leaves Bootstrap g-5 rows
 * 12px outside the mobile/tablet canvas. Scope the reset to the three V33
 * dossier IDs so desktop composition and unrelated rows retain their gutters. */
@media (max-width: 1399.98px) {
  body.page-id-60 main .wo-v33 .row.g-5,
  body.page-id-87 main .wo-v33 .row.g-5,
  body.page-id-135 main .wo-v33 .row.g-5 {
    margin-left: 0;
    margin-right: 0;
  }
}

/* @why V45 axe: the V42 palette custom property resolves light on post 60's
 * ink sections. Scope a defined dark surface to the affected V33 page only. */
body.page-id-60 main .wo-v33 .wo-v33-hero--ink,
body.page-id-60 main .wo-v33 .wo-v33-section--ink {
  /* The V42 palette surface rule has greater cascade weight on these blocks. */
  background: var(--bs-dark) !important;
}
