/**
 * HOMEPAGE-ONLY layout.
 *
 * Everything shared — tokens, typography, buttons, kickers, cards, splits,
 * pipelines, metrics, bands, marquee, motion — lives in css/iss-global.css and
 * is inherited via `.iss-page` on the wrapper (front-page.php renders
 * `.iss-front-page.iss-page`). This file holds ONLY what is genuinely unique
 * to the homepage: its taller hero, the hero workflow card, and a handful of
 * deliberate spacing overrides that carry the homepage's narrative rhythm.
 *
 * If you are about to add a *component* here, it belongs in iss-global.css so
 * every other page gets it too. Only page-specific layout goes in this file.
 */

/* ============================================================
   HOMEPAGE TYPE SCALE + RHYTHM OVERRIDES
   The homepage is the one page that opens with a full-bleed hero, so its H1
   runs larger than the global scale and its sections sit on a tighter chapter
   rhythm than the deep-dive subpages (which need more air per section).
   ============================================================ */
/* V44 `.hero h1` — its own scale, not the larger one this file used to force. */
.iss-front-page h1 {
	font-size: clamp(34px, 4.6vw, 52px);
	line-height: 1.03;
	margin: 0 0 22px;
	max-width: 760px;
}

/* V44 `.section h2`: clamp(26px,3vw,38px), and `.section-head` margin 44px. */
.iss-front-page h2 {
	margin: 0 0 16px;
	font-size: clamp(26px, 3vw, 38px);
	line-height: 1.08;
	letter-spacing: -.025em;
}
.iss-front-page h3 { margin: 0 0 10px; font-size: 24px; }

/*
 * V44 `.container{width:min(1180px, calc(100% - 40px))}`. Our shared
 * `.iss-wrap` is narrower (1120px), which quietly changed every column
 * measurement on the page — the AI shell came out 1120 wide against the
 * mockup's 1180, and every grid inside it inherited the error. Scoped to the
 * homepage; `.iss-wrap` is shared with every other template.
 */
/*
 * `calc(100% - 40px)` is what the shared rule uses, and it is right there —
 * its parent is the window. Ours isn't: The7 wraps our content in its own
 * 1200px column, so subtracting another 40px landed us at 1160. The gutters
 * are already provided by that parent, so the homepage just takes 1180 of it.
 */
.iss-front-page .iss-wrap { width: min(1180px, 100%); max-width: none; }

/* V44 sets body line-height 1.55; the shared stylesheet uses 1.6. */
.iss-front-page { line-height: 1.55; }

/*
 * V44 `.btn`: 46px tall, 0/20 padding, 16px/750. The shared `.iss-btn` runs
 * smaller and pads vertically instead of using a min-height, which made every
 * button on the page a few px taller and a point smaller than the mockup.
 * Scoped to the homepage — `.iss-btn` is on every template.
 */
.iss-front-page .iss-btn {
	min-height: 46px;
	padding: 0 20px;
	font-size: 16px;
	font-weight: 750;
	line-height: 1.2;
}

/* V44 `.section{padding:92px 0}` — flat, with a mobile step-down of our own. */
.iss-front-page section.iss-section { padding: 92px 0; }
@media (max-width: 700px) { .iss-front-page section.iss-section { padding: 56px 0; } }
/* V44 `.section.soft` — the tint behind Proven Impact. */
.iss-front-page section.iss-section-soft { background: var(--iss-bg); }
/* V44's `.hero` padding, verbatim (92px top / 84px bottom), scaled down on
   narrow viewports where the mockup's own fixed value would crowd the card. */
.iss-front-page section.iss-hero { padding: clamp(48px, 6vw, 92px) 0 clamp(48px, 5.5vw, 84px); }

/* V44 `.section-head{max-width:790px; margin-bottom:44px}` + `.section-intro`. */
.iss-front-page .iss-sec-head { max-width: 790px; margin-bottom: 44px; }
.iss-front-page .iss-sec-head .iss-lead { font-size: 18px; line-height: 1.55; color: var(--iss-muted); margin: 0; }
.iss-front-page .iss-lead { font-size: 19px; margin: 0 0 24px; max-width: 760px; }
/* V44 `.section-head.center` — the Workflow Snapshot is the one centred head. */
.iss-front-page .iss-sec-head-center { text-align: center; margin-left: auto; margin-right: auto; }

/* ============================================================
   HERO
   ============================================================ */

/*
 * Deep navy background + a subtle decorative ring, per Glenn's 2026-08-06
 * v3-preview review (item 1): "I added some color... deeper background with
 * subtle graphics." The workflow card itself is untouched — he preferred
 * ours to v3's — so this is the section background only, which means every
 * hero text element needs its dark-ground color flipped to match.
 */
.iss-front-page section.iss-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 18% 20%, rgba(27, 131, 210, .35), transparent 32%),
		radial-gradient(circle at 80% 10%, rgba(219, 36, 55, .14), transparent 24%),
		linear-gradient(135deg, #06172c 0%, #0b3159 62%, #0e477a 100%);
	color: #fff;
}
.iss-front-page section.iss-hero::after {
	content: "";
	position: absolute;
	inset: auto -130px -220px auto;
	width: 540px;
	height: 540px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 50%;
	box-shadow: 0 0 0 70px rgba(255, 255, 255, .025), 0 0 0 140px rgba(255, 255, 255, .02);
	pointer-events: none;
}
.iss-front-page .iss-hero h1 { color: #fff; letter-spacing: -.045em; max-width: 760px; }
/* V44 `.hero-copy` */
.iss-front-page .iss-hero .iss-lead {
	margin: 0 0 28px;
	max-width: 700px;
	font-size: 18px;
	color: #c8d7e7;
}
/*
 * V44 `.hero-kicker`. This element carries BOTH `.iss-lead` and
 * `.iss-lead-strong`, so the rule above was overriding it at equal
 * specificity — hence the `.iss-lead` in the selector, and the ordering.
 */
.iss-front-page .iss-hero .iss-lead.iss-lead-strong {
	margin: 0 0 16px;
	max-width: none;
	font-size: 22px;
	font-weight: 760;
	line-height: 1.55;
	color: #dcefff;
}
/*
 * V44 Clean HTML's hero eyebrow is flat text (no chip) in `--iss-sky` — the
 * palette's own "accent on a dark ground" slot (see iss-global.css's token
 * comments) — matching the same flattening the shared `.iss-detail-hero`
 * component already applies to every Solution-page hero. The default
 * `.iss-page .iss-eyebrow` is a light-blue pill (padding/background/border/
 * radius:999px) meant for light-background section heads; left un-flattened
 * here it was rendering as a translucent white pill floating on the hero's
 * dark gradient, matching neither the mockup nor the sitewide dark-hero
 * pattern. Flattened to match both.
 */
.iss-front-page .iss-hero .iss-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 17px;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
	color: var(--iss-sky);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .12em;
}
/* V44 `.eyebrow::before`: 28x2, square, red. The one accent dash on the page. */
.iss-front-page .iss-hero .iss-eyebrow::before {
	width: 28px;
	height: 2px;
	border-radius: 0;
	background: var(--iss-red);
}

