:root {--wb-color-primary:#2C6A6E;--wb-color-secondary:#34847F;--wb-color-background:#FFFFFF;--wb-color-surface:#F5F5F5;--wb-color-text:#1A1A1A;--wb-color-text-light:#6B7280;--wb-color-accent:#E53E3E;--wb-font-heading:'Montserrat','Helvetica Neue', Arial, sans-serif;--wb-font-body:'Open Sans','Helvetica Neue', Arial, sans-serif;--wb-border-radius:6px;}
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { overflow-x: hidden; }
body { overflow-x: clip; }
body { font-family: var(--wb-font-body); color: var(--wb-color-text); }
.wb-section { display: block; width: 100%; }
.wb-row { display: flex; flex-wrap: wrap; align-items: stretch; width: 100%; }
.wb-cell { flex: 1 1 0; min-width: 0; box-sizing: border-box; overflow: hidden; }
@media (max-width: 768px) { .wb-row > .wb-cell { flex-basis: 100% !important; } }
.wb-rv { opacity: 0; transform: translateY(24px); transition: opacity 0.7s ease, transform 0.7s ease; }
.wb-rv[data-reveal="fade-in"] { transform: none; }
.wb-rv[data-reveal="fade-left"] { transform: translateX(-28px); }
.wb-rv[data-reveal="fade-right"] { transform: translateX(28px); }
.wb-rv-in { opacity: 1; transform: none; }
@media print { .wb-rv { opacity: 1 !important; transform: none !important; } }
.wb-ph { background-color: #e2e8f0; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Ccircle cx='8.5' cy='9.5' r='1.75'/%3E%3Cpath d='M21 15.5' l-4.5-4.5L7 20.5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: center; background-size: 42px 42px; }
.wb-ph--tile { aspect-ratio: 4/3; min-height: 120px; border-radius: var(--wb-border-radius, 8px); }
.wb-section__header { padding: clamp(2rem, 5vw, 4rem) clamp(1.5rem, 5vw, 5rem) 0; }
.wb-section__header--center { text-align: center; }
.wb-section__eyebrow { font-family: var(--wb-font-body); font-size: 0.85rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; color: var(--wb-color-link, var(--wb-color-primary)); margin: 0 0 0.5rem; }
.wb-section__title { font-family: var(--wb-font-heading); font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 700; color: var(--wb-color-text); margin: 0; text-wrap: balance; }
.wb-section--dark { --wb-color-text: #fff; --wb-color-text-light: rgba(255,255,255,0.78); --wb-color-link: #fff; --wb-color-background: transparent; --wb-color-surface: rgba(255,255,255,0.08); }
.wb-cell--dark { --wb-color-text: #fff; --wb-color-text-light: rgba(255,255,255,0.78); --wb-color-link: #fff; --wb-color-background: transparent; --wb-color-surface: rgba(255,255,255,0.08); }
.wb-cell--clear { --wb-color-surface: transparent; --wb-color-background: transparent; --wb-band-bg: transparent; --wb-band-ink: var(--wb-color-text); }
#wb-content img, #wb-footer img { max-width: 100%; height: auto; display: block; }
.wb-richtext-region {
    color: var(--wb-rt-color, inherit);
    margin-bottom: var(--wb-rt-space-after, 0);
}
.wb-richtext-region > * {
    margin-top: 0;
}
.wb-richtext-region > :last-child {
    margin-bottom: 0;
}
.wb-richtext-region :is(h1, h2, h3, h4, h5, h6, p, li, blockquote) {
    color: inherit;
    font-family: var(--wb-rt-font, var(--wb-font-body));
    line-height: var(--wb-rt-line-height, 1.6);
}
.wb-richtext-region h1 {
    font-size: var(--wb-rt-h1-size, clamp(1.9rem, 3vw, 2.6rem));
    font-weight: var(--wb-rt-h1-weight, 700);
}
.wb-richtext-region h2 {
    font-size: var(--wb-rt-h2-size, clamp(1.55rem, 2.5vw, 2.1rem));
    font-weight: var(--wb-rt-h2-weight, 700);
}
.wb-richtext-region h3 {
    font-size: var(--wb-rt-h3-size, clamp(1.25rem, 2vw, 1.65rem));
    font-weight: var(--wb-rt-h3-weight, 700);
}
.wb-richtext-region :is(h4, h5, h6) {
    font-size: var(--wb-rt-h4-size, clamp(1.1rem, 1.7vw, 1.35rem));
    font-weight: var(--wb-rt-h4-weight, 700);
}
.wb-richtext-region :is(p, li, blockquote) {
    font-size: var(--wb-rt-body-size, 1rem);
    font-weight: var(--wb-rt-body-weight, 400);
}
.wb-richtext-region :is(ul, ol) {
    margin: 0 0 var(--wb-rt-list-space-after, 1rem);
    padding-inline-start: 1.25em;
}
.wb-richtext-region a {
    color: var(--wb-rt-link-color, var(--wb-color-primary));
}
.wb-richtext-region blockquote {
    border-inline-start: var(--wb-rt-blockquote-border, 0 solid currentColor);
    padding-inline-start: var(--wb-rt-blockquote-padding, 0);
}
