/* Additive refinement. Original layout, palette, typography and content remain in styles.css. */
:root { --refine-ease: cubic-bezier(.22, 1, .36, 1); }
html { scrollbar-gutter: stable; }
.header { transition: box-shadow 300ms ease, border-color 300ms ease; }
.header.is-scrolled { border-bottom-color: #dce6e8; box-shadow: 0 5px 24px #082b4c08; }
.button { transition: background 220ms ease, transform 260ms var(--refine-ease), box-shadow 260ms ease; }
.button:active { transform: translateY(0); box-shadow: none; }
.button:focus-visible, .underlined:focus-visible { outline-offset: 5px; }
.underlined { text-underline-offset: 5px; }
.underlined > span[aria-hidden], .company-jumps a > span { display: inline-block; transition: transform 260ms var(--refine-ease); }
.underlined:hover > span[aria-hidden], .underlined:focus-visible > span[aria-hidden], .company-jumps a:hover > span { transform: translate(2px, -2px); }
.product-tabs { position: relative; scroll-behavior: smooth; scrollbar-width: thin; scrollbar-color: #c5d8d4 transparent; }
.product-tabs button { transition: color 220ms ease, border-color 220ms ease; touch-action: manipulation; }
.product-tabs[data-refined] button[aria-selected="true"] { border-bottom-color: transparent; }
.product-tabs[data-refined]::after { content: ""; position: absolute; left: 0; bottom: 0; height: 3px; width: var(--tab-width); transform: translateX(var(--tab-left)); background: var(--teal); border-radius: 3px 3px 0 0; pointer-events: none; transition: transform 420ms var(--refine-ease), width 420ms var(--refine-ease); }
.product-panel:focus-visible { outline: 3px solid #098bdb; outline-offset: 5px; }
.bar-chart > div { position: relative; border-radius: 4px; }
.bar-chart > div:focus-visible { outline: 2px solid var(--darkteal); outline-offset: 5px; }
.bar-chart i, .sentiment-bar i, .track i, .mini-bars i { transform-origin: bottom; }
.bar-chart i { transition: filter 200ms ease, opacity 200ms ease; }
.bar-chart > div:is(:hover, :focus-visible, .is-inspected) i { filter: brightness(.96); }
.bar-chart .chart-readout { display: block; position: absolute; z-index: 2; top: 3px; left: 50%; width: max-content; max-width: 150px; transform: translate(-50%, 5px); opacity: 0; visibility: hidden; pointer-events: none; text-align: left; padding: 7px 10px; background: var(--navy); color: #fff; border-radius: 6px; box-shadow: 0 6px 16px #082b4c15; font-size: 11px; line-height: 1.5; transition: opacity 180ms ease, transform 220ms var(--refine-ease), visibility 180ms; }
.bar-chart > div:first-child .chart-readout { left: 0; transform: translate(0, 5px); }
.bar-chart > div:last-child .chart-readout { left: auto; right: 0; transform: translate(0, 5px); }
.bar-chart > div:is(:hover, :focus-visible, .is-inspected) .chart-readout { visibility: visible; opacity: 1; transform: translate(-50%, 0); }
.bar-chart > div:first-child:is(:hover, :focus-visible, .is-inspected) .chart-readout, .bar-chart > div:last-child:is(:hover, :focus-visible, .is-inspected) .chart-readout { transform: translate(0, 0); }
.audit-form-card input, .audit-form-card select, .consultation-card input, .consultation-card textarea, .consultation-card select { transition: border-color 200ms ease, box-shadow 200ms ease; }
.audit-form-card:focus-within, .consultation-card:focus-within { box-shadow: 0 10px 36px #082b4c09; }
.audit-form-card, .consultation-card { transition: box-shadow 300ms ease; }
html.has-open-dialog { overflow: hidden; }
dialog[open] { animation: refine-dialog 240ms var(--refine-ease) both; }
dialog[open]::backdrop { animation: refine-backdrop 240ms ease both; }
.refine-reveal { animation: refine-enter 650ms var(--refine-ease) both; animation-delay: var(--refine-delay, 0ms); }
.refine-chart-in i { animation: refine-bar 850ms var(--refine-ease) both; }
.refine-chart-in i:nth-child(2n) { animation-delay: 70ms; }
@keyframes refine-enter { from { opacity: .35; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
@keyframes refine-bar { from { transform: scaleY(.55); opacity: .55; } to { transform: scaleY(1); opacity: 1; } }
@keyframes refine-dialog { from { opacity: .5; transform: translateY(8px) scale(.99); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes refine-backdrop { from { opacity: 0; } to { opacity: 1; } }
@media (hover: hover) and (pointer: fine) {
 .industry-cards article, .resource-card, .film-player { transition: transform 350ms var(--refine-ease), box-shadow 350ms ease; }
 .industry-cards article:hover, .resource-card:hover { transform: translateY(-3px); box-shadow: 0 12px 30px #082b4c08; }
 .film-player:hover { box-shadow: 0 24px 64px #082b4c16; }
}
@media (max-width: 800px) {
 #navigation.is-open { animation: refine-enter 220ms var(--refine-ease) both; }
 .product-tabs { scroll-padding-inline: 4px; }
}
/* Every element is visible before JS runs; reduced motion also disables the original smooth scroll. */
@media (prefers-reduced-motion: reduce) {
 html, .product-tabs { scroll-behavior: auto !important; }
 *, *::before, *::after { animation: none !important; transition: none !important; }
 .button:hover, .industry-cards article:hover, .resource-card:hover, .underlined:hover > span[aria-hidden], .underlined:focus-visible > span[aria-hidden], .company-jumps a:hover > span { transform: none; }
}