/*
 * ...and the ONLY one. Per the "Section eyebrow / kicker accent dash" rule in
 * CLAUDE.md the Clean HTML governs this, and V44 is unambiguous: `.eyebrow`
 * (the hero, above) is the only label with a `::before`. Every `.section-label`
 * on the page — Workflow Snapshot, Proven Impact, Platform, Solutions, Results,
 * AI Layer, the Final CTA's eyebrow, and the hero card's own label — is plain
 * mono text with no dash at all. The site-wide red dash is suppressed here
 * rather than recoloured, scoped to `.iss-front-page` so `.iss-kicker` keeps its
 * default everywhere else. The section's own marker, where V44 draws one, is
 * unaffected: Industry Results keeps its cyan dot (`.iss-industry-number`).
 *
 * The dash is decorative — it carries no text, so nothing is lost to a screen
 * reader by removing it.
 */
.iss-front-page .iss-kicker::before,
/* V58: the hero panel that replaced `.iss-hero-wf-v44` inherits this. */
.iss-front-page .iss-hero-disciplines .iss-hero-wf-kicker::before { content: none; }
.iss-front-page .iss-hero .iss-btn-row { margin-bottom: 27px; }
.iss-front-page .iss-hero .iss-hero-bullets li { color: rgba(255, 255, 255, .85); }
/*
 * V44 `.hero-proof`: a green check glyph, not a bullet. Restored 2026-09-03
 * under Danny's "match the Clean HTML identically" instruction — these had been
 * moved to a red dot on 2026-08-13, reasoning that a mint tick appeared nowhere
 * else in the palette. That reasoning still holds in the abstract, but V44 is
 * the approved artwork and it is explicit. Note this is a PROOF LIST, not a
 * kicker: the site-wide red-tick rule covers `.iss-kicker`/`.iss-eyebrow`, both
 * of which still lead with red here, so the accent rule is untouched.
 */
.iss-front-page .iss-hero .iss-hero-bullets li::before {
	content: "✓";
	position: static;
	width: auto;
	height: auto;
	border-radius: 0;
	background: none;
	color: #70d7b2;
	font-weight: 900;
}
/* V44 `.btn-secondary`: transparent, white hairline, filling only on hover. */
.iss-front-page .iss-hero .iss-btn-ghost {
	background: transparent;
	border-color: rgba(255, 255, 255, .45);
	color: #fff;
}
.iss-front-page .iss-hero .iss-btn-ghost:hover,
.iss-front-page .iss-hero .iss-btn-ghost:focus-visible {
	background: rgba(255, 255, 255, .08);
	border-color: rgba(255, 255, 255, .72);
	color: #fff;
}

/*
 * HERO COLUMNS — 60 / 40, per Danny 2026-09-03: the copy leads and the
 * infographic supports it, rather than the two competing for the screen.
 *
 * `minmax(0, 60fr) minmax(0, 40fr)` states that as a ratio rather than a
 * guessed decimal, so it stays exact at every width. The `minmax(0, …)` is
 * load-bearing: a grid track's default `min-width: auto` refuses to shrink
 * below its content, and the card's own longest word would otherwise push
 * the split off 60/40 on narrower screens.
 *
 * This replaces V44's own 1.06/.94, which gives the card MORE room than the
 * copy — the arrangement that made it dominate. The card's type scales with
 * the column (see the fluid clamps in the next block), so 40% is a real
 * constraint it fits inside, not a squeeze.
 */
.iss-front-page .iss-hero-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 60fr) minmax(0, 40fr);
	gap: clamp(24px, 3.4vw, 52px);
	align-items: center;
}

/*
 * The card itself is now `.iss-hero-wf` (the same dark-glass component the
 * invoice/AP workflow hero uses — css/iss-global.css §7c), so this wrapper
 * carries no chrome of its own. It stays only as the `iss-reveal` animation
 * target and to host the soft brand glow behind the card.
 */
.iss-front-page .iss-hero-card {
	position: relative;
	/*
	 * Makes this the query container the card's `cqw` sizes resolve against —
	 * see the card block below. `inline-size` contains layout in the inline
	 * axis only; it does not clip, so the brand glow below still paints.
	 */
	container-type: inline-size;
}

/* Soft brand glow behind the workflow card. */
.iss-front-page .iss-hero-card::before {
	content: "";
	position: absolute;
	inset: -12% -8% -16% -6%;
	z-index: -1;
	background: radial-gradient(60% 60% at 72% 18%, rgba(12, 115, 201, 0.28), transparent 70%);
	filter: blur(34px);
	pointer-events: none;
}

.iss-front-page .iss-hero .iss-hero-bullets li {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	padding: 0;
	font-size: 14px;
	font-weight: 400;
	color: #dbe8f4;
}
.iss-front-page .iss-hero-bullets { margin-top: 0; max-width: 720px; }
.iss-front-page .iss-hero-bullets ul { display: grid; gap: 10px; }
.iss-front-page .iss-hero-bullets li {
	font-size: 16px;
	font-weight: 600;
	color: var(--iss-muted);
	line-height: 1.5;
	position: relative;
	padding-left: 18px;
}
.iss-front-page .iss-hero-bullets li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 9px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--iss-blue);
}

/* ============================================================
   HERO — V58 SIX-DISCIPLINE PANEL (.iss-hero-disciplines)

   REPLACES `.iss-hero-wf-v44`, the four-step Workflow Snapshot card the hero
   carried from v44 through V45. V58 puts the six Core Platform Disciplines in
   the hero instead; Capture → Route → Approve → Execute now lives only in the
   Platform Gateway's right panel.

   FIXED PX, NOT `cqw`, and that is a departure from the card this replaces.
   The v44 card sized everything in `cqw` because Danny's brief was to bring its
   type DOWN to fit the 40% column, and because `vw` kept growing past the
   1180px column cap with no extra width to justify it. Neither applies here:
   fixed px is immune to the cap problem by construction, and this panel is six
   short labels rather than four paragraphs, so it has none of that card's
   density pressure. Every value below is the mockup's own computed value,
   measured off the served V58 Clean HTML at 1512px — see
   docs/audit/2026-09-12_homepage-v58-change-list/.

   The site's page column is narrower than the mockup's (1120 vs 1184), so the
   panel renders a little tighter here than in the export. That is expected and
   is why the container query at the bottom exists.
   ============================================================ */
