.header-ui__box-14 { width: 3.5rem; height: 3.5rem; }

.tool-hero-bento__intro > * { opacity: 0; transform: translateY(1rem); animation: tool-hero-bento-rise 650ms cubic-bezier(.2, .8, .2, 1) forwards; }
.tool-hero-bento__intro > *:nth-child(2) { animation-delay: 80ms; }
.tool-hero-bento__intro > *:nth-child(3) { animation-delay: 160ms; }
.tool-hero-bento__intro > *:nth-child(4) { animation-delay: 240ms; }
.tool-hero-bento__intro > *:nth-child(5) { animation-delay: 320ms; }
.tool-hero-bento__icon i { display: inline-block; animation: tool-hero-bento-float 4s ease-in-out infinite; }

.tool-hero-bento__tile { opacity: 0; transform: translateY(2rem); transition: opacity 700ms ease, transform 700ms cubic-bezier(.2, .8, .2, 1); }
.tool-hero-bento__tile--2 { transition-delay: 120ms; }
.tool-hero-bento__tile--3 { transition-delay: 240ms; }
[data-bento].is-visible .tool-hero-bento__tile { opacity: 1; transform: none; }

.tool-hero-bento__gauge { width: 10rem; height: 6rem; }
.tool-hero-bento__gauge svg { width: 100%; height: auto; }
.tool-hero-bento__gauge [data-gauge-arc] { stroke-dasharray: 158; stroke-dashoffset: 158; transition: stroke-dashoffset 1300ms cubic-bezier(.2, .8, .2, 1) 300ms; }

.tool-hero-bento__spark { display: block; width: 100%; height: 3rem; }
.tool-hero-bento__spark polyline { stroke-dasharray: 400; stroke-dashoffset: 400; transition: stroke-dashoffset 1500ms ease 500ms; }
[data-bento].is-visible .tool-hero-bento__spark polyline { stroke-dashoffset: 0; }

.tool-hero-bento__stack { height: 1rem; }
.tool-hero-bento__seg { width: 0; transition: width 900ms cubic-bezier(.2, .8, .2, 1); }
.tool-hero-bento__seg--1 { opacity: .7; }
.tool-hero-bento__seg--2 { opacity: .45; }
.tool-hero-bento__seg--3 { opacity: .25; }
.tool-hero-bento__key { width: .625rem; height: .625rem; flex-shrink: 0; }

.tool-hero-bento__cols { height: 10rem; }
.tool-hero-bento__col { height: 0; transition: height 900ms cubic-bezier(.2, .8, .2, 1); }

.tool-hero-bento__micro { font-size: .75rem; line-height: 1.25rem; }

@keyframes tool-hero-bento-rise { to { opacity: 1; transform: none; } }
@keyframes tool-hero-bento-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }

@media (prefers-reduced-motion: reduce) {
    .tool-hero-bento__intro > *, .tool-hero-bento__tile, .tool-hero-bento__icon i { animation: none; opacity: 1; transform: none; transition: none; }
}

/* wpg-hidden: utility classes are renamed in production builds, so hidden states must not rely on .hidden / .d-none alone */
.tool-hero-bento[hidden], .tool-hero-bento [hidden], .tool-hero-bento .hidden.d-none { display: none !important; }

/* the formatted currency total must fit its bento tile in both frameworks */
.tool-hero-bento strong[data-final] { font-size: clamp(1.5rem, 1rem + 1.2vw, 1.875rem) !important; line-height: 1.15; min-width: 0; overflow-wrap: anywhere; }
.tool-hero-bento :has(> .tool-hero-bento__key) { min-width: 0; overflow-wrap: anywhere; line-height: 1.25; }
.tool-hero-bento__key { flex-shrink: 0; }

.about-console__head { max-width: 46rem; }

.about-console__tab { appearance: none; -webkit-appearance: none; font: inherit; cursor: pointer; opacity: .6; transition: opacity 300ms ease, transform 300ms ease, box-shadow 300ms ease; }
.about-console__tab:hover { opacity: .85; }
.about-console__tab.is-active { opacity: 1; transform: translateY(-.25rem); }
.about-console__tab:focus-visible { outline: 2px solid; outline-offset: 2px; }
.about-console__tab { min-width: 0; }
.about-console__tab > :first-child { min-width: 0; max-width: 100%; overflow-wrap: anywhere; hyphens: auto; }
.about-console__num { width: 1.75rem; height: 1.75rem; font-size: .8125rem; }
.about-console__track { height: .25rem; }
.about-console__fill { width: 0; }

.about-console__panel.is-active { animation: about-console-in 600ms cubic-bezier(.2, .8, .2, 1) both; }
@keyframes about-console-in { from { opacity: 0; transform: translateY(1rem); } to { opacity: 1; transform: none; } }

.about-console__dot { width: .625rem; height: .625rem; }
.about-console__caption { font-size: .875rem; line-height: 1.25rem; }

.about-console__chart { aspect-ratio: 2 / 1; }
.about-console__chart svg { display: block; width: 100%; height: 100%; overflow: visible; }
.about-console__chart text { font-size: 13px; font-weight: 600; }

.about-console__line { stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1400ms cubic-bezier(.2, .8, .2, 1); }
.about-console__fade { opacity: 0; transition: opacity 900ms ease 400ms; }
.about-console__col { transform-box: fill-box; transform-origin: 50% 100%; transform: scaleY(0); transition: transform 900ms cubic-bezier(.2, .8, .2, 1); }
.about-console__bar { transform-box: fill-box; transform-origin: 0 50%; transform: scaleX(0); transition: transform 900ms cubic-bezier(.2, .8, .2, 1); }
.about-console__arc { stroke-dashoffset: 0; transition: stroke-dasharray 1200ms cubic-bezier(.2, .8, .2, 1); }

