/* Final accessibility overrides: visible focus, reflow, readable states. */
[hidden]{display:none!important}
html{scroll-padding-top:120px}
:where(a,button,input,select,textarea,summary,[tabindex]){scroll-margin-block:125px 24px}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #123b43!important;outline-offset:3px!important;box-shadow:0 0 0 6px white!important}
.skip:focus{position:fixed;top:12px;left:12px;z-index:10000;background:white;color:#123b43;padding:16px}
input:not([type=checkbox]):not([type=range]),select,textarea{border-color:#607378!important}
input::placeholder,textarea::placeholder{color:#54666b;opacity:1}
input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border:2px solid #9f2d21!important}
.field-error{display:block;color:#912c22;font-size:14px;line-height:1.5;margin:6px 0 12px}
.viewer-text-alternative{margin:18px 0 0;padding:16px 20px;border:1px solid #b6c9c5;border-radius:8px;background:#fff;color:#123b43;text-align:left}.viewer-text-alternative summary{cursor:pointer;min-height:44px;display:list-item;align-content:center;font-weight:600}.viewer-text-alternative p{font-size:15px;line-height:1.7;max-width:85ch;color:#425e66}
.reference-footer .rf-column a{min-width:24px;min-height:32px}.reference-footer .rf-column a span{color:#805d00}
button,input[type=range],summary{min-height:44px}input[type=checkbox]{accent-color:#145447}
main,section,article,.nav-shell,.nav-actions,.rf-column{min-width:0}
button,.button{white-space:normal}main h1,main h2,main h3{overflow-wrap:anywhere}
@media(max-width:1190px){.standard-header #navigation{max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}.standard-header #navigation .nav-dropdown{max-height:none;overflow:visible}.standard-header .nav-shell{position:relative}.header.standard-header #navigation{top:100%}}
@media(max-width:600px){.header.standard-header .nav-shell{gap:12px;flex-wrap:wrap;padding-block:10px}.standard-header .nav-actions{gap:8px;margin-left:auto}.standard-header .nav-login{padding:10px 4px;min-height:44px;display:inline-flex;align-items:center}.header.standard-header{height:auto!important}.standard-header .brand{max-width:calc(100% - 116px)}.standard-header .brand img{max-width:100%;height:auto!important}.standard-header #navigation{max-height:70dvh}.reference-footer .rf-bottom nav{gap:12px}.review-hero,.review-section{max-width:100%;padding-inline:20px}.bm-modes{flex-wrap:wrap}.bm-modes button{flex:1 1 auto}.pano-look-buttons{flex-wrap:wrap}.integration-graphic figure{overflow-x:auto}.integration-graphic figure:focus-visible{outline-offset:-4px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.button,button,input,select,textarea{border:1px solid ButtonText!important}a{text-decoration:underline!important}button[aria-pressed=true]{outline:2px solid Highlight!important;outline-offset:-4px}.swipe-divider{background:CanvasText!important}}
/* Complete colour pairs for shared surfaces, after all page theme overrides. */
.ip-cta,.feature-refined .ip-cta{background:#123b43;color:#ffffff}
.ip-cta h2,.inner-professional .ip-cta h2{color:#ffffff!important}
.ip-cta p,.inner-professional .ip-cta p{color:#e1edef!important}
.ip-cta .ip-label,.ip-cta .eyebrow{color:#ffda58!important}
.ip-cta .button{background:#ffcf32!important;color:#123b43!important}
.ip-cta .button:hover{background:#ffe182!important;color:#123b43!important}
.feature-refined .value-question{background:#ffffff;color:#123b43}
.feature-refined .value-question h2{color:#123b43!important}
.feature-refined .value-question>span,.feature-refined .value-question>div>span{color:#735900}
.feature-refined .value-question>div>p{color:#425e66!important}
.feature-refined .value-hero{color:#123b43}
.feature-refined .value-hero h1,.feature-refined .value-hero h2{color:#123b43}
.feature-refined .value-hero .value-eyebrow,.feature-refined .value-back{color:#425e66}
.feature-refined .value-hero-copy>p{color:#425e66}
.feature-refined .value-actions>a:not(.button){color:#24594f}
.review-cta,.editorial-cta{color:#123b43}
.review-cta h2,.editorial-cta h2,.editorial-cta .cta-summary{color:#123b43}
.inner-professional .review-flow h3{color:#ffffff}
.feature-refined .review-flow>li h3{color:#123b43}
.inner-professional .feature-scenario>p{color:#e1edef}
.inner-professional .package-card.featured{background:#0c3038;color:#ffffff}
.inner-professional .package-card.featured h2{color:#ffffff}
.inner-professional .package-card.featured p,.inner-professional .package-card.featured .eyebrow{color:#e1edef}
h2 span{color:#425e66}
.source-node small,.node-symbol{color:#425e66}
.map-arrow{color:#425e66}
/* Compact package comparison: four equal columns at desktop widths. */
body:has(.packages-title) .packages-title{font-size:28px;padding-top:24px}
body:has(.packages-title) main>.section.compact{padding-top:22px}
body:has(.packages-title) .package-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px;align-items:stretch}
body:has(.packages-title) .package-card{padding:22px 20px;border-radius:10px}
body:has(.packages-title) .package-card .eyebrow{font-size:11px;letter-spacing:.7px;min-height:36px}
body:has(.packages-title) .package-card h2{font-size:25px;line-height:1.2;letter-spacing:-.6px;min-height:60px;margin:12px 0}
body:has(.packages-title) .package-card>p{font-size:14px;line-height:1.5;min-height:42px;margin:0 0 12px}
body:has(.packages-title) .package-card .academic-free{font-size:24px;font-weight:700;min-height:0}
body:has(.packages-title) .package-card .feature-list{margin:4px 0 20px;grid-template-columns:1fr}
body:has(.packages-title) .package-card .feature-list li{font-size:13px;line-height:1.45;padding:8px 0}
body:has(.packages-title) .package-card .button{min-height:44px;font-size:13px;padding:12px;justify-content:center;white-space:normal}
.reference-footer .rf-parent>a{transform:translateY(5px)}
/* Never force bitmap assets into a different aspect ratio. */
img{object-fit:contain}
.feature-screen>img,.synthetic-progress img,.integration-graphic img,.progress-screen>img{height:auto!important;object-fit:contain!important}
.real-foyer .swipe-layer{background-size:cover;background-position:center}
@media(max-width:1023px){body:has(.packages-title) .package-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){body:has(.packages-title) .package-grid{grid-template-columns:1fr!important}body:has(.packages-title) .package-card h2,body:has(.packages-title) .package-card .eyebrow{min-height:0}}
.academic-package .feature-list li>span{color:#24594f}