.iss-front-page .iss-hero-disciplines {
	position: relative;
	padding: 28px;
	border-radius: 26px;
	border: 1px solid rgba(143, 226, 245, .22);
	background:
		radial-gradient(circle at 84% 10%, rgba(57, 195, 230, .17), transparent 25%),
		linear-gradient(150deg, #071a2b 0%, #0a2940 62%, #0b3654 100%);
	box-shadow: 0 24px 55px rgba(3, 27, 49, .25);
	overflow: hidden;
}
/* The soft cyan glow bleeding off the panel's bottom-right corner. */
.iss-front-page .iss-hero-disciplines::after {
	content: "";
	position: absolute;
	right: -90px;
	bottom: -105px;
	width: 250px;
	height: 250px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(57, 195, 230, .13), rgba(57, 195, 230, 0) 72%);
	pointer-events: none;
}

.iss-front-page .iss-hero-disciplines-head {
	position: relative;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 10px;
}
/*
 * The shared `.iss-hero-wf-kicker` paints an accent dash before the label on
 * every other surface; the dash is suppressed for this panel up in the HERO
 * block, the same way it was for the v44 card.
 */
.iss-front-page .iss-hero-disciplines .iss-hero-wf-kicker {
	display: block;
	margin-bottom: 7px;
	color: #8fe2f5;
	font-size: 12px;
	letter-spacing: .12em;
}
.iss-front-page .iss-hero-disciplines-head h3 {
	margin: 0;
	color: #fff;
	font-size: 27px;
	line-height: 1.16;
	letter-spacing: -.02em;
}
/* The "iApprove™" mark pill. `flex: 0 0 auto` keeps it off the heading's line. */
.iss-front-page .iss-hero-disciplines-mark {
	flex: 0 0 auto;
	padding: 9px 11px;
	border: 1px solid rgba(143, 226, 245, .22);
	border-radius: 12px;
	background: rgba(255, 255, 255, .07);
	color: #8fe2f5;
	font-size: 12px;
	font-weight: 900;
	white-space: nowrap;
}

.iss-front-page .iss-hero-disciplines-intro {
	position: relative;
	margin: 0 0 18px;
	color: #d1dfeb;
	font-size: 14px;
	line-height: 1.5;
}

.iss-front-page .iss-hero-disciplines-grid {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 11px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.iss-front-page .iss-hero-disciplines-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 13px 14px;
	border: 1px solid rgba(143, 226, 245, .18);
	border-radius: 16px;
	background: rgba(255, 255, 255, .067);
}
.iss-front-page .iss-hero-disciplines-num {
	flex: 0 0 auto;
	color: #8fe2f5;
	font-size: 12px;
	font-weight: 950;
}
.iss-front-page .iss-hero-disciplines-item b {
	display: block;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.25;
}

.iss-front-page .iss-hero-disciplines-foot {
	position: relative;
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid rgba(143, 226, 245, .15);
	color: #c9dcea;
	font-size: 12px;
	line-height: 1.45;
}

/*
 * Narrow CARD (not narrow screen): the site's hero column is narrower than the
 * mockup's, so below ~355px of card the two item columns stop holding a
 * two-word label on one line and the mark pill stops sharing the heading's row.
 * A container query, so this fires whether the card is narrow because the
 * column is or because the phone is — `.iss-hero-card` declares the container.
 */
@container (max-width: 355px) {
	.iss-front-page .iss-hero-disciplines { padding: 20px; }
	.iss-front-page .iss-hero-disciplines-grid { grid-template-columns: 1fr; }
	.iss-front-page .iss-hero-disciplines-head { flex-direction: column; gap: 10px; }
	.iss-front-page .iss-hero-disciplines-head h3 { font-size: 22px; }
}

/* ============================================================
   HERO — HOMEPAGE-ONLY WHITE "BOOK A DEMO" CTA
   v44 documents this as an explicit HOMEPAGE-SPECIFIC variant ("white-filled
   pill with dark approved ink text ... must not redefine the shared
   primary-button or shared Final CTA standard"), confirmed by Danny on
   2026-09-03 against the 2026-08-13 site-wide red-demo-button rule. It is a
   NEW class, not an override of `.iss-btn-demo`, so every other demo button
   on the site — header, mobile drawer, Final CTA, every Solution page — is
   untouched and stays red.
   ============================================================ */
.iss-front-page .iss-hero .iss-btn-hero-demo {
	background: #fff;
	border-color: #fff;
	color: var(--iss-navy-2);
}
.iss-front-page .iss-hero .iss-btn-hero-demo:hover,
.iss-front-page .iss-hero .iss-btn-hero-demo:focus-visible {
	background: #eaf4fd;
	border-color: #eaf4fd;
	color: var(--iss-navy-2);
	transform: translateY(-2px);
	box-shadow: 0 16px 34px -10px rgba(0, 0, 0, .4);
}


/* ============================================================
   CORE PLATFORM DISCIPLINES (V58 `.core-disciplines-v49`)

   REPLACES the Workflow Snapshot section (V44 `.snapshot-shell`) — the light
   shell with four divided step columns, arrow discs and a closing band — which
   V58 retires from the homepage along with `front-page/workflow.php`.

   Six cards on a 3x2 grid, each a number tile over the discipline name, one
   summary sentence, and a four-item checklist. Every value here is the
   mockup's own computed value, measured off the served V58 Clean HTML at
   1512px rather than read off its stylesheet, so what is asserted is what a
   browser actually renders.

   NOTE the section head is LEFT-aligned, not centred — the retired Workflow
   Snapshot section centred its head and this one does not, which is easy to
   carry over by accident.
   ============================================================ */
.iss-front-page .iss-disciplines { background: var(--iss-card); }

