/* industry.css — Industry Page v2 (template-industry.php). Loaded ONLY by that template, AFTER
   site.css + sections.css, so the reused .nc-d-* blocks keep their shared rules and the .nc-i-*
   components below are industry-only. Version: $ind_ver in template-industry.php (single source of
   truth; a new, never-reused value on EVERY change). Breakpoint 768px (= sections.css), 600px pill.

   OVERRIDES of shared .nc-d-* classes are limited to the five marked "Override" below. They cannot
   leak: no other page loads this file. Do not add more without documenting them in AGENTS.md. */

.nc-page--industry {
	--i-border: #dde3ee;   /* card border used by capabilities / expert / related (design token) */
	--i-surface: #F7F9FE;  /* inset panel + chip hover */
	--i-mint: #5BE0B0;     /* playbook figures on navy */
	--i-caption: #5f6673;  /* AA-safe replacement for #7a818e captions */
}

/* Override 1 — hero wash: amber + blue (design) instead of the doc pages' violet + teal. */
.nc-page--industry .nc-d-hero {
	background: radial-gradient(900px 520px at 6% -12%, rgba(239,157,30,0.10), transparent 62%),
		radial-gradient(840px 520px at 99% -4%, rgba(47,107,224,0.10), transparent 60%),
		linear-gradient(180deg, #F7F9FE, #ffffff 74%);
}

/* Override 2 — stat cards: design value size + wrap, so long live values ("$4.40B → $6.55B",
   "6–8 → 2–3 hr") push the label onto its own line instead of crushing it. */
.nc-page--industry .nc-d-stat { flex-wrap: wrap; align-items: baseline; row-gap: 6px; }
.nc-page--industry .nc-d-stat__v { font-size: clamp(26px, 2.7vw, 36px); min-width: 118px; }
.nc-page--industry .nc-d-stat__l { flex: 1 1 200px; }

/* Override 3 — outcome icon stroke 1.7 (design; nc_icon() hardcodes 1.6). */
.nc-page--industry .nc-d-icard__tile svg { stroke-width: 1.7; }

/* Override 4 — caption contrast: #7a818e is 3.7–3.9:1 (fails AA); #5f6673 passes. */
.nc-page--industry .nc-d-hero__caption { color: var(--i-caption); }

/* Override 5 — engagement stages (nc_numbered, sticky layout): one column beside the sticky head, so
   three stages read top to bottom with no orphan card, and white cards so they stay visible on the
   light-blue band (.nc-d-ncard is transparent with a border close to the band colour). */
.nc-page--industry .nc-d-steps { grid-template-columns: 1fr; }
.nc-page--industry .nc-band .nc-d-ncard { background: #fff; }

/* Accessibility — visible keyboard focus (none exists site-wide; handoff requires it). */
.nc-page--industry a:focus-visible,
.nc-page--industry button:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; }
.nc-page--industry .nc-d-cta a:focus-visible,
.nc-page--industry .nc-i-play a:focus-visible,
.nc-page--industry .nc-d-fab:focus-visible { outline-color: #fff; }

/* Floating pill — short label on phones (industry labels reach ~50 chars). */
.nc-page--industry .nc-d-fab__short { display: none; }
@media (max-width: 600px) {
	.nc-page--industry .nc-d-fab { padding: 12px 18px; font-size: 13.5px; }
	.nc-page--industry .nc-d-fab__full { display: none; }
	.nc-page--industry .nc-d-fab__short { display: inline; }
}

/* Capabilities — 2x2 value-chain cards */
.nc-page--industry .nc-i-caps { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(14px, 1.6vw, 20px); }
.nc-page--industry .nc-i-cap { background: #fff; border: 1px solid var(--i-border); border-radius: 16px; padding: clamp(24px, 2.6vw, 32px); display: flex; flex-direction: column; }
.nc-page--industry .nc-i-cap__hd { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.nc-page--industry .nc-i-cap__tile { width: 42px; height: 42px; border-radius: 11px; background: var(--tile); display: flex; align-items: center; justify-content: center; flex: none; }
.nc-page--industry .nc-i-cap__tile svg { stroke-width: 1.8; }
.nc-page--industry .nc-i-cap__title { font-family: var(--f-head); font-weight: 700; font-size: 17.5px; letter-spacing: -0.015em; line-height: 1.25; color: var(--ink); margin: 0; }
.nc-page--industry .nc-i-cap__items { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 11px; }
.nc-page--industry .nc-i-cap__row { display: flex; align-items: flex-start; gap: 11px; }
.nc-page--industry .nc-i-cap__ic { width: 20px; height: 20px; border-radius: 50%; background: var(--tile); display: flex; align-items: center; justify-content: center; flex: none; margin-top: 2px; }
.nc-page--industry .nc-i-cap__t { font-size: 14.5px; line-height: 1.5; color: var(--muted); }
@media (max-width: 768px) { .nc-page--industry .nc-i-caps { grid-template-columns: 1fr; } }

/* Playbook — navy story card with glass stat tiles */
.nc-page--industry .nc-i-play { max-width: 1100px; margin: 0 auto; }
.nc-page--industry .nc-i-play__card { position: relative; overflow: hidden; border-radius: 18px; background: linear-gradient(155deg, #1F3864 0%, #16233b 100%); color: #fff; box-shadow: 0 24px 60px rgba(31,56,100,0.28); padding: clamp(30px, 4vw, 56px); }
.nc-page--industry .nc-i-play__bg { position: absolute; inset: 0; opacity: 0.45; pointer-events: none; }
.nc-page--industry .nc-i-play__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.25fr 0.75fr; gap: clamp(28px, 4vw, 56px); align-items: center; }
.nc-page--industry .nc-i-play__grid--solo { grid-template-columns: 1fr; max-width: 760px; }
.nc-page--industry .nc-i-play__eyebrow { font-size: 12.5px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.75); margin-bottom: 14px; }
.nc-page--industry .nc-i-play__h2 { font-family: var(--f-head); font-weight: 800; font-size: clamp(24px, 3vw, 34px); letter-spacing: -0.025em; line-height: 1.18; margin: 0 0 18px; color: #fff; }
.nc-page--industry .nc-i-play__body { font-size: 15px; line-height: 1.65; color: rgba(255,255,255,0.85); margin: 0 0 26px; }
.nc-page--industry .nc-i-play__link { display: inline-block; font-size: 15px; font-weight: 700; color: #fff; text-decoration: none; border-bottom: 2px solid rgba(255,255,255,0.4); padding-bottom: 3px; }
.nc-page--industry .nc-i-play__link:hover { color: #fff; border-bottom-color: #fff; }
.nc-page--industry .nc-i-pstats { display: flex; flex-direction: column; gap: 12px; }
.nc-page--industry .nc-i-pstat { background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.14); border-radius: 14px; padding: clamp(18px, 2.2vw, 24px); }
.nc-page--industry .nc-i-pstat__v { font-family: var(--f-head); font-weight: 800; font-size: clamp(26px, 2.8vw, 34px); letter-spacing: -0.03em; line-height: 1; color: var(--i-mint); }
.nc-page--industry .nc-i-pstat__l { font-size: 13.5px; line-height: 1.5; color: rgba(255,255,255,0.8); margin-top: 9px; }
@media (max-width: 768px) { .nc-page--industry .nc-i-play__grid { grid-template-columns: 1fr; } }

/* Expert — light card (design) */
.nc-page--industry .nc-i-expert { position: relative; overflow: hidden; border-radius: 18px; background: #fff; border: 1px solid var(--i-border); box-shadow: 0 24px 60px rgba(31,56,100,0.10); }
.nc-page--industry .nc-i-expert__h2 { font-family: var(--f-head); font-weight: 800; font-size: clamp(24px, 3vw, 36px); letter-spacing: -0.025em; line-height: 1.15; margin: 0 0 14px; color: var(--ink); }
.nc-page--industry .nc-i-expert__body { font-size: 15px; line-height: 1.6; color: var(--body); margin: 0 0 24px; }
.nc-page--industry .nc-i-expert__email { font-size: 13px; color: var(--i-caption); margin-top: 14px; }
.nc-page--industry .nc-i-expert__email a { color: var(--navy); }
.nc-page--industry .nc-i-ask { background: var(--i-surface); border: 1px solid var(--card-border); border-radius: 14px; padding: clamp(22px, 2.6vw, 30px); }
.nc-page--industry .nc-i-ask__title { font-family: var(--f-head); font-weight: 700; font-size: 15px; line-height: normal; color: var(--ink); margin-bottom: 16px; }
.nc-page--industry .nc-i-ask__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.nc-page--industry .nc-i-ask__row { display: flex; align-items: flex-start; gap: 10px; }
.nc-page--industry .nc-i-ask__row svg { flex: none; margin-top: 3px; }
.nc-page--industry .nc-i-ask__t { font-size: 13.5px; line-height: 1.5; color: #4a5568; }

/* Related — white cards with description (on the tinted band) */
.nc-page--industry .nc-i-rcard { background: #fff; border-color: var(--i-border); text-decoration: none; }
.nc-page--industry .nc-i-rcard__title { flex: none; margin-bottom: 10px; }
.nc-page--industry .nc-i-rcard__desc { font-size: 13.5px; line-height: 1.55; color: var(--muted); margin: 0 0 16px; flex: 1; }

/* Switcher — industry chips */
.nc-page--industry .nc-i-sw__hd { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: clamp(26px, 3vw, 36px); }
.nc-page--industry .nc-i-sw__h2 { font-family: var(--f-head); font-weight: 800; font-size: clamp(24px, 2.8vw, 34px); line-height: normal; letter-spacing: -0.025em; margin: 0; color: var(--ink); }
.nc-page--industry .nc-i-sw__all { font-size: 14px; font-weight: 700; color: var(--navy); text-decoration: none; }
.nc-page--industry .nc-i-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.nc-page--industry .nc-i-chip { display: inline-flex; align-items: center; min-height: 44px; box-sizing: border-box; font-size: 14px; font-weight: 600; padding: 11px 18px; border-radius: 999px; border: 1px solid var(--card-border); background: #fff; color: #4a5568; text-decoration: none; transition: all .15s ease; }
.nc-page--industry .nc-i-chip:hover { border-color: var(--navy); color: var(--navy); background: var(--i-surface); }
.nc-page--industry .nc-i-chip.is-active,
.nc-page--industry .nc-i-chip.is-active:hover { background: var(--navy); border-color: var(--navy); color: #fff; }
@media (prefers-reduced-motion: reduce) { .nc-page--industry .nc-i-chip { transition: none !important; } }
