/* Minification failed. Returning unminified contents.
(48,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(50,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(52,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(54,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(56,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(57,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(58,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(59,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(60,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(61,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(62,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(63,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(64,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(65,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(67,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(68,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(69,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(71,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(72,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(73,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(74,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(75,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(79,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(80,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(81,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(82,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(83,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(84,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(85,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(86,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(87,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(88,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(89,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(90,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(91,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(92,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(93,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(95,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(96,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(97,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(99,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(100,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(101,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(102,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(103,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(156,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(157,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(178,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(193,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(199,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(271,10): run-time error CSS1030: Expected identifier, found '>'
(271,36): run-time error CSS1031: Expected selector, found ')'
(271,36): run-time error CSS1025: Expected comma or open brace, found ')'
(276,10): run-time error CSS1030: Expected identifier, found '>'
(276,36): run-time error CSS1031: Expected selector, found ')'
(276,36): run-time error CSS1025: Expected comma or open brace, found ')'
(454,16): run-time error CSS1030: Expected identifier, found '>'
(454,29): run-time error CSS1031: Expected selector, found ')'
(454,29): run-time error CSS1025: Expected comma or open brace, found ')'
(472,18): run-time error CSS1030: Expected identifier, found '>'
(472,31): run-time error CSS1031: Expected selector, found ')'
(472,31): run-time error CSS1025: Expected comma or open brace, found ')'
(509,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(535,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(569,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(570,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(571,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(572,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(573,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(574,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(575,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(576,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(577,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(578,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(579,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(580,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(581,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(582,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(583,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(584,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(593,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(594,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(595,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(597,20): run-time error CSS1039: Token not allowed after unary operator: '-shadow-card'
(630,27): run-time error CSS1039: Token not allowed after unary operator: '-link'
(651,15): run-time error CSS1039: Token not allowed after unary operator: '-kb-high'
(652,26): run-time error CSS1039: Token not allowed after unary operator: '-kb-high-tint'
(655,15): run-time error CSS1039: Token not allowed after unary operator: '-kb-break'
(656,26): run-time error CSS1039: Token not allowed after unary operator: '-kb-break-tint'
(660,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(682,15): run-time error CSS1039: Token not allowed after unary operator: '-kb-blue'
(683,26): run-time error CSS1039: Token not allowed after unary operator: '-kb-blue-tint'
(686,15): run-time error CSS1039: Token not allowed after unary operator: '-kb-fix'
(687,26): run-time error CSS1039: Token not allowed after unary operator: '-kb-fix-tint'
(690,15): run-time error CSS1039: Token not allowed after unary operator: '-kb-info'
(691,26): run-time error CSS1039: Token not allowed after unary operator: '-kb-info-tint'
(694,33): run-time error CSS1039: Token not allowed after unary operator: '-kb-hairline'
(704,30): run-time error CSS1039: Token not allowed after unary operator: '-kb-hairline'
(717,15): run-time error CSS1039: Token not allowed after unary operator: '-kb-high'
(718,26): run-time error CSS1039: Token not allowed after unary operator: '-kb-high-tint'
(721,26): run-time error CSS1039: Token not allowed after unary operator: '-kb-high-tint'
(724,15): run-time error CSS1039: Token not allowed after unary operator: '-kb-break'
(725,26): run-time error CSS1039: Token not allowed after unary operator: '-kb-break-tint'
(728,26): run-time error CSS1039: Token not allowed after unary operator: '-kb-break-tint'
(745,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(752,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(765,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(774,15): run-time error CSS1039: Token not allowed after unary operator: '-kb-pending'
(775,26): run-time error CSS1039: Token not allowed after unary operator: '-kb-pending-tint'
(782,30): run-time error CSS1039: Token not allowed after unary operator: '-kb-hairline'
(801,26): run-time error CSS1039: Token not allowed after unary operator: '-kb-blue-line'
(804,53): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(820,15): run-time error CSS1039: Token not allowed after unary operator: '-kb-blue'
(821,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(822,38): run-time error CSS1039: Token not allowed after unary operator: '-kb-blue-line'
(830,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(842,15): run-time error CSS1039: Token not allowed after unary operator: '-kb-ok'
(846,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(847,38): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(851,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(858,30): run-time error CSS1039: Token not allowed after unary operator: '-kb-hairline'
(859,26): run-time error CSS1039: Token not allowed after unary operator: '-kb-footer'
(869,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(870,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(871,36): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(876,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(879,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(890,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(891,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(892,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(893,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(894,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(895,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(896,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(897,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(898,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(899,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(900,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(901,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(902,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(903,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(904,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(905,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(917,32): run-time error CSS1039: Token not allowed after unary operator: '-kb-hairline'
(1043,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(1044,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(1046,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1055,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1059,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1063,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1072,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1082,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1086,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1090,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1113,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(1127,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1284,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(1285,36): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(1291,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1369,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1425,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(1464,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1566,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(1567,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1570,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(1592,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(1612,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1639,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(1643,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1657,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1716,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1858,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(1889,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(1890,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(1943,26): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1967,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1974,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1983,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1988,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1994,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(2013,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(2023,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(2036,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(2040,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(2069,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(2104,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(2140,30): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(2154,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(2155,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(2162,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(2189,30): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(2194,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(2254,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(2260,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(2274,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(2288,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(2302,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(2326,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(2333,33): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(2334,30): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(2346,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(2365,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(2367,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(2413,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(2416,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(2434,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(2440,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(2485,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(2489,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(2524,30): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(2533,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(2540,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(2560,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(2568,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(2598,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(2600,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(2621,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(2622,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(2623,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(2874,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-header'
(2875,32): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(2931,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(2947,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(3165,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(3173,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(3179,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(3180,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(3181,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(3202,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(3396,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(3407,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(3408,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(3409,33): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(3415,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(3421,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(3671,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(3708,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(3855,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(3856,36): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(3864,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(3871,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(3911,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(4012,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(4055,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(4072,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(4097,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(4130,36): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(4144,36): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(4245,52): run-time error CSS1039: Token not allowed after unary operator: '-mx'
(4245,67): run-time error CSS1039: Token not allowed after unary operator: '-my'
(4451,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(4577,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(4583,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(4676,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(4677,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(4680,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(4701,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(4708,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(4738,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(4759,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(4798,33): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(4805,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(4817,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(4848,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(4860,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(4914,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(4943,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(4969,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(4985,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(4986,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(5001,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(5016,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(5034,33): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(5037,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(5063,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(5070,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(5088,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(5093,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(5400,52): run-time error CSS1039: Token not allowed after unary operator: '-mx'
(5400,67): run-time error CSS1039: Token not allowed after unary operator: '-my'
(5701,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(5702,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(5720,24): run-time error CSS1039: Token not allowed after unary operator: '-px'
(5720,46): run-time error CSS1039: Token not allowed after unary operator: '-py'
(5802,24): run-time error CSS1039: Token not allowed after unary operator: '-px'
(5802,47): run-time error CSS1039: Token not allowed after unary operator: '-py'
(5811,24): run-time error CSS1039: Token not allowed after unary operator: '-px'
(5811,47): run-time error CSS1039: Token not allowed after unary operator: '-py'
(5872,24): run-time error CSS1039: Token not allowed after unary operator: '-px'
(5872,47): run-time error CSS1039: Token not allowed after unary operator: '-py'
(5947,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(5948,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(5966,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(5967,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(5985,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(5986,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6004,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6005,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6023,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6024,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6042,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6043,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6061,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6062,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6080,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6081,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6099,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6100,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6118,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6119,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6137,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6138,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6156,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6157,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6175,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6176,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6194,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6195,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6340,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6341,20): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(6343,36): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(6346,36): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(6525,26): run-time error CSS1039: Token not allowed after unary operator: '-cx'
(6525,50): run-time error CSS1039: Token not allowed after unary operator: '-cy'
(6618,36): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(6640,57): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(6654,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(6669,32): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(6674,36): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(6677,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(6741,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(6742,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(6768,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6774,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(6797,15): run-time error CSS1030: Expected identifier, found '>'
(6797,54): run-time error CSS1031: Expected selector, found ')'
(6797,54): run-time error CSS1025: Expected comma or open brace, found ')'
(6925,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6928,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(6960,30): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(6976,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(6997,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(6998,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(7006,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7011,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(7366,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(7371,44): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(7396,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7399,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(7462,33): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(7466,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(7478,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7490,20): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(7491,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(7494,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(7510,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7521,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(7526,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(7545,20): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(7546,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(7571,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(7579,30): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(7580,20): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(7582,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(7587,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8248,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(8249,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8252,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-header'
(8253,33): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8256,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-header'
(8263,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-header'
(8264,33): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8267,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(8273,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8279,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8282,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(8283,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8287,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(8293,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8296,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8302,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8308,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8312,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(8316,26): run-time error CSS1039: Token not allowed after unary operator: '-input-bg'
(8317,22): run-time error CSS1039: Token not allowed after unary operator: '-input-border'
(8318,15): run-time error CSS1039: Token not allowed after unary operator: '-input-text'
(8321,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(8324,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8330,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(8334,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(8335,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8343,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8349,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(8352,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8361,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(8362,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8363,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8367,29): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8370,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8373,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(8376,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8379,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(8383,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8386,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8399,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(8400,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(8401,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8404,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(8405,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8408,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(8409,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8412,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(8415,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8419,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8422,26): run-time error CSS1039: Token not allowed after unary operator: '-input-bg'
(8423,22): run-time error CSS1039: Token not allowed after unary operator: '-input-border'
(8424,15): run-time error CSS1039: Token not allowed after unary operator: '-input-text'
(8427,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(8430,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(8431,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8434,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(8435,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8438,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8439,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8442,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(8443,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8444,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8448,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8449,20): run-time error CSS1039: Token not allowed after unary operator: '-shadow-elevated'
(8453,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8457,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(8461,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(8464,29): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8465,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(8468,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8471,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8475,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8479,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8482,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(8483,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8486,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8489,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(8490,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8493,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8496,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(8499,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(8500,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8501,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8504,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8507,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(8521,26): run-time error CSS1039: Token not allowed after unary operator: '-input-bg'
(8522,22): run-time error CSS1039: Token not allowed after unary operator: '-input-border'
(8523,15): run-time error CSS1039: Token not allowed after unary operator: '-input-text'
(8530,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8535,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(8538,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(8539,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8540,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8543,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8546,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(8547,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8548,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8552,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8556,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(8557,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8558,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8562,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8563,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8567,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8583,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8587,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(8588,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8591,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(8592,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8596,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8604,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(8605,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8606,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8620,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8634,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(8639,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8644,15): run-time error CSS1039: Token not allowed after unary operator: '-link-hover'
(8652,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(8653,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8654,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8659,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(8660,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8661,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8666,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(8667,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8668,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8678,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(8679,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8680,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8698,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(8699,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8700,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8726,26): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8727,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8728,15): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(8731,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(8732,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8735,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8739,26): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8740,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8744,15): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(8747,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(8748,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8749,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8752,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(8753,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8754,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8762,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(8763,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8771,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8782,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(8783,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8784,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8817,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(8818,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8819,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8825,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(8826,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8827,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8845,26): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8846,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8847,15): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(8850,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8853,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8862,26): run-time error CSS1039: Token not allowed after unary operator: '-input-bg'
(8863,22): run-time error CSS1039: Token not allowed after unary operator: '-input-border'
(8864,15): run-time error CSS1039: Token not allowed after unary operator: '-input-text'
(8867,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(8873,15): run-time error CSS1039: Token not allowed after unary operator: '-input-text'
(8885,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(8897,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(8898,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(8902,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(8905,22): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(8909,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(8910,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8913,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(8914,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8917,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(8918,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8925,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(8926,29): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8927,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(8930,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(8931,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8934,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(8935,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8942,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8946,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(8950,15): run-time error CSS1039: Token not allowed after unary operator: '-link-hover'
(8971,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(8972,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8986,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(8987,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8988,33): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(8998,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(9020,26): run-time error CSS1039: Token not allowed after unary operator: '-input-bg'
(9021,22): run-time error CSS1039: Token not allowed after unary operator: '-input-border'
(9022,15): run-time error CSS1039: Token not allowed after unary operator: '-input-text'
(9027,26): run-time error CSS1039: Token not allowed after unary operator: '-link'
(9028,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(9029,15): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(9034,26): run-time error CSS1039: Token not allowed after unary operator: '-link-hover'
(9035,22): run-time error CSS1039: Token not allowed after unary operator: '-link-hover'
(9044,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(9045,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(9046,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(9069,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(9085,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(9090,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(9091,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(9097,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(9098,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(9104,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(9109,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(9110,22): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(9156,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9158,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9159,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9160,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9161,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9163,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9164,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9166,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9168,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9170,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9172,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9173,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9174,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9175,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9292,27): run-time error CSS1039: Token not allowed after unary operator: '-link'
(9302,27): run-time error CSS1039: Token not allowed after unary operator: '-link'
(9334,20): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(9335,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(9343,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(9346,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(9349,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(9350,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(9351,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(9355,20): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(9356,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(9372,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(9384,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(9392,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(9399,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(9400,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(9401,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(9407,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(9422,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(9436,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(9444,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(9459,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(9460,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(9473,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(9477,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(9480,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(9489,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(9490,20): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(9491,36): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(9494,14): run-time error CSS1039: Token not allowed after unary operator: '-link'
(9497,16): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(9500,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(9503,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(9506,20): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(9507,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(9513,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(9516,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(9520,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(9527,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(9528,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(9534,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(9537,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(9542,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(9548,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(9549,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(9554,15): run-time error CSS1039: Token not allowed after unary operator: '-link'
(9558,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(9566,33): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(9567,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(9581,20): run-time error CSS1039: Token not allowed after unary operator: '-link'
(9586,26): run-time error CSS1039: Token not allowed after unary operator: '-link'
(9614,20): run-time error CSS1039: Token not allowed after unary operator: '-link-hover'
(9615,22): run-time error CSS1039: Token not allowed after unary operator: '-link-hover'
(9624,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(9625,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(9626,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(9631,20): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(9632,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(9633,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(9639,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(9642,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(9645,20): run-time error CSS1039: Token not allowed after unary operator: '-link'
(9652,20): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(9653,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(9658,20): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(9659,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(9660,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(9666,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(9669,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(9672,20): run-time error CSS1039: Token not allowed after unary operator: '-link'
(9679,20): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(9680,22): run-time error CSS1039: Token not allowed after unary operator: '-link'
(9847,27): run-time error CSS1039: Token not allowed after unary operator: '-link'
(10019,22): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(10026,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(10027,22): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(10043,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(10044,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(10076,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(10233,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(10245,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(10254,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(10262,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(10269,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(10298,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(10343,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(10352,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(10354,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(10433,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(10434,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(10523,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(10530,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(10535,20): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(10536,15): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(10707,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-base'
(10710,26): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(10713,15): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(10839,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(10883,33): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(10902,15): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
 */
/*
  Intersoft Website CSS (Modernized 2026)
*/

/* Icon-font utility - applies the "isfas" glyph font. */

/* Used in place of inline style="font-family:isfas" so icon glyphs still render under the strict, nonce-based Content Security Policy (which forbids inline style attributes). */

.is-fa-icon {
  font-family: isfas;
}
/* Small utility classes that replace common inline style attributes, so the strict Content Security Policy can forbid them. */

.text-center {
  text-align: center;
}
.panel-bg-soft {
  background-color: #f1f5f9;
}
/* Logo only */
/* legacy alias - now blue */
/* LoanPro deep navy */
/* Refined indigo - complements red */
/* Deep midnight indigo */
/* Softer warm coral */
/* Soft periwinkle */
/* Surface and text LESS variables are resolved to CSS custom properties at compile time, NOT hardcoded values. Every existing `color: @TEXT_PRIMARY` etc. compiles to `color: var(--text-primary)`, which auto-themes when :root[data-theme="dark"] is set. The CSS variables themselves are defined further down in the :root and :root[data-theme="dark"] blocks. This avoids needing per-component dark-mode overrides for every place these are used (85+ rules across the file). Keep these as `var(...)` — do NOT pass them through LESS colour functions like darken()/fade(), those need static colours and will fail to compile. */
/* Glassmorphism tokens. @GLASS_BG / @GLASS_BORDER are for dark backgrounds (e.g. heroes) and stay constant in both light and dark themes. @GLASS_BG_LIGHT / @GLASS_BORDER_LIGHT are for light backgrounds (e.g. .mini-feature cards in .full-width.light sections) — these go through CSS variables so the heavy white glass becomes a heavy dark-navy glass in dark mode. */
/* Spring-physics easing (mimics Framer Motion spring) */
/* Exponential ease-out for entrances and state changes; a gentle in-out for the slow ambient drifts. */
/* Canonical responsive breakpoints.
   Use these for any NEW @media rules. Existing rules use a mix of historical widths (1320 / 1280 / 1100 / 1024 / 980 / 900 / 840 / 800 / 760 / 720 / 680 / 640 / 600 / 520 / 480) that pre-date this consolidation; do not refactor them all at once — that risks regressions. Refactor opportunistically when touching a component. */
/* split-layout → single column; hide laptop-only chrome */
/* phones (most modern phones in landscape); typography reflow */
/* small phones in portrait; aggressive trimming */

/*
======================================================
Theme tokens (CSS custom properties for light / dark)
======================================================
The site has historically used hard-coded colour LESS variables; many uses go through compile-time functions like fade()/darken() which cannot read CSS custom properties.

Strategy: light mode keeps the existing LESS values (most rules untouched), and dark mode is implemented as a focused set of overrides at the bottom of this file scoped to `:root[data-theme="dark"]`. The CSS variables below serve as the single source of truth for the surface tokens that DO get themed — anything else (gradients, glass tints, hero decoration, footers) is dark in both modes and stays as-is.

`<html data-theme="dark|light">` is set by an inline init script in MasterPage.master before paint, so there's no flash-of-wrong-theme. */

:root {
  --bg-base: #f7f8fa;
  /* page background under .full-width.light sections */
  --bg-surface: white;
  /* cards, panels, white sections */
  --bg-elevated: white;
  /* dropdowns, modals, popovers */
  --bg-header: white;
  /* main header bar */
  --border-subtle: #e5e5e5;
  --border-strong: #d5d5d5;
  --text-primary: #333333;
  --text-secondary: #666666;
  --text-muted: #999999;
  --link: #3d5aa9;
  --input-bg: #f7f8fa;
  --input-border: #e5e5e5;
  --input-text: #333333;
  --glass-bg-light: rgba(255, 255, 255, 0.65);
  /* heavy glass tint on a light surface */
  --glass-border-light: rgba(255, 255, 255, 0.5);
  --shadow-card: 0 2px 8px rgba(0, 0, 0, 0.08);
  --shadow-elevated: 0 12px 40px rgba(0, 0, 0, 0.15);
  /* Hero constellation SVG (Default.aspx) + the neural mesh canvas (Scripts/general.js initNeuralMesh). Both share --con-blue-bright so the brand visual language stays in sync — the bright sky-blue picks up the dot-and-line accent used in the SignatureBanner.png in our email signatures. The hero surface is dark in both themes (heroes do not flip), but the constellation reads marginally more luminous in dark mode against the deeper page chrome. */
  --con-grid: rgba(255, 255, 255, 0.04);
  --con-blue-deep: #3d5aa9;
  --con-blue-bright: #60a5fa;
  --con-coral-deep: #e97c73;
  --con-coral-bright: #ffb1a8;
}
:root[data-theme="dark"] {
  /* Palette re-tuned 2026-05-20 in response to feedback (J036935): Rochelle ("darkness harder to read"), Caroline ("grey is yuck"), Flynn (low-contrast text and panels on dark surfaces). Surfaces lifted one step away from near-black so cards/panels read as deliberate elevations; text contrast increased to WCAG AA on body text; link colour brightened so it actually looks like a link against the new mid-navy base. */
  --bg-base: #131a2e;
  --bg-surface: #1e2741;
  --bg-elevated: #2a3357;
  --bg-header: #181f36;
  --border-subtle: #353e60;
  --border-strong: #4a5478;
  --text-primary: #eef0f6;
  --text-secondary: #c7ccda;
  --text-muted: #8e94ab;
  --link: #93aeec;
  --link-hover: #b5cafb;
  --input-bg: #2a3357;
  --input-border: #4a5478;
  --input-text: #eef0f6;
  --glass-bg-light: rgba(42, 51, 87, 0.65);
  /* dark navy glass — visible against the dark base */
  --glass-border-light: rgba(147, 174, 236, 0.22);
  --shadow-card: 0 2px 12px rgba(0, 0, 0, 0.35);
  --shadow-elevated: 0 12px 40px rgba(0, 0, 0, 0.5);
  /* Hero constellation — slightly brighter palette so the nodes / particles hold against the deeper page surround in dark mode. */
  --con-grid: rgba(255, 255, 255, 0.06);
  --con-blue-deep: #4a6bcc;
  --con-blue-bright: #93aeec;
  --con-coral-deep: #f08f86;
  --con-coral-bright: #ffc9c1;
}
/*
======================================================
General
======================================================
*/

/* Google Font loaded via MasterPage.master <link> tag instead */

* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
}
@font-face {
  font-family: isfa;
  /*src: url(../Content/fontawesome-webfont.woff);*/
  src: url(../Content/fa-regular-400.woff);
}
@font-face {
  font-family: isfas;
  /*src: url(../Content/fontawesome-webfont.woff);*/
  src: url(../Content/fa-solid-900.woff);
}
@font-face {
  font-family: isfab;
  /*src: url(../Content/fontawesome-webfont.woff);*/
  src: url(../Content/fa-brands-400.woff);
}
html {
  font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
  height: 100%;
  min-height: 100%;
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* Tabular figures only where figures line up in columns. Inter's tnum feature also widens the hyphen, full stop, comma and colon, so applying it to all text spaced out every hyphen in body copy. The stats, hero chips and count-ups set it on their own rules. */

table {
  font-variant-numeric: tabular-nums;
}
body {
  /* Set on body as well as html: widget.css loads after this bundle and sets html { font-family: Open Sans }, which would otherwise win for every page. Widget controls keep their own font through widget_controls.css. */
  font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
  height: 100%;
  min-height: 100%;
  margin: 0;
  overflow-y: scroll;
  overflow-x: hidden;
  padding: 0;
  color: var(--text-primary);
  background-color: var(--bg-base);
}
a {
  color: #3d5aa9;
  text-decoration: none;
  transition: color 0.15s ease;
}
a:hover {
  color: #2d427c;
}
p {
  margin: 0 0 8px 0;
  line-height: 1.65;
}
form {
  padding: 0;
  margin: 0;
}
hr {
  border: 0;
  height: 1px;
  background-color: var(--border-subtle);
  margin: 16px 0 16px 0;
}
textarea,
input,
select,
button {
  font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
  margin-left: 0;
  margin-bottom: 4px;
  padding: 2px;
}
input,
select,
textarea {
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  font-size: 14px;
  padding: 10px 12px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  background-color: white;
  color: var(--text-primary);
}
input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: #3d5aa9;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}
input.fieldMandatory,
select.fieldMandatory,
textarea.fieldMandatory {
  background-color: #fefce8;
  border-color: #fde68a;
}
/* MapLibre's map controls (the Contact page office maps) keep their own styling, so any button with a maplibregl- class is excluded. */

button:not(.owl-prev):not(.owl-next):not(.owl-dot):not(.is-combobox-button):not(.is-button):not(.mobile-submenu-toggle):not(.theme-toggle):not(.theme-slider-segment):not(.con-chip):not([class*='maplibregl-']),
input[type='button'],
input[type='submit'] {
  background-color: #3d5aa9;
  border: none;
  border-radius: 4px;
  color: white;
  display: inline-block;
  margin: 0 4px 0 4px;
  cursor: pointer;
  font-weight: 600;
  font-size: 13px;
  min-width: 60px;
  line-height: 20px;
  outline: none;
  padding: 10px 20px !important;
  -webkit-appearance: none;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  transition: all 0.2s cubic-bezier(0.22, 0.61, 0.36, 1);
}
button:not(.owl-prev):not(.owl-next):not(.owl-dot):not(.is-combobox-button):not(.is-button):not(.mobile-submenu-toggle):not(.theme-toggle):not(.theme-slider-segment):not(.con-chip):not([class*='maplibregl-']):hover,
input[type='button']:hover,
input[type='submit']:hover {
  background-color: #324a8b;
  color: white;
  box-shadow: 0 4px 12px rgba(61, 90, 169, 0.3);
  transform: translateY(-1px);
}
button:not(.owl-prev):not(.owl-next):not(.owl-dot):not(.is-combobox-button):not(.is-button):not(.mobile-submenu-toggle):not(.theme-toggle):not(.theme-slider-segment):not(.con-chip):not([class*='maplibregl-']):active,
input[type='button']:active,
input[type='submit']:active {
  transform: translateY(0);
  box-shadow: none;
}
button:not(.owl-prev):not(.owl-next):not(.owl-dot):not(.is-combobox-button):not(.is-button):not(.mobile-submenu-toggle):not(.theme-toggle):not(.theme-slider-segment):not(.con-chip):not([class*='maplibregl-']):focus,
input[type='button']:focus,
input[type='submit']:focus {
  box-shadow: 0 0 0 3px rgba(61, 90, 169, 0.2);
}
input[disabled='disabled'][type='submit'] {
  background-color: #e2e8f0 !important;
  color: #94a3b8 !important;
  cursor: not-allowed;
  box-shadow: none !important;
}
input.fieldNormal.search {
  border-radius: 4px;
  font-size: 14px;
  margin-bottom: 10px;
  width: 100%;
  max-width: 500px !important;
}
/* Search-bar form (input + button pair, e.g. on the News page) — laid out as a flex row so the button vertically centres against the input regardless of their individual box-sizing/padding differences. Block-level flex (not inline-flex) so the form claims the full available row and the input's natural max-width can apply without conflicting with the form's content-width. */

form:has(> input.fieldNormal.search) {
  display: flex;
  align-items: center;
  gap: 8px;
}
form:has(> input.fieldNormal.search) > input.fieldNormal.search {
  margin-bottom: 0;
  /* gap on the flex container replaces the bottom margin */
  flex: 0 1 auto;
  /* let the input keep its natural max-width (380px on News page via inline style; 500px otherwise via the input.fieldNormal.search rule), shrink-but-don't-grow */
  min-width: 0;
  /* allow the flex item to shrink below its intrinsic content size on very narrow viewports */

}
/*
======================================================
Custom Checkboxes & Radios
======================================================
*/

input[type='checkbox'] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  width: 18px;
  height: 18px;
  min-width: 18px;
  border: 2px solid #b0b8c0;
  border-radius: 4px;
  background-color: white;
  background-image: none;
  cursor: pointer;
  position: relative;
  top: 3px;
  margin: 0 6px 4px 0;
  padding: 0 !important;
  transition: background-color 0.15s ease, border-color 0.15s ease;
  flex-shrink: 0;
  vertical-align: middle;
  /* Fully suppress native rendering */
  -webkit-print-color-adjust: exact;
  color-adjust: exact;
}
input[type='checkbox']:hover {
  border-color: #3d5aa9;
}
input[type='checkbox']:focus {
  border-color: #3d5aa9;
  box-shadow: 0 0 0 3px rgba(61, 90, 169, 0.15);
  outline: none;
}
input[type='checkbox']:checked {
  background-color: #3d5aa9;
  border-color: #3d5aa9;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5l3 3 6-6.5'/%3E%3C/svg%3E");
  background-size: 14px;
  background-position: center;
  background-repeat: no-repeat;
}
input[type='checkbox']:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
input[type='radio'] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  min-width: 20px;
  border: 2px solid #cbd5e0;
  border-radius: 50%;
  background-color: white;
  cursor: pointer;
  position: relative;
  top: 4px;
  margin: 0 6px 0 0;
  padding: 0;
  transition: all 0.2s ease;
}
input[type='radio']:hover {
  border-color: #3d5aa9;
}
input[type='radio']:focus {
  box-shadow: 0 0 0 3px rgba(61, 90, 169, 0.2);
}
input[type='radio']:checked {
  border-color: #3d5aa9;
  border-width: 6px;
}
input[type='radio']:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
/*
======================================================
Main Layout
======================================================
*/

#wrapper {
  display: flex;
  flex-flow: column;
  height: 100%;
  min-height: 100%;
  align-items: center;
  position: relative;
}
div.header-wrapper {
  box-shadow: none;
  width: 100%;
  position: sticky;
  top: 0;
  z-index: 10;
}
header#header {
  background-color: rgba(255, 255, 255, 0.78);
  -webkit-backdrop-filter: blur(18px) saturate(1.6);
  backdrop-filter: blur(18px) saturate(1.6);
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
  flex-grow: 0;
  height: 64px;
  min-height: 64px !important;
  width: 100%;
  position: relative;
  z-index: 20;
}
header#header > div {
  max-width: 1320px;
  height: 64px;
  margin-left: auto;
  margin-right: auto;
}
div#sitemenu {
  position: relative;
  width: 100%;
}
div#sitemenu > div {
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
}
article#content {
  flex: 1 0 auto;
  /* width:100% spans the full body width. The `max-width: @SITE_MAX_WIDTH` + `padding: 0 24px` previously constrained article#content to 1320px and forced .full-width to escape via `width:100vw; left:50%; margin-left:-50vw`. That 100vw escape included the scrollbar gutter and caused a permanent horizontal scrollbar (Alex 2026-05-20). All page content is wrapped in .full-width sections that handle their own centring via the inner .site-width (max-width:1320). Removing article#content's max-width lets .full-width span its parent (full viewport) without needing the negative-margin escape. */
  width: 100%;
  margin: 0;
  padding: 0;
  /* Remove gap when first child is a full-width section */

}
article#content > .topic > .full-width:first-child {
  margin-top: 0;
}
@media screen and (max-width: 640px) {
  article#content {
    padding: 0 12px;
  }
}
/* Page-content gutters for .topic direct children that are NOT .full-width sections (and are NOT wrappers around a .full-width section).

Four layout patterns exist across the site:
  1. Pure full-width pages (homepage, Contact, About, Products listing, Demo) — every direct child of .topic is .full-width and intentionally spans the viewport.
  2. Pure long-form pages (Blog, Product detail, KB articles, Knowledge Base, Sales pitch, Support forms, Terms, Privacy, every My/Admin/*.aspx) — direct children are content blocks with no .full-width wrappers; on wide viewports they read flush to the edges without any gutter.
  3. Mixed pages (My/Default, Support/UserGuides) — a .full-width hero or panel sits next to non-.full-width body sections inside the same .topic.
  4. Wrapped-full-width pages (Articles/Default) — the .full-width section is nested inside a non-.full-width server-side wrapper div (runat="server" `<div>` with no class). Without the override below, the wrapper would be capped at @SITE_MAX_WIDTH and its .full-width children couldn't span the viewport.

Default rule constrains every direct child of .topic that isn't .full-width to the same column width that .site-width uses inside .full-width blocks. The :has(> .full-width) override identifies pattern-4 wrappers and unsets the constraint so their inner .full-width sections render edge-to-edge as intended.

Layout-only — no colour, no font, no theme-specific concerns. */

.topic > *:not(.full-width) {
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}
/* Wrapper-of-full-width override (pattern 4 — Articles/Default's pnlNewsIntroOuter). The same .has(> input...) idiom appears at form:has(...) above. Same specificity as the default rule, declared after it, so it wins by source order with no need for !important. */

.topic > *:has(> .full-width) {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
}
/* A form control that sits as a DIRECT child of .topic (e.g. the full-width results box on EmailList) is inline-level by default, so the column rule above resolves its margin:auto to 0 and the control hugs the viewport's left edge instead of sitting in the centred content column.
   Promote it to block so it shares the same column — and therefore the same left edge — as the surrounding heading, buttons and form table. */

.topic > textarea {
  display: block;
}
@media screen and (max-width: 720px) {
  .topic > *:not(.full-width) {
    padding-left: 16px;
    padding-right: 16px;
  }
  .topic > *:has(> .full-width) {
    padding-left: 0;
    padding-right: 0;
  }
}
/* Transition gap: when a non-.full-width content block is immediately followed by a .full-width section, replace the .full-width's default margin-top:-1px (intended for consecutive .full-width sections butting together seamlessly) with a small visual gap. Without this, the trailing element's bottom border butts directly against the .full-width section's background change — on UserGuides.aspx that made the search input's bottom border sit right on the gray-to-white boundary at the top of pnlGuidesGuides.light, which read as the input being "cut off" at the bottom (Alex 2026-05-25). */

.topic > *:not(.full-width) + .full-width {
  margin-top: 32px;
}
footer#footer {
  background: linear-gradient(180deg, #0f1730 0%, #0a0f22 100%);
  color: white;
  flex-grow: 0;
  margin-top: 0;
  width: 100%;
  border-top: 1px solid rgba(123, 150, 212, 0.12);
  position: relative;
  /* Subtle aurora glow at the top fade */

}
footer#footer:before {
  content: '';
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(123, 150, 212, 0.4) 50%, transparent 100%);
}
footer#footer > div {
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
}
div.deviceRight {
  background-color: white;
  border: 1px solid var(--border-subtle);
  border-radius: 6px;
  clear: right;
  float: right;
  margin-left: 32px;
  margin-top: 0;
  position: relative;
  width: 236px;
  z-index: 1;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
div.deviceRight p {
  margin: 0;
}
div.deviceRight div.sideboxheader {
  background-color: #12121c;
  color: white;
  font-weight: 600;
  padding: 8px 12px;
  border-radius: 6px 6px 0 0;
}
div.deviceRight div.sideboxheader > a {
  color: white;
}
div.deviceRight div.sideboxsubheader,
div.deviceRight div.sideboxsubheader > a {
  color: var(--text-primary);
  font-weight: 600;
  margin: 8px 0 4px 0;
}
div.deviceRight div.sideboxwithheaderinner,
div.deviceRight div.sideboxinner,
div.deviceRight div.sideboxbody {
  font-size: 13px;
  padding: 8px 12px;
}
div.deviceRight ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
/* Responsive */

@media screen and (max-width: 640px) {
  div.deviceRight {
    display: block;
    margin: 0;
    width: 100%;
  }
}
/*
======================================================
KB Article Details
======================================================
The card beside a Knowledge Base article (Support/KbArticle.aspx).
It leads with the version the change shipped in, shows the lifecycle as three steps (Opened, Closed, Released), and keeps the references in a quiet footer.
On phones general.js collapses it to its summary line so the article title is not pushed off the first screen.
*/

details.kb-details {
  --kb-blue: #3d5aa9;
  --kb-blue-tint: rgba(61, 90, 169, 0.09);
  --kb-blue-line: rgba(61, 90, 169, 0.24);
  --kb-fix: #b4483e;
  --kb-fix-tint: rgba(233, 124, 115, 0.14);
  --kb-info: #55607a;
  --kb-info-tint: rgba(85, 96, 122, 0.1);
  --kb-high: #c62828;
  --kb-high-tint: rgba(198, 40, 40, 0.08);
  --kb-break: #b45309;
  --kb-break-tint: rgba(217, 119, 6, 0.1);
  --kb-pending: #8a5a08;
  --kb-pending-tint: rgba(217, 160, 6, 0.15);
  --kb-ok: #1e8e3e;
  --kb-hairline: #edeef2;
  --kb-footer: #fafbfc;
  float: right;
  clear: right;
  position: relative;
  z-index: 1;
  width: 292px;
  margin: 0 0 16px 32px;
  overflow: hidden;
  font-size: 13px;
  color: var(--text-primary);
  background-color: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  box-shadow: var(--shadow-card);
  /* Summary line: phones only */

  /* Type badge (NEW / FIX / INFO) */

  /* High Importance / Breaking Change bands */

  /* Product and version */

  /* Lifecycle: Opened, Closed, Released */

  /* Released: a green tick */

  /* A step still to come */

  /* References */

  /* Caption for screen readers only */

}
details.kb-details > summary.kb-details-summary {
  display: none;
  align-items: center;
  gap: 10px;
  padding: 11px 14px;
  font-weight: 600;
  list-style: none;
  cursor: pointer;
}
details.kb-details > summary.kb-details-summary::-webkit-details-marker {
  display: none;
}
details.kb-details > summary.kb-details-summary:focus-visible {
  outline: 2px solid var(--link);
  outline-offset: -2px;
}
details.kb-details .kb-summary-text {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-variant-numeric: tabular-nums;
}
details.kb-details .kb-summary-flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 7px;
  font-size: 10.5px;
}
details.kb-details .kb-summary-flag--high {
  color: var(--kb-high);
  background-color: var(--kb-high-tint);
}
details.kb-details .kb-summary-flag--break {
  color: var(--kb-break);
  background-color: var(--kb-break-tint);
}
details.kb-details .kb-summary-chevron {
  font-size: 11px;
  color: var(--text-muted);
  transition: transform 0.25s cubic-bezier(0.22, 0.61, 0.36, 1);
}
details.kb-details[open] > summary .kb-summary-chevron {
  transform: rotate(180deg);
}
details.kb-details .kb-type {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 9px 4px 7px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1;
  white-space: nowrap;
}
details.kb-details .kb-type-icon {
  font-size: 10.5px;
}
details.kb-details .kb-type--new {
  color: var(--kb-blue);
  background-color: var(--kb-blue-tint);
}
details.kb-details .kb-type--fix {
  color: var(--kb-fix);
  background-color: var(--kb-fix-tint);
}
details.kb-details .kb-type--info {
  color: var(--kb-info);
  background-color: var(--kb-info-tint);
}
details.kb-details .kb-flags {
  border-bottom: 1px solid var(--kb-hairline);
}
details.kb-details .kb-flag {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 18px;
  font-weight: 650;
}
details.kb-details .kb-flag + .kb-flag {
  border-top: 1px solid var(--kb-hairline);
}
details.kb-details .kb-flag-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 22px;
  height: 22px;
  border-radius: 7px;
  font-size: 11px;
}
details.kb-details .kb-flag--high {
  color: var(--kb-high);
  background-color: var(--kb-high-tint);
}
details.kb-details .kb-flag--high .kb-flag-icon {
  background-color: var(--kb-high-tint);
}
details.kb-details .kb-flag--break {
  color: var(--kb-break);
  background-color: var(--kb-break-tint);
}
details.kb-details .kb-flag--break .kb-flag-icon {
  background-color: var(--kb-break-tint);
}
details.kb-details .kb-release {
  padding: 18px 18px 14px;
}
details.kb-details .kb-release-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 14px;
}
details.kb-details .kb-product {
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.3;
  text-align: right;
  color: var(--text-secondary);
}
details.kb-details .kb-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--text-secondary);
}
details.kb-details .kb-version {
  margin: 3px 0 4px;
  font-size: 32px;
  font-weight: 780;
  letter-spacing: -0.03em;
  line-height: 1.05;
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums;
}
details.kb-details .kb-release-date {
  font-size: 13.5px;
  color: var(--text-secondary);
}
details.kb-details .kb-pending {
  display: inline-flex;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 650;
  white-space: nowrap;
  color: var(--kb-pending);
  background-color: var(--kb-pending-tint);
}
details.kb-details .kb-lifecycle {
  display: flex;
  margin: 0;
  padding: 14px 12px 16px;
  list-style: none;
  border-top: 1px solid var(--kb-hairline);
}
details.kb-details .kb-lifecycle > li {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  padding-top: 32px;
  text-align: center;
  /* The line into each step from the one before it; dashed while the step is still to come */

}
details.kb-details .kb-lifecycle > li + li:after {
  content: '';
  position: absolute;
  top: 12px;
  right: 50%;
  width: 100%;
  height: 2px;
  background-color: var(--kb-blue-line);
}
details.kb-details .kb-lifecycle > li.is-pending:after {
  background: repeating-linear-gradient(90deg, var(--border-strong) 0 3px, transparent 3px 6px);
}
details.kb-details .kb-step-icon {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  margin-left: -13px;
  border-radius: 50%;
  font-size: 11px;
  line-height: 1;
  color: var(--kb-blue);
  background-color: var(--bg-surface);
  box-shadow: inset 0 0 0 1.5px var(--kb-blue-line);
}
details.kb-details .kb-step-caption {
  display: block;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--text-secondary);
}
details.kb-details .kb-step-date {
  display: block;
  margin-top: 2px;
  font-size: 12.5px;
  font-weight: 650;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
details.kb-details .kb-lifecycle > li.is-released .kb-step-icon {
  font-size: 24px;
  color: var(--kb-ok);
  box-shadow: none;
}
details.kb-details .kb-lifecycle > li.is-pending .kb-step-icon {
  color: var(--text-muted);
  box-shadow: inset 0 0 0 1.5px var(--border-strong);
}
details.kb-details .kb-lifecycle > li.is-pending .kb-step-date {
  font-weight: 500;
  color: var(--text-muted);
}
details.kb-details .kb-refs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 12px 18px 14px;
  border-top: 1px solid var(--kb-hairline);
  background-color: var(--kb-footer);
}
details.kb-details .kb-ref {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 9px;
  border-radius: 7px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-secondary);
  background-color: var(--bg-surface);
  box-shadow: inset 0 0 0 1px var(--border-subtle);
  font-variant-numeric: tabular-nums;
}
details.kb-details .kb-ref-icon {
  font-size: 10px;
  color: var(--text-muted);
}
details.kb-details .kb-ref-label {
  color: var(--text-muted);
}
details.kb-details .kb-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
:root[data-theme="dark"] details.kb-details {
  --kb-blue: #93aeec;
  --kb-blue-tint: rgba(147, 174, 236, 0.13);
  --kb-blue-line: rgba(147, 174, 236, 0.32);
  --kb-fix: #ffb1a8;
  --kb-fix-tint: rgba(240, 143, 134, 0.16);
  --kb-info: #c7ccda;
  --kb-info-tint: rgba(199, 204, 218, 0.12);
  --kb-high: #ff9a9a;
  --kb-high-tint: rgba(255, 110, 110, 0.13);
  --kb-break: #f5b867;
  --kb-break-tint: rgba(245, 184, 103, 0.13);
  --kb-pending: #f2cc6b;
  --kb-pending-tint: rgba(242, 204, 107, 0.14);
  --kb-ok: #6fd39a;
  --kb-hairline: #2c355a;
  --kb-footer: #1a2239;
}
@media screen and (max-width: 640px) {
  details.kb-details {
    float: none;
    width: auto;
    margin: 0 0 16px 0;
  }
  details.kb-details > summary.kb-details-summary {
    display: flex;
  }
  details.kb-details .kb-details-body {
    border-top: 1px solid var(--kb-hairline);
  }
}
/*
======================================================
Header
======================================================
*/

header#header > div {
  display: flex;
  flex-flow: row;
  align-items: center;
  /* Logo */

  /* Menu */

  /* Search */

  /* User Info */

}
header#header > div > div.site-logo {
  flex-grow: 0;
  padding: 0 12px 0 4px;
  display: flex;
  align-items: center;
  height: 64px;
}
header#header > div > div.site-logo a {
  /* 300x128 logo shown at 112x48 (same 2.34:1 ratio), so it stays sharp on high-density screens. */
  background-image: url(../img/IntersoftLogo-300x128.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-color: #e3222f;
  display: inline-block;
  width: 112px;
  height: 48px;
  padding: 0;
  border-radius: 6px;
  box-shadow: 0 6px 16px -8px rgba(227, 34, 47, 0.7);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
header#header > div > div.site-logo a:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 20px -8px rgba(227, 34, 47, 0.75);
}
header#header > div > div#sitemenu {
  flex-grow: 0;
}
header#header > div > div.site-search {
  flex-grow: 1;
}
header#header > div > .myintersoft {
  flex-grow: 0;
  flex-shrink: 0;
  /* never compress this column — its content (SUPPORT / SALES / Sign In / theme toggle / hamburger) must stay on one line */
  white-space: nowrap;
  /* belt-and-braces; the legacy <nobr> alone isn't reliable, and using display:inline-flex here would force the inner <nobr> to become a flex item which breaks its intrinsic nowrap */

}
header#header > div > .myintersoft > nobr {
  white-space: nowrap;
  display: inline-block;
  /* keep nobr inline-block so it forms a single nowrap context for the user-action chrome */

}
header#header > div > .myintersoft > nobr > .support-button,
header#header > div > .myintersoft > nobr > .sales-button,
header#header > div > .myintersoft > nobr > .login-button,
header#header > div > .myintersoft > nobr > #themeToggle,
header#header > div > .myintersoft > nobr > #mobilemenu {
  vertical-align: middle;
}
div.site-search {
  margin: 0;
  padding: 0 16px;
  width: 100%;
  display: flex;
  align-items: center;
  height: 64px;
  position: relative;
}
div.site-search form {
  display: flex;
  align-items: center;
  position: relative;
}
div.site-search button#cmdSearch {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  margin: 0 0 0 -38px !important;
  padding: 0 !important;
  background: #3d5aa9 !important;
  border: none !important;
  border-radius: 50% !important;
  cursor: pointer;
  transition: background-color 0.15s ease;
  box-shadow: none !important;
  line-height: 30px;
  font-size: 0;
  color: transparent;
  overflow: hidden;
  text-transform: none;
  letter-spacing: 0;
  position: relative;
  z-index: 1;
}
div.site-search button#cmdSearch:before {
  font-family: isfas;
  color: white;
  content: "\f002";
  font-size: 13px;
}
div.site-search button#cmdSearch:hover {
  background: #324a8b !important;
  transform: none !important;
  box-shadow: none !important;
}
div.site-search button#cmdSearch:focus {
  border: none !important;
  box-shadow: none !important;
}
div.site-search input {
  background-color: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 20px;
  color: var(--text-primary);
  outline: none;
  padding: 9px 40px 9px 16px;
  width: 320px;
  max-width: 100%;
  margin-bottom: 0 !important;
  transition: all 0.25s ease;
}
div.site-search input::placeholder {
  color: var(--text-muted);
  opacity: 1;
}
div.site-search input:-ms-input-placeholder {
  color: var(--text-muted);
  opacity: 1;
}
div.site-search input::-ms-input-placeholder {
  color: var(--text-muted);
  opacity: 1;
}
div.site-search input:focus {
  box-shadow: 0 0 0 3px rgba(61, 90, 169, 0.15);
  background-color: white;
  border-color: #3d5aa9;
}
div.site-search form.focused input {
  color: var(--text-primary);
  background-color: white;
  width: 450px;
  max-width: 100%;
  /* prevents focused expansion from overflowing the viewport on narrow phones — without this, 450px > phone width */
  border-color: white;
  padding-right: 44px;
  transition: all 0.25s ease;
}
div.site-search form.focused input::placeholder {
  color: var(--text-muted);
  opacity: 1;
}
div.site-search form.focused input:-ms-input-placeholder {
  color: var(--text-muted);
  opacity: 1;
}
div.site-search form.focused input::-ms-input-placeholder {
  color: var(--text-muted);
  opacity: 1;
}
div.site-search form.focused button#cmdSearch {
  background: #2ea3f2 !important;
}
div.site-search form.focused button#cmdSearch:before {
  color: white;
}
div.site-search form.focused button#cmdSearch:hover {
  background: #0e91e9 !important;
  transform: none !important;
}
/* Mobile search-icon trigger. Hidden by default; the mobile media query (≤840px) flips it to inline-flex. Lives in .myintersoft just before the hamburger so it sits in the same nowrap row as the existing user-action buttons. */

.mobile-search-trigger {
  display: none;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-right: 4px;
  border-radius: 8px;
  color: var(--text-secondary);
  cursor: pointer;
  text-decoration: none;
  vertical-align: middle;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.mobile-search-trigger:before {
  font-family: isfas;
  content: "\f002";
  /* magnifying glass */
  font-size: 16px;
}
.mobile-search-trigger:hover {
  background-color: rgba(0, 0, 0, 0.05);
  color: var(--text-primary);
  text-decoration: none;
}
.mobile-search-trigger:focus-visible {
  outline: 2px solid #3d5aa9;
  outline-offset: 2px;
}
/* When the overlay search row is open, swap the glyph for an × and tint the button so the close affordance is unambiguous. */

body.search-open .mobile-search-trigger {
  color: #3d5aa9;
  background-color: rgba(61, 90, 169, 0.08);
}
body.search-open .mobile-search-trigger:before {
  content: "\f00d";
  /* fa-times */

}
/* Sticky Header (when NOT mobile but body is scrolled) */

/*@media screen and (min-width:840px) {
  body.scrolled {
    margin-top:66px;

    header#header {
      height:@SITE_HEADER_HEIGHT_FIXED !important;
      min-height: @SITE_HEADER_HEIGHT_FIXED !important;
    }

    div.site-menu {
      margin-top:0 !important;
    }

    div.site-logo {
      margin-top:-3px !important;

      a {
        background-size:cover !important;
        height:@SITE_HEADER_HEIGHT_FIXED !important;
      }
    }

    div.site-search,
    .login-button,
    .sales-button {
      display:none;
    }

    header#header {
      position:fixed;
      top:0;
      left:0;
      height: @SITE_HEADER_HEIGHT_FIXED;
      z-index:99;
      animation: headerSlideDown 0.5s;
      transition:all 0.5s;
    }

    div#sitemenusub {
      box-shadow: 0 2px 4px rgba(0,0,0,0.07);
      position:fixed;
      top:@SITE_HEADER_HEIGHT_FIXED;
      left:0;
      z-index:2;
      animation: headerSlideDown 0.5s;
      transition:all 0.5s;
    }
  }

  div.site-menu {
    ul[menu-id='root'] {
      > li > a {
        height: @SITE_HEADER_HEIGHT_FIXED !important;
        overflow:hidden;
      }
    }
  }
}*/

/*
======================================================
Footer
======================================================
*/

footer#footer > div {
  padding: 28px 16px 16px 16px;
  /* Legal row: logo, copyright and terms, under a hairline. */

}
footer#footer > div:first-child {
  padding-top: 64px;
}
footer#footer > div.footer-legal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 24px;
  margin-top: 24px;
  padding-top: 24px;
  padding-bottom: 32px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
footer#footer > div.footer-legal #copyright,
footer#footer > div.footer-legal #terms {
  margin: 0;
}
footer#footer > div.footer-legal #terms {
  margin-left: auto;
}
@media screen and (max-width: 720px) {
  footer#footer > div.footer-legal #terms {
    margin-left: 0;
  }
}
footer#footer > div .footer-logo {
  display: block;
  width: 76px;
  height: auto;
  border-radius: 4px;
}
footer#footer > div a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: color 0.15s ease;
}
footer#footer > div a:hover {
  color: white;
}
footer#footer > div #copyright,
footer#footer > div #terms {
  display: inline-block;
  font-size: 13px;
  margin-bottom: 16px;
  margin-right: 24px;
  color: rgba(255, 255, 255, 0.5);
}
footer#footer > div #copyright a,
footer#footer > div #terms a {
  color: rgba(255, 255, 255, 0.5);
}
footer#footer > div #copyright a:hover,
footer#footer > div #terms a:hover {
  color: rgba(255, 255, 255, 0.9);
}
/*
======================================================
Menu
======================================================
*/

body:not(.mobilemenu) div#sitemenu div.site-menu {
  margin: 0 0 0 24px;
  display: flex;
  align-items: center;
  height: 64px;
  padding: 0 4px;
  background-color: var(--bg-base);
  box-shadow: inset 0 0 0 1px var(--border-subtle);
  border-radius: 999px;
  align-self: center;
  height: 44px !important;
}
body:not(.mobilemenu) div#sitemenu div.site-menu a {
  color: var(--text-primary);
  display: block;
  font-size: 14px;
  padding: 8px 14px;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.15s ease;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul {
  display: inline-block;
  margin: 0;
  padding: 0;
  white-space: nowrap;
  /* Root level */

}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul > li {
  display: none;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul > li.current {
  background-color: transparent;
  border-radius: 0;
  z-index: 9;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul > li.current a {
  color: #3d5aa9 !important;
  font-weight: 600;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul > li ul {
  display: none;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li {
  display: inline-flex;
  align-items: center;
  margin: 0 2px;
  padding: 0;
  position: relative;
  height: 36px;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li > a {
  font-size: 14px;
  line-height: 1;
  font-weight: 500;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  border-radius: 999px;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover {
  background-color: transparent;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > a {
  color: #3d5aa9 !important;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > ul {
  display: block;
  background-color: rgba(255, 255, 255, 0.95);
  -webkit-backdrop-filter: blur(20px) saturate(1.5);
  backdrop-filter: blur(20px) saturate(1.5);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.18), 0 0 0 1px rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 10px;
  list-style: none;
  margin: 0;
  min-width: 240px;
  padding: 12px;
  position: absolute;
  top: 100%;
  z-index: 9999;
  transform-origin: top left;
  animation: navDropIn 0.18s cubic-bezier(0.22, 0.61, 0.36, 1);
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > ul > li {
  margin: 0;
  padding: 0;
  border-radius: 4px;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > ul > li a {
  color: var(--text-primary);
  display: block;
  padding: 10px 14px;
  font-weight: 500;
  font-size: 14px;
  border-radius: 4px;
  transition: all 0.12s ease;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > ul > li.currentsub {
  background-color: rgba(61, 90, 169, 0.07);
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > ul > li.currentsub a {
  color: #2ea3f2;
  font-weight: 600;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > ul > li:hover {
  background-color: rgba(61, 90, 169, 0.07);
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > ul > li:hover a {
  color: #2ea3f2;
  transform: translateX(2px);
}
/*
======================================================
Sub Menu Bar (never shown in mobile)
======================================================
*/

div#sitemenusub {
  background-color: rgba(247, 248, 250, 0.7) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.4);
  backdrop-filter: blur(14px) saturate(1.4);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  width: 100%;
  position: relative;
  z-index: 1;
  /* Subtle separator that fades inward from the edges */

}
div#sitemenusub:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.06) 20%, rgba(0, 0, 0, 0.06) 80%, transparent 100%);
}
div#sitemenusub div.site-menu-sub {
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  padding: 8px 24px;
}
div#sitemenusub div.site-menu-sub a {
  color: var(--text-secondary);
  display: block;
  text-decoration: none;
  font-size: 13px;
  padding: 2px;
  transition: all 0.18s cubic-bezier(0.22, 0.61, 0.36, 1);
}
div#sitemenusub div.site-menu-sub ul {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}
div#sitemenusub div.site-menu-sub ul li {
  border: none;
  border-radius: 999px;
  display: inline-block;
  margin: 0;
  transition: background-color 0.18s cubic-bezier(0.22, 0.61, 0.36, 1);
}
div#sitemenusub div.site-menu-sub ul li > a {
  display: block;
  padding: 6px 14px;
  font-weight: 500;
  border-radius: 999px;
}
div#sitemenusub div.site-menu-sub ul li.currentsub {
  background-color: rgba(61, 90, 169, 0.1);
}
div#sitemenusub div.site-menu-sub ul li.currentsub a {
  color: #3d5aa9;
  font-weight: 600;
}
div#sitemenusub div.site-menu-sub ul li:hover:not(.currentsub) {
  background-color: rgba(0, 0, 0, 0.04);
}
div#sitemenusub div.site-menu-sub ul li:hover:not(.currentsub) a {
  color: var(--text-primary);
}
/*
======================================================
Site Map
======================================================
*/

div.site-map a {
  color: rgba(255, 255, 255, 0.7);
  display: block;
  font-size: 13px;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.15s ease;
}
div.site-map a:hover {
  color: white;
}
div.site-map a.deprecated {
  color: rgba(255, 255, 255, 0.35) !important;
}
div.site-map ul {
  display: inline-block;
  list-style: none;
  margin: 0;
  padding: 0;
}
div.site-map ul li {
  font-weight: normal;
  margin: 3px 0;
  padding: 3px 4px;
}
div.site-map > ul {
  display: flex;
  margin: 0;
  padding: 0;
  bottom: 0;
  /* Root level */

}
div.site-map > ul > li {
  display: inline-block;
  margin-right: 32px;
}
div.site-map > ul > li ul li.currentsub {
  border-radius: 4px;
  color: white;
  background-color: #3d5aa9;
}
div.site-map > ul > li ul a {
  font-size: 13px;
}
div.site-map > ul[menu-id='root'] > li {
  font-weight: 600;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.9);
}
div.site-map li[menu-id='Home'],
div.site-map li[menu-id='Resources'] {
  display: none;
}
/*
======================================================
Login
======================================================
*/

.login-button,
.sales-button,
.support-button {
  border: none;
  border-radius: 4px;
  color: white;
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-right: 6px;
  margin-top: 0;
  padding: 8px 16px;
  text-align: center;
  text-decoration: none;
  transition: all 0.2s cubic-bezier(0.22, 0.61, 0.36, 1);
  min-width: 0;
  cursor: pointer;
}
.support-button {
  background-color: transparent;
  color: #3d5aa9 !important;
  border: 1px solid #3d5aa9 !important;
  font-weight: 700;
}
.support-button:hover {
  background-color: #3d5aa9 !important;
  color: white !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(61, 90, 169, 0.3);
}
.login-button {
  background-color: transparent;
  border: 1px solid var(--border-subtle) !important;
  color: var(--text-primary);
}
.login-button:hover {
  background-color: var(--bg-base) !important;
  color: #3d5aa9 !important;
  border-color: #3d5aa9 !important;
}
/* User dropdown menu (built by JS when logged in) */

.user-menu-wrapper {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}
.user-menu-trigger {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  padding: 3px;
  border-radius: 50px;
  transition: background-color 0.15s ease;
  vertical-align: middle;
}
.user-menu-trigger:hover {
  background-color: var(--bg-base);
}
.user-menu-trigger .user-initials {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #3d5aa9;
  border: 2px solid #3d5aa9;
  color: white;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
}
.user-menu-trigger .user-chevron:after {
  content: "\f078";
  font-family: isfas;
  font-size: 8px;
  color: var(--text-muted);
}
.user-menu-wrapper.open .user-menu-trigger:after {
  transform: rotate(180deg);
}
.user-menu-dropdown {
  display: block;
  position: absolute;
  right: 0;
  top: 100%;
  margin-top: 6px;
  background-color: rgba(255, 255, 255, 0.92);
  -webkit-backdrop-filter: blur(20px) saturate(1.5);
  backdrop-filter: blur(20px) saturate(1.5);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 10px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.04);
  min-width: 240px;
  padding: 8px;
  z-index: 9999;
  transform-origin: top right;
}
.user-menu-dropdown .user-menu-header {
  padding: 10px 14px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  margin-bottom: 4px;
  font-size: 13px;
  color: var(--text-secondary);
}
.user-menu-dropdown .user-menu-header strong {
  display: block;
  color: var(--text-primary);
  font-size: 14px;
}
.user-menu-dropdown a,
.user-menu-dropdown button {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 14px !important;
  border: none !important;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-primary);
  text-decoration: none;
  text-transform: none;
  letter-spacing: 0;
  text-align: left;
  background-color: transparent;
  cursor: pointer;
  transition: all 0.12s ease;
  margin: 0 !important;
  line-height: 20px;
}
.user-menu-dropdown a .mi,
.user-menu-dropdown button .mi {
  font-family: isfas;
  font-size: 15px;
  color: #888888;
  width: 20px;
  text-align: center;
  flex-shrink: 0;
  display: inline-block;
  transition: color 0.12s ease;
  /* Colour variants - replace the inline color styles the dropdown icons used to carry, so they pass the strict CSP. */

}
.user-menu-dropdown a .mi.mi-blue,
.user-menu-dropdown button .mi.mi-blue {
  color: #2e86c1;
}
.user-menu-dropdown a .mi.mi-amber,
.user-menu-dropdown button .mi.mi-amber {
  color: #d4a06a;
}
.user-menu-dropdown a:hover,
.user-menu-dropdown button:hover {
  background-color: rgba(61, 90, 169, 0.07) !important;
  color: #2ea3f2;
  transform: translateX(2px);
  box-shadow: none;
}
.user-menu-dropdown a:hover .mi,
.user-menu-dropdown button:hover .mi {
  color: #2ea3f2;
}
.user-menu-dropdown .menu-signout .mi {
  color: #2ea3f2;
}
.user-menu-dropdown .menu-divider {
  height: 1px;
  background-color: rgba(0, 0, 0, 0.06);
  margin: 6px 8px;
}
.user-menu-dropdown .menu-signout {
  color: #2ea3f2;
}
.user-menu-dropdown .menu-section-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  padding: 10px 14px 4px 14px;
}
.user-menu-dropdown a.menu-tool .mi {
  font-size: 13px;
}
.user-menu-dropdown {
  max-height: 70vh;
  overflow-y: auto;
}
.user-menu-wrapper .user-menu-dropdown {
  /* Always in DOM but hidden via opacity/scale for animation */
  pointer-events: none;
  opacity: 0;
  transform: scale(0.92) translateY(-8px);
  transition: opacity 0.2s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.user-menu-wrapper.open .user-menu-dropdown {
  display: block;
  pointer-events: auto;
  opacity: 1;
  transform: scale(1) translateY(0);
}
.sales-button {
  background-color: #3d5aa9;
  color: white !important;
  font-weight: 700;
}
.sales-button:hover {
  background-color: #324a8b !important;
  color: white !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(61, 90, 169, 0.3);
}
/*
======================================================
 Other Animations
======================================================
*/

@keyframes pop {
  from {
    transform: scale(0.8);
  }
  to {
    transform: scale(1);
  }
}
@keyframes slideDown {
  0% {
    opacity: 0;
    transform: translateY(-4px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes headerSlideDown {
  0% {
    transform: translate(0, -100px);
  }
  100% {
    transform: translate(0, 0);
  }
}
/* Mega menu mode - applied via JS when dropdown has 5+ items.
   NOTE: only style on hover so the menu stays hidden by default. */

body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > ul.is-mega {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 2px 8px;
  min-width: 440px !important;
  padding: 10px !important;
}
/* Intent-delay gate. The dropdowns above show on :hover; this rule suppresses that show until JS sets .intent-armed on the <li> 150ms after mouseenter, stopping menus from flashing open as the cursor crosses the nav bar. JS removes .intent-armed on mouseleave (and clears the timer if the user moves off within 150ms, so the menu never appears at all). */

body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:not(.intent-armed):hover > ul,
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:not(.intent-armed):hover > ul.is-mega {
  display: none !important;
}
/* Eyebrow header spans both columns */

body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li > ul.is-mega > li.mega-col-head {
  grid-column: -1;
  padding: 4px 12px 8px 12px !important;
  margin-bottom: 4px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li > ul.is-mega > li.mega-col-head:hover {
  background-color: transparent !important;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li > ul.is-mega > li.mega-col-head:hover a {
  color: inherit !important;
  transform: none !important;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li > ul.is-mega > li.mega-col-head span.mega-eyebrow {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #3d5aa9;
}
@keyframes navDropIn {
  0% {
    opacity: 0;
    transform: scale(0.92) translateY(-8px);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
======================================================
Forms
======================================================
*/

div.fieldMandatoryLegend {
  display: inline-block !important;
  font-size: 14px;
  margin: 12px 0 0 0;
  width: auto !important;
}
div.fieldMandatoryLegend > div.fieldMandatoryBox {
  display: inline-block;
  background-color: #fdfaed;
  border: 1px solid #e8dfc0;
  border-radius: 4px;
  padding: 6px 10px;
  color: var(--text-secondary);
  font-size: 13px;
}
input:not([disabled='disabled'])[type='submit'][value='Delete'] {
  background-color: #c0392b !important;
  color: white !important;
}
input:not([disabled='disabled'])[type='submit'][value='Delete']:hover {
  background-color: #a93226 !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(192, 57, 43, 0.25);
}
input:not([disabled='disabled'])[type='submit'][value='Save'] {
  background-color: #27ae60 !important;
  color: white !important;
}
input:not([disabled='disabled'])[type='submit'][value='Save']:hover {
  background-color: #229954 !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(39, 174, 96, 0.25);
}
input:not([disabled='disabled'])[type='submit'][value='Duplicate'] {
  background-color: #2e86c1 !important;
  color: white !important;
}
input:not([disabled='disabled'])[type='submit'][value='Duplicate']:hover {
  background-color: #2874a6 !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(46, 134, 193, 0.25);
}
button#cmdCancel:not([disabled='disabled']) {
  background-color: var(--bg-base) !important;
  color: var(--text-secondary);
}
button#cmdCancel:not([disabled='disabled']):hover {
  background-color: #e2e2e2 !important;
}
/* Live Search Dropdown */

.live-search-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 4px;
  background-color: rgba(255, 255, 255, 0.95);
  -webkit-backdrop-filter: blur(20px) saturate(1.5);
  backdrop-filter: blur(20px) saturate(1.5);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 10px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
  z-index: 9999;
  max-height: 480px;
  overflow-y: auto;
  padding: 6px;
}
.live-search-dropdown.open {
  display: block;
  animation: navDropIn 0.18s cubic-bezier(0.22, 0.61, 0.36, 1);
}
a.live-search-item {
  display: block;
  padding: 10px 14px;
  border-radius: 4px;
  text-decoration: none;
  transition: background-color 0.1s ease;
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}
a.live-search-item:last-of-type {
  border-bottom: none;
}
a.live-search-item:hover {
  background-color: rgba(61, 90, 169, 0.07);
}
a.live-search-item .live-search-type {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 2px 6px;
  border-radius: 3px;
  margin-right: 8px;
  color: white;
  background-color: var(--text-muted);
  vertical-align: middle;
}
a.live-search-item .live-search-type.article {
  background-color: #2e86c1;
}
a.live-search-item .live-search-type.blog {
  background-color: #e67e22;
}
a.live-search-item .live-search-type.news {
  background-color: #2e86c1;
}
a.live-search-item .live-search-type.guide {
  background-color: #16a085;
}
a.live-search-item .live-search-type.download {
  background-color: #27ae60;
}
a.live-search-item .live-search-type.kb {
  background-color: #8e44ad;
}
a.live-search-item .live-search-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  display: inline;
  vertical-align: middle;
}
a.live-search-item .live-search-abstract {
  display: block;
  font-size: 13px;
  color: var(--text-muted);
  line-height: 1.5;
  margin-top: 4px;
  padding-left: 0;
}
.live-search-loading,
.live-search-empty {
  padding: 16px 20px;
  font-size: 14px;
  color: var(--text-muted);
  text-align: center;
}
.live-search-loading strong,
.live-search-empty strong {
  color: var(--text-primary);
}
.live-search-spinner {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid var(--border-subtle);
  border-top-color: #2ea3f2;
  border-radius: 50%;
  margin-right: 8px;
  vertical-align: middle;
  animation: spinnerRotate 0.6s linear infinite;
}
@keyframes spinnerRotate {
  to {
    transform: rotate(360deg);
  }
}
a.live-search-all {
  display: block;
  padding: 10px 14px;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  margin-top: 4px;
  text-align: center;
  font-size: 13px;
  color: var(--text-secondary);
  text-decoration: none;
  border-radius: 4px;
  transition: background-color 0.1s ease;
}
a.live-search-all:hover {
  background-color: rgba(61, 90, 169, 0.07);
  color: #2ea3f2;
}
a.live-search-all strong {
  color: var(--text-primary);
}
table.ISForm {
  font-size: 14px;
  width: 100%;
}
table.ISForm h2 {
  font-size: 22px;
  font-weight: 600;
}
table.ISForm th {
  font-weight: 500;
  text-align: left;
  color: var(--text-secondary);
  padding: 8px 12px 8px 0;
}
table.ISForm th.fieldMandatory {
  color: var(--text-primary);
  font-weight: 600;
}
table.ISForm td {
  padding: 4px 0;
}
/* Responsive */

@media screen and (max-width: 640px) {
  table.ISForm td,
  table.ISForm th {
    display: block;
  }
}
/*
======================================================
My Dashboard
======================================================
*/

div.MyOptions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 12px;
}
div.MyOptions div.MyOption {
  background-color: white;
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  display: inline-block;
  padding: 16px 12px;
  position: relative;
  text-align: center;
  vertical-align: top;
  width: 15%;
  max-width: 140px;
  min-width: 120px;
  min-height: 140px;
  margin: 0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  transition: all 0.2s ease;
  /* Responsive */

}
div.MyOptions div.MyOption:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
  border-color: #3d5aa9;
}
div.MyOptions div.MyOption > a {
  font-size: 14px !important;
}
@media screen and (max-width: 640px) {
  div.MyOptions div.MyOption {
    display: block;
    width: 100%;
    min-width: unset;
    max-width: unset;
    margin-right: 0;
  }
}
div.MyOptions div.MyOption > a {
  color: var(--text-primary);
  flex: 1 100%;
  font-size: 13px;
  height: 120px;
  text-decoration: none;
  transition: all 0.2s;
}
div.MyOptions div.MyOption > a > span {
  display: block;
  margin-bottom: 4px;
  padding: 8px 0 8px 0;
}
div.MyOptions div.MyOption > a > span > img {
  display: block;
  margin: 0 auto 0 auto;
}
/*
======================================================
My Dashboard - FontAwesome Icons
======================================================
*/

div.MyOption span.fa-icon {
  font-family: isfas;
  font-size: 36px;
  display: block;
  color: #2ea3f2;
  line-height: 1;
}
/*
======================================================
BLOG
======================================================
*/

div.blogitem {
  border-top: 1px solid var(--border-subtle);
  padding: 20px 0;
}
div.blogitem:nth-child(even) {
  background-color: rgba(0, 0, 0, 0.015);
}
div.blogitem:not(:first-child) {
  margin-top: 0;
}
div.blogitem:first-child {
  border-top: none;
  padding-top: 0;
}
div.blogcontinuereading > a {
  background-color: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 20px;
  display: inline-block;
  font-size: 13px;
  font-weight: 500;
  padding: 8px 14px;
  margin: 4px 0 0 0;
  color: var(--text-primary);
  transition: all 0.2s ease;
}
div.blogcontinuereading > a:before {
  font-family: isfas;
  font-size: 14px;
  content: "\f02d";
  margin-right: 6px;
  color: #3d5aa9;
}
div.blogcontinuereading > a:hover {
  background-color: #12121c;
  border-color: #12121c;
  color: white;
  transform: translateY(-1px);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
div.blogcontinuereading > a:hover:before {
  color: white;
}
/*
======================================================
Search Results
======================================================
*/

div.ISSearchResults {
  border-top: 1px solid var(--border-subtle);
  padding-top: 12px;
}
div.ISSearchResults > div.ISSearchItem,
div.ISSearchResults > div.ISSearchItemAlt {
  color: var(--text-secondary);
  font-size: 14px;
  padding: 14px 16px;
  border-radius: 4px;
  margin-bottom: 2px;
  transition: background-color 0.15s ease;
}
div.ISSearchResults > div.ISSearchItem.Article,
div.ISSearchResults > div.ISSearchItemAlt.Article {
  background-color: rgba(61, 90, 169, 0.05);
  color: #2d5f7a !important;
  position: relative;
  padding-left: 40px;
}
div.ISSearchResults > div.ISSearchItem.Article:before,
div.ISSearchResults > div.ISSearchItemAlt.Article:before {
  color: #7abed4 !important;
  font-family: isfas;
  font-size: 22px;
  content: "\f15c";
  position: absolute;
  left: 10px;
}
div.ISSearchResults > div.ISSearchItem.Article.B:Before,
div.ISSearchResults > div.ISSearchItemAlt.Article.B:Before {
  content: "\f4ad";
  left: 10px;
  font-size: 22px;
}
div.ISSearchResults > div.ISSearchItem.Article.News:Before,
div.ISSearchResults > div.ISSearchItemAlt.Article.News:Before {
  content: "\f15c";
  left: 10px;
  font-size: 22px;
}
div.ISSearchResults > div.ISSearchItem.Article.UG:Before,
div.ISSearchResults > div.ISSearchItemAlt.Article.UG:Before {
  content: "\f1cd";
  left: 10px;
  font-size: 22px;
}
div.ISSearchResults > div.ISSearchItem.Download,
div.ISSearchResults > div.ISSearchItemAlt.Download {
  background-color: rgba(39, 174, 96, 0.05);
  color: #2d5f42 !important;
  position: relative;
  padding-left: 40px;
}
div.ISSearchResults > div.ISSearchItem.Download:before,
div.ISSearchResults > div.ISSearchItemAlt.Download:before {
  color: #7ab89a;
  font-family: isfas;
  font-size: 22px;
  content: "\f56d";
  position: absolute;
  left: 10px;
}
div.ISSearchResults > div.ISSearchItem.KB,
div.ISSearchResults > div.ISSearchItemAlt.KB {
  background-color: rgba(0, 0, 0, 0.02);
  color: var(--text-secondary) !important;
  position: relative;
  padding-left: 40px;
}
div.ISSearchResults > div.ISSearchItem.KB:before,
div.ISSearchResults > div.ISSearchItemAlt.KB:before {
  color: var(--text-muted);
  font-family: isfas;
  font-size: 22px;
  content: "\f1c0";
  position: absolute;
  left: 10px;
}
div.ISSearchResults > div.ISSearchItem.TSB,
div.ISSearchResults > div.ISSearchItemAlt.TSB {
  position: relative;
  padding-left: 40px;
}
div.ISSearchResults > div.ISSearchItem.TSB:before,
div.ISSearchResults > div.ISSearchItemAlt.TSB:before {
  color: var(--text-muted);
  font-family: isfas;
  font-size: 22px;
  content: "\f552";
  position: absolute;
  left: 10px;
}
div.ISSearchResults > div.ISSearchItem.TSG,
div.ISSearchResults > div.ISSearchItemAlt.TSG {
  position: relative;
  padding-left: 40px;
}
div.ISSearchResults > div.ISSearchItem.TSG:before,
div.ISSearchResults > div.ISSearchItemAlt.TSG:before {
  color: var(--text-muted);
  font-family: isfas;
  font-size: 20px;
  content: "\f0f9";
  position: absolute;
  left: 10px;
}
div.ISSearchResults > div.ISSearchItem.UG,
div.ISSearchResults > div.ISSearchItemAlt.UG {
  position: relative;
  padding-left: 40px;
}
div.ISSearchResults > div.ISSearchItem.UG:before,
div.ISSearchResults > div.ISSearchItemAlt.UG:before {
  color: var(--text-muted);
  font-family: isfas;
  font-size: 20px;
  content: "\f007";
  position: absolute;
  left: 10px;
}
div.ISSearchResults > div.ISSearchItem > h3,
div.ISSearchResults > div.ISSearchItemAlt > h3 {
  font-size: 16px;
  font-weight: 500;
  margin: 0;
}
div.ISSearchResults > div.ISSearchItem > h3 > a,
div.ISSearchResults > div.ISSearchItemAlt > h3 > a {
  color: #2f4684;
  text-decoration: none !important;
}
div.ISSearchResults > div.ISSearchItem > h3 > a:hover,
div.ISSearchResults > div.ISSearchItemAlt > h3 > a:hover {
  color: #22325e;
}
div.ISSearchResults > div.ISSearchItem > div.ISSearchItemData,
div.ISSearchResults > div.ISSearchItemAlt > div.ISSearchItemData {
  color: var(--text-muted);
  font-size: 12px;
  margin: 4px 0 4px 0;
  padding-bottom: 2px;
}
div.ISSearchResults > div.ISSearchItemAlt {
  background-color: rgba(0, 0, 0, 0.015);
  border-bottom: 1px solid var(--border-subtle);
  border-top: 1px solid var(--border-subtle);
}
div.ISSearchResultsPager {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 20px;
  font-size: 14px;
  /* Prev/Next - replace text with FA icons */

}
div.ISSearchResultsPager > span {
  color: var(--text-muted);
}
div.ISSearchResultsPager > a,
div.ISSearchResultsPager > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  border-radius: 4px;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.15s cubic-bezier(0.22, 0.61, 0.36, 1);
  margin: 0 !important;
  line-height: 1;
}
div.ISSearchResultsPager > a {
  color: var(--text-primary);
  background-color: white;
  border: 1px solid var(--border-subtle);
}
div.ISSearchResultsPager > a:hover {
  background-color: #2ea3f2;
  border-color: #2ea3f2;
  color: white;
  transform: translateY(-1px);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
div.ISSearchResultsPager > span.current {
  background-color: #2ea3f2;
  border: 1px solid #2ea3f2;
  color: white;
  font-weight: 700;
}
div.ISSearchResultsPager > a:first-child,
div.ISSearchResultsPager > span:first-child,
div.ISSearchResultsPager > a:last-child,
div.ISSearchResultsPager > span:last-child {
  font-size: 0;
  /* hide text */
  min-width: 36px;
  padding: 0;
}
div.ISSearchResultsPager > a:first-child:after,
div.ISSearchResultsPager > span:first-child:after,
div.ISSearchResultsPager > a:last-child:after,
div.ISSearchResultsPager > span:last-child:after {
  font-family: isfas;
  font-size: 14px;
}
div.ISSearchResultsPager > a:first-child:after,
div.ISSearchResultsPager > span:first-child:after {
  content: "\f104";
  /* chevron-left */

}
div.ISSearchResultsPager > a:last-child:after,
div.ISSearchResultsPager > span:last-child:after {
  content: "\f105";
  /* chevron-right */

}
div.recordcount {
  font-size: 14px;
  margin: 8px 0 8px 0;
  color: var(--text-secondary);
}
div.releasedate {
  color: var(--text-muted);
  font-size: 13px;
  margin: -8px 0 12px 0;
}
div.showMore {
  margin-top: 12px;
}
ul.links-strip {
  padding: 0;
  margin: 0;
  list-style: none;
}
ul.links-strip > li {
  display: inline-block;
  padding: 0 !important;
  list-style: none;
  margin: 0 0 6px 0 !important;
  background-color: white;
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  padding: 4px 10px 4px 10px !important;
  transition: all 0.15s ease;
}
ul.links-strip > li a {
  color: var(--text-primary);
  display: block;
  font-size: 13px;
  font-weight: 500;
}
ul.links-strip > li:hover {
  background-color: #12121c;
  border-color: #12121c;
}
ul.links-strip > li:hover a {
  color: white;
}
ul.links-strip > li:before {
  content: "" !important;
  margin: 0 !important;
  padding: 0 !important;
}
ul.links-strip > li.deprecated {
  opacity: 0.5;
}
ul.links-strip > li[selected='true'] {
  background-color: #12121c;
  border-color: #12121c;
}
ul.links-strip > li[selected='true'] > a {
  color: white;
}
/*
======================================================
Download
======================================================
*/

div.download {
  margin-top: 8px;
}
/* Download details meta icons */

.ArticleHeadingInfoBar table.download-meta th {
  width: 28px !important;
  padding-right: 0 !important;
  vertical-align: middle;
}
.ArticleHeadingInfoBar table.download-meta th .meta-icon {
  font-size: 15px;
  color: var(--text-muted);
}
.ArticleHeadingInfoBar table.download-meta td {
  font-size: 14px;
  color: var(--text-secondary);
}
/*
======================================================
Messages
======================================================
*/

div#WebStoppedWarning {
  background-color: #e3222f;
  color: white;
  font-weight: 600;
  margin: 0;
  padding: 10px 16px;
  font-size: 14px;
}
div.ISError {
  color: #922b21;
  font-weight: 600;
  margin: 0 0 8px 0;
  padding: 8px 12px;
  background-color: #fdfaf9;
  border: 1px solid #e6d5d1;
  border-radius: 4px;
}
div.ISSuccess {
  color: #1e8449;
  font-weight: 600;
  margin: 0 0 8px 0;
  padding: 8px 12px;
  background-color: #f7fdf9;
  border: 1px solid #d0e9d8;
  border-radius: 4px;
}
div#topicprint {
  border-top: 1px solid var(--border-subtle);
  display: block;
  margin-top: 24px;
  overflow: auto;
  min-height: 58px;
  padding-top: 8px;
}
div#topicprint a#topicprint_print {
  background-color: white;
  border: 1px solid var(--border-subtle);
  border-radius: 20px;
  display: inline-block;
  font-size: 13px;
  font-weight: 500;
  padding: 8px 14px;
  margin: 8px 0 0 0;
  color: var(--text-primary);
  transition: all 0.2s ease;
}
div#topicprint a#topicprint_print:before {
  font-family: isfas;
  font-size: 14px;
  content: "\f02f";
  margin-right: 6px;
  color: #3d5aa9;
}
div#topicprint a#topicprint_print:hover {
  background-color: #12121c;
  border-color: #12121c;
  color: white;
}
div#topicprint a#topicprint_print:hover:before {
  color: white;
}
div#topicprint a#topicprint_edit {
  background-color: white;
  border: 1px solid var(--border-subtle);
  border-radius: 20px;
  display: inline-block;
  font-size: 13px;
  font-weight: 500;
  padding: 8px 14px;
  margin: 8px 0 0 4px;
  position: relative;
  color: var(--text-primary);
  transition: all 0.2s ease;
}
div#topicprint a#topicprint_edit:before {
  font-family: isfa;
  font-size: 15px;
  content: "\f044";
  margin-right: 6px;
  position: relative;
  top: 1px;
  color: #3d5aa9;
}
div#topicprint a#topicprint_edit:hover {
  background-color: #12121c;
  border-color: #12121c;
  color: white;
}
div#topicprint a#topicprint_edit:hover:before {
  color: white;
}
/*
======================================================
Mobile Menu
======================================================
*/

/* Hamburger — Alex 2026-05-20: was invisible on the redesigned white header (legacy `color: white` + `border: rgba(255,255,255,0.3)` had been designed for the old red-banner header). Themed via tokens so it reads on light + dark + accessibility surfaces. */

a#mobilemenu {
  background-color: transparent;
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  color: var(--text-primary);
  display: none;
  font-size: 18px;
  font-weight: normal;
  margin-right: 8px;
  margin-top: 0;
  padding: 8px;
  text-align: center;
  text-decoration: none;
  width: 36px;
  height: 36px;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
a#mobilemenu:before {
  font-family: isfas;
  content: "\f0c9";
}
a#mobilemenu:hover,
a#mobilemenu:focus-visible {
  background-color: var(--bg-elevated);
  border-color: var(--link);
  color: var(--link);
}
body.mobilemenu {
  /* Tweaks */
  overflow: hidden;
  overscroll-behavior: contain;
  /* prevents iOS rubber-band scroll on the body while the drawer is open */

  /* Signed In */

  /* Mobile Menu */

}
body.mobilemenu a#mobilemenu {
  background-color: rgba(0, 0, 0, 0.2);
  border-color: rgba(0, 0, 0, 0.15);
}
body.mobilemenu a.avatar {
  display: inline-block !important;
  position: absolute;
  top: 68px;
  right: 8px;
  /* was -4px (avatar half off-screen). 8px keeps it visible inside the viewport */
  z-index: 999;
}
body.mobilemenu div#sitemenu {
  display: inline-block;
  overflow: hidden;
  width: 0px;
}
body.mobilemenu div.site-menu {
  color: white;
  background-color: #12121c;
  display: block;
  position: fixed;
  right: 0;
  top: 64px;
  bottom: 0;
  width: 100%;
  overflow: auto;
  animation: slideDown 0.2s;
  z-index: 9999;
  -webkit-overflow-scrolling: touch;
  /* Top-level */

  /* Mobile mega-menu accordion: sub-uls hidden by default; revealed when their parent li is .expanded (toggled by JS via the chevron button). */

  /* Per-item chevron toggle — injected by general.js for items that have sub-menus. Visibility is scoped to body.mobilemenu (see top-level hide rule below the body.mobilemenu block). */

  /* Mobile user-actions section (Support / Sales / Sign In) — injected by general.js so the drawer is the canonical place to find these on mobile. The original .login-button / .sales-button rules `display:none !important` so we use distinct class names on the clones. Display:block !important is required to override the top-level `.mobile-user-actions { display: none }` which hides this whole block on desktop. */

}
body.mobilemenu div.site-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
body.mobilemenu div.site-menu ul > li.currentsub a {
  background-color: rgba(255, 255, 255, 0.05);
  color: #3d5aa9;
}
body.mobilemenu div.site-menu ul > li > a {
  color: white;
  display: block;
  padding: 12px 16px;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  transition: background-color 0.15s ease;
}
body.mobilemenu div.site-menu ul > li > a:hover {
  background-color: rgba(255, 255, 255, 0.05);
}
body.mobilemenu div.site-menu > ul > li {
  position: relative;
}
body.mobilemenu div.site-menu > ul > li > a {
  font-weight: 600;
  font-size: 16px !important;
  /* Reserve space for the chevron toggle on items that have sub-menus */
  padding-right: 56px !important;
}
body.mobilemenu div.site-menu ul > li > ul {
  display: none;
  list-style: none;
  margin: 0;
  padding: 0;
  background: rgba(0, 0, 0, 0.18);
}
body.mobilemenu div.site-menu ul > li > ul > li > a {
  padding-left: 32px !important;
  /* indent sub-items */
  font-weight: 500;
  font-size: 14px !important;
  color: rgba(255, 255, 255, 0.85);
}
body.mobilemenu div.site-menu ul > li.expanded > ul {
  display: block;
  animation: drawerSubExpand 0.22s cubic-bezier(0.22, 0.61, 0.36, 1);
}
body.mobilemenu div.site-menu .mobile-submenu-toggle {
  position: absolute;
  top: 0;
  right: 0;
  width: 48px;
  height: 44px;
  background: transparent;
  border: none;
  color: rgba(255, 255, 255, 0.6);
  cursor: pointer;
  padding: 0;
  display: flex !important;
  /* override the default display:none below */
  align-items: center;
  justify-content: center;
  z-index: 2;
}
body.mobilemenu div.site-menu .mobile-submenu-toggle:before {
  content: "\f078";
  /* chevron-down */
  font-family: isfas;
  font-size: 12px;
  transition: transform 0.2s cubic-bezier(0.22, 0.61, 0.36, 1);
}
body.mobilemenu div.site-menu .mobile-submenu-toggle:hover {
  color: white;
}
body.mobilemenu div.site-menu li.expanded > .mobile-submenu-toggle:before {
  transform: rotate(180deg);
}
body.mobilemenu div.site-menu .mobile-user-actions {
  display: block !important;
  margin-top: 12px;
  padding: 12px 0 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
body.mobilemenu div.site-menu .mobile-action-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  color: white;
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.01em;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  /* life-ring */

  /* bullhorn */

  /* sign-in */

}
body.mobilemenu div.site-menu .mobile-action-link:last-child {
  border-bottom: none;
}
body.mobilemenu div.site-menu .mobile-action-link:before {
  font-family: isfas;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.55);
  width: 18px;
  text-align: center;
  flex-shrink: 0;
}
body.mobilemenu div.site-menu .mobile-action-link--support:before {
  content: "\f1cd";
}
body.mobilemenu div.site-menu .mobile-action-link--sales:before {
  content: "\f0a1";
}
body.mobilemenu div.site-menu .mobile-action-link--login:before {
  content: "\f2f6";
}
body.mobilemenu div.site-menu .mobile-action-link:hover {
  background: rgba(255, 255, 255, 0.05);
}
@keyframes drawerSubExpand {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* The .mobile-submenu-toggle chevron is injected into every menu item with sub-children at page load (so it works the moment the drawer is opened). It must be hidden on desktop where the mega-menu uses hover dropdowns — otherwise it renders as a default-styled button between each nav item. The body.mobilemenu rule above re-enables it. */

.mobile-submenu-toggle {
  display: none;
}
/* The .mobile-user-actions block (Support / Sales / Sign In clones for the drawer) is injected at page load into div.site-menu. On desktop it must be hidden — otherwise the cloned anchors render below the nav row, picking up the desktop nav's link styling (block, padding, underline). The body.mobilemenu rule above re-enables it. */

.mobile-user-actions {
  display: none;
}
/*
======================================================
Responsive
======================================================
*/

/* Smallish (e.g., laptop) */

@media screen and (max-width: 1100px) {
  a.sales-button {
    display: none;
  }
  div.site-logo a {
    margin-left: 4px;
  }
  div.site-menu ul[menu-id='root'] > li {
    padding: 8px 2px;
  }
  div.site-menu ul[menu-id='root'] > li > a {
    font-size: 12px !important;
    padding: 6px 8px;
  }
  div.site-search input {
    width: 140px;
  }
  div.site-map {
    display: none;
  }
  article#content {
    /* article#content now has padding:0 globally (see line ~430). This media-query override is a legacy holdover that constrained article#content with 4px padding on narrow viewports — no longer needed since .full-width sections span the parent without an escape. Kept as `padding:0` to make the override explicit. */
    padding: 0;
  }
}
/* Small (e.g., phone) */

@media screen and (max-width: 840px) {
  /*header#header {
      position:fixed;
      top:0;
      left:0;
      z-index:99;
    }*/
  
  /* Mobile search — the inline input row is replaced by a search-icon trigger in .myintersoft; tapping it toggles a body.search-open class which slides the overlay row down from behind the header. JS lives in initMobileSearchToggle (Scripts/general.js).
  
       The element stays in the DOM at all times so we can animate transform + opacity; CSS can't transition `display`. visibility flips with a delay so the close fade-out is actually visible — without the delayed visibility transition, the element snaps invisible the moment .search-open is removed and the opacity tween never renders. */
  
  div.site-search {
    display: flex;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: auto;
    padding: 12px 16px;
    background: var(--bg-header);
    border-top: 1px solid var(--border-subtle);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
    z-index: 50;
    /* Closed state. translateY pulls the row up behind the header so it slides DOWN into place on open. visibility:hidden additionally removes it from the accessibility tree and from tab order. */
    transform: translateY(-12px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: transform 0.22s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.22s cubic-bezier(0.22, 0.61, 0.36, 1), visibility 0s linear 0.22s;
  }
  div.site-search form {
    width: 100%;
  }
  div.site-search input {
    width: 100% !important;
    max-width: 100% !important;
  }
  .mobile-search-trigger {
    display: inline-flex;
  }
  body.search-open div.site-search {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: transform 0.22s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.22s cubic-bezier(0.22, 0.61, 0.36, 1), visibility 0s linear 0s;
  }
  div#sitemenu {
    display: none;
  }
  div.site-menu-sub {
    display: none;
  }
  /* Only Sales is hidden on mobile — Sign In was previously also hidden but feedback was that not having a discoverable sign-in path on phones was a regression. .login-button is now shown but compacted to icon-only below (matching the Support / search / hamburger row). */
  
  .sales-button {
    display: none !important;
  }
  /* Right-align the user-action column. Without this, after #sitemenu + .site-search go to display:none the only two visible row items are the logo (left) and .myintersoft — which sat tight against the logo with a long empty stretch on the right. */
  
  .myintersoft {
    margin-left: auto;
  }
  /* Compact icon-only versions of Support + Sign In on mobile. Matches the visual weight of the existing .mobile-search-trigger and hamburger so all four right-side controls form an even row. Text labels stay in the DOM (font-size:0 collapses them visually but screen readers still announce them). */
  
  .support-button,
  .login-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    margin-right: 4px;
    border: none !important;
    background-color: transparent !important;
    color: var(--text-secondary) !important;
    font-size: 0;
    border-radius: 8px;
    text-transform: none;
    letter-spacing: 0;
    box-shadow: none !important;
  }
  .support-button:before,
  .login-button:before {
    font-family: isfas;
    font-size: 16px;
    color: inherit;
  }
  .support-button:hover,
  .login-button:hover {
    background-color: rgba(0, 0, 0, 0.05) !important;
    color: var(--text-primary) !important;
    transform: none !important;
    box-shadow: none !important;
    border: none !important;
  }
  .support-button:before {
    content: "\f1cd";
    /* fa-life-ring — universally-recognised support glyph */
  
  }
  .login-button:before {
    content: "\f2f6";
    /* fa-sign-in-alt — login arrow into door */
  
  }
  a#mobilemenu {
    display: inline-block;
  }
  footer#footer {
    padding: 0 4px 0 4px;
  }
}
/*
======================================================
Full Width Section
======================================================
*/

div.full-width {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  font-size: 16px;
  margin-top: -1px;
  padding: 48px 4px;
  position: relative;
  width: 100%;
  /* width:100% (not 100vw) — article#content now spans the full body width with no max-width or padding, so 100% here == viewport, with no need for the historic `left:50%; margin-left:-50vw` escape that caused a permanent horizontal scrollbar from including the vertical-scrollbar gutter. Inner .site-width handles content centring via max-width:1320 + auto margins. */

  /* grid, 3 wide */

}
div.full-width.dark > div.site-width div.items > div.item {
  border: none !important;
}
div.full-width div.site-width {
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding: 8px 16px;
}
div.full-width a.linkinternal {
  margin-bottom: 2px;
}
div.full-width p {
  line-height: 1.7;
  font-size: 16px;
}
div.full-width h1 {
  font-size: 40px;
  font-weight: 700;
  margin: 0 0 12px 0;
  letter-spacing: -0.025em;
  transition: all 0.2s;
  /* Responsive */

}
@media screen and (max-width: 900px) {
  div.full-width h1 {
    font-size: 36px;
  }
}
@media screen and (max-width: 640px) {
  div.full-width h1 {
    font-size: 32px;
  }
}
div.full-width h2 {
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -0.015em;
  transition: all 0.2s;
  /* Responsive */

}
@media screen and (max-width: 900px) {
  div.full-width h2 {
    font-size: 24px;
  }
}
@media screen and (max-width: 640px) {
  div.full-width h2 {
    font-size: 22px;
  }
}
div.full-width div.buttons {
  clear: both;
  margin: 0 !important;
  position: relative;
  text-align: left;
  padding-top: 8px;
}
div.full-width button {
  border-radius: 4px !important;
  border: none !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  height: auto !important;
  margin-bottom: 10px !important;
  margin-top: 8px !important;
  padding: 12px 28px !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: all 0.2s cubic-bezier(0.22, 0.61, 0.36, 1);
  /* CTA button — matches the .contact-quick-chip glass style used by the SUPPORT / SALES buttons on the Contact page, so it reads as part of the site's translucent visual vocabulary instead of competing as a saturated block. */

  /* Responsive */

}
div.full-width button.normal {
  background-color: rgba(255, 255, 255, 0.12) !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  color: white !important;
}
div.full-width button.normal:hover {
  background-color: rgba(255, 255, 255, 0.25) !important;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
div.full-width button.blue {
  background-color: #3d5aa9 !important;
  color: white !important;
}
div.full-width button.blue:hover {
  background-color: #324a8b !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(61, 90, 169, 0.3);
}
div.full-width button.green {
  background: rgba(255, 255, 255, 0.06) !important;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  color: white !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
}
div.full-width button.green:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(123, 150, 212, 0.55) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
}
@media screen and (max-width: 900px) {
  div.full-width button {
    font-size: 12px !important;
    padding: 10px 20px !important;
  }
}
div.full-width.dark {
  background: linear-gradient(180deg, #1e2547 0%, #1a2042 100%);
  color: rgba(255, 255, 255, 0.92);
  position: relative;
  /* Hairline accents at top and bottom that fade to transparent at the edges */

}
div.full-width.dark:before,
div.full-width.dark:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(123, 150, 212, 0.25) 50%, transparent 100%);
  pointer-events: none;
}
div.full-width.dark:before {
  top: 0;
}
div.full-width.dark:after {
  bottom: 0;
}
div.full-width.dark p,
div.full-width.dark li,
div.full-width.dark td,
div.full-width.dark th,
div.full-width.dark span,
div.full-width.dark label,
div.full-width.dark div {
  color: rgba(255, 255, 255, 0.85);
}
div.full-width.dark b,
div.full-width.dark strong {
  color: white;
}
div.full-width.dark .glyph {
  color: rgba(255, 255, 255, 0.85);
}
div.full-width.dark h1,
div.full-width.dark h2,
div.full-width.dark h2 > a,
div.full-width.dark h3,
div.full-width.dark a > p {
  color: white !important;
  text-decoration: none;
}
div.full-width.dark a {
  color: rgba(255, 255, 255, 0.95);
}
div.full-width.dark a:hover {
  color: white;
}
div.full-width.dark a.linkinternal {
  background-color: rgba(59, 130, 246, 0.15);
  color: #6983c9 !important;
}
div.full-width.light {
  background-color: white;
  color: var(--text-primary);
}
div.full-width.light .glyph {
  color: #3d5aa9;
}
div.full-width.light h1,
div.full-width.light h2,
div.full-width.light h3 {
  color: var(--text-primary);
}
div.full-width.light h2 {
  margin-top: 12px;
}
div.full-width.light button.normal {
  background-color: var(--bg-base) !important;
  border: 1px solid var(--border-subtle) !important;
  color: var(--text-primary) !important;
}
div.full-width.light button.normal:hover {
  background-color: #12121c !important;
  border-color: #12121c !important;
  color: white !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transform: translateY(-1px);
}
div.full-width div.items {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 24px;
  gap: 0;
  transition: all 0.2s;
  /* Responsive */

}
div.full-width div.items > div.item > a {
  color: var(--text-primary);
  display: block;
}
div.full-width div.items > div.item {
  border-radius: 10px;
  padding: 20px 16px;
  flex: 1 100%;
  margin-bottom: 20px;
  max-width: 30.5%;
  position: relative;
  transition: all 0.25s ease;
}
div.full-width div.items > div.item ul {
  display: block;
  margin: 0;
  padding: 0;
  text-align: left;
  width: auto !important;
}
div.full-width div.items > div.item ul > li {
  background-color: rgba(0, 0, 0, 0.02);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 4px;
  margin: 0;
  margin-bottom: 4px;
  padding: 6px 8px;
  width: auto !important;
  transition: background-color 0.15s ease;
}
div.full-width div.items > div.item ul > li a {
  display: block;
}
div.full-width div.items > div.item ul > li:before {
  content: "";
  margin: 0;
  padding: 0;
}
div.full-width div.items > div.item ul > li:hover {
  background-color: rgba(0, 0, 0, 0.04);
}
div.full-width div.items > div.item a.linkinternal {
  background-color: transparent !important;
  border: none;
  border-radius: 0;
  padding: 0;
  border-bottom: 1px dotted;
}
div.full-width div.items.logos div.item {
  border: 1px solid rgba(255, 255, 255, 0.6);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04), 0 1px 0 rgba(255, 255, 255, 0.8) inset;
  min-height: 140px;
  background-color: rgba(255, 255, 255, 0.55);
  -webkit-backdrop-filter: blur(12px) saturate(1.4);
  backdrop-filter: blur(12px) saturate(1.4);
  transition: all 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
}
div.full-width div.items.logos div.item:hover {
  background-color: rgba(255, 255, 255, 0.85);
  border-color: rgba(61, 90, 169, 0.25);
  box-shadow: 0 12px 32px rgba(61, 90, 169, 0.12), 0 0 0 1px rgba(61, 90, 169, 0.1);
  transform: translateY(-3px);
}
div.full-width div.items.logos div.item > a {
  display: block;
  height: 100%;
  line-height: 100%;
  display: flex;
  align-items: center;
}
div.full-width div.items.logos div.item > a > img {
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
}
div.full-width div.items.solid > div.item {
  background-color: rgba(247, 248, 250, 0.7);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  transition: all 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
}
div.full-width div.items.solid > div.item:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  transform: translateY(-4px);
  background-color: rgba(255, 255, 255, 0.9);
  border-color: rgba(0, 0, 0, 0.1) !important;
}
@media screen and (max-width: 720px) {
  div.full-width div.items {
    display: block;
  }
  div.full-width div.items > div.item {
    max-width: unset;
  }
}
/*
======================================================
Carousel
======================================================
*/

.carousel {
  margin-bottom: 48px;
  /* Owl Carousel */

}
.carousel div.item {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  min-height: 520px;
  position: relative;
  text-align: left;
}
.carousel div.item > h1 {
  color: white;
  margin: 0;
  padding: 32px 20px 0 32px;
  border: none;
  font-size: 34px;
  text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.75), 1px 1px 1px rgba(0, 0, 0, 0.75);
}
.carousel div.item > h2 {
  color: white;
  margin: 0;
  padding: 32px 20px 0 32px;
  border: none;
  font-size: 18px;
  line-height: 134%;
  max-width: 640px;
  text-shadow: -1px -1px 2px rgba(0, 0, 0, 0.75), 1px 1px 2px rgba(0, 0, 0, 0.75);
}
.carousel div.item div.buttons {
  position: absolute;
  left: 32px;
  bottom: 24px;
}
.carousel div.item div.buttons > button {
  background-color: #f0f0f0;
  border: none;
  color: #606060;
  height: 40px;
  font-weight: bold;
  font-size: 14px;
  margin-right: 8px;
  margin-bottom: 8px;
  outline: none;
  padding: 12px 16px 12px 16px;
  box-shadow: -1px -1px 4px rgba(0, 0, 0, 0.5), 1px 1px 4px rgba(0, 0, 0, 0.5);
}
.carousel div.item div.buttons > button:hover,
.carousel div.item div.buttons > button:focus {
  background-color: #e3e3e3;
  border: none;
}
.carousel div.item div.buttons > button.green {
  background: rgba(255, 255, 255, 0.06);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  color: white;
  border: 1px solid rgba(255, 255, 255, 0.14);
}
.carousel div.item div.buttons > button.green:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(123, 150, 212, 0.55);
}
.carousel div.item img.mobile_demo {
  width: 186px;
  position: absolute;
  right: 40px;
  top: 40px;
}
.carousel > .owl-carousel .owl-nav {
  margin-top: 0;
}
.carousel > .owl-carousel .owl-nav > button.owl-prev,
.carousel > .owl-carousel .owl-nav > button.owl-next {
  font-size: 40px;
  min-width: 20px;
  height: auto;
  outline: none;
}
.carousel > .owl-carousel .owl-dots > button.owl-dot {
  min-width: 0;
  outline: none;
}
/*
======================================================
Site Administration
======================================================
*/

table.ISTableData {
  border: 1px solid var(--border-subtle);
  border-collapse: collapse;
  font-size: 13px;
  width: 100%;
  /* Heading Cells */

  /* Cells */

}
table.ISTableData tr > th,
table.ISTableData tr > th {
  background-color: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-bottom: 2px solid var(--border-subtle);
  border-top: none;
  font-weight: 600;
  padding: 10px 8px;
  text-align: left;
  white-space: nowrap;
  color: var(--text-secondary);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
table.ISTableData tr > td {
  border: 1px solid var(--border-subtle);
  padding: 8px;
}
table.ISTableData tr > td:first-child {
  border-left: none;
}
table.ISTableData tr > td:last-child {
  border-right: none;
}
table.ISTableData tr:hover > td {
  background-color: rgba(59, 130, 246, 0.03);
}
/*
======================================================
Glyphs
======================================================
*/

div.glyph {
  display: inline-block;
  font-size: 44px;
  margin: 0 0 8px 0;
  width: 64px;
  height: 64px;
  text-align: center;
  line-height: 64px;
}
div.glyph:before {
  font-family: isfa;
}
div.glyph.ai:before {
  font-family: isfas;
  content: "\f0d0";
}
div.glyph.api:before {
  font-family: isfas;
  content: "\f085";
}
div.glyph.blog:before {
  content: "\f4ad";
}
div.glyph.box:before {
  font-family: isfas;
  content: "\f49e";
}
div.glyph.calculator:before {
  font-family: isfas;
  content: "\f1ec";
}
div.glyph.clients:before {
  font-family: isfas;
  content: "\f500";
}
div.glyph.clock:before {
  font-family: isfas;
  content: "\f017";
}
div.glyph.cloud:before {
  font-family: isfas;
  content: "\f0c2";
}
div.glyph.accounting:before {
  font-family: isfas;
  content: "\f51e";
}
div.glyph.security-enquiry:before {
  font-family: isfas;
  content: "\f1b9";
}
div.glyph.dashboard:before {
  font-family: isfas;
  content: "\f0ce";
}
div.glyph.database:before {
  font-family: isfas;
  content: "\f1c0";
}
div.glyph.decision:before {
  font-family: isfas;
  content: "\f24e";
}
div.glyph.desktop:before {
  font-family: isfas;
  content: "\f108";
}
div.glyph.credit-bureau:before {
  font-family: isfas;
  content: "\f2bb";
}
div.glyph.download:before {
  font-family: isfas;
  content: "\f56d";
}
div.glyph.email:before {
  font-family: isfas;
  content: "\f0e0";
}
div.glyph.external:before {
  font-family: isfas;
  content: "\f542";
}
div.glyph.history:before {
  font-family: isfas;
  content: "\f1da";
}
div.glyph.keyboard:before {
  font-family: isfas;
  content: "\f11c";
}
div.glyph.loan:before {
  font-family: isfas;
  content: "\f53a";
}
div.glyph.lock:before {
  font-family: isfas;
  content: "\f023";
}
div.glyph.messaging:before {
  font-family: isfas;
  content: "\f3cd";
}
div.glyph.my:before {
  content: "\f2bd";
}
div.glyph.news:before {
  font-family: isfas;
  content: "\f15c";
}
div.glyph.palette:before {
  font-family: isfas;
  content: "\f53f";
}
div.glyph.payments:before {
  font-family: isfas;
  content: "\f362";
}
div.glyph.portal:before {
  font-family: isfas;
  content: "\f0ac";
}
div.glyph.register:before {
  font-family: isfas;
  content: "\f5ac";
}
div.glyph.report:before {
  content: "\f15c";
}
div.glyph.report-script:before {
  content: "\f1c9";
}
div.glyph.script:before {
  font-family: isfas;
  content: "\f121";
}
div.glyph.star:before {
  font-family: isfas;
  content: "\f005";
}
div.glyph.statement:before {
  font-family: isfas;
  content: "\f15c";
}
div.glyph.security-enquiry:before {
  font-family: isfas;
  content: "\f1b9";
}
div.glyph.tsb:before {
  font-family: isfas;
  content: "\f552";
}
div.glyph.tsg:before {
  font-family: isfas;
  content: "\f0f9";
}
div.glyph.user:before {
  font-family: isfas;
  content: "\f007";
}
div.glyph.user-guide:before {
  font-family: isfas;
  content: "\f1cd";
}
div.glyph.workflow:before {
  font-family: isfas;
  content: "\f0e8";
}
/*
======================================================
Time Line
======================================================
*/

ul.timeline {
  list-style: none;
  margin: 20px 0 0 0 !important;
  padding: 0 !important;
  position: relative;
}
ul.timeline:before {
  content: "";
  display: block;
  width: 3px;
  height: auto;
  background-color: #d0d0d0;
  border-radius: 5px;
  position: absolute;
  top: 2px;
  bottom: 0;
  left: 21px;
}
ul.timeline > li {
  list-style: none;
  margin: 0 0 20px 0 !important;
  padding: 0;
  position: relative;
  z-index: 1;
  white-space: nowrap;
  /* Current */

  /* Date */

  /* Info Box */

}
ul.timeline > li:before {
  content: "" !important;
  margin: 0 !important;
  padding: 0 !important;
}
ul.timeline > li.current > span.date {
  background-color: #27ae60;
  border-color: #229954;
  border-radius: 8px;
  font-size: 13px;
}
ul.timeline > li > span.date {
  background-color: #3d5aa9;
  border: 2px solid #2f4684;
  border-radius: 20px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  line-height: 40px;
  padding: 0;
  text-align: center;
  width: 44px;
}
ul.timeline > li > div.info {
  background-color: white;
  border: 1px solid var(--border-subtle);
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  display: inline-block;
  font-size: 14px;
  margin-left: 8px;
  margin-top: 0px;
  min-width: 200px;
  max-width: 640px;
  width: 80%;
  overflow: hidden;
  position: relative;
  vertical-align: top;
  white-space: normal;
  /* Heading */

  /* Content */

}
ul.timeline > li > div.info > h1 {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  background-color: #2ea3f2;
  border-bottom: none;
  padding: 10px 14px;
  color: white !important;
  white-space: nowrap;
  border-radius: 6px 6px 0 0;
}
ul.timeline > li > div.info > div {
  padding: 12px 14px;
}
ul.timeline > li > div.info > div > p {
  line-height: 1.7;
  padding: 0;
  margin: 4px 0 8px 0;
  color: var(--text-secondary);
  font-size: 14px;
}
/*
======================================================
Homepage Panel Layouts
======================================================
*/

/* Introduction - legacy styles kept for non-homepage uses */

div#pnlHomeIntro div.left {
  text-align: left;
  max-width: 640px;
}
div#pnlHomeIntro div.logo {
  margin: 0 0 20px 0;
}
div#pnlHomeIntro div.logo img {
  max-width: 280px;
  width: 100%;
}
div#pnlHomeIntro div.buttons {
  position: relative;
  bottom: 0;
  margin: 24px 0 20px 0;
  text-align: left;
}
/* Flexible */

div#pnlHomeFlexible div.img {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
/* Work: the current finPOWER Connect Cloud in a browser frame, with a detail card floating over it */

/* The finPOWER Connect and finPOWER Connect Cloud product pages reuse the same browser frame and platform list. */

div#pnlHomeWork .device-showcase,
div#pnlProductPlatforms .device-showcase,
div#pnlCloudIntro .device-showcase {
  position: relative;
  padding: 0 0 70px 0;
}
div#pnlHomeWork .device-browser,
div#pnlProductPlatforms .device-browser,
div#pnlCloudIntro .device-browser {
  border-radius: 14px;
  overflow: hidden;
  background: white;
  box-shadow: 0 0 0 1px rgba(19, 26, 44, 0.08), 0 2px 4px rgba(19, 26, 44, 0.04), 0 40px 80px -36px rgba(31, 45, 92, 0.55);
  transform: perspective(1600px) rotateY(6deg) rotateX(2deg);
  transform-origin: 30% 50%;
  transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}
div#pnlHomeWork .device-browser img,
div#pnlProductPlatforms .device-browser img,
div#pnlCloudIntro .device-browser img {
  display: block;
  width: 100%;
  height: auto;
}
div#pnlHomeWork .device-showcase:hover .device-browser,
div#pnlProductPlatforms .device-showcase:hover .device-browser,
div#pnlCloudIntro .device-showcase:hover .device-browser {
  transform: perspective(1600px) rotateY(2deg) rotateX(1deg);
}
div#pnlHomeWork .device-browser-bar,
div#pnlProductPlatforms .device-browser-bar,
div#pnlCloudIntro .device-browser-bar {
  display: flex;
  align-items: center;
  gap: 7px;
  height: 34px;
  padding: 0 14px;
  background: linear-gradient(180deg, #f7f8fb, #eef1f6);
  border-bottom: 1px solid #e2e6ef;
}
div#pnlHomeWork .device-browser-bar span,
div#pnlProductPlatforms .device-browser-bar span,
div#pnlCloudIntro .device-browser-bar span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}
div#pnlHomeWork .device-browser-bar span:nth-child(1),
div#pnlProductPlatforms .device-browser-bar span:nth-child(1),
div#pnlCloudIntro .device-browser-bar span:nth-child(1) {
  background: #ff6159;
}
div#pnlHomeWork .device-browser-bar span:nth-child(2),
div#pnlProductPlatforms .device-browser-bar span:nth-child(2),
div#pnlCloudIntro .device-browser-bar span:nth-child(2) {
  background: #ffbd2e;
}
div#pnlHomeWork .device-browser-bar span:nth-child(3),
div#pnlProductPlatforms .device-browser-bar span:nth-child(3),
div#pnlCloudIntro .device-browser-bar span:nth-child(3) {
  background: #28c941;
}
div#pnlHomeWork .device-browser-bar b,
div#pnlProductPlatforms .device-browser-bar b,
div#pnlCloudIntro .device-browser-bar b {
  flex: 1;
  max-width: 340px;
  height: 20px;
  margin-left: 14px;
  border-radius: 6px;
  background: white;
  box-shadow: inset 0 0 0 1px #e2e6ef;
}
div#pnlHomeWork .device-float,
div#pnlProductPlatforms .device-float,
div#pnlCloudIntro .device-float {
  position: absolute;
  right: -18px;
  bottom: 0;
  width: 56%;
  border-radius: 12px;
  overflow: hidden;
  background: white;
  box-shadow: 0 0 0 1px rgba(19, 26, 44, 0.08), 0 30px 60px -24px rgba(31, 45, 92, 0.6);
}
div#pnlHomeWork .device-float img,
div#pnlProductPlatforms .device-float img,
div#pnlCloudIntro .device-float img {
  display: block;
  width: 100%;
  height: auto;
}
div#pnlHomeWork .platform-list,
div#pnlProductPlatforms .platform-list,
div#pnlCloudIntro .platform-list {
  margin-top: 28px;
  display: grid;
  gap: 12px;
  text-align: left;
}
div#pnlHomeWork .platform-item,
div#pnlProductPlatforms .platform-item,
div#pnlCloudIntro .platform-item {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 12px;
  background-color: var(--bg-surface);
  box-shadow: inset 0 0 0 1px var(--border-subtle);
}
div#pnlHomeWork .platform-item strong,
div#pnlProductPlatforms .platform-item strong,
div#pnlCloudIntro .platform-item strong {
  display: block;
  font-size: 15px;
  font-weight: 650;
  color: var(--text-primary);
}
div#pnlHomeWork .platform-item .platform-sub,
div#pnlProductPlatforms .platform-item .platform-sub,
div#pnlCloudIntro .platform-item .platform-sub {
  display: block;
  font-size: 14px;
  color: var(--text-muted);
}
div#pnlHomeWork .platform-icon,
div#pnlProductPlatforms .platform-icon,
div#pnlCloudIntro .platform-icon {
  font-family: isfas;
  width: 36px;
  height: 36px;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  color: #3d5aa9;
  background-color: rgba(61, 90, 169, 0.1);
}
@media screen and (max-width: 840px) {
  div#pnlHomeWork .device-showcase,
  div#pnlProductPlatforms .device-showcase,
  div#pnlCloudIntro .device-showcase {
    padding-bottom: 48px;
  }
  div#pnlHomeWork .device-float,
  div#pnlProductPlatforms .device-float,
  div#pnlCloudIntro .device-float {
    right: -6px;
    width: 64%;
  }
}
:root[data-theme="dark"] div#pnlHomeWork .device-browser,
:root[data-theme="dark"] div#pnlProductPlatforms .device-browser,
:root[data-theme="dark"] div#pnlCloudIntro .device-browser,
:root[data-theme="dark"] div#pnlHomeWork .device-float,
:root[data-theme="dark"] div#pnlProductPlatforms .device-float,
:root[data-theme="dark"] div#pnlCloudIntro .device-float {
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08), 0 40px 80px -36px rgba(0, 0, 0, 0.9);
}
:root[data-theme="dark"] div#pnlHomeWork .platform-icon,
:root[data-theme="dark"] div#pnlProductPlatforms .platform-icon,
:root[data-theme="dark"] div#pnlCloudIntro .platform-icon {
  color: var(--link);
  background-color: rgba(147, 174, 236, 0.12);
}
/* The detail card drifts gently against the scroll where the browser supports scroll-linked timelines. dotless 1.3 cannot nest @media inside @supports, so reduced motion opts out with a separate rule. */

@supports (animation-timeline: view()) {
  html:not([data-accessibility="on"]) div#pnlHomeWork .device-float {
    animation: deviceFloat linear both;
    animation-timeline: view();
    animation-range: entry 10% exit 90%;
  }
}
@media (prefers-reduced-motion: reduce) {
  div#pnlHomeWork .device-float {
    animation: none !important;
  }
}
@keyframes deviceFloat {
  from {
    transform: translateY(48px);
  }
  to {
    transform: translateY(-36px);
  }
}
/* A portrait phone screenshot in a simple device frame (finPOWER Connect Cloud product page). */

.device-phone {
  width: 280px;
  max-width: 80%;
  margin: 0 auto;
  padding: 12px;
  border-radius: 38px;
  background: #0f1b3d;
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.08), 0 30px 60px -25px rgba(15, 27, 61, 0.55);
}
.device-phone img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 28px;
}
/* A tablet screenshot with the phone frame overlapping its lower-right corner (finPOWER Connect Cloud product page). */

.device-pair {
  position: relative;
  max-width: 480px;
  margin: 0 auto;
  padding: 0 0 28px 0;
}
.device-pair .device-phone {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 36%;
  max-width: none;
  margin: 0;
  padding: 8px;
  border-radius: 26px;
}
.device-pair .device-phone img {
  border-radius: 19px;
}
.device-tablet {
  width: 80%;
  padding: 14px;
  border-radius: 30px;
  background: #0f1b3d;
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.08), 0 30px 60px -25px rgba(15, 27, 61, 0.55);
}
.device-tablet img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
}
/* Small pill beside a card heading, e.g. marking a feature as a licensed Add-on. */

span.item-flag {
  display: inline-block;
  vertical-align: middle;
  margin: 0 4px 0 6px;
  padding: 2px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #3d5aa9;
  background: rgba(61, 90, 169, 0.1);
  border: 1px solid rgba(61, 90, 169, 0.25);
}
.dark span.item-flag,
:root[data-theme="dark"] span.item-flag {
  color: #c9d8ff;
  background: rgba(169, 193, 255, 0.12);
  border-color: rgba(169, 193, 255, 0.35);
}
/* Provider website links inside cards use the base link colour, which is too dark to read on the dark theme's navy cards. */

:root[data-theme="dark"] div.items > div.item a:not(.linkinternal) {
  color: var(--link);
}
/* Homepage section rhythm: the content sections share one heading scale and generous spacing. */

div#pnlHomeFlexible,
div#pnlHomeWork,
div#pnlHomeNews,
div#pnlHomeCustomers {
  padding-top: 104px;
  padding-bottom: 104px;
}
div#pnlHomeFlexible h1,
div#pnlHomeWork h1,
div#pnlHomeNews h1,
div#pnlHomeCustomers h1,
div#pnlHomeFlexible h2,
div#pnlHomeWork h2,
div#pnlHomeNews h2,
div#pnlHomeCustomers h2 {
  font-size: 46px;
  font-weight: 760;
  line-height: 1.08;
  letter-spacing: -0.032em;
  margin: 12px 0 0 0;
  text-wrap: balance;
}
@media screen and (max-width: 900px) {
  div#pnlHomeFlexible h1,
  div#pnlHomeWork h1,
  div#pnlHomeNews h1,
  div#pnlHomeCustomers h1,
  div#pnlHomeFlexible h2,
  div#pnlHomeWork h2,
  div#pnlHomeNews h2,
  div#pnlHomeCustomers h2 {
    font-size: 36px;
  }
}
div#pnlHomeFlexible > .site-width > div > p,
div#pnlHomeWork > .site-width > div > p,
div#pnlHomeNews > .site-width > div > p,
div#pnlHomeCustomers > .site-width > div > p {
  font-size: 17.5px;
  color: var(--text-secondary);
}
@media screen and (max-width: 720px) {
  div#pnlHomeFlexible,
  div#pnlHomeWork,
  div#pnlHomeNews,
  div#pnlHomeCustomers {
    padding-top: 72px;
    padding-bottom: 72px;
  }
}
/* Paragraph links on the homepage read as links, not pills (topic.less pills every linkinternal). */

div#pnlHomeFlexible .feature-text p,
div#pnlHomeWork .feature-text p {
  font-size: 17.5px;
  line-height: 1.7;
  color: var(--text-secondary);
  margin-top: 18px;
}
div#pnlHomeFlexible .feature-text a.linkinternal,
div#pnlHomeWork .feature-text a.linkinternal {
  display: inline !important;
  padding: 0 0 1px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  background-image: linear-gradient(currentColor, currentColor) !important;
  background-size: 0% 1.5px !important;
  background-position: 0 100% !important;
  background-repeat: no-repeat !important;
  color: #3d5aa9 !important;
  font-weight: 550;
  transition: background-size 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}
div#pnlHomeFlexible .feature-text a.linkinternal:hover,
div#pnlHomeWork .feature-text a.linkinternal:hover {
  background-size: 100% 1.5px !important;
  text-decoration: none !important;
}
:root[data-theme="dark"] div#pnlHomeFlexible .feature-text a.linkinternal,
:root[data-theme="dark"] div#pnlHomeWork .feature-text a.linkinternal {
  color: var(--link) !important;
}
/* Reporting */

/* Custom */

/* Customers: two rows of logo plates that drift past (static and wrapped when motion is off) */

div#pnlHomeCustomers div.buttons {
  text-align: center;
  margin-top: 32px !important;
}
div#pnlHomeCustomers .logo-marquee {
  display: grid;
  gap: 16px;
  margin: 40px 0 0 0;
}
div#pnlHomeCustomers .logo-track {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
}
div#pnlHomeCustomers .logo-plate {
  flex: none;
  width: 216px;
  height: 104px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 26px;
  border-radius: 14px;
  background-color: white;
  box-shadow: inset 0 0 0 1px var(--border-subtle), 0 1px 2px rgba(19, 26, 44, 0.04), 0 12px 32px -16px rgba(31, 45, 92, 0.22);
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1);
  /* The duplicate set only exists to make the marquee loop seamlessly. */

}
div#pnlHomeCustomers .logo-plate img {
  max-height: 54px;
  max-width: 100%;
  width: auto;
  height: auto;
  mix-blend-mode: multiply;
}
div#pnlHomeCustomers .logo-plate:hover {
  transform: translateY(-3px);
  box-shadow: inset 0 0 0 1px var(--border-strong), 0 2px 4px rgba(19, 26, 44, 0.05), 0 24px 48px -20px rgba(31, 45, 92, 0.32);
}
div#pnlHomeCustomers .logo-plate[aria-hidden="true"] {
  display: none;
}
@media screen and (max-width: 720px) {
  div#pnlHomeCustomers .logo-plate {
    width: 168px;
    height: 84px;
    padding: 14px 18px;
  }
}
:root[data-theme="dark"] div#pnlHomeCustomers .logo-plate {
  background-color: #eef1f7;
}
@media (prefers-reduced-motion: no-preference) {
  html:not([data-accessibility="on"]) div#pnlHomeCustomers .logo-marquee {
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent, black 10%, black 90%, transparent);
    mask-image: linear-gradient(90deg, transparent, black 10%, black 90%, transparent);
  }
  html:not([data-accessibility="on"]) div#pnlHomeCustomers .logo-track {
    flex-wrap: nowrap;
    justify-content: flex-start;
    width: max-content;
    animation: logoMarquee 64s linear infinite;
  }
  html:not([data-accessibility="on"]) div#pnlHomeCustomers .logo-track--reverse {
    animation-duration: 58s;
    animation-direction: reverse;
  }
  html:not([data-accessibility="on"]) div#pnlHomeCustomers .logo-plate[aria-hidden="true"] {
    display: flex;
  }
  html:not([data-accessibility="on"]) div#pnlHomeCustomers .logo-marquee:hover .logo-track,
  html:not([data-accessibility="on"]) div#pnlHomeCustomers.is-offscreen .logo-track {
    animation-play-state: paused;
  }
}
@keyframes logoMarquee {
  to {
    transform: translateX(calc(-50% - 8px));
  }
}
/* News: glass cards on the dark band; the whole card is the link */

div#pnlHomeNews {
  position: relative;
  background: radial-gradient(900px 500px at 85% 0%, #24346f 0%, rgba(36, 52, 111, 0) 60%), linear-gradient(180deg, #0f1730, #15213e);
}
div#pnlHomeNews div.buttons {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 40px !important;
}
div#pnlHomeNews div.buttons button {
  margin: 0 !important;
}
div#pnlHomeNews > .site-width > div > div.items {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 44px;
}
@media screen and (max-width: 1024px) {
  div#pnlHomeNews > .site-width > div > div.items {
    grid-template-columns: minmax(0, 1fr);
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
  }
}
div#pnlHomeNews > .site-width > div > div.items > div.item {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  max-width: none;
  margin: 0;
  padding: 28px 28px 24px;
  border-radius: 16px;
  text-align: left;
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.035)) !important;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border: 0 !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 30px 50px -30px rgba(0, 0, 0, 0.7);
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  /* Spotlight that follows the pointer (general.js sets --mx / --my). */

}
div#pnlHomeNews > .site-width > div > div.items > div.item:before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0;
  transition: opacity 0.4s;
  background: radial-gradient(320px circle at var(--mx, 50%) var(--my, 0%), rgba(169, 193, 255, 0.14), transparent 65%);
}
div#pnlHomeNews > .site-width > div > div.items > div.item:hover {
  transform: translateY(-4px);
  box-shadow: inset 0 0 0 1px rgba(169, 193, 255, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 40px 60px -30px rgba(0, 0, 0, 0.85);
}
div#pnlHomeNews > .site-width > div > div.items > div.item:hover:before {
  opacity: 1;
}
div#pnlHomeNews > .site-width > div > div.items > div.item .item-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
div#pnlHomeNews > .site-width > div > div.items > div.item .glyph {
  width: 44px;
  height: 44px;
  margin: 0;
  border-radius: 12px;
  font-size: 18px;
  line-height: 44px;
  color: white !important;
  background: linear-gradient(145deg, rgba(106, 136, 230, 0.9), rgba(61, 90, 169, 0.9));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
}
div#pnlHomeNews > .site-width > div > div.items > div.item .glyph.blog {
  background: linear-gradient(145deg, rgba(255, 167, 157, 0.95), rgba(233, 124, 115, 0.95));
}
div#pnlHomeNews > .site-width > div > div.items > div.item .item-tag {
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(225, 232, 250, 0.7);
}
div#pnlHomeNews > .site-width > div > div.items > div.item > a {
  display: block;
  color: white !important;
  text-decoration: none;
}
div#pnlHomeNews > .site-width > div > div.items > div.item > a:after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
}
div#pnlHomeNews > .site-width > div > div.items > div.item > a:focus-visible {
  outline: none;
}
div#pnlHomeNews > .site-width > div > div.items > div.item > a:focus-visible:after {
  box-shadow: inset 0 0 0 2px #a9c1ff;
}
div#pnlHomeNews > .site-width > div > div.items > div.item h2 {
  margin: 22px 0 0 0;
  font-size: 20px;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: -0.015em;
  color: white !important;
}
div#pnlHomeNews > .site-width > div > div.items > div.item p {
  margin: 10px 0 0 0;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(225, 232, 250, 0.76);
}
div#pnlHomeNews > .site-width > div > div.items > div.item p:empty {
  display: none;
}
div#pnlHomeNews > .site-width > div > div.items > div.item .item-more {
  margin-top: auto;
  padding-top: 22px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 650;
  color: #a9c1ff;
}
div#pnlHomeNews > .site-width > div > div.items > div.item .item-more .is-fa-icon {
  font-size: 12px;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
div#pnlHomeNews > .site-width > div > div.items > div.item:hover .item-more .is-fa-icon {
  transform: translateX(4px);
}
/*
======================================================
Products Panel Layouts
======================================================
*/

/* Introduction */

div#pnlProductsIntro div.left {
  text-align: left;
  max-width: 560px;
  min-height: 280px;
  position: relative;
  z-index: 1;
}
div#pnlProductsIntro div.screen {
  position: absolute;
  right: 10%;
  top: 32px;
  z-index: 0;
  background-image: url(../img/Products/demo1.gif);
  background-position: left 32px;
  background-repeat: no-repeat;
  animation: pop 0.3s;
  transition: all 0.2s;
}
div#pnlProductsIntro div.logo {
  margin: 0 0 16px 0;
}
div#pnlProductsIntro div.logo img {
  max-width: 280px;
  width: 100%;
}
div#pnlProductsIntro div.phone {
  position: absolute;
  right: 10%;
  bottom: -76px;
  margin-right: -80px;
  background-image: url(../img/Products/demo_phone.gif);
  background-position: 12px 36px;
  background-repeat: no-repeat;
  background-size: 156px auto;
  animation: pop 0.5s;
  transition: all 0.2s;
}
div#pnlProductsIntro div.phone img {
  -webkit-filter: drop-shadow(-2px -2px 1px rgba(0, 0, 0, 0.1));
}
@media screen and (max-width: 1320px) {
  div#pnlProductsIntro div.left {
    max-width: 480px;
  }
  div#pnlProductsIntro div.screen {
    right: -3%;
    transform: scale(0.78);
  }
  div#pnlProductsIntro div.phone {
    right: 6%;
    transform: scale(0.78);
  }
}
@media screen and (max-width: 1024px) {
  div#pnlProductsIntro div.screen {
    display: none;
  }
  div#pnlProductsIntro div.phone {
    right: 14%;
    transform: scale(1);
  }
}
@media screen and (max-width: 680px) {
  div#pnlProductsIntro div.phone {
    display: none;
  }
}
/* Licensing */

div#pnlProductsLicensing div.buttons {
  text-align: center;
}
/* finPOWER Connect product page: Always Improving */

div#pnlProductImproving div.buttons {
  text-align: center;
}
/*
======================================================
News Panel Layouts
======================================================
*/

/* Introduction */

div#pnlNewsIntro div.left {
  width: 70%;
  min-width: 320px;
  text-align: left;
}
div#pnlNewsIntro div.right {
  float: right;
  text-align: right;
}
div#pnlNewsIntro div.right h2 {
  font-size: 18px;
  text-align: center;
}
div#pnlNewsIntro form {
  margin: 0 !important;
  font-size: 1.2em;
}
div#pnlNewsIntro input {
  font-size: 16px;
}
/* Latest */

div#pnlNewsLatest {
  text-align: center;
}
div#pnlNewsLatest div.date {
  color: var(--text-muted);
  font-size: 12px;
  margin: -8px 0 4px 0;
}
/*
======================================================
Support Panel Layouts
======================================================
*/

/* Introduction */

div#pnlSupportIntro div.left {
  float: left;
  width: 70%;
  min-width: 320px;
  text-align: left;
}
div#pnlSupportIntro div.right {
  float: right;
  text-align: right;
}
div#pnlSupportIntro div.right h2 {
  font-size: 18px;
  text-align: center;
}
div#pnlSupportIntro div.right table {
  border-collapse: collapse;
  position: relative;
  margin-left: auto;
}
div#pnlSupportIntro div.right table a {
  color: rgba(255, 255, 255, 0.9) !important;
  display: block;
  font-size: 13px;
  white-space: nowrap;
}
div#pnlSupportIntro div.right table th {
  display: none;
}
div#pnlSupportIntro div.right table td {
  font-size: 13px;
  padding: 8px;
  text-align: left;
}
div#pnlSupportIntro div.right table td:first-child {
  padding-right: 16px;
}
div#pnlSupportIntro div.right table tr {
  background-color: rgba(255, 255, 255, 0.08);
  border-radius: 4px;
}
div#pnlSupportIntro div.right table tr:nth-child(odd) {
  background-color: rgba(255, 255, 255, 0.04);
}
div#pnlSupportIntro form {
  margin: 20px 0 20px 0 !important;
  font-size: 1.2em;
}
div#pnlSupportIntro input {
  font-size: 16px;
}
@media screen and (max-width: 640px) {
  div#pnlSupportIntro div.left,
  div#pnlSupportIntro div.right {
    float: none;
    text-align: left;
    width: 100%;
  }
  div#pnlSupportIntro div.left h2,
  div#pnlSupportIntro div.right h2 {
    text-align: left;
  }
  div#pnlSupportIntro div.left table,
  div#pnlSupportIntro div.right table {
    margin-left: 0;
  }
}
/* Resources */

div#pnlSupportResources {
  text-align: center;
}
/*
======================================================
Resources Panel Layouts
======================================================
*/

/* Introduction */

div#pnlResourcesIntro div.left {
  text-align: left;
}
/* Resources */

div#pnlResourcesResources {
  text-align: center;
}
/*
======================================================
Guides Panel Layouts
======================================================
*/

/* Guides */

div#pnlGuidesGuides div.items > div.item {
  padding-bottom: 56px !important;
  text-align: center;
}
div#pnlGuidesGuides div.items > div.item a.linkinternal {
  display: block;
  border-bottom: none !important;
  line-height: 135%;
}
div#pnlGuidesGuides div.items > div.item .showall {
  position: absolute;
  padding: 8px;
  bottom: 0;
  display: block;
  left: 0px;
  width: 100%;
}
div#pnlGuidesGuides div.items > div.item .showall > a {
  background-color: white;
  border: 1px solid var(--border-subtle);
  border-radius: 20px;
  display: inline-block;
  font-size: 13px;
  font-weight: 500;
  padding: 8px 14px;
  color: var(--text-primary);
  transition: all 0.2s ease;
}
div#pnlGuidesGuides div.items > div.item .showall > a:before {
  font-family: isfas;
  font-size: 14px;
  content: "\f03a";
  margin-right: 6px;
  color: #3d5aa9;
}
div#pnlGuidesGuides div.items > div.item .showall > a:hover {
  background-color: #12121c;
  border-color: #12121c;
  color: white;
}
div#pnlGuidesGuides div.items > div.item .showall > a:hover:before {
  color: white;
}
/*
======================================================
My Intersoft Panel Layouts
======================================================
*/

/* My Intersoft hero - boost text contrast over the gradient */

div#pnlMyIntro {
  text-align: left;
}
div#pnlMyIntro > .site-width {
  max-width: 760px;
  background: rgba(255, 255, 255, 0.05);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  padding: 32px 40px !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
  margin: 0 auto !important;
}
@media screen and (max-width: 640px) {
  div#pnlMyIntro > .site-width {
    padding: 24px 20px !important;
    border-radius: 12px;
  }
}
div#pnlMyIntro h1 {
  font-size: 36px !important;
  text-align: left;
  margin: 0 0 16px 0 !important;
}
div#pnlMyIntro p {
  color: rgba(255, 255, 255, 0.95) !important;
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 10px;
}
div#pnlMyIntro p b {
  color: white;
  font-weight: 700;
}
div#pnlMyIntro table#subscriptions {
  margin: 12px 0;
  color: rgba(255, 255, 255, 0.95);
}
div#pnlMyIntro table#subscriptions td {
  padding: 4px 6px;
  color: rgba(255, 255, 255, 0.92);
}
div#pnlMyIntro table#subscriptions img {
  filter: brightness(1.2);
}
div#pnlMyIntro div.buttons {
  margin-top: 16px;
  text-align: left;
}
/*
======================================================
About Panel Layouts
======================================================
*/

/* About Page Tabs */

.about-tabs {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-bottom: 0;
  position: relative;
  z-index: 1;
}
.about-tab {
  background-color: var(--bg-base) !important;
  border: 1px solid var(--border-subtle) !important;
  border-bottom: none !important;
  border-radius: 6px 6px 0 0 !important;
  color: var(--text-muted) !important;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 14px 24px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  transition: all 0.2s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.about-tab .tab-icon {
  font-size: 18px;
  height: 22px;
  width: 22px;
  margin: 0;
  line-height: 22px;
}
.about-tab:hover {
  background-color: white !important;
  color: var(--text-primary) !important;
  transform: none;
  box-shadow: none;
}
.about-tab.active {
  background-color: white !important;
  color: #2ea3f2 !important;
  border-color: var(--border-subtle) !important;
  box-shadow: none;
  transform: none;
  position: relative;
  /* Cover the panel top border */

}
.about-tab.active:after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background-color: white;
}
.about-tab.active .tab-icon {
  color: #2ea3f2;
}
@media screen and (max-width: 640px) {
  .about-tab {
    padding: 10px 14px !important;
    font-size: 13px !important;
  }
  .about-tab .tab-icon {
    display: none;
  }
}
.about-tab-panels {
  background-color: white;
  border: 1px solid var(--border-subtle);
  border-radius: 0 0 10px 10px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  position: relative;
  min-height: 200px;
}
.about-panel {
  display: none;
  padding: 24px 32px;
  animation: tabFadeIn 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
  /* Tighten the intro paragraph above the team layout */

  /* Tables inside any panel (e.g. partner gallery rendered as a table grid) */

}
.about-panel.active {
  display: block;
}
.about-panel > .outline1 > p:first-child,
.about-panel > .staff-intro {
  margin: 0 0 14px 0;
  color: var(--text-secondary);
}
.about-panel table {
  border-spacing: 16px;
  margin: 0 auto;
}
.about-panel table td {
  padding: 8px !important;
  font-size: 14px;
  vertical-align: top;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .about-panel {
    padding: 16px;
  }
}
@keyframes tabFadeIn {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Staff / Partners — flat team-section layout (no accordion).
   The CMS topics AboutUs.Staff and AboutUs.StrategicPartners are rendered as outline2/outline3 wrappers; the JS in About\Default.aspx transforms that markup into the .staff-team structure below. Staff renders the inner content as a grid of .staff-role-card; Partners keeps its logo gallery markup inside .staff-team-body. */

.about-panel .staff-team {
  margin-top: 40px;
}
.about-panel .staff-team:first-of-type {
  margin-top: 0;
}
.about-panel .staff-team-header {
  margin-bottom: 22px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--border-subtle);
}
.about-panel .staff-team-header h2 {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.015em;
  color: var(--text-primary);
}
.about-panel .staff-team-body > p:first-child {
  margin-top: 0;
}
.about-panel .staff-roles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 14px;
}
.about-panel .staff-role-card {
  background: white;
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  padding: 16px 18px 14px;
  transition: border-color 0.18s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.18s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.18s cubic-bezier(0.22, 0.61, 0.36, 1);
  position: relative;
  /* Solo role variant — one person, rendered more like a leader card */

}
.about-panel .staff-role-card:hover {
  border-color: rgba(61, 90, 169, 0.25);
  box-shadow: 0 4px 14px -8px rgba(61, 90, 169, 0.3);
  transform: translateY(-1px);
}
.about-panel .staff-role-card .role-title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #3d5aa9;
  margin: 0 0 10px;
}
.about-panel .staff-role-card .role-people {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
  /* Team Leader: a '-TL-' marker on the source name flags this person as the team leader. The renderer strips the token, adds .team-leader to the li, and appends a small badge. Styling is intentionally understated — a slightly heavier name plus a Connect-Blue pill — so the leader stands out at a glance without dominating the card. */

}
.about-panel .staff-role-card .role-people > li {
  padding: 5px 0;
  font-size: 14px;
  color: var(--text-primary);
  border-top: 1px solid #f0f0f3;
  margin-left: 0 !important;
}
.about-panel .staff-role-card .role-people > li:first-child {
  border-top: none;
  padding-top: 2px;
}
.about-panel .staff-role-card .role-people > li:before {
  display: none !important;
}
.about-panel .staff-role-card .role-people .quals {
  color: var(--text-muted);
  font-size: 12px;
  font-weight: 500;
  margin-left: 6px;
}
.about-panel .staff-role-card .role-people > li.team-leader {
  font-weight: 600;
  color: #3d5aa9;
}
.about-panel .staff-role-card .role-people .leader-badge {
  display: inline-block;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: white;
  background: #3d5aa9;
  padding: 2px 7px;
  border-radius: 10px;
  margin-left: 8px;
  vertical-align: middle;
  line-height: 1.4;
}
.about-panel .staff-role-card.solo .role-people > li {
  font-size: 15px;
  font-weight: 600;
  padding: 0;
}
.about-panel .staff-role-card.solo .role-people .quals {
  font-weight: 500;
}
@media screen and (max-width: 640px) {
  .about-panel .staff-roles {
    grid-template-columns: 1fr;
  }
  .about-panel .staff-team-header h2 {
    font-size: 18px;
  }
}
/* Visual Timeline */

.vtimeline {
  position: relative;
  padding: 0;
  /* Vertical line */

}
.vtimeline:before {
  content: '';
  position: absolute;
  left: 60px;
  top: 0;
  bottom: 0;
  width: 2px;
  background-color: var(--border-subtle);
}
@media screen and (max-width: 640px) {
  .vtimeline:before {
    left: 24px;
  }
}
.vtimeline-item {
  position: relative;
  padding: 0 0 32px 90px;
  display: flex;
  flex-direction: column;
}
.vtimeline-item:last-child {
  padding-bottom: 0;
}
@media screen and (max-width: 640px) {
  .vtimeline-item {
    padding-left: 52px;
  }
}
.vtimeline-marker {
  position: absolute;
  left: 53px;
  top: 4px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: white;
  border: 3px solid var(--border-subtle);
  z-index: 1;
  transition: all 0.3s ease;
}
.vtimeline-item:hover .vtimeline-marker {
  border-color: #2ea3f2;
  transform: scale(1.2);
}
.vtimeline-item.current .vtimeline-marker {
  background-color: #2ea3f2;
  border-color: #2ea3f2;
  box-shadow: 0 0 0 4px rgba(61, 90, 169, 0.2);
}
@media screen and (max-width: 640px) {
  .vtimeline-marker {
    left: 17px;
  }
}
.vtimeline-date {
  position: absolute;
  left: 0;
  top: 2px;
  width: 48px;
  text-align: right;
  font-size: 12px;
  font-weight: 700;
  color: var(--text-muted);
  letter-spacing: 0.02em;
}
.vtimeline-item.current .vtimeline-date {
  color: #2ea3f2;
}
@media screen and (max-width: 640px) {
  .vtimeline-date {
    position: relative;
    left: auto;
    width: auto;
    text-align: left;
    margin-bottom: 4px;
  }
}
.vtimeline-content {
  background-color: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 6px;
  padding: 16px 20px;
  transition: all 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.vtimeline-item:hover .vtimeline-content {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  border-color: rgba(46, 163, 242, 0.2);
}
.vtimeline-item.current .vtimeline-content {
  border-left: 3px solid #2ea3f2;
}
.vtimeline-content h3 {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--text-primary) !important;
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  cursor: default !important;
  text-transform: none !important;
  letter-spacing: -0.01em !important;
}
.vtimeline-content h3:after {
  display: none !important;
}
.vtimeline-content p {
  font-size: 14px;
  line-height: 1.7;
  color: var(--text-secondary);
  margin: 0 0 8px 0;
}
.vtimeline-content p:last-child {
  margin-bottom: 0;
}
.vtimeline-content a {
  color: #3d5aa9;
}
/* Condensed History List (kept for other uses) */

ul.history-list {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
}
ul.history-list > li {
  padding: 10px 0;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 13px;
  line-height: 1.55;
  color: var(--text-secondary);
  position: relative;
  /* Expand arrow */

  cursor: pointer;
}
ul.history-list > li:last-child {
  border-bottom: none;
}
ul.history-list > li:before {
  display: none !important;
}
ul.history-list > li > span {
  display: inline-block;
  background-color: #12121c;
  color: white;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 4px;
  margin-right: 8px;
  min-width: 36px;
  text-align: center;
  letter-spacing: 0.02em;
}
ul.history-list > li > strong {
  color: var(--text-primary);
  cursor: pointer;
}
ul.history-list > li:after {
  content: "\f078";
  font-family: isfas;
  font-size: 10px;
  color: var(--text-muted);
  float: right;
  margin-top: 3px;
  transition: transform 0.2s ease;
}
ul.history-list > li.open:after {
  transform: rotate(180deg);
}
ul.history-list > li.current > span {
  background-color: #2ea3f2;
}
ul.history-list > li:hover {
  background-color: rgba(0, 0, 0, 0.02);
}
.history-detail {
  display: none;
  margin-top: 8px;
  padding: 12px 14px;
  background-color: var(--bg-base);
  border-radius: 4px;
  border-left: 3px solid #2ea3f2;
  font-size: 14px;
  line-height: 1.7;
  color: var(--text-secondary);
  animation: tabFadeIn 0.25s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.history-detail a {
  color: #3d5aa9;
}
li.open > .history-detail {
  display: block;
}
/* Legacy selectors kept for code-behind compatibility */

div#pnlAboutHistory {
  text-align: center;
  margin-bottom: 0;
}
div#pnlAboutStaff {
  text-align: center;
  margin-bottom: 0;
}
div#pnlAboutDirectors {
  text-align: center;
  margin-bottom: 0;
}
div#pnlAboutPartners {
  text-align: center;
}
div#pnlAboutPartners h2 {
  display: inline-block;
  font-size: 20px;
  font-weight: 600;
  margin: 20px 0 -12px 0;
  padding: 4px 0 4px 0;
  border-bottom: 3px solid #3d5aa9;
}
div#pnlAboutPartners table {
  border-spacing: 32px;
  padding-top: 4px !important;
}
div#pnlAboutPartners table td {
  padding: 8px 12px 8px 12px !important;
}
@media screen and (max-width: 800px) {
  div#pnlAboutPartners td {
    display: block;
  }
}
/* Miscellaneous */

div.tick {
  color: #27ae60;
  display: inline-block;
}
div.tick:before {
  content: "\f00c";
  font-family: isfas;
}
div.cross {
  color: #e3222f;
  display: inline-block;
}
div.cross:before {
  content: "X";
  font-weight: bold;
}
div.emergency-message {
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 10px;
  background-color: #dc2626;
  color: white;
  font-size: 14px;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding: 4px 16px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}
div.emergency-message a {
  color: white;
  background-color: rgba(0, 0, 0, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 4px;
  display: inline-block;
  padding: 4px 8px;
  transition: background-color 0.15s ease;
}
div.emergency-message a:hover {
  background-color: rgba(0, 0, 0, 0.25);
}
div.emergency-message > h5 {
  margin: 8px 0 8px 0;
  color: white !important;
  font-size: 22px;
  text-decoration: none !important;
}
/*
======================================================
Hero Gradient (homepage split hero + inner-page heroes)
======================================================
Shared by every page with a .full-width.hero-gradient section. The homepage adds the constellation in the right column. Inner pages (Products, About, Contact, Demo, My Intersoft) show a centred .hero-content card, with the floating stat chips injected by general.js.
Layers, back to front: navy gradient, aurora orbs (:before / :after), .neural-mesh canvas, .hero-bloom (carries the grid lines and grain), .cursor-glow, then the content in .site-width.
Every decorative motion here is gated on prefers-reduced-motion, and the Accessibility position of the theme slider flattens the lot (see the :root[data-accessibility="on"] block). */

/* Homepage hero: taller to accommodate the constellation graphic, with room at the foot for the stats panel that overlaps it. */

div.full-width.hero-gradient#pnlHomeIntro {
  padding: 64px 4px 136px 4px;
  min-height: 660px;
}
@media screen and (max-width: 1024px) {
  div.full-width.hero-gradient#pnlHomeIntro {
    padding: 48px 4px 120px 4px;
  }
}
div.full-width.hero-gradient {
  background: radial-gradient(1100px 700px at 78% 38%, #26377a 0%, rgba(38, 55, 122, 0) 62%), radial-gradient(900px 600px at 10% 110%, #2a1f4a 0%, rgba(42, 31, 74, 0) 60%), linear-gradient(165deg, #0f1730 0%, #15213e 48%, #181d45 100%);
  overflow: hidden;
  isolation: isolate;
  position: relative;
  color: white;
  padding: 80px 4px 72px 4px;
  text-align: center;
  /* Aurora orbs. Radial gradients are already soft, so no blur filter is needed; they move by transform only. */

  /* .hero-bloom is injected by general.js behind the content. Its orb is the third aurora; its :before is the masked grid and its :after the grain that stops the gradients banding. */

  /* Cursor glow (injected by general.js, positioned by transform from the pointer). */

  /* Inline links inside hero subtitle paragraphs should read as ordinary inline links, not chips. The .topic a.linkinternal rule (in topic.less) wraps every linkinternal in an inline-block pill with padding and a border, which breaks reading flow when used mid-sentence. */

  /* The glass card. A hairline gradient border catches the light top-left and coral bottom-right, and a soft spotlight follows the pointer (general.js sets --mx / --my). */

  /* Split-layout hero (homepage) */

  /* Inner-page headlines are longer than the homepage's three short lines, so they sit a step smaller. */

  /* Homepage headline is set as masked lines so each can rise into place. */

  /* Trust signals beneath the call to action */

  /* Floating stat chips (inner pages, injected by general.js). They sit in the gutters either side of the centred card and hide when the gutters are too narrow to hold them without touching it. */

  /* The Contact card is wider (940px), so its chips need a wider viewport before they fit beside it. */

  /* ---------- The constellation (homepage, right column) ---------- */

  /* Layered 2D parallax keeps text crisp: deeper layers move less than the chips (general.js eases --px / --py towards the pointer). */

  /* Focus state: one capability lit, the rest stepped back (set by general.js on hover, focus or tap). */

  /* Rotating light ring around the hub */

  /* The hub card */

  /* Capability chips: real buttons, so hover, keyboard focus and tap all light their spoke. */

  /* The chips are opted out of the base button rule; the !important values below override the div.full-width button rule, which sets its own with !important. */

  /* The AI capability is a regular node; only its label carries a gradient edge. */

  /* Per-node geometry and entrance timing, generated from the 14-node layout in Default.aspx (radius 214 on a 640 viewBox, hub at 320,320). */

  /* Phones: the chips would collide at this size, so they give way to the plain list beneath. */

}
div.full-width.hero-gradient:before,
div.full-width.hero-gradient:after {
  content: '';
  position: absolute;
  border-radius: 50%;
  z-index: -1;
  pointer-events: none;
  will-change: transform;
}
div.full-width.hero-gradient:before {
  width: 720px;
  height: 720px;
  left: 46%;
  top: -18%;
  background: radial-gradient(closest-side, rgba(80, 112, 212, 0.42), rgba(80, 112, 212, 0));
}
div.full-width.hero-gradient:after {
  width: 560px;
  height: 560px;
  left: 70%;
  top: 40%;
  background: radial-gradient(closest-side, rgba(233, 124, 115, 0.26), rgba(233, 124, 115, 0));
}
div.full-width.hero-gradient > .hero-bloom {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
}
div.full-width.hero-gradient > .hero-bloom:before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px);
  background-size: 64px 64px;
  background-position: center;
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 68% 45%, black 20%, transparent 75%);
  mask-image: radial-gradient(ellipse 70% 60% at 68% 45%, black 20%, transparent 75%);
}
div.full-width.hero-gradient > .hero-bloom:after {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0.06;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
div.full-width.hero-gradient > .hero-bloom .bloom-orb {
  position: absolute;
  border-radius: 50%;
  will-change: transform;
}
div.full-width.hero-gradient > .hero-bloom .bloom-orb--blue {
  width: 640px;
  height: 640px;
  left: -12%;
  top: 30%;
  background: radial-gradient(closest-side, rgba(123, 150, 212, 0.22), rgba(123, 150, 212, 0));
}
div.full-width.hero-gradient > .hero-bloom .bloom-orb--coral {
  display: none;
}
div.full-width.hero-gradient > .cursor-glow {
  position: absolute;
  left: 0;
  top: 0;
  width: 560px;
  height: 560px;
  margin: -280px 0 0 -280px;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(147, 174, 236, 0.16), rgba(147, 174, 236, 0));
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}
div.full-width.hero-gradient.has-pointer > .cursor-glow {
  opacity: 1;
}
div.full-width.hero-gradient > .site-width {
  position: relative;
  z-index: 2;
}
div.full-width.hero-gradient h1,
div.full-width.hero-gradient h2,
div.full-width.hero-gradient h3,
div.full-width.hero-gradient a > p {
  color: white !important;
  text-decoration: none;
}
div.full-width.hero-gradient a.linkinternal {
  background-color: rgba(255, 255, 255, 0.12);
  color: white !important;
  border-color: rgba(255, 255, 255, 0.2);
}
div.full-width.hero-gradient .hero-subtitle a.linkinternal {
  background-color: transparent !important;
  border: none !important;
  padding: 0 !important;
  display: inline !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  color: rgba(255, 255, 255, 0.95) !important;
  font-weight: 600;
}
div.full-width.hero-gradient .hero-subtitle a.linkinternal:hover {
  color: white !important;
  text-decoration: underline !important;
}
div.full-width.hero-gradient .hero-content {
  position: relative;
  max-width: 760px;
  margin: 0 auto;
  padding: 48px 46px 38px;
  border-radius: 22px;
  background: linear-gradient(150deg, rgba(255, 255, 255, 0.115) 0%, rgba(255, 255, 255, 0.045) 48%, rgba(255, 255, 255, 0.07) 100%);
  -webkit-backdrop-filter: blur(22px) saturate(150%);
  backdrop-filter: blur(22px) saturate(150%);
  border: 0;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 50px 90px -40px rgba(3, 7, 26, 0.85), 0 20px 40px -24px rgba(3, 7, 26, 0.6);
}
div.full-width.hero-gradient .hero-content:before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  pointer-events: none;
  background: linear-gradient(140deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.08) 32%, rgba(169, 193, 255, 0.14) 68%, rgba(255, 177, 168, 0.42));
  -webkit-mask: linear-gradient(black 0 0) content-box, linear-gradient(black 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}
div.full-width.hero-gradient .hero-content:after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 30%), rgba(255, 255, 255, 0.085), transparent 62%);
}
div.full-width.hero-gradient .hero-content:hover:after {
  opacity: 1;
}
@media screen and (max-width: 640px) {
  div.full-width.hero-gradient .hero-content {
    padding: 32px 22px 26px;
    border-radius: 18px;
  }
}
@media screen and (max-width: 480px) {
  div.full-width.hero-gradient .hero-content {
    padding: 26px 18px 22px;
    /* on very narrow phones reclaim gutter so headlines don't wrap into single-word lines */
    border-radius: 16px;
  }
}
div.full-width.hero-gradient .hero-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
  gap: 40px;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  div.full-width.hero-gradient .hero-split {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
}
div.full-width.hero-gradient .hero-content--left {
  text-align: left;
  max-width: 640px;
  margin: 0;
}
div.full-width.hero-gradient .hero-content--left h1 {
  text-align: left;
}
div.full-width.hero-gradient .hero-content--left .hero-subtitle {
  margin: 0;
  max-width: 34rem;
}
div.full-width.hero-gradient .hero-content--left .hero-buttons {
  justify-content: flex-start;
  text-align: left !important;
}
div.full-width.hero-gradient .hero-content--left .hero-trust-row {
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}
@media screen and (max-width: 1024px) {
  div.full-width.hero-gradient .hero-content--left {
    max-width: 720px;
    margin: 0 auto;
  }
}
div.full-width.hero-gradient .hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: rgba(255, 255, 255, 0.07);
  border: 0;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.92);
  font-size: 13px;
  font-weight: 550;
  padding: 7px 14px;
  margin-bottom: 4px;
  letter-spacing: 0;
}
div.full-width.hero-gradient .hero-badge .hero-badge-icon {
  font-size: 12px;
  color: #ffb1a8;
}
div.full-width.hero-gradient h1 {
  margin: 22px 0 0 0;
  font-size: 64px;
  font-weight: 760;
  line-height: 1.04;
  letter-spacing: -0.038em;
  text-wrap: balance;
}
div.full-width.hero-gradient h1 .gradient-text {
  background: linear-gradient(100deg, #b4c8ff 0%, #c0bef6 18%, #ebb4c2 34%, #ffc1b6 44%, white 51%, #ffc1b6 58%, #c0bef6 78%, #b4c8ff 100%);
  background-size: 220% 100%;
  background-position: 0% 0;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  display: inline-block;
  line-height: 1.12;
  padding-bottom: 0.08em;
}
@media screen and (max-width: 1180px) {
  div.full-width.hero-gradient h1 {
    font-size: 56px;
  }
}
@media screen and (max-width: 900px) {
  div.full-width.hero-gradient h1 {
    font-size: 48px;
  }
}
@media screen and (max-width: 640px) {
  div.full-width.hero-gradient h1 {
    font-size: 38px;
  }
}
div.full-width.hero-gradient .hero-content:not(.hero-content--left) h1 {
  font-size: 54px;
}
@media screen and (max-width: 900px) {
  div.full-width.hero-gradient .hero-content:not(.hero-content--left) h1 {
    font-size: 44px;
  }
}
@media screen and (max-width: 640px) {
  div.full-width.hero-gradient .hero-content:not(.hero-content--left) h1 {
    font-size: 34px;
  }
}
div.full-width.hero-gradient .hero-line {
  display: block;
  overflow: hidden;
  padding-bottom: 0.09em;
  margin-bottom: -0.09em;
}
div.full-width.hero-gradient .hero-line > span {
  display: inline-block;
}
div.full-width.hero-gradient .logo {
  margin: 18px 0 6px 0;
}
div.full-width.hero-gradient .logo img {
  max-width: 260px;
  width: 100%;
  background-color: white;
  border-radius: 12px;
  padding: 12px 18px;
  box-shadow: 0 10px 30px -12px rgba(2, 6, 24, 0.7);
}
div.full-width.hero-gradient .hero-subtitle {
  font-size: 18.5px;
  line-height: 1.6;
  color: rgba(225, 232, 250, 0.86);
  max-width: 36rem;
  margin: 20px auto 0 auto;
}
div.full-width.hero-gradient .hero-subtitle + .hero-subtitle {
  margin-top: 12px;
}
@media screen and (max-width: 720px) {
  div.full-width.hero-gradient .hero-subtitle {
    font-size: 16.5px;
  }
}
div.full-width.hero-gradient .hero-buttons {
  text-align: center !important;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 30px !important;
  padding-top: 0;
}
div.full-width.hero-gradient .hero-buttons button {
  margin: 0 !important;
}
div.full-width.hero-gradient .hero-trust-row {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: start;
  gap: 12px 30px;
  margin-top: 34px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
@media screen and (max-width: 520px) {
  div.full-width.hero-gradient .hero-trust-row {
    grid-template-columns: auto;
  }
}
div.full-width.hero-gradient .trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(225, 232, 250, 0.8);
  font-size: 13.5px;
  font-weight: 500;
  text-align: left;
}
div.full-width.hero-gradient .trust-item .trust-icon {
  font-family: isfas;
  width: 26px;
  height: 26px;
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  font-size: 11.5px;
  color: #a9c1ff;
  background: rgba(169, 193, 255, 0.1);
  box-shadow: inset 0 0 0 1px rgba(169, 193, 255, 0.18);
}
div.full-width.hero-gradient .hero-floating-stats {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  will-change: transform;
}
@media screen and (max-width: 1279px) {
  div.full-width.hero-gradient .hero-floating-stats {
    display: none;
  }
}
div.full-width.hero-gradient .floating-chip {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px 12px 12px;
  border-radius: 14px;
  color: white;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.25;
  text-align: left;
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.04));
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 24px 40px -24px rgba(0, 0, 0, 0.7);
}
div.full-width.hero-gradient .floating-chip .chip-icon {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: isfas;
  font-size: 14px;
  flex-shrink: 0;
  color: white;
  background: linear-gradient(145deg, rgba(106, 136, 230, 0.9), rgba(61, 90, 169, 0.9));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
}
div.full-width.hero-gradient .floating-chip .chip-label {
  display: block;
  font-size: 11px;
  color: rgba(225, 232, 250, 0.66);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 650;
}
div.full-width.hero-gradient .floating-chip .chip-value {
  display: block;
  font-size: 17px;
  font-weight: 750;
  letter-spacing: -0.02em;
  color: white;
  margin-top: 2px;
  font-variant-numeric: tabular-nums;
}
div.full-width.hero-gradient .floating-chip.chip-1 {
  top: 22%;
  left: 3%;
}
div.full-width.hero-gradient .floating-chip.chip-2 {
  top: 30%;
  right: 3%;
}
div.full-width.hero-gradient .floating-chip.chip-3 {
  bottom: 24%;
  left: 5%;
}
div.full-width.hero-gradient .floating-chip.chip-4 {
  bottom: 28%;
  right: 5%;
}
div.full-width.hero-gradient .floating-chip.chip-4 .chip-icon {
  background: linear-gradient(145deg, rgba(255, 167, 157, 0.95), rgba(233, 124, 115, 0.95));
}
@media screen and (max-width: 1599px) {
  div.full-width.hero-gradient.contact-hero .hero-floating-stats {
    display: none;
  }
}
div.full-width.hero-gradient .hero-content--right {
  position: relative;
}
div.full-width.hero-gradient .hero-constellation {
  position: relative;
  width: 100%;
  max-width: 600px;
  aspect-ratio: 1;
  margin: 0 auto;
  --px: 0;
  --py: 0;
}
@media screen and (max-width: 1024px) {
  div.full-width.hero-gradient .hero-constellation {
    max-width: 560px;
  }
}
@media screen and (max-width: 720px) {
  div.full-width.hero-gradient .hero-constellation {
    max-width: 420px;
  }
}
div.full-width.hero-gradient .constellation-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  translate: calc(var(--px) * 6px) calc(var(--py) * 5px);
}
div.full-width.hero-gradient .con-rings circle {
  fill: none;
  stroke: rgba(169, 193, 255, 0.16);
  stroke-width: 1;
}
div.full-width.hero-gradient .con-rings--outer circle {
  stroke-dasharray: 2 7;
}
div.full-width.hero-gradient .con-rings--inner circle {
  stroke: rgba(169, 193, 255, 0.1);
}
div.full-width.hero-gradient .con-rings {
  transform-box: view-box;
  transform-origin: 50% 50%;
}
div.full-width.hero-gradient .con-link {
  fill: none;
  stroke-width: 1.4;
  stroke-linecap: round;
  opacity: 0.75;
  stroke-dasharray: 214;
  stroke-dashoffset: 0;
  transition: opacity 0.35s, stroke-width 0.35s;
}
div.full-width.hero-gradient .con-halos circle {
  transform-box: fill-box;
  transform-origin: center;
  transition: opacity 0.35s;
}
div.full-width.hero-gradient .con-node {
  transform-box: fill-box;
  transform-origin: center;
  transition: scale 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}
div.full-width.hero-gradient .con-ping {
  fill: none;
  stroke: #a9c1ff;
  stroke-width: 1.5;
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
}
div.full-width.hero-gradient .con-ping.con-ping--coral {
  stroke: #ffb1a8;
}
div.full-width.hero-gradient .con-ping.is-pinging {
  animation: conPing 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}
div.full-width.hero-gradient .hero-constellation.is-focus .con-link {
  opacity: 0.28;
}
div.full-width.hero-gradient .hero-constellation.is-focus .con-link.is-active {
  opacity: 1;
  stroke-width: 2.2;
}
div.full-width.hero-gradient .hero-constellation.is-focus .con-halos circle {
  opacity: 0.35;
}
div.full-width.hero-gradient .hero-constellation.is-focus .con-halos circle.is-active {
  opacity: 1;
}
div.full-width.hero-gradient .hero-constellation.is-focus .con-chip:not(.is-active) {
  opacity: 0.55;
}
div.full-width.hero-gradient .con-node-group.is-active .con-node {
  scale: 1.55;
}
div.full-width.hero-gradient .con-hub-ring {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 62%;
  aspect-ratio: 1;
  margin: -31% 0 0 -31%;
  border-radius: 50%;
  pointer-events: none;
  background: conic-gradient(from 0deg, rgba(169, 193, 255, 0) 0deg, rgba(169, 193, 255, 0.55) 40deg, rgba(255, 177, 168, 0.45) 70deg, rgba(169, 193, 255, 0) 120deg, rgba(169, 193, 255, 0) 360deg);
  -webkit-mask: radial-gradient(closest-side, transparent calc(100% - 2px), #000 calc(100% - 1.5px), #000 100%, transparent 100%);
  mask: radial-gradient(closest-side, transparent calc(100% - 2px), #000 calc(100% - 1.5px), #000 100%, transparent 100%);
  opacity: 0.9;
  translate: calc(var(--px) * 10px) calc(var(--py) * 8px);
}
div.full-width.hero-gradient .con-center-badge {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  width: 40%;
  transform: translate(-50%, -50%);
  translate: calc(var(--px) * 10px) calc(var(--py) * 8px);
  padding: 26px 26px 20px;
  border-radius: 24px;
  text-align: center;
  background: linear-gradient(180deg, white 0%, #f3f6fd 100%);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.7), 0 0 0 8px rgba(169, 193, 255, 0.08), 0 30px 60px -20px rgba(2, 6, 24, 0.8), 0 0 80px -10px rgba(120, 150, 240, 0.45);
}
div.full-width.hero-gradient .con-center-badge .con-center-logo {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
}
div.full-width.hero-gradient .con-center-badge .con-center-sublabel {
  position: relative;
  display: block;
  margin-top: 10px;
  height: 3.4em;
  font-size: 12.5px;
  line-height: 1.35;
  color: #4b5675;
}
div.full-width.hero-gradient .con-center-badge .con-center-sublabel > span {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1), transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), filter 0.35s;
}
div.full-width.hero-gradient .con-center-badge .con-readout-alt {
  opacity: 0;
  transform: translateY(6px);
  filter: blur(3px);
  color: #24315c;
  font-weight: 550;
}
@media screen and (max-width: 720px) {
  div.full-width.hero-gradient .con-center-badge {
    padding: 18px 16px 12px;
    border-radius: 18px;
  }
  div.full-width.hero-gradient .con-center-badge .con-center-sublabel {
    font-size: 10.5px;
  }
}
div.full-width.hero-gradient .hero-constellation.is-focus .con-center-badge .con-readout-base {
  opacity: 0;
  transform: translateY(-6px);
  filter: blur(3px);
}
div.full-width.hero-gradient .hero-constellation.is-focus .con-center-badge .con-readout-alt {
  opacity: 1;
  transform: none;
  filter: none;
}
div.full-width.hero-gradient .con-chips {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  translate: calc(var(--px) * 15px) calc(var(--py) * 12px);
}
div.full-width.hero-gradient .con-chip {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 0.55em;
  margin: 0 !important;
  padding: 0.5em 0.9em 0.5em 0.7em !important;
  border: 0;
  border-radius: 999px !important;
  white-space: nowrap;
  cursor: pointer;
  pointer-events: auto;
  font-family: inherit;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  letter-spacing: -0.005em;
  text-transform: none;
  color: #eef2ff;
  background: linear-gradient(180deg, rgba(40, 54, 102, 0.78), rgba(26, 36, 74, 0.78));
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: inset 0 0 0 1px rgba(169, 193, 255, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 10px 22px -12px rgba(0, 0, 0, 0.8);
  transition: box-shadow 0.35s, background 0.35s, color 0.35s, opacity 0.35s, scale 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}
div.full-width.hero-gradient .con-chip .con-chip-icon {
  font-family: isfas;
  font-size: 0.85em;
  color: #a9c1ff;
  transition: color 0.35s;
}
div.full-width.hero-gradient .con-chip:hover,
div.full-width.hero-gradient .con-chip:focus-visible,
div.full-width.hero-gradient .con-chip.is-active {
  scale: 1.06;
  color: white;
  outline: none;
  background: linear-gradient(180deg, rgba(74, 98, 182, 0.92), rgba(52, 72, 146, 0.92));
  box-shadow: inset 0 0 0 1px rgba(205, 220, 255, 0.55), 0 14px 30px -12px rgba(0, 0, 0, 0.85), 0 0 30px -4px rgba(120, 150, 240, 0.6);
}
@media screen and (max-width: 1180px) {
  div.full-width.hero-gradient .con-chip {
    font-size: 12px !important;
  }
}
div.full-width.hero-gradient .con-chip--featured {
  box-shadow: inset 0 0 0 1px rgba(255, 177, 168, 0.45), 0 10px 22px -12px rgba(0, 0, 0, 0.8), 0 0 24px -6px rgba(233, 124, 115, 0.55);
}
div.full-width.hero-gradient .con-chip--featured .con-chip-icon {
  color: #ffb1a8;
}
div.full-width.hero-gradient .con-chip--ai {
  background: linear-gradient(180deg, rgba(76, 64, 146, 0.86), rgba(46, 42, 108, 0.86));
  box-shadow: 0 10px 22px -12px rgba(0, 0, 0, 0.8), 0 0 30px -6px rgba(176, 140, 240, 0.65);
}
div.full-width.hero-gradient .con-chip--ai:before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, #a9c1ff, #d2c2ff 50%, #ffb1a8);
  -webkit-mask: linear-gradient(black 0 0) content-box, linear-gradient(black 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}
div.full-width.hero-gradient .con-chip--ai .con-chip-icon {
  color: #ede6ff;
}
div.full-width.hero-gradient .con-chip--p0 {
  left: 50%;
  top: 11.88%;
  transform: translate(-50%, -100%);
  --cx: 0;
  --cy: -1;
}
div.full-width.hero-gradient .con-links .con-link:nth-child(1) {
  animation-delay: 380ms;
}
div.full-width.hero-gradient .con-halos circle:nth-child(1) {
  animation-delay: 760ms, 2000ms;
}
div.full-width.hero-gradient .con-nodes .con-node-group:nth-child(1) .con-node {
  animation-delay: 820ms;
}
div.full-width.hero-gradient .con-chips .con-chip--p0 {
  animation-delay: 900ms;
}
div.full-width.hero-gradient .con-chip--p1 {
  left: 65.73%;
  top: 17.34%;
  transform: translate(-28.3%, -95%);
  --cx: 0.434;
  --cy: -0.901;
}
div.full-width.hero-gradient .con-links .con-link:nth-child(2) {
  animation-delay: 432ms;
}
div.full-width.hero-gradient .con-halos circle:nth-child(2) {
  animation-delay: 812ms, 2310ms;
}
div.full-width.hero-gradient .con-nodes .con-node-group:nth-child(2) .con-node {
  animation-delay: 872ms;
}
div.full-width.hero-gradient .con-chips .con-chip--p1 {
  animation-delay: 952ms;
}
div.full-width.hero-gradient .con-chip--p2 {
  left: 78.34%;
  top: 27.4%;
  transform: translate(-10.9%, -81.2%);
  --cx: 0.782;
  --cy: -0.623;
}
div.full-width.hero-gradient .con-links .con-link:nth-child(3) {
  animation-delay: 484ms;
}
div.full-width.hero-gradient .con-halos circle:nth-child(3) {
  animation-delay: 864ms, 2620ms;
}
div.full-width.hero-gradient .con-nodes .con-node-group:nth-child(3) .con-node {
  animation-delay: 924ms;
}
div.full-width.hero-gradient .con-chips .con-chip--p2 {
  animation-delay: 1004ms;
}
div.full-width.hero-gradient .con-chip--p3 {
  left: 85.34%;
  top: 41.93%;
  transform: translate(-1.3%, -61.1%);
  --cx: 0.975;
  --cy: -0.223;
}
div.full-width.hero-gradient .con-links .con-link:nth-child(4) {
  animation-delay: 536ms;
}
div.full-width.hero-gradient .con-halos circle:nth-child(4) {
  animation-delay: 916ms, 2930ms;
}
div.full-width.hero-gradient .con-nodes .con-node-group:nth-child(4) .con-node {
  animation-delay: 976ms;
}
div.full-width.hero-gradient .con-chips .con-chip--p3 {
  animation-delay: 1056ms;
}
div.full-width.hero-gradient .con-chip--p4 {
  left: 85.34%;
  top: 58.07%;
  transform: translate(-1.3%, -38.9%);
  --cx: 0.975;
  --cy: 0.223;
}
div.full-width.hero-gradient .con-links .con-link:nth-child(5) {
  animation-delay: 588ms;
}
div.full-width.hero-gradient .con-halos circle:nth-child(5) {
  animation-delay: 968ms, 3240ms;
}
div.full-width.hero-gradient .con-nodes .con-node-group:nth-child(5) .con-node {
  animation-delay: 1028ms;
}
div.full-width.hero-gradient .con-chips .con-chip--p4 {
  animation-delay: 1108ms;
}
div.full-width.hero-gradient .con-chip--p5 {
  left: 78.34%;
  top: 72.6%;
  transform: translate(-10.9%, -18.8%);
  --cx: 0.782;
  --cy: 0.623;
}
div.full-width.hero-gradient .con-links .con-link:nth-child(6) {
  animation-delay: 640ms;
}
div.full-width.hero-gradient .con-halos circle:nth-child(6) {
  animation-delay: 1020ms, 3550ms;
}
div.full-width.hero-gradient .con-nodes .con-node-group:nth-child(6) .con-node {
  animation-delay: 1080ms;
}
div.full-width.hero-gradient .con-chips .con-chip--p5 {
  animation-delay: 1160ms;
}
div.full-width.hero-gradient .con-chip--p6 {
  left: 65.73%;
  top: 82.66%;
  transform: translate(-28.3%, -5%);
  --cx: 0.434;
  --cy: 0.901;
}
div.full-width.hero-gradient .con-links .con-link:nth-child(7) {
  animation-delay: 692ms;
}
div.full-width.hero-gradient .con-halos circle:nth-child(7) {
  animation-delay: 1072ms, 3860ms;
}
div.full-width.hero-gradient .con-nodes .con-node-group:nth-child(7) .con-node {
  animation-delay: 1132ms;
}
div.full-width.hero-gradient .con-chips .con-chip--p6 {
  animation-delay: 1212ms;
}
div.full-width.hero-gradient .con-chip--p7 {
  left: 50%;
  top: 86.25%;
  transform: translate(-50%, 0%);
  --cx: 0;
  --cy: 1;
}
div.full-width.hero-gradient .con-links .con-link:nth-child(8) {
  animation-delay: 744ms;
}
div.full-width.hero-gradient .con-halos circle:nth-child(8) {
  animation-delay: 1124ms, 4170ms;
}
div.full-width.hero-gradient .con-nodes .con-node-group:nth-child(8) .con-node {
  animation-delay: 1184ms;
}
div.full-width.hero-gradient .con-chips .con-chip--p7 {
  animation-delay: 1264ms;
}
div.full-width.hero-gradient .con-chip--p8 {
  left: 34.27%;
  top: 82.66%;
  transform: translate(-71.7%, -5%);
  --cx: -0.434;
  --cy: 0.901;
}
div.full-width.hero-gradient .con-links .con-link:nth-child(9) {
  animation-delay: 796ms;
}
div.full-width.hero-gradient .con-halos circle:nth-child(9) {
  animation-delay: 1176ms, 4480ms;
}
div.full-width.hero-gradient .con-nodes .con-node-group:nth-child(9) .con-node {
  animation-delay: 1236ms;
}
div.full-width.hero-gradient .con-chips .con-chip--p8 {
  animation-delay: 1316ms;
}
div.full-width.hero-gradient .con-chip--p9 {
  left: 21.66%;
  top: 72.6%;
  transform: translate(-89.1%, -18.8%);
  --cx: -0.782;
  --cy: 0.623;
}
div.full-width.hero-gradient .con-links .con-link:nth-child(10) {
  animation-delay: 848ms;
}
div.full-width.hero-gradient .con-halos circle:nth-child(10) {
  animation-delay: 1228ms, 4790ms;
}
div.full-width.hero-gradient .con-nodes .con-node-group:nth-child(10) .con-node {
  animation-delay: 1288ms;
}
div.full-width.hero-gradient .con-chips .con-chip--p9 {
  animation-delay: 1368ms;
}
div.full-width.hero-gradient .con-chip--p10 {
  left: 14.66%;
  top: 58.07%;
  transform: translate(-98.7%, -38.9%);
  --cx: -0.975;
  --cy: 0.223;
}
div.full-width.hero-gradient .con-links .con-link:nth-child(11) {
  animation-delay: 900ms;
}
div.full-width.hero-gradient .con-halos circle:nth-child(11) {
  animation-delay: 1280ms, 5100ms;
}
div.full-width.hero-gradient .con-nodes .con-node-group:nth-child(11) .con-node {
  animation-delay: 1340ms;
}
div.full-width.hero-gradient .con-chips .con-chip--p10 {
  animation-delay: 1420ms;
}
div.full-width.hero-gradient .con-chip--p11 {
  left: 14.66%;
  top: 41.93%;
  transform: translate(-98.7%, -61.1%);
  --cx: -0.975;
  --cy: -0.223;
}
div.full-width.hero-gradient .con-links .con-link:nth-child(12) {
  animation-delay: 952ms;
}
div.full-width.hero-gradient .con-halos circle:nth-child(12) {
  animation-delay: 1332ms, 5410ms;
}
div.full-width.hero-gradient .con-nodes .con-node-group:nth-child(12) .con-node {
  animation-delay: 1392ms;
}
div.full-width.hero-gradient .con-chips .con-chip--p11 {
  animation-delay: 1472ms;
}
div.full-width.hero-gradient .con-chip--p12 {
  left: 21.66%;
  top: 27.4%;
  transform: translate(-89.1%, -81.2%);
  --cx: -0.782;
  --cy: -0.623;
}
div.full-width.hero-gradient .con-links .con-link:nth-child(13) {
  animation-delay: 1004ms;
}
div.full-width.hero-gradient .con-halos circle:nth-child(13) {
  animation-delay: 1384ms, 5720ms;
}
div.full-width.hero-gradient .con-nodes .con-node-group:nth-child(13) .con-node {
  animation-delay: 1444ms;
}
div.full-width.hero-gradient .con-chips .con-chip--p12 {
  animation-delay: 1524ms;
}
div.full-width.hero-gradient .con-chip--p13 {
  left: 34.27%;
  top: 17.34%;
  transform: translate(-71.7%, -95%);
  --cx: -0.434;
  --cy: -0.901;
}
div.full-width.hero-gradient .con-links .con-link:nth-child(14) {
  animation-delay: 1056ms;
}
div.full-width.hero-gradient .con-halos circle:nth-child(14) {
  animation-delay: 1436ms, 6030ms;
}
div.full-width.hero-gradient .con-nodes .con-node-group:nth-child(14) .con-node {
  animation-delay: 1496ms;
}
div.full-width.hero-gradient .con-chips .con-chip--p13 {
  animation-delay: 1576ms;
}
div.full-width.hero-gradient .con-cap-list {
  display: none;
}
div.full-width.hero-gradient .con-live {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
@media screen and (max-width: 720px) {
  div.full-width.hero-gradient .con-chips {
    display: none;
  }
  div.full-width.hero-gradient .con-cap-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin: 8px 0 0 0;
    padding: 0;
    list-style: none;
    /* The margins and line-height override the .topic ul list styling in topic.less, and its caret marker is hidden. */
  
  }
  div.full-width.hero-gradient .con-cap-list li {
    margin: 0;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.4;
    color: #e6ecff;
    background: rgba(255, 255, 255, 0.07);
    box-shadow: inset 0 0 0 1px rgba(169, 193, 255, 0.2);
  }
  div.full-width.hero-gradient .con-cap-list li:before {
    display: none;
  }
  div.full-width.hero-gradient .con-cap-list li.con-cap--ai {
    color: white;
    background: linear-gradient(90deg, rgba(120, 140, 230, 0.35), rgba(176, 140, 240, 0.35), rgba(233, 124, 115, 0.3));
    box-shadow: inset 0 0 0 1px rgba(214, 196, 255, 0.6), 0 0 18px -4px rgba(176, 140, 240, 0.7);
  }
}
/* Primary and secondary buttons on the dark hero, the homepage sections and the closing call to action. Scoped away from Accessibility mode, which keeps its own solid, high-contrast buttons. */

html:not([data-accessibility="on"]) div.full-width.hero-gradient .hero-buttons button,
html:not([data-accessibility="on"]) div.full-width.cta-section .buttons button,
html:not([data-accessibility="on"]) div#pnlHomeNews .buttons button,
html:not([data-accessibility="on"]) div#pnlHomeCustomers .buttons button {
  position: relative;
  overflow: hidden;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 46px !important;
  padding: 0 22px !important;
  border-radius: 10px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  line-height: 1;
  white-space: nowrap;
  transition: transform 0.18s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.3s, border-color 0.3s;
}
html:not([data-accessibility="on"]) div.full-width.hero-gradient .hero-buttons button .button-arrow,
html:not([data-accessibility="on"]) div.full-width.cta-section .buttons button .button-arrow,
html:not([data-accessibility="on"]) div#pnlHomeNews .buttons button .button-arrow,
html:not([data-accessibility="on"]) div#pnlHomeCustomers .buttons button .button-arrow {
  font-size: 12px;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
html:not([data-accessibility="on"]) div.full-width.hero-gradient .hero-buttons button:hover .button-arrow,
html:not([data-accessibility="on"]) div.full-width.cta-section .buttons button:hover .button-arrow,
html:not([data-accessibility="on"]) div#pnlHomeNews .buttons button:hover .button-arrow,
html:not([data-accessibility="on"]) div#pnlHomeCustomers .buttons button:hover .button-arrow {
  transform: translateX(4px);
}
html:not([data-accessibility="on"]) div.full-width.hero-gradient .hero-buttons button:active,
html:not([data-accessibility="on"]) div.full-width.cta-section .buttons button:active,
html:not([data-accessibility="on"]) div#pnlHomeNews .buttons button:active,
html:not([data-accessibility="on"]) div#pnlHomeCustomers .buttons button:active {
  transform: translateY(1px) scale(0.985) !important;
}
html:not([data-accessibility="on"]) div.full-width.hero-gradient .hero-buttons button.green,
html:not([data-accessibility="on"]) div.full-width.cta-section .buttons button.green {
  color: white !important;
  border: 0 !important;
  background: linear-gradient(180deg, #5a7be0 0%, #3d5aa9 100%) !important;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28), inset 0 -1px 0 rgba(0, 0, 0, 0.12), 0 12px 28px -12px rgba(61, 90, 169, 0.85);
  /* Sheen that sweeps across on hover */

}
html:not([data-accessibility="on"]) div.full-width.hero-gradient .hero-buttons button.green:after,
html:not([data-accessibility="on"]) div.full-width.cta-section .buttons button.green:after {
  content: '';
  position: absolute;
  inset: 0;
  transform: translateX(-120%);
  background: linear-gradient(105deg, transparent 30%, rgba(255, 255, 255, 0.38) 50%, transparent 70%);
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}
html:not([data-accessibility="on"]) div.full-width.hero-gradient .hero-buttons button.green:hover,
html:not([data-accessibility="on"]) div.full-width.cta-section .buttons button.green:hover {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3), inset 0 -1px 0 rgba(0, 0, 0, 0.12), 0 18px 36px -14px rgba(61, 90, 169, 0.95);
}
html:not([data-accessibility="on"]) div.full-width.hero-gradient .hero-buttons button.green:hover:after,
html:not([data-accessibility="on"]) div.full-width.cta-section .buttons button.green:hover:after {
  transform: translateX(120%);
}
html:not([data-accessibility="on"]) div.full-width.hero-gradient .hero-buttons button.normal,
html:not([data-accessibility="on"]) div.full-width.cta-section .buttons button.normal,
html:not([data-accessibility="on"]) div#pnlHomeNews .buttons button.normal {
  color: white !important;
  background: rgba(255, 255, 255, 0.07) !important;
  border: 0 !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18);
}
html:not([data-accessibility="on"]) div.full-width.hero-gradient .hero-buttons button.normal:hover,
html:not([data-accessibility="on"]) div.full-width.cta-section .buttons button.normal:hover,
html:not([data-accessibility="on"]) div#pnlHomeNews .buttons button.normal:hover {
  background: rgba(255, 255, 255, 0.13) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.3);
}
html:not([data-accessibility="on"]) div#pnlHomeCustomers .buttons button.normal {
  color: var(--text-primary) !important;
  background: var(--bg-surface) !important;
  border: 0 !important;
  box-shadow: inset 0 0 0 1px var(--border-strong), 0 1px 2px rgba(19, 26, 44, 0.04), 0 12px 32px -16px rgba(31, 45, 92, 0.22);
}
html:not([data-accessibility="on"]) div#pnlHomeCustomers .buttons button.normal:hover {
  box-shadow: inset 0 0 0 1px var(--text-muted), 0 1px 2px rgba(19, 26, 44, 0.04), 0 18px 40px -18px rgba(31, 45, 92, 0.32);
}
/* ---------- Hero motion: one authored entrance, then quiet ambient drift ---------- */

@media (prefers-reduced-motion: no-preference) {
  div.full-width.hero-gradient:before {
    animation: heroDrift 1 26s cubic-bezier(0.65, 0, 0.35, 1) infinite alternate;
  }
  div.full-width.hero-gradient:after {
    animation: heroDrift 2 32s cubic-bezier(0.65, 0, 0.35, 1) infinite alternate;
  }
  div.full-width.hero-gradient > .hero-bloom .bloom-orb--blue {
    animation: heroDrift 3 29s cubic-bezier(0.65, 0, 0.35, 1) infinite alternate;
  }
  div.full-width.hero-gradient .hero-content {
    animation: heroCardIn 1.1s cubic-bezier(0.16, 1, 0.3, 1) both;
  }
  div.full-width.hero-gradient .hero-badge {
    animation: heroFadeUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.15s both;
  }
  div.full-width.hero-gradient .hero-subtitle {
    animation: heroFadeUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.55s both;
  }
  div.full-width.hero-gradient .hero-buttons {
    animation: heroFadeUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.66s both;
  }
  div.full-width.hero-gradient .hero-trust-row {
    animation: heroFadeUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.78s both;
  }
  div.full-width.hero-gradient h1 .gradient-text {
    animation: heroSheen 2.6s cubic-bezier(0.16, 1, 0.3, 1) 0.7s both;
  }
  div.full-width.hero-gradient .hero-line > span {
    animation: heroLineUp 1s cubic-bezier(0.16, 1, 0.3, 1) both;
  }
  div.full-width.hero-gradient .hero-line:nth-child(1) > span {
    animation-delay: 0.22s;
  }
  div.full-width.hero-gradient .hero-line:nth-child(2) > span {
    animation-delay: 0.32s;
  }
  div.full-width.hero-gradient .hero-line:nth-child(3) > span {
    animation-delay: 0.42s;
  }
  div.full-width.hero-gradient .hero-line > span.gradient-text {
    animation: heroLineUp 1s cubic-bezier(0.16, 1, 0.3, 1) both, heroSheen 2.6s cubic-bezier(0.16, 1, 0.3, 1) 0.7s both;
  }
  div.full-width.hero-gradient .hero-line:nth-child(2) > span.gradient-text {
    animation-delay: 0.32s, 0.9s;
  }
  div.full-width.hero-gradient .hero-line:nth-child(3) > span.gradient-text {
    animation-delay: 0.42s, 1s;
  }
  div.full-width.hero-gradient .con-rings--outer {
    animation: conSpin 140s linear infinite;
  }
  div.full-width.hero-gradient .con-rings--inner {
    animation: conSpin 90s linear infinite reverse;
  }
  div.full-width.hero-gradient .con-hub-ring {
    animation: conSpinRing 9s linear infinite, heroFadeIn 1.4s cubic-bezier(0.16, 1, 0.3, 1) 0.4s both;
  }
  div.full-width.hero-gradient .con-center-badge {
    animation: conHubIn 1.1s cubic-bezier(0.16, 1, 0.3, 1) 0.18s both;
  }
  div.full-width.hero-gradient .con-link {
    animation: conDraw 1s cubic-bezier(0.16, 1, 0.3, 1) both;
  }
  div.full-width.hero-gradient .con-halos circle {
    animation: conHaloIn 1.2s cubic-bezier(0.16, 1, 0.3, 1) both, conBreathe 5.5s cubic-bezier(0.65, 0, 0.35, 1) infinite alternate;
  }
  div.full-width.hero-gradient .con-node {
    animation: conPop 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) both;
  }
  div.full-width.hero-gradient .con-chip {
    animation: conChipIn 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
  }
  /* Ambient loops stop while the hero is offscreen (general.js toggles .is-offscreen). */
  
  div.full-width.hero-gradient.is-offscreen:before,
  div.full-width.hero-gradient.is-offscreen:after,
  div.full-width.hero-gradient.is-offscreen > .hero-bloom .bloom-orb,
  div.full-width.hero-gradient.is-offscreen .con-rings,
  div.full-width.hero-gradient.is-offscreen .con-hub-ring,
  div.full-width.hero-gradient.is-offscreen .con-halos circle {
    animation-play-state: paused;
  }
}
@keyframes heroDrift1 {
  to {
    transform: translate3d(-90px, 60px, 0) scale(1.08);
  }
}
@keyframes heroDrift2 {
  to {
    transform: translate3d(-70px, -50px, 0) scale(0.92);
  }
}
@keyframes heroDrift3 {
  to {
    transform: translate3d(80px, -40px, 0) scale(1.1);
  }
}
@keyframes heroCardIn {
  from {
    opacity: 0;
    transform: translateY(24px) scale(0.985);
    filter: blur(8px);
  }
}
@keyframes heroFadeUp {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
}
@keyframes heroFadeIn {
  from {
    opacity: 0;
  }
}
@keyframes heroLineUp {
  from {
    transform: translateY(108%);
  }
}
@keyframes heroSheen {
  from {
    background-position: 100% 0;
  }
  to {
    background-position: 0% 0;
  }
}
@keyframes conSpin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes conSpinRing {
  to {
    transform: rotate(360deg);
  }
}
@keyframes conHubIn {
  from {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.86);
    filter: blur(6px);
  }
}
@keyframes conDraw {
  from {
    stroke-dashoffset: 214;
  }
}
@keyframes conHaloIn {
  from {
    opacity: 0;
    transform: scale(0.3);
  }
}
@keyframes conBreathe {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.16);
  }
}
@keyframes conPop {
  from {
    transform: scale(0);
  }
}
@keyframes conChipIn {
  from {
    opacity: 0;
    filter: blur(4px);
    translate: calc(var(--cx) * -14px) calc(var(--cy) * -14px);
  }
}
@keyframes conPing {
  0% {
    opacity: 0.9;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(3.4);
  }
}
/*
======================================================
Neural Mesh (animated particle network)
======================================================
Canvas injected by `initNeuralMesh()` in Scripts/general.js as the ambient background of the hero, CTA, and Latest News sections. Replaces the previous `.dot-field` / `.grid-overlay` patterns on those sections with the connected-node pattern that runs as a static print in our email signature banner (Graphics/Intersoft/Email Signature/SignatureBanner.png).

Pinned to z-index 0 so the existing hero-bloom orbs, cursor glow, frosted panel and section content all paint above it. The injected element is positioned via JS `container.insertBefore(canvas, container.firstChild)`, but we still rely on this CSS for the geometry and stacking. */

.neural-mesh {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  /* Line and dot alpha are set per frame by general.js. */
  opacity: 1;
}
/* The three sections that host a neural-mesh need to establish a stacking context and lift their primary content above the mesh layer. .hero-gradient and .cta-section are already position:relative through the dot-field / hero-bloom rules above; #pnlHomeNews historically wasn't, so include it explicitly. */

#pnlHomeNews {
  position: relative;
}
.hero-gradient > .site-width,
.cta-section > .site-width,
#pnlHomeNews > .site-width {
  position: relative;
  z-index: 2;
}
/*
======================================================
Scroll Progress Bar
======================================================
*/

#scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  transform: scaleX(0);
  transform-origin: 0 50%;
  background: linear-gradient(90deg, #5070d4 0%, #a9c1ff 55%, #e97c73 100%);
  z-index: 99999;
  pointer-events: none;
}
/*
======================================================
Magnetic Button Hover
======================================================
*/

.hero-buttons button,
.cta-section button {
  will-change: transform;
}
/*
======================================================
Stats Bar
======================================================
The homepage stats sit on a floating panel that overlaps the foot of the hero. */

div.full-width.stats-bar {
  position: relative;
  z-index: 5;
  background: transparent !important;
  border: 0;
  box-shadow: none;
  padding: 0 4px !important;
  margin-top: -72px;
}
div.full-width.stats-bar .stat-items {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-radius: 16px;
  overflow: hidden;
  background-color: rgba(255, 255, 255, 0.94);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
  backdrop-filter: blur(24px) saturate(160%);
  box-shadow: inset 0 0 0 1px var(--border-subtle), inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 30px 60px -30px rgba(17, 26, 51, 0.45);
}
@media screen and (max-width: 720px) {
  div.full-width.stats-bar .stat-items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
div.full-width.stats-bar .stat-item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 30px 24px 28px;
  text-align: center;
}
div.full-width.stats-bar .stat-item + .stat-item:before {
  content: '';
  position: absolute;
  left: 0;
  top: 24px;
  bottom: 24px;
  width: 1px;
  background: linear-gradient(180deg, transparent, var(--border-strong), transparent);
}
div.full-width.stats-bar .stat-item .stat-number {
  font-size: 44px;
  font-weight: 760;
  line-height: 1;
  letter-spacing: -0.035em;
  color: #3d5aa9;
  font-variant-numeric: tabular-nums;
}
div.full-width.stats-bar .stat-item .stat-label {
  margin-top: 10px;
  font-size: 13.5px;
  font-weight: 550;
  color: var(--text-muted);
}
@media screen and (max-width: 900px) {
  div.full-width.stats-bar .stat-item .stat-number {
    font-size: 34px;
  }
}
@media screen and (max-width: 720px) {
  div.full-width.stats-bar .stat-item {
    padding: 22px 16px 20px;
  }
  div.full-width.stats-bar .stat-item:nth-child(3):before {
    display: none;
  }
  div.full-width.stats-bar .stat-item:nth-child(n+3) {
    border-top: 1px solid var(--border-subtle);
  }
}
:root[data-theme="dark"] div.full-width.stats-bar .stat-items {
  background-color: rgba(30, 39, 65, 0.94);
  box-shadow: inset 0 0 0 1px var(--border-subtle), inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 30px 60px -30px rgba(0, 0, 0, 0.8);
}
:root[data-theme="dark"] div.full-width.stats-bar .stat-item .stat-number {
  color: var(--link);
}
/*
======================================================
Section Labels
======================================================
*/

span.section-label {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #3d5aa9;
  margin-bottom: 8px;
}
span.section-label.light {
  color: #7b96d4;
}
/*
======================================================
Feature Split Layout
======================================================
*/

.feature-split {
  display: flex;
  align-items: center;
  gap: 60px;
  text-align: left;
}
.feature-split .feature-text {
  flex: 1;
  min-width: 280px;
}
.feature-split .feature-visual {
  flex: 1;
  min-width: 280px;
}
.feature-split.reverse {
  flex-direction: row-reverse;
}
@media screen and (max-width: 840px) {
  .feature-split {
    flex-direction: column !important;
    gap: 24px;
    text-align: center;
  }
}
/* Feature tiles: icon squircle, title and one line. Passive cards (no hover lift), per QA feedback recorded in the J036935 patch block below. */

.feature-cards-stack {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.feature-cards-stack .mini-feature {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 22px 22px 20px;
  text-align: left;
  border-radius: 16px;
  background-color: var(--bg-surface);
  border: 1px solid var(--border-subtle);
}
.feature-cards-stack .mini-feature .glyph {
  flex: none;
  width: 46px;
  height: 46px;
  margin: 0;
  border-radius: 13px;
  font-size: 18px;
  line-height: 46px;
  color: white !important;
  background: linear-gradient(145deg, #6a88e6 0%, #3d5aa9 60%, #2e4489 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3), 0 10px 20px -10px rgba(61, 90, 169, 0.9);
}
.feature-cards-stack .mini-feature:nth-child(2) .glyph,
.feature-cards-stack .mini-feature:nth-child(5) .glyph {
  background: linear-gradient(145deg, #ffa79d 0%, #e97c73 55%, #c95a52 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35), 0 10px 20px -10px rgba(233, 124, 115, 0.9);
}
.feature-cards-stack .mini-feature span {
  display: block;
  margin-top: 2px;
  font-size: 16.5px;
  font-weight: 680;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--text-primary);
}
.feature-cards-stack .mini-feature p {
  margin: 4px 0 0 0;
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--text-muted);
}
.feature-cards-stack > .mini-feature:first-child,
.feature-cards-stack > .mini-feature:last-child:nth-child(even) {
  grid-column: span 2;
}
@media screen and (max-width: 480px) {
  .feature-cards-stack {
    grid-template-columns: minmax(0, 1fr);
  }
  .feature-cards-stack > .mini-feature:first-child,
  .feature-cards-stack > .mini-feature:last-child:nth-child(even) {
    grid-column: auto;
  }
}
/*
======================================================
CTA Section
======================================================
One glass card holding the heading, a line and the buttons. Only the card is glass; the button row inside it is not. */

/* A page that ends on the call to action runs it straight into the footer, so the topic's bottom padding does not show as a light strip between two dark bands. */

div.topic:has(> div.full-width.cta-section:last-child) {
  padding-bottom: 0;
}
div.full-width.cta-section {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  color: white;
  text-align: center;
  padding: 104px 4px;
  background: radial-gradient(900px 500px at 85% 0%, #24346f 0%, rgba(36, 52, 111, 0) 60%), linear-gradient(180deg, #0f1730, #15213e);
}
div.full-width.cta-section:before {
  content: '';
  position: absolute;
  width: 560px;
  height: 560px;
  left: 62%;
  top: -30%;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(233, 124, 115, 0.26), rgba(233, 124, 115, 0));
  z-index: -1;
  pointer-events: none;
  will-change: transform;
}
div.full-width.cta-section > .site-width {
  position: relative;
  z-index: 2;
  max-width: 860px;
  margin: 0 auto !important;
  padding: 56px 48px 52px !important;
  border-radius: 26px;
  background: linear-gradient(155deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.04));
  -webkit-backdrop-filter: blur(20px) saturate(150%);
  backdrop-filter: blur(20px) saturate(150%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), 0 50px 90px -40px rgba(0, 0, 0, 0.85);
}
div.full-width.cta-section > .site-width:before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  pointer-events: none;
  background: linear-gradient(130deg, rgba(255, 255, 255, 0.45), rgba(255, 255, 255, 0.06) 35%, rgba(169, 193, 255, 0.12) 65%, rgba(255, 177, 168, 0.45));
  -webkit-mask: linear-gradient(black 0 0) content-box, linear-gradient(black 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}
@media screen and (max-width: 720px) {
  div.full-width.cta-section > .site-width {
    padding: 40px 22px !important;
    border-radius: 20px;
  }
}
div.full-width.cta-section h2 {
  margin: 0;
  color: white !important;
  font-size: 44px;
  font-weight: 760;
  line-height: 1.1;
  letter-spacing: -0.03em;
  text-wrap: balance;
}
@media screen and (max-width: 720px) {
  div.full-width.cta-section h2 {
    font-size: 30px;
  }
}
div.full-width.cta-section p {
  max-width: 34rem;
  margin: 16px auto 0 auto;
  font-size: 17.5px;
  color: rgba(225, 232, 250, 0.82);
}
div.full-width.cta-section .buttons {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px !important;
  padding-top: 0;
}
div.full-width.cta-section .buttons button {
  margin: 0 !important;
}
@media (prefers-reduced-motion: no-preference) {
  div.full-width.cta-section:before {
    animation: heroDrift 2 32s cubic-bezier(0.65, 0, 0.35, 1) infinite alternate;
  }
  div.full-width.cta-section.is-offscreen:before {
    animation-play-state: paused;
  }
}
/*
======================================================
Auth Layout (Login / Register)
======================================================
*/

.auth-layout {
  display: flex;
  gap: 32px;
  align-items: flex-start;
  max-width: 960px;
  margin: 0 auto;
  padding: 8px 0 32px 0;
}
@media screen and (max-width: 720px) {
  .auth-layout {
    flex-direction: column;
  }
}
.auth-card {
  flex: 1.2;
  background-color: rgba(255, 255, 255, 0.85);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 10px;
  padding: 32px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  text-align: left;
}
.auth-card h2 {
  margin-top: 0;
  font-size: 22px;
  font-weight: 700;
  color: var(--text-primary);
}
.auth-card p {
  color: var(--text-secondary);
  margin-bottom: 16px;
}
.auth-card table.ISForm th {
  padding: 8px 12px 8px 0;
  vertical-align: middle;
  white-space: nowrap;
}
.auth-card table.ISForm td {
  padding: 4px 0;
}
.auth-card table.ISForm input[type='text'],
.auth-card table.ISForm input[type='password'] {
  width: 100%;
}
.auth-card .auth-submit {
  width: 100%;
  background-color: #2ea3f2 !important;
  border-color: #2ea3f2 !important;
  color: white !important;
  font-size: 15px !important;
  padding: 10px 24px !important;
}
.auth-card .auth-submit:hover {
  background-color: #0e91e9 !important;
  border-color: #0e91e9 !important;
}
.auth-links {
  display: flex;
  justify-content: space-between;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--border-subtle);
}
.auth-links a {
  font-size: 14px;
  font-weight: 500;
  color: #3d5aa9;
}
/* Trust marker below sign-in button */

.auth-trust {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 12px;
  font-size: 12px;
  color: var(--text-muted);
  font-weight: 500;
  letter-spacing: 0.02em;
}
.auth-trust:before {
  font-family: isfas;
  content: "\f023";
  /* lock icon */
  font-size: 11px;
  color: #27ae60;
}
.auth-sidebar {
  flex: 0.8;
  min-width: 220px;
}
@media screen and (max-width: 720px) {
  .auth-sidebar {
    width: 100%;
  }
}
.auth-info-card {
  background-color: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  padding: 24px;
  text-align: center;
}
.auth-info-card h3 {
  font-size: 18px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 8px 0;
}
.auth-info-card p {
  font-size: 14px;
  color: var(--text-secondary);
  line-height: 1.6;
  margin: 0;
}
/*
======================================================
Scroll Reveal Animations
======================================================
general.js adds .reveal at runtime, so content stays visible if script fails. Entrances rise, sharpen and fade in on one exponential ease-out. */

.reveal {
  opacity: 0;
  transform: translateY(18px);
  filter: blur(6px);
  transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1), transform 1s cubic-bezier(0.16, 1, 0.3, 1), filter 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal.reveal-visible {
  opacity: 1;
  transform: translateY(0);
  filter: none;
}
/* Specific reveal variants for different element types */

.full-width .items > .item.reveal {
  transform: translateY(24px);
}
.full-width .items > .item.reveal.reveal-visible {
  transform: translateY(0);
}
.stat-item.reveal {
  transform: translateY(14px);
}
.mini-feature.reveal {
  transform: translateY(18px);
}
.mini-feature.reveal.reveal-visible {
  transform: translateY(0);
}
.timeline > li.reveal {
  transform: translateX(-20px);
}
.timeline > li.reveal.reveal-visible {
  transform: translateX(0);
}
.MyOption.reveal {
  transform: translateY(16px);
}
.MyOption.reveal.reveal-visible {
  transform: translateY(0);
}
.feature-text.reveal {
  transform: translateX(-24px);
}
.feature-text.reveal.reveal-visible {
  transform: translateX(0);
}
.feature-visual.reveal {
  transform: translateX(24px);
}
.feature-visual.reveal.reveal-visible {
  transform: translateX(0);
}
.feature-split.reverse .feature-text.reveal {
  transform: translateX(24px);
}
.feature-split.reverse .feature-text.reveal.reveal-visible {
  transform: translateX(0);
}
.feature-split.reverse .feature-visual.reveal {
  transform: translateX(-24px);
}
.feature-split.reverse .feature-visual.reveal.reveal-visible {
  transform: translateX(0);
}
/*
======================================================
Header Scroll Shrink
======================================================
*/

body.scrolled div.header-wrapper {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}
body.scrolled header#header {
  height: 48px !important;
  min-height: 48px !important;
  transition: height 0.3s ease, min-height 0.3s ease;
}
body.scrolled header#header > div {
  height: 48px;
}
body.scrolled div.site-logo a {
  height: 40px !important;
  /* Keeps the logo at its 2.34:1 ratio. */
  width: 94px;
  background-size: cover;
}
body.scrolled body:not(.mobilemenu) div#sitemenu div.site-menu {
  height: 48px;
}
body.scrolled body:not(.mobilemenu) div#sitemenu div.site-menu a {
  font-size: 13px;
  padding: 6px 10px;
}
body.scrolled .login-button,
body.scrolled .sales-button {
  padding: 5px 12px;
  font-size: 11px;
}
body.scrolled a#mobilemenu {
  padding: 5px;
  font-size: 16px;
}
header#header {
  transition: height 0.3s ease, min-height 0.3s ease;
}
header#header > div {
  transition: height 0.3s ease;
}
div.site-logo a {
  transition: height 0.3s ease, width 0.3s ease, background-size 0.3s ease;
}
/* Honour the user's OS-level reduced-motion preference for header / nav. */

@media (prefers-reduced-motion: reduce) {
  header#header,
  header#header > div,
  div.site-logo a,
  div#sitemenu div.site-menu > ul[menu-id='root'] > li:before,
  div#sitemenu div.site-menu > ul[menu-id='root'] > .nav-indicator {
    transition: none !important;
  }
  div#sitemenusub,
  article#content,
  body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li > ul {
    animation: none !important;
  }
}
/*
======================================================
Enhanced Hover & Interactive Effects
======================================================
*/

/* Card hover glow */

.full-width .items.solid > div.item:hover,
.full-width .items.logos > div.item:hover {
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}
/* Glyph icon pulse on card hover */

.full-width .items > div.item:hover > .glyph,
.full-width .items > div.item:hover > a > .glyph {
  animation: glyphPulse 0.4s ease;
}
@keyframes glyphPulse {
  0% {
    transform: scale(1);
  }
  40% {
    transform: scale(1.18);
  }
  70% {
    transform: scale(0.95);
  }
  100% {
    transform: scale(1);
  }
}
/* Logo images grayscale -> color on hover */

.full-width .items.logos > div.item img {
  filter: grayscale(40%);
  opacity: 0.8;
  transition: all 0.3s ease;
}
.full-width .items.logos > div.item:hover img {
  filter: grayscale(0);
  opacity: 1;
}
/* Button ripple-like press effect */

button:active:not(.owl-prev):not(.owl-next):not(.owl-dot),
input[type='submit']:active {
  transform: scale(0.97) !important;
  transition: transform 0.1s ease !important;
}
/* Modern Dribbble-style pill nav indicator */

body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li {
  position: relative;
  /* Pill background per-item (shows on hover for non-current items) */

  /* Always transition text colour smoothly so deactivating items fade back to dark */

  /* Active state - text white over the sliding indicator. */

  /* Suppress hover pill on the currently-active item */

}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:before {
  content: '';
  position: absolute;
  inset: 0;
  background-color: transparent;
  border-radius: 999px;
  transition: background-color 0.2s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.2s cubic-bezier(0.22, 0.61, 0.36, 1);
  z-index: 0;
  pointer-events: none;
  transform: scale(0.95);
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover:not(.current):before {
  background-color: white;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  transform: scale(1);
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li > a {
  position: relative;
  z-index: 2;
  transition: color 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li.current > a {
  color: white !important;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li.current:hover:before {
  background-color: transparent !important;
  box-shadow: none !important;
}
/* Shared sliding indicator that morphs between active items on click */

body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] {
  position: relative;
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > .nav-indicator {
  position: absolute;
  top: 0;
  left: 0;
  height: 36px;
  background: linear-gradient(180deg, #5a7be0, #3d5aa9);
  border-radius: 999px;
  z-index: 1;
  pointer-events: none;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 6px 16px -8px rgba(61, 90, 169, 0.9);
  opacity: 0;
  will-change: transform, width;
  transition: transform 0.32s cubic-bezier(0.22, 0.61, 0.36, 1), width 0.32s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.18s cubic-bezier(0.22, 0.61, 0.36, 1);
}
body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > .nav-indicator.is-ready {
  opacity: 1;
}
/* Footer link hover slide */

footer#footer a {
  position: relative;
}
footer#footer a:after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 0;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.5);
  transition: width 0.2s ease;
}
footer#footer a:hover:after {
  width: 100%;
}
/* Smooth page content entrance */

article#content {
  animation: pageIn 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
}
@keyframes pageIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Hero content float */

.hero-content {
  transition: transform 0.15s ease-out;
}
/* Search input expand */

div.site-search input {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
div.site-search form.focused input {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
/* Smooth focus ring for all interactive elements */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid #3d5aa9;
  outline-offset: 2px;
  transition: outline-offset 0.15s ease;
}
/* MyOption dashboard cards - color accent on hover */

div.MyOption:hover > a > span > img {
  transform: scale(1.08);
  transition: transform 0.3s ease;
}
div.MyOption > a > span > img {
  transition: transform 0.3s ease;
}
/* Timeline item hover */

ul.timeline > li > div.info {
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
ul.timeline > li > div.info:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  transform: translateX(4px);
}
/* Sub menu items slide in */

div#sitemenusub {
  animation: subMenuIn 0.25s ease;
}
@keyframes subMenuIn {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
======================================================
Demo Page Placeholder
======================================================
*/

.demo-frame-wrap {
  margin: 0 auto;
  max-width: 1100px;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.15);
  background: white;
  aspect-ratio: 1.6;
  border: 1px solid var(--border-subtle);
}
.demo-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, var(--bg-base) 0%, white 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 32px;
}
.demo-placeholder-inner {
  max-width: 480px;
}
.demo-placeholder-inner .demo-placeholder-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: rgba(61, 90, 169, 0.1);
  color: #3d5aa9;
  font-size: 28px;
  margin-bottom: 20px;
}
.demo-placeholder-inner h2 {
  margin: 0 0 12px 0 !important;
  font-size: 22px !important;
  color: var(--text-primary) !important;
}
.demo-placeholder-inner p {
  color: var(--text-secondary);
  margin-bottom: 8px;
}
.demo-placeholder-inner .demo-placeholder-note {
  margin-top: 20px;
  font-size: 14px;
}
.demo-placeholder-inner .demo-placeholder-note a {
  color: #3d5aa9;
  font-weight: 600;
}
/*
======================================================
Command Palette (Cmd/Ctrl+K)
======================================================
*/

#cmd-palette {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 14vh;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s cubic-bezier(0.22, 0.61, 0.36, 1);
}
#cmd-palette.open {
  opacity: 1;
  pointer-events: auto;
}
#cmd-palette[hidden] {
  display: none !important;
}
.cmd-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(18, 18, 28, 0.65);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.cmd-panel {
  position: relative;
  width: 92%;
  max-width: 640px;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 16px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);
  overflow: hidden;
  transform: scale(0.97) translateY(-6px);
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}
#cmd-palette.open .cmd-panel {
  transform: scale(1) translateY(0);
}
.cmd-search {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--border-subtle);
}
.cmd-search .cmd-icon {
  font-family: isfas;
  color: var(--text-muted);
  font-size: 16px;
}
.cmd-search .cmd-icon:before {
  content: "\f002";
}
.cmd-search input {
  flex: 1;
  border: none !important;
  outline: none !important;
  background: transparent;
  font-size: 16px;
  color: var(--text-primary);
  padding: 4px 0 !important;
  margin: 0 !important;
}
.cmd-search input:focus {
  box-shadow: none !important;
  border: none !important;
}
.cmd-search .cmd-kbd {
  font-family: inherit;
  font-size: 11px;
  font-weight: 600;
  background: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  padding: 2px 6px;
  color: var(--text-muted);
}
.cmd-results {
  max-height: 50vh;
  overflow-y: auto;
  padding: 8px;
}
a.cmd-result {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  /* 2px transparent border reserves layout space so .cmd-active doesn't reflow neighbouring rows when keyboard navigation moves the active state. */
  border: 2px solid transparent;
  border-radius: 8px;
  text-decoration: none;
  color: var(--text-primary);
  cursor: pointer;
  transition: background-color 0.1s ease, border-color 0.1s ease;
  /* High-contrast 2px border on the active row for keyboard users — background-only highlight failed WCAG 2.2 visible-focus expectations against the panel surface. */

}
a.cmd-result:hover {
  background-color: rgba(61, 90, 169, 0.08);
}
a.cmd-result.cmd-active {
  background-color: rgba(61, 90, 169, 0.08);
  border-color: var(--link);
}
a.cmd-result .cmd-result-icon {
  font-family: isfas;
  font-size: 13px;
  color: var(--text-muted);
  width: 16px;
  flex-shrink: 0;
}
a.cmd-result .cmd-result-icon:before {
  content: "\f15c";
}
a.cmd-result .cmd-result-title {
  flex: 1;
  font-size: 14px;
  font-weight: 500;
}
.cmd-type-badge {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--bg-base);
  color: var(--text-muted);
}
.cmd-type-badge.cmd-type-article {
  background: rgba(61, 90, 169, 0.12);
  color: #3d5aa9;
}
.cmd-type-badge.cmd-type-blog {
  background: rgba(233, 124, 115, 0.15);
  color: #c0392b;
}
.cmd-type-badge.cmd-type-download {
  background: rgba(39, 174, 96, 0.15);
  color: #1e8449;
}
.cmd-type-badge.cmd-type-guide {
  background: rgba(39, 174, 96, 0.15);
  color: #1e8449;
}
.cmd-type-badge.cmd-type-kb {
  background: rgba(142, 68, 173, 0.12);
  color: #8e44ad;
}
.cmd-empty {
  padding: 32px 16px;
  text-align: center;
  color: var(--text-muted);
  font-size: 14px;
}
.cmd-foot {
  display: flex;
  justify-content: center;
  gap: 20px;
  padding: 10px 16px;
  border-top: 1px solid var(--border-subtle);
  background: var(--bg-base);
  font-size: 11px;
  color: var(--text-muted);
}
.cmd-foot kbd {
  font-family: inherit;
  background: white;
  border: 1px solid var(--border-subtle);
  border-radius: 3px;
  padding: 1px 5px;
  margin-right: 4px;
  font-size: 10px;
  font-weight: 600;
}
body.cmd-open {
  overflow: hidden;
}
/*
======================================================
Print
======================================================
*/

body.print {
  height: unset !important;
}
body.print header#header,
body.print footer#footer,
body.print div.deviceRight,
body.print div#sitemenu,
body.print div#sitemenusub,
body.print div#topicprint,
body.print div.NextPrevious {
  display: none !important;
}
body.print #wrapper {
  display: block !important;
  height: auto !important;
}
body.print #content {
  max-width: unset !important;
}
body.print div.topic {
  width: auto !important;
  max-width: unset !important;
}
@media print {
  body {
    height: unset !important;
  }
  .header-wrapper {
    display: none;
  }
  #wrapper {
    display: block !important;
    height: auto !important;
  }
  #content {
    max-width: unset !important;
  }
}
/*
======================================================
Contact Page
======================================================
*/

/* Hero quick-action chips
   Higher specificity than the base `div.full-width.hero-gradient .hero-content`
   rule so the contact hero gets enough room for a 4-chip row. */

.full-width.hero-gradient.contact-hero .hero-content {
  max-width: 940px;
  margin: 0 auto;
}
.contact-quick-chips {
  display: grid;
  /* 2 cols at desktop so each chip is wide enough for the full email address (enquiry@intersoft.co.nz) without overflow-wrap break. minmax(0, 1fr) lets columns shrink below content min-size, preventing the grid from overflowing right of the centred hero container. */
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 36px auto 0;
  max-width: 720px;
}
@media screen and (max-width: 520px) {
  .contact-quick-chips {
    grid-template-columns: 1fr;
    max-width: 380px;
  }
}
.contact-quick-chip {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  text-align: left;
  background: rgba(255, 255, 255, 0.06);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 14px;
  color: white;
  text-decoration: none;
  transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
  cursor: pointer;
}
.contact-quick-chip:hover,
.contact-quick-chip:focus-visible {
  transform: translateY(-3px);
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(123, 150, 212, 0.55);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.35);
  text-decoration: none;
}
.contact-quick-chip .contact-chip-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: linear-gradient(135deg, #3d5aa9 0%, #7b96d4 100%);
  color: white;
  font-size: 16px;
  box-shadow: 0 6px 14px rgba(61, 90, 169, 0.35);
}
.contact-quick-chip .contact-chip-body {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
  min-width: 0;
}
.contact-quick-chip .contact-chip-label {
  font-size: 14px;
  font-weight: 700;
  color: white;
}
.contact-quick-chip .contact-chip-sub {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.65);
  margin-top: 3px;
  line-height: 1.3;
  /* Email addresses and phone numbers have no normal word-break points, so without this they overflow the card on narrow widths (the "enquiry@intersoft.co.nz" sub on the Email-us chip was visibly bleeding past the right edge). `anywhere` permits a break inside the string when there's no other option, with no effect on normal text. min-width:0 belongs on the parent (.contact-chip-body) and is already there. */
  overflow-wrap: anywhere;
}
/* Offices section */

.contact-offices {
  text-align: center;
}
.contact-offices .contact-section-sub {
  max-width: 720px;
  margin: 0 auto 36px;
  color: rgba(20, 30, 60, 0.7);
}
.office-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  /* Column gap intentionally matches the section's bottom padding (`.full-width`
     has `padding: 48px ...`) so the empty space between the cards equals the
     empty space below the cards before the next section. */
  column-gap: 48px;
  row-gap: 32px;
  margin: 12px 0 48px;
  text-align: left;
}
@media screen and (max-width: 980px) {
  .office-grid {
    grid-template-columns: 1fr;
    row-gap: 48px;
    column-gap: 0;
  }
}
.office-card {
  background: white;
  border: 1px solid rgba(61, 90, 169, 0.12);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 18px 50px rgba(20, 30, 60, 0.1), 0 2px 6px rgba(20, 30, 60, 0.05);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  display: flex;
  flex-direction: column;
}
.office-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 28px 60px rgba(20, 30, 60, 0.18), 0 4px 10px rgba(20, 30, 60, 0.06);
}
.office-card-head {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 22px 24px 18px;
  background: linear-gradient(135deg, rgba(61, 90, 169, 0.08) 0%, rgba(123, 150, 212, 0.04) 100%);
  border-bottom: 1px solid rgba(61, 90, 169, 0.08);
}
.office-flag {
  display: block;
  width: 56px;
  height: 34px;
  border-radius: 6px;
  object-fit: cover;
  flex-shrink: 0;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18), 0 0 0 1px rgba(20, 30, 60, 0.08);
}
.office-head-text {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}
.office-head-text h2 {
  margin: 2px 0 0;
  font-size: 24px;
  font-weight: 700;
  color: #15213e;
}
.office-head-text p {
  margin: 4px 0 0;
  color: rgba(20, 30, 60, 0.6);
  font-size: 14px;
}
.office-badge {
  display: inline-block;
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #3d5aa9;
  background: rgba(61, 90, 169, 0.1);
  padding: 3px 9px;
  border-radius: 999px;
  width: fit-content;
}
.office-map {
  width: 100%;
  height: 280px;
  background: #e8eef7;
  position: relative;
  z-index: 0;
  /* Override MapLibre's default attribution and popup chrome so the map blends in */

  /* div.full-width gives every button !important sizing, so MapLibre's own zoom and popup close button values are restored here. */

}
.office-map .maplibregl-ctrl.maplibregl-ctrl-attrib {
  background: rgba(255, 255, 255, 0.85);
  font-size: 10px;
}
.office-map .maplibregl-popup-content {
  padding: 12px 16px;
  border-radius: 12px;
  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.25);
}
.office-map .maplibregl-ctrl-group button {
  border-radius: 0 !important;
  height: 29px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.office-map .maplibregl-ctrl-group button + button {
  border-top: 1px solid #dddddd !important;
}
.office-map .maplibregl-popup-close-button {
  border-radius: 0 3px 0 0 !important;
  margin: 0 !important;
  padding: 0 6px !important;
}
/* Custom pin marker */

.office-pin {
  position: relative;
  width: 28px;
  height: 28px;
  pointer-events: auto;
}
.office-pin .office-pin-dot {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #3d5aa9;
  border: 3px solid white;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.35);
  z-index: 2;
}
.office-pin .office-pin-pulse {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(61, 90, 169, 0.35);
  z-index: 1;
  animation: officePinPulse 2s ease-out infinite;
}
@keyframes officePinPulse {
  0% {
    transform: translate(-50%, -50%) scale(0.6);
    opacity: 0.6;
  }
  100% {
    transform: translate(-50%, -50%) scale(2.4);
    opacity: 0;
  }
}
.office-popup {
  font-family: 'Inter', 'Segoe UI', system-ui, sans-serif;
  font-size: 13px;
  line-height: 1.4;
}
.office-popup strong {
  display: block;
  color: #3d5aa9;
  margin-bottom: 4px;
  font-weight: 700;
}
.office-popup span {
  color: rgba(20, 30, 60, 0.75);
}
.office-details {
  padding: 22px 24px 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.office-info {
  list-style: none;
  padding: 0;
  margin: 0 0 18px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.office-info li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.office-info .oi-icon {
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(61, 90, 169, 0.1);
  color: #3d5aa9;
  border-radius: 8px;
  font-size: 13px;
  margin-top: 2px;
}
.office-info .oi-text {
  display: flex;
  flex-direction: column;
  font-size: 14px;
  line-height: 1.45;
  color: rgba(20, 30, 60, 0.85);
  min-width: 0;
}
.office-info .oi-text strong {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(20, 30, 60, 0.5);
  margin-bottom: 2px;
}
.office-info .oi-text a {
  color: #3d5aa9;
  text-decoration: none;
  word-break: break-word;
}
.office-info .oi-text a:hover {
  text-decoration: underline;
}
.office-directions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: flex-start;
  padding: 10px 18px;
  background: linear-gradient(135deg, #3d5aa9 0%, #7b96d4 100%);
  color: white;
  font-size: 13px;
  font-weight: 600;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(61, 90, 169, 0.3);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
  margin-top: auto;
}
.office-directions:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 22px rgba(61, 90, 169, 0.4);
  text-decoration: none;
  color: white;
}
/* International */

.contact-international {
  text-align: center;
}
.contact-international .intl-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  max-width: 900px;
  margin: 28px auto 0;
}
@media screen and (max-width: 760px) {
  .contact-international .intl-grid {
    grid-template-columns: 1fr;
  }
}
.contact-international .intl-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 22px 18px;
  background: rgba(255, 255, 255, 0.05);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 14px;
  color: white;
  text-decoration: none;
  transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}
.contact-international .intl-card:hover,
.contact-international .intl-card:focus-visible {
  transform: translateY(-3px);
  background: rgba(255, 255, 255, 0.09);
  border-color: rgba(123, 150, 212, 0.55);
  text-decoration: none;
  color: white;
}
.contact-international .intl-icon {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: linear-gradient(135deg, #3d5aa9 0%, #7b96d4 100%);
  color: white;
  font-size: 18px;
  box-shadow: 0 8px 18px rgba(61, 90, 169, 0.35);
  margin-bottom: 6px;
}
.contact-international .intl-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: rgba(255, 255, 255, 0.6);
}
.contact-international .intl-value {
  font-size: 16px;
  font-weight: 600;
  color: white;
  word-break: break-word;
}
/* Support chooser modal */

html.support-chooser-open {
  overflow: hidden;
}
.support-chooser {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.support-chooser[hidden] {
  display: none;
}
.support-chooser-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.7);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  animation: scFadeIn 0.18s ease-out;
}
.support-chooser-dialog {
  position: relative;
  width: 100%;
  max-width: 1040px;
  background: white;
  border-radius: 18px;
  padding: 36px 36px 32px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.4);
  text-align: center;
  animation: scPopIn 0.22s ease-out;
  max-height: calc(52vh);
  overflow-y: auto;
}
@media screen and (max-width: 600px) {
  .support-chooser-dialog {
    padding: 28px 22px 24px;
  }
}
.support-chooser-dialog h2 {
  margin: 8px 0 6px;
  font-size: 26px;
  color: #15213e;
}
.support-chooser-dialog p.support-chooser-lead {
  margin: 0 auto 24px;
  color: rgba(20, 30, 60, 0.65);
  max-width: 480px;
}
.support-chooser-eyebrow {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #3d5aa9;
  background: rgba(61, 90, 169, 0.1);
  padding: 4px 10px;
  border-radius: 999px;
}
.support-chooser-close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 36px;
  height: 36px;
  border: none;
  background: rgba(20, 30, 60, 0.06);
  color: rgba(20, 30, 60, 0.65);
  font-size: 22px;
  line-height: 1;
  border-radius: 50%;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}
.support-chooser-close:hover,
.support-chooser-close:focus-visible {
  background: rgba(20, 30, 60, 0.12);
  color: #15213e;
  transform: rotate(90deg);
}
.support-chooser-options {
  display: grid;
  /* Three options (Software help / Support Portal / Release Notes). Collapses straight to a single column at 720px so the third card never orphans in a two-up row. */
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  text-align: left;
  margin-top: 4px;
}
@media screen and (max-width: 720px) {
  .support-chooser-options {
    grid-template-columns: 1fr;
  }
}
.support-chooser-option {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 22px 22px 20px;
  border: 1px solid rgba(61, 90, 169, 0.16);
  border-radius: 14px;
  background: linear-gradient(180deg, white 0%, #f7f9ff 100%);
  text-decoration: none;
  color: #15213e;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
  position: relative;
}
.support-chooser-option:hover,
.support-chooser-option:focus-visible {
  transform: translateY(-3px);
  border-color: #3d5aa9;
  box-shadow: 0 16px 30px rgba(61, 90, 169, 0.18);
  text-decoration: none;
  color: #15213e;
}
.support-chooser-option .sco-icon {
  font-family: isfas;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: linear-gradient(135deg, #3d5aa9 0%, #7b96d4 100%);
  color: white;
  font-size: 18px;
  box-shadow: 0 8px 18px rgba(61, 90, 169, 0.3);
  margin-bottom: 6px;
}
.support-chooser-option .sco-label {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
  color: #15213e;
}
.support-chooser-option .sco-sub {
  font-size: 13.5px;
  line-height: 1.45;
  color: rgba(20, 30, 60, 0.65);
  flex: 1;
}
.support-chooser-option .sco-cta {
  margin-top: 8px;
  font-size: 13px;
  font-weight: 700;
  color: #3d5aa9;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: gap 0.18s ease;
}
.support-chooser-option:hover .sco-cta {
  gap: 12px;
}
.support-chooser-option--portal {
  background: linear-gradient(180deg, white 0%, #fff6f5 100%);
  border-color: rgba(233, 124, 115, 0.25);
}
.support-chooser-option--portal:hover,
.support-chooser-option--portal:focus-visible {
  border-color: #e97c73;
  box-shadow: 0 16px 30px rgba(233, 124, 115, 0.22);
}
.support-chooser-option--portal .sco-icon {
  background: linear-gradient(135deg, #e97c73 0%, #f5a193 100%);
  box-shadow: 0 8px 18px rgba(233, 124, 115, 0.35);
}
.support-chooser-option--portal .sco-cta {
  color: #e97c73;
}
@keyframes scFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes scPopIn {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
/*
======================================================
Dark Mode (consolidated override block)
======================================================
Implemented as a series of high-specificity overrides scoped to `:root[data-theme="dark"]`. Light mode is the default and is unaffected by anything here. The dark heroes, footer, and CTA section are already dark in both modes and stay unchanged.

Toggle is implemented in general.js (cycles light → dark → system) and the preference is persisted in localStorage. The data-theme attribute is set by an inline init script in MasterPage.master BEFORE the first paint, so there is no flash-of-wrong-theme on load. */

:root[data-theme="dark"] body {
  background-color: var(--bg-base);
  color: var(--text-primary);
}
:root[data-theme="dark"] div.header-wrapper {
  background-color: var(--bg-header);
  border-bottom: 1px solid var(--border-subtle);
}
:root[data-theme="dark"] header#header {
  background-color: var(--bg-header);
}
:root[data-theme="dark"] header#header div.site-logo a {
  /* Add a slight brightness so the logo SVG/PNG (designed for white bg) reads on the dark header */
  filter: brightness(1.05) contrast(0.95);
}
:root[data-theme="dark"] div#sitemenusub {
  background-color: var(--bg-header) !important;
  border-bottom: 1px solid var(--border-subtle);
}
:root[data-theme="dark"] div#sitemenusub div.site-menu-sub a {
  color: var(--text-secondary);
}
:root[data-theme="dark"] div#sitemenusub div.site-menu-sub ul li:hover:not(.currentsub) {
  background-color: rgba(255, 255, 255, 0.06);
}
:root[data-theme="dark"] div#sitemenusub div.site-menu-sub ul li:hover:not(.currentsub) a {
  color: var(--text-primary);
}
:root[data-theme="dark"] div#sitemenusub div.site-menu-sub ul li.currentsub {
  background-color: rgba(123, 150, 212, 0.18);
}
:root[data-theme="dark"] div#sitemenusub div.site-menu-sub ul li.currentsub a {
  color: var(--link);
}
:root[data-theme="dark"] .full-width div.items.logos > div.item {
  background-color: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}
:root[data-theme="dark"] .full-width div.items.logos > div.item:hover {
  background-color: var(--bg-elevated);
  border-color: rgba(147, 174, 236, 0.35);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(147, 174, 236, 0.18);
}
:root[data-theme="dark"] body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > ul {
  background-color: rgba(35, 43, 71, 0.96) !important;
  border: 1px solid var(--border-subtle);
}
:root[data-theme="dark"] body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > ul > li a {
  color: var(--text-primary);
}
:root[data-theme="dark"] body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > ul > li:hover {
  background-color: rgba(123, 150, 212, 0.14);
}
:root[data-theme="dark"] body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > ul > li:hover a {
  color: var(--link);
}
:root[data-theme="dark"] body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > ul > li.currentsub {
  background-color: rgba(123, 150, 212, 0.22);
}
:root[data-theme="dark"] body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover > ul > li.currentsub a {
  color: var(--link);
}
:root[data-theme="dark"] input::placeholder,
:root[data-theme="dark"] textarea::placeholder {
  color: var(--text-muted);
  opacity: 1;
}
:root[data-theme="dark"] input.fieldNormal.search {
  background-color: var(--input-bg);
  border-color: var(--input-border);
  color: var(--input-text);
}
:root[data-theme="dark"] body:not(.mobilemenu) div#sitemenu div.site-menu {
  background-color: var(--bg-elevated);
}
:root[data-theme="dark"] body:not(.mobilemenu) div#sitemenu div.site-menu a {
  color: var(--text-primary);
}
:root[data-theme="dark"] body:not(.mobilemenu) div#sitemenu div.site-menu a:hover {
  color: white;
}
:root[data-theme="dark"] body:not(.mobilemenu) div#sitemenu div.site-menu > ul[menu-id='root'] > li:hover:not(.current):before {
  background-color: var(--bg-elevated) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25) !important;
}
:root[data-theme="dark"] .full-width.light {
  background-color: var(--bg-base) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .full-width.light h1,
:root[data-theme="dark"] .full-width.light h2,
:root[data-theme="dark"] .full-width.light h3,
:root[data-theme="dark"] .full-width.light h4,
:root[data-theme="dark"] .full-width.light h5,
:root[data-theme="dark"] .full-width.light h6 {
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .full-width.light p,
:root[data-theme="dark"] .full-width.light li,
:root[data-theme="dark"] .full-width.light td,
:root[data-theme="dark"] .full-width.light span.section-label {
  color: var(--text-secondary);
}
:root[data-theme="dark"] .full-width.light .glyph {
  color: var(--link);
}
:root[data-theme="dark"] .about-tab-panels,
:root[data-theme="dark"] .about-panel,
:root[data-theme="dark"] .staff-role-card,
:root[data-theme="dark"] .office-card,
:root[data-theme="dark"] .feature-cards-stack .mini-feature,
:root[data-theme="dark"] .user-menu-dropdown,
:root[data-theme="dark"] .full-width.light .item {
  background-color: var(--bg-surface) !important;
  border-color: var(--border-subtle) !important;
  color: var(--text-primary);
}
:root[data-theme="dark"] .office-card-head {
  background: linear-gradient(135deg, rgba(123, 150, 212, 0.08) 0%, rgba(123, 150, 212, 0.04) 100%) !important;
  border-bottom-color: var(--border-subtle) !important;
}
:root[data-theme="dark"] .office-card .office-head-text h2 {
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .office-card .office-head-text p {
  color: var(--text-secondary) !important;
}
:root[data-theme="dark"] .office-card .office-info .oi-text {
  color: var(--text-primary);
}
:root[data-theme="dark"] .office-card .office-info .oi-text strong {
  color: var(--text-muted) !important;
}
:root[data-theme="dark"] .office-card .office-info .oi-icon {
  background: rgba(123, 150, 212, 0.16);
  color: var(--link);
}
:root[data-theme="dark"] .office-card .office-info .oi-text a {
  color: var(--link) !important;
}
:root[data-theme="dark"] .office-card .office-info .oi-text a.linkmailto,
:root[data-theme="dark"] .office-card .office-info .oi-text a.linkexternal {
  background-color: rgba(147, 174, 236, 0.12) !important;
  border-color: rgba(147, 174, 236, 0.28) !important;
}
:root[data-theme="dark"] .office-card .office-info .oi-text a.linkmailto:hover,
:root[data-theme="dark"] .office-card .office-info .oi-text a.linkexternal:hover {
  background-color: rgba(147, 174, 236, 0.2) !important;
  color: white !important;
}
:root[data-theme="dark"] .about-tab {
  background-color: var(--bg-surface) !important;
  color: var(--text-muted) !important;
  border-color: var(--border-subtle) !important;
}
:root[data-theme="dark"] .about-tab:hover {
  background-color: var(--bg-elevated) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .about-tab.active {
  background-color: var(--bg-elevated) !important;
  color: var(--link) !important;
}
:root[data-theme="dark"] .about-tab.active:after {
  background-color: var(--bg-elevated) !important;
}
:root[data-theme="dark"] .staff-role-card:hover {
  border-color: var(--link) !important;
  box-shadow: 0 4px 14px -8px rgba(123, 150, 212, 0.4) !important;
}
:root[data-theme="dark"] .staff-role-card .role-people > li {
  border-top-color: var(--border-subtle);
}
:root[data-theme="dark"] div.site-search input {
  background-color: var(--input-bg);
  border-color: var(--input-border);
  color: var(--input-text);
}
:root[data-theme="dark"] div.site-search input::placeholder {
  color: var(--text-muted);
}
:root[data-theme="dark"] div.site-search input:focus {
  background-color: var(--bg-elevated);
  border-color: var(--link);
}
:root[data-theme="dark"] div.site-search form.focused input {
  background-color: var(--bg-elevated);
  border-color: var(--link);
}
:root[data-theme="dark"] .login-button {
  border-color: var(--border-subtle) !important;
  color: var(--text-primary);
}
:root[data-theme="dark"] .login-button:hover {
  background-color: var(--bg-elevated) !important;
  color: var(--link) !important;
  border-color: var(--link) !important;
}
:root[data-theme="dark"] .user-menu-dropdown {
  background-color: rgba(35, 43, 71, 0.96) !important;
  border-color: var(--border-subtle) !important;
  box-shadow: var(--shadow-elevated) !important;
}
:root[data-theme="dark"] .user-menu-dropdown a,
:root[data-theme="dark"] .user-menu-dropdown button {
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .user-menu-dropdown a:hover,
:root[data-theme="dark"] .user-menu-dropdown button:hover {
  background-color: var(--bg-elevated) !important;
}
:root[data-theme="dark"] .user-menu-dropdown a .mi,
:root[data-theme="dark"] .user-menu-dropdown button .mi {
  color: var(--text-muted);
}
:root[data-theme="dark"] .user-menu-dropdown .user-menu-header {
  border-bottom-color: var(--border-subtle);
  color: var(--text-muted);
}
:root[data-theme="dark"] .user-menu-dropdown .user-menu-header strong {
  color: var(--text-primary);
}
:root[data-theme="dark"] .topic {
  color: var(--text-primary);
}
:root[data-theme="dark"] .topic a.linkinternal {
  background-color: rgba(123, 150, 212, 0.12) !important;
  color: var(--link) !important;
  border-color: rgba(123, 150, 212, 0.25) !important;
}
:root[data-theme="dark"] .vtimeline:before {
  background-color: var(--border-subtle) !important;
}
:root[data-theme="dark"] .vtimeline-content {
  background-color: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  padding: 16px 20px;
  color: var(--text-primary);
}
:root[data-theme="dark"] .support-chooser-dialog {
  background-color: var(--bg-surface) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .support-chooser-dialog h2 {
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .support-chooser-dialog p.support-chooser-lead {
  color: var(--text-secondary) !important;
}
:root[data-theme="dark"] .support-chooser-option {
  background-color: var(--bg-elevated) !important;
  border-color: var(--border-subtle) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .support-chooser-option .sco-label {
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .support-chooser-option .sco-sub {
  color: var(--text-secondary) !important;
}
:root[data-theme="dark"] footer#footer {
  background-color: #08101f;
  /* a touch darker than the bg-base so the footer remains distinct */

}
:root[data-theme="dark"] .normal,
:root[data-theme="dark"] button.normal,
:root[data-theme="dark"] input[type="text"],
:root[data-theme="dark"] input[type="email"],
:root[data-theme="dark"] input[type="password"],
:root[data-theme="dark"] textarea,
:root[data-theme="dark"] select {
  background-color: var(--input-bg) !important;
  border-color: var(--input-border) !important;
  color: var(--input-text) !important;
}
:root[data-theme="dark"] .topic h1,
:root[data-theme="dark"] .topic h2,
:root[data-theme="dark"] .topic h3,
:root[data-theme="dark"] .topic h4,
:root[data-theme="dark"] .topic h5 {
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .topic p,
:root[data-theme="dark"] .topic li,
:root[data-theme="dark"] .topic td {
  color: var(--text-secondary);
}
:root[data-theme="dark"] div.MyOption {
  background-color: var(--bg-surface) !important;
  border-color: var(--border-subtle) !important;
  color: var(--text-primary);
}
:root[data-theme="dark"] div.MyOption:hover {
  border-color: var(--link) !important;
}
:root[data-theme="dark"] div.deviceRight {
  background-color: var(--bg-surface) !important;
  border-color: var(--border-subtle) !important;
  color: var(--text-primary);
}
:root[data-theme="dark"] div.deviceRight div.sideboxsubheader,
:root[data-theme="dark"] div.deviceRight div.sideboxsubheader > a {
  color: var(--text-primary);
}
:root[data-theme="dark"] > div.info,
:root[data-theme="dark"] .info {
  background-color: var(--bg-surface) !important;
  border-color: var(--border-subtle) !important;
  color: var(--text-primary);
}
:root[data-theme="dark"] .live-search-dropdown {
  background-color: rgba(35, 43, 71, 0.95) !important;
  border-color: var(--border-subtle) !important;
  color: var(--text-primary);
}
:root[data-theme="dark"] .live-search-dropdown a,
:root[data-theme="dark"] .live-search-dropdown button {
  color: var(--text-primary);
}
:root[data-theme="dark"] .cmd-type-download,
:root[data-theme="dark"] .cmd-type-guide {
  background: rgba(74, 222, 128, 0.18) !important;
  color: #6ee7a8 !important;
  /* lighter green for dark-on-dark contrast */

}
:root[data-theme="dark"] .cmd-type-kb {
  background: rgba(192, 132, 252, 0.18) !important;
  color: #d8b4fe !important;
  /* lighter purple for dark-on-dark contrast */

}
:root[data-theme="dark"] .support-chooser-eyebrow {
  color: var(--link) !important;
  background: rgba(123, 150, 212, 0.15) !important;
}
:root[data-theme="dark"] .feature-cards-stack .mini-feature:hover {
  background-color: var(--bg-elevated) !important;
  border-color: var(--link) !important;
}
:root[data-theme="dark"] .vtimeline-marker {
  background-color: var(--bg-elevated) !important;
  border-color: var(--border-subtle) !important;
}
:root[data-theme="dark"] > .site-width > div > div.items > div.item {
  background-color: rgba(123, 150, 212, 0.06);
  border-color: var(--border-subtle);
}
:root[data-theme="dark"] .topic table tr:nth-child(odd) {
  background-color: rgba(255, 255, 255, 0.03);
}
:root[data-theme="dark"] .auth-card,
:root[data-theme="dark"] .auth-sidebar,
:root[data-theme="dark"] .auth-info-card {
  background-color: var(--bg-surface) !important;
  border-color: var(--border-subtle) !important;
  color: var(--text-primary);
}
:root[data-theme="dark"] .auth-card h1,
:root[data-theme="dark"] .auth-sidebar h1,
:root[data-theme="dark"] .auth-info-card h1,
:root[data-theme="dark"] .auth-card h2,
:root[data-theme="dark"] .auth-sidebar h2,
:root[data-theme="dark"] .auth-info-card h2,
:root[data-theme="dark"] .auth-card h3,
:root[data-theme="dark"] .auth-sidebar h3,
:root[data-theme="dark"] .auth-info-card h3,
:root[data-theme="dark"] .auth-card .auth-card-title,
:root[data-theme="dark"] .auth-sidebar .auth-card-title,
:root[data-theme="dark"] .auth-info-card .auth-card-title {
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .auth-card p,
:root[data-theme="dark"] .auth-sidebar p,
:root[data-theme="dark"] .auth-info-card p,
:root[data-theme="dark"] .auth-card label,
:root[data-theme="dark"] .auth-sidebar label,
:root[data-theme="dark"] .auth-info-card label,
:root[data-theme="dark"] .auth-card .auth-help,
:root[data-theme="dark"] .auth-sidebar .auth-help,
:root[data-theme="dark"] .auth-info-card .auth-help,
:root[data-theme="dark"] .auth-card .auth-secondary,
:root[data-theme="dark"] .auth-sidebar .auth-secondary,
:root[data-theme="dark"] .auth-info-card .auth-secondary {
  color: var(--text-secondary) !important;
}
:root[data-theme="dark"] .auth-card a,
:root[data-theme="dark"] .auth-sidebar a,
:root[data-theme="dark"] .auth-info-card a {
  color: var(--link);
}
:root[data-theme="dark"] .auth-card a:hover,
:root[data-theme="dark"] .auth-sidebar a:hover,
:root[data-theme="dark"] .auth-info-card a:hover {
  color: var(--link-hover);
}
:root[data-theme="dark"] .auth-card .auth-info-callout,
:root[data-theme="dark"] .auth-sidebar .auth-info-callout,
:root[data-theme="dark"] .auth-info-card .auth-info-callout,
:root[data-theme="dark"] .auth-card .security-notice,
:root[data-theme="dark"] .auth-sidebar .security-notice,
:root[data-theme="dark"] .auth-info-card .security-notice {
  background-color: var(--bg-elevated) !important;
  border-color: var(--border-subtle) !important;
  color: var(--text-primary);
}
:root[data-theme="dark"] div#topicprint a,
:root[data-theme="dark"] a#topicprint_print,
:root[data-theme="dark"] a#topicprint_edit {
  background-color: var(--bg-elevated) !important;
  border-color: var(--border-subtle) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] div#topicprint a:hover,
:root[data-theme="dark"] a#topicprint_print:hover,
:root[data-theme="dark"] a#topicprint_edit:hover {
  background-color: var(--bg-surface) !important;
  border-color: var(--link) !important;
  color: var(--link) !important;
}
:root[data-theme="dark"] .filter-pills .filter-pill,
:root[data-theme="dark"] .filter-pills a,
:root[data-theme="dark"] .downloads-filter a,
:root[data-theme="dark"] .downloads-filter button,
:root[data-theme="dark"] a.view-all,
:root[data-theme="dark"] .view-all,
:root[data-theme="dark"] .guides-card .view-all,
:root[data-theme="dark"] .guides-card a.view-all {
  background-color: var(--bg-elevated) !important;
  border: 1px solid var(--border-subtle) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .filter-pills .filter-pill:hover,
:root[data-theme="dark"] .filter-pills a:hover,
:root[data-theme="dark"] .downloads-filter a:hover,
:root[data-theme="dark"] .downloads-filter button:hover,
:root[data-theme="dark"] a.view-all:hover,
:root[data-theme="dark"] .view-all:hover,
:root[data-theme="dark"] .guides-card .view-all:hover,
:root[data-theme="dark"] .guides-card a.view-all:hover,
:root[data-theme="dark"] .filter-pills .filter-pill:focus-visible,
:root[data-theme="dark"] .filter-pills a:focus-visible,
:root[data-theme="dark"] .downloads-filter a:focus-visible,
:root[data-theme="dark"] .downloads-filter button:focus-visible,
:root[data-theme="dark"] a.view-all:focus-visible,
:root[data-theme="dark"] .view-all:focus-visible,
:root[data-theme="dark"] .guides-card .view-all:focus-visible,
:root[data-theme="dark"] .guides-card a.view-all:focus-visible {
  background-color: var(--bg-surface) !important;
  border-color: var(--link) !important;
  color: var(--link) !important;
}
:root[data-theme="dark"] .filter-pills .filter-pill.active,
:root[data-theme="dark"] .filter-pills a.active,
:root[data-theme="dark"] .downloads-filter a.active,
:root[data-theme="dark"] .downloads-filter button.active,
:root[data-theme="dark"] a.view-all.active,
:root[data-theme="dark"] .view-all.active,
:root[data-theme="dark"] .guides-card .view-all.active,
:root[data-theme="dark"] .guides-card a.view-all.active,
:root[data-theme="dark"] .filter-pills .filter-pill[aria-current="page"],
:root[data-theme="dark"] .filter-pills a[aria-current="page"],
:root[data-theme="dark"] .downloads-filter a[aria-current="page"],
:root[data-theme="dark"] .downloads-filter button[aria-current="page"],
:root[data-theme="dark"] a.view-all[aria-current="page"],
:root[data-theme="dark"] .view-all[aria-current="page"],
:root[data-theme="dark"] .guides-card .view-all[aria-current="page"],
:root[data-theme="dark"] .guides-card a.view-all[aria-current="page"],
:root[data-theme="dark"] .filter-pills .filter-pill.is-current,
:root[data-theme="dark"] .filter-pills a.is-current,
:root[data-theme="dark"] .downloads-filter a.is-current,
:root[data-theme="dark"] .downloads-filter button.is-current,
:root[data-theme="dark"] a.view-all.is-current,
:root[data-theme="dark"] .view-all.is-current,
:root[data-theme="dark"] .guides-card .view-all.is-current,
:root[data-theme="dark"] .guides-card a.view-all.is-current {
  background-color: var(--link) !important;
  border-color: var(--link) !important;
  color: var(--bg-base) !important;
}
:root[data-theme="dark"] ul.links-strip > li {
  background-color: var(--bg-elevated) !important;
  border-color: var(--border-subtle) !important;
}
:root[data-theme="dark"] ul.links-strip > li > a {
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] ul.links-strip > li:hover,
:root[data-theme="dark"] ul.links-strip > li[selected='true'] {
  background-color: var(--link) !important;
  border-color: var(--link) !important;
}
:root[data-theme="dark"] ul.links-strip > li:hover > a,
:root[data-theme="dark"] ul.links-strip > li[selected='true'] > a {
  color: var(--bg-base) !important;
}
:root[data-theme="dark"] div.ISSearchResultsPager > a {
  background-color: var(--bg-elevated) !important;
  border-color: var(--border-subtle) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .showall > a {
  background-color: var(--bg-elevated) !important;
  border-color: var(--border-subtle) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] div.message_alert32,
:root[data-theme="dark"] div.message_Info32,
:root[data-theme="dark"] div.message_help32,
:root[data-theme="dark"] div.message_note32,
:root[data-theme="dark"] div.message_special32,
:root[data-theme="dark"] div.message_keyfeature32 {
  background-color: var(--bg-elevated) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] div.message_alert32 a,
:root[data-theme="dark"] div.message_Info32 a,
:root[data-theme="dark"] div.message_help32 a,
:root[data-theme="dark"] div.message_note32 a,
:root[data-theme="dark"] div.message_special32 a,
:root[data-theme="dark"] div.message_keyfeature32 a {
  color: var(--link) !important;
}
:root[data-theme="dark"] div.fieldMandatoryLegend > div.fieldMandatoryBox {
  background-color: #4a3f12 !important;
  /* dark amber so the "yellow" sample chip still reads as yellow */
  border-color: #6b5a1f !important;
  color: #fbe08a !important;
}
:root[data-theme="dark"] .required-fields-notice,
:root[data-theme="dark"] .required-fields-callout,
:root[data-theme="dark"] div.note.required {
  background-color: var(--bg-surface) !important;
  border: 1px solid var(--border-subtle) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .required-fields-notice .yellow-chip,
:root[data-theme="dark"] .required-fields-callout .yellow-chip,
:root[data-theme="dark"] div.note.required .yellow-chip,
:root[data-theme="dark"] .required-fields-notice .field-required-sample,
:root[data-theme="dark"] .required-fields-callout .field-required-sample,
:root[data-theme="dark"] div.note.required .field-required-sample {
  background-color: #4a3f12 !important;
  /* dark amber so the "yellow" chip still reads as yellow */
  color: #fbe08a !important;
  border: 1px solid #6b5a1f !important;
}
:root[data-theme="dark"] .pagination a,
:root[data-theme="dark"] .pager a,
:root[data-theme="dark"] ul.pagination a,
:root[data-theme="dark"] div.pager a,
:root[data-theme="dark"] .pagination span,
:root[data-theme="dark"] .pager span,
:root[data-theme="dark"] ul.pagination span,
:root[data-theme="dark"] div.pager span,
:root[data-theme="dark"] .pagination button,
:root[data-theme="dark"] .pager button,
:root[data-theme="dark"] ul.pagination button,
:root[data-theme="dark"] div.pager button,
:root[data-theme="dark"] .pagination li > a,
:root[data-theme="dark"] .pager li > a,
:root[data-theme="dark"] ul.pagination li > a,
:root[data-theme="dark"] div.pager li > a,
:root[data-theme="dark"] .pagination li > span,
:root[data-theme="dark"] .pager li > span,
:root[data-theme="dark"] ul.pagination li > span,
:root[data-theme="dark"] div.pager li > span {
  background-color: var(--bg-elevated) !important;
  border-color: var(--border-subtle) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .pagination a:hover,
:root[data-theme="dark"] .pager a:hover,
:root[data-theme="dark"] ul.pagination a:hover,
:root[data-theme="dark"] div.pager a:hover {
  background-color: var(--bg-surface) !important;
  border-color: var(--link) !important;
  color: var(--link) !important;
}
:root[data-theme="dark"] .pagination .current,
:root[data-theme="dark"] .pager .current,
:root[data-theme="dark"] ul.pagination .current,
:root[data-theme="dark"] div.pager .current,
:root[data-theme="dark"] .pagination li.current > span,
:root[data-theme="dark"] .pager li.current > span,
:root[data-theme="dark"] ul.pagination li.current > span,
:root[data-theme="dark"] div.pager li.current > span,
:root[data-theme="dark"] .pagination li.active > a,
:root[data-theme="dark"] .pager li.active > a,
:root[data-theme="dark"] ul.pagination li.active > a,
:root[data-theme="dark"] div.pager li.active > a,
:root[data-theme="dark"] .pagination .is-current,
:root[data-theme="dark"] .pager .is-current,
:root[data-theme="dark"] ul.pagination .is-current,
:root[data-theme="dark"] div.pager .is-current {
  background-color: var(--link) !important;
  border-color: var(--link) !important;
  color: var(--bg-base) !important;
}
:root[data-theme="dark"] .topic.is-widget-content label.is-label-heading {
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] label.is-mandatory {
  color: var(--link) !important;
}
:root[data-theme="dark"] input.is-textbox,
:root[data-theme="dark"] input.is-combobox,
:root[data-theme="dark"] input.is-datebox,
:root[data-theme="dark"] input.is-timebox,
:root[data-theme="dark"] input.is-numberbox,
:root[data-theme="dark"] select.is-combobox,
:root[data-theme="dark"] textarea.is-textbox {
  background-color: var(--input-bg) !important;
  border-color: var(--input-border) !important;
  color: var(--input-text) !important;
}
:root[data-theme="dark"] label.is-combobox {
  color: var(--text-secondary) !important;
}
:root[data-theme="dark"] input.is-mandatory,
:root[data-theme="dark"] select.is-mandatory,
:root[data-theme="dark"] textarea.is-mandatory {
  background-color: #4a3f12 !important;
  color: var(--input-text) !important;
}
:root[data-theme="dark"] input.is-textbox:focus,
:root[data-theme="dark"] input.is-combobox:focus,
:root[data-theme="dark"] input.is-datebox:focus,
:root[data-theme="dark"] input.is-timebox:focus,
:root[data-theme="dark"] input.is-numberbox:focus,
:root[data-theme="dark"] select.is-combobox:focus,
:root[data-theme="dark"] textarea.is-textbox:focus,
:root[data-theme="dark"] input.is-mandatory:focus,
:root[data-theme="dark"] select.is-mandatory:focus,
:root[data-theme="dark"] textarea.is-mandatory:focus {
  background-color: var(--bg-elevated) !important;
}
:root[data-theme="dark"] input.is-textbox:disabled,
:root[data-theme="dark"] input.is-combobox:disabled,
:root[data-theme="dark"] input.is-datebox:disabled,
:root[data-theme="dark"] input.is-timebox:disabled,
:root[data-theme="dark"] input.is-numberbox:disabled,
:root[data-theme="dark"] select.is-textbox:disabled,
:root[data-theme="dark"] textarea.is-textbox:disabled,
:root[data-theme="dark"] input.is-textbox[readonly="readonly"],
:root[data-theme="dark"] input.is-combobox[readonly="readonly"],
:root[data-theme="dark"] textarea.is-textbox[readonly="readonly"] {
  background-color: var(--bg-surface) !important;
  color: var(--text-muted) !important;
}
:root[data-theme="dark"] .is-widget-content button.is-combobox-button,
:root[data-theme="dark"] .is-widget-content button.is-combobox-button:hover {
  color: var(--text-secondary) !important;
}
:root[data-theme="dark"] div.is-dropdown {
  border-color: var(--border-strong) !important;
}
:root[data-theme="dark"] div.is-dropdown > ul,
:root[data-theme="dark"] div.is-dropdown > table {
  background-color: var(--bg-elevated) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] div.is-dropdown > ul > li:nth-child(odd):not(.is-sel) {
  background-color: var(--bg-elevated) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] div.is-dropdown > ul > li:nth-child(even):not(.is-sel) {
  background-color: var(--bg-surface) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] div.is-dropdown > ul > li:nth-child(odd):not(.is-sel):hover,
:root[data-theme="dark"] div.is-dropdown > ul > li:nth-child(even):not(.is-sel):hover {
  background-color: rgba(147, 174, 236, 0.18) !important;
}
:root[data-theme="dark"] div.is-dropdown > table > thead > tr > th {
  background-color: var(--bg-surface) !important;
  border-bottom-color: var(--border-subtle) !important;
  color: var(--text-secondary) !important;
}
:root[data-theme="dark"] div.is-dropdown > table > tbody > tr:nth-child(odd):not(.is-sel) {
  background-color: var(--bg-elevated) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] div.is-dropdown > table > tbody > tr:nth-child(even):not(.is-sel) {
  background-color: var(--bg-surface) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] div.is-dropdown > table > tbody > tr:nth-child(odd):not(.is-sel):hover,
:root[data-theme="dark"] div.is-dropdown > table > tbody > tr:nth-child(even):not(.is-sel):hover {
  background-color: rgba(147, 174, 236, 0.18) !important;
}
:root[data-theme="dark"] div.is-dropdown > table td {
  border-color: var(--border-subtle) !important;
}
:root[data-theme="dark"] div.ISSearchResults div.ISSearchItem a,
:root[data-theme="dark"] div.ISSearchResults div.ISSearchItemAlt a {
  color: var(--link) !important;
}
:root[data-theme="dark"] div.ISSearchResults div.ISSearchItem a:hover,
:root[data-theme="dark"] div.ISSearchResults div.ISSearchItemAlt a:hover {
  color: var(--link-hover) !important;
}
:root[data-theme="dark"] .topic a.download {
  background-color: rgba(39, 174, 96, 0.14);
  border-color: rgba(39, 174, 96, 0.45);
  color: #6ee7a8 !important;
}
:root[data-theme="dark"] .topic a.download:hover {
  background-color: rgba(39, 174, 96, 0.22);
  color: #8ff0bf !important;
}
:root[data-theme="dark"] .topic a.download:before {
  color: #6ee7a8 !important;
}
:root[data-theme="dark"] .topic .ArticleHeadingInfoBar table tr:nth-child(odd) {
  background-color: transparent;
}
:root[data-theme="dark"] div.uiModal,
:root[data-theme="dark"] div.modal-container,
:root[data-theme="dark"] div.uiModalContent,
:root[data-theme="dark"] div.modalContent {
  background-color: var(--bg-surface) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] div.uiModal .modalTitle,
:root[data-theme="dark"] div.modal-container .modalTitle,
:root[data-theme="dark"] div.uiModalContent .modalTitle,
:root[data-theme="dark"] div.modalContent .modalTitle,
:root[data-theme="dark"] div.uiModal .modal-header,
:root[data-theme="dark"] div.modal-container .modal-header,
:root[data-theme="dark"] div.uiModalContent .modal-header,
:root[data-theme="dark"] div.modalContent .modal-header,
:root[data-theme="dark"] div.uiModal .modalHeader,
:root[data-theme="dark"] div.modal-container .modalHeader,
:root[data-theme="dark"] div.uiModalContent .modalHeader,
:root[data-theme="dark"] div.modalContent .modalHeader {
  background-color: var(--bg-elevated) !important;
  color: var(--text-primary) !important;
  border-bottom: 1px solid var(--border-subtle) !important;
}
:root[data-theme="dark"] div.uiModal label,
:root[data-theme="dark"] div.modal-container label,
:root[data-theme="dark"] div.uiModalContent label,
:root[data-theme="dark"] div.modalContent label,
:root[data-theme="dark"] div.uiModal .fieldLabel,
:root[data-theme="dark"] div.modal-container .fieldLabel,
:root[data-theme="dark"] div.uiModalContent .fieldLabel,
:root[data-theme="dark"] div.modalContent .fieldLabel {
  color: var(--text-secondary) !important;
}
:root[data-theme="dark"] div.uiModal input[type="text"],
:root[data-theme="dark"] div.modal-container input[type="text"],
:root[data-theme="dark"] div.uiModalContent input[type="text"],
:root[data-theme="dark"] div.modalContent input[type="text"],
:root[data-theme="dark"] div.uiModal input[type="email"],
:root[data-theme="dark"] div.modal-container input[type="email"],
:root[data-theme="dark"] div.uiModalContent input[type="email"],
:root[data-theme="dark"] div.modalContent input[type="email"],
:root[data-theme="dark"] div.uiModal input[type="password"],
:root[data-theme="dark"] div.modal-container input[type="password"],
:root[data-theme="dark"] div.uiModalContent input[type="password"],
:root[data-theme="dark"] div.modalContent input[type="password"],
:root[data-theme="dark"] div.uiModal textarea,
:root[data-theme="dark"] div.modal-container textarea,
:root[data-theme="dark"] div.uiModalContent textarea,
:root[data-theme="dark"] div.modalContent textarea,
:root[data-theme="dark"] div.uiModal select,
:root[data-theme="dark"] div.modal-container select,
:root[data-theme="dark"] div.uiModalContent select,
:root[data-theme="dark"] div.modalContent select {
  background-color: var(--input-bg) !important;
  border-color: var(--input-border) !important;
  color: var(--input-text) !important;
}
:root[data-theme="dark"] input[type="submit"].normal,
:root[data-theme="dark"] button.normal.primary,
:root[data-theme="dark"] a.button.primary {
  background-color: var(--link) !important;
  border-color: var(--link) !important;
  color: var(--bg-base) !important;
}
:root[data-theme="dark"] input[type="submit"].normal:hover,
:root[data-theme="dark"] button.normal.primary:hover,
:root[data-theme="dark"] a.button.primary:hover {
  background-color: var(--link-hover) !important;
  border-color: var(--link-hover) !important;
}
:root[data-theme="dark"] .contact-panel,
:root[data-theme="dark"] .get-in-touch,
:root[data-theme="dark"] .contact-quick-links,
:root[data-theme="dark"] .contact-quick-links a,
:root[data-theme="dark"] .contact-tile,
:root[data-theme="dark"] .contact-info-box,
:root[data-theme="dark"] .contact-card {
  background-color: var(--bg-surface) !important;
  border-color: var(--border-subtle) !important;
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .contact-panel h1,
:root[data-theme="dark"] .get-in-touch h1,
:root[data-theme="dark"] .contact-quick-links h1,
:root[data-theme="dark"] .contact-quick-links a h1,
:root[data-theme="dark"] .contact-tile h1,
:root[data-theme="dark"] .contact-info-box h1,
:root[data-theme="dark"] .contact-card h1,
:root[data-theme="dark"] .contact-panel h2,
:root[data-theme="dark"] .get-in-touch h2,
:root[data-theme="dark"] .contact-quick-links h2,
:root[data-theme="dark"] .contact-quick-links a h2,
:root[data-theme="dark"] .contact-tile h2,
:root[data-theme="dark"] .contact-info-box h2,
:root[data-theme="dark"] .contact-card h2,
:root[data-theme="dark"] .contact-panel h3,
:root[data-theme="dark"] .get-in-touch h3,
:root[data-theme="dark"] .contact-quick-links h3,
:root[data-theme="dark"] .contact-quick-links a h3,
:root[data-theme="dark"] .contact-tile h3,
:root[data-theme="dark"] .contact-info-box h3,
:root[data-theme="dark"] .contact-card h3 {
  color: var(--text-primary) !important;
}
:root[data-theme="dark"] .contact-panel p,
:root[data-theme="dark"] .get-in-touch p,
:root[data-theme="dark"] .contact-quick-links p,
:root[data-theme="dark"] .contact-quick-links a p,
:root[data-theme="dark"] .contact-tile p,
:root[data-theme="dark"] .contact-info-box p,
:root[data-theme="dark"] .contact-card p,
:root[data-theme="dark"] .contact-panel .contact-sub,
:root[data-theme="dark"] .get-in-touch .contact-sub,
:root[data-theme="dark"] .contact-quick-links .contact-sub,
:root[data-theme="dark"] .contact-quick-links a .contact-sub,
:root[data-theme="dark"] .contact-tile .contact-sub,
:root[data-theme="dark"] .contact-info-box .contact-sub,
:root[data-theme="dark"] .contact-card .contact-sub {
  color: var(--text-secondary) !important;
}
:root[data-theme="dark"] .contact-quick-links a:hover,
:root[data-theme="dark"] .contact-tile:hover,
:root[data-theme="dark"] .contact-card:hover {
  background-color: var(--bg-elevated) !important;
  border-color: var(--link) !important;
}
:root[data-theme="dark"] .partner-logo,
:root[data-theme="dark"] .partner-tile,
:root[data-theme="dark"] .gridhomelogos > div,
:root[data-theme="dark"] .partner-grid > div {
  background-color: var(--bg-surface) !important;
  border: 1px solid var(--border-subtle) !important;
  box-shadow: none !important;
}
:root[data-theme="dark"] .feature-tile,
:root[data-theme="dark"] .home-feature,
:root[data-theme="dark"] .home-features > div {
  border-color: var(--border-subtle) !important;
}
:root[data-theme="dark"] .feature-tile:hover,
:root[data-theme="dark"] .home-feature:hover,
:root[data-theme="dark"] .home-features > div:hover {
  background-color: var(--bg-elevated) !important;
  border-color: var(--border-strong) !important;
}
/*
======================================================
Accessibility Mode (WCAG 2.2 AA+ profile, motion off)
======================================================
Driven by `<html data-accessibility="on">`. Set by the 4th segment of the theme slider, and persisted in localStorage. Also activated implicitly when the OS reports `prefers-reduced-motion: reduce` for first-time visitors.

The intent is to give users with vision, motor or cognitive needs a sturdier, calmer rendering — not a separate visual theme. Layout is unchanged. Adjustments are evidence-based against WCAG 2.2 AA (the conformance level mandated by NZ Web Accessibility Standard 1.2, March 2025) and lift selected criteria to AAA where practical:

  MOTION
  - All CSS transitions / animations are neutralised to ~0ms (WCAG 2.3.3 AAA).
  - SVG SMIL constellation orbs hidden (CSS animation rules don't affect SMIL).
  - Scroll-reveal pinned to visible state. Magnetic-button hover pinned to identity transform.
  - Heavy backdrop-filter blur removed (vestibular comfort + GPU cost).

  CONTRAST (WCAG 1.4.3 AA → AAA where feasible)
  - Body text contrast lifted toward 7:1 (AAA) on the bg-base surface.
  - Secondary text contrast lifted toward 4.5:1 (AAA large text → AAA normal text).
  - Borders lifted from "subtle" (low-vision invisible) to "strong" (≥3:1 against bg).

  TYPOGRAPHY (WCAG 1.4.12 AA)
  - Base font-size bumped from 15px to 17px so the 200% zoom requirement (1.4.4 AA) lands at 34px.
  - line-height ≥ 1.5 on body text.
  - letter-spacing ≥ 0.12em, word-spacing ≥ 0.16em on paragraph text.
  - paragraph margin ≥ 2× font-size.

  LINKS (WCAG 1.4.1 A — don't rely on colour alone)
  - All in-content links force `text-decoration: underline`.

  FOCUS (WCAG 2.4.7 AA + 2.4.13 Focus Appearance AAA)
  - 3px solid outline with 2px offset, in --link colour (AA contrast against any of our surfaces).

  TARGET SIZE (WCAG 2.5.8 AA → 2.5.5 AAA where feasible)
  - Buttons, anchor pills, form controls forced to ≥44×44 CSS pixels (iOS HIG / WCAG AAA).

  DECORATION
  - Translucent glass panels become opaque surfaces (low-vision users lose the layered effect anyway).
  - Hero gradient flattened to solid colour so text contrast is uniform across the section.
  - Background patterns (dot grid, bloom orbs, cursor glow) hidden.
*/

:root[data-accessibility="on"] {
  /* --------------------------------------------------------
     Token overrides — AAA-leaning palette, applied on top of the light theme (accessibility mode always resolves to data-theme="light").
     -------------------------------------------------------- */
  --bg-base: white;
  /* pure white — uniform background for max text contrast */
  --bg-surface: white;
  --bg-elevated: #f5f6f8;
  --bg-header: white;
  --border-subtle: #5a6378;
  /* lifted from #E5E5E5 — borders now meet 3:1 against white (1.4.11) */
  --border-strong: #2f3548;
  --text-primary: #15192a;
  /* 14.5:1 against white — AAA normal text */
  --text-secondary: #2f3548;
  /*  9.2:1 — comfortably AAA */
  --text-muted: #4e556c;
  /*  7.4:1 — still AAA normal text, no "grey" failure case */
  --link: #1f3d8c;
  /*  9.0:1 against white — strong primary blue */
  --link-hover: #122769;
  --input-bg: white;
  --input-border: #5a6378;
  --input-text: #15192a;
  /* --------------------------------------------------------
     Typography (WCAG 1.4.12 + 1.4.4)
     -------------------------------------------------------- */

  /* 200% zoom = 34px (1.4.4 AA) */

  /* paragraph spacing ≥ 2× font size pulse */

  /* --------------------------------------------------------
     Links (WCAG 1.4.1 — never colour alone)
     -------------------------------------------------------- */

  /* --------------------------------------------------------
     Focus (WCAG 2.4.7 AA + 2.4.13 AAA)
     -------------------------------------------------------- */

  /* Some interactive controls suppress the browser-default outline with outline:none; bring it back. */

  /* --------------------------------------------------------
     Target size (WCAG 2.5.5 AAA — 44×44)
     -------------------------------------------------------- */

  /* The theme-slider segments are deliberately exempt: they're 36px each because they belong to a tightly-grouped iOS-style segmented control where the whole 152px pill is the effective target. Forcing 44px width on each segment de-syncs the floating thumb track (which translates by 36px per position) — observed by Alex 2026-05-20. */

  /* Form fields — bump tap area to 44px */

  /* --------------------------------------------------------
     Decoration — flatten everything translucent
     -------------------------------------------------------- */

  /* Hero gradient → solid surface so text contrast is uniform across the section */

  /* CTA dark section — also flatten to a high-contrast surface. Recolour ALL descendants so styles that were designed for a dark surface (white text, white-ish icons, translucent panels) re-render legibly. */

  /* Glass panels → opaque surface. The theme slider is deliberately NOT in this list — it's a control, not a content panel; flattening it to --bg-surface (white) on a white page makes the thumb invisible and breaks the position indicator (reported by Alex 2026-05-20). The slider keeps its existing translucent-grey glass treatment, which already meets 3:1 against every backdrop. */

  /* Text colour fix-ups — base styles colour these as white-on-glass (because the original surfaces were dark blue or black). With glass flattened to white, white text became invisible (reported by Alex 2026-05-20). Repaint every label/headline on the now-opaque white surfaces. */

  /* Gradient hairline borders and pointer spotlights are decoration; drop them. */

  /* Phone capability pills were light-on-dark; repaint for the light hero. */

  /* Nodes and spokes were drawn light-on-dark; give them contrast on the light hero. */

  /* Closing call to action: its own rules paint the heading white with !important at higher specificity than the generic repaint above. */

  /* My Intersoft hero panel (My/Default, MyLogin) — same failure as the fix-ups above, on a panel that isn't a .hero-content / .glass and so was missed by both lists.
     #pnlMyIntro's own rules build a translucent-white glass card and paint its paragraphs and subscriptions table white with !important, because the base hero behind it is the dark navy gradient.
     With that hero flattened to --bg-base (white) higher up this block, the card lost its backdrop and every text run in it became white-on-white: the panel showed only the heading, the tick/cross images and the buttons (reported by Anita 2026-08-14).
     Flatten the card to the same opaque surface the other glass panels get, and repaint the text it holds. */

  /* The next two panels fail the same way as #pnlMyIntro above, for the same reason: their base rules are selected by ID, so they outrank the generic `.cta-section, .full-width.dark` repaint earlier in this block no matter how many classes that selector carries (an ID beats any number of classes).
     Both therefore keep their dark-surface colours after the section behind them has been flattened to a light one, and their links come out white-on-white.
     Each override below mirrors the treatment .contact-quick-chip and .intl-card already get — opaque surface, visible border, no blur or shadow, hover pinned to a light elevated state. */

  /* Homepage "Latest News" glass cards (Default.aspx). The card body text is repainted by the generic rule because it is not !important, but the headline anchors are — so the headlines vanished while their summaries stayed readable. */

  /* Support hero "Current Versions" table (Support/Default.aspx). The version links are painted near-white and the rows are banded with translucent white, both of which disappear once the section behind them is light. */

  /* Gradient text (heading words inside <span class="gradient-text">) — WCAG 1.4.1 frowns on relying on a gradient for emphasis because the effective contrast across the gradient varies. Force solid --text-primary so the whole headline reads at AAA contrast. */

  /* Buttons that were designed for dark/hero/CTA backgrounds use translucent-white fills + white text. With those sections flattened to light surfaces under a11y mode, those buttons become near-invisible (Alex 2026-05-20: "Contact Sales is almost invisible"). Force ALL primary action buttons sitting on the hero / CTA / dark contexts to a solid filled --link colour with white text — guaranteed AA (9:1 against --link blue). */

  /* These buttons keep the base inline-block layout here, so the arrow icon needs its own gap. */

  /* The "Trusted by 400+ lenders worldwide" hero-badge sits on the now-white hero — its base style is a translucent-white pill which is invisible on white. Give it a solid AAA-readable surface. */

  /* Contact-page quick chips (.contact-quick-chip) — glass cards with `color: white` + child label/sub also white. Repaint for the now-light hero. */

  /* Contact International cards (.intl-card) — same pattern: glass cards with white text on the dark international section. Section itself was already flattened above. */

  /* Background decoration hidden */

  /* --------------------------------------------------------
     Animation neutralisation (existing block below, kept)
     -------------------------------------------------------- */

  /* Stop the hero grid/constellation/cursor-glow motion. The dots become a static, slightly-on tint so the hero still has texture but nothing moves. */

  /* The hub constellation contains SVG SMIL animations (<animateMotion>) on the orbs that travel from the centre out to each module node. CSS `animation: none` does NOT affect SMIL animations — they are a separate animation system. Hiding the .con-particles group is the only reliable way to stop them in accessibility mode. (Reported by Alex 2026-05-20.) */

  /* Node, halo and chip pulses are CSS animations and ARE caught by the * rule above — but we also pin them to the static end-state explicitly so there's no momentary tween. */

  /* Chips keep their per-node transform (it is their position); only motion and parallax are removed. */

  /* Floating decoration "bubbles" (Established / Cloud Access etc. that Natalie flagged as overlapping the panel at narrow viewports). Hidden entirely in accessibility mode — Natalie's concern is bound to this mode rather than enforced site-wide for everyone. (Alex 2026-05-20.) */

  /* Magnetic-button hover + scroll-reveal — both wrap content in JS-driven motion. Pin transforms to identity. */

  /* Heavy backdrop-filter blurs are visually busy — replace with a flat tint that still gives the same hierarchy. */

}
html:root[data-accessibility="on"] {
  font-size: 17px;
}
:root[data-accessibility="on"] body,
:root[data-accessibility="on"] p,
:root[data-accessibility="on"] li,
:root[data-accessibility="on"] td,
:root[data-accessibility="on"] dd,
:root[data-accessibility="on"] blockquote {
  line-height: 1.6 !important;
  /* ≥1.5 (1.4.12) */
  letter-spacing: 0.012em;
  /* gentle bump, not the full 0.12em (which the spec says must be ALLOWED — not forced) */

}
:root[data-accessibility="on"] p {
  margin-bottom: 1.2em !important;
}
:root[data-accessibility="on"] a:not(.button):not([class*="btn"]):not([class*="-button"]):not(.theme-slider-segment):not(.about-tab):not(.mini-feature):not(.contact-quick-chip):not(.intl-card):not(.MyOption):not(.cmd-result):not(.partner-logo):not(.partner-tile):not(.filter-pill):not(.view-all) {
  text-decoration: underline !important;
  text-underline-offset: 0.18em;
  text-decoration-thickness: 1.5px;
}
:root[data-accessibility="on"] *:focus-visible {
  outline: 3px solid var(--link) !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 5px rgba(31, 61, 140, 0.18) !important;
}
:root[data-accessibility="on"] button:focus,
:root[data-accessibility="on"] input:focus,
:root[data-accessibility="on"] select:focus,
:root[data-accessibility="on"] textarea:focus,
:root[data-accessibility="on"] a:focus,
:root[data-accessibility="on"] [role="button"]:focus {
  outline: 3px solid var(--link) !important;
  outline-offset: 2px !important;
}
:root[data-accessibility="on"] button:not(.theme-slider-segment):not(.support-chooser-close):not(.mobile-submenu-toggle),
:root[data-accessibility="on"] input[type="button"],
:root[data-accessibility="on"] input[type="submit"],
:root[data-accessibility="on"] input[type="reset"],
:root[data-accessibility="on"] .button,
:root[data-accessibility="on"] a.button,
:root[data-accessibility="on"] a[role="button"],
:root[data-accessibility="on"] .filter-pill,
:root[data-accessibility="on"] .about-tab,
:root[data-accessibility="on"] .contact-quick-chip,
:root[data-accessibility="on"] .intl-card {
  min-height: 44px;
  min-width: 44px;
  padding-top: 10px;
  padding-bottom: 10px;
}
:root[data-accessibility="on"] input[type="text"],
:root[data-accessibility="on"] input[type="email"],
:root[data-accessibility="on"] input[type="password"],
:root[data-accessibility="on"] input[type="tel"],
:root[data-accessibility="on"] input[type="search"],
:root[data-accessibility="on"] input[type="url"],
:root[data-accessibility="on"] input[type="number"],
:root[data-accessibility="on"] select,
:root[data-accessibility="on"] textarea {
  min-height: 44px;
  padding: 10px 12px;
}
:root[data-accessibility="on"] .full-width.hero-gradient {
  background: var(--bg-base) !important;
  color: var(--text-primary) !important;
}
:root[data-accessibility="on"] .full-width.hero-gradient h1,
:root[data-accessibility="on"] .full-width.hero-gradient h2,
:root[data-accessibility="on"] .full-width.hero-gradient h3,
:root[data-accessibility="on"] .full-width.hero-gradient h4,
:root[data-accessibility="on"] .full-width.hero-gradient .hero-subtitle,
:root[data-accessibility="on"] .full-width.hero-gradient .hero-badge {
  color: var(--text-primary) !important;
}
:root[data-accessibility="on"] .full-width.hero-gradient .hero-subtitle {
  color: var(--text-secondary) !important;
}
:root[data-accessibility="on"] .full-width.hero-gradient .hero-badge {
  background-color: var(--bg-elevated) !important;
  border: 1px solid var(--border-subtle) !important;
  color: var(--text-primary) !important;
}
:root[data-accessibility="on"] .cta-section,
:root[data-accessibility="on"] .full-width.dark {
  background: var(--bg-elevated) !important;
  color: var(--text-primary) !important;
  /* Section labels (eyebrow text) — base .section-label.light is white */

  /* News / item cards — base uses translucent-white glass on the dark section */

  /* Decorative icon glyphs (white icons on dark) — repaint to brand colour */

}
:root[data-accessibility="on"] .cta-section h1,
:root[data-accessibility="on"] .full-width.dark h1,
:root[data-accessibility="on"] .cta-section h2,
:root[data-accessibility="on"] .full-width.dark h2,
:root[data-accessibility="on"] .cta-section h3,
:root[data-accessibility="on"] .full-width.dark h3,
:root[data-accessibility="on"] .cta-section h4,
:root[data-accessibility="on"] .full-width.dark h4 {
  color: var(--text-primary) !important;
}
:root[data-accessibility="on"] .cta-section p,
:root[data-accessibility="on"] .full-width.dark p,
:root[data-accessibility="on"] .cta-section li,
:root[data-accessibility="on"] .full-width.dark li,
:root[data-accessibility="on"] .cta-section td,
:root[data-accessibility="on"] .full-width.dark td,
:root[data-accessibility="on"] .cta-section dd,
:root[data-accessibility="on"] .full-width.dark dd,
:root[data-accessibility="on"] .cta-section blockquote,
:root[data-accessibility="on"] .full-width.dark blockquote {
  color: var(--text-secondary) !important;
}
:root[data-accessibility="on"] .cta-section .section-label,
:root[data-accessibility="on"] .full-width.dark .section-label,
:root[data-accessibility="on"] .cta-section span.section-label,
:root[data-accessibility="on"] .full-width.dark span.section-label,
:root[data-accessibility="on"] .cta-section span.section-label.light,
:root[data-accessibility="on"] .full-width.dark span.section-label.light {
  color: var(--link) !important;
  background-color: rgba(31, 61, 140, 0.1) !important;
}
:root[data-accessibility="on"] .cta-section .items .item,
:root[data-accessibility="on"] .full-width.dark .items .item,
:root[data-accessibility="on"] .cta-section .item,
:root[data-accessibility="on"] .full-width.dark .item {
  background-color: var(--bg-surface) !important;
  border: 1px solid var(--border-subtle) !important;
  color: var(--text-primary) !important;
}
:root[data-accessibility="on"] .cta-section .items .item a,
:root[data-accessibility="on"] .full-width.dark .items .item a,
:root[data-accessibility="on"] .cta-section .item a,
:root[data-accessibility="on"] .full-width.dark .item a {
  color: var(--link) !important;
  text-decoration: underline !important;
}
:root[data-accessibility="on"] .cta-section .items .item h2,
:root[data-accessibility="on"] .full-width.dark .items .item h2,
:root[data-accessibility="on"] .cta-section .item h2,
:root[data-accessibility="on"] .full-width.dark .item h2,
:root[data-accessibility="on"] .cta-section .items .item h3,
:root[data-accessibility="on"] .full-width.dark .items .item h3,
:root[data-accessibility="on"] .cta-section .item h3,
:root[data-accessibility="on"] .full-width.dark .item h3,
:root[data-accessibility="on"] .cta-section .items .item h4,
:root[data-accessibility="on"] .full-width.dark .items .item h4,
:root[data-accessibility="on"] .cta-section .item h4,
:root[data-accessibility="on"] .full-width.dark .item h4 {
  color: var(--text-primary) !important;
}
:root[data-accessibility="on"] .cta-section .items .item p,
:root[data-accessibility="on"] .full-width.dark .items .item p,
:root[data-accessibility="on"] .cta-section .item p,
:root[data-accessibility="on"] .full-width.dark .item p,
:root[data-accessibility="on"] .cta-section .items .item span,
:root[data-accessibility="on"] .full-width.dark .items .item span,
:root[data-accessibility="on"] .cta-section .item span,
:root[data-accessibility="on"] .full-width.dark .item span,
:root[data-accessibility="on"] .cta-section .items .item time,
:root[data-accessibility="on"] .full-width.dark .items .item time,
:root[data-accessibility="on"] .cta-section .item time,
:root[data-accessibility="on"] .full-width.dark .item time {
  color: var(--text-secondary) !important;
}
:root[data-accessibility="on"] .cta-section .glyph,
:root[data-accessibility="on"] .full-width.dark .glyph,
:root[data-accessibility="on"] .cta-section .item .glyph,
:root[data-accessibility="on"] .full-width.dark .item .glyph,
:root[data-accessibility="on"] .cta-section [class*="glyph-"],
:root[data-accessibility="on"] .full-width.dark [class*="glyph-"] {
  color: var(--link) !important;
  background-color: rgba(31, 61, 140, 0.1) !important;
}
:root[data-accessibility="on"] .hero-content,
:root[data-accessibility="on"] .floating-chip,
:root[data-accessibility="on"] .con-chip,
:root[data-accessibility="on"] .con-center-badge,
:root[data-accessibility="on"] .stats-bar .stat-items,
:root[data-accessibility="on"] .cta-section > .site-width,
:root[data-accessibility="on"] .glass,
:root[data-accessibility="on"] .glass-light,
:root[data-accessibility="on"] .support-chooser-dialog,
:root[data-accessibility="on"] .live-search-dropdown,
:root[data-accessibility="on"] .user-menu-dropdown {
  background-image: none !important;
  background-color: var(--bg-surface) !important;
  border: 1px solid var(--border-subtle) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}
:root[data-accessibility="on"] .con-chip,
:root[data-accessibility="on"] .con-chip--featured,
:root[data-accessibility="on"] .floating-chip,
:root[data-accessibility="on"] .floating-chip .chip-label,
:root[data-accessibility="on"] .floating-chip .chip-value,
:root[data-accessibility="on"] .trust-item,
:root[data-accessibility="on"] .hero-trust-row,
:root[data-accessibility="on"] .hero-content {
  color: var(--text-primary) !important;
}
:root[data-accessibility="on"] .floating-chip .chip-label,
:root[data-accessibility="on"] .trust-item .trust-icon {
  color: var(--text-secondary) !important;
}
:root[data-accessibility="on"] .con-chip .con-chip-icon {
  color: var(--link) !important;
}
:root[data-accessibility="on"] .hero-content:before,
:root[data-accessibility="on"] .hero-content:after,
:root[data-accessibility="on"] .cta-section > .site-width:before,
:root[data-accessibility="on"] .con-chip--ai:before {
  display: none !important;
}
:root[data-accessibility="on"] .con-cap-list li {
  color: var(--text-primary) !important;
  background: var(--bg-elevated) !important;
  box-shadow: inset 0 0 0 1px var(--border-subtle) !important;
}
:root[data-accessibility="on"] .con-node {
  fill: var(--link) !important;
}
:root[data-accessibility="on"] .con-link {
  stroke: var(--border-strong) !important;
}
:root[data-accessibility="on"] div.full-width.cta-section h2 {
  color: var(--text-primary) !important;
}
:root[data-accessibility="on"] div.full-width.cta-section p {
  color: var(--text-secondary) !important;
}
:root[data-accessibility="on"] div#pnlMyIntro > .site-width {
  background: var(--bg-surface) !important;
  border: 1px solid var(--border-subtle) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}
:root[data-accessibility="on"] div#pnlMyIntro p {
  color: var(--text-secondary) !important;
}
:root[data-accessibility="on"] div#pnlMyIntro p b {
  color: var(--text-primary) !important;
}
:root[data-accessibility="on"] div#pnlMyIntro table#subscriptions,
:root[data-accessibility="on"] div#pnlMyIntro table#subscriptions td {
  color: var(--text-secondary) !important;
}
:root[data-accessibility="on"] div#pnlMyIntro table#subscriptions img {
  filter: none !important;
}
:root[data-accessibility="on"] div#pnlHomeNews > .site-width > div > div.items > div.item {
  background-image: none !important;
  background-color: var(--bg-surface) !important;
  border: 1px solid var(--border-subtle) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}
:root[data-accessibility="on"] div#pnlHomeNews > .site-width > div > div.items > div.item a {
  color: var(--link) !important;
}
:root[data-accessibility="on"] div#pnlHomeNews > .site-width > div > div.items > div.item h2 {
  color: var(--text-primary) !important;
}
:root[data-accessibility="on"] div#pnlHomeNews > .site-width > div > div.items > div.item p,
:root[data-accessibility="on"] div#pnlHomeNews > .site-width > div > div.items > div.item .item-tag,
:root[data-accessibility="on"] div#pnlHomeNews > .site-width > div > div.items > div.item .item-more {
  color: var(--text-secondary) !important;
}
:root[data-accessibility="on"] div#pnlHomeNews > .site-width > div > div.items > div.item:before {
  display: none !important;
}
:root[data-accessibility="on"] div#pnlHomeNews > .site-width > div > div.items > div.item:hover {
  background-color: var(--bg-elevated) !important;
  border-color: var(--link) !important;
  transform: none !important;
  box-shadow: none !important;
}
:root[data-accessibility="on"] div#pnlSupportIntro div.right table a {
  color: var(--link) !important;
}
:root[data-accessibility="on"] div#pnlSupportIntro div.right table tr,
:root[data-accessibility="on"] div#pnlSupportIntro div.right table tr:nth-child(odd) {
  background-color: var(--bg-surface) !important;
}
:root[data-accessibility="on"] .gradient-text,
:root[data-accessibility="on"] .topic .gradient-text,
:root[data-accessibility="on"] .hero-content .gradient-text {
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  -webkit-text-fill-color: var(--text-primary) !important;
  color: var(--text-primary) !important;
}
:root[data-accessibility="on"] .hero-buttons button,
:root[data-accessibility="on"] .hero-buttons a.button,
:root[data-accessibility="on"] .cta-section button,
:root[data-accessibility="on"] .cta-section a.button,
:root[data-accessibility="on"] .full-width.hero-gradient button:not(.con-chip),
:root[data-accessibility="on"] .full-width.dark button,
:root[data-accessibility="on"] button.green,
:root[data-accessibility="on"] button.blue,
:root[data-accessibility="on"] button.red,
:root[data-accessibility="on"] a.button.green,
:root[data-accessibility="on"] a.button.blue,
:root[data-accessibility="on"] a.button.red {
  background: var(--link) !important;
  background-image: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  color: white !important;
  border: 1px solid var(--link) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
:root[data-accessibility="on"] .hero-buttons button:hover,
:root[data-accessibility="on"] .hero-buttons a.button:hover,
:root[data-accessibility="on"] .cta-section button:hover,
:root[data-accessibility="on"] .cta-section a.button:hover,
:root[data-accessibility="on"] .full-width.hero-gradient button:not(.con-chip):hover,
:root[data-accessibility="on"] .full-width.dark button:hover,
:root[data-accessibility="on"] button.green:hover,
:root[data-accessibility="on"] button.blue:hover,
:root[data-accessibility="on"] button.red:hover,
:root[data-accessibility="on"] a.button.green:hover,
:root[data-accessibility="on"] a.button.blue:hover,
:root[data-accessibility="on"] a.button.red:hover,
:root[data-accessibility="on"] .hero-buttons button:focus-visible,
:root[data-accessibility="on"] .hero-buttons a.button:focus-visible,
:root[data-accessibility="on"] .cta-section button:focus-visible,
:root[data-accessibility="on"] .cta-section a.button:focus-visible,
:root[data-accessibility="on"] .full-width.hero-gradient button:not(.con-chip):focus-visible,
:root[data-accessibility="on"] .full-width.dark button:focus-visible,
:root[data-accessibility="on"] button.green:focus-visible,
:root[data-accessibility="on"] button.blue:focus-visible,
:root[data-accessibility="on"] button.red:focus-visible,
:root[data-accessibility="on"] a.button.green:focus-visible,
:root[data-accessibility="on"] a.button.blue:focus-visible,
:root[data-accessibility="on"] a.button.red:focus-visible {
  background: var(--link-hover) !important;
  border-color: var(--link-hover) !important;
  color: white !important;
}
:root[data-accessibility="on"] .hero-buttons button .button-arrow,
:root[data-accessibility="on"] .cta-section .buttons button .button-arrow,
:root[data-accessibility="on"] #pnlHomeCustomers .buttons button .button-arrow {
  margin-left: 8px;
}
:root[data-accessibility="on"] .hero-badge {
  background-color: var(--bg-elevated) !important;
  border: 1px solid var(--border-subtle) !important;
  color: var(--text-primary) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
:root[data-accessibility="on"] .contact-quick-chip {
  background: var(--bg-surface) !important;
  border: 1px solid var(--border-subtle) !important;
  color: var(--text-primary) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}
:root[data-accessibility="on"] .contact-quick-chip .contact-chip-label {
  color: var(--text-primary) !important;
}
:root[data-accessibility="on"] .contact-quick-chip .contact-chip-sub {
  color: var(--text-secondary) !important;
}
:root[data-accessibility="on"] .contact-quick-chip .contact-chip-icon {
  background: var(--link) !important;
  background-image: none !important;
  color: white !important;
  box-shadow: none !important;
}
:root[data-accessibility="on"] .contact-quick-chip:hover,
:root[data-accessibility="on"] .contact-quick-chip:focus-visible {
  background: var(--bg-elevated) !important;
  border-color: var(--link) !important;
  transform: none !important;
  box-shadow: none !important;
}
:root[data-accessibility="on"] .intl-card {
  background: var(--bg-surface) !important;
  border: 1px solid var(--border-subtle) !important;
  color: var(--text-primary) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}
:root[data-accessibility="on"] .intl-card .intl-label {
  color: var(--text-muted) !important;
}
:root[data-accessibility="on"] .intl-card .intl-value {
  color: var(--text-primary) !important;
}
:root[data-accessibility="on"] .intl-card .intl-icon {
  background: var(--link) !important;
  background-image: none !important;
  color: white !important;
  box-shadow: none !important;
}
:root[data-accessibility="on"] .intl-card:hover,
:root[data-accessibility="on"] .intl-card:focus-visible {
  background: var(--bg-elevated) !important;
  border-color: var(--link) !important;
  transform: none !important;
}
:root[data-accessibility="on"] .dot-field,
:root[data-accessibility="on"] .grid-overlay,
:root[data-accessibility="on"] .hero-bloom,
:root[data-accessibility="on"] .cursor-glow,
:root[data-accessibility="on"] .hero-cursor-glow,
:root[data-accessibility="on"] .hero-particles,
:root[data-accessibility="on"] .bloom-orb,
:root[data-accessibility="on"] .con-particles,
:root[data-accessibility="on"] .con-halos,
:root[data-accessibility="on"] .con-hub-ring,
:root[data-accessibility="on"] .con-rings {
  display: none !important;
}
:root[data-accessibility="on"] *,
:root[data-accessibility="on"] *::before,
:root[data-accessibility="on"] *::after {
  animation-duration: 0.001ms !important;
  animation-delay: 0ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.001ms !important;
  transition-delay: 0ms !important;
  scroll-behavior: auto !important;
}
:root[data-accessibility="on"] .hero-constellation,
:root[data-accessibility="on"] .hero-grid,
:root[data-accessibility="on"] .hero-dots,
:root[data-accessibility="on"] .hero-cursor-glow,
:root[data-accessibility="on"] .hero-particles {
  animation: none !important;
  transform: none !important;
  transition: none !important;
}
:root[data-accessibility="on"] .hero-cursor-glow,
:root[data-accessibility="on"] .hero-particles {
  display: none !important;
  /* purely-decorative cursor glow / particles — remove entirely */

}
:root[data-accessibility="on"] .con-particles {
  display: none !important;
}
:root[data-accessibility="on"] .con-node,
:root[data-accessibility="on"] .con-node--featured,
:root[data-accessibility="on"] .con-halos circle {
  animation: none !important;
  transform: none !important;
  opacity: 1 !important;
}
:root[data-accessibility="on"] .con-chip,
:root[data-accessibility="on"] .con-center-badge,
:root[data-accessibility="on"] .con-link {
  animation: none !important;
  opacity: 1 !important;
  stroke-dashoffset: 0 !important;
}
:root[data-accessibility="on"] .con-chips,
:root[data-accessibility="on"] .con-chip,
:root[data-accessibility="on"] .constellation-svg,
:root[data-accessibility="on"] .con-center-badge {
  translate: none !important;
  scale: none !important;
}
:root[data-accessibility="on"] .con-center-badge {
  transform: translate(-50%, -50%) !important;
}
:root[data-accessibility="on"] .hero-floating-stats,
:root[data-accessibility="on"] .hero-floating-stat,
:root[data-accessibility="on"] .floating-badge {
  display: none !important;
}
:root[data-accessibility="on"] .magnetic-btn,
:root[data-accessibility="on"] .magnetic-button {
  transform: none !important;
}
:root[data-accessibility="on"] .reveal {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}
:root[data-accessibility="on"] .glass,
:root[data-accessibility="on"] .glass-light,
:root[data-accessibility="on"] .support-chooser-dialog,
:root[data-accessibility="on"] .theme-slider {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
/*
======================================================
Theme slider (floating, bottom-left, iOS-style)
======================================================
Three explicit positions: Left = Light, Middle = System, Right = Dark. The user clicks the segment they want; localStorage persists the choice. Visual is an iOS-style segmented control — a track with a floating white thumb that springs between positions on click. */
.theme-slider {
  position: fixed;
  bottom: 20px;
  left: 20px;
  z-index: 90;
  /* below modals (which sit at 9999+) but above ordinary content */
  display: inline-flex;
  align-items: center;
  padding: 4px;
  /* Opacity bumped 0.16 → 0.32 → 0.48 so the slider reads as a defined pill on every backdrop. Flynn (J036935 #9) reported the slider was barely visible over the white footer in light mode — 0.32 was enough on dark sections but disappeared on the white footer band. 0.48 keeps the glassy iOS look on coloured surfaces while staying clearly defined on white. */
  /* Light glass with a defined edge and shadow, so it stays visible over white sections as well as dark ones (Flynn, J036935 #9). */
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(17, 26, 51, 0.14);
  border-radius: 999px;
  box-shadow: 0 1px 3px rgba(17, 26, 51, 0.1), 0 16px 32px -16px rgba(17, 26, 51, 0.45);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  backdrop-filter: blur(24px) saturate(180%);
  font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
  /* Floating thumb — slides between segment positions with spring physics. */

  /* Slide the thumb and darken the active segment's icon (dark icon on white thumb reads naturally) — driven by data-theme-preference on <html> */

  /* Toast — confirmation pill that appears briefly above the slider when the user changes theme. role="status" / aria-live="polite" makes screen-readers announce the change. */

  /* On phones, sit a bit closer to the corner so it doesn't crowd content */

}
.theme-slider .theme-slider-track {
  position: absolute;
  top: 4px;
  left: 4px;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: linear-gradient(180deg, #5a7be0, #3d5aa9);
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 1;
  pointer-events: none;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 6px 14px -6px rgba(61, 90, 169, 0.9);
}
.theme-slider .theme-slider-segment {
  position: relative;
  z-index: 2;
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 999px;
  cursor: pointer;
  /* Inactive icons: opaque enough to read on any backdrop (was 0.6 — became invisible over dark sections) */
  color: #5b6680;
  transition: color 0.2s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.15s cubic-bezier(0.22, 0.61, 0.36, 1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  /* sun */

  /* desktop */

  /* moon */

  /* universal-access */

}
.theme-slider .theme-slider-segment:hover {
  color: #1e2547;
}
.theme-slider .theme-slider-segment:active {
  transform: scale(0.92);
}
.theme-slider .theme-slider-segment:focus-visible {
  outline: 2px solid var(--link);
  outline-offset: 3px;
}
.theme-slider .theme-slider-segment .theme-slider-icon {
  font-family: isfas;
  font-size: 14px;
  line-height: 1;
}
.theme-slider .theme-slider-segment[data-theme-set="light"] .theme-slider-icon:before {
  content: "\f185";
}
.theme-slider .theme-slider-segment[data-theme-set="system"] .theme-slider-icon:before {
  content: "\f108";
}
.theme-slider .theme-slider-segment[data-theme-set="dark"] .theme-slider-icon:before {
  content: "\f186";
}
.theme-slider .theme-slider-segment[data-theme-set="accessibility"] .theme-slider-icon:before {
  content: "\f29a";
}
:root[data-theme-preference="light"] .theme-slider .theme-slider-track {
  transform: translateX(0);
}
:root[data-theme-preference="system"] .theme-slider .theme-slider-track {
  transform: translateX(36px);
}
:root[data-theme-preference="dark"] .theme-slider .theme-slider-track {
  transform: translateX(72px);
}
:root[data-theme-preference="accessibility"] .theme-slider .theme-slider-track {
  transform: translateX(108px);
}
:root[data-theme-preference="light"] .theme-slider .theme-slider-segment[data-theme-set="light"],
:root[data-theme-preference="system"] .theme-slider .theme-slider-segment[data-theme-set="system"],
:root[data-theme-preference="dark"] .theme-slider .theme-slider-segment[data-theme-set="dark"],
:root[data-theme-preference="accessibility"] .theme-slider .theme-slider-segment[data-theme-set="accessibility"] {
  /* White icon on the blue thumb. */
  color: white;
}
.theme-slider .theme-slider-toast {
  position: absolute;
  bottom: calc(108%);
  left: 0;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(28, 28, 30, 0.92);
  /* iOS toast dark fill, near-opaque so the message is unambiguous */
  color: white;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.01em;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(6px) scale(0.96);
  transform-origin: bottom left;
  transition: opacity 0.18s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
  pointer-events: none;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25), 0 1px 3px rgba(0, 0, 0, 0.15);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  z-index: 3;
  /* Render empty by default — only appears when JS sets text + adds .is-visible */

}
.theme-slider .theme-slider-toast:empty {
  display: none;
}
.theme-slider .theme-slider-toast.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}
@media screen and (max-width: 720px) {
  .theme-slider {
    bottom: 14px;
    left: 14px;
  }
}
/*
======================================================
Theme Slider — animated collapse / expand
======================================================
The full 4-segment pill is intrusive when sitting permanently in the corner — especially on mobile. Default state collapses to a single-icon pill showing the currently-active theme at reduced opacity, so the widget is recognisable but quiet. Hovering (on hover-capable devices) or tapping (on touch devices) adds the `.is-expanded` class, which animates the inactive segments back in (width 0 → 36px, opacity 0 → 1, scale 0.5 → 1) and lifts the container opacity to fully opaque. Esc, outside-tap, or selecting a segment removes `.is-expanded` again (segment-select keeps it visible for ~900ms so the toast confirmation has time to display).

JS owns the `.is-expanded` toggle exclusively — using CSS `:hover` to drive expansion would leave the slider stuck open on touch devices after a tap. Lives in initThemeToggle (Scripts/general.js).

Accessibility mode disables transitions globally via the existing `*` rule at general.less:8031 — the expand/collapse becomes instant when motion is off, no extra code needed. */

/* Slider container — transparent + compact in the default (collapsed) state, fully opaque when expanded. */

.theme-slider {
  transition: opacity 0.28s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.theme-slider:not(.is-expanded) {
  opacity: 0.45;
  cursor: pointer;
}
.theme-slider.is-expanded {
  opacity: 1;
}
/* Segments need width + opacity in the transition list so the collapse animation reads as a smooth shrink-back rather than a snap. Overrides the existing color/transform-only transition on the same selector (same specificity, source order wins because this rule sits later in the file). */

.theme-slider .theme-slider-segment {
  transition: color 0.2s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), width 0.28s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.18s cubic-bezier(0.22, 0.61, 0.36, 1);
}
/* Hide every non-active segment when collapsed. The active segment stays at full size — and because the others have width:0 in the flex row, the active segment naturally ends up at the leftmost visible position regardless of which one it is. */

:root[data-theme-preference="light"] .theme-slider:not(.is-expanded) .theme-slider-segment:not([data-theme-set="light"]),
:root[data-theme-preference="system"] .theme-slider:not(.is-expanded) .theme-slider-segment:not([data-theme-set="system"]),
:root[data-theme-preference="dark"] .theme-slider:not(.is-expanded) .theme-slider-segment:not([data-theme-set="dark"]),
:root[data-theme-preference="accessibility"] .theme-slider:not(.is-expanded) .theme-slider-segment:not([data-theme-set="accessibility"]) {
  width: 0;
  opacity: 0;
  transform: scale(0.5);
  pointer-events: none;
  overflow: hidden;
  padding: 0;
  margin: 0;
}
/* Track snaps to position 0 when collapsed. The existing data-theme-preference rules at the top of the .theme-slider block push the track to positions 0/36/72/108 — those still apply when .is-expanded; this override only kicks in when collapsed, where the active segment is the only one shown and sits at position 0. The `:root` prefix bumps specificity to (0,3,1) to match the existing `:root[data-theme-preference=…] .theme-slider .theme-slider-track` rule; source order then decides, and this is later in the file so it wins. */

:root .theme-slider:not(.is-expanded) .theme-slider-track {
  transform: translateX(0);
}
/* Dark mode — invert the colour tokens so the slider reads naturally on dark surfaces */

:root[data-theme="dark"] .theme-slider {
  background: rgba(22, 31, 56, 0.78);
  border-color: rgba(255, 255, 255, 0.1);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4), 0 4px 14px rgba(0, 0, 0, 0.5);
  /* Active segment in dark mode: bright text on the dark thumb */

}
:root[data-theme="dark"] .theme-slider .theme-slider-track {
  background: linear-gradient(180deg, #5a7be0, #3d5aa9);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 6px 14px -6px rgba(0, 0, 0, 0.8);
}
:root[data-theme="dark"] .theme-slider .theme-slider-segment {
  color: rgba(235, 235, 245, 0.5);
}
:root[data-theme="dark"] .theme-slider .theme-slider-segment:hover {
  color: rgba(235, 235, 245, 0.85);
}
:root[data-theme-preference="light"] :root[data-theme="dark"] .theme-slider .theme-slider-segment[data-theme-set="light"],
:root[data-theme-preference="system"] :root[data-theme="dark"] .theme-slider .theme-slider-segment[data-theme-set="system"],
:root[data-theme-preference="dark"] :root[data-theme="dark"] .theme-slider .theme-slider-segment[data-theme-set="dark"],
:root[data-theme-preference="accessibility"] :root[data-theme="dark"] .theme-slider .theme-slider-segment[data-theme-set="accessibility"] {
  color: white;
}
/*
======================================================
J036935 — round-2 layout / theme-agnostic fixes (2026-05-20)
======================================================
Targeted overrides for the issues that aren't dark-mode-only.
Most go through CSS variables so they auto-theme.
Each rule cites the feedback author + screenshot number. */

/* Contact-page .office-info: long email links wrapped in .linkmailto/.linkexternal pills overflow the column at narrow widths because the pill is inline-block and inline-block ignores `word-break`. Allow the chip to wrap and cap its width to its parent. Caroline #6.Contact Page (email exceeds box). Flynn #15 (contact details don't line up). */

.office-info .oi-text a.linkmailto,
.office-info .oi-text a.linkexternal,
.office-info .oi-text a.linkinternal {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: normal;
}
/* Homepage mini-feature tiles: Martin asked us to lose the white/grey top border ("makes them look 3d, sooooooo 90's brah") and Flynn #16 reported the tiles look interactive on hover but go nowhere, and that their default border is too faint to give the layout definition. Strengthen the border, suppress the inset-highlight 3D edge, and downgrade the hover so the tile reads as a passive feature card. Tiles that ARE links keep their interactive hover via the existing `a.mini-feature` rule. */

.mini-feature,
.feature-cards-stack .mini-feature {
  /* Suppress the inset white "top" highlight that pre-existed as a 3D effect */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
  border-color: var(--border-strong) !important;
}
/* Non-anchor tiles (passive feature cards) — keep static, neutral hover */

div.mini-feature:not(a):hover,
.feature-cards-stack > div.mini-feature:not(a):hover {
  transform: none !important;
  background-color: var(--bg-base) !important;
  border-color: var(--border-strong) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
  cursor: default;
}
/* Footer dot-strip (Flynn #17 — the strip above the footer feels redundant in light mode, most noticeable there). The strip is `.dot-field` projected up into the bottom of certain full-width sections. Suppress the dot-field projection in light mode for the section that sits directly above the footer; leave the hero's own dot-field intact. */

:root[data-theme="light"] div.full-width:last-of-type .dot-field,
:root[data-theme="light"] #pnlHomeWork ~ .full-width .dot-field {
  display: none !important;
}
/* Partner logo tiles (About → Partners): on light mode the existing tile chrome has mixed brightness (some logos sit on a near-white background, some on a slightly different tint, some are empty placeholders). Normalise every tile to one consistent translucent surface so the LOGO is the focal point, not the chrome. Combined with the `mix-blend-mode` rule below this gives uniform optical weight. Jo (Monoova broken image) is fixed in the ASPX markup. Flynn #10 — "mixed logo backgrounds + empty rectangles". */

.partner-logo,
.partner-tile,
.gridhomelogos > div,
.partner-grid > div {
  background-color: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  box-shadow: none;
  /* Empty tiles (no <img> child) should be hidden rather than rendered as ghost rectangles. */

}
.partner-logo:empty,
.partner-tile:empty,
.gridhomelogos > div:empty,
.partner-grid > div:empty {
  display: none !important;
}
.partner-logo img,
.partner-tile img,
.gridhomelogos > div img,
.partner-grid > div img {
  /* Light-mode default; dark mode is overridden in the dark-block. mix-blend-mode `multiply` lets logos drawn on their own white backgrounds blend cleanly with the tile surface. */
  mix-blend-mode: multiply;
}
:root[data-theme="dark"] .partner-logo img,
:root[data-theme="dark"] .partner-tile img,
:root[data-theme="dark"] .gridhomelogos > div img,
:root[data-theme="dark"] .partner-grid > div img {
  mix-blend-mode: screen;
  /* dark surface — invert the blend so a white logo background reads as glow rather than block */
  filter: brightness(0.92);
}
/* Device-style frame for screenshots (Flynn #8 — "doesn't look great"). The homepage "Access From Any Device" panel now uses the .device-showcase browser frame (see the Work section); these selectors remain for any page that still uses .deviceShowcase. */

div.deviceShowcase,
div.deviceShowcase > img,
img.deviceShowcase {
  border-radius: 10px;
  background-color: var(--bg-surface);
  padding: 14px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4) inset, 0 24px 60px -20px rgba(15, 20, 38, 0.35), 0 8px 20px -8px rgba(15, 20, 38, 0.25);
}
div.deviceShowcase img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
  box-shadow: 0 8px 20px -10px rgba(0, 0, 0, 0.2);
}
:root[data-theme="dark"] div.deviceShowcase,
:root[data-theme="dark"] div.deviceShowcase > img,
:root[data-theme="dark"] img.deviceShowcase {
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset, 0 24px 60px -20px rgba(0, 0, 0, 0.55), 0 8px 20px -8px rgba(0, 0, 0, 0.45);
}
/* Forgotten-password "Remind" submit button (Flynn #18 — drifting/off-centre). The pre-existing rule centred the button via `display: block; margin: 0 auto;`, but the surrounding form-table layout was overriding that on certain widths. Force the centring with `align-self: center` for flex parents and a fallback `margin-inline: auto`. */

#cphMain #cmdRemind,
input[type="submit"][value="Remind"],
input.normal[name*="cmdRemind"] {
  display: inline-block;
  margin-inline: auto;
  align-self: center;
}
/* Horizontal-overflow guard for `.full-width` sections (Martin + Flynn #13). Originally we used `overflow-x: hidden` on both `html` and `.full-width`, because `.full-width` then used `width: 100vw` which includes the vertical-scrollbar gutter and so genuinely overflowed by ~17px. `.full-width` has since been refactored to `width: 100%` (see div.full-width rule, line ~2609), so the 17px overflow is gone — but the `overflow-x: hidden` declarations had a second, separately-harmful effect we hit later: per CSS Overflow Module Level 3, setting `overflow-x: hidden` on an element with default `overflow-y: visible` promotes `overflow-y` to `auto`, turning the element into a scroll container that paints a vertical scrollbar on any tiny overflow. Every `.full-width` section thus became a scroll container, and `.reveal` children (which start at `transform: translateY(16–30px)` before the IntersectionObserver flips them to 0) painted ~16–30px below their parent's layout box, which the implicit `overflow-y: auto` faithfully decorated with a short scrollbar — the "tiny pointless scrollbar" Alex reported on 2026-05-20. Using `overflow-x: clip` clips horizontally without creating a scroll container, so the other axis stays `visible` and no scrollbar appears. We also removed the `html { overflow-x: hidden }` rule for the same reason (it broke `body`'s overflow propagation to the viewport). NOTE: do NOT use `scrollbar-gutter: stable` on html — it reserves an EMPTY gutter even when no scroll thumb is needed, which renders as a visible "weird" band on short pages. */

.full-width {
  overflow-x: clip;
}
/*
======================================================
J036935 mobile drawer — deterministic visibility rules
======================================================
The legacy `body.mobilemenu div.site-menu { display: block; position: fixed; ... }` relies on specificity to beat the `@media (max-width:840)` `div#sitemenu { display: none }` rule. Force the win with !important so the drawer ALWAYS paints when body has .mobilemenu.

CRITICAL: `header#header` has `backdrop-filter: blur(18px)`. Per CSS spec, an ancestor with `backdrop-filter` (or transform/filter/perspective/will-change) becomes the containing block for `position: fixed` descendants — the drawer was being positioned relative to the 64px-tall header instead of the viewport, collapsing to 0 height. (Alex 2026-05-20: hamburger click toggled the class but nothing appeared, horizontal scrollbar flickered because the drawer fell back to a block-level child pushing layout sideways.) Solution: kill backdrop-filter on the header WHEN the drawer is open, so .site-menu's position:fixed anchors to the viewport again. The header is mostly covered by the drawer in this state so losing the glass effect is invisible. */

body.mobilemenu .header-wrapper,
body.mobilemenu header#header {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.mobilemenu div#sitemenu {
  display: inline-block !important;
}
body.mobilemenu div.site-menu {
  display: block !important;
  position: fixed !important;
  top: 64px;
  right: 0;
  bottom: 0;
  width: 100%;
  z-index: 9999;
  background-color: #12121c;
  color: white;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
/*
======================================================
Mobile pass — Caroline 2026-05-20 (J036935)
======================================================
Three reported issues on iPhone:
  1. Hamburger button non-functional / menu items not tappable
  2. Theme toggle button non-functional
  3. Scrolling broken

Defensive fixes — most likely root causes covered:
  - Ensure the hamburger anchor is on top of any decoration (no fixed element overlaps it)
  - Ensure mobile-menu surface inherits dark/light tokens (was rendering with white-on-white)
  - Allow iOS momentum scrolling, restore `-webkit-overflow-scrolling: touch`
  - Stop the page from auto-locking to a fixed body when an open hamburger collides with overflow:hidden */

@media screen and (max-width: 720px) {
  /* Restore iOS momentum scrolling and guarantee the html element is the scroll container. Setting overflow on both html and body simultaneously sometimes breaks momentum on iOS Safari — keep overflow on html only. */
  
  html,
  body {
    -webkit-overflow-scrolling: touch;
  }
  body {
    overflow-y: visible;
    /* let html scroll the page, not body */
  
  }
  /* When the hamburger drawer is open, allow the drawer itself to scroll independently and prevent the underlying body from scrolling (so swipes in the open drawer work). */
  
  body.mobilemenu {
    overflow: hidden;
    position: fixed;
    width: 100%;
  }
  /* Hamburger trigger — make sure it sits above the floating theme slider and a11y toggle (which are z-index: 90) and is fully tappable. */
  
  #mobilemenu {
    position: relative;
    z-index: 100;
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  /* Floating theme slider: at phone widths, sink it BELOW the open drawer (the drawer covers it when open), so taps within the drawer don't fall through. */
  
  body.mobilemenu .theme-slider {
    display: none;
  }
  /* Drawer item tap targets — make every menu link a real 44px touch target on iOS HIG. */
  
  body.mobilemenu div.site-menu a {
    display: block;
    padding: 14px 18px;
    min-height: 44px;
  }
}
/* iPhone-only safe-area inset so the floating theme slider clears the home-indicator. The calc() values are wrapped in ~"..." escape so dotless passes them through verbatim instead of trying to arithmetic-evaluate env() at compile time. Unwrapped `@supports` is unsupported by dotless 1.x — the rules are applied unconditionally; env() falls back to 0 on browsers that don't recognise it, so the calc resolves to the base offset and layout stays correct. */

.theme-slider {
  bottom: calc(20px + env(safe-area-inset-bottom));
  left: calc(20px + env(safe-area-inset-left));
}
@media screen and (max-width: 720px) {
  .theme-slider {
    bottom: calc(14px + env(safe-area-inset-bottom));
    left: calc(14px + env(safe-area-inset-left));
  }
}
.topic {
  padding: 0 0 24px 0;
  /* Direct children of .topic share the standard content column (@SITE_MAX_WIDTH, centred) defined by the `.topic > *:not(.full-width)` rule in general.less.
     A legacy max-width:800px cap used to live here for prose readability, but the column rule's higher specificity already overrides it for prose — leaving the cap active only for the class-bearing selectors it also named (table.ISForm and the message boxes).
     That stranded those elements in a narrower 800px column which margin:auto then centred, so on a wide viewport a form table floated out to mid-page, out of line with the left-aligned heading, buttons and results box (the "weird" look on EmailList and the other direct-child ISForm pages).
     The cap has been removed so form tables and message boxes align to the same column as everything else. */

  /* Responsive */

}
@media screen and (max-width: 1320px) {
  .topic {
    padding: 12px;
  }
}
.topic table.normaltable td,
.topic table.normaltable th,
.topic table.normaltable caption {
  font-size: 0.85em;
}
.topic p {
  line-height: 1.85;
  margin-bottom: 1em;
  margin-top: 0;
  color: #444444;
  font-size: 15px;
}
.topic h1 {
  color: var(--text-primary);
  font-size: 36px;
  font-weight: 600;
  letter-spacing: -0.02em;
  margin-bottom: 14px;
  margin-top: 48px;
  line-height: 1.15;
}
.topic h1:first-of-type {
  margin-top: 16px;
}
.topic h2 {
  color: var(--text-primary);
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -0.015em;
  margin: 2em 0 0.6em 0;
  padding: 0 0 0.15em 0;
  line-height: 1.25;
}
.topic h3 {
  color: var(--text-primary);
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.01em;
  margin: 1.8em 0 0.6em 0;
  line-height: 1.35;
}
.topic h4 {
  color: var(--text-primary);
  font-size: 18px;
  font-weight: 500;
  margin: 1.5em 0 0.4em 0;
  line-height: 1.4;
}
.topic h5 {
  color: var(--text-primary);
  font-size: 16px;
  font-weight: 600;
  margin: 1.2em 0 0.3em 0;
  line-height: 1.5;
  text-decoration: none;
}
/* Eyebrow / micro labels */

.topic .eyebrow,
.topic h6 {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #3d5aa9;
  line-height: 1.5;
  margin: 1em 0 0.4em 0;
}
.topic h5 {
  color: #e3222f;
  font-size: 1.8em;
  font-weight: bold;
  text-decoration: line-through;
}
.topic h1 a,
.topic h2 a,
.topic h3 a,
.topic h4 a {
  color: var(--text-primary);
  text-decoration: none;
}
.topic h1 a:hover,
.topic h2 a:hover,
.topic h3 a:hover {
  color: #2f4684;
  text-decoration: none;
}
.topic a:hover.bookmark {
  text-decoration: none;
}
.topic a.linkexternal {
  background-color: rgba(46, 163, 242, 0.06);
  color: #2f4684 !important;
  border: 1px solid rgba(46, 163, 242, 0.15);
  border-radius: 4px;
  display: inline-block;
  padding: 2px 6px;
  text-decoration: none !important;
  font-weight: 500;
  transition: all 0.15s ease;
}
.topic a.linkexternal:hover {
  background-color: rgba(46, 163, 242, 0.12);
  color: #253666 !important;
}
.topic a.linkexternal:before {
  font-family: isfas;
  content: "\f0ac";
  margin-right: 4px;
  font-size: 0.85em;
}
.topic a.linkinternal {
  background-color: rgba(46, 163, 242, 0.06);
  color: #2f4684 !important;
  border: 1px solid rgba(46, 163, 242, 0.12);
  border-radius: 4px;
  display: inline-block;
  padding: 2px 4px;
  text-decoration: none !important;
  font-weight: 500;
  transition: all 0.15s ease;
}
.topic a.linkinternal.deprecated {
  color: var(--text-muted) !important;
  background-color: rgba(0, 0, 0, 0.02);
  border-color: rgba(0, 0, 0, 0.04);
}
.topic a.linkinternal:hover {
  background-color: rgba(46, 163, 242, 0.12);
  color: #253666 !important;
}
.topic a.linkaddress {
  background-color: var(--bg-base);
  color: #2f4684 !important;
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  display: inline-block;
  padding: 2px 6px;
  text-decoration: none !important;
  transition: all 0.15s ease;
}
.topic a.linkaddress:hover {
  background-color: rgba(46, 163, 242, 0.1);
  color: #253666 !important;
}
.topic a.linkinvalid {
  border-bottom: 1px dotted #e3222f;
  color: #e3222f;
  text-decoration: none;
}
.topic a.linkmailto {
  background-color: rgba(46, 163, 242, 0.06);
  color: #2d5f7a !important;
  border: 1px solid rgba(46, 163, 242, 0.12);
  border-radius: 4px;
  display: inline-block;
  padding: 2px 6px;
  text-decoration: none !important;
  font-weight: 500;
  transition: all 0.15s ease;
}
.topic a.linkmailto:hover {
  background-color: rgba(46, 163, 242, 0.12);
  color: #1a4a5f !important;
}
.topic a.linkmailto:before {
  font-family: isfas;
  content: "\f0e0";
  margin-right: 4px;
  font-size: 0.85em;
}
/* Begin Section Outlines */

/* End Section Outlines */

/* Begin Image Styles */

.topic div.image {
  margin-bottom: 1.25em;
  margin-top: 1.25em;
}
.topic td div.image {
  margin-bottom: 2px;
  margin-top: 2px;
}
.topic div.imageleft {
  clear: both;
  float: left;
  margin-right: 8px;
  margin-bottom: 8px;
  margin-top: 8px;
}
.topic div.imageright {
  clear: both;
  float: right;
  margin-left: 8px;
  margin-bottom: 8px;
  margin-top: 8px;
}
.topic div.imagecenter {
  clear: both;
  margin-bottom: 8px;
  margin-top: 8px;
  text-align: center;
}
.topic img.imageinline {
  vertical-align: middle;
}
/* End Image Styles */

/* Begin Code Blocks */

.topic pre.normalcode {
  background-color: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  display: inline-block;
  margin-bottom: 16px;
  margin-top: 16px;
  padding: 16px 20px;
  width: 858px;
  max-width: 100%;
  overflow: auto;
  font-size: 13px;
  line-height: 1.7;
}
.topic td pre.codenormal {
  margin-bottom: 0px;
  margin-top: 0px;
}
.topic pre.codenoborder {
  display: inline-block;
}
/* End Code Blocks */

/* Begin Normal List*/

.topic ul,
.topic ul.normallist {
  line-height: 180%;
  margin-top: 8px;
  margin-bottom: 16px;
  padding: 0;
  font-size: 15px;
  color: #444444;
}
.topic ul > li,
.topic ul.normallist > li {
  list-style: none;
  margin-bottom: 8px;
  margin-left: 18px;
  position: relative;
}
.topic ul > li:before,
.topic ul.normallist > li:before {
  color: #b0b8c0;
  content: "\f0da";
  position: absolute;
  left: 0;
  font-family: isfas;
  margin-left: -16px;
  margin-right: 2px;
}
.topic ul.normallist p,
.topic ol.normallist p {
  margin: 0;
  padding: 0;
}
.topic ul.normallist ul,
.topic ol.normallist ul {
  line-height: 150%;
  list-style: circle outside;
  margin-bottom: 4px;
  margin-top: 4px;
  margin-left: 16px;
  padding: 0;
}
.topic ol.normallist {
  line-height: 150%;
  list-style: decimal outside;
  margin-top: 0px;
  margin-left: 32px;
  margin-bottom: 6px;
  padding: 0;
}
.topic ol.normallist ol,
.topic ul.normallist ol {
  line-height: 150%;
  list-style: decimal outside;
}
.topic ul.normallist li,
.topic ol.normallist li,
.topic ol.normallist li,
.topic ul.normallist li {
  margin-bottom: 4px;
}
/* End Normal List */

/* Begin Normal Table */

.topic table.normaltable {
  margin: 1.5em 0;
  background: white;
  border: 1px solid var(--border-subtle);
  border-collapse: collapse;
  font-size: 14px;
  line-height: 1.6;
}
.topic table.normaltable th,
.topic table.normaltable td {
  border: 1px solid var(--border-subtle);
  padding: 8px 12px;
}
.topic table.normaltable th {
  font-weight: 600;
  background: var(--bg-base);
  color: var(--text-secondary);
  font-size: 13px;
}
.topic table.normaltable caption {
  margin-left: inherit;
  margin-right: inherit;
  font-weight: 600;
}
.topic table.normaltable code {
  background-color: transparent;
}
.topic div.message_quote {
  background-image: url(../hlpPOWER/images/Template_QuoteL.gif);
  background-repeat: no-repeat;
  background-position: top left;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 12px;
  margin-top: 12px;
  padding-left: 20px;
}
.topic a.download {
  background-color: rgba(39, 174, 96, 0.06);
  color: #2d5f42 !important;
  border: 1px solid rgba(39, 174, 96, 0.15);
  border-radius: 4px;
  display: inline-block;
  padding: 2px 6px;
  text-decoration: none !important;
  font-weight: 500;
  transition: all 0.15s ease;
}
.topic a.download:hover {
  background-color: rgba(39, 174, 96, 0.12);
  color: #1e4a30 !important;
}
.topic a.download:before {
  color: #7ab89a;
  font-family: isfas;
  content: "\f063";
  margin-right: 4px;
  font-size: 0.85em;
}
/* ####################### */

/* Start Message Templates */

/* ####################### */

div.messageouter {
  margin-bottom: 12px;
  margin-top: 12px;
  text-align: left;
}
div.messageouter ul {
  margin-top: 0;
  margin-bottom: 0;
  line-height: 150%;
}
div.message_info {
  background-image: url(../img/Info.gif);
  background-position: 0px 3px;
  background-repeat: no-repeat;
  color: #16a34a;
  padding: 2px;
  padding-left: 20px;
  text-align: left;
}
div.message_alert32 {
  background-color: #fdf6f5;
  border-radius: 6px;
  border: 1px solid #e8d4d0;
  border-left: 4px solid #d4837a;
  color: #6b3a34;
  display: inline-block;
  padding: 12px 16px 12px 44px;
  text-align: left;
  min-height: 40px;
  line-height: 160%;
  width: 100%;
  max-width: 1280px;
  position: relative;
}
div.message_alert32:before {
  color: #d4837a;
  font-family: isfas;
  font-size: 20px;
  content: "\f06a";
  display: inline-block;
  position: absolute;
  left: 16px;
  top: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
  width: 24px;
  height: 22px;
}
div.message_alert32 > p {
  padding: 0;
  margin: 0;
}
div.message_Info32 {
  background-color: #f5f9fd;
  border-radius: 6px;
  border: 1px solid #d0dee8;
  border-left: 4px solid #7abed4;
  color: #2d5f7a;
  display: inline-block;
  padding: 12px 16px 12px 44px;
  text-align: left;
  min-height: 40px;
  line-height: 160%;
  width: 100%;
  max-width: 1280px;
  position: relative;
}
div.message_Info32:before {
  color: #7abed4;
  font-family: isfas;
  font-size: 20px;
  content: "\f05a";
  display: inline-block;
  position: absolute;
  left: 16px;
  top: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
  width: 24px;
  height: 22px;
}
div.message_Info32 > p {
  padding: 0;
  margin: 0;
}
div.message_help32 {
  background-color: #f5faf7;
  border-radius: 6px;
  border: 1px solid #d0e4d8;
  border-left: 4px solid #7ab89a;
  color: #2d5f42;
  display: inline-block;
  padding: 12px 16px 12px 44px;
  text-align: left;
  min-height: 40px;
  line-height: 160%;
  width: 100%;
  max-width: 1280px;
  position: relative;
}
div.message_help32:before {
  color: #7ab89a;
  font-family: isfas;
  font-size: 20px;
  content: "\f059";
  display: inline-block;
  position: absolute;
  left: 16px;
  top: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
  width: 24px;
  height: 22px;
}
div.message_help32 > p {
  padding: 0;
  margin: 0;
}
div.message_keyfeature32 {
  background-color: var(--bg-base);
  background-position: 4px center;
  background-repeat: no-repeat;
  border: 1px solid var(--border-subtle);
  border-left: 3px solid #3d5aa9;
  border-radius: 4px;
  color: var(--text-primary);
  font-size: 16px;
  font-variant: normal;
  font-weight: 600;
  letter-spacing: -0.01em;
  padding: 12px 16px;
  text-align: left;
  min-height: 18px;
  line-height: 1.4;
}
div.message_note32 {
  background-color: #fdfaf3;
  border-radius: 6px;
  border: 1px solid #e8dec8;
  border-left: 4px solid #d4b86a;
  color: #6b5a2d;
  display: inline-block;
  padding: 12px 16px 12px 44px;
  text-align: left;
  min-height: 40px;
  line-height: 160%;
  width: 100%;
  max-width: 1280px;
  position: relative;
}
div.message_note32 a {
  background-color: rgba(180, 155, 80, 0.1) !important;
  color: #6b5a2d !important;
  border: 1px solid rgba(180, 155, 80, 0.2) !important;
  border-radius: 4px;
  display: inline-block;
  padding: 2px 4px;
  text-decoration: none !important;
}
div.message_note32:before {
  color: #d4b86a;
  font-family: isfas;
  font-size: 20px;
  content: "\f249";
  display: inline-block;
  position: absolute;
  left: 16px;
  top: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
  width: 24px;
  height: 22px;
}
div.message_note32 > p {
  padding: 0;
  margin: 0;
}
.topic div.message_special32 {
  background-color: #fdf8f3;
  border-radius: 6px;
  border: 1px solid #e8d8c8;
  border-left: 4px solid #d4a06a;
  color: #6b4a2d;
  display: inline-block;
  padding: 12px 16px 12px 44px;
  text-align: left;
  min-height: 40px;
  line-height: 160%;
  width: 100%;
  max-width: 1280px;
  position: relative;
}
.topic div.message_special32 a {
  background-color: rgba(180, 130, 70, 0.1) !important;
  color: #6b4a2d !important;
  border: 1px solid rgba(180, 130, 70, 0.15) !important;
  border-radius: 4px;
  display: inline-block;
  padding: 2px 4px;
  text-decoration: none !important;
}
.topic div.message_special32:before {
  color: #d4a06a;
  font-family: isfas;
  font-size: 20px;
  content: "\f005";
  display: inline-block;
  position: absolute;
  left: 16px;
  top: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
  width: 24px;
  height: 22px;
}
.topic div.message_special32 > p {
  padding: 0;
  margin: 0;
}
div.message_warning {
  background-image: url(../img/Warning.gif);
  background-position: 0px 3px;
  background-repeat: no-repeat;
  color: #e3222f;
  padding: 2px;
  padding-left: 20px;
  text-align: left;
}
td div.messageouter,
p div.messageouter {
  margin-bottom: 0;
  margin-top: 0;
}
div.errormessage {
  background-color: #fdfaf9;
  border: 1px solid #e8d4d0;
  border-radius: 4px;
  color: #6b3a34;
  font-family: "courier new";
  padding: 12px;
  word-wrap: hyphenate;
}
/* ####################### */

/* End Message Templates */

/* ####################### */

.topic .ArticleHeadingInfoBar {
  color: var(--text-muted);
  font-size: 13px;
  margin-bottom: 16px;
  margin-top: 4px;
  padding-bottom: 8px;
}
.topic .ArticleHeadingInfoBar a {
  font-size: 14px;
  padding: 8px;
}
.topic .ArticleHeadingInfoBar table.ISForm {
  width: 100%;
  max-width: 400px;
}
.topic .ArticleHeadingInfoBar table.ISForm tbody > tr > th {
  padding: 0;
  width: 60px;
  white-space: nowrap;
}
.topic .ArticleHeadingInfoBar table.ISForm tbody > tr > td {
  padding: 0;
  font-weight: 600;
}
div.KeyList ul,
div.KeyList ul.normallist {
  padding: 0;
  margin: 0;
  margin-left: 0px;
}
div.KeyList ul li {
  list-style: none;
}
div.KeyList ul li:before {
  color: #aabbcc;
  font-family: isfas;
  content: "\f069";
  margin-right: 8px;
}
table.VideoGallery h2 {
  margin: 0;
  padding: 0;
  border: none;
}
table.VideoGallery td {
  border-bottom: 1px solid var(--border-subtle);
  padding-bottom: 8px;
}
table.VideoGallery td a {
  color: #3d5aa9;
}
table.VideoGallery td a:hover {
  color: #293c71;
}
div.NextPrevious {
  margin: 16px 0 16px 0;
}
div.NextPrevious a.linkinternal {
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  width: 80px;
}
div.NextPrevious span {
  color: var(--text-muted);
  font-weight: normal;
}
.syntax_keyword {
  color: #2e86c1;
}
.syntax_comment {
  color: #27ae60;
}
.syntax_string {
  background-color: #fdfaf3;
  color: #6b5a2d;
}
.syntax_highlight {
  background-color: #f5f0e0;
}
.syntax_xmlcomment {
  color: #2d8c9e;
}
/*
Screen Templates
*/

/* Browser */

div.screen_browser {
  cursor: zoom-in;
  display: block;
  width: 482px;
  margin: 8px 0 8px 43px;
  outline: none;
  position: relative;
  z-index: 1;
  transition: all 0.2s;
}
div.screen_browser > div {
  height: 295px;
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
  overflow: hidden;
  transition: all 0.2s;
}
div.screen_browser > div > img {
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
  left: 1px;
  top: 25px;
  width: 480px;
  transition: all 0.2s;
}
div.screen_browser > div.overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 419px;
  background-image: url(../Content/img/browser_template.png);
  background-size: 482px 295px;
  background-repeat: no-repeat;
}
div.screen_browser > span {
  display: block;
  padding: 4px;
  text-align: center;
  font-size: 0.8em;
}
div.screen_browser.full {
  cursor: zoom-out;
  width: 962px;
  transition: all 0.2s;
}
div.screen_browser.full > div {
  height: 589px;
}
div.screen_browser.full > div > img {
  left: 1.5px;
  top: 49px;
  width: 960px;
}
div.screen_browser.full > div.overlay {
  height: 838px;
  background-size: 962px 589px;
}
/* Laptop */

div.screen_laptop {
  cursor: zoom-in;
  display: block;
  width: 569px;
  margin: 8px 0 8px 0;
  outline: none;
  position: relative;
  z-index: 1;
  transition: all 0.2s;
}
div.screen_laptop > div {
  height: 332px;
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
  overflow: hidden;
  transition: all 0.2s;
}
div.screen_laptop > div > img {
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
  left: 44px;
  top: 16px;
  width: 481px;
  transition: all 0.2s;
}
div.screen_laptop > div.overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 332px;
  background-image: url(../Content/img/laptop_template.png);
  background-size: 569px 332px;
  background-repeat: no-repeat;
}
div.screen_laptop > span {
  display: block;
  padding: 4px;
  text-align: center;
  font-size: 0.8em;
}
div.screen_laptop.full {
  cursor: zoom-out;
  width: 1138px;
  transition: all 0.2s;
}
div.screen_laptop.full > div {
  height: 664px;
}
div.screen_laptop.full > div > img {
  left: 88px;
  top: 32px;
  width: 961px;
}
div.screen_laptop.full > div.overlay {
  height: 664px;
  background-size: 1138px 664px;
}
/* Phone */

div.screen_phone {
  cursor: zoom-in;
  display: block;
  width: 200px;
  margin: 8px 0 8px 43px;
  outline: none;
  position: relative;
  z-index: 1;
  transition: all 0.2s;
}
div.screen_phone > div {
  height: 378px;
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
  overflow: hidden;
  transition: all 0.2s;
}
div.screen_phone > div > img {
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
  left: 6px;
  top: 17px;
  width: 188px;
  transition: all 0.2s;
}
div.screen_phone > div.overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 378px;
  background-image: url(../Content/img/phone_template2.png);
  background-size: 200px 378px;
  background-repeat: no-repeat;
}
div.screen_phone > span {
  display: block;
  padding: 4px;
  text-align: center;
  font-size: 0.8em;
}
div.screen_phone.full {
  cursor: zoom-out;
  width: 400px;
  transition: all 0.2s;
}
div.screen_phone.full > div {
  height: 756px;
}
div.screen_phone.full > div > img {
  left: 12px;
  top: 33px;
  width: 376px;
}
div.screen_phone.full > div.overlay {
  height: 756px;
  background-size: 400px 756px;
}
/* Generic */

div.screen_generic {
  cursor: zoom-in;
  display: block;
  outline: none;
  position: relative;
  z-index: 1;
  transition: all 0.2s;
}
div.screen_generic > div {
  display: inline-block;
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
  overflow: hidden;
  transition: all 0.2s;
}
div.screen_generic > div > img {
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
  left: 0;
  top: 0;
  width: 50%;
  transition: all 0.2s;
}
div.screen_generic > div.overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
div.screen_generic > span {
  display: block;
  padding: 4px;
  text-align: center;
  font-size: 0.8em;
}
div.screen_generic.full {
  cursor: zoom-out;
  transition: all 0.2s;
}
div.screen_generic.full > div > img {
  width: 100%;
}
/* Laptop + Phone */

div.laptop_phone {
  display: inline-block;
  position: relative;
  margin-bottom: 12px;
}
div.laptop_phone > div.screen_phone {
  position: absolute;
  top: 18px;
  right: -80px;
  transform: scale(0.75);
}
div.laptop_phone > div.screen_phone img {
  -webkit-filter: drop-shadow(-2px -2px 1px rgba(0, 0, 0, 0.1));
}
/* Responsive */

@media screen and (max-width: 400px) {
  div.screenshot {
    transform: scale(0.64);
    transform-origin: top left;
    margin-bottom: -300px;
  }
  div.laptop_phone div.screen_phone {
    right: 0;
    left: 196px;
    transform: scale(0.64);
  }
  div.laptop_phone div.screen_phone.full {
    left: -44px;
    top: 0;
  }
}
/*
#####################################################################################

  CSS tweaks for HTML Widgets running on the Intersoft Website

  Version Date: 23-Sep-2020

#####################################################################################
*/

body {
  overflow-x: hidden;
}
input[type="checkbox"] {
  -webkit-appearance: checkbox;
}
.is-widget-content table.is-form {
  font-size: 14px;
}
.is-widget-content table.is-form td[ng-bind] {
  font-weight: bold;
}
/*
=========================================
Within a Topic, e.g., Dealer Support Form
=========================================
*/

.topic.is-widget-content div.is-widget-form-body {
  padding: 0;
  margin-top: 8px;
}
.topic.is-widget-content label.is-label-heading {
  color: #0f172a;
  font-size: 22px;
  font-weight: 600;
  margin: 12px 0 4px 0;
  padding: 0 0 2px 0;
}
.topic.is-widget-content th > label.is-label-heading {
  margin-left: -8px;
}
/*
===============
Widget Controls
===============
*/
.is-widget-content input.is-textbox,
.is-widget-content textarea.is-textbox,
.is-widget-content input.is-datebox,
.is-widget-content input.is-combobox,
.is-widget-content input.is-timebox,
.is-widget-content input.is-numberbox {
  border-color: #e2e8f0 !important;
  border-radius: 6px !important;
  font-size: 14px;
  padding: 8px !important;
  height: auto !important;
}
.is-widget-content input.is-textbox.is-datebox,
.is-widget-content textarea.is-textbox.is-datebox,
.is-widget-content input.is-datebox.is-datebox,
.is-widget-content input.is-combobox.is-datebox,
.is-widget-content input.is-timebox.is-datebox,
.is-widget-content input.is-numberbox.is-datebox {
  padding-right: 20px !important;
}
.is-widget-content input.is-textbox.is-readonly,
.is-widget-content textarea.is-textbox.is-readonly,
.is-widget-content input.is-datebox.is-readonly,
.is-widget-content input.is-combobox.is-readonly,
.is-widget-content input.is-timebox.is-readonly,
.is-widget-content input.is-numberbox.is-readonly {
  background-color: #f0f0f0 !important;
  color: #202020 !important;
}
.is-widget-content input.is-textbox:focus,
.is-widget-content textarea.is-textbox:focus,
.is-widget-content input.is-datebox:focus,
.is-widget-content input.is-combobox:focus,
.is-widget-content input.is-timebox:focus,
.is-widget-content input.is-numberbox:focus {
  box-shadow: none !important;
  box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.1) !important;
}
.is-widget-content button.is-combobox-button {
  border: none !important;
  height: 30px !important;
  line-height: 34px !important;
}
.is-widget-content button.is-combobox-button:before {
  content: "\e936";
  font-size: 10px;
  top: 3px;
  position: relative;
}
.is-widget-content button.is-combobox-button:hover {
  background-color: transparent !important;
  color: black;
}
.is-widget-content div.is-dropdown {
  margin-top: -3px;
  border-color: #e2e8f0;
  border-radius: 0 0 6px 6px;
  animation: none;
  transform-origin: top left;
}
.is-widget-content div.is-dropdown.active .is-grid-container {
  top: 30px !important;
}
.is-widget-content div.is-dropdown ul > li,
.is-widget-content div.is-dropdown > table td,
.is-widget-content div.is-dropdown > table th {
  padding: 8px;
}
.is-widget-content div.is-dropdown button.dbcombo-search {
  border: none !important;
  height: 30px !important;
}
.is-widget-content label.is-combobox {
  line-height: 30px;
}
.is-widget-content button.is-button {
  border-radius: 30px !important;
  line-height: 36px;
  height: 38px;
}
.is-widget-content button.small {
  line-height: 33px;
  height: 32px !important;
}
.is-widget-content input.is-datebox {
  width: 9em !important;
}
.is-widget-content span.is-checkbox {
  height: 22px;
}
.is-widget-content span.is-checkbox input:checked + label,
.is-widget-content span.is-checkbox input:not(:checked) + label {
  font-size: 13px;
  line-height: 22px;
  padding-left: 24px;
  top: -2px;
}
.is-widget-content span.is-checkbox input:checked + label:before,
.is-widget-content span.is-checkbox input:not(:checked) + label:before {
  color: limegreen;
  content: "\F16B" !important;
  border: none;
  font-size: 18px;
  font-weight: normal;
  line-height: 18px;
  overflow: visible;
  width: 18px;
  height: 18px;
}
.is-widget-content span.is-checkbox input:focus + label:before {
  box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.2) !important;
}
.is-widget-content span.is-checkbox input:checked + label:before {
  color: "pink";
  content: "\F16E" !important;
}
.is-widget-content span.is-checkbox input:checked + label.is-radio-button:before,
.is-widget-content span.is-checkbox input:not(:checked) + label.is-radio-button:before {
  border: none;
  border-radius: 20px;
  color: silver;
  content: "\f138" !important;
  font-size: 22px;
  line-height: 20px;
  top: -2px;
  margin-left: -1px;
}
.is-widget-content span.is-checkbox input:checked + label.is-radio-button:before {
  color: "pink";
  content: "\E1D2" !important;
}
.is-widget-content .is-file-upload {
  background-color: transparent;
  border-radius: 8px;
  margin-bottom: 8px;
  padding: 8px;
}
.is-widget-content .is-file-upload label.addfile > div {
  border-radius: 8px;
  margin-right: 8px;
}