.iss-front-page .iss-discipline-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin-top: 28px;
}
.iss-front-page .iss-discipline-card {
	position: relative;
	padding: 22px 20px 20px;
	border-radius: 18px;
	border: 1px solid #cbdae7;
	background: linear-gradient(180deg, #fff 0%, #f4f8fb 100%);
	box-shadow: 0 10px 26px rgba(7, 26, 43, .043);
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.iss-front-page .iss-discipline-card:hover {
	transform: translateY(-2px);
	border-color: #a9cae7;
	box-shadow: 0 16px 34px rgba(7, 26, 43, .08);
}
/*
 * A 42px tile, blue on pale blue — NOT the dark navy chip the retired Workflow
 * Snapshot numbered its steps with, and not mono: the mockup sets the page's
 * sans face here.
 *
 * ONE DEPARTURE FROM THE MOCKUP, AND IT IS DELIBERATE. V58 paints this
 * `--iss-blue` (#0c73c9) on #eaf6fd, which measures 4.43:1 — under the 4.5:1
 * AA floor for 16px text, since 950 weight at 16px is not "large text" (that
 * needs 24px, or 18.66px bold). It is a hair under, not a mile, but it is
 * under. `--iss-blue-dark` is the same family one step down and measures
 * 6.07:1. The difference is imperceptible beside the mockup; the failure was
 * not. `homepage-v58.spec.js` measures this rather than trusting it.
 */
.iss-front-page .iss-discipline-num {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	margin-bottom: 14px;
	border-radius: 11px;
	background: #eaf6fd;
	color: var(--iss-blue-dark);
	font-size: 16px;
	font-weight: 950;
}
.iss-front-page .iss-discipline-card h3 {
	margin: 0 0 8px;
	color: var(--iss-ink);
	font-size: 19px;
	line-height: 1.22;
	letter-spacing: -.02em;
}
.iss-front-page .iss-discipline-card > p {
	margin: 0 0 14px;
	/* Holds the checklists on one line across a row regardless of copy length. */
	min-height: 68px;
	color: var(--iss-muted);
	font-size: 14px;
	line-height: 1.55;
}
.iss-front-page .iss-discipline-card ul {
	display: grid;
	gap: 9px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.iss-front-page .iss-discipline-card li {
	position: relative;
	padding-left: 26px;
	margin: 0;
	color: #3f5d76;
	font-size: 12.7px;
	font-weight: 700;
	line-height: 1.45;
}
/*
 * The tick is decorative — it repeats what the list already says — so it is a
 * `::before`, never a character in the markup. Screen readers get a plain list.
 */
.iss-front-page .iss-discipline-card li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	display: grid;
	place-items: center;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #e8f8f2;
	color: var(--iss-green);
	font-size: 11px;
	font-weight: 950;
}

/* ============================================================
   EXECUTIVE VISIBILITY (V58 `.executive-visibility-v58`)

   NEW IN V58. A slim rail hanging off the bottom of Core Platform Disciplines
   — no top padding, same white ground — so it reads as a coda to the six
   cards rather than a section of its own. That is the package's own spacing,
   and it is what stops the rail being mistaken for a seventh discipline.

   The package writes its tints with `color-mix()`; they are resolved here to
   the flat values a browser computes them to, so the rail renders identically
   where `color-mix()` is unsupported.
   ============================================================ */
.iss-front-page .iss-exec-visibility {
	padding: 0 0 34px;
	background: var(--iss-card);
}
.iss-front-page .iss-exec-rail {
	display: grid;
	grid-template-columns: 130px minmax(0, 1.35fr) minmax(0, 1.05fr);
	gap: 22px;
	align-items: center;
	padding: 18px 18px 18px 16px;
	border: 1px solid #94c1e5;
	border-left: 4px solid var(--iss-blue);
	border-radius: 14px;
	background: linear-gradient(90deg, #f6fdfe 0%, #eff6fb 100%);
	box-shadow: 0 10px 26px rgba(7, 26, 43, .043);
}
.iss-front-page .iss-exec-label {
	color: var(--iss-blue-dark);
	font-family: var(--iss-mono);
	font-size: 11px;
	font-weight: 900;
	line-height: 1.25;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.iss-front-page .iss-exec-copy {
	margin: 0;
	color: var(--iss-ink);
	font-size: 14px;
	line-height: 1.5;
	font-weight: 750;
}
.iss-front-page .iss-exec-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	justify-content: flex-end;
	margin: 0;
	padding: 0;
	list-style: none;
}
.iss-front-page .iss-exec-chips li {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 28px;
	padding: 5px 9px;
	border-radius: 999px;
	border: 1px solid #9ec5e5;
	background: rgba(255, 255, 255, .86);
	color: #445b70;
	font-size: 10.5px;
	line-height: 1.2;
	font-weight: 850;
	white-space: nowrap;
}

/* ============================================================
   PROVEN IMPACT (V44 `.story-card`)
   Logo in its own tinted plate over a hairline, body below, and a
   min-height on the outcome so the three links align across the row.
   ============================================================ */
.iss-front-page .iss-story-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-top: 38px;
}
.iss-front-page .iss-story-card {
	border: 1px solid var(--iss-line);
	border-radius: 19px;
	background: #fff;
	box-shadow: 0 10px 35px rgba(7, 27, 51, .07);
	overflow: hidden;
}
.iss-front-page .iss-story-logo {
	height: 110px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: #fbfdff;
	border-bottom: 1px solid var(--iss-line);
}
.iss-front-page .iss-story-logo img { max-height: 60px; width: auto; }
.iss-front-page .iss-story-body { padding: 24px; }
.iss-front-page .iss-story-category {
	font-family: var(--iss-mono);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--iss-blue);
}
.iss-front-page .iss-story-body h3 { margin: 7px 0 10px; font-size: 22px; color: var(--iss-navy-2); }
.iss-front-page .iss-story-body p {
	margin: 0 0 14px;
	min-height: 66px;
	font-size: 14px;
	line-height: 1.55;
	color: var(--iss-muted);
}
.iss-front-page .iss-story-link { color: var(--iss-blue); font-weight: 800; text-decoration: none; }
.iss-front-page .iss-story-link:hover,
.iss-front-page .iss-story-link:focus-visible { color: var(--iss-blue-dark); text-decoration: underline; }

@media (max-width: 1050px) { .iss-front-page .iss-story-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 700px) {
	.iss-front-page .iss-story-grid { grid-template-columns: 1fr; }
	.iss-front-page .iss-story-body p { min-height: 0; }
}

/* ============================================================
   INDUSTRY RESULTS
   v44 keeps the tinted band behind Industry Results (Glenn's 2026-08-06
   v3-preview item 7) and adds the "Industry 01/02/…" marker plus a single
   outlined CTA back up to Proven Impact. The customer logo marquee is NOT
   part of this section in v44 — see the note at the top of results.php.
   ============================================================ */
.iss-front-page #iss-results {
	position: relative;
	background:
		radial-gradient(120% 160% at 100% 0%, rgba(12, 115, 201, .14), transparent 55%),
		radial-gradient(90% 130% at 0% 100%, rgba(237, 51, 66, .07), transparent 50%),
		linear-gradient(180deg, #eef6fc 0%, #f7fafc 100%);
}
.iss-front-page .iss-industry-grid {
	display: grid;
	/* V58 revised the taxonomy from three segments to four. */
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin-top: 38px;
}
.iss-front-page .iss-industry-card {
	position: relative;
	padding: 28px 28px 30px;
	min-height: 238px;
	border-radius: 22px;
	border: 1px solid #cadae8;
	background:
		radial-gradient(circle at 88% 10%, rgba(92, 195, 244, .1), transparent 28%),
		linear-gradient(145deg, #fff 0%, #f6fbff 100%);
	box-shadow: 0 16px 34px rgba(8, 40, 67, .07);
	overflow: hidden;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.iss-front-page .iss-industry-card:hover {
	transform: translateY(-2px);
	border-color: #bdd4e5;
	box-shadow: 0 22px 40px rgba(8, 40, 67, .11);
}
.iss-front-page .iss-industry-card::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 5px;
	background: linear-gradient(90deg, #0f72ba 0%, #28b7de 100%);
}
.iss-front-page .iss-industry-number {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 20px;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #0f72ba;
}
.iss-front-page .iss-industry-number::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #1bb9e5;
	box-shadow: 0 0 0 5px rgba(27, 185, 229, .12);
}
.iss-front-page .iss-industry-card h3 {
	margin: 0 0 14px;
	font-size: 22px;
	line-height: 1.28;
	letter-spacing: -.01em;
	color: var(--iss-navy-2);
}
.iss-front-page .iss-industry-card p { margin: 0; font-size: 15px; line-height: 1.6; color: #617287; }

.iss-front-page .iss-results-cta { display: flex; justify-content: center; margin-top: 28px; }
.iss-front-page .iss-results-cta .iss-btn-outline {
	background: transparent;
	border-color: #a9cae7;
	color: var(--iss-blue);
}
.iss-front-page .iss-results-cta .iss-btn-outline:hover,
.iss-front-page .iss-results-cta .iss-btn-outline:focus-visible {
	border-color: var(--iss-blue);
	background: rgba(12, 115, 201, .06);
	color: var(--iss-blue-dark);
}

/* ============================================================
   PLATFORM GATEWAY (v44 `.home-platform-gateway-v39`)
   Rebuilt 2026-09-03 — replaces the 2026-09-03 Spencer-remock stack
   (full-width head -> 5-bullet cards -> 3-layer diagram -> centred CTA),
   see the Decision Log entry. Light copy card left, dark gateway visual
   right; the visual carries the process chips, the four differentiators
   and the compact breaks/changes comparison.
   ============================================================ */
.iss-front-page .iss-platform-gateway { background: #fff; }
.iss-front-page .iss-platform-shell {
	display: grid;
	grid-template-columns: .92fr 1.08fr;
	gap: 32px;
	align-items: stretch;
}
.iss-front-page .iss-platform-copy {
	padding: 34px 34px 32px;
	border: 1px solid var(--iss-line);
	border-radius: 22px;
	background:
		radial-gradient(circle at 92% 8%, rgba(57, 195, 230, .1), transparent 28%),
		linear-gradient(145deg, #fff 0%, #f4f8fb 100%);
	box-shadow: 0 16px 36px rgba(7, 26, 43, .07);
}
.iss-front-page .iss-platform-copy h2 {
	margin: 8px 0 14px;
	max-width: 590px;
	font-size: clamp(26px, 3vw, 38px);
	line-height: 1.08;
	letter-spacing: -.025em;
	color: var(--iss-ink);
}
.iss-front-page .iss-platform-copy > p { margin: 0; font-size: 17px; line-height: 1.62; color: var(--iss-muted); }

.iss-front-page .iss-platform-transform {
	margin-top: 21px;
	padding: 17px 18px;
	border: 1px solid var(--iss-line-strong);
	border-radius: 16px;
	background: #fff;
}
.iss-front-page .iss-platform-transform-label {
	display: block;
	margin-bottom: 6px;
	font-family: var(--iss-mono);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .11em;
	text-transform: uppercase;
	color: var(--iss-red);
}
.iss-front-page .iss-platform-transform p {
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
	font-weight: 700;
	color: var(--iss-ink);
}
.iss-front-page .iss-platform-transform-em { color: var(--iss-blue); }
.iss-front-page .iss-platform-cta { margin-top: 22px; }
/* V44 `.platform-primary-btn-v41`: flat #0a5fa6, 48px, 14px/800 — not the
   shared primary's gradient. */
.iss-front-page .iss-platform-cta .iss-btn {
	gap: normal;
	min-height: 48px;
	padding: 0 20px;
	background: #0a5fa6;
	border-color: #0a5fa6;
	box-shadow: 0 10px 22px rgba(12, 115, 201, .2);
	color: #fff;
	font-size: 14px;
	font-weight: 800;
}
.iss-front-page .iss-platform-cta .iss-btn:hover,
.iss-front-page .iss-platform-cta .iss-btn:focus-visible {
	background: var(--iss-blue-dark);
	border-color: var(--iss-blue-dark);
	color: #fff;
}

.iss-front-page .iss-platform-visual {
	padding: 28px;
	border: 1px solid var(--iss-navy-3);
	border-radius: 22px;
	background:
		radial-gradient(circle at 82% 8%, rgba(57, 195, 230, .14), transparent 27%),
		linear-gradient(145deg, var(--iss-navy-2) 0%, var(--iss-navy) 100%);
	box-shadow: 0 18px 42px rgba(7, 26, 43, .15);
	color: #fff;
}
.iss-front-page .iss-platform-visual-kicker {
	margin-bottom: 9px;
	font-family: var(--iss-mono);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--iss-sky);
}
.iss-front-page .iss-platform-visual h3 {
	margin: 0 0 17px;
	font-size: 22px;
	line-height: 1.22;
	letter-spacing: -.02em;
	color: #fff;
}
.iss-front-page .iss-platform-process {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 9px;
	padding: 16px 14px;
	border: 1px solid rgba(143, 226, 245, .16);
	border-radius: 16px;
	background: rgba(255, 255, 255, .06);
}
.iss-front-page .iss-platform-chip {
	padding: 9px 12px;
	border: 1px solid rgba(143, 226, 245, .28);
	border-radius: 999px;
	background: rgba(255, 255, 255, .05);
	color: #fff;
	font-size: 12.5px;
	font-weight: 800;
}
.iss-front-page .iss-platform-process-arrow { color: var(--iss-cyan); font-size: 17px; font-weight: 800; }

.iss-front-page .iss-platform-diff-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-top: 14px;
}
.iss-front-page .iss-platform-diff {
	min-height: 104px;
	padding: 14px 15px;
	border: 1px solid rgba(143, 226, 245, .16);
	border-radius: 15px;
	background: rgba(255, 255, 255, .045);
}
.iss-front-page .iss-platform-diff b {
	display: block;
	margin-bottom: 5px;
	font-size: 13.5px;
	line-height: 1.3;
	color: var(--iss-sky);
}
.iss-front-page .iss-platform-diff span { display: block; font-size: 13px; line-height: 1.45; color: #c6d8e5; }

.iss-front-page .iss-platform-context-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-top: 14px;
}
.iss-front-page .iss-platform-context {
	padding: 14px 15px;
	border: 1px solid rgba(143, 226, 245, .16);
	border-radius: 15px;
	background: rgba(255, 255, 255, .045);
}
.iss-front-page .iss-platform-context-title {
	display: block;
	margin-bottom: 8px;
	font-size: 13px;
	line-height: 1.3;
	font-weight: 800;
	letter-spacing: .02em;
}
.iss-front-page .iss-platform-context-breaks .iss-platform-context-title { color: #ff7e88; }
.iss-front-page .iss-platform-context-changes .iss-platform-context-title { color: var(--iss-sky); }
/*
 * A real <ul> with visible discs, as V44 draws it. The theme's reset strips
 * `list-style` from every list so components can supply their own marker, so
 * this has to ask for the disc back explicitly — without it the bullets simply
 * vanish and the two columns read as loose sentences.
 */
.iss-front-page .iss-platform-context ul { margin: 0; padding-left: 18px; list-style: disc; }
.iss-front-page .iss-platform-context li {
	margin: 7px 0;
	list-style: disc;
	font-size: 12.75px;
	line-height: 1.42;
	color: #c6d8e5;
}

/* ============================================================
   SOLUTIONS GATEWAY (v44 `.solutions-v37`)
   Four lean cards on the navy band, then the "Explore All Solutions" bar.
   The capability chips, platform-foundation bar and iAssist teaser this
   section used to carry are gone — see the docblock in solutions.php.
   ============================================================ */
/* V44 `.solutions-v37{background:#071a2b; color:#fff}` — flat, not a gradient. */
.iss-front-page section.iss-section#iss-solutions {
	background: #071a2b;
	color: #fff;
}
.iss-front-page #iss-solutions .iss-kicker { color: var(--iss-sky); }
.iss-front-page #iss-solutions .iss-sec-head { max-width: 860px; margin-bottom: 28px; }
.iss-front-page #iss-solutions .iss-sec-head h2 {
	color: #fff;
	font-size: clamp(26px, 3vw, 38px);
	line-height: 1.08;
	letter-spacing: -.025em;
}
.iss-front-page #iss-solutions .iss-sec-head .iss-lead {
	max-width: 820px;
	font-size: 17px;
	line-height: 1.58;
	color: #c8d7e3;
}

.iss-front-page .iss-sol-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}
.iss-front-page .iss-sol-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 214px;
	padding: 26px 26px 24px;
	border: 1px solid rgba(143, 226, 245, .2);
	border-radius: 20px;
	background: linear-gradient(150deg, rgba(11, 54, 84, .88), rgba(10, 41, 64, .96));
	box-shadow: 0 14px 30px rgba(0, 0, 0, .12);
	overflow: hidden;
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.iss-front-page .iss-sol-card::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--iss-blue) 0%, var(--iss-cyan) 100%);
	opacity: .95;
}
.iss-front-page .iss-sol-card:hover,
.iss-front-page .iss-sol-card:focus-within {
	transform: translateY(-2px);
	border-color: rgba(143, 226, 245, .36);
	box-shadow: 0 18px 38px rgba(0, 0, 0, .16);
}
.iss-front-page .iss-sol-card-kicker {
	margin-bottom: 9px;
	font-family: var(--iss-mono);
	font-size: 10.5px;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--iss-sky);
}
.iss-front-page .iss-sol-card h3 {
	margin: 0 0 10px;
	font-size: 19px;
	line-height: 1.22;
	letter-spacing: -.02em;
	color: #fff;
}
.iss-front-page .iss-sol-card p {
	margin: 0;
	max-width: 520px;
	font-size: 15px;
	line-height: 1.58;
	color: #c8d7e3;
}
.iss-front-page .iss-sol-card-foot { margin-top: auto; padding-top: 18px; }
.iss-front-page .iss-sol-card-link {
	color: var(--iss-sky);
	font-size: 14px;
	line-height: 1.3;
	font-weight: 800;
	text-decoration: none;
}
.iss-front-page .iss-sol-card-link:hover,
.iss-front-page .iss-sol-card-link:focus-visible { color: #fff; }

.iss-front-page .iss-sol-all {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-top: 22px;
	padding: 20px 22px;
	border: 1px solid rgba(143, 226, 245, .22);
	border-radius: 18px;
	background: rgba(57, 195, 230, .07);
}
.iss-front-page .iss-sol-all p { margin: 0; font-size: 15px; line-height: 1.5; color: #c8d7e3; }
.iss-front-page .iss-sol-all .iss-btn { flex: 0 0 auto; }

/* ============================================================
   AI LAYER CLOSING (V44 `.home-ai-v25`)
   IMPORTANT: V44's stylesheet declares this section TWICE — an early block
   and a later one that overrides most of it with `!important`. These values
   are the later, winning block (verified by diffing computed styles against
   the served mockup, not by reading the source), which is why the visual is
   a centred 480x470 panel with true concentric circles rather than a column
   stretched to the copy card's height.

   Homepage-only classes — the shared `.iss-ai-orbit` component this section
   used to render is untouched and still runs on the iAssist and Customers
   pages.
   ============================================================ */
.iss-front-page .iss-home-ai { background: #f4f8fc; }
.iss-front-page .iss-home-ai-shell {
	display: grid;
	grid-template-columns: .88fr 1.12fr;
	gap: 38px;
	align-items: center;
}

/* --- left: the dark visual panel --- */
.iss-front-page .iss-home-ai-visual {
	position: relative;
	width: 100%;
	max-width: 480px;
	min-height: 470px;
	margin: 0 auto;
	border-radius: 24px;
	border: 1px solid #163d56;
	background:
		radial-gradient(circle at 50% 50%, rgba(57, 195, 230, .18), transparent 22%),
		linear-gradient(150deg, #071a2b, #0b2d45 65%, #0d3c58);
	box-shadow: 0 24px 58px rgba(7, 26, 43, .18);
	overflow: hidden;
}
/* Two concentric rings, sized in px so they stay circles at any panel height. */
.iss-front-page .iss-home-ai-visual::before,
.iss-front-page .iss-home-ai-visual::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 51%;
	transform: translate(-50%, -50%);
	border-radius: 50%;
}
.iss-front-page .iss-home-ai-visual::before {
	width: 270px;
	height: 270px;
	border: 1px solid rgba(143, 226, 245, .22);
	box-shadow: 0 0 0 38px rgba(57, 195, 230, .035);
}
.iss-front-page .iss-home-ai-visual::after {
	width: 216px;
	height: 216px;
	border: 1px dashed rgba(143, 226, 245, .12);
}
.iss-front-page .iss-home-ai-visual-label {
	position: absolute;
	left: 22px;
	top: 20px;
	z-index: 6;
	color: #8fdff3;
	font-size: 10.5px;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.iss-front-page .iss-home-ai-core {
	position: absolute;
	left: 50%;
	top: 51%;
	transform: translate(-50%, -50%);
	width: 156px;
	height: 156px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	text-align: center;
	background: linear-gradient(145deg, #0b73ba, #22acd8);
	box-shadow: 0 0 0 13px rgba(57, 195, 230, .07), 0 18px 35px rgba(0, 0, 0, .25);
	z-index: 4;
}
.iss-front-page .iss-home-ai-core > div { max-width: 118px; margin: auto; }
.iss-front-page .iss-home-ai-core strong { display: block; color: #fff; font-size: 25px; line-height: 1.05; font-weight: 800; }
.iss-front-page .iss-home-ai-core-sub { display: block; margin-top: 5px; color: #d8f4fb; font-size: 11.5px; line-height: 1.25; }
.iss-front-page .iss-home-ai-core-badge {
	display: inline-block;
	margin-top: 9px;
	padding: 5px 7px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .14);
	color: #e7f9fd;
	font-size: 8px;
	line-height: 1.15;
	font-weight: 900;
	letter-spacing: .07em;
	white-space: nowrap;
}
.iss-front-page .iss-home-ai-node {
	position: absolute;
	width: 150px;
	min-height: 84px;
	padding: 12px;
	border: 1px solid rgba(255, 255, 255, .13);
	border-radius: 14px;
	background: rgba(255, 255, 255, .07);
	box-shadow: 0 10px 24px rgba(0, 0, 0, .13);
	text-align: center;
	z-index: 5;
}
.iss-front-page .iss-home-ai-node b { display: block; margin-bottom: 5px; color: #fff; font-size: 12.8px; line-height: 1.22; }
.iss-front-page .iss-home-ai-node span { display: block; color: #b6d0dd; font-size: 10.6px; line-height: 1.38; }
.iss-front-page .iss-home-ai-node.is-top { left: 50%; top: 44px; transform: translateX(-50%); }
.iss-front-page .iss-home-ai-node.is-bottom { left: 50%; bottom: 38px; transform: translateX(-50%); }
.iss-front-page .iss-home-ai-node.is-left { left: 14px; top: 51%; transform: translateY(-50%); }
.iss-front-page .iss-home-ai-node.is-right { right: 14px; top: 51%; transform: translateY(-50%); }

/* --- right: the white copy card --- */
.iss-front-page .iss-home-ai-copy {
	position: relative;
	padding: 36px 34px 34px;
	border: 1px solid #ccdde9;
	border-radius: 28px;
	background: linear-gradient(145deg, #fff 0%, #f8fbfe 100%);
	box-shadow: 0 18px 45px rgba(8, 35, 59, .08);
}
.iss-front-page .iss-home-ai-copy::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 5px;
	border-radius: 28px 28px 0 0;
	background: linear-gradient(90deg, #1179c1 0%, #2fc0e5 100%);
}
.iss-front-page .iss-home-ai-copy h2 {
	margin: 7px 0 16px;
	font-size: clamp(30px, 3.2vw, 42px);
	line-height: 1.1;
	letter-spacing: -.025em;
	color: var(--iss-navy-2);
}
.iss-front-page .iss-home-ai-copy > p { margin: 0; font-size: 16.5px; line-height: 1.68; color: #5f7186; }
.iss-front-page .iss-home-ai-solutions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin: 22px 0;
}
.iss-front-page .iss-home-ai-solution {
	padding: 14px 15px;
	border: 1px solid #cfdeea;
	border-radius: 15px;
	background: linear-gradient(180deg, #fbfdff 0%, #f6fbff 100%);
	box-shadow: 0 8px 18px rgba(8, 35, 59, .04);
}
.iss-front-page .iss-home-ai-solution b { display: block; margin-bottom: 5px; font-size: 13.8px; color: var(--iss-navy-2); }
.iss-front-page .iss-home-ai-solution span { color: #64758a; font-size: 12.5px; line-height: 1.52; }
.iss-front-page .iss-home-ai-signature {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin: 21px 0 24px;
	padding: 17px 18px;
	border-radius: 16px;
	background: linear-gradient(100deg, #082641 0%, #103557 100%);
	box-shadow: 0 14px 28px rgba(7, 35, 59, .14);
	color: #fff;
}
.iss-front-page .iss-home-ai-signature strong { font-size: 18px; line-height: 1.2; }
.iss-front-page .iss-home-ai-emphasis { color: #33d0f1; }
.iss-front-page .iss-home-ai-signature > span {
	max-width: 310px;
	font-size: 13.5px;
	line-height: 1.45;
	color: #b6e4fa;
	text-align: right;
}
.iss-front-page .iss-home-ai-btn {
	background: linear-gradient(90deg, #0f70b2 0%, #1ea8d7 100%);
	border: 0;
	box-shadow: 0 12px 26px rgba(15, 112, 178, .22);
	color: #fff;
}
.iss-front-page .iss-home-ai-btn:hover,
.iss-front-page .iss-home-ai-btn:focus-visible { color: #fff; transform: translateY(-2px); }

@media (max-width: 900px) {
	.iss-front-page .iss-home-ai-shell { grid-template-columns: 1fr; }
	.iss-front-page .iss-home-ai-visual { max-width: 520px; }
}
@media (max-width: 620px) {
	.iss-front-page .iss-home-ai-visual { min-height: 560px; max-width: 100%; }
	.iss-front-page .iss-home-ai-visual::before { width: 230px; height: 230px; box-shadow: 0 0 0 28px rgba(57, 195, 230, .035); }
	.iss-front-page .iss-home-ai-visual::after { width: 184px; height: 184px; }
	.iss-front-page .iss-home-ai-core { width: 142px; height: 142px; }
	.iss-front-page .iss-home-ai-core strong { font-size: 23px; }
	.iss-front-page .iss-home-ai-node { width: 132px; }
	.iss-front-page .iss-home-ai-node.is-left { left: 6px; }
	.iss-front-page .iss-home-ai-node.is-right { right: 6px; }
	.iss-front-page .iss-home-ai-solutions { grid-template-columns: 1fr; }
	.iss-front-page .iss-home-ai-signature { flex-direction: column; align-items: flex-start; }
	.iss-front-page .iss-home-ai-signature > span { text-align: left; }
}

/* ============================================================
   FINAL CTA (V44 `.final-cta-v25`)
   Full-bleed blue-to-cyan band, copy left, buttons right, primary white.
   V44 classifies this as a SHARED component with homepage copy, and
   `.iss-cta-band` runs on every Solution page, Platform and the Solutions
   hub — so V44's shape is applied as homepage-scoped overrides here rather
   than by editing the shared component. Every other closing band on the site
   is untouched.
   ============================================================ */
.iss-front-page section#iss-final-cta { padding: 0; background: #fff; }
.iss-front-page #iss-final-cta .iss-cta-band {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 35px;
	margin: 0;
	padding: 58px max(38px, calc((100vw - 1180px) / 2));
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background: linear-gradient(100deg, var(--iss-blue-dark) 0%, var(--iss-blue) 48%, var(--iss-cyan) 100%);
	color: #fff;
	text-align: left;
}
.iss-front-page #iss-final-cta .iss-cta-copy { max-width: 730px; }
.iss-front-page #iss-final-cta .iss-kicker { margin-bottom: 9px; color: var(--iss-sky); }
.iss-front-page #iss-final-cta h2 {
	margin: 0 0 11px;
	font-size: clamp(30px, 3.4vw, 40px);
	line-height: 1.1;
	color: #fff;
}
.iss-front-page #iss-final-cta p { margin: 0; max-width: none; font-size: 16px; line-height: 1.55; color: #fff; }
/* V44's support line is sentence-case sky bold — not the shared band's mono caps. */
.iss-front-page #iss-final-cta .iss-cta-summary {
	margin-top: 13px;
	max-width: none;
	font-family: inherit;
	font-size: 12.5px;
	font-weight: 800;
	letter-spacing: normal;
	text-transform: none;
	color: var(--iss-sky);
}
.iss-front-page #iss-final-cta .iss-cta-band { overflow: visible; }
.iss-front-page #iss-final-cta .iss-cta-actions { flex: 0 0 auto; gap: 11px; margin: 0; }
.iss-front-page #iss-final-cta .iss-btn-cta-demo {
	background: #fff;
	border-color: #fff;
	color: var(--iss-blue-dark);
}
.iss-front-page #iss-final-cta .iss-btn-cta-demo:hover,
.iss-front-page #iss-final-cta .iss-btn-cta-demo:focus-visible {
	background: #eaf4fd;
	border-color: #eaf4fd;
	color: var(--iss-blue-dark);
	transform: translateY(-2px);
}
.iss-front-page #iss-final-cta .iss-btn-cta-ghost {
	background: transparent;
	border-color: rgba(255, 255, 255, .62);
	color: #fff;
}
.iss-front-page #iss-final-cta .iss-btn-cta-ghost:hover,
.iss-front-page #iss-final-cta .iss-btn-cta-ghost:focus-visible {
	background: rgba(255, 255, 255, .1);
	border-color: #fff;
	color: #fff;
}
@media (max-width: 900px) {
	.iss-front-page #iss-final-cta .iss-cta-band { flex-direction: column; align-items: flex-start; }
}

/* ============================================================
   RESPONSIVE — v44 breakpoints
   ============================================================ */
/*
 * V44 stacks the hero at 1050px and caps the card at 720px there, and that
 * breakpoint is right for the 60/40 split too: below it, 40% of the column is
 * under ~390px, which is tighter than this card's four steps want. Stacking
 * hands the card its full width back — and the cap keeps it a card rather
 * than letting it stretch into a banner.
 */
@media (max-width: 1050px) {
	.iss-front-page .iss-hero-grid { grid-template-columns: 1fr; }
	/*
	 * `width: 100%` is REQUIRED here, not tidiness. `container-type:
	 * inline-size` applies inline-size containment, which makes the element
	 * contribute nothing to its own intrinsic width — and `margin-inline:
	 * auto` switches a grid item from stretch to shrink-to-fit. Together
	 * they collapsed the card to its padding: 32px wide and 1328px tall.
	 */
	.iss-front-page .iss-hero-card {
		width: 100%;
		max-width: 720px;
		margin-inline: auto;
	}
}
/*
 * V58's own stack points for the two grids it revised. Core Platform
 * Disciplines goes 3 -> 2 -> 1 and Industry Results 4 -> 2 -> 1; both leave
 * the 900px point below, which still governs Platform and Solutions.
 * Industry moved OFF that 900px point on purpose — four columns are already
 * under 270px each by 1180, so they have to break earlier than three did.
 */
@media (max-width: 1000px) {
	.iss-front-page .iss-discipline-grid { grid-template-columns: 1fr 1fr; }
	.iss-front-page .iss-industry-grid { grid-template-columns: 1fr 1fr; }
}
/* The rail's three parts stop fitting side by side before the grids do. */
@media (max-width: 980px) {
	.iss-front-page .iss-exec-rail { grid-template-columns: 1fr; gap: 12px; }
	.iss-front-page .iss-exec-chips { justify-content: flex-start; }
}
@media (max-width: 760px) {
	.iss-front-page .iss-discipline-grid { grid-template-columns: 1fr; }
	/* No row left to align to, so the summaries stop reserving height. */
	.iss-front-page .iss-discipline-card > p { min-height: 0; }
}
@media (max-width: 720px) {
	.iss-front-page .iss-industry-grid { grid-template-columns: 1fr; }
}
@media (max-width: 690px) {
	.iss-front-page .iss-exec-visibility { padding-bottom: 26px; }
	.iss-front-page .iss-exec-rail { padding: 16px; }
	.iss-front-page .iss-exec-copy { font-size: 13.5px; }
}
/* Platform and Solutions keep V44's own 900px stack point. */
@media (max-width: 900px) {
	.iss-front-page .iss-platform-shell { grid-template-columns: 1fr; }
	.iss-front-page .iss-sol-grid { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
	.iss-front-page .iss-sol-all { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 620px) {
	.iss-front-page .iss-platform-diff-grid,
	.iss-front-page .iss-platform-context-grid { grid-template-columns: 1fr; }
	.iss-front-page .iss-platform-copy { padding: 26px 22px 24px; }
	.iss-front-page .iss-platform-visual { padding: 22px; }
}
