/* ISMS Elements v0.2 — element styles.
   Adapted from the sussexseo.net component library (proportions, spacing rhythm, type scale) into the ISMS.online
   brand: mint #36FE97 is the signature accent (sussexseo's teal/gold), moss #00260F the dark surface and text accent,
   blue #365AFD the action colour, crystal tints for soft surfaces, neulis-sans headings, inter body.
   Tokens come from the theme (resources/css/app.css :root) with hard fallbacks.
   The theme's app.css sits in @layer base, so these unlayered rules win over it. template-longform.css is NOT layered
   and uses #content-block h2/h3/h4 — elements avoid heading tags except section-head, which carries its own guard.
   Alignment rule (v0.2): text that sits beside a partner (icon, badge, pill, dot, number, button) is vertically
   middle-aligned with it; beside multi-line copy the partner is level with the FIRST line: items set their line box
   (--lh) and the partner is offset by (lh - size) / 2. */

.isms-el {
	--isms-el-mint: var(--color-mint, #36FE97);
	--isms-el-mint-dark: var(--color-mint-dark, #29B36C);
	--isms-el-moss: var(--color-moss, #00260F);
	--isms-el-blue: var(--color-blue, #365AFD);
	--isms-el-blue-dark: #2746D6;
	--isms-el-crystal: var(--color-crystal, #D5FFEA);
	--isms-el-crystal-light: var(--color-crystal-light, #EDFFF5);
	--isms-el-crystal-dark: var(--color-crystal-dark, #AEFFD6);
	--isms-el-grey: var(--color-grey, #EEEEF1);
	--isms-el-grey-dark: var(--color-grey-dark, #4D4D4D);
	--isms-el-black: var(--color-black, #000000);
	--isms-el-white: var(--color-white, #FFFFFF);
	--isms-el-red: var(--color-red, #FD365E);
	--isms-el-orange: var(--color-orange, #FE8336);
	--isms-el-yellow: var(--color-yellow, #FFE037);

	--isms-el-ink: var(--color-black, #000000);
	--isms-el-muted: var(--color-grey-dark, #4D4D4D);
	--isms-el-surface: #FFFFFF;
	--isms-el-surface-2: #F6F7F8;
	--isms-el-line: rgba(0, 38, 15, 0.13);
	--isms-el-line-2: rgba(0, 38, 15, 0.24);
	--isms-el-mint-tint: rgba(54, 254, 151, 0.22);
	--isms-el-blue-tint: rgba(54, 90, 253, 0.10);
	--isms-el-red-tint: rgba(253, 54, 94, 0.12);
	--isms-el-yellow-tint: rgba(255, 224, 55, 0.30);
	--isms-el-r: 10px;
	--isms-el-r-lg: 14px;
	--isms-el-small: 0.9375rem;
	--isms-el-font-head: "neulis-sans", sans-serif;
	--isms-el-font-body: "inter", sans-serif;

	box-sizing: border-box;
	display: block;
	margin-block: 2rem;
	color: var(--isms-el-ink);
	font-family: var(--isms-el-font-body);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
}
.isms-el *, .isms-el *::before, .isms-el *::after { box-sizing: inherit; }
/* Reset the theme's list/paragraph rhythm inside elements (app.css @layer base: ul margin-left, li + li margin,
   li/p font 300 25px, p mb-6). Zero specificity (:where) so every element class below wins over the reset, while
   still beating the theme's layered base rules (unlayered always wins over layered). */
:where(.isms-el) :where(ul, ol) { list-style: none; margin: 0; padding: 0; }
:where(ul.isms-el, ol.isms-el) { list-style: none; margin-inline: 0; padding: 0; }
:where(figure.isms-el, blockquote.isms-el, nav.isms-el, aside.isms-el) { margin-inline: 0; }
:where(.isms-el) li { margin: 0; padding: 0; font-size: inherit; line-height: inherit; font-weight: inherit; font-family: inherit; }
:where(.isms-el) li::marker { content: none; }
:where(.isms-el) p { margin: 0; font-size: inherit; line-height: inherit; font-weight: inherit; font-family: inherit; }
:where(.isms-el) :where(dl, dd, figure, blockquote, figcaption) { margin: 0; padding: 0; }
:where(.isms-el) strong { font-weight: 700; }
/* links: branded in every context (the theme's own rule only underlines and fades, so nothing is left to it) */
:where(.isms-el) a { --isms-el-link: 1; color: var(--isms-el-ink); font-weight: 600; text-decoration: underline; text-decoration-color: var(--isms-el-mint-dark); text-decoration-thickness: 2px; text-underline-offset: 3px; transition: color 0.15s, text-decoration-color 0.15s; }
:where(.isms-el) a:hover { color: var(--isms-el-moss); text-decoration-color: var(--isms-el-moss); opacity: 1; }
.isms-el-cta-band a:not(.isms-el__btn), .isms-el-pull-quote--moss a, .isms-el-trust-strip a, .isms-el-sticky-bar a:not(.isms-el__btn), .isms-el-case-cards__card--moss a, .isms-el-case-cards__card--blue a, .isms-el-case-cards__card--black a { color: var(--isms-el-mint); text-decoration-color: var(--isms-el-mint); }
.isms-el-cta-band a:not(.isms-el__btn):hover, .isms-el-pull-quote--moss a:hover, .isms-el-trust-strip a:hover, .isms-el-sticky-bar a:not(.isms-el__btn):hover { color: var(--isms-el-white); text-decoration-color: var(--isms-el-white); }
:where(.isms-el) img { max-width: 100%; height: auto; }
:where(.isms-el) table { border-collapse: collapse; width: 100%; margin: 0; }
.isms-el h2, .isms-el h3 { font-family: var(--isms-el-font-head); margin: 0; line-height: 1.12; letter-spacing: -0.02em; font-weight: 700; }
.isms-el .isms-el__eyebrow {
	font-family: var(--isms-el-font-head);
	font-size: 0.75rem;
	line-height: 1.4;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--isms-el-moss);
	margin: 0 0 0.875rem;
}
.isms-el-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* focus states, visible on light and dark surfaces */
.isms-el a:focus-visible, .isms-el button:focus-visible, .isms-el summary:focus-visible,
.isms-el [tabindex]:focus-visible {
	outline: 3px solid var(--isms-el-blue);
	outline-offset: 2px;
	border-radius: 6px;
}
.isms-el-cta-band a:focus-visible, .isms-el-sticky-bar a:focus-visible, .isms-el-sticky-bar button:focus-visible,
.isms-el-case-cards a:focus-visible { outline-color: var(--isms-el-mint); }

/* ---------- icons: CSS masks (the markup is a plain span, so kses never strips an SVG) ---------- */
.isms-el-ico {
	--ico: 1.25rem;
	--ico-bg: transparent;
	--ico-fg: currentColor;
	--ico-scale: 100%;
	position: relative;
	display: inline-block;
	flex: none;
	width: var(--ico);
	height: var(--ico);
	border-radius: 50%;
	background: var(--ico-bg);
	vertical-align: middle;
}
.isms-el-ico::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--ico-fg);
	-webkit-mask: var(--ico-m) center / var(--ico-scale) no-repeat;
	mask: var(--ico-m) center / var(--ico-scale) no-repeat;
}
/*@ICONS@*/
/* generated by tests/isms-elements/tools/build-icons.mjs — do not edit by hand */
.isms-el {
	--isms-el-tick-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M4.5%2012.5l4.8%204.8L19.5%207%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%273%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
	--isms-el-cross-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M6.5%206.5l11%2011M17.5%206.5l-11%2011%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%273%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
	--isms-el-minus-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M5%2012h14%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%273%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
}
.isms-el-ico--tick { --ico-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M4.5%2012.5l4.8%204.8L19.5%207%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%273%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E"); }
.isms-el-ico--cross { --ico-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M6.5%206.5l11%2011M17.5%206.5l-11%2011%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%273%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E"); }
.isms-el-ico--arrow { --ico-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M4.5%2012h14M13%206l6%206-6%206%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272.6%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E"); }
.isms-el-ico--dot { --ico-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%276%27%2F%3E%3C%2Fsvg%3E"); }
.isms-el-ico--plus { --ico-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M12%205v14M5%2012h14%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%273%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E"); }
.isms-el-ico--minus { --ico-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M5%2012h14%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%273%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E"); }
.isms-el-ico--info { --ico-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M12%2010.5v7%27%20stroke%3D%27black%27%20stroke-width%3D%273%27%20stroke-linecap%3D%27round%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%276.3%27%20r%3D%271.9%27%2F%3E%3C%2Fsvg%3E"); }
.isms-el-ico--warning { --ico-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M12%205v8.5%27%20stroke%3D%27black%27%20stroke-width%3D%273%27%20stroke-linecap%3D%27round%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2718.3%27%20r%3D%271.9%27%2F%3E%3C%2Fsvg%3E"); }
.isms-el-ico--bulb { --ico-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M9%2017.5h6M10%2021h4M12%203a6%206%200%200%200-3.6%2010.8c.6.5%201%201.2%201%202v1.2h5.2v-1.2c0-.8.4-1.5%201-2A6%206%200%200%200%2012%203z%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E"); }
.isms-el-ico--pencil { --ico-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M4%2020l4.2-1L19%208.2%2015.8%205%205%2015.8%204%2020zM13.5%207.3l3.2%203.2%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E"); }
.isms-el-ico--flag { --ico-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M6%2021V4h11l-2.2%204.2L17%2012.5H6%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E"); }
.isms-el-ico--shield { --ico-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M12%203l7%203v5c0%204.4-3%208-7%2010-4-2-7-5.6-7-10V6l7-3z%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E"); }
.isms-el-ico--lock { --ico-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Crect%20x%3D%275%27%20y%3D%2711%27%20width%3D%2714%27%20height%3D%2710%27%20rx%3D%272%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%2F%3E%3Cpath%20d%3D%27M8%2011V8a4%204%200%200%201%208%200v3%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E"); }
.isms-el-ico--doc { --ico-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M7%203h7l4%204v14H7zM14%203v4h4M9.5%2012h5M9.5%2015.5h5%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E"); }
.isms-el-ico--users { --ico-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M9%2011a3.4%203.4%200%201%200%200-6.8A3.4%203.4%200%200%200%209%2011zM3%2020c0-3.3%202.7-6%206-6s6%202.7%206%206M16%204.6a3.2%203.2%200%200%201%200%206.2M18%2014.4c2%20.8%203%202.8%203%205.6%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E"); }
.isms-el-ico--cloud { --ico-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M7%2018h10a4%204%200%200%200%20.6-8A6%206%200%200%200%206.2%209.5%204.3%204.3%200%200%200%207%2018z%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E"); }
.isms-el-ico--chart { --ico-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M4%2020V4M4%2020h16M8.5%2016v-5M12.5%2016V8M16.5%2016v-3%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E"); }
.isms-el-ico--key { --ico-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Ccircle%20cx%3D%278%27%20cy%3D%2712%27%20r%3D%274%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%2F%3E%3Cpath%20d%3D%27M12%2012h9M18%2012v3M21%2012v2%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E"); }
.isms-el-ico--search { --ico-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Ccircle%20cx%3D%2710.5%27%20cy%3D%2710.5%27%20r%3D%276.5%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%2F%3E%3Cpath%20d%3D%27M15.5%2015.5L20%2020%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E"); }
.isms-el-ico--server { --ico-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Crect%20x%3D%274%27%20y%3D%274%27%20width%3D%2716%27%20height%3D%277%27%20rx%3D%271.6%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%2F%3E%3Crect%20x%3D%274%27%20y%3D%2713%27%20width%3D%2716%27%20height%3D%277%27%20rx%3D%271.6%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%2F%3E%3Ccircle%20cx%3D%278%27%20cy%3D%277.5%27%20r%3D%271.1%27%2F%3E%3Ccircle%20cx%3D%278%27%20cy%3D%2716.5%27%20r%3D%271.1%27%2F%3E%3C%2Fsvg%3E"); }
.isms-el-ico--globe { --ico-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%2F%3E%3Cpath%20d%3D%27M3.5%209h17M3.5%2015h17M12%203c2.5%202.4%203.8%205.6%203.8%209s-1.3%206.6-3.8%209c-2.5-2.4-3.8-5.6-3.8-9S9.5%205.4%2012%203z%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E"); }
.isms-el-ico--link { --ico-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M10%2014a4%204%200%200%200%205.7%200l3-3a4%204%200%200%200-5.7-5.7l-1%201M14%2010a4%204%200%200%200-5.7%200l-3%203a4%204%200%200%200%205.7%205.7l1-1%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E"); }
.isms-el-ico--alert { --ico-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M12%203.5l9.5%2016.5h-19z%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3Cpath%20d%3D%27M12%2010v4.5%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2717.3%27%20r%3D%271.2%27%2F%3E%3C%2Fsvg%3E"); }
.isms-el-ico--building { --ico-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M4%2021V5l8-2v18M12%208l8%202v11M3%2021h18M7%208h2M7%2012h2M7%2016h2M15%2013h2M15%2017h2%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E"); }
.isms-el-ico--calendar { --ico-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Crect%20x%3D%274%27%20y%3D%275%27%20width%3D%2716%27%20height%3D%2715%27%20rx%3D%272%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%2F%3E%3Cpath%20d%3D%27M4%2010h16M9%203v4M15%203v4%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E"); }
.isms-el-ico--cog { --ico-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%273.2%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%2F%3E%3Cpath%20d%3D%27M12%202.5v3M12%2018.5v3M2.5%2012h3M18.5%2012h3M5.3%205.3l2.1%202.1M16.6%2016.6l2.1%202.1M5.3%2018.7l2.1-2.1M16.6%207.4l2.1-2.1%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E"); }
.isms-el-ico--download { --ico-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M12%204v11M7%2010l5%205%205-5M5%2020h14%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272.4%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E"); }
.isms-el-ico--play { --ico-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M8%205.5v13l11-6.5z%27%2F%3E%3C%2Fsvg%3E"); }
/* percentage classes (rings): kses strips custom properties from style="", so the value travels as a class */
.isms-el-p-0{--p:0}.isms-el-p-1{--p:1}.isms-el-p-2{--p:2}.isms-el-p-3{--p:3}.isms-el-p-4{--p:4}.isms-el-p-5{--p:5}.isms-el-p-6{--p:6}.isms-el-p-7{--p:7}.isms-el-p-8{--p:8}.isms-el-p-9{--p:9}.isms-el-p-10{--p:10}.isms-el-p-11{--p:11}.isms-el-p-12{--p:12}.isms-el-p-13{--p:13}.isms-el-p-14{--p:14}.isms-el-p-15{--p:15}.isms-el-p-16{--p:16}.isms-el-p-17{--p:17}.isms-el-p-18{--p:18}.isms-el-p-19{--p:19}.isms-el-p-20{--p:20}.isms-el-p-21{--p:21}.isms-el-p-22{--p:22}.isms-el-p-23{--p:23}.isms-el-p-24{--p:24}.isms-el-p-25{--p:25}.isms-el-p-26{--p:26}.isms-el-p-27{--p:27}.isms-el-p-28{--p:28}.isms-el-p-29{--p:29}.isms-el-p-30{--p:30}.isms-el-p-31{--p:31}.isms-el-p-32{--p:32}.isms-el-p-33{--p:33}.isms-el-p-34{--p:34}.isms-el-p-35{--p:35}.isms-el-p-36{--p:36}.isms-el-p-37{--p:37}.isms-el-p-38{--p:38}.isms-el-p-39{--p:39}.isms-el-p-40{--p:40}.isms-el-p-41{--p:41}.isms-el-p-42{--p:42}.isms-el-p-43{--p:43}.isms-el-p-44{--p:44}.isms-el-p-45{--p:45}.isms-el-p-46{--p:46}.isms-el-p-47{--p:47}.isms-el-p-48{--p:48}.isms-el-p-49{--p:49}.isms-el-p-50{--p:50}.isms-el-p-51{--p:51}.isms-el-p-52{--p:52}.isms-el-p-53{--p:53}.isms-el-p-54{--p:54}.isms-el-p-55{--p:55}.isms-el-p-56{--p:56}.isms-el-p-57{--p:57}.isms-el-p-58{--p:58}.isms-el-p-59{--p:59}.isms-el-p-60{--p:60}.isms-el-p-61{--p:61}.isms-el-p-62{--p:62}.isms-el-p-63{--p:63}.isms-el-p-64{--p:64}.isms-el-p-65{--p:65}.isms-el-p-66{--p:66}.isms-el-p-67{--p:67}.isms-el-p-68{--p:68}.isms-el-p-69{--p:69}.isms-el-p-70{--p:70}.isms-el-p-71{--p:71}.isms-el-p-72{--p:72}.isms-el-p-73{--p:73}.isms-el-p-74{--p:74}.isms-el-p-75{--p:75}.isms-el-p-76{--p:76}.isms-el-p-77{--p:77}.isms-el-p-78{--p:78}.isms-el-p-79{--p:79}.isms-el-p-80{--p:80}.isms-el-p-81{--p:81}.isms-el-p-82{--p:82}.isms-el-p-83{--p:83}.isms-el-p-84{--p:84}.isms-el-p-85{--p:85}.isms-el-p-86{--p:86}.isms-el-p-87{--p:87}.isms-el-p-88{--p:88}.isms-el-p-89{--p:89}.isms-el-p-90{--p:90}.isms-el-p-91{--p:91}.isms-el-p-92{--p:92}.isms-el-p-93{--p:93}.isms-el-p-94{--p:94}.isms-el-p-95{--p:95}.isms-el-p-96{--p:96}.isms-el-p-97{--p:97}.isms-el-p-98{--p:98}.isms-el-p-99{--p:99}.isms-el-p-100{--p:100}
/*@/ICONS@*/

/* ---------- buttons (sussexseo .btn: 15px/700, 13px 22px, radius 6, lift + arrow on hover) ---------- */
.isms-el .isms-el__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	min-height: 2.75rem;
	font-family: var(--isms-el-font-head);
	font-weight: 700;
	font-size: 0.9375rem;
	line-height: 1;
	padding: 0.8rem 1.35rem;
	border-radius: 7px;
	border: 1.5px solid transparent;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	opacity: 1;
	transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}
.isms-el .isms-el__btn:hover { transform: translateY(-2px); }
.isms-el .isms-el__btn-arrow { --ico: 1rem; transition: transform 0.2s ease; }
.isms-el .isms-el__btn:hover .isms-el__btn-arrow { transform: translateX(3px); }
.isms-el .isms-el__btn--primary, .isms-el .isms-el__btn--primary:visited { background: var(--isms-el-mint); color: var(--isms-el-black); border-color: var(--isms-el-black); }
.isms-el .isms-el__btn--primary:hover { background: var(--isms-el-mint-dark); color: var(--isms-el-black); }
.isms-el .isms-el__btn--action, .isms-el .isms-el__btn--action:visited { background: var(--isms-el-blue); color: var(--isms-el-white); }
.isms-el .isms-el__btn--action:hover { background: var(--isms-el-blue-dark); color: var(--isms-el-white); }
.isms-el .isms-el__btn--ghost-dark, .isms-el .isms-el__btn--ghost-dark:visited { background: transparent; color: var(--isms-el-ink); border-color: var(--isms-el-line-2); }
.isms-el .isms-el__btn--ghost-dark:hover { border-color: var(--isms-el-ink); color: var(--isms-el-ink); }
.isms-el .isms-el__btn--ghost, .isms-el .isms-el__btn--ghost:visited { background: transparent; color: var(--isms-el-ink); border-color: var(--isms-el-line-2); }
.isms-el .isms-el__btn--ghost:hover { border-color: var(--isms-el-ink); color: var(--isms-el-ink); }
.isms-el .isms-el__btn--dark, .isms-el .isms-el__btn--dark:visited { background: var(--isms-el-black); color: var(--isms-el-white); }
.isms-el .isms-el__btn--dark:hover { background: #222; color: var(--isms-el-white); }
.isms-el .isms-el__btn--text, .isms-el .isms-el__btn--text:visited { background: transparent; color: var(--isms-el-moss); padding-inline: 0.25rem; text-decoration: underline; text-decoration-color: var(--isms-el-mint-dark); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.isms-el-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 0.875rem; }
.isms-el-buttons--sm .isms-el__btn { min-height: 2.75rem; padding: 0.65rem 1rem; font-size: 0.875rem; }

/* ================= Headings and summaries ================= */
.isms-el-section-head .isms-el-section-head__heading,
#content-block .isms-el-section-head .isms-el-section-head__heading {
	font-family: var(--isms-el-font-head);
	font-weight: 700;
	font-size: clamp(1.75rem, 1.35rem + 1.6vw, 2.75rem);
	line-height: 1.06;
	letter-spacing: -0.025em;
	margin: 0 0 0.75rem;
	padding: 0;
}
#content-block .isms-el-section-head h3.isms-el-section-head__heading { font-size: clamp(1.4rem, 1.2rem + 0.8vw, 1.75rem); }
.isms-el-section-head__lead { font-size: 1.1875rem; line-height: 1.6; color: var(--isms-el-muted); max-width: 40rem; }

/* TL;DR (sussexseo: card, 3px accent left border, diamond eyebrow, two-column ticks) */
.isms-el-tldr {
	--lh: 1.5rem;
	background: var(--isms-el-surface);
	border: 1px solid var(--isms-el-line);
	border-left: 3px solid var(--isms-el-mint-dark);
	border-radius: var(--isms-el-r);
	padding: 1.625rem;
}
.isms-el-tldr .isms-el-tldr__eyebrow { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 0.875rem; }
.isms-el-tldr__diamond { flex: none; width: 0.6875rem; height: 0.6875rem; border-radius: 2px; background: var(--isms-el-mint-dark); transform: rotate(45deg); }
.isms-el-tldr__list { display: grid; gap: 0.625rem 1.75rem; }
.isms-el-tldr--cols-2 .isms-el-tldr__list { grid-template-columns: 1fr 1fr; }
.isms-el-tldr__item { display: flex; align-items: flex-start; gap: 0.625rem; font-size: var(--isms-el-small); }
.isms-el-tldr__icon { --ico: 1.125rem; --ico-fg: var(--isms-el-mint-dark); margin-top: calc((var(--lh) - var(--ico)) / 2); }
.isms-el-tldr__text { line-height: var(--lh); }

/* Key claim (sussexseo cited-line: 3px left border, 19px/600 claim, source pill) */
.isms-el-keyline { border-left: 3px solid var(--isms-el-mint-dark); padding: 0.25rem 0 0.25rem 1.25rem; }
.isms-el-keyline__claim { margin: 0; padding: 0; border: 0; font-family: var(--isms-el-font-head); font-weight: 600; font-size: 1.1875rem; line-height: 1.42; letter-spacing: -0.01em; color: var(--isms-el-ink); quotes: none; }
.isms-el-keyline__claim::before, .isms-el-keyline__claim::after { content: none; }
.isms-el-keyline__source { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0.5625rem; margin-top: 0.75rem; padding: 0.375rem 0.75rem 0.375rem 0.375rem; border-radius: 999px; background: var(--isms-el-surface-2); border: 1px solid var(--isms-el-line); font-size: 0.8125rem; line-height: 1.3; color: var(--isms-el-muted); }
.isms-el-keyline__tag { background: var(--isms-el-moss); color: var(--isms-el-mint); border-radius: 999px; padding: 0.2rem 0.6rem; font-family: var(--isms-el-font-head); font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 700; line-height: 1.3; }
.isms-el-keyline__link { font-weight: 600; }

/* Beat line (sussexseo: 800, clamp 20-25px, 34x3 rule above) */
.isms-el-beat { display: grid; gap: 2.125rem; }
.isms-el-beat__line { position: relative; padding-top: 1.25rem; font-family: var(--isms-el-font-head); font-weight: 700; font-size: clamp(1.25rem, 1.05rem + 0.8vw, 1.5625rem); line-height: 1.25; letter-spacing: -0.02em; max-width: 36ch; }
.isms-el-beat__line::before { content: ""; position: absolute; top: 0; left: 0; width: 2.125rem; height: 3px; border-radius: 2px; background: var(--isms-el-mint-dark); }

/* At a glance */
.isms-el-facts { background: var(--isms-el-crystal-light); border: 1px solid var(--isms-el-crystal-dark); border-radius: var(--isms-el-r); padding: 1.375rem 1.5rem; }
.isms-el-facts__heading { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 0.75rem; font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1.0625rem; line-height: 1.3; }
.isms-el-facts__icon { --ico: 1.5rem; --ico-bg: var(--isms-el-moss); --ico-fg: var(--isms-el-mint); --ico-scale: 70%; }
.isms-el-facts__list { display: grid; }
.isms-el-facts__row { display: grid; grid-template-columns: minmax(8rem, 13rem) 1fr; gap: 1rem; align-items: center; padding: 0.6rem 0; border-top: 1px solid var(--isms-el-crystal-dark); }
.isms-el-facts__row:first-child { border-top: 0; }
.isms-el-facts__label { font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.02em; color: var(--isms-el-muted); line-height: 1.4; }
.isms-el-facts__value { font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1rem; line-height: 1.4; }

/* Definition */
.isms-el-definition { position: relative; background: var(--isms-el-surface); border: 1px solid var(--isms-el-line); border-radius: var(--isms-el-r); padding: 1.5rem 1.625rem; box-shadow: inset 4px 0 0 var(--isms-el-blue); }
.isms-el-definition__kicker { font-family: var(--isms-el-font-head); font-size: 0.6875rem; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; color: var(--isms-el-blue); margin-bottom: 0.5rem; line-height: 1.4; }
.isms-el-definition__term { display: flex; flex-wrap: wrap; align-items: center; gap: 0.625rem; margin-bottom: 0.5rem; }
.isms-el-definition__dfn { font-style: normal; font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1.375rem; line-height: 1.25; letter-spacing: -0.015em; }
.isms-el-definition__abbr { text-decoration: none; border: 1px solid var(--isms-el-line-2); border-radius: 6px; padding: 0.15rem 0.5rem; font-family: var(--isms-el-font-head); font-size: 0.8125rem; font-weight: 700; line-height: 1.35; letter-spacing: 0.04em; color: var(--isms-el-moss); background: var(--isms-el-crystal-light); cursor: help; }
.isms-el-definition__text { font-size: 1rem; line-height: 1.62; }
.isms-el-definition__source { margin-top: 0.75rem; font-size: 0.8125rem; color: var(--isms-el-muted); }

/* ================= Callouts and quotes ================= */
.isms-el-callout { --c: var(--isms-el-blue); --c-bg: var(--isms-el-blue-tint); --c-bd: rgba(54, 90, 253, 0.26); background: var(--c-bg); border: 1px solid var(--c-bd); border-radius: 12px; padding: 1.125rem 1.375rem; }
.isms-el-callout--tip { --c: var(--isms-el-moss); --c-bg: var(--isms-el-crystal-light); --c-bd: var(--isms-el-crystal-dark); }
.isms-el-callout--warning { --c: #8A5A00; --c-bg: rgba(255, 224, 55, 0.18); --c-bd: rgba(214, 170, 0, 0.45); }
.isms-el-callout--success { --c: var(--isms-el-moss); --c-bg: var(--isms-el-mint-tint); --c-bd: rgba(41, 179, 108, 0.45); }
.isms-el-callout--note { --c: var(--isms-el-grey-dark); --c-bg: var(--isms-el-surface-2); --c-bd: var(--isms-el-line); }
.isms-el-callout--important { --c: #B0133A; --c-bg: var(--isms-el-red-tint); --c-bd: rgba(253, 54, 94, 0.35); }
.isms-el-callout__head { display: flex; align-items: center; gap: 0.625rem; }
.isms-el-callout__icon { --ico: 1.625rem; --ico-bg: var(--c); --ico-fg: var(--isms-el-white); --ico-scale: 64%; }
.isms-el-callout--success .isms-el-callout__icon, .isms-el-callout--tip .isms-el-callout__icon { --ico-fg: var(--isms-el-mint); }
.isms-el-callout__title { font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1rem; line-height: 1.3; color: var(--c); }
.isms-el-callout__body { margin-top: 0.5rem; padding-left: 2.25rem; font-size: 0.96875rem; line-height: 1.6; }
.isms-el-callout__body code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.9em; padding: 0.1em 0.4em; border-radius: 5px; background: rgba(0, 0, 0, 0.06); }

/* Pull quote (sussexseo prose blockquote: 4px rule, 21px/600 head) */
.isms-el-pull-quote { --pq: var(--isms-el-mint-dark); border-left: 4px solid var(--pq); padding: 0.25rem 0 0.25rem 1.375rem; }
.isms-el-pull-quote--moss { --pq: var(--isms-el-mint); background: var(--isms-el-moss); color: var(--isms-el-white); border-left-width: 0; border-radius: var(--isms-el-r-lg); padding: 1.75rem 2rem; }
.isms-el-pull-quote--plain { --pq: var(--isms-el-line-2); }
.isms-el-pull-quote__quote { margin: 0; padding: 0; border: 0; font-family: var(--isms-el-font-head); font-weight: 600; font-size: clamp(1.1875rem, 1.05rem + 0.5vw, 1.3125rem); line-height: 1.4; letter-spacing: -0.01em; quotes: none; }
.isms-el-pull-quote__quote::before, .isms-el-pull-quote__quote::after { content: none; }
.isms-el-pull-quote__cite { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; margin-top: 0.875rem; font-size: 0.875rem; line-height: 1.4; }
.isms-el-pull-quote__rule { flex: none; width: 1.5rem; height: 2px; background: var(--pq); }
.isms-el-pull-quote__who strong { font-family: var(--isms-el-font-head); }
.isms-el-pull-quote__role { color: var(--isms-el-muted); margin-left: 0.4rem; }
.isms-el-pull-quote--moss .isms-el-pull-quote__role { color: rgba(255, 255, 255, 0.78); }
.isms-el-pull-quote--moss .isms-el-pull-quote__src { color: var(--isms-el-mint); }

/* Inline glossary tooltip */
.isms-el.isms-el-term { display: inline; position: relative; margin: 0; font: inherit; line-height: inherit; color: inherit; }
.isms-el-term__word { border-bottom: 2px dotted var(--isms-el-mint-dark); cursor: help; font-weight: 600; }
.isms-el-term__tip {
	position: absolute; left: 50%; bottom: calc(100% + 10px); z-index: 30;
	width: max-content; max-width: min(18rem, 80vw);
	padding: 0.6rem 0.8rem; border-radius: 8px;
	background: var(--isms-el-moss); color: var(--isms-el-white);
	font-family: var(--isms-el-font-body); font-size: 0.8125rem; font-weight: 400; line-height: 1.45; text-align: left;
	box-shadow: 0 10px 30px rgba(0, 38, 15, 0.25);
	transform: translate(calc(-50% + var(--tip-shift, 0px)), 4px); opacity: 0; visibility: hidden; pointer-events: none;
	transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s;
}
.isms-el-term__tip::after { content: ""; position: absolute; top: 100%; left: calc(50% - var(--tip-shift, 0px)); margin-left: -6px; border: 6px solid transparent; border-top-color: var(--isms-el-moss); }
.isms-el-term:hover .isms-el-term__tip, .isms-el-term:focus-within .isms-el-term__tip, .isms-el-term.is-open .isms-el-term__tip { opacity: 1; visibility: visible; transform: translate(calc(-50% + var(--tip-shift, 0px)), 0); }
.isms-el-term.is-dismissed .isms-el-term__tip { opacity: 0; visibility: hidden; }

/* Fact placeholder (sussexseo .fact: dashed honesty placeholder) */
.isms-el.isms-el-fact { display: inline-block; margin: 0; padding: 0.1rem 0.6rem; border: 1px dashed var(--isms-el-line-2); border-radius: 6px; background: var(--isms-el-surface-2); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.875em; font-weight: 600; line-height: 1.5; color: var(--isms-el-muted); white-space: nowrap; }

/* Review card (sussexseo: 28px padding, stars, 17.5px head quote, 40px avatar) */
.isms-el-review { background: var(--isms-el-surface); border: 1px solid var(--isms-el-line); border-radius: var(--isms-el-r); padding: 1.75rem; }
.isms-el-review__stars { display: block; color: var(--isms-el-orange); letter-spacing: 0.08em; font-size: 0.9375rem; line-height: 1; }
.isms-el-review__stars::before { content: "\2605\2605\2605\2605\2605"; }
.isms-el-review__stars[data-stars="1"]::before { content: "\2605\2606\2606\2606\2606"; }
.isms-el-review__stars[data-stars="2"]::before { content: "\2605\2605\2606\2606\2606"; }
.isms-el-review__stars[data-stars="3"]::before { content: "\2605\2605\2605\2606\2606"; }
.isms-el-review__stars[data-stars="4"]::before { content: "\2605\2605\2605\2605\2606"; }
.isms-el-review__quote { margin: 0.75rem 0 1.125rem; padding: 0; border: 0; font-family: var(--isms-el-font-head); font-weight: 500; font-size: 1.09375rem; line-height: 1.5; quotes: none; }
.isms-el-review__quote::before, .isms-el-review__quote::after { content: none; }
.isms-el-review__cite { display: flex; align-items: center; gap: 0.75rem; font-style: normal; }
.isms-el-review__avatar, .isms-el-review__photo { flex: none; width: 2.5rem; height: 2.5rem; border-radius: 50%; overflow: hidden; }
.isms-el-review__avatar { display: grid; place-items: center; background: var(--isms-el-moss); color: var(--isms-el-mint); font-family: var(--isms-el-font-head); font-weight: 700; line-height: 1; }
.isms-el-review__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.isms-el-review__who { display: flex; flex-direction: column; line-height: 1.35; }
.isms-el-review__name { font-size: 0.90625rem; }
.isms-el-review__company { font-size: 0.8125rem; color: var(--isms-el-muted); }

/* Expertise band (sussexseo: 84px avatar, 20px name, 15px bio, credential chips) */
.isms-el-expertise { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; background: var(--isms-el-surface); border: 1px solid var(--isms-el-line); border-radius: var(--isms-el-r); padding: 1.875rem; }
.isms-el-expertise__avatar { flex: none; width: 5.25rem; height: 5.25rem; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: linear-gradient(135deg, var(--isms-el-moss), #0B4A26); }
.isms-el-expertise__avatar img { width: 100%; height: 100%; object-fit: cover; }
.isms-el-expertise__initials { color: var(--isms-el-mint); font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1.625rem; line-height: 1; }
.isms-el-expertise__body { flex: 1 1 20rem; min-width: 0; }
.isms-el-expertise__name { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.25rem 0.75rem; font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1.25rem; line-height: 1.3; }
.isms-el-expertise__role { font-family: var(--isms-el-font-body); font-weight: 500; font-size: 0.875rem; color: var(--isms-el-muted); }
.isms-el-expertise__bio { margin: 0.375rem 0 0.75rem; font-size: var(--isms-el-small); line-height: 1.6; color: var(--isms-el-muted); max-width: 35rem; }
.isms-el-expertise__creds { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.isms-el-expertise__cred { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.4375rem 0.875rem; border-radius: 999px; background: var(--isms-el-surface-2); border: 1px solid var(--isms-el-line); font-family: var(--isms-el-font-head); font-size: 0.8125rem; font-weight: 600; line-height: 1.2; color: var(--isms-el-muted); }
.isms-el-expertise__dot, .isms-el-chips__dot, .isms-el-trust-strip__dot, .isms-el-sticky-bar__dot { flex: none; width: 0.4375rem; height: 0.4375rem; border-radius: 50%; background: var(--isms-el-mint-dark); box-shadow: 0 0 8px var(--isms-el-mint); }

/* Reassurance / risk-reversal bar (sussexseo: card, 3px left rule, 44px shield tile, 16px text) */
.isms-el-risk-bar { display: flex; align-items: center; gap: 1rem; background: var(--isms-el-surface); border: 1px solid var(--isms-el-line); border-left: 3px solid var(--isms-el-mint-dark); border-radius: var(--isms-el-r); padding: 1.375rem 1.625rem; }
.isms-el-risk-bar__icon { flex: none; display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 12px; background: var(--isms-el-mint-tint); }
.isms-el-risk-bar__glyph { --ico: 1.375rem; --ico-fg: var(--isms-el-moss); }
.isms-el-risk-bar__text { flex: 1; font-size: 1rem; line-height: 1.55; }

/* ================= Lists and checklists ================= */
.isms-el-ticklist {
	--lh: 1.5625rem;
	--tl-bg: var(--isms-el-mint);
	--tl-fg: var(--isms-el-moss);
	display: grid;
	gap: 0.7rem;
}
.isms-el-ticklist--blue { --tl-bg: var(--isms-el-blue); --tl-fg: var(--isms-el-white); }
.isms-el-ticklist--moss { --tl-bg: var(--isms-el-moss); --tl-fg: var(--isms-el-mint); }
.isms-el-ticklist--orange { --tl-bg: var(--isms-el-orange); --tl-fg: var(--isms-el-black); }
.isms-el-ticklist--red { --tl-bg: var(--isms-el-red); --tl-fg: var(--isms-el-black); }
.isms-el-ticklist--grey { --tl-bg: var(--isms-el-grey); --tl-fg: var(--isms-el-muted); }
.isms-el-ticklist--cols-2 { grid-template-columns: 1fr 1fr; column-gap: 2rem; }
.isms-el-ticklist__item { display: flex; align-items: flex-start; gap: 0.75rem; }
.isms-el-ticklist__icon { --ico: 1.375rem; --ico-bg: var(--tl-bg); --ico-fg: var(--tl-fg); --ico-scale: 62%; margin-top: calc((var(--lh) - var(--ico)) / 2); }
.isms-el-ticklist--icon-dot .isms-el-ticklist__icon { --ico-scale: 40%; }
.isms-el-ticklist__body { line-height: var(--lh); }

/* Steps (sussexseo: 36px square accent badge r9, connector, 16.5px/800 title, 14.5px text) */
.isms-el-steps__list { display: flex; flex-direction: column; }
.isms-el-steps__item { position: relative; display: flex; gap: 1.125rem; align-items: flex-start; padding-bottom: 1.375rem; }
.isms-el-steps__item:last-child { padding-bottom: 0; }
.isms-el-steps__item:not(:last-child)::before { content: ""; position: absolute; left: 1.0625rem; top: 2.5rem; bottom: 0.25rem; width: 2px; background: var(--isms-el-line-2); }
.isms-el-steps__num { position: relative; z-index: 1; flex: none; display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 9px; background: var(--isms-el-blue); color: var(--isms-el-white); font-family: var(--isms-el-font-head); font-weight: 700; font-size: 0.9375rem; line-height: 1; }
.isms-el-steps__body { min-width: 0; }
.isms-el-steps__title { display: flex; align-items: center; min-height: 2.25rem; font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1.03125rem; line-height: 1.3; letter-spacing: -0.01em; }
.isms-el-steps__text { color: var(--isms-el-muted); font-size: 0.90625rem; line-height: 1.6; }

/* Layer ladder (sussexseo: 40px numbered circles, connector, filled goal rung) */
.isms-el-ladder__list { display: flex; flex-direction: column; }
.isms-el-ladder__rung { position: relative; display: flex; gap: 1.125rem; align-items: flex-start; padding-bottom: 1.375rem; }
.isms-el-ladder__rung:last-child { padding-bottom: 0; }
.isms-el-ladder__rung:not(:last-child)::before { content: ""; position: absolute; left: 1.1875rem; top: 2.625rem; bottom: 0; width: 2px; background: var(--isms-el-line-2); }
.isms-el-ladder__num { position: relative; z-index: 1; flex: none; display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; border: 1.5px solid var(--isms-el-mint-dark); background: var(--isms-el-surface); color: var(--isms-el-moss); font-family: var(--isms-el-font-head); font-weight: 700; font-size: 0.875rem; line-height: 1; }
.isms-el-ladder__rung--goal .isms-el-ladder__num { background: var(--isms-el-mint); border-color: var(--isms-el-mint); box-shadow: 0 0 18px -3px var(--isms-el-mint); }
.isms-el-ladder__body { display: flex; flex-direction: column; min-width: 0; }
.isms-el-ladder__label { display: flex; align-items: center; min-height: 2.5rem; font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1.03125rem; line-height: 1.3; letter-spacing: -0.01em; }
.isms-el-ladder__text { margin-top: -0.3rem; color: var(--isms-el-muted); font-size: 0.90625rem; line-height: 1.55; }

/* Requirement checklist */
.isms-el-checklist { --lh: 1.5rem; background: var(--isms-el-surface); border: 1px solid var(--isms-el-line); border-radius: var(--isms-el-r); padding: 1.375rem 1.5rem; }
.isms-el-checklist__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem 1rem; margin-bottom: 0.875rem; }
.isms-el-checklist__heading { font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1.0625rem; line-height: 1.3; }
.isms-el-checklist__progress { display: none; font-size: 0.8125rem; font-weight: 600; line-height: 1.3; color: var(--isms-el-moss); background: var(--isms-el-crystal-light); border: 1px solid var(--isms-el-crystal-dark); border-radius: 999px; padding: 0.3rem 0.75rem; }
.isms-el-checklist.is-ready .isms-el-checklist__progress { display: inline-block; }
.isms-el-checklist__list { display: grid; }
.isms-el-checklist__item { display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.625rem 0.5rem; margin: 0 -0.5rem; border-radius: 8px; border-top: 1px solid var(--isms-el-line); }
.isms-el-checklist__item:first-child { border-top: 0; }
.isms-el-checklist.is-ready .isms-el-checklist__item { cursor: pointer; }
.isms-el-checklist.is-ready .isms-el-checklist__item:hover { background: var(--isms-el-surface-2); }
.isms-el-checklist__box { position: relative; flex: none; width: 1.375rem; height: 1.375rem; margin-top: calc((var(--lh) - 1.375rem) / 2); border: 2px solid var(--isms-el-line-2); border-radius: 6px; background: var(--isms-el-surface); transition: background-color 0.15s, border-color 0.15s; }
.isms-el-checklist__box::after { content: ""; position: absolute; inset: 0; background: var(--isms-el-moss); -webkit-mask: var(--isms-el-tick-m) center / 78% no-repeat; mask: var(--isms-el-tick-m) center / 78% no-repeat; opacity: 0; }
.isms-el-checklist__item[aria-checked="true"] .isms-el-checklist__box { background: var(--isms-el-mint); border-color: var(--isms-el-moss); }
.isms-el-checklist__item[aria-checked="true"] .isms-el-checklist__box::after { opacity: 1; }
.isms-el-checklist__item[aria-checked="true"] .isms-el-checklist__label { text-decoration: line-through; text-decoration-color: var(--isms-el-mint-dark); color: var(--isms-el-muted); }
.isms-el-checklist__text { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 0.625rem; line-height: var(--lh); }
.isms-el-checklist__label { font-weight: 500; }
.isms-el-checklist__note { font-size: 0.8125rem; color: var(--isms-el-muted); }

/* Big-number facts */
.isms-el-big-numbers { display: grid; gap: 0; }
.isms-el-big-numbers__item { display: grid; grid-template-columns: minmax(4.5rem, 6.5rem) 1fr; gap: 1.25rem; align-items: center; padding: 0.875rem 0; border-top: 1px solid var(--isms-el-line); }
.isms-el-big-numbers__item:first-child { border-top: 0; padding-top: 0; }
.isms-el-big-numbers__value { font-family: var(--isms-el-font-head); font-weight: 700; font-size: clamp(2rem, 1.6rem + 1.4vw, 2.75rem); line-height: 1; letter-spacing: -0.02em; color: var(--isms-el-moss); font-variant-numeric: tabular-nums; }
.isms-el-big-numbers__text { font-size: 1rem; line-height: 1.5; }

/* Reference list */
.isms-el-ref-list__list { display: grid; gap: 0.5rem; }
.isms-el-ref-list__row { display: flex; align-items: center; gap: 1rem; padding: 0.75rem 1rem; background: var(--isms-el-surface); border: 1px solid var(--isms-el-line); border-radius: var(--isms-el-r); }
.isms-el-ref-list__ref { flex: none; min-width: 3.75rem; text-align: center; padding: 0.35rem 0.6rem; border-radius: 7px; background: var(--isms-el-moss); color: var(--isms-el-mint); font-family: var(--isms-el-font-head); font-weight: 700; font-size: 0.875rem; line-height: 1.2; font-variant-numeric: tabular-nums; }
.isms-el-ref-list__body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.isms-el-ref-list__title { font-weight: 600; line-height: 1.4; }
.isms-el-ref-list__text { font-size: 0.875rem; line-height: 1.45; color: var(--isms-el-muted); }
.isms-el-ref-list__tag { flex: none; padding: 0.25rem 0.6rem; border-radius: 5px; background: var(--isms-el-crystal-light); border: 1px solid var(--isms-el-crystal-dark); font-family: var(--isms-el-font-head); font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.3; color: var(--isms-el-moss); }

/* Key dates */
.isms-el-key-dates__list { display: grid; gap: 0.625rem; }
.isms-el-key-dates__item { display: flex; align-items: center; gap: 1rem; }
.isms-el-key-dates__when { flex: none; display: grid; place-items: center; width: 6.5rem; min-height: 3.5rem; padding: 0.4rem; border-radius: var(--isms-el-r); background: var(--isms-el-moss); color: var(--isms-el-mint); font-family: var(--isms-el-font-head); font-weight: 700; font-size: 0.875rem; line-height: 1.2; text-align: center; }
.isms-el-key-dates__body { display: flex; flex-direction: column; min-width: 0; }
.isms-el-key-dates__title { font-family: var(--isms-el-font-head); font-size: 1rem; line-height: 1.35; }
.isms-el-key-dates__text { font-size: 0.875rem; line-height: 1.5; color: var(--isms-el-muted); }

/* Glossary */
.isms-el-glossary__list { display: grid; }
.isms-el-glossary__row { display: grid; grid-template-columns: minmax(7rem, 12rem) 1fr; gap: 0.25rem 1.5rem; align-items: baseline; padding: 0.75rem 0; border-top: 1px solid var(--isms-el-line); }
.isms-el-glossary__row:first-child { border-top: 0; padding-top: 0; }
.isms-el-glossary__term { font-family: var(--isms-el-font-head); font-weight: 700; line-height: 1.5; }
.isms-el-glossary__def { font-size: var(--isms-el-small); line-height: 1.6; color: var(--isms-el-muted); }

/* Chips (sussexseo .chip: 13px/600, 7px 14px, pill, glowing dot) */
.isms-el-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
.isms-el-chips__chip { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.4375rem 0.875rem; border-radius: 999px; background: var(--isms-el-surface); border: 1px solid var(--isms-el-line); font-family: var(--isms-el-font-head); font-size: 0.8125rem; font-weight: 600; line-height: 1.25; color: var(--isms-el-ink); }
.isms-el-chips--mint .isms-el-chips__chip { background: var(--isms-el-crystal-light); border-color: var(--isms-el-crystal-dark); }
.isms-el-chips--blue .isms-el-chips__chip { background: var(--isms-el-blue-tint); border-color: rgba(54, 90, 253, 0.3); }
.isms-el-chips--blue .isms-el-chips__dot { background: var(--isms-el-blue); box-shadow: 0 0 8px rgba(54, 90, 253, 0.6); }

/* Tags (sussexseo .tag: 11px/600, .08em uppercase, 4px 9px, r5, tinted) */
.isms-el-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
.isms-el-tags__tag { display: inline-block; padding: 0.25rem 0.5625rem; border-radius: 5px; border: 1px solid; font-family: var(--isms-el-font-head); font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.35; }
.isms-el-tags__tag--mint { color: var(--isms-el-moss); background: var(--isms-el-crystal-light); border-color: var(--isms-el-crystal-dark); }
.isms-el-tags__tag--blue { color: #1F3FC7; background: var(--isms-el-blue-tint); border-color: rgba(54, 90, 253, 0.28); }
.isms-el-tags__tag--yellow { color: #6B4B00; background: rgba(255, 224, 55, 0.28); border-color: rgba(214, 170, 0, 0.45); }
.isms-el-tags__tag--red { color: #A8102F; background: var(--isms-el-red-tint); border-color: rgba(253, 54, 94, 0.32); }
.isms-el-tags__tag--grey { color: var(--isms-el-grey-dark); background: var(--isms-el-surface-2); border-color: var(--isms-el-line); }

/* Sources */
.isms-el-citations { --lh: 1.5rem; border-top: 1px solid var(--isms-el-line); padding-top: 1rem; }
.isms-el-citations__heading { font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1rem; margin-bottom: 0.75rem; }
.isms-el-citations__list { display: grid; gap: 0.625rem; }
.isms-el-citations__item { display: flex; align-items: flex-start; gap: 0.75rem; font-size: 0.875rem; }
.isms-el-citations__num { flex: none; display: grid; place-items: center; width: 1.5rem; height: 1.5rem; margin-top: calc((var(--lh) - 1.5rem) / 2); border-radius: 6px; background: var(--isms-el-surface-2); border: 1px solid var(--isms-el-line); font-family: var(--isms-el-font-head); font-weight: 700; font-size: 0.75rem; line-height: 1; color: var(--isms-el-muted); }
.isms-el-citations__body { line-height: var(--lh); }
.isms-el-citations__title { font-style: normal; font-weight: 600; }
.isms-el-citations__meta { color: var(--isms-el-muted); }
.isms-el-citations__meta::before { content: " — "; }

/* ================= Comparisons ================= */
/* Two-up (sussexseo: 2 cards, 3px top accent, blue vs warm) */
.isms-el-two-up { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.isms-el-two-up__card { background: var(--isms-el-surface); border: 1px solid var(--isms-el-line); border-top: 3px solid var(--isms-el-blue); border-radius: var(--isms-el-r-lg); padding: 1.5rem; }
.isms-el-two-up__card--warm { border-top-color: var(--isms-el-mint-dark); }
.isms-el-two-up__kicker { font-family: var(--isms-el-font-head); font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 700; color: var(--isms-el-blue); margin-bottom: 0.5rem; line-height: 1.4; }
.isms-el-two-up__card--warm .isms-el-two-up__kicker { color: var(--isms-el-moss); }
.isms-el-two-up__heading { font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1.125rem; line-height: 1.3; letter-spacing: -0.01em; margin-bottom: 0.625rem; }
.isms-el-two-up__text { color: var(--isms-el-muted); font-size: 0.90625rem; line-height: 1.6; }

/* Do / don't */
.isms-el-contrast, .isms-el-fit, .isms-el-pros-cons { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.isms-el-contrast__col, .isms-el-fit__col, .isms-el-pros-cons__col { --lh: 1.5rem; background: var(--isms-el-surface); border: 1px solid var(--isms-el-line); border-top: 3px solid var(--isms-el-mint-dark); border-radius: var(--isms-el-r); padding: 1.75rem; }
.isms-el-contrast__col--dont { border-top-color: var(--isms-el-red); }
.isms-el-contrast__heading { font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1.125rem; line-height: 1.3; margin-bottom: 1rem; }
.isms-el-contrast__list, .isms-el-fit__list, .isms-el-pros-cons__list, .isms-el-compare-card__features { display: grid; gap: 0.6875rem; }
.isms-el-contrast__item, .isms-el-fit__item, .isms-el-pros-cons__item, .isms-el-compare-card__item { display: flex; align-items: flex-start; gap: 0.625rem; font-size: var(--isms-el-small); }
.isms-el-contrast__text, .isms-el-fit__text, .isms-el-pros-cons__text, .isms-el-compare-card__text { line-height: var(--lh); }
.isms-el-contrast__icon { --ico: 1.25rem; --ico-scale: 60%; margin-top: calc((var(--lh) - var(--ico)) / 2); }
.isms-el-contrast__col--do .isms-el-contrast__icon { --ico-bg: var(--isms-el-mint); --ico-fg: var(--isms-el-moss); }
.isms-el-contrast__col--dont .isms-el-contrast__icon { --ico-bg: var(--isms-el-red); --ico-fg: var(--isms-el-white); }

/* Fit (sussexseo fit-card: 28px padding, 3px top rule, 18px heading with icon, 15px rows) */
.isms-el-fit__col--no { border-top-color: var(--isms-el-grey-dark); }
.isms-el-fit__heading { display: flex; align-items: center; gap: 0.5625rem; font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1.125rem; line-height: 1.3; margin-bottom: 1rem; }
.isms-el-fit__col--no .isms-el-fit__heading { color: var(--isms-el-muted); }
.isms-el-fit__hicon { --ico: 1.25rem; --ico-fg: var(--isms-el-mint-dark); }
.isms-el-fit__col--no .isms-el-fit__hicon { --ico-fg: var(--isms-el-grey-dark); }
.isms-el-fit__icon { --ico: 1rem; --ico-fg: var(--isms-el-mint-dark); margin-top: calc((var(--lh) - var(--ico)) / 2); }
.isms-el-fit__col--no .isms-el-fit__icon { --ico-fg: var(--isms-el-grey-dark); --ico: 0.875rem; margin-top: calc((var(--lh) - 0.875rem) / 2); }
.isms-el-fit__col--no .isms-el-fit__item { color: var(--isms-el-muted); }

/* Pros / cons */
.isms-el-pros-cons__col--cons { border-top-color: var(--isms-el-orange); }
.isms-el-pros-cons__heading { display: flex; align-items: center; gap: 0.625rem; margin-bottom: 1rem; }
.isms-el-pros-cons__title { font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1.125rem; line-height: 1.3; }
.isms-el-pros-cons__badge { --ico: 1.75rem; --ico-scale: 58%; }
.isms-el-pros-cons__col--pros .isms-el-pros-cons__badge { --ico-bg: var(--isms-el-mint); --ico-fg: var(--isms-el-moss); }
.isms-el-pros-cons__col--cons .isms-el-pros-cons__badge { --ico-bg: var(--isms-el-orange); --ico-fg: var(--isms-el-black); }
.isms-el-pros-cons__icon { --ico: 1rem; margin-top: calc((var(--lh) - var(--ico)) / 2); }
.isms-el-pros-cons__col--pros .isms-el-pros-cons__icon { --ico-fg: var(--isms-el-mint-dark); }
.isms-el-pros-cons__col--cons .isms-el-pros-cons__icon { --ico-fg: #C75A12; }

/* Myth vs fact */
.isms-el-myth-fact { display: grid; gap: 0.75rem; }
.isms-el-myth-fact__row { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
.isms-el-myth-fact__cell { border-radius: var(--isms-el-r); padding: 1.125rem 1.25rem; }
.isms-el-myth-fact__cell--myth { background: var(--isms-el-red-tint); border: 1px solid rgba(253, 54, 94, 0.25); }
.isms-el-myth-fact__cell--fact { background: var(--isms-el-crystal-light); border: 1px solid var(--isms-el-crystal-dark); }
.isms-el-myth-fact__label { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.4rem; }
.isms-el-myth-fact__icon { --ico: 1.375rem; --ico-scale: 58%; }
.isms-el-myth-fact__cell--myth .isms-el-myth-fact__icon { --ico-bg: var(--isms-el-red); --ico-fg: var(--isms-el-white); }
.isms-el-myth-fact__cell--fact .isms-el-myth-fact__icon { --ico-bg: var(--isms-el-mint); --ico-fg: var(--isms-el-moss); }
.isms-el-myth-fact__tag { font-family: var(--isms-el-font-head); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; line-height: 1.3; }
.isms-el-myth-fact__cell--myth .isms-el-myth-fact__tag { color: #A8102F; }
.isms-el-myth-fact__cell--fact .isms-el-myth-fact__tag { color: var(--isms-el-moss); }
.isms-el-myth-fact__cell--myth .isms-el-myth-fact__text { text-decoration: line-through; text-decoration-color: rgba(168, 16, 47, 0.5); }
.isms-el-myth-fact__text { font-size: var(--isms-el-small); line-height: 1.55; }

/* Versus */
.isms-el-versus { background: var(--isms-el-surface); border: 1px solid var(--isms-el-line); border-radius: var(--isms-el-r-lg); overflow: hidden; }
.isms-el-versus__head { position: relative; display: grid; grid-template-columns: 1fr 1.3fr 1.3fr; align-items: center; min-height: 4rem; background: var(--isms-el-moss); color: var(--isms-el-white); }
.isms-el-versus__name { font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1.0625rem; line-height: 1.3; padding: 1rem 1.25rem; }
.isms-el-versus__name--left { grid-column: 2; padding-right: 1.75rem; }
.isms-el-versus__name--right { grid-column: 3; padding-left: 1.75rem; }
.isms-el-versus__vs { position: absolute; left: calc(100% * 2.3 / 3.6); top: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--isms-el-mint); color: var(--isms-el-moss); font-family: var(--isms-el-font-head); font-weight: 700; font-size: 0.8125rem; line-height: 1; text-transform: uppercase; }
.isms-el-versus__table { table-layout: fixed; }
.isms-el-versus__row { border-top: 1px solid var(--isms-el-line); }
.isms-el-versus__aspect, .isms-el-versus__cell { padding: 0.875rem 1.25rem; text-align: left; vertical-align: middle; font-size: var(--isms-el-small); line-height: 1.45; }
.isms-el-versus__aspect { width: calc(100% / 3.6); font-weight: 600; color: var(--isms-el-muted); background: var(--isms-el-surface-2); }
.isms-el-versus__cell { font-weight: 500; }
.isms-el-versus__cell + .isms-el-versus__cell { padding-left: 1.75rem; }
.isms-el-versus__spacer { grid-column: 1; }

/* Data table (sussexseo rich-FAQ table: small uppercase header cells, bordered rows) */
.isms-el-table { background: var(--isms-el-surface); }
.isms-el-table__caption { font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1rem; margin-bottom: 0.625rem; }
.isms-el-table__scroll { border: 1px solid var(--isms-el-line); border-radius: var(--isms-el-r); overflow: hidden; }
.isms-el-table__table { font-size: 0.875rem; line-height: 1.45; }
.isms-el-table__th { text-align: left; vertical-align: middle; padding: 0.75rem 0.875rem; background: var(--isms-el-moss); color: var(--isms-el-white); font-family: var(--isms-el-font-head); font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.isms-el-table__rh, .isms-el-table__td { text-align: left; vertical-align: middle; padding: 0.75rem 0.875rem; border-top: 1px solid var(--isms-el-line); }
.isms-el-table__rh { font-weight: 600; }
.isms-el-table tbody tr:nth-child(even) { background: var(--isms-el-surface-2); }
.isms-el-table .is-hl { background: var(--isms-el-crystal-light); }
.isms-el-table .isms-el-table__th.is-hl { background: #0B4A26; color: var(--isms-el-mint); }
.isms-el-table__token { display: inline-block; vertical-align: middle; width: 1.375rem; height: 1.375rem; border-radius: 50%; position: relative; }
.isms-el-table__token::after { content: ""; position: absolute; inset: 0; -webkit-mask: var(--m) center / 60% no-repeat; mask: var(--m) center / 60% no-repeat; }
.isms-el-table__token--yes { background: var(--isms-el-mint); --m: var(--isms-el-tick-m); }
.isms-el-table__token--yes::after { background: var(--isms-el-moss); }
.isms-el-table__token--no { background: var(--isms-el-grey); --m: var(--isms-el-cross-m); }
.isms-el-table__token--no::after { background: var(--isms-el-grey-dark); }
.isms-el-table__token--partial { background: var(--isms-el-yellow); --m: var(--isms-el-minus-m); }
.isms-el-table__token--partial::after { background: var(--isms-el-black); }
.isms-el-table__source { margin-top: 0.5rem; font-size: 0.8125rem; color: var(--isms-el-muted); }

/* Mapping */
.isms-el-mapping { border: 1px solid var(--isms-el-line); border-radius: var(--isms-el-r); overflow: hidden; }
.isms-el-mapping__table { font-size: 0.875rem; line-height: 1.45; }
.isms-el-mapping__table th { text-align: left; vertical-align: middle; padding: 0.75rem 0.875rem; background: var(--isms-el-surface-2); font-family: var(--isms-el-font-head); font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--isms-el-muted); border-bottom: 1px solid var(--isms-el-line); }
.isms-el-mapping__table td { vertical-align: middle; padding: 0.75rem 0.875rem; border-top: 1px solid var(--isms-el-line); }
.isms-el-mapping__table tbody tr:first-child td { border-top: 0; }
.isms-el-mapping__arrow-col, .isms-el-mapping__arrow { width: 2.5rem; text-align: center; }
.isms-el-mapping__icon { --ico: 1rem; --ico-fg: var(--isms-el-mint-dark); }
.isms-el-mapping__from { color: var(--isms-el-muted); font-variant-numeric: tabular-nums; }
.isms-el-mapping__to { font-weight: 600; }
.isms-el-mapping__none { font-style: italic; color: var(--isms-el-muted); }
.isms-el-mapping__note { width: 8rem; text-align: right; }
.isms-el-mapping__pill { display: inline-block; padding: 0.2rem 0.55rem; border-radius: 5px; background: var(--isms-el-crystal-light); border: 1px solid var(--isms-el-crystal-dark); font-family: var(--isms-el-font-head); font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; line-height: 1.35; color: var(--isms-el-moss); }

/* Compare / pricing card (sussexseo price-card: 3px top accent, tag row, 21px name, 32px value, checklist) */
.isms-el-compare-card { --lh: 1.4rem; background: var(--isms-el-surface); border: 1px solid var(--isms-el-line); border-top: 3px solid var(--isms-el-blue); border-radius: var(--isms-el-r); padding: 1.875rem; max-width: 24rem; margin-inline: auto; }
.isms-el-compare-card--highlight { border-top-color: var(--isms-el-mint-dark); box-shadow: 0 18px 40px -24px rgba(0, 38, 15, 0.45); }
.isms-el-compare-card__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 0.625rem; line-height: 1.3; }
.isms-el-compare-card__title { font-family: var(--isms-el-font-head); font-size: 0.71875rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--isms-el-blue); }
.isms-el-compare-card--highlight .isms-el-compare-card__title { color: var(--isms-el-moss); }
.isms-el-compare-card__note { font-size: 0.78125rem; color: var(--isms-el-muted); }
.isms-el-compare-card__name { font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1.3125rem; line-height: 1.25; margin: 0.25rem 0; }
.isms-el-compare-card__price { font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1.5rem; line-height: 1.2; margin-bottom: 1.125rem; }
.isms-el-compare-card__price-note { font-family: var(--isms-el-font-body); font-size: var(--isms-el-small); font-weight: 500; color: var(--isms-el-muted); }
.isms-el-compare-card__features { margin-bottom: 1.375rem; }
.isms-el-compare-card__features:last-child { margin-bottom: 0; }
.isms-el-compare-card__icon { --ico: 1rem; --ico-fg: var(--isms-el-mint-dark); margin-top: calc((var(--lh) - var(--ico)) / 2); }
.isms-el-compare-card__item { font-size: 0.90625rem; }
.isms-el-compare-card__button { width: 100%; }

/* ================= Standards and controls ================= */
.isms-el-control-card { background: var(--isms-el-surface); border: 1px solid var(--isms-el-line); border-radius: var(--isms-el-r); padding: 1.5rem; max-width: 36rem; margin-inline: auto; }
.isms-el-control-card__head { display: flex; align-items: center; gap: 0.875rem; margin-bottom: 0.875rem; }
.isms-el-control-card__ref { flex: none; display: grid; place-items: center; min-width: 3.5rem; height: 3.5rem; padding: 0 0.5rem; border-radius: 12px; background: var(--isms-el-moss); color: var(--isms-el-mint); font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1.125rem; line-height: 1; font-variant-numeric: tabular-nums; }
.isms-el-control-card__heading { min-width: 0; }
.isms-el-control-card__theme { font-family: var(--isms-el-font-head); font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--isms-el-muted); line-height: 1.4; }
.isms-el-control-card__title { font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1.25rem; line-height: 1.25; letter-spacing: -0.01em; }
.isms-el-control-card__summary { font-size: var(--isms-el-small); line-height: 1.6; }
.isms-el-control-card__tags { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.875rem; }
.isms-el-control-card__tag { padding: 0.2rem 0.55rem; border-radius: 5px; background: var(--isms-el-crystal-light); border: 1px solid var(--isms-el-crystal-dark); font-family: var(--isms-el-font-head); font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; line-height: 1.35; color: var(--isms-el-moss); }
.isms-el .isms-el-control-card__link, .isms-el .isms-el-control-card__link:visited { display: inline-flex; align-items: center; gap: 0.45rem; min-height: 2.75rem; margin-top: 0.5rem; font-family: var(--isms-el-font-head); font-weight: 700; font-size: 0.90625rem; line-height: 1.3; color: var(--isms-el-moss); text-decoration: none; }
.isms-el .isms-el-control-card__link:hover { color: var(--isms-el-moss); text-decoration: underline; text-decoration-color: var(--isms-el-mint-dark); }
.isms-el-control-card__arrow { --ico: 0.95rem; transition: transform 0.2s; }
.isms-el-control-card__link:hover .isms-el-control-card__arrow { transform: translateX(3px); }

/* Gate rows — pills (v0.1) and icons (sussexseo gate-row: 26px square icon, 15.5px/600 title) */
.isms-el-gates__list { display: grid; gap: 0.625rem; }
.isms-el-gates__row { --lh: 1.5rem; display: grid; grid-template-columns: auto 1fr; column-gap: 0.875rem; align-items: start; padding: 1rem 1.125rem; border: 1px solid var(--isms-el-line); border-radius: var(--isms-el-r); background: var(--isms-el-surface); }
.isms-el-gates__status { grid-row: 1; display: inline-grid; place-items: center; min-width: 4.25rem; height: 1.5rem; padding: 0 0.55rem; border-radius: 999px; font-family: var(--isms-el-font-head); font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; line-height: 1.2; color: var(--isms-el-black); }
.isms-el-gates__mark { display: none; }
.isms-el-gates__row--pass .isms-el-gates__status { background: var(--isms-el-mint); }
.isms-el-gates__row--fail .isms-el-gates__status { background: var(--isms-el-red); }
.isms-el-gates__row--warn .isms-el-gates__status { background: var(--isms-el-yellow); }
.isms-el-gates__label { grid-row: 1; grid-column: 2; font-weight: 600; font-size: 0.96875rem; line-height: var(--lh); }
.isms-el-gates__note { grid-row: 2; grid-column: 2; font-size: 0.875rem; line-height: 1.45; color: var(--isms-el-muted); margin-top: 0.1875rem; }
.isms-el-gates--icons .isms-el-gates__row--pass { background: rgba(54, 254, 151, 0.08); }
.isms-el-gates--icons .isms-el-gates__status { min-width: 0; width: 1.625rem; height: 1.625rem; margin-top: calc((var(--lh) - 1.625rem) / 2); padding: 0; border-radius: 7px; font-size: 0.875rem; letter-spacing: 0; }
.isms-el-gates--icons .isms-el-gates__word { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.isms-el-gates--icons .isms-el-gates__mark { display: inline; }
.isms-el-gates--icons .isms-el-gates__row--pass .isms-el-gates__status { background: var(--isms-el-mint-tint); color: var(--isms-el-moss); }
.isms-el-gates--icons .isms-el-gates__row--fail .isms-el-gates__status { background: var(--isms-el-grey); color: var(--isms-el-grey-dark); }
.isms-el-gates--icons .isms-el-gates__row--warn .isms-el-gates__status { background: var(--isms-el-yellow-tint); color: #6B4B00; }

/* RACI */
.isms-el-raci__scroll { border: 1px solid var(--isms-el-line); border-radius: var(--isms-el-r); overflow: hidden; }
.isms-el-raci__table { font-size: 0.875rem; line-height: 1.4; }
.isms-el-raci__caption { caption-side: bottom; text-align: left; padding: 0.625rem 0.875rem; font-size: 0.8125rem; color: var(--isms-el-muted); border-top: 1px solid var(--isms-el-line); }
.isms-el-raci__corner, .isms-el-raci__role { padding: 0.75rem 0.625rem; background: var(--isms-el-moss); color: var(--isms-el-white); font-family: var(--isms-el-font-head); font-size: 0.75rem; font-weight: 700; line-height: 1.3; vertical-align: middle; }
.isms-el-raci__corner { text-align: left; padding-left: 0.875rem; }
.isms-el-raci__role { text-align: center; }
.isms-el-raci__activity { text-align: left; padding: 0.75rem 0.875rem; font-weight: 600; vertical-align: middle; border-top: 1px solid var(--isms-el-line); }
.isms-el-raci__cell { text-align: center; vertical-align: middle; padding: 0.625rem; border-top: 1px solid var(--isms-el-line); border-left: 1px solid var(--isms-el-line); }
.isms-el-raci__tag { display: inline-grid; place-items: center; min-width: 1.75rem; height: 1.75rem; padding: 0 0.35rem; border-radius: 7px; font-family: var(--isms-el-font-head); font-weight: 700; font-size: 0.8125rem; line-height: 1; }
.isms-el-raci__tag--r { background: var(--isms-el-blue); color: var(--isms-el-white); }
.isms-el-raci__tag--a { background: var(--isms-el-moss); color: var(--isms-el-mint); }
.isms-el-raci__tag--c { background: var(--isms-el-crystal); color: var(--isms-el-moss); }
.isms-el-raci__tag--i { background: var(--isms-el-grey); color: var(--isms-el-grey-dark); }
.isms-el-raci__tag--x { background: transparent; color: var(--isms-el-muted); }
.isms-el-raci__legend { display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; margin-top: 0.75rem; font-size: 0.8125rem; color: var(--isms-el-muted); }
.isms-el-raci__legend li { display: inline-flex; align-items: center; gap: 0.45rem; }
.isms-el-raci__legend .isms-el-raci__tag { min-width: 1.375rem; height: 1.375rem; font-size: 0.6875rem; border-radius: 5px; }

/* Maturity */
.isms-el-maturity__list { display: grid; gap: 0.5rem; }
.isms-el-maturity__step { position: relative; display: flex; align-items: center; gap: 1rem; padding: 0.75rem 1rem 1.125rem; border: 1px solid var(--isms-el-line); border-radius: var(--isms-el-r); background: var(--isms-el-surface); overflow: hidden; }
.isms-el-maturity__level { flex: none; display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; border: 1.5px solid var(--isms-el-line-2); font-family: var(--isms-el-font-head); font-weight: 700; font-size: 0.9375rem; line-height: 1; color: var(--isms-el-muted); }
.isms-el-maturity__body { flex: 1; min-width: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 0.75rem; line-height: 1.4; }
.isms-el-maturity__name { font-family: var(--isms-el-font-head); font-size: 1rem; }
.isms-el-maturity__text { font-size: 0.875rem; color: var(--isms-el-muted); }
.isms-el-maturity__now { flex: none; padding: 0.25rem 0.625rem; border-radius: 999px; background: var(--isms-el-moss); color: var(--isms-el-mint); font-family: var(--isms-el-font-head); font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.3; }
.isms-el-maturity__bar { position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--isms-el-grey); }
.isms-el-maturity__fill { display: block; height: 100%; background: var(--isms-el-line-2); }
.isms-el-maturity__step.is-done .isms-el-maturity__level { background: var(--isms-el-crystal); border-color: var(--isms-el-mint-dark); color: var(--isms-el-moss); }
.isms-el-maturity__step.is-done .isms-el-maturity__fill { background: var(--isms-el-mint-dark); }
.isms-el-maturity__step.is-current { border-color: var(--isms-el-moss); box-shadow: 0 10px 30px -20px rgba(0, 38, 15, 0.6); }
.isms-el-maturity__step.is-current .isms-el-maturity__level { background: var(--isms-el-mint); border-color: var(--isms-el-moss); color: var(--isms-el-moss); }
.isms-el-maturity__step.is-current .isms-el-maturity__fill { background: var(--isms-el-mint); }

/* ================= Risk and process ================= */
/* Heat map */
.isms-el-heatmap { max-width: 38rem; margin-inline: auto; }
.isms-el-heatmap__wrap { display: flex; align-items: center; gap: 0.625rem; }
.isms-el-heatmap__y { flex: none; writing-mode: vertical-rl; transform: rotate(180deg); font-family: var(--isms-el-font-head); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--isms-el-muted); }
.isms-el-heatmap__grid { table-layout: fixed; border-collapse: separate; border-spacing: 4px; max-width: 34rem; }
.isms-el-heatmap__axis { width: 1.75rem; padding: 0; text-align: center; vertical-align: middle; font-family: var(--isms-el-font-head); font-size: 0.8125rem; font-weight: 700; color: var(--isms-el-muted); }
.isms-el-heatmap tfoot .isms-el-heatmap__axis { width: auto; height: 1.5rem; }
.isms-el-heatmap__cell { position: relative; height: 3.5rem; padding: 0.25rem; border-radius: 8px; text-align: center; vertical-align: middle; }
.isms-el-heatmap__cell--low { background: var(--isms-el-crystal); color: var(--isms-el-moss); }
.isms-el-heatmap__cell--medium { background: #FFF1A8; color: #5C4200; }
.isms-el-heatmap__cell--high { background: #FFC39A; color: #6B2C00; }
.isms-el-heatmap__cell--critical { background: #FF9AAE; color: #6B0017; }
.isms-el-heatmap__score { display: block; font-family: var(--isms-el-font-head); font-weight: 700; font-size: 0.9375rem; line-height: 1; }
.isms-el-heatmap__mark { display: block; width: fit-content; margin: 0.2rem auto 0; padding: 0.1rem 0.3rem; border-radius: 5px; background: var(--isms-el-moss); color: var(--isms-el-mint); font-family: var(--isms-el-font-head); font-size: 0.625rem; font-weight: 700; line-height: 1.2; }
.isms-el-heatmap__x { margin: 0.25rem 0 0 2.75rem; max-width: 32rem; text-align: center; font-family: var(--isms-el-font-head); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--isms-el-muted); }
.isms-el-heatmap__legend { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; margin: 0.875rem 0 0 2.75rem; font-size: 0.8125rem; color: var(--isms-el-muted); }
.isms-el-heatmap__legend li { display: inline-flex; align-items: center; gap: 0.4rem; }
.isms-el-heatmap__swatch { width: 0.875rem; height: 0.875rem; border-radius: 3px; }
.isms-el-heatmap__caption { margin: 0.5rem 0 0 2.75rem; font-size: 0.8125rem; color: var(--isms-el-muted); }

/* Cycle (PDCA) */
.isms-el-cycle__wrap { position: relative; }
.isms-el-cycle__list { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 4.5rem; counter-reset: none; }
.isms-el-cycle__stage { background: var(--isms-el-surface); border: 1px solid var(--isms-el-line); border-radius: var(--isms-el-r); padding: 1.125rem 1.25rem; }
.isms-el-cycle__stage:nth-child(3) { grid-column: 2; grid-row: 2; }
.isms-el-cycle__stage:nth-child(4) { grid-column: 1; grid-row: 2; }
.isms-el-cycle__head { display: flex; align-items: center; gap: 0.625rem; margin-bottom: 0.375rem; }
.isms-el-cycle__num { flex: none; display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--isms-el-moss); color: var(--isms-el-mint); font-family: var(--isms-el-font-head); font-weight: 700; font-size: 0.875rem; line-height: 1; }
.isms-el-cycle__label { font-family: var(--isms-el-font-head); font-size: 1.125rem; line-height: 1.2; }
.isms-el-cycle__text { font-size: 0.875rem; line-height: 1.5; color: var(--isms-el-muted); }
.isms-el-cycle__centre { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 7.5rem; height: 7.5rem; border-radius: 50%; border: 3px solid var(--isms-el-mint-dark); border-right-color: transparent; background: var(--isms-el-surface); text-align: center; pointer-events: none; }
.isms-el-cycle__centre span { max-width: 5.5rem; font-family: var(--isms-el-font-head); font-weight: 700; font-size: 0.75rem; line-height: 1.25; color: var(--isms-el-moss); }
.isms-el-cycle--n3 .isms-el-cycle__list, .isms-el-cycle--n5 .isms-el-cycle__list, .isms-el-cycle--n6 .isms-el-cycle__list { grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.isms-el-cycle--n3 .isms-el-cycle__stage, .isms-el-cycle--n5 .isms-el-cycle__stage, .isms-el-cycle--n6 .isms-el-cycle__stage { grid-column: auto; grid-row: auto; }
.isms-el-cycle--n3 .isms-el-cycle__centre, .isms-el-cycle--n5 .isms-el-cycle__centre, .isms-el-cycle--n6 .isms-el-cycle__centre { position: static; transform: none; margin: 1rem auto 0; }

/* Pipeline (sussexseo process: 4-up cards, "01" numbers, 700 title, 13px text) */
.isms-el-pipeline__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: 0.75rem; }
.isms-el-pipeline__card { position: relative; display: flex; flex-direction: column; background: var(--isms-el-surface); border: 1px solid var(--isms-el-line); border-radius: var(--isms-el-r); padding: 1.25rem; }
.isms-el-pipeline__num { font-family: var(--isms-el-font-head); font-weight: 700; font-size: 0.8125rem; line-height: 1; color: var(--isms-el-moss); font-variant-numeric: tabular-nums; }
.isms-el-pipeline__num::before { content: "0"; }
.isms-el-pipeline__label { margin: 0.375rem 0 0.3125rem; font-family: var(--isms-el-font-head); font-size: 1rem; line-height: 1.3; }
.isms-el-pipeline__text { font-size: 0.8125rem; line-height: 1.5; color: var(--isms-el-muted); }
.isms-el-pipeline__card:not(:last-child)::after { content: ""; position: absolute; top: 50%; right: -0.6rem; z-index: 1; width: 0.5rem; height: 0.5rem; border-top: 2px solid var(--isms-el-mint-dark); border-right: 2px solid var(--isms-el-mint-dark); transform: translate(0, -50%) rotate(45deg); }

/* Relationship graph (JS draws the spokes; without JS the nodes are a grid) */
.isms-el-graph__canvas { position: relative; }
.isms-el-graph__centre { display: inline-grid; place-items: center; margin-bottom: 0.875rem; padding: 0.625rem 1rem; border-radius: 999px; background: var(--isms-el-moss); color: var(--isms-el-mint); font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1rem; line-height: 1.2; }
.isms-el-graph__nodes { display: grid; grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr)); gap: 0.5rem; }
.isms-el-graph__node { display: flex; flex-direction: column; justify-content: center; padding: 0.625rem 0.875rem; border: 1px solid var(--isms-el-line); border-radius: var(--isms-el-r); background: var(--isms-el-surface); line-height: 1.3; }
.isms-el-graph__label { font-family: var(--isms-el-font-head); font-size: 0.875rem; }
.isms-el-graph__note { font-size: 0.75rem; color: var(--isms-el-muted); }
.isms-el-graph__caption { margin-top: 0.75rem; font-size: 0.8125rem; color: var(--isms-el-muted); text-align: center; }
.isms-el-graph.is-drawn .isms-el-graph__canvas { height: var(--graph-h, 26rem); }
.isms-el-graph.is-drawn .isms-el-graph__svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.isms-el-graph.is-drawn .isms-el-graph__centre, .isms-el-graph.is-drawn .isms-el-graph__node { position: absolute; transform: translate(-50%, -50%); margin: 0; z-index: 1; }
.isms-el-graph.is-drawn .isms-el-graph__centre { left: 50%; top: 50%; width: 7.5rem; height: 7.5rem; border-radius: 50%; padding: 0.75rem; text-align: center; box-shadow: 0 0 0 8px rgba(54, 254, 151, 0.18); }
.isms-el-graph.is-drawn .isms-el-graph__nodes { display: block; }
.isms-el-graph.is-drawn .isms-el-graph__node { width: 10.5rem; text-align: center; align-items: center; box-shadow: 0 8px 20px -16px rgba(0, 38, 15, 0.5); }
.isms-el-graph__line { stroke: var(--isms-el-line-2); stroke-width: 1.5; }
.isms-el-graph__pulse { fill: var(--isms-el-mint-dark); }

/* Timeline — vertical (sussexseo vtl: 2px rail, 16px dot with halo, 14px/800 year, 20px heading) */
.isms-el-timeline__list { position: relative; display: flex; flex-direction: column; padding-left: 0.25rem; }
.isms-el-timeline__item { position: relative; padding: 0 0 2rem 2.125rem; border-left: 2px solid var(--isms-el-line-2); }
.isms-el-timeline__item:last-child { padding-bottom: 0.25rem; border-left-color: transparent; }
.isms-el-timeline__node { position: absolute; left: -0.5625rem; top: 0.125rem; }
.isms-el-timeline__dot { display: block; width: 1rem; height: 1rem; border-radius: 50%; background: var(--isms-el-mint); box-shadow: 0 0 0 4px rgba(54, 254, 151, 0.3), 0 0 0 5px var(--isms-el-mint-dark); }
.isms-el-timeline__rule { display: none; }
.isms-el-timeline__img { display: none; }
.isms-el-timeline__body > :first-child { display: block; min-height: 1.25rem; line-height: 1.25rem; }
.isms-el-timeline__label { display: block; font-family: var(--isms-el-font-head); font-weight: 700; font-size: 0.875rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--isms-el-moss); }
.isms-el-timeline__title { display: block; margin: 0.3125rem 0 0.4375rem; font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1.25rem; line-height: 1.18; letter-spacing: -0.02em; }
.isms-el-timeline__body > .isms-el-timeline__title:first-child { margin-top: 0; }
.isms-el-timeline__text { max-width: 32.5rem; font-size: 0.90625rem; line-height: 1.55; color: var(--isms-el-muted); }

/* Timeline — horizontal (sussexseo: 300px story tiles on an arrow-driven track, dot + rule, 21px heading) */
.isms-el-timeline--horizontal .isms-el-timeline__list { flex-direction: row; gap: 1.5rem; padding: 0.375rem 0.375rem 0.375rem; scroll-padding-inline: 0.375rem; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; }
.isms-el-timeline--horizontal .isms-el-timeline__list::-webkit-scrollbar { display: none; }
.isms-el-timeline--horizontal .isms-el-timeline__item { flex: 0 0 min(18.75rem, 80%); scroll-snap-align: start; padding: 0; border: 0; }
.isms-el-timeline--horizontal .isms-el-timeline__img { display: block; width: 100%; height: 9.375rem; object-fit: cover; border-radius: 8px; }
.isms-el-timeline--horizontal .isms-el-timeline__node { position: static; display: flex; align-items: center; margin: 1rem 0 0.75rem; }
.isms-el-timeline--horizontal .isms-el-timeline__dot { flex: none; width: 0.8125rem; height: 0.8125rem; box-shadow: 0 0 0 4px rgba(54, 254, 151, 0.3); }
.isms-el-timeline--horizontal .isms-el-timeline__rule { display: block; flex: 1; height: 2px; background: var(--isms-el-line-2); }
.isms-el-timeline--horizontal .isms-el-timeline__label { font-size: 0.9375rem; }
.isms-el-timeline--horizontal .isms-el-timeline__title { font-size: 1.3125rem; line-height: 1.16; margin: 0.375rem 0 0.5rem; }
.isms-el-timeline--horizontal .isms-el-timeline__text { font-size: 0.875rem; line-height: 1.5; }

/* shared prev/next arrows for track elements (slider, horizontal timeline) — hidden until JS runs */
.isms-el-nav { display: none; justify-content: flex-end; gap: 0.5rem; margin-top: 1.125rem; }
.isms-el.is-ready > .isms-el-nav { display: flex; }
.isms-el-nav__btn { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; padding: 0; border-radius: 9px; border: 1px solid var(--isms-el-line-2); background: var(--isms-el-surface); color: var(--isms-el-ink); font-size: 1.5rem; line-height: 1; cursor: pointer; transition: opacity 0.15s, border-color 0.15s; }
.isms-el-nav__btn:hover { border-color: var(--isms-el-ink); }
.isms-el-nav__btn:disabled { opacity: 0.4; cursor: default; }

/* ================= Data and proof ================= */
/* Stats — plain (sussexseo stats-grid: 4 columns, 46px/800 numbers, 14.5px label, 13.5px note) */
.isms-el-stats__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: 1.25rem; }
.isms-el-stats__item { display: flex; flex-direction: column; align-items: center; text-align: center; }
.isms-el-stats__value { font-family: var(--isms-el-font-head); font-weight: 700; font-size: clamp(1.875rem, 1.4rem + 1.8vw, 2.875rem); line-height: 1; letter-spacing: -0.02em; color: var(--isms-el-moss); font-variant-numeric: tabular-nums; }
.isms-el-stats__label { margin-top: 0.5rem; font-weight: 700; font-size: 0.90625rem; line-height: 1.35; }
.isms-el-stats__note { margin-top: 0.25rem; font-size: 0.84375rem; line-height: 1.5; color: var(--isms-el-muted); }
/* Stats — cards (sussexseo count-up demo: centred cards) */
.isms-el-stats--cards .isms-el-stats__item { display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; background: var(--isms-el-surface); border: 1px solid var(--isms-el-line); border-radius: var(--isms-el-r); padding: 1.625rem 1.25rem; }
.isms-el-stats--cards .isms-el-stats__value { font-size: 2.875rem; }

/* Bar chart (sussexseo chart card: small uppercase title, token gridlines) */
.isms-el-bar-chart { background: var(--isms-el-surface); border: 1px solid var(--isms-el-line); border-radius: var(--isms-el-r); padding: 1.125rem 1.25rem 1.25rem; }
.isms-el-bar-chart__title, .isms-el-line-chart__title, .isms-el-stacked-bar__title { font-family: var(--isms-el-font-head); font-size: 0.6875rem; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 700; color: var(--isms-el-moss); margin-bottom: 0.875rem; line-height: 1.4; }
.isms-el-bar-chart__rows { display: grid; gap: 0.625rem; }
.isms-el-bar-chart__row { display: grid; grid-template-columns: minmax(6rem, 9rem) 1fr minmax(5.5rem, auto); gap: 0.875rem; align-items: center; font-size: 0.875rem; line-height: 1.3; }
.isms-el-bar-chart__label { font-weight: 600; text-align: right; }
.isms-el-bar-chart__track { display: block; height: 1.375rem; background: var(--isms-el-grey); border-radius: 0 5px 5px 0; overflow: hidden; }
.isms-el-bar-chart__bar { display: block; height: 100%; background: rgba(0, 38, 15, 0.22); border-radius: 0 5px 5px 0; transition: width 0.6s ease; }
.isms-el-bar-chart__row--first .isms-el-bar-chart__bar { background: var(--isms-el-mint-dark); }
.isms-el-bar-chart__value { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.isms-el-bar-chart__value small { font-weight: 500; font-size: 0.8125rem; color: var(--isms-el-muted); }
.isms-el-bar-chart__source, .isms-el-line-chart__source, .isms-el-stacked-bar__source { margin-top: 0.875rem; font-size: 0.78125rem; line-height: 1.45; color: var(--isms-el-muted); }

/* Line chart */
.isms-el-line-chart { background: var(--isms-el-surface); border: 1px solid var(--isms-el-line); border-radius: var(--isms-el-r); padding: 1.125rem 1.25rem 1.25rem; }
.isms-el-line-chart__plot { display: none; position: relative; height: 15rem; }
.isms-el-line-chart.is-drawn .isms-el-line-chart__plot { display: block; }
.isms-el-line-chart.is-drawn .isms-el-line-chart__data { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.isms-el-line-chart__data { font-size: 0.875rem; }
.isms-el-line-chart__data th, .isms-el-line-chart__data td { text-align: left; padding: 0.375rem 0.5rem; border-top: 1px solid var(--isms-el-line); }
.isms-el-line-chart__plot svg { display: block; width: 100%; height: 100%; overflow: visible; }
.isms-el-line-chart__grid { stroke: var(--isms-el-line); stroke-width: 1; }
.isms-el-line-chart__axis { fill: var(--isms-el-muted); font-family: var(--isms-el-font-head); font-size: 12px; }
.isms-el-line-chart__area { fill: rgba(54, 254, 151, 0.22); }
.isms-el-line-chart__line { fill: none; stroke: var(--isms-el-mint-dark); stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; }
.isms-el-line-chart__dot { fill: var(--isms-el-surface); stroke: var(--isms-el-moss); stroke-width: 2.5; }
.isms-el-line-chart__val { fill: var(--isms-el-moss); font-family: var(--isms-el-font-head); font-weight: 700; font-size: 13px; }

/* Stacked bar */
.isms-el-stacked-bar { background: var(--isms-el-surface); border: 1px solid var(--isms-el-line); border-radius: var(--isms-el-r); padding: 1.125rem 1.25rem 1.25rem; }
.isms-el-stacked-bar__bar { display: flex; height: 2.25rem; border-radius: 8px; overflow: hidden; background: var(--isms-el-grey); }
.isms-el-stacked-bar__seg { display: flex; align-items: center; justify-content: center; min-width: 0; height: 100%; font-family: var(--isms-el-font-head); font-weight: 700; font-size: 0.8125rem; line-height: 1; }
.isms-el-stacked-bar__seg + .isms-el-stacked-bar__seg { box-shadow: inset 2px 0 0 var(--isms-el-surface); }
.isms-el-stacked-bar__seg.is-narrow .isms-el-stacked-bar__seg-val { display: none; }
.isms-el-stacked-bar__seg--c1 { background: var(--isms-el-moss); color: var(--isms-el-mint); }
.isms-el-stacked-bar__seg--c2 { background: var(--isms-el-mint); color: var(--isms-el-moss); }
.isms-el-stacked-bar__seg--c3 { background: var(--isms-el-blue); color: var(--isms-el-white); }
.isms-el-stacked-bar__seg--c4 { background: var(--isms-el-crystal-dark); color: var(--isms-el-moss); }
.isms-el-stacked-bar__seg--c5 { background: var(--isms-el-yellow); color: var(--isms-el-black); }
.isms-el-stacked-bar__seg--c6 { background: var(--isms-el-grey-dark); color: var(--isms-el-white); }
.isms-el-stacked-bar__legend { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; margin-top: 0.875rem; }
.isms-el-stacked-bar__key { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; line-height: 1.35; }
.isms-el-stacked-bar__swatch { flex: none; width: 0.75rem; height: 0.75rem; border-radius: 3px; }
.isms-el-stacked-bar__num { font-weight: 700; font-variant-numeric: tabular-nums; }
.isms-el-stacked-bar__pct { font-weight: 400; color: var(--isms-el-muted); }

/* Rings */
.isms-el-rings__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(11.5rem, 1fr)); gap: 1rem 1.25rem; }
.isms-el-rings__item { display: flex; align-items: center; gap: 0.875rem; }
.isms-el-rings__ring { --p: 0; position: relative; flex: none; display: grid; place-items: center; width: 4.5rem; height: 4.5rem; border-radius: 50%; background: conic-gradient(var(--isms-el-mint-dark) calc(var(--p) * 1%), var(--isms-el-grey) 0); }
.isms-el-rings__ring::before { content: ""; position: absolute; inset: 8px; border-radius: 50%; background: var(--isms-el-surface); }
.isms-el-rings__pct { position: relative; font-family: var(--isms-el-font-head); font-weight: 700; font-size: 0.9375rem; line-height: 1; color: var(--isms-el-moss); }
.isms-el-rings__body { display: flex; flex-direction: column; min-width: 0; line-height: 1.35; }
.isms-el-rings__label { font-family: var(--isms-el-font-head); font-size: 1rem; }
.isms-el-rings__note { font-size: 0.8125rem; color: var(--isms-el-muted); }

/* Progress */
.isms-el-progress__list { display: grid; gap: 1rem; }
.isms-el-progress__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 0.4rem; line-height: 1.35; }
.isms-el-progress__label { font-weight: 600; font-size: 0.9375rem; }
.isms-el-progress__value { font-family: var(--isms-el-font-head); font-weight: 700; font-size: 0.9375rem; font-variant-numeric: tabular-nums; }
.isms-el-progress__track { display: block; height: 0.5rem; border-radius: 999px; background: var(--isms-el-grey); overflow: hidden; }
.isms-el-progress__fill { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--isms-el-blue), var(--isms-el-mint-dark)); }
.isms-el-progress__note { display: block; margin-top: 0.3rem; font-size: 0.8125rem; color: var(--isms-el-muted); }

/* Trust bar (sussexseo: label, name slots, rating chip, ruled top and bottom) */
.isms-el-trust-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 1.5rem; padding: 1.25rem 0; border-top: 1px solid var(--isms-el-line); border-bottom: 1px solid var(--isms-el-line); }
.isms-el-trust-bar__label { font-family: var(--isms-el-font-head); font-size: 0.71875rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--isms-el-muted); line-height: 1.3; }
.isms-el-trust-bar__logos { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.625rem; }
.isms-el-trust-bar__logo { font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1rem; line-height: 1.3; color: var(--isms-el-grey-dark); }
.isms-el-trust-bar__logo img { height: 1.75rem; width: auto; display: block; }
.isms-el-trust-bar__rating { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.84375rem; color: var(--isms-el-muted); line-height: 1.3; }
.isms-el-trust-bar__stars { color: var(--isms-el-orange); letter-spacing: 1px; }

/* Trust strip (sussexseo: credibility band, uppercase items with glowing node dots) */
.isms-el-trust-strip { background: var(--isms-el-moss); border-radius: 12px; padding: 1.375rem; }
.isms-el-trust-strip__heading { font-family: var(--isms-el-font-head); font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--isms-el-mint); font-weight: 700; margin-bottom: 0.875rem; line-height: 1.3; }
.isms-el-trust-strip__list { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem 1.25rem; }
.isms-el-trust-strip__item { display: inline-flex; align-items: center; gap: 0.625rem; font-family: var(--isms-el-font-head); font-size: 0.78125rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; line-height: 1.3; color: rgba(255, 255, 255, 0.86); }
.isms-el-trust-strip__dot { background: var(--isms-el-mint); }
.isms-el-trust-strip__item img { height: 2rem; width: auto; }

/* ================= Interactive ================= */
/* Tabs: without JS every panel shows with its own title */
.isms-el-tabs__list { display: none; }
.isms-el-tabs__panel { padding: 1.125rem 0; border-top: 1px solid var(--isms-el-line); }
.isms-el-tabs__panel-title { font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1rem; margin-bottom: 0.25rem; }
.isms-el-tabs__text { font-size: var(--isms-el-small); line-height: 1.6; }
.isms-el-tabs.is-ready .isms-el-tabs__list { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1rem; }
.isms-el-tabs.is-ready .isms-el-tabs__panel { padding: 1.25rem 1.375rem; border: 1px solid var(--isms-el-line); border-radius: var(--isms-el-r); background: var(--isms-el-surface); }
.isms-el-tabs.is-ready .isms-el-tabs__panel[hidden] { display: none; }
.isms-el-tabs.is-ready .isms-el-tabs__panel-title { display: none; }
.isms-el-tabs__tab, .isms-el-faq__tab { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0.5625rem 1rem; border-radius: 999px; border: 1px solid var(--isms-el-line); background: var(--isms-el-surface); color: var(--isms-el-muted); font-family: var(--isms-el-font-head); font-size: 0.875rem; font-weight: 600; line-height: 1.2; cursor: pointer; transition: background-color 0.15s, color 0.15s, border-color 0.15s; }
.isms-el-tabs__tab:hover, .isms-el-faq__tab:hover { color: var(--isms-el-ink); border-color: var(--isms-el-line-2); }
.isms-el-tabs__tab[aria-selected="true"], .isms-el-faq__tab.is-active { background: var(--isms-el-moss); border-color: var(--isms-el-moss); color: var(--isms-el-mint); }

/* Accordion + FAQ (sussexseo faq-item: bordered r10 cards, 17px/700 question, 30px icon, rotates open) */
.isms-el-faq__tabs { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.5rem; }
.isms-el-faq__list, .isms-el-accordion { display: grid; gap: 0.75rem; }
.isms-el-faq__item, .isms-el-accordion__item { border: 1px solid var(--isms-el-line); border-radius: var(--isms-el-r); background: var(--isms-el-surface); overflow: hidden; }
.isms-el-faq__item[hidden] { display: none; }
.isms-el-faq__q, .isms-el-accordion__q { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.125rem 1.5rem; font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1.0625rem; line-height: 1.35; }
.isms-el-faq__q::-webkit-details-marker, .isms-el-accordion__q::-webkit-details-marker { display: none; }
.isms-el-faq__icon, .isms-el-accordion__icon { position: relative; flex: none; width: 1.875rem; height: 1.875rem; border-radius: 8px; background: var(--isms-el-grey); transition: transform 0.25s, background-color 0.2s; }
.isms-el-faq__icon::before, .isms-el-faq__icon::after, .isms-el-accordion__icon::before, .isms-el-accordion__icon::after { content: ""; position: absolute; left: 50%; top: 50%; background: var(--isms-el-muted); border-radius: 2px; transform: translate(-50%, -50%); }
.isms-el-faq__icon::before, .isms-el-accordion__icon::before { width: 0.875rem; height: 2px; }
.isms-el-faq__icon::after, .isms-el-accordion__icon::after { width: 2px; height: 0.875rem; }
.isms-el-faq__item[open] .isms-el-faq__icon, .isms-el-accordion__item[open] .isms-el-accordion__icon { transform: rotate(45deg); background: var(--isms-el-moss); }
.isms-el-faq__item[open] .isms-el-faq__icon::before, .isms-el-faq__item[open] .isms-el-faq__icon::after,
.isms-el-accordion__item[open] .isms-el-accordion__icon::before, .isms-el-accordion__item[open] .isms-el-accordion__icon::after { background: var(--isms-el-mint); }
.isms-el-faq__a, .isms-el-accordion__a { padding: 0 1.5rem 1.375rem; color: var(--isms-el-muted); font-size: 0.96875rem; line-height: 1.62; }
.isms-el-faq__a > * + * { margin-top: 0.75rem; }
.isms-el-faq__a table { font-size: 0.875rem; }
.isms-el-faq__a th, .isms-el-faq__a td { text-align: left; padding: 0.625rem 0.875rem; border: 1px solid var(--isms-el-line); }
.isms-el-faq__a th { font-family: var(--isms-el-font-head); font-size: 0.6875rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--isms-el-moss); background: var(--isms-el-surface-2); }
.isms-el-faq__a ul { display: grid; gap: 0.4rem; }
.isms-el-faq__a li { position: relative; padding-left: 1.25rem; }
.isms-el-faq__a li::before { content: ""; position: absolute; left: 0; top: 0.65em; width: 6px; height: 6px; border-radius: 50%; background: var(--isms-el-mint-dark); }

/* On this page */
.isms-el-toc { background: var(--isms-el-crystal-light); border: 1px solid var(--isms-el-crystal-dark); border-radius: var(--isms-el-r); padding: 1.125rem 1.375rem; }
.isms-el-toc__heading { font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1rem; margin-bottom: 0.5rem; }
.isms-el-toc__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: 0.125rem 1.5rem; counter-reset: toc; }
.isms-el-toc__item { counter-increment: toc; }
.isms-el .isms-el-toc__link { display: flex; align-items: center; gap: 0.6rem; min-height: 2.75rem; font-weight: 500; padding: 0.25rem 0; color: var(--isms-el-ink); text-decoration: none; font-size: 0.9375rem; line-height: 1.35; }
.isms-el-toc__link::before { content: counter(toc, decimal-leading-zero); flex: none; font-family: var(--isms-el-font-head); font-weight: 700; font-size: 0.75rem; color: var(--isms-el-mint-dark); font-variant-numeric: tabular-nums; }
.isms-el .isms-el-toc__link:hover { color: var(--isms-el-blue); }

/* Card slider (sussexseo explainer: 340px tiles, 188px media, 3x40 rule, 23px/800 headline, meta) */
.isms-el-slider__heading { font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1.125rem; margin-bottom: 1rem; }
.isms-el-slider__track { display: flex; gap: 1.25rem; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 0.125rem 0.125rem 0.375rem; scroll-padding-inline: 0.125rem; scrollbar-width: none; }
.isms-el-slider__track::-webkit-scrollbar { display: none; }
.isms-el-slider__tile { flex: 0 0 min(21.25rem, 82%); scroll-snap-align: start; display: flex; flex-direction: column; }
.isms-el-slider__media { position: relative; height: 11.75rem; border-radius: 8px; overflow: hidden; background: linear-gradient(135deg, var(--isms-el-moss), #0B4A26 60%, #127A3F); }
.isms-el-slider__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.isms-el-slider__pos { position: absolute; left: 0.75rem; bottom: 0.75rem; padding: 0.25rem 0.5rem; border-radius: 4px; background: rgba(0, 38, 15, 0.78); color: var(--isms-el-white); font-family: var(--isms-el-font-head); font-size: 0.65625rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.3; }
.isms-el-slider__rule { display: block; width: 2.5rem; height: 3px; margin: 1rem 0 0.625rem; background: var(--isms-el-mint); }
.isms-el .isms-el-slider__title { display: block; margin-bottom: 0.5625rem; font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1.4375rem; line-height: 1.14; letter-spacing: -0.02em; color: var(--isms-el-ink); text-decoration: none; }
.isms-el a.isms-el-slider__title:hover { color: var(--isms-el-blue); }
.isms-el-slider__text { font-size: 0.90625rem; line-height: 1.5; color: var(--isms-el-muted); }
.isms-el-slider__meta { display: flex; align-items: center; gap: 0.5rem; margin-top: 0.875rem; font-size: 0.78125rem; color: var(--isms-el-muted); }

/* ================= Media, links and resources ================= */
.isms-el-figure__img, .isms-el-figure img { display: block; width: 100%; height: auto; border-radius: 12px; }
.isms-el-figure__placeholder { display: grid; place-items: center; min-height: 11.25rem; border-radius: var(--isms-el-r-lg); background: linear-gradient(135deg, var(--isms-el-crystal-light), var(--isms-el-crystal-dark)); border: 1px dashed rgba(0, 38, 15, 0.25); color: var(--isms-el-moss); font-size: 0.8125rem; font-weight: 600; text-align: center; padding: 1rem; }
.isms-el-figure__caption { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.25rem 1rem; margin-top: 0.625rem; font-size: 0.84375rem; line-height: 1.45; color: var(--isms-el-muted); }
.isms-el-figure__credit { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.02em; }

.isms-el-video__frame { position: relative; aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden; background: radial-gradient(120% 90% at 20% 10%, #0B4A26, var(--isms-el-moss) 60%); }
.isms-el-video__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.isms-el .isms-el-video__play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 1rem; padding: 1.5rem; color: var(--isms-el-white); text-decoration: none; }
.isms-el-video__btn { flex: none; display: grid; place-items: center; width: 4rem; height: 4rem; border-radius: 50%; background: var(--isms-el-mint); box-shadow: 0 0 0 8px rgba(54, 254, 151, 0.2); transition: transform 0.2s; }
.isms-el-video__play:hover .isms-el-video__btn { transform: scale(1.06); }
.isms-el-video__glyph { --ico: 1.625rem; --ico-fg: var(--isms-el-moss); margin-left: 0.2rem; }
.isms-el-video__label { display: flex; flex-direction: column; max-width: 22rem; font-family: var(--isms-el-font-head); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; line-height: 1.3; color: var(--isms-el-mint); }
.isms-el-video__title { margin-top: 0.25rem; font-size: 1.1875rem; letter-spacing: -0.01em; text-transform: none; line-height: 1.25; color: var(--isms-el-white); }
.isms-el-video__caption { margin-top: 0.625rem; font-size: 0.84375rem; color: var(--isms-el-muted); }

/* Artefact previews (sussexseo work-shown: 118px drawn preview, tag, 16px title, 13.5px text) */
.isms-el-artefacts { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1.25rem; }
.isms-el-artefacts__card { display: flex; flex-direction: column; overflow: hidden; background: var(--isms-el-surface); border: 1px solid var(--isms-el-line); border-radius: var(--isms-el-r); }
.isms-el-artefacts__mock { position: relative; display: flex; flex-direction: column; justify-content: center; gap: 0.5rem; height: 7.375rem; padding: 1rem 1.125rem; background: linear-gradient(150deg, var(--isms-el-moss), #07361A); }
.isms-el-artefacts__mock span { display: block; height: 5px; border-radius: 3px; background: rgba(255, 255, 255, 0.16); }
.isms-el-artefacts__mock--doc span:nth-child(1) { width: 55%; height: 8px; background: var(--isms-el-mint); }
.isms-el-artefacts__mock--doc span:nth-child(2) { width: 90%; } .isms-el-artefacts__mock--doc span:nth-child(3) { width: 78%; } .isms-el-artefacts__mock--doc span:nth-child(4) { width: 94%; } .isms-el-artefacts__mock--doc span:nth-child(5) { width: 62%; } .isms-el-artefacts__mock--doc span:nth-child(6) { display: none; }
.isms-el-artefacts__mock--table { display: grid; grid-template-columns: 1fr 2fr 1fr; gap: 6px 8px; align-content: center; }
.isms-el-artefacts__mock--table span { height: 9px; }
.isms-el-artefacts__mock--table span:nth-child(-n+3) { background: var(--isms-el-mint); opacity: 0.85; }
.isms-el-artefacts__mock--bars span { height: 6px; }
.isms-el-artefacts__mock--bars span:nth-child(odd) { width: 30%; background: rgba(255, 255, 255, 0.28); height: 4px; }
.isms-el-artefacts__mock--bars span:nth-child(2) { width: 70%; background: linear-gradient(90deg, var(--isms-el-blue), var(--isms-el-mint)); }
.isms-el-artefacts__mock--bars span:nth-child(4) { width: 42%; }
.isms-el-artefacts__mock--bars span:nth-child(6) { width: 58%; }
.isms-el-artefacts__mock--map { display: block; }
.isms-el-artefacts__mock--map span { position: absolute; width: 10px; height: 10px; border-radius: 50%; background: var(--isms-el-blue); }
.isms-el-artefacts__mock--map span:nth-child(1) { left: 50%; top: 50%; width: 16px; height: 16px; margin: -8px 0 0 -8px; background: var(--isms-el-mint); box-shadow: 0 0 0 6px rgba(54, 254, 151, 0.2); }
.isms-el-artefacts__mock--map span:nth-child(2) { left: 22%; top: 26%; } .isms-el-artefacts__mock--map span:nth-child(3) { left: 76%; top: 28%; background: var(--isms-el-mint-dark); } .isms-el-artefacts__mock--map span:nth-child(4) { left: 28%; top: 72%; background: var(--isms-el-mint-dark); } .isms-el-artefacts__mock--map span:nth-child(5) { left: 72%; top: 70%; } .isms-el-artefacts__mock--map span:nth-child(6) { display: none; }
.isms-el-artefacts__body { display: flex; flex-direction: column; align-items: flex-start; padding: 1.125rem; }
.isms-el-artefacts__tag { padding: 0.25rem 0.5625rem; border-radius: 5px; background: var(--isms-el-crystal-light); border: 1px solid var(--isms-el-crystal-dark); font-family: var(--isms-el-font-head); font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.35; color: var(--isms-el-moss); }
.isms-el-artefacts__title { margin: 0.625rem 0 0.25rem; font-family: var(--isms-el-font-head); font-size: 1rem; line-height: 1.3; }
.isms-el-artefacts__text { font-size: 0.84375rem; line-height: 1.5; color: var(--isms-el-muted); }

/* Resource card */
.isms-el-resource { display: flex; align-items: center; gap: 1.125rem; background: var(--isms-el-surface); border: 1px solid var(--isms-el-line); border-radius: var(--isms-el-r); padding: 1.25rem 1.375rem; }
.isms-el-resource__icon { flex: none; display: grid; place-items: center; width: 3.25rem; height: 3.25rem; border-radius: 12px; background: var(--isms-el-crystal); }
.isms-el-resource__glyph { --ico: 1.5rem; --ico-fg: var(--isms-el-moss); }
.isms-el-resource__body { flex: 1; min-width: 0; }
.isms-el-resource__kind { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; font-family: var(--isms-el-font-head); font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--isms-el-moss); line-height: 1.4; }
.isms-el-resource__format { padding-left: 0.5rem; border-left: 1px solid var(--isms-el-line-2); color: var(--isms-el-muted); }
.isms-el-resource__title { font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1.125rem; line-height: 1.3; }
.isms-el-resource__text { font-size: 0.875rem; line-height: 1.5; color: var(--isms-el-muted); margin-top: 0.125rem; }
.isms-el-resource__button { flex: none; }

/* Related links: pairs (sussexseo pairs: 3-up lift cards, title + arrow, 14px line) */
.isms-el-related__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1.25rem; }
.isms-el .isms-el-related__link { display: flex; flex-direction: column; height: 100%; background: var(--isms-el-surface); border: 1px solid var(--isms-el-line); border-radius: var(--isms-el-r); padding: 1.5rem; color: var(--isms-el-ink); text-decoration: none; transition: transform 0.22s ease, border-color 0.22s, box-shadow 0.22s; }
.isms-el .isms-el-related__link:hover { transform: translateY(-4px); border-color: var(--isms-el-line-2); box-shadow: 0 22px 50px -30px rgba(0, 38, 15, 0.45); color: var(--isms-el-ink); }
.isms-el-related__img, .isms-el-related__media { display: none; }
.isms-el-related__main { display: flex; flex-direction: column; min-width: 0; }
.isms-el-related__kicker { font-family: var(--isms-el-font-head); font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--isms-el-moss); line-height: 1.4; margin-bottom: 0.375rem; }
.isms-el-related__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.75rem; margin-bottom: 0.4375rem; }
.isms-el-related__title { font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1.0625rem; line-height: 1.375rem; }
.isms-el-related__arrow { --ico: 1rem; --ico-fg: var(--isms-el-mint-dark); margin-top: calc((1.375rem - 1rem) / 2); transition: transform 0.2s; }
.isms-el-related__link:hover .isms-el-related__arrow { transform: translateX(3px); }
.isms-el-related__text { font-size: 0.875rem; line-height: 1.5; color: var(--isms-el-muted); }
/* Related links: list */
.isms-el-related--list .isms-el-related__list { grid-template-columns: 1fr; gap: 0; border-top: 1px solid var(--isms-el-line); }
.isms-el-related--list .isms-el-related__link { border: 0; border-bottom: 1px solid var(--isms-el-line); border-radius: 0; padding: 0.875rem 0.25rem; }
.isms-el-related--list .isms-el-related__link:hover { transform: none; box-shadow: none; }
.isms-el-related--list .isms-el-related__head { margin-bottom: 0; }
/* Related links: blog cards (sussexseo blog cards: 140px image, tag, 16px title) */
.isms-el-related--blog .isms-el-related__link { padding: 0; overflow: hidden; }
.isms-el-related--blog .isms-el-related__img { display: block; width: 100%; height: 8.75rem; object-fit: cover; }
.isms-el-related--blog .isms-el-related__media { display: block; height: 8.75rem; background: linear-gradient(135deg, var(--isms-el-moss), #0B4A26 60%, #127A3F); }
.isms-el-related--blog .isms-el-related__img + .isms-el-related__media { display: none; }
.isms-el-related--blog .isms-el-related__main { padding: 1.25rem; }
.isms-el-related--blog .isms-el-related__kicker { align-self: flex-start; padding: 0.25rem 0.5625rem; border-radius: 5px; background: var(--isms-el-crystal-light); border: 1px solid var(--isms-el-crystal-dark); margin-bottom: 0.625rem; }
.isms-el-related--blog .isms-el-related__arrow, .isms-el-related--blog .isms-el-related__text { display: none; }

/* Card grid (sussexseo card + door card) */
.isms-el-cards__grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.isms-el-cards--cols-2 .isms-el-cards__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.isms-el-cards--cols-4 .isms-el-cards__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.isms-el-cards__card { display: flex; flex-direction: column; background: var(--isms-el-surface); border: 1px solid var(--isms-el-line); border-radius: var(--isms-el-r); padding: 1.625rem; transition: transform 0.22s ease, border-color 0.22s, box-shadow 0.22s; }
.isms-el-cards__card:hover { transform: translateY(-5px); border-color: var(--isms-el-line-2); box-shadow: 0 22px 50px -30px rgba(0, 38, 15, 0.45); }
.isms-el-cards__main { display: flex; flex-direction: column; flex: 1; }
.isms-el-cards__tile { display: none; }
.isms-el-cards__kicker { font-family: var(--isms-el-font-head); font-size: 0.71875rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--isms-el-moss); font-weight: 700; line-height: 1.4; }
.isms-el-cards__title { margin: 0.75rem 0 0.625rem; font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1.25rem; line-height: 1.2; letter-spacing: -0.02em; }
.isms-el-cards__kicker + .isms-el-cards__title { margin-top: 0.75rem; }
.isms-el-cards__card > .isms-el-cards__main > .isms-el-cards__title:first-child { margin-top: 0; }
.isms-el-cards__text { color: var(--isms-el-muted); font-size: var(--isms-el-small); line-height: 1.6; margin-bottom: 1.125rem; }
.isms-el .isms-el-cards__link, .isms-el .isms-el-cards__link:visited { display: inline-flex; align-items: center; gap: 0.4375rem; min-height: 2.75rem; margin-top: auto; font-family: var(--isms-el-font-head); font-weight: 700; font-size: 0.90625rem; line-height: 1.3; color: var(--isms-el-moss); text-decoration: none; transition: gap 0.2s; }
.isms-el .isms-el-cards__link:hover { gap: 0.6875rem; color: var(--isms-el-moss); text-decoration: underline; text-decoration-color: var(--isms-el-mint-dark); }
.isms-el-cards__arrow { --ico-fg: var(--isms-el-mint-dark); }
.isms-el-cards__arrow { --ico: 0.95rem; }
.isms-el-cards--door .isms-el-cards__card { padding: 1.875rem; }
.isms-el-cards--door .isms-el-cards__title { font-size: 1.4375rem; }
.isms-el-cards--proof .isms-el-cards__tile, .isms-el-cards--pain .isms-el-cards__tile { display: grid; place-items: center; flex: none; width: 2.5rem; height: 2.5rem; border-radius: 10px; }
.isms-el-cards--proof .isms-el-cards__tile { background: var(--isms-el-mint-tint); margin-bottom: 1rem; }
.isms-el-cards--proof .isms-el-cards__tile::after { content: ""; width: 1.25rem; height: 1.25rem; background: var(--isms-el-moss); -webkit-mask: var(--isms-el-tick-m) center / contain no-repeat; mask: var(--isms-el-tick-m) center / contain no-repeat; }
/* pain (sussexseo visibility-tax grid: icon tile left, text right) */
.isms-el-cards--pain .isms-el-cards__card { flex-direction: row; align-items: flex-start; gap: 1rem; }
.isms-el-cards--pain .isms-el-cards__tile { background: var(--isms-el-red-tint); margin-top: 0; }
.isms-el-cards--pain .isms-el-cards__tile::after { content: ""; width: 1rem; height: 1rem; background: #C8173F; -webkit-mask: var(--isms-el-cross-m) center / contain no-repeat; mask: var(--isms-el-cross-m) center / contain no-repeat; }
.isms-el-cards--pain .isms-el-cards__title { font-size: 1.0625rem; margin: 0.4rem 0 0.375rem; line-height: 1.3; }
.isms-el-cards--pain .isms-el-cards__text { font-size: 0.875rem; margin-bottom: 0; }

/* Case-study cards (sussexseo: colour-blocked r16, 26px padding, 21px headline, 22px stat) */
.isms-el-case-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1.25rem; }
.isms-el-case-cards__card { display: flex; flex-direction: column; min-height: 11.25rem; border-radius: 16px; padding: 1.625rem; transition: transform 0.22s ease; }
.isms-el-case-cards__card:hover { transform: translateY(-4px); }
.isms-el-case-cards__card--moss { background: var(--isms-el-moss); color: var(--isms-el-white); }
.isms-el-case-cards__card--mint { background: var(--isms-el-mint); color: var(--isms-el-moss); }
.isms-el-case-cards__card--blue { background: var(--isms-el-blue); color: var(--isms-el-white); }
.isms-el-case-cards__card--black { background: var(--isms-el-black); color: var(--isms-el-white); }
.isms-el-case-cards__kicker { font-family: var(--isms-el-font-head); font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; opacity: 0.85; line-height: 1.4; }
.isms-el .isms-el-case-cards__title { display: block; margin: 0.625rem 0 1rem; font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1.3125rem; line-height: 1.15; color: inherit; text-decoration: none; }
.isms-el-case-cards__stat { display: flex; flex-direction: column; margin-top: auto; }
.isms-el-case-cards__num { font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1.375rem; line-height: 1.2; }
.isms-el-case-cards__label { font-size: 0.75rem; opacity: 0.85; }

/* Feature grid: cards (sussexseo card + 48px icon tile), rows (deliverables), proof (six proof points) */
.isms-el-feature-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.isms-el-feature-grid--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.isms-el-feature-grid--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.isms-el-feature-grid__item { display: flex; flex-direction: column; background: var(--isms-el-surface); border: 1px solid var(--isms-el-line); border-radius: var(--isms-el-r); padding: 1.625rem; transition: transform 0.22s ease, border-color 0.22s, box-shadow 0.22s; }
.isms-el-feature-grid__item:hover { transform: translateY(-5px); border-color: var(--isms-el-line-2); box-shadow: 0 22px 50px -30px rgba(0, 38, 15, 0.45); }
.isms-el-feature-grid__tile { flex: none; display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 12px; background: var(--isms-el-crystal); margin-bottom: 1.125rem; }
.isms-el-feature-grid__icon { --ico: 1.5rem; --ico-fg: var(--isms-el-moss); }
.isms-el-feature-grid__body { display: flex; flex-direction: column; min-width: 0; }
.isms-el-feature-grid__title { font-family: var(--isms-el-font-head); font-size: 1.25rem; line-height: 1.25; letter-spacing: -0.02em; margin-bottom: 0.5rem; }
.isms-el-feature-grid__text { font-size: 0.90625rem; line-height: 1.6; color: var(--isms-el-muted); }
.isms-el-feature-grid--rows { column-gap: 2rem; row-gap: 0; }
.isms-el-feature-grid--rows .isms-el-feature-grid__item { flex-direction: row; align-items: center; gap: 0.875rem; padding: 1.125rem 0; border: 0; border-top: 1px solid var(--isms-el-line); border-radius: 0; background: transparent; }
.isms-el-feature-grid--rows .isms-el-feature-grid__item:hover { transform: none; box-shadow: none; }
.isms-el-feature-grid--rows .isms-el-feature-grid__tile { width: 2.5rem; height: 2.5rem; border-radius: 10px; margin-bottom: 0; }
.isms-el-feature-grid--rows .isms-el-feature-grid__icon { --ico: 1.25rem; }
.isms-el-feature-grid--rows .isms-el-feature-grid__title { font-size: 1rem; margin-bottom: 0.25rem; line-height: 1.3; }
.isms-el-feature-grid--rows .isms-el-feature-grid__text { font-size: 0.875rem; line-height: 1.5; }
.isms-el-feature-grid--proof { column-gap: 1.625rem; row-gap: 1.125rem; }
.isms-el-feature-grid--proof .isms-el-feature-grid__item { padding: 1.125rem 0 0; border: 0; border-top: 1px solid var(--isms-el-line); border-radius: 0; background: transparent; }
.isms-el-feature-grid--proof .isms-el-feature-grid__item:hover { transform: none; box-shadow: none; }
.isms-el-feature-grid--proof .isms-el-feature-grid__tile { width: 2.375rem; height: 2.375rem; border-radius: 10px; margin-bottom: 0.75rem; }
.isms-el-feature-grid--proof .isms-el-feature-grid__icon { --ico: 1.25rem; }
.isms-el-feature-grid--proof .isms-el-feature-grid__title { font-size: 1.03125rem; margin-bottom: 0.375rem; }
.isms-el-feature-grid--proof .isms-el-feature-grid__text { font-size: 0.875rem; line-height: 1.55; }

/* Breadcrumbs (sussexseo: 13px, 9px gaps, faint slashes) */
.isms-el-breadcrumbs__list { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5625rem; font-size: 0.8125rem; line-height: 1.4; color: var(--isms-el-muted); }
.isms-el-breadcrumbs__item { display: inline-flex; align-items: center; gap: 0.5625rem; }
.isms-el .isms-el-breadcrumbs__link { color: var(--isms-el-grey-dark); text-decoration: none; }
.isms-el .isms-el-breadcrumbs__link:hover { color: var(--isms-el-blue); text-decoration: underline; }
.isms-el-breadcrumbs__sep { opacity: 0.5; }
.isms-el-breadcrumbs__current { color: var(--isms-el-ink); font-weight: 600; }

/* Pagination (sussexseo: 40px controls r9, active filled) */
.isms-el-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.5rem; }
.isms-el .isms-el-pager__step { display: inline-flex; align-items: center; justify-content: center; gap: 0.625rem; min-height: 2.75rem; min-width: 2.75rem; padding: 0.4rem 0.875rem; border-radius: 9px; border: 1px solid var(--isms-el-line); background: var(--isms-el-surface); color: var(--isms-el-ink); text-decoration: none; }
.isms-el .isms-el-pager__step:hover { border-color: var(--isms-el-line-2); color: var(--isms-el-ink); }
.isms-el-pager__chev { font-size: 1.5rem; line-height: 1; color: var(--isms-el-muted); }
.isms-el-pager__steptext { display: flex; flex-direction: column; font-family: var(--isms-el-font-head); font-weight: 700; font-size: 0.875rem; line-height: 1.25; }
.isms-el-pager__step--next .isms-el-pager__steptext { text-align: right; }
.isms-el-pager__dir { font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--isms-el-muted); }
.isms-el-pager__pages { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.isms-el .isms-el-pager__page { display: grid; place-items: center; min-width: 2.75rem; height: 2.75rem; padding: 0 0.5rem; border-radius: 9px; border: 1px solid var(--isms-el-line); background: var(--isms-el-surface); color: var(--isms-el-grey-dark); font-family: var(--isms-el-font-head); font-weight: 700; font-size: 0.875rem; line-height: 1; text-decoration: none; }
.isms-el a.isms-el-pager__page:hover { border-color: var(--isms-el-line-2); color: var(--isms-el-ink); }
.isms-el .isms-el-pager__page.is-current { background: var(--isms-el-moss); border-color: var(--isms-el-moss); color: var(--isms-el-mint); }

/* ================= Calls to action ================= */
/* Soft CTA (sussexseo: card, 1.2fr/1fr, eyebrow + 20px heading + 15px text, actions right, middle-aligned) */
.isms-el-cta-strip { display: grid; grid-template-columns: 1.2fr auto; gap: 1.25rem 2rem; align-items: center; background: var(--isms-el-crystal-light); border: 1px solid var(--isms-el-crystal-dark); border-radius: var(--isms-el-r); padding: 1.625rem; }
.isms-el-cta-strip .isms-el-cta-strip__eyebrow { margin-bottom: 0.625rem; }
.isms-el-cta-strip__heading { font-family: var(--isms-el-font-head); font-weight: 700; font-size: 1.25rem; line-height: 1.25; letter-spacing: -0.02em; margin-bottom: 0.375rem; }
.isms-el-cta-strip__text { font-size: var(--isms-el-small); line-height: 1.55; color: var(--isms-el-muted); }
.isms-el-cta-strip__copy > .isms-el-cta-strip__text:only-child { color: var(--isms-el-ink); font-weight: 600; font-size: 1rem; }
.isms-el-cta-strip__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 0.625rem; }

/* Final CTA band (sussexseo: decisive colour band, 56px/32px padding, centred, 32px heading, two buttons) */
.isms-el.isms-el-cta-band { background: var(--isms-el-moss); color: var(--isms-el-white); border-radius: var(--isms-el-r-lg); padding: 3.5rem 2rem; }
.isms-el-cta-band--center { text-align: center; }
.isms-el-cta-band .isms-el__eyebrow { color: var(--isms-el-mint); }
.isms-el-cta-band__heading { font-family: var(--isms-el-font-head); font-weight: 700; font-size: clamp(1.625rem, 1.3rem + 1.1vw, 2rem); line-height: 1.15; letter-spacing: -0.02em; margin-bottom: 0.75rem; color: var(--isms-el-white); }
.isms-el-cta-band__text { font-size: 1.0625rem; line-height: 1.55; color: rgba(255, 255, 255, 0.86); max-width: 38rem; margin-bottom: 1.625rem; }
.isms-el-cta-band--center .isms-el-cta-band__text { margin-inline: auto; }
.isms-el-cta-band__buttons { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.isms-el-cta-band--center .isms-el-cta-band__buttons { justify-content: center; }
.isms-el-cta-band .isms-el__btn--ghost { color: var(--isms-el-white); border-color: rgba(255, 255, 255, 0.5); }
.isms-el-cta-band .isms-el__btn--ghost:hover { color: var(--isms-el-white); border-color: var(--isms-el-white); }

/* Sticky CTA bar (sussexseo: 13px 22px, r12, dot + bold line + muted line, two small buttons) */
.isms-el.isms-el-sticky-bar { position: fixed; left: 50%; bottom: 1rem; z-index: 90; width: min(calc(100% - 2rem), 62rem); transform: translateX(-50%); margin: 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem 1rem; padding: 0.8125rem 0.875rem 0.8125rem 1.375rem; background: var(--isms-el-moss); color: var(--isms-el-white); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 12px; box-shadow: 0 14px 36px rgba(0, 38, 15, 0.32); }
.isms-el-sticky-bar--hidden { display: none !important; }
.isms-el-sticky-bar__copy { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 0.75rem; min-width: 0; line-height: 1.35; }
.isms-el-sticky-bar__dot { background: var(--isms-el-mint); }
.isms-el-sticky-bar__text { font-family: var(--isms-el-font-head); font-weight: 700; font-size: 0.9375rem; }
.isms-el-sticky-bar__sub { font-size: 0.84375rem; color: rgba(255, 255, 255, 0.72); }
.isms-el-sticky-bar__actions { display: flex; align-items: center; gap: 0.5rem; }
.isms-el .isms-el-sticky-bar__button { min-height: 2.75rem; padding: 0.625rem 1rem; font-size: 0.875rem; }
.isms-el-sticky-bar .isms-el__btn--ghost { color: var(--isms-el-white); border-color: rgba(255, 255, 255, 0.4); }
.isms-el-sticky-bar .isms-el__btn--ghost:hover { color: var(--isms-el-white); border-color: var(--isms-el-white); }
.isms-el-sticky-bar__close { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; padding: 0; border: 0; border-radius: 8px; background: transparent; color: var(--isms-el-white); font-size: 1.5rem; line-height: 1; cursor: pointer; }
.isms-el-sticky-bar__close:hover { color: var(--isms-el-mint); background: rgba(255, 255, 255, 0.08); }

/* ---------- /elements/ showcase helpers (not elements): copyable shortcode samples, demo note, grid ---------- */
.isms-el-code { position: relative; margin: 1rem 0 0; padding: 0.875rem 1rem; padding-right: 5.25rem; border-radius: 10px; background: #0B1F14; color: #D5FFEA; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.8125rem; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; tab-size: 2; }
.isms-el-code code { font: inherit; color: inherit; background: none; padding: 0; white-space: inherit; }
.isms-el-code code::before, .isms-el-code code::after { content: none; }
.isms-el-code__copy { position: absolute; top: 0.5rem; right: 0.5rem; min-width: 4.25rem; min-height: 2.75rem; padding: 0.4rem 0.75rem; border: 1px solid rgba(213, 255, 234, 0.35); border-radius: 7px; background: rgba(213, 255, 234, 0.08); color: #D5FFEA; font-family: "neulis-sans", sans-serif; font-size: 0.75rem; font-weight: 700; line-height: 1; cursor: pointer; }
.isms-el-code__copy:hover { background: rgba(213, 255, 234, 0.18); }
.isms-el-code__copy:focus-visible { outline: 3px solid #36FE97; outline-offset: 2px; }
.isms-el-code__copy.is-copied { background: #36FE97; color: #00260F; border-color: #36FE97; }
.isms-el-page { max-width: 80rem; margin-inline: auto; padding: 9rem 1rem 4rem; font-family: "inter", sans-serif; }
.isms-el-page__note { background: var(--color-crystal-light, #EDFFF5); border: 1px solid var(--color-crystal-dark, #AEFFD6); border-radius: 12px; padding: 1rem 1.25rem; }
.isms-el-page__attrs { margin: 0.625rem 0 0; font-size: 0.8125rem; line-height: 1.55; color: var(--color-grey-dark, #4D4D4D); }
.isms-el-page__attrs code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.75rem; padding: 0.05rem 0.3rem; border-radius: 4px; background: #EEF1EF; color: #00260F; }
.isms-el-page__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.isms-el-page__grid .isms-el { margin-block: 0; max-width: none; }

/* ---------- Responsive: everything stacks below 768px ---------- */
@media (max-width: 767px) {
	.isms-el-tldr--cols-2 .isms-el-tldr__list,
	.isms-el-contrast, .isms-el-fit, .isms-el-pros-cons, .isms-el-two-up,
	.isms-el-myth-fact__row, .isms-el-page__grid,
	.isms-el-ticklist--cols-2,
	.isms-el-cards__grid, .isms-el-cards--cols-2 .isms-el-cards__grid, .isms-el-cards--cols-4 .isms-el-cards__grid,
	.isms-el-feature-grid, .isms-el-feature-grid--cols-2, .isms-el-feature-grid--cols-4 { grid-template-columns: 1fr; }
	.isms-el-stats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.isms-el-cta-strip { grid-template-columns: 1fr; }
	.isms-el-cta-strip__actions { justify-content: flex-start; }
	.isms-el-facts__row, .isms-el-glossary__row { grid-template-columns: 1fr; gap: 0.125rem; }
	.isms-el-big-numbers__item { grid-template-columns: 4.5rem 1fr; gap: 1rem; }
	.isms-el-bar-chart__row { grid-template-columns: 1fr auto; row-gap: 0.25rem; }
	.isms-el-bar-chart__label { text-align: left; }
	.isms-el-bar-chart__track { grid-column: 1 / -1; grid-row: 2; }
	.isms-el-expertise { padding: 1.375rem; gap: 1rem; }
	.isms-el-resource { flex-wrap: wrap; }
	.isms-el-resource__button { width: 100%; }
	.isms-el-cycle__list { grid-template-columns: 1fr; gap: 0.75rem; }
	.isms-el-cycle__stage:nth-child(3), .isms-el-cycle__stage:nth-child(4) { grid-column: auto; grid-row: auto; }
	.isms-el-cycle__centre { position: static; transform: none; margin: 0.875rem auto 0; width: 6.5rem; height: 6.5rem; }
	.isms-el-pipeline__list { grid-template-columns: 1fr; }
	.isms-el-pipeline__card:not(:last-child)::after { top: auto; right: auto; bottom: -0.6rem; left: 1.5rem; transform: rotate(135deg); }
	/* stacked tables: each row a card, header names from data-label */
	.isms-el-table__table thead, .isms-el-mapping__table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.isms-el-table__table tr, .isms-el-mapping__table tr { display: block; padding: 0.5rem 0; border-top: 1px solid var(--isms-el-line); }
	.isms-el-table__table tbody tr:first-child, .isms-el-mapping__table tbody tr:first-child { border-top: 0; }
	.isms-el-table__rh, .isms-el-table__td, .isms-el-mapping__table td { display: flex; justify-content: space-between; align-items: center; gap: 1rem; border: 0; padding: 0.3rem 0.875rem; text-align: right; }
	.isms-el-table__rh { text-align: left; font-size: 0.9375rem; }
	.isms-el-table__td::before, .isms-el-mapping__table td[data-label]::before { content: attr(data-label); font-weight: 600; font-size: 0.75rem; color: var(--isms-el-muted); text-align: left; }
	.isms-el-mapping__arrow { display: none !important; }
	.isms-el-mapping__note { width: auto; justify-content: flex-end !important; }
	.isms-el-versus__head { grid-template-columns: 1fr 1fr; }
	.isms-el-versus__spacer { display: none; }
	.isms-el-versus__name { padding: 0.875rem 1rem; }
	.isms-el-versus__name--left { grid-column: 1; padding-right: 1.5rem; }
	.isms-el-versus__name--right { grid-column: 2; padding-left: 1.5rem; }
	.isms-el-versus__vs { left: 50%; }
	.isms-el-versus__cell + .isms-el-versus__cell { padding-left: 1.5rem; }
	.isms-el-versus__table, .isms-el-versus__table tbody, .isms-el-versus__row { display: block; }
	.isms-el-versus__row { display: grid; grid-template-columns: 1fr 1fr; }
	.isms-el-versus__aspect { grid-column: 1 / -1; width: auto; padding: 0.5rem 1rem; font-size: 0.8125rem; }
	.isms-el-versus__cell { display: block; padding: 0.625rem 1rem; }
	/* RACI: one card per activity, each role labelled (data-label) */
	.isms-el-raci__table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.isms-el-raci__table { display: flex; flex-direction: column; }
	.isms-el-raci__table tbody, .isms-el-raci__table tr, .isms-el-raci__caption { display: block; }
	.isms-el-raci__caption { order: 2; }
	.isms-el-raci__table tr { border-top: 1px solid var(--isms-el-line); padding: 0.375rem 0; }
	.isms-el-raci__table tbody tr:first-child { border-top: 0; }
	.isms-el-raci__activity { display: block; border-top: 0; padding: 0.5rem 0.875rem 0.25rem; }
	.isms-el-raci__cell { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border: 0; padding: 0.25rem 0.875rem; text-align: right; }
	.isms-el-raci__cell::before { content: attr(data-label); font-size: 0.8125rem; color: var(--isms-el-muted); text-align: left; }
	.isms-el-heatmap__cell { height: 2.75rem; }
	.isms-el-heatmap__y { display: none; }
	.isms-el-heatmap__x, .isms-el-heatmap__legend, .isms-el-heatmap__caption { margin-left: 2rem; }
	.isms-el-graph.is-drawn .isms-el-graph__canvas { height: auto; }
	.isms-el-graph.is-drawn .isms-el-graph__svg { display: none; }
	.isms-el-graph.is-drawn .isms-el-graph__centre, .isms-el-graph.is-drawn .isms-el-graph__node { position: static; transform: none; }
	.isms-el-graph.is-drawn .isms-el-graph__centre { width: auto; height: auto; border-radius: 999px; margin-bottom: 0.875rem; box-shadow: none; }
	.isms-el-graph.is-drawn .isms-el-graph__nodes { display: grid; grid-template-columns: 1fr 1fr; }
	.isms-el-graph.is-drawn .isms-el-graph__node { width: auto; }
	.isms-el-video__play { flex-direction: column; text-align: center; }
	.isms-el-video__label { align-items: center; }
	.isms-el-video__title { font-size: 1rem; }
	.isms-el-pager { justify-content: center; }
	.isms-el-pager__step .isms-el-pager__steptext { display: none; }
	.isms-el.isms-el-cta-band { padding: 2.5rem 1.25rem; }
	.isms-el.isms-el-sticky-bar { padding: 0.75rem; }
	.isms-el-sticky-bar__sub { display: none; }
	.isms-el-sticky-bar__actions .isms-el__btn--ghost { display: none; }
	.isms-el-compare-card { max-width: none; }
	.isms-el-page { padding: 7.5rem 1rem 3rem; }
}
@media (max-width: 420px) {
	.isms-el-stats__grid { grid-template-columns: 1fr; }
	.isms-el-key-dates__when { width: 5.25rem; font-size: 0.8125rem; }
	.isms-el-sticky-bar__text { font-size: 0.875rem; }
}
@media (prefers-reduced-motion: reduce) {
	.isms-el *, .isms-el *::before, .isms-el *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
	.isms-el .isms-el__btn:hover, .isms-el-cards__card:hover, .isms-el-feature-grid__item:hover, .isms-el .isms-el-related__link:hover, .isms-el-case-cards__card:hover { transform: none; }
}