.about-console__chart.is-drawn .about-console__line { stroke-dashoffset: 0; }
.about-console__chart.is-drawn .about-console__fade { opacity: 1; }
.about-console__chart.is-drawn .about-console__col,
.about-console__chart.is-drawn .about-console__bar { transform: none; }

@media (prefers-reduced-motion: reduce) {
    .about-console__tab, .about-console__line, .about-console__fade, .about-console__col, .about-console__bar, .about-console__arc { transition: none; }
    .about-console__panel.is-active { animation: none; }
}

/* wpg-hidden: utility classes are renamed in production builds, so hidden states must not rely on .hidden / .d-none alone */
.about-console[hidden], .about-console [hidden], .about-console .hidden.d-none { display: none !important; }

/* metric value and its label wrap instead of pushing the label out of the panel */
.about-console :has(> strong > [data-count-to]) { flex-wrap: wrap; row-gap: .25rem; }
.about-console :has(> strong > [data-count-to]) > span { min-width: 0; overflow-wrap: anywhere; }


.narrative-chapter__title-trail { margin-bottom: 2rem; }

.narrative-chapter__shell-section-pad {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

.content-heading-gap {
    margin-bottom: 2rem;
}

.faq-reader__tab, .faq-reader__step { appearance: none; -webkit-appearance: none; font: inherit; cursor: pointer; }
.faq-reader__tab { transition: background-color 250ms ease, border-color 250ms ease, box-shadow 250ms ease, transform 250ms ease; }
.faq-reader__tab:hover { transform: translateX(.25rem); }
.faq-reader__arrow { opacity: 0; transform: translateX(-.5rem); transition: opacity 250ms ease, transform 250ms ease; }
.faq-reader__tab.is-active .faq-reader__arrow { opacity: 1; transform: none; }
.faq-reader__q { min-width: 0; }

.faq-reader__seg { height: .375rem; }
.faq-reader__fill { width: 0; }
.faq-reader__step { width: 2.75rem; height: 2.75rem; }
.faq-reader__bulb { width: 2.25rem; height: 2.25rem; }

.faq-reader__stage { min-height: 16rem; }
@keyframes faq-reader-in { from { opacity: 0; transform: translateX(1.5rem); } to { opacity: 1; transform: none; } }
.faq-reader__panel.is-current { animation: faq-reader-in 500ms cubic-bezier(.2, .8, .2, 1) both; }

@media (min-width: 992px) {
    .faq-reader__stage { min-height: 20rem; }
}

@media (prefers-reduced-motion: reduce) {
    .faq-reader__tab, .faq-reader__arrow { transition: none; }
    .faq-reader__tab:hover { transform: none; }
    .faq-reader__panel.is-current { animation: none; }
}

/* wpg-hidden: utility classes are renamed in production builds, so hidden states must not rely on .hidden / .d-none alone */
.faq-reader[hidden], .faq-reader [hidden], .faq-reader .hidden.d-none { display: none !important; }

/* Production builds compile the sem classes after the utility layer, so the toggled utilities cannot restyle the active tab; give it its own ring. */
.faq-reader__tab.is-active { outline: 2px solid; outline-offset: -2px; }

.tools-bento__ico { width: 3rem; height: 3rem; }

.tools-bento__grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
@media (min-width: 768px) { .tools-bento__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) {
    .tools-bento__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .tools-bento__cell--lead { grid-column: span 2; grid-row: span 2; }
    .tools-bento__cell--lead .tools-bento__chart { height: 16rem; }
}

.tools-bento__cell { opacity: 0; transform: translateY(1.25rem); transition: opacity 550ms ease, transform 550ms ease; }
.tools-bento__cell.is-visible { opacity: 1; transform: none; }
.tools-bento__card { transition: transform 250ms ease, box-shadow 250ms ease; }
.tools-bento__card:hover { transform: translateY(-6px); }
.tools-bento__arrow { transition: transform 200ms ease; }
.tools-bento__card:hover .tools-bento__arrow { transform: translate(3px, -3px); }

.tools-bento__desc { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

.tools-bento__chart { display: block; height: 7rem; }
.tools-bento__chart .tb-bar { transform-box: fill-box; transform-origin: bottom; transform: scaleY(0); transition: transform 700ms cubic-bezier(.2,.8,.2,1); }
.tools-bento__chart .tb-line { stroke-dasharray: 600; stroke-dashoffset: 600; transition: stroke-dashoffset 1300ms ease; }
.tools-bento__chart .tb-fill { opacity: 0; transition: opacity 700ms ease 600ms; }
.tools-bento__chart .tb-ring { transition: stroke-dashoffset 1400ms cubic-bezier(.2,.8,.2,1); }
.tools-bento__chart .tb-dot { transform-box: fill-box; transform-origin: center; transform: scale(0); transition: transform 400ms ease; }
.tools-bento__cell.is-visible .tb-bar,
.tools-bento__cell.is-visible .tb-dot { transform: none; }
.tools-bento__cell.is-visible .tb-line { stroke-dashoffset: 0; }
.tools-bento__cell.is-visible .tb-fill { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
    .tools-bento__cell { opacity: 1; transform: none; transition: none; }
    .tools-bento__chart * { transition: none !important; }
}

/* wpg-hidden: utility classes are renamed in production builds, so hidden states must not rely on .hidden / .d-none alone */
.tools-bento[hidden], .tools-bento [hidden], .tools-bento .hidden.d-none { display: none !important; }

