/* FONTS
   Geist and Geist Mono, self-hosted variable woff2, one face per unicode range. */

@font-face {
	font-family:'Geist';
	font-style:normal;
	font-weight:100 900;
	font-display:swap;
	src:url('../fonts/geist-cyrillic-ext.woff2') format('woff2');
	unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
	font-family:'Geist';
	font-style:normal;
	font-weight:100 900;
	font-display:swap;
	src:url('../fonts/geist-cyrillic.woff2') format('woff2');
	unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
	font-family:'Geist';
	font-style:normal;
	font-weight:100 900;
	font-display:swap;
	src:url('../fonts/geist-vietnamese.woff2') format('woff2');
	unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
	font-family:'Geist';
	font-style:normal;
	font-weight:100 900;
	font-display:swap;
	src:url('../fonts/geist-latin-ext.woff2') format('woff2');
	unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family:'Geist';
	font-style:normal;
	font-weight:100 900;
	font-display:swap;
	src:url('../fonts/geist-latin.woff2') format('woff2');
	unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family:'Geist Mono';
	font-style:normal;
	font-weight:100 900;
	font-display:swap;
	src:url('../fonts/geist-mono-cyrillic-ext.woff2') format('woff2');
	unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
	font-family:'Geist Mono';
	font-style:normal;
	font-weight:100 900;
	font-display:swap;
	src:url('../fonts/geist-mono-cyrillic.woff2') format('woff2');
	unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
	font-family:'Geist Mono';
	font-style:normal;
	font-weight:100 900;
	font-display:swap;
	src:url('../fonts/geist-mono-symbols2.woff2') format('woff2');
	unicode-range:U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;
}

@font-face {
	font-family:'Geist Mono';
	font-style:normal;
	font-weight:100 900;
	font-display:swap;
	src:url('../fonts/geist-mono-vietnamese.woff2') format('woff2');
	unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
	font-family:'Geist Mono';
	font-style:normal;
	font-weight:100 900;
	font-display:swap;
	src:url('../fonts/geist-mono-latin-ext.woff2') format('woff2');
	unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family:'Geist Mono';
	font-style:normal;
	font-weight:100 900;
	font-display:swap;
	src:url('../fonts/geist-mono-latin.woff2') format('woff2');
	unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* TOKENS
   The one place every design value lives. Components read these and never
   write a colour, a font size, a weight, a radius or a shadow of their own.
   Groups, in order: faces; colours (brand, secondary ink, rules, type on ink,
   grounds, plates, scrims); type sizes (text, mono, titles); weights;
   leading and tracking; space and measure; radius, relief and motion; layers.
   No text reads below 10 px: the mono sizes stop at the kicker, and only
   the Platform diagram, a drawing, goes under it.
   Colours and sizes WordPress also offers in the editor read its presets
   (theme.json) first. */

:root {
	--nc-font-sans:var(--wp--preset--font-family--sans, 'Geist', system-ui, sans-serif);
	--nc-font-mono:var(--wp--preset--font-family--mono, 'Geist Mono', ui-monospace, monospace);

	--nc-ink:var(--wp--preset--color--ink, #1b2126);
	--nc-deep:var(--wp--preset--color--deep, #33383a);
	--nc-floor:var(--wp--preset--color--floor, #eef1ef);
	--nc-material:var(--wp--preset--color--material, #f7f9f7);
	--nc-paper:var(--wp--preset--color--paper, #f2f5f7);
	--nc-white:#fff;
	--nc-black:#000;
	--nc-tile:#ef0000;

	--nc-si:#5c6b7a;
	--nc-si-open:#4a5763;
	--nc-si-deep:rgba(242, 245, 247, 0.62);

	--nc-rule:rgba(27, 33, 38, 0.12);
	--nc-rule-plate:rgba(27, 33, 38, 0.28);
	--nc-rule-strong:rgba(27, 33, 38, 0.45);
	--nc-rule-light:rgba(255, 255, 255, 0.55);
	--nc-seam:rgba(27, 33, 38, 0.1);
	--nc-seam-soft:rgba(27, 33, 38, 0.035);

	--nc-on-ink:var(--nc-white);
	--nc-on-ink-soft:rgba(255, 255, 255, 0.75);
	--nc-on-ink-dim:rgba(255, 255, 255, 0.6);
	--nc-on-ink-line:rgba(255, 255, 255, 0.28);
	--nc-on-ink-rule:rgba(255, 255, 255, 0.16);
	--nc-on-ink-fill:rgba(255, 255, 255, 0.06);
	--nc-on-paper-soft:rgba(242, 245, 247, 0.72);
	--nc-on-paper-line:rgba(242, 245, 247, 0.34);
	--nc-on-material-line:rgba(247, 249, 247, 0.5);
	--nc-on-paper-faint:rgba(242, 245, 247, 0.5);
	--nc-ink-veil:rgba(27, 33, 38, 0.55);
	--nc-outline-plate:rgba(0, 0, 0, 0.1);
	--nc-chip:var(--nc-white);

	--nc-ground-open-start:#ffffff;
	--nc-ground-open-end:#a9adad;
	--nc-ground-client-start:var(--nc-ground-open-start);
	--nc-ground-client-end:var(--nc-ground-open-end);
	--nc-ground-technical-start:#646a66;
	--nc-ground-technical-end:#4c514e;
	--nc-ground-quiet:#e3e7e4;
	--nc-ground-white:#fafafa;
	--nc-si-band:var(--nc-si-open);

	--nc-plate:rgba(27, 33, 38, 0.055);
	--nc-plate-line:rgba(27, 33, 38, 0.045);
	--nc-plate-hatch:repeating-linear-gradient(45deg, var(--nc-plate-line) 0 1px, transparent 1px 8px);
	--nc-nav-tint:var(--nc-ground-open-start);
	--nc-glass:linear-gradient(180deg, color-mix(in srgb, var(--nc-nav-tint) 92%, transparent), color-mix(in srgb, var(--nc-nav-tint) 62%, transparent));

	--nc-scrim-card:linear-gradient(0deg, rgba(27, 33, 38, 0.92), rgba(27, 33, 38, 0.35) 60%, rgba(27, 33, 38, 0));
	--nc-scrim-edition:linear-gradient(0deg, rgba(27, 33, 38, 0.92), rgba(27, 33, 38, 0.55) 50%, rgba(27, 33, 38, 0.2));
	--nc-haze-map:linear-gradient(180deg, rgba(247, 249, 247, 0) 0%, rgba(247, 249, 247, 0.55) 55%, rgba(247, 249, 247, 0.9) 100%);
	--nc-scrim-stage:linear-gradient(90deg, rgba(27, 33, 38, 0.9), rgba(27, 33, 38, 0.55) 45%, rgba(27, 33, 38, 0.12) 80%), linear-gradient(0deg, rgba(27, 33, 38, 0.7), rgba(27, 33, 38, 0) 30%);
	--nc-scrim-stage-phone:linear-gradient(0deg, rgba(27, 33, 38, 0.92), rgba(27, 33, 38, 0.72) 55%, rgba(27, 33, 38, 0.45));

	--nc-text-hero:var(--wp--preset--font-size--hero, clamp(32px, 4.9vw, 60px));
	--nc-text-title:var(--wp--preset--font-size--title, clamp(26px, 3.4vw, 34px));
	--nc-text-subheading:var(--wp--preset--font-size--subheading, clamp(18px, 1.8vw, 22px));
	--nc-text-lede:var(--wp--preset--font-size--lede, clamp(17px, 1.5vw, 19px));
	--nc-text-claim:20px;
	--nc-text-article:17px;
	--nc-text-row:clamp(15.5px, 1.25vw, 18px);
	--nc-text-ui:16px;
	--nc-text-body:var(--wp--preset--font-size--body, 15.5px);
	--nc-text-small:var(--wp--preset--font-size--small, 14px);
	--nc-text-caption:13px;
	--nc-text-figure:clamp(38px, 4.6vw, 64px);
	--nc-text-figure-xl:clamp(48px, 6vw, 96px);

	--nc-mono-label:11px;
	--nc-mono-row:11px;
	--nc-mono-button:10.5px;
	--nc-mono-wordmark:10.5px;
	--nc-mono-kicker:10px;
	--nc-mono-readout:var(--nc-mono-kicker);
	--nc-mono-caption:var(--nc-mono-kicker);
	--nc-mono-diagram:9.5px;
	--nc-mono-kicker-tracking:0.19em;
	--nc-mono-readout-tracking:0.13em;
	--nc-mono-wordmark-tracking:0.24em;
	--nc-mono-caption-tracking:0.08em;
	--nc-mono-row-tracking:0.09em;

	--nc-title-hero-size:clamp(34px, 4.4vw, 54px);
	--nc-title-closing-size:calc(var(--nc-text-hero) * 0.78);
	--nc-title-statement-size:clamp(22px, 2.9vw, 38px);
	--nc-title-section-size:clamp(28px, 2.9vw, 44px);
	--nc-title-subsection-size:clamp(22px, 1.9vw, 30px);
	--nc-title-card-size:clamp(20px, 1.6vw, 24px);
	--nc-title-hero-leading:1.06;
	--nc-title-closing-leading:var(--nc-leading-hero);
	--nc-title-section-leading:1.12;
	--nc-title-subsection-leading:1.15;
	--nc-title-card-leading:1.2;
	--nc-title-hero-tracking:-0.03em;
	--nc-title-closing-tracking:var(--nc-tracking-hero);
	--nc-title-section-tracking:-0.01em;
	--nc-title-subsection-tracking:-0.01em;
	--nc-title-card-tracking:-0.01em;

	--nc-weight-thin:100;
	--nc-weight-light:300;
	--nc-weight-regular:400;
	--nc-weight-medium:500;
	--nc-weight-bold:600;
	--nc-title-hero-weight:var(--nc-weight-thin);
	--nc-title-closing-weight:var(--nc-weight-light);
	--nc-title-statement-weight:var(--nc-weight-light);
	--nc-title-section-weight:var(--nc-weight-light);
	--nc-title-subsection-weight:var(--nc-weight-regular);
	--nc-title-card-weight:var(--nc-weight-regular);

	--nc-leading-hero:1.03;
	--nc-leading-heading:1.1;
	--nc-leading-body:1.6;
	--nc-leading-article:1.7;
	--nc-tracking-hero:-0.033em;
	--nc-tracking-heading:-0.02em;

	--nc-sp-2:var(--wp--preset--spacing--8, 8px);
	--nc-sp-3:var(--wp--preset--spacing--12, 12px);
	--nc-sp-4:var(--wp--preset--spacing--16, 16px);
	--nc-sp-5:var(--wp--preset--spacing--22, 22px);
	--nc-sp-6:var(--wp--preset--spacing--28, 28px);
	--nc-sp-8:var(--wp--preset--spacing--44, 44px);
	--nc-sp-9:var(--wp--preset--spacing--56, 56px);
	--nc-sp-12:var(--wp--preset--spacing--110, 110px);
	--nc-measure:1120px;
	--nc-wrap-max:var(--wp--custom--wrap--max, 1240px);
	--nc-wrap-pad:var(--wp--custom--wrap--pad, 56px);
	--nc-gutter:clamp(28px, 5.6vw, var(--nc-wrap-pad));
	--nc-edge:64px;
	--nc-nav-mark:clamp(1.75rem, 2.4vw, 2.125rem);
	--nc-nav-pad-block:clamp(0.625rem, 1.1vw, 0.875rem);
	--nc-gap-cols:var(--nc-sp-9);

	--nc-space-kicker:26px;
	--nc-space-lede:22px;
	--nc-space-lede-hero:clamp(18px, 2vw, 26px);
	--nc-section-pad:clamp(56px, 9vw, 96px);
	--nc-section-pad-edge:clamp(64px, 9vw, 104px);
	--nc-btn-height:46px;
	--nc-btn-height-compact:40px;
	--nc-tap:44px;
	--nc-card-inset:22px;

	--nc-btn-radius:3px;
	--nc-relief-1:0 1px 0 rgba(0, 0, 0, 0.34);
	--nc-relief-soft:0 1px 0 rgba(0, 0, 0, 0.18);
	--nc-relief-hover:0 2px 0 rgba(0, 0, 0, 0.34);
	--nc-relief-side:3px 0 6px rgba(0, 0, 0, 0.22);
	--nc-shadow-mark:drop-shadow(0 2px 20px rgba(27, 33, 38, 0.62));
	--nc-shadow-veil:rgba(0, 0, 0, 0.24);
	--nc-shadow-text:0 1px 6px rgba(27, 33, 38, 0.5);
	--nc-shadow-mark-near:drop-shadow(0 1px 6px rgba(27, 33, 38, 0.5));
	--nc-shadow-panel:0 18px 40px rgba(27, 33, 38, 0.13);
	--nc-shadow-underline:0 7px 12px rgba(0, 0, 0, 0.45);
	--nc-relief-drop:0 3px 6px rgba(0, 0, 0, 0.22);
	--nc-dur-port-show:150ms;
	--nc-ease-machine:linear;

	--nc-layer-raised:10;
	--nc-layer-sticky:100;
	--nc-layer-overlay:500;
	--nc-layer-modal:800;
}

:root {
	--nc-thread-x:max(8px, min(calc(var(--nc-edge) + clamp(1.75rem, 2.4vw, 2.125rem) * 0.4949), calc(max(0px, (100vw - var(--nc-wrap-max)) / 2) + var(--nc-gutter) - 46px)));
}

@media (max-width:980px) {
	:root {
		--nc-edge:24px;
		--nc-thread-x:max(8px, min(calc(var(--nc-edge) + clamp(1.75rem, 2.4vw, 2.125rem) * 0.4949), calc(var(--nc-gutter) - 46px)));
	}
}

/* BASE
   Element defaults: box model, body type, links, media, focus and selection,
   and a cross-fade between pages. */

* {
	margin:0;
	padding:0;
	box-sizing:border-box;
	border-radius:0;
}

@view-transition {
	navigation:auto;
}

html,
body {
	overflow-x:clip;
}

html {
	scroll-behavior:smooth;
	scroll-padding-top:var(--nc-chrome-height, 96px);
	overscroll-behavior-y:none;
	-webkit-text-size-adjust:100%;
}

body {
	font-family:var(--nc-font-sans);
	font-weight:var(--nc-weight-regular);
	line-height:var(--nc-leading-body);
	overflow-wrap:break-word;
	color:var(--nc-ink);
	background:var(--nc-ground-open-start);
	-webkit-font-smoothing:antialiased;
}

a {
	color:var(--nc-ink);
	text-decoration:none;
}

img,
svg,
video,
canvas,
iframe {
	max-width:100%;
}

button,
input,
select,
textarea {
	font-family:inherit;
	font-size:inherit;
	color:inherit;
}

:focus-visible {
	outline:2px solid currentColor;
	outline-offset:2px;
}

::selection {
	background:var(--nc-ink);
	color:var(--nc-floor);
}

@media (prefers-reduced-motion:reduce) {
	html {
		scroll-behavior:auto;
	}
}

.nc-img--pending {
	opacity:0;
}

img {
	transition:opacity .32s cubic-bezier(.2,0,0,1);
}

@media (prefers-reduced-motion:reduce) {
	img {
		transition:none;
	}
}

/* LAYOUT
   The column (.nc-wrap), the section rhythm, the page grounds, the overline
   every section opens with, the one mono label type the overline-like
   labels of every component share (their own rules add colour and space),
   and the text link: ruled, wiped by a light line on hover like the
   navigation's. A section on a plain ground (.nc-plain--*) keeps its colour
   and stays out of the descent. */

.nc-wrap {
	max-width:var(--nc-wrap-max);
	margin:0 auto;
	padding:0 var(--nc-gutter);
}

.nc-section {
	position:relative;
	padding:var(--nc-section-pad) 0;
}

.nc-band--open {
	background:transparent;
	color:var(--nc-ink);
	--nc-si-band:var(--nc-si-open);
}

.nc-section.nc-plain--white {
	background:var(--nc-ground-white);
	--nc-si-band:var(--nc-si-open);
}

.nc-section.nc-plain--material {
	background:var(--nc-material);
	--nc-si-band:var(--nc-si-open);
}

.nc-section.nc-plain--ink {
	background:var(--nc-ink);
	--nc-si-band:var(--nc-on-ink-soft);
	--nc-rule:var(--nc-on-ink-line);
}

.nc-section.nc-on-paper,
.nc-section.nc-on-paper h2,
.nc-section.nc-on-paper p,
.nc-section.nc-on-paper .nc-kicker b,
.nc-section.nc-on-paper h3 {
	color:var(--nc-paper);
}

.nc-section.nc-on-paper .nc-more,
.nc-section.nc-on-paper a:not(:has(img)):not(.nc-chip, .wp-block-button__link) {
	color:var(--nc-paper);
	border-bottom-color:var(--nc-paper);
}

.nc-kicker,
.nc-nav__cta,
.nc-nav__toggle,
.nc-mega__all,
.nc-sheet__close,
.nc-sheet__cta,
.nc-facts,
.nc-section--hero .nc-partners .nc-label,
.nc-story .nc-more,
.nc-filters__label,
.nc-chip,
.nc-filters__tally,
.nc-collection__eyebrow,
.nc-collection__none,
.nc-entry__back,
.nc-entry__facts dd,
.nc-entry__foot,
.nc-feature__tag,
.nc-list__tags,
.nc-pager,
.nc-filters__toggle,
.nc-entry__share-link,
.nc-jobs__team,
.nc-jobs__place select,
.nc-jobs__count,
.nc-jobs__heading,
.nc-press .nc-source,
.nc-res__source,
.nc-res__more,
.nc-entry__meta,
.nc-search button,
.nc-pf-stack__label,
.nc-pf-cards__tag,
.nc-contact__label,
.nc-office__country,
.nc-sector-filter__tag,
.nc-listing__more,
.nc-landing__unit,
.nc-landing__quote p+p,
.nc-hubspot--inline label:not(.hs-form-booleancheckbox-display),
.nc-landing__mark figcaption,
.nc-landing__facts,
.nc-ncc__label,
.nc-ncc-edition__meta,
.nc-ncc-speaker__edition,
.nc-ncc-speaker__badge,
.nc-spark__figure-unit {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-kicker);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
}

.nc-kicker {
	color:var(--nc-si-band,var(--nc-si-open));
	display:flex;
	gap:14px;
	align-items:baseline;
	margin-bottom:var(--nc-space-kicker);
}

.nc-kicker b {
	font-weight:var(--nc-weight-medium);
	color:var(--nc-ink);
}

:where(.nc-band--open) h1 {
	max-width:15ch;
}

:where(.nc-band--open) h2 {
	max-width:21ch;
}

:where(.nc-band--open) .nc-lede {
	color:var(--nc-si-band,var(--nc-si-open));
	font-size:var(--nc-text-lede);
	line-height:1.58;
	max-width:58ch;
	margin-top:var(--nc-space-lede);
}

:where(.nc-band--open) h1+.nc-lede {
	margin-top:var(--nc-space-lede-hero);
}

.nc-band--open .nc-lede a {
	border-bottom:1px solid var(--nc-ink);
	padding-bottom:1px;
}

.nc-entry-content a:not([class]):not(:has(img)),
.nc-resource__body a:not(.nc-heading-anchor):not(:has(img)),
.nc-breadcrumb a,
.nc-newsletter-page__consent a {
	padding-bottom:1px;
	background:linear-gradient(var(--nc-material),var(--nc-material)) left bottom/0 1px no-repeat,linear-gradient(currentColor,currentColor) left bottom/100% 1px no-repeat;
	text-decoration:none;
	transition:background-size .42s linear;
}

.nc-entry-content a:not([class]):not(:has(img)):is(:hover,:focus-visible),
.nc-resource__body a:not(.nc-heading-anchor):not(:has(img)):is(:hover,:focus-visible),
.nc-breadcrumb a:is(:hover,:focus-visible),
.nc-newsletter-page__consent a:is(:hover,:focus-visible) {
	background-size:100% 1px,100% 1px;
}

@media (prefers-reduced-motion:reduce) {
	.nc-entry-content a:not([class]),
	.nc-resource__body a,
	.nc-breadcrumb a,
	.nc-newsletter-page__consent a {
		transition:none;
	}
}

.nc-rank {
	position:relative;
	box-sizing:border-box;
	width:100%;
	max-width:var(--nc-wrap-max);
	height:0;
	margin:0 auto;
	padding-inline:var(--nc-gutter);
	border:0;
	background:none;
	opacity:1;
}

.nc-rank--full {
	max-width:none;
	padding-inline:0;
}

.nc-band--open .nc-lede--light {
	font-weight:var(--nc-weight-light);
	margin-top:12px;
}

html[data-nc-register="client"] body {
	background-color:var(--nc-ground-client-start);
}

html[data-nc-register="technical"] body {
	background-color:var(--nc-ground-technical-start);
}

html[data-nc-descent="flat"] body {
	background-image:none;
	background-color:var(--nc-ground-open-start);
}

html[data-nc-descent="flat"][data-nc-register="client"] body {
	background-color:var(--nc-ground-client-start);
}

html[data-nc-descent="flat"][data-nc-register="technical"] body {
	background-color:var(--nc-ground-technical-start);
}

@media (max-width:700px) {
	.nc-section h1 br,
	.nc-section h2 br {
		display:none;
	}
}

/* ANNOUNCEMENT
   The bar above the header. */

.nc-announcement {
	background:var(--nc-ink);
	color:var(--nc-material);
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-readout);
	letter-spacing:var(--nc-mono-readout-tracking);
	text-transform:uppercase;
	text-align:center;
	padding:9px 20px;
}

.nc-announcement a {
	color:var(--nc-material);
	border-bottom:1px solid var(--nc-on-material-line);
	padding-bottom:1px;
}

.nc-announcement a:hover {
	border-bottom-color:var(--nc-material);
	color:var(--nc-material);
}

/* HEADER
   The navigation bar, its panels on desktop and the full-height sheet below
   900px. */

.nc-nav {
	--nc-nav-breakpoint:900px;
	--nc-nav-gap:clamp(1.25rem, 2.4vw, 2rem);
	--nc-nav-link-gap:clamp(1rem, 1.8vw, 1.5rem);
	--nc-nav-rule:1px solid var(--nc-rule);
	--nc-btn-fill:var(--nc-material);
	--nc-btn-on:var(--nc-ink);
	position:sticky;
	top:0;
	z-index:var(--nc-layer-sticky);
	backdrop-filter:blur(6px);
	background:var(--nc-glass);
	border-bottom:var(--nc-nav-rule);
}

.nc-nav__inner {
	display:flex;
	align-items:center;
	gap:var(--nc-nav-gap);
	padding:var(--nc-nav-pad-block) var(--nc-edge);
}

.nc-nav__panel {
	display:flex;
	align-items:center;
	gap:var(--nc-nav-gap);
	margin-left:auto;
}

.nc-nav__links {
	display:flex;
	flex-wrap:wrap;
	gap:0.5rem var(--nc-nav-link-gap);
	margin:0;
	padding:0;
	list-style:none;
}

.nc-nav__link {
	position:relative;
	display:inline-block;
	font-size:var(--nc-text-small);
	color:var(--nc-si-open);
	padding-bottom:2px;
	border-bottom:1px solid var(--nc-ink);
}

.nc-nav__link::after {
	content:'';
	position:absolute;
	left:0;
	bottom:-1px;
	height:1px;
	width:0;
	background:var(--nc-material);
	box-shadow:var(--nc-shadow-underline);
	transition:width .42s linear;
}

.nc-nav__link:hover {
	color:var(--nc-ink);
}

.nc-nav__link:hover::after,
.nc-nav__link:focus-visible::after {
	width:100%;
}

.nc-nav__cta {
	white-space:nowrap;
	border:1px solid;
	border-radius:var(--nc-btn-radius);
	padding:0.625rem 1rem;
}

.nc-nav__toggle {
	display:none;
	align-items:center;
	gap:0.625rem;
	margin-left:auto;
	padding:0.375rem 0;
	background:none;
	border:0;
	cursor:pointer;
	color:var(--nc-ink);
}

.nc-nav__toggle[hidden] {
	display:none;
}

.nc-nav__burger {
	position:relative;
	display:block;
	width:18px;
	height:1px;
	background:currentColor;
}

.nc-nav__burger::before,
.nc-nav__burger::after {
	content:'';
	position:absolute;
	left:0;
	width:100%;
	height:1px;
	background:currentColor;
	transition:transform .3s cubic-bezier(.2,.6,.2,1),opacity .2s linear;
}

.nc-nav__burger::before {
	top:-5px;
}

.nc-nav__burger::after {
	top:5px;
}

.nc-brand,
.nc-brand:hover {
	border-bottom:0;
	text-decoration:none;
}

.nc-brand {
	display:flex;
	align-items:center;
	gap:0.6875rem;
}

.nc-brand img {
	height:var(--nc-nav-mark, 34px);
	width:auto;
	display:block;
}

.nc-brand__wordmark {
	display:none;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-wordmark);
	letter-spacing:var(--nc-mono-wordmark-tracking);
	text-transform:uppercase;
	font-weight:var(--nc-weight-medium);
}

.nc-brand--text img {
	display:none;
}

.nc-brand--text .nc-brand__wordmark {
	display:block;
}

.nc-nav__item--mega {
	position:relative;
}

.nc-mega {
	position:absolute;
	top:100%;
	left:50%;
	translate:-50% 6px;
	z-index:var(--nc-layer-raised);
	min-width:19rem;
	margin-top:var(--nc-nav-pad-block);
	padding:6px 0 0;
	background:var(--nc-ground-open-start);
	border:1px solid var(--nc-rule);
	box-shadow:var(--nc-shadow-panel);
	opacity:0;
	visibility:hidden;
	transition:opacity .18s linear,translate .24s cubic-bezier(.2,.6,.2,1),visibility 0s linear .18s;
}

.nc-nav__item--mega:hover .nc-mega,
.nc-nav__item--mega:focus-within .nc-mega {
	opacity:1;
	visibility:visible;
	translate:-50% 0;
	transition:opacity .18s linear,translate .24s cubic-bezier(.2,.6,.2,1),visibility 0s linear;
}

.nc-mega__list {
	margin:0;
	padding:0;
	list-style:none;
}

.nc-mega__link {
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	gap:1.5rem;
	padding:11px 18px;
	border-bottom:0;
	color:var(--nc-si-open);
	transition:color .16s linear,background-color .16s linear;
}

.nc-mega__row+.nc-mega__row .nc-mega__link {
	border-top:1px solid var(--nc-seam);
}

.nc-mega__label {
	font-size:var(--nc-text-small);
	line-height:1.25;
}

.nc-mega__count {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-caption);
	letter-spacing:var(--nc-mono-caption-tracking);
	font-variant-numeric:tabular-nums;
	color:var(--nc-si);
}

.nc-mega__link:hover,
.nc-mega__link:focus-visible {
	color:var(--nc-ink);
	background:var(--nc-seam-soft);
}

.nc-mega__link:hover .nc-mega__count,
.nc-mega__link:focus-visible .nc-mega__count {
	color:var(--nc-ink);
}

.nc-mega__all {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1rem;
	margin-top:6px;
	padding:12px 18px;
	border-top:1px solid var(--nc-rule);
	border-bottom:0;
	color:var(--nc-ink);
}

.nc-mega__all svg {
	flex:0 0 auto;
	transition:transform .26s cubic-bezier(.2,.6,.2,1);
}

.nc-mega__all:hover svg,
.nc-mega__all:focus-visible svg {
	transform:translate(2px,-2px);
}

@media (prefers-reduced-motion:reduce) {
	.nc-mega,
	.nc-mega__all svg {
		transition-duration:.01ms;
	}
}

@media (max-width:900px) {
	.nc-nav {
		backdrop-filter:none;
		background:var(--nc-ground-open-start);
	}

	.nc-nav__toggle {
		display:inline-flex;
	}

	.nc-nav[data-nc-menu] .nc-nav__panel {
		display:none;
	}
}

/* MENU SHEET
   The modal menu below the navigation breakpoint (template-parts/layout/menu-sheet.php). */

.nc-sheet {
	--nc-sheet-ease:cubic-bezier(.2,.6,.2,1);
	--nc-sheet-time:.32s;
	--nc-sheet-index:28px;
	position:fixed;
	inset:0;
	z-index:var(--nc-layer-overlay);
	width:100%;
	max-width:none;
	height:100dvh;
	max-height:none;
	margin:0;
	padding:0;
	border:0;
	background:var(--nc-ink);
	color:var(--nc-on-ink);
	overflow-y:auto;
	overscroll-behavior:contain;
	opacity:0;
	translate:0 12px;
	transition:opacity var(--nc-sheet-time) var(--nc-sheet-ease),translate var(--nc-sheet-time) var(--nc-sheet-ease),overlay var(--nc-sheet-time) allow-discrete,display var(--nc-sheet-time) allow-discrete;
}

.nc-sheet[open] {
	display:flex;
	flex-direction:column;
	opacity:1;
	translate:none;
}

@starting-style {
	.nc-sheet[open] {
		opacity:0;
		translate:0 12px;
	}
}

.nc-sheet:focus {
	outline:none;
}

.nc-sheet::backdrop {
	background:transparent;
}

html:has(.nc-sheet[open]) {
	overflow:hidden;
}

.nc-sheet__bar {
	position:sticky;
	top:0;
	z-index:1;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:var(--nc-edge);
	padding:var(--nc-nav-pad-block) var(--nc-edge);
	background:var(--nc-ink);
	border-bottom:1px solid var(--nc-on-ink-rule);
}

.nc-sheet__brand {
	display:block;
	border:0;
}

.nc-sheet__brand img {
	display:block;
	width:auto;
	height:var(--nc-nav-mark);
}

.nc-sheet__close {
	display:inline-flex;
	align-items:center;
	gap:.625rem;
	padding:.375rem 0;
	border:0;
	background:none;
	color:var(--nc-on-ink);
	cursor:pointer;
}

.nc-sheet__cross {
	position:relative;
	width:18px;
	height:18px;
}

.nc-sheet__cross::before,
.nc-sheet__cross::after {
	content:'';
	position:absolute;
	inset:50% 0 auto;
	height:1px;
	background:currentColor;
	rotate:45deg;
}

.nc-sheet__cross::after {
	rotate:-45deg;
}

.nc-sheet__nav {
	flex:1;
	padding:clamp(12px,4vw,28px) var(--nc-edge) clamp(28px,8vw,48px);
}

.nc-sheet__list {
	margin:0;
	padding:0;
	list-style:none;
}

.nc-sheet__item {
	border-bottom:1px solid var(--nc-on-ink-rule);
	transition:opacity .4s var(--nc-sheet-ease) calc(.06s + var(--nc-i) * .05s),translate .4s var(--nc-sheet-ease) calc(.06s + var(--nc-i) * .05s);
}

@starting-style {
	.nc-sheet[open] .nc-sheet__item {
		opacity:0;
		translate:0 10px;
	}
}

.nc-sheet__row {
	display:flex;
	align-items:center;
	gap:16px;
}

.nc-sheet__link {
	display:flex;
	flex:1;
	align-items:baseline;
	gap:16px;
	min-width:0;
	padding:clamp(16px,4.4vw,22px) 0;
	border:0;
	color:var(--nc-on-ink);
	font-size:var(--nc-text-title);
	font-weight:var(--nc-weight-light);
	letter-spacing:var(--nc-tracking-heading);
	line-height:1.1;
}

.nc-sheet__index {
	flex:none;
	width:var(--nc-sheet-index);
	white-space:nowrap;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-kicker);
	letter-spacing:var(--nc-mono-kicker-tracking);
	color:var(--nc-on-ink-dim);
}

.nc-sheet__link:active .nc-sheet__label {
	color:var(--nc-on-ink-soft);
}

.nc-sheet__more {
	position:relative;
	flex:none;
	width:44px;
	height:44px;
	border:1px solid var(--nc-on-ink-line);
	border-radius:var(--nc-btn-radius);
	background:none;
	color:var(--nc-on-ink);
	cursor:pointer;
}

.nc-sheet__more::before,
.nc-sheet__more::after {
	content:'';
	position:absolute;
	inset:50% 14px auto;
	height:1px;
	background:currentColor;
	transition:rotate .3s var(--nc-sheet-ease);
}

.nc-sheet__more::after {
	rotate:90deg;
}

.nc-sheet__more[aria-expanded="true"]::after {
	rotate:0deg;
}

.nc-sheet__sub {
	margin:0;
	padding:0 0 clamp(14px,4vw,20px) calc(var(--nc-sheet-index) + 16px);
	list-style:none;
}

.nc-sheet__sub a {
	display:block;
	padding:10px 0;
	border:0;
	color:var(--nc-on-ink-soft);
	font-size:var(--nc-text-lede);
	line-height:1.3;
}

.nc-sheet__sub a:active {
	color:var(--nc-on-ink);
}

.nc-sheet__foot {
	position:sticky;
	bottom:0;
	padding:16px var(--nc-edge) calc(16px + env(safe-area-inset-bottom,0px));
	background:var(--nc-ink);
	border-top:1px solid var(--nc-on-ink-rule);
}

.nc-sheet__cta {
	display:block;
	padding:18px;
	border:0;
	border-radius:var(--nc-btn-radius);
	background:var(--nc-material);
	color:var(--nc-ink);
	text-align:center;
}

.nc-sheet :focus-visible {
	outline:1px solid var(--nc-on-ink);
	outline-offset:3px;
}

@media (min-width:901px) {
	.nc-sheet {
		display:none;
	}
}

@media (prefers-reduced-motion:reduce) {
	.nc-sheet,
	.nc-sheet__item,
	.nc-sheet__more::before,
	.nc-sheet__more::after {
		transition:none;
	}
}

/* The opening fills what the chrome leaves of the first screen, with the
   headline and the partners standing at its foot over the walk. */

.nc-section--hero {
	position:relative;
	display:flex;
	align-items:flex-end;
	min-height:calc(100vh - var(--nc-chrome-height,110px));
	min-height:calc(100svh - var(--nc-chrome-height,110px));
	padding:104px 0 92px;
	background:transparent;
	overflow:hidden;
}

.nc-section--hero>.nc-wrap {
	position:relative;
	z-index:2;
	width:100%;
	padding-bottom:7vh;
}

@media (min-width:901px) {
	.nc-section--hero>.nc-wrap,
	.nc-opening:not(.nc-opening--short)>.nc-wrap,
	.nc-stage>.nc-wrap {
		max-width:none;
		margin:0;
		padding-left:calc(var(--nc-thread-x,15px) + 40px);
		padding-right:36px;
	}
}

.nc-opening {
	position:relative;
	display:flex;
	align-items:flex-end;
	min-height:calc(100vh - var(--nc-chrome-height,110px));
	min-height:calc(100svh - var(--nc-chrome-height,110px));
	padding:104px 0 clamp(88px,13vh,144px);
	background:var(--nc-material);
	overflow:hidden;
}

.nc-opening--short {
	min-height:0;
	padding-top:clamp(72px,8vw,104px);
	padding-bottom:clamp(16px,2vw,28px);
}

.nc-opening--short,
.nc-opening[class*="nc-ground--"] {
	background:linear-gradient(180deg,var(--nc-nav-tint),transparent);
}

.nc-opening--short+.nc-section {
	padding-top:clamp(32px,4vw,56px);
}

.nc-opening>.nc-wrap {
	position:relative;
	z-index:1;
	width:100%;
}

.nc-opening h1 {
	max-width:var(--nc-measure);
	margin-top:var(--nc-space-kicker);
}

.nc-opening h1:first-child {
	margin-top:0;
}

.nc-opening .nc-lede {
	max-width:58ch;
	margin-top:var(--nc-space-lede-hero);
	color:var(--nc-si-open);
}

.nc-opening .nc-actions {
	margin-top:clamp(26px,3vw,40px);
}

.nc-facts {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:10px 0;
	max-width:640px;
	margin:clamp(24px,2.8vw,36px) 0 0;
	padding:clamp(14px,1.6vw,18px) 0 0;
	border-top:1px solid var(--nc-rule);
	list-style:none;
	color:inherit;
}

.nc-facts li+li::before {
	content:'';
	display:inline-block;
	width:5px;
	height:5px;
	margin:0 clamp(12px,1.4vw,18px);
	vertical-align:middle;
	background:var(--nc-tile);
}

.nc-opening .nc-kicker {
	margin-bottom:0;
}

.nc-opening .nc-lede a {
	border-bottom:1px solid currentColor;
	padding-bottom:1px;
}

@media (max-width:640px) {
	.nc-facts {
		flex-direction:column;
		align-items:flex-start;
	}

	.nc-facts li+li::before {
		display:none;
	}
}

@media (max-width:760px) {
	.nc-opening {
		min-height:0;
		padding:56px 0 48px;
	}
}

.nc-opening--film {
	min-height:calc(100svh - var(--nc-chrome-height,110px));
}

.nc-opening__film {
	--nc-film-height:66%;
	position:absolute;
	inset:0 0 auto;
	height:var(--nc-film-height);
	margin:0;
	pointer-events:none;
	background:var(--nc-film-wide) center/cover no-repeat;
	-webkit-mask-image:linear-gradient(180deg,var(--nc-black) 0 70%,transparent 100%);
	mask-image:linear-gradient(180deg,var(--nc-black) 0 70%,transparent 100%);
}

.nc-opening__film picture {
	display:block;
	height:100%;
}

.nc-opening__film :is(video,img) {
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:var(--nc-film-focus,center);
}

.nc-opening__film--relief {
	--nc-film-height:70%;
	--nc-film-focus:center top;
	mix-blend-mode:multiply;
}

/* The film beside the words, faded at its edges, the words centred. */
.nc-opening:has(>.nc-opening__film--side) {
	align-items:center;
}

.nc-opening__film--side {
	inset:50% clamp(24px,8vw,150px) auto auto;
	width:min(52%,780px);
	height:auto;
	aspect-ratio:16/9;
	transform:translateY(-50%);
	background:none;
	-webkit-mask-image:linear-gradient(90deg,transparent,var(--nc-black) 24%,var(--nc-black) 88%,transparent),linear-gradient(180deg,transparent,var(--nc-black) 10%,var(--nc-black) 80%,transparent);
	mask-image:linear-gradient(90deg,transparent,var(--nc-black) 24%,var(--nc-black) 88%,transparent),linear-gradient(180deg,transparent,var(--nc-black) 10%,var(--nc-black) 80%,transparent);
	-webkit-mask-composite:source-in;
	mask-composite:intersect;
}

.nc-opening:has(>.nc-opening__film--side)>.nc-wrap>* {
	max-width:min(36%,460px);
}

@media (max-width:900px) {
	.nc-opening:has(>.nc-opening__film--side) {
		flex-direction:column;
		align-items:stretch;
		min-height:0;
		padding-top:24px;
	}

	.nc-opening__film--side {
		position:relative;
		inset:auto;
		width:100%;
		margin-bottom:8px;
		transform:none;
	}

	.nc-opening:has(>.nc-opening__film--side)>.nc-wrap>* {
		max-width:none;
	}
}

@media (max-width:1100px) {
	.nc-opening__film {
		background-image:var(--nc-film-tablet,var(--nc-film-wide));
	}
}

@media (max-width:640px) {
	.nc-opening__film {
		--nc-film-height:62%;
		background-image:var(--nc-film-phone,var(--nc-film-tablet,var(--nc-film-wide)));
	}
}

@media (prefers-reduced-motion:reduce) {
	.nc-opening__film {
		background-image:var(--nc-film-still,var(--nc-film-wide));
	}

	.nc-opening__film video {
		visibility:hidden;
	}
}

@media (prefers-reduced-motion:reduce) and (max-width:640px) {
	.nc-opening__film {
		background-image:var(--nc-film-still-phone,var(--nc-film-phone,var(--nc-film-wide)));
	}
}

.nc-section--hero>.nc-hero__film {
	position:absolute;
	inset:0 0 auto;
	z-index:0;
	height:72%;
	margin:0;
	pointer-events:none;
	-webkit-mask-image:linear-gradient(180deg,var(--nc-black) 0 78%,transparent 100%);
	mask-image:linear-gradient(180deg,var(--nc-black) 0 78%,transparent 100%);
}

.nc-section--hero>.nc-hero__film video {
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}

.nc-section--hero:has(>.nc-hero__film) {
	padding-bottom:clamp(88px,11vh,120px);
}

.nc-section--hero:has(>.nc-hero__film)>.nc-wrap {
	padding-bottom:0;
}

.nc-section--hero:has(>.nc-hero__film) .nc-headline {
	margin-top:26px;
}

.nc-section--hero:has(>.nc-hero__film) .nc-partners {
	margin-top:18px;
	border-top:0;
}

.nc-section--hero:has(>.nc-hero__film) .nc-partners__marks img[src*="aws"] {
	height:19px;
}

@media (max-width:1100px) {
	.nc-section--hero>.nc-hero__film {
		height:62%;
	}
}

@media (prefers-reduced-motion:reduce) {
	.nc-section--hero>.nc-hero__film {
		display:none;
	}
}

@media (max-width:760px) {
	.nc-section--hero:has(>.nc-hero__film) {
		flex-direction:column;
		align-items:stretch;
		min-height:0;
		padding-top:0;
		padding-bottom:48px;
	}

	.nc-section--hero>.nc-hero__film {
		position:relative;
		inset:auto;
		height:auto;
		aspect-ratio:4/3;
	}

	.nc-section--hero>.nc-hero__film video {
		object-position:center 62%;
	}
}

.nc-section--hero .nc-headline {
	max-width:var(--nc-measure);
	color:var(--nc-ink);
}

@media (max-width:640px) {
	.nc-section--hero .nc-headline br {
		display:none;
	}
}

.nc-band--open .nc-lede a::after,
.nc-story .nc-more::after,
.nc-press .nc-press__where a::after {
	content:'';
	position:absolute;
	left:0;
	right:auto;
	bottom:-1px;
	height:1px;
	width:0;
	background:var(--nc-material);
	transition:width .42s linear;
}

.nc-band--open .nc-lede a:hover::after,
.nc-band--open .nc-lede a:focus-visible::after,
.nc-story .nc-more:hover::after,
.nc-story .nc-more:focus-visible::after,
.nc-press .nc-press__where a:hover::after,
.nc-press .nc-press__where a:focus-visible::after {
	width:100%;
}

.nc-headline {
	position:relative;
	margin-top:clamp(26px,3vw,44px);
	max-width:var(--nc-measure);
	font-weight:var(--nc-weight-thin);
	font-size:var(--nc-title-hero-size);
	line-height:1.06;
	letter-spacing:-.03em;
}

.nc-headline em {
	font-style:normal;
	font-weight:inherit;
}

.nc-section--hero .nc-partners {
	margin-top:26px;
	max-width:var(--nc-measure);
	border-top:1px solid var(--nc-rule);
	padding-top:13px;
	display:flex;
	align-items:center;
	gap:28px;
	flex-wrap:wrap;
}

.nc-section--hero .nc-partners .nc-label {
	margin:0;
	white-space:nowrap;
	line-height:1.6;
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-section--hero .nc-partners__marks {
	display:flex;
	align-items:center;
	gap:30px;
	flex-wrap:wrap;
}

.nc-section--hero .nc-partners__marks .wp-block-image {
	margin:0;
}

.nc-section--hero .nc-partners__marks img {
	display:block;
	height:19px;
	width:auto;
	filter:brightness(0);
	opacity:.78;
}

.nc-section--hero .nc-partners__marks img[src*="aws"] {
	height:23px;
}

.nc-hero__lede {
	max-width:660px;
	color:var(--nc-si-open);
	margin-top:clamp(34px,3.6vw,50px);
	text-wrap:pretty;
}

.nc-section--hero .nc-headline+.nc-hero__lede {
	max-width:58ch;
	margin-top:clamp(18px,2vw,26px);
	color:var(--nc-si-open);
}

.nc-section--hero .nc-actions {
	margin-top:clamp(28px,3vw,40px);
}

/* BUTTONS
   WordPress button blocks in the brand, and the buttons that share their
   look (header, Connect, offsite). A solid button clears to its outline on
   hover; an outline button fills from below. Variants for black and paper
   grounds set --nc-btn-base and --nc-btn-text only. */

.nc-actions {
	display:flex;
	gap:13px;
	margin-top:36px;
	flex-wrap:wrap;
}

.wp-block-button__link {
	--nc-btn-fill:var(--nc-material);
	--nc-btn-on:var(--nc-ink);
	position:relative;
	isolation:isolate;
	overflow:hidden;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-button);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
	padding:14px 22px;
	display:inline-block;
	border:1px solid var(--nc-ink);
	border-radius:var(--nc-btn-radius);
	transition:color 0s linear .17s,border-color .32s linear;
}

.wp-block-button.is-style-outline>.wp-block-button__link::before,
.nc-chip::before {
	content:'';
	position:absolute;
	inset:0;
	z-index:-1;
	background:var(--nc-btn-fill);
	transform:scaleY(0);
	transform-origin:50% 100%;
	transition:transform .34s cubic-bezier(.2,.6,.2,1);
}

.wp-block-button.is-style-outline>.wp-block-button__link:is(:hover,:focus-visible)::before,
.nc-chip:is(:hover,:focus-visible)::before {
	transform:scaleY(1);
}

.wp-block-button:not(.is-style-outline)>.wp-block-button__link,
.nc-nav__cta,
.nc-ncc__cta,
.nc-entry__offsite a {
	--nc-btn-base:var(--nc-ink);
	--nc-btn-text:var(--nc-ground-open-start);
	border-color:var(--nc-btn-base);
	background:var(--nc-btn-base);
	color:var(--nc-btn-text);
	transition:background-color .34s cubic-bezier(.2,.6,.2,1),color .34s cubic-bezier(.2,.6,.2,1),border-color .34s cubic-bezier(.2,.6,.2,1),box-shadow .34s cubic-bezier(.2,.6,.2,1);
}

.wp-block-button:not(.is-style-outline)>.wp-block-button__link {
	box-shadow:var(--nc-relief-1);
}

:is(.wp-block-button:not(.is-style-outline)>.wp-block-button__link,.nc-nav__cta,.nc-ncc__cta,.nc-entry__offsite a):is(:hover,:focus-visible) {
	border-color:var(--nc-btn-base);
	background:transparent;
	color:var(--nc-btn-base);
	box-shadow:none;
}

.wp-block-button.is-style-outline>.wp-block-button__link {
	--nc-btn-fill:var(--nc-ink);
	--nc-btn-on:var(--nc-material);
	padding:14px 22px;
	border:1px solid var(--nc-ink);
	background:transparent;
	color:var(--nc-ink);
}

.nc-section.nc-on-paper .wp-block-button.is-style-outline>.wp-block-button__link {
	--nc-btn-fill:var(--nc-material);
	--nc-btn-on:var(--nc-ink);
	border-color:var(--nc-paper);
	color:var(--nc-paper);
}

.nc-section.nc-on-paper .wp-block-button:not(.is-style-outline)>.wp-block-button__link {
	--nc-btn-base:var(--nc-paper);
	--nc-btn-text:var(--nc-deep);
}

.nc-on-paper .wp-block-button.is-style-outline>.wp-block-button__link {
	color:var(--nc-material);
	border-color:var(--nc-material);
}

.wp-block-button.is-style-outline>.wp-block-button__link:is(:hover,:focus-visible),
.nc-section.nc-on-paper .wp-block-button.is-style-outline>.wp-block-button__link:is(:hover,:focus-visible) {
	color:var(--nc-btn-on);
	border-color:var(--nc-btn-fill);
}

@media (prefers-reduced-motion:reduce) {
	.wp-block-button__link,
	.wp-block-button__link:hover,
	.wp-block-button__link:focus-visible,
	.wp-block-button__link::before,
	.nc-nav__cta,
	.nc-ncc__cta,
	.nc-entry__offsite a,
	.nc-chip::before {
		transition:none;
	}
}

.nc-sound {
	position:absolute;
	top:0;
	right:0;
	z-index:2;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-caption);
	letter-spacing:.16em;
	text-transform:uppercase;
	background:var(--nc-ink);
	color:var(--nc-material);
	border:0;
	padding:8px 11px;
	cursor:pointer;
	box-shadow:var(--nc-relief-1);
}

.nc-sound:disabled {
	background:var(--nc-ink-veil);
	cursor:default;
	box-shadow:none;
}

.nc-sound:hover:not(:disabled),
.nc-sound:focus-visible:not(:disabled) {
	background:var(--nc-material);
	color:var(--nc-ink);
	box-shadow:var(--nc-relief-hover);
}

/* PANELS
   Bands that paint their own ground instead of standing on the page's descent:
   light, grey, and ink with paper type and light buttons. The Connect pages
   and the campaign pages (inc/landing.php) alternate them, as the source's
   event pages do. */

.nc-panel {
	position:relative;
	padding:clamp(72px,9vw,128px) 0;
}

.nc-panel--light {
	background:var(--nc-material);
}

.nc-panel--grey {
	background:var(--nc-ground-quiet);
}

.nc-panel--ink {
	background:var(--nc-ink);
	color:var(--nc-on-ink);
}

.nc-panel--light+.nc-panel--light {
	border-top:1px solid var(--nc-rule);
}

.nc-panel .nc-kicker {
	color:var(--nc-si-open);
}

.nc-panel h2 {
	max-width:24ch;
}

.nc-panel .nc-lede {
	max-width:58ch;
	margin-top:var(--nc-space-lede);
	color:var(--nc-si-open);
}

.nc-panel--ink,
.nc-stage {
	--nc-rule:var(--nc-on-ink-rule);
	--nc-rule-plate:var(--nc-on-ink-line);
	--nc-si-band:var(--nc-on-ink-soft);
}

:is(.nc-panel--ink,.nc-stage) :is(h1,h2,h3) {
	color:var(--nc-on-ink);
}

:is(.nc-panel--ink,.nc-stage) .nc-kicker,
:is(.nc-panel--ink,.nc-stage) .nc-lede,
:is(.nc-panel--ink,.nc-stage) .nc-ncc__lede {
	color:var(--nc-on-ink-soft);
}

:is(.nc-panel--ink,.nc-stage) .wp-block-button__link,
:is(.nc-panel--ink,.nc-stage) .wp-block-button.is-style-outline>.wp-block-button__link {
	--nc-btn-fill:var(--nc-on-ink-fill);
	--nc-btn-on:var(--nc-material);
	border-color:var(--nc-material);
	color:var(--nc-material);
}

:is(.nc-panel--ink,.nc-stage) .wp-block-button:not(.is-style-outline)>.wp-block-button__link {
	--nc-btn-base:var(--nc-material);
	--nc-btn-text:var(--nc-ink);
	box-shadow:none;
}

:is(.nc-panel--ink,.nc-stage) .wp-block-button.is-style-outline>.wp-block-button__link:is(:hover,:focus-visible) {
	border-color:var(--nc-material);
	color:var(--nc-btn-on);
}

.nc-stage {
	position:relative;
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	min-height:calc(100vh - var(--nc-chrome-height,110px));
	min-height:calc(100svh - var(--nc-chrome-height,110px));
	padding-top:104px;
	overflow:hidden;
	background:var(--nc-ink);
	color:var(--nc-on-ink);
}

.nc-stage__picture {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:70% 50%;
}

.nc-stage::after {
	content:'';
	position:absolute;
	inset:0;
	background:var(--nc-scrim-stage);
	pointer-events:none;
}

.nc-stage__body {
	position:relative;
	z-index:1;
	width:100%;
	padding-bottom:clamp(88px,13vh,144px);
}

.nc-stage h1 {
	max-width:16ch;
	margin-top:clamp(14px,1.6vw,20px);
}

.nc-stage .nc-ncc__lede {
	max-width:46ch;
	margin-top:clamp(18px,2vw,26px);
}

.nc-stage .nc-actions {
	margin-top:clamp(26px,3vw,40px);
}

.nc-stage__marks {
	position:relative;
	z-index:1;
	margin:0;
	padding:clamp(18px,2vw,26px) 0;
	border-top:1px solid var(--nc-on-ink-rule);
}

.nc-stage .nc-stage__marks img {
	height:calc(26px * var(--nc-mark-scale,1));
	filter:brightness(0) invert(1);
	opacity:.62;
}

@media (max-width:640px) {
	.nc-stage::after {
		background:var(--nc-scrim-stage-phone);
	}

	.nc-stage .nc-stage__marks img {
		height:calc(20px * var(--nc-mark-scale,1));
	}
}

/* FIGURE
   A plate behind images that are still loading. */

figure.nc-shot {
	margin-top:46px;
}

figure.nc-shot img {
	display:block;
	width:100%;
	height:auto;
}

figure.nc-shot video {
	display:block;
	width:100%;
	height:auto;
}

figure.nc-shot video[controls] {
	outline:1px solid var(--nc-rule);
}

figure.nc-shot figcaption {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-caption);
	letter-spacing:.16em;
	text-transform:uppercase;
	color:var(--nc-si-band,var(--nc-si-open));
	margin-top:11px;
	line-height:1.7;
}

/* A player (YouTube, Drive) or a form embedded in an article's text. */

.nc-entry-content .nc-player {
	margin-block:28px;
	aspect-ratio:16/9;
	background:var(--nc-rule);
}

.nc-entry-content .nc-player iframe {
	display:block;
	width:100%;
	height:100%;
	border:0;
}

.nc-entry-content .nc-player--form {
	aspect-ratio:auto;
	height:1600px;
	background:none;
}

/* STORIES
   Customer stories as the home page sets them: result, picture, title. */

.nc-band--open .nc-lede a,
.nc-story .nc-more,
.nc-press .nc-press__where a {
	position:relative;
}

.wp-block-columns.nc-stories {
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	grid-template-rows:auto auto auto 1fr auto auto;
	gap:0;
	margin-top:0;
	margin-bottom:0;
	border-top:1px solid var(--nc-rule);
	border-bottom:1px solid var(--nc-rule);
}

.nc-story {
	display:grid;
	grid-row:span 6;
	grid-template-rows:subgrid;
	border-left:1px solid var(--nc-rule);
}

.nc-story:first-child {
	border-left:0;
}

.nc-story__fig {
	grid-row:3;
	position:relative;
	display:block;
	margin:var(--nc-card-inset) var(--nc-card-inset) 0;
	overflow:hidden;
	aspect-ratio:4/5;
	background-color:var(--nc-plate);
	background-image:var(--nc-plate-hatch);
}

.nc-story__fig::after {
	content:'';
	position:absolute;
	z-index:1;
	bottom:18px;
	left:18px;
	width:5px;
	height:5px;
	background:var(--nc-tile);
}

.nc-story .nc-story__shot {
	position:absolute;
	inset:0;
	margin:0;
}

.nc-story .nc-story__shot img {
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
}

@media (max-width:1000px) {
	.wp-block-columns.nc-stories {
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.nc-story:nth-child(3) {
		border-left:0;
	}

	.nc-story:nth-child(n+3) {
		border-top:1px solid var(--nc-rule);
	}
}

@media (max-width:700px) {
	.wp-block-columns.nc-stories {
		grid-template-columns:minmax(0,1fr);
	}

	.nc-story {
		border-left:0;
		border-top:1px solid var(--nc-rule);
	}

	.nc-story:first-child {
		border-top:0;
	}
}

.nc-story .nc-story__mark {
	position:absolute;
	z-index:1;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	width:60%;
	margin:0;
	display:flex;
	justify-content:center;
}

.nc-story .nc-story__mark img {
	display:block;
	height:auto;
	max-height:62px;
	width:auto;
	max-width:100%;
	object-fit:contain;
	filter:brightness(0) invert(1) var(--nc-shadow-mark) var(--nc-shadow-mark-near);
}

.nc-story .nc-story__mark img[src$=".webp"],
.nc-story .nc-story__mark img[src$=".png"] {
	max-height:30px;
}

.nc-story__eyebrow {
	padding:16px var(--nc-card-inset) 12px;
	border-bottom:1px solid var(--nc-rule);
	font-family:var(--nc-font-mono);
	font-size:var(--nc-text-caption);
	line-height:1.6;
	letter-spacing:.14em;
	text-transform:uppercase;
	color:var(--nc-si-band,var(--nc-si));
}

.nc-story h3 {
	grid-row:5;
	margin:12px var(--nc-card-inset) 0;
}

.nc-story__metric {
	grid-row:2;
	display:flex;
	flex-direction:column;
	gap:6px;
	padding:var(--nc-card-inset) var(--nc-card-inset) 0;
}

.nc-story__figure {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-text-figure);
	font-weight:var(--nc-weight-regular);
	letter-spacing:-.02em;
	line-height:1;
}

.nc-story__pre {
	order:-1;
	margin-bottom:2px;
	font-size:var(--nc-text-caption);
	line-height:1.4;
	color:var(--nc-si-band,var(--nc-si));
}

.nc-story__metric>* {
	margin:0;
}

/* Beside a card whose figure has words above it, the other figures keep that
   line's room, so the numbers of a row stand on one line. */
.nc-stories:has(.nc-story__pre) .nc-story__metric:not(.nc-story__metric--words):not(:has(.nc-story__pre))::before {
	content:'';
	order:-1;
	height:calc(var(--nc-text-caption) * 1.4 + 2px);
}

.nc-story__metric--words .nc-story__caption {
	font-weight:var(--nc-weight-light);
	font-size:var(--nc-text-claim);
	line-height:1.3;
	max-width:20ch;
	color:var(--nc-ink);
	letter-spacing:-.01em;
}

.nc-story__caption {
	font-size:var(--nc-text-caption);
	line-height:1.4;
	max-width:24ch;
	color:var(--nc-si-band,var(--nc-si));
	text-wrap:pretty;
}

.nc-story blockquote {
	margin:0;
	font-size:var(--nc-text-small);
	line-height:1.5;
	text-wrap:pretty;
}

.nc-story cite {
	display:block;
	margin-top:8px;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-readout);
	letter-spacing:var(--nc-mono-readout-tracking);
	text-transform:uppercase;
	font-style:normal;
	color:var(--nc-si-band,var(--nc-si));
}

.nc-story .nc-more {
	grid-row:6;
	justify-self:start;
	align-self:start;
	border-bottom:1px solid var(--nc-ink);
	padding-bottom:2px;
	margin:18px var(--nc-card-inset) 28px;
}

.nc-story__brand {
	position:absolute;
	z-index:1;
	top:50%;
	left:0;
	right:0;
	transform:translateY(-50%);
	margin:0;
	text-align:center;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-wordmark);
	letter-spacing:var(--nc-mono-wordmark-tracking);
	text-transform:uppercase;
	color:var(--nc-material);
	text-shadow:var(--nc-shadow-text);
}

/* COLLECTION
   Listings: their filters and chips, cards, the feature, dense lines, the
   pager, and the byline cards and entry pages share. */

.nc-section--collection .nc-lede {
	max-width:52ch;
}

.nc-filters {
	margin-top:clamp(18px,1.8vw,26px);
	padding-bottom:clamp(4px,0.6vw,8px);
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	align-items:start;
	gap:16px 24px;
}

.nc-filters__rows {
	display:grid;
	gap:7px;
}

.nc-filters__group {
	display:grid;
	grid-template-columns:6.5rem minmax(0,1fr);
	align-items:baseline;
	gap:14px;
}

.nc-filters__label {
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-filters__chips {
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	min-width:0;
}

.nc-chip {
	position:relative;
	isolation:isolate;
	overflow:hidden;
	display:inline-flex;
	align-items:baseline;
	gap:8px;
	padding:6px 11px;
	border:1px solid var(--nc-rule);
	color:var(--nc-si-open);
	transition:color 0s linear .17s,border-color .32s linear;
}

.nc-chip::before {
	background:var(--nc-ink);
}

.nc-chip:hover,
.nc-chip:focus-visible {
	color:var(--nc-material);
	border-color:var(--nc-ink);
}

.nc-chip__count {
	font-size:var(--nc-mono-caption);
	opacity:.62;
}

.nc-chip.is-on {
	color:var(--nc-material);
	border-color:var(--nc-ink);
	transition:none;
}

.nc-chip.is-on::before {
	transform:scaleY(1);
}

.nc-filters__tally {
	display:flex;
	align-items:baseline;
	justify-content:flex-end;
	white-space:nowrap;
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-filters__clear {
	margin-left:6px;
	padding:0 0 2px;
	background:none;
	border:0;
	border-bottom:1px solid currentColor;
	cursor:pointer;
	font:inherit;
	letter-spacing:inherit;
	text-transform:inherit;
	color:var(--nc-ink);
}

.nc-collection {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	grid-template-rows:auto auto 1fr;
	gap:0;
	margin-top:clamp(26px,2.6vw,38px);
	margin-left:-1px;
}

.nc-collection__item[hidden] {
	display:none;
}

.nc-collection__eyebrow {
	grid-row:1;
	display:grid;
	grid-template-columns:auto minmax(0,1fr) auto;
	align-items:baseline;
	gap:11px;
	padding:15px 20px 13px;
	border-bottom:1px solid var(--nc-rule);
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-collection__index {
	color:var(--nc-ink);
	font-variant-numeric:tabular-nums;
}

.nc-collection__subject {
	color:var(--nc-ink);
	font-weight:var(--nc-weight-medium);
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}

.nc-collection__shot {
	grid-row:2;
	overflow:hidden;
	aspect-ratio:16/9;
	background-color:var(--nc-plate);
	background-image:var(--nc-plate-hatch);
	border-top:1px solid var(--nc-rule);
	outline:1px solid var(--nc-outline-plate);
	outline-offset:-1px;
}

.nc-collection__shot--plate {
	display:flex;
	align-items:center;
	justify-content:center;
	background:transparent;
}

.nc-collection__shot--plate span {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-title-card-size);
	letter-spacing:.14em;
	text-transform:uppercase;
	color:var(--nc-si-band,var(--nc-si-open));
	text-align:center;
	padding:0 14px;
	text-wrap:balance;
}

.nc-collection__shot img,
.nc-feature__shot img {
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	transition:scale .5s cubic-bezier(.2,0,0,1);
}

.nc-collection__item:hover .nc-collection__shot img,
.nc-collection__item:focus-within .nc-collection__shot img {
	scale:1.03;
}

.nc-collection__title {
	grid-row:3;
	font-size:var(--nc-title-card-size);
	line-height:1.2;
	font-weight:var(--nc-title-card-weight);
	letter-spacing:var(--nc-title-card-tracking);
	margin:0;
	padding:18px 20px 24px;
	text-wrap:pretty;
}

.nc-collection__title a,
.nc-list__title a {
	background-image:linear-gradient(var(--nc-ink),var(--nc-ink));
	background-repeat:no-repeat;
	background-position:0 100%;
	background-size:0 1px;
	transition:background-size .32s linear;
}

.nc-collection__item:hover .nc-collection__title a,
.nc-collection__item:focus-within .nc-collection__title a {
	background-size:100% 1px;
}

.nc-collection__title a::after {
	content:'';
	position:absolute;
	inset:0;
}

.nc-collection__item {
	display:grid;
	grid-row:span 3;
	grid-template-rows:subgrid;
	border-left:1px solid var(--nc-rule);
	border-bottom:1px solid var(--nc-rule);
	position:relative;
}

.nc-collection__none {
	margin-top:34px;
	color:var(--nc-si-band,var(--nc-si-open));
}

@media (max-width:1120px) {
	.nc-collection {
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

@media (max-width:900px) {
	.nc-filters__group {
		grid-template-columns:minmax(0,1fr);
		gap:10px;
	}
}

@media (max-width:700px) {
	.nc-collection {
		grid-template-columns:minmax(0,1fr);
	}

	.nc-filters__chips {
		flex-wrap:nowrap;
		overflow-x:auto;
		scrollbar-width:none;
	}

	.nc-chip {
		flex:none;
		white-space:nowrap;
	}
}

@media (prefers-reduced-motion:reduce) {
	.nc-chip,
	.nc-collection__shot img {
		transition:none;
	}

	.nc-collection__item:hover .nc-collection__shot img,
	.nc-collection__item:focus-within .nc-collection__shot img {
		scale:1;
	}
}

.nc-feature {
	position:relative;
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
	align-items:stretch;
	gap:clamp(22px,3vw,44px);
	margin-top:clamp(26px,2.8vw,40px);
	padding-bottom:clamp(24px,2.6vw,36px);
	border-bottom:1px solid var(--nc-rule);
	color:var(--nc-ink);
}

.nc-feature--bare {
	grid-template-columns:minmax(0,1fr);
}

.nc-feature__shot {
	display:block;
	overflow:hidden;
	aspect-ratio:16/9;
	align-self:start;
	background-color:var(--nc-plate);
	background-image:var(--nc-plate-hatch);
}

.nc-feature:hover .nc-feature__shot img,
.nc-feature:focus-visible .nc-feature__shot img {
	scale:1.03;
}

.nc-feature__copy {
	display:flex;
	flex-direction:column;
	justify-content:flex-start;
	gap:16px;
	align-items:flex-start;
	padding-top:2px;
}

.nc-feature__tag {
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-feature__title {
	font-size:var(--nc-title-subsection-size);
	font-weight:var(--nc-weight-regular);
	letter-spacing:var(--nc-tracking-heading);
	line-height:1.1;
	max-width:22ch;
	text-wrap:balance;
	background-image:linear-gradient(var(--nc-ink),var(--nc-ink));
	background-repeat:no-repeat;
	background-position:0 100%;
	background-size:0 1px;
	transition:background-size .32s linear;
}

.nc-feature:hover .nc-feature__title,
.nc-feature:focus-visible .nc-feature__title {
	background-size:100% 1px;
}

.nc-feature__more {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-label);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
	padding-bottom:3px;
	border-bottom:1px solid currentColor;
}

@media (max-width:900px) {
	.nc-feature {
		grid-template-columns:minmax(0,1fr);
	}
}

@media (prefers-reduced-motion:reduce) {
	.nc-feature__shot img,
	.nc-feature__title {
		transition:none;
	}

	.nc-feature:hover .nc-feature__shot img {
		scale:1;
	}
}

.nc-list {
	margin-top:clamp(20px,2.4vw,34px);
	border-top:1px solid var(--nc-rule);
}

.nc-list__row {
	position:relative;
	display:grid;
	grid-template-columns:14rem minmax(0,1fr) 6rem;
	align-items:baseline;
	gap:20px;
	padding:15px 0 14px;
	border-bottom:1px solid var(--nc-rule);
	transition:background-color .12s linear;
}

.nc-list__row[hidden] {
	display:none;
}

.nc-list__row:hover {
	background-color:var(--nc-seam-soft);
}

.nc-list__tags {
	display:flex;
	flex-wrap:wrap;
	gap:6px 10px;
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-list__tags span:first-child {
	color:var(--nc-ink);
}

.nc-list__title {
	max-width:none;
	font-size:var(--nc-text-row);
	font-weight:var(--nc-weight-regular);
	letter-spacing:var(--nc-tracking-heading);
	line-height:1.3;
	text-wrap:pretty;
}

.nc-list__title a::after {
	content:'';
	position:absolute;
	inset:0;
}

.nc-list__row:hover .nc-list__title a {
	background-size:100% 1px;
}

.nc-list__date {
	justify-self:end;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-kicker);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
	color:var(--nc-si-band,var(--nc-si-open));
	white-space:nowrap;
}

@media (max-width:900px) {
	.nc-list__row {
		grid-template-columns:minmax(0,1fr) 5rem;
		gap:4px 16px;
	}

	.nc-list__tags {
		grid-column:1 / -1;
	}
}

@media (prefers-reduced-motion:reduce) {
	.nc-feature,
	.nc-feature::before,
	.nc-list__row,
	.nc-list__title a {
		transition:none;
	}
}

.nc-pager {
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:16px 24px;
	margin-top:clamp(30px,3vw,46px);
	padding-top:20px;
	border-top:1px solid var(--nc-ink);
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-pager__links {
	display:flex;
	flex-wrap:wrap;
	gap:6px;
	margin:0;
	padding:0;
	list-style:none;
}

.nc-pager__links a,
.nc-pager__links span {
	display:inline-block;
	min-width:2.25rem;
	padding:7px 10px;
	text-align:center;
	border:1px solid var(--nc-rule);
	color:var(--nc-si-open);
	transition:color .12s linear,border-color .12s linear;
}

.nc-pager__links a:hover,
.nc-pager__links a:focus-visible {
	color:var(--nc-ink);
	border-color:var(--nc-ink);
}

.nc-pager__links .current {
	background:var(--nc-ink);
	border-color:var(--nc-ink);
	color:var(--nc-material);
}

.nc-pager__links .dots {
	border-color:transparent;
}

@media (prefers-reduced-motion:reduce) {
	.nc-pager__links a {
		transition:none;
	}
}

.nc-filters__toggle {
	display:none;
	align-items:baseline;
	gap:8px;
	padding:7px 13px;
	border:1px solid var(--nc-ink);
	background:none;
	cursor:pointer;
	color:var(--nc-ink);
}

.nc-filters__toggle[hidden] {
	display:none;
}

@media (max-width:700px) {
	.nc-filters__toggle {
		display:inline-flex;
		justify-self:start;
	}

	.nc-filters[data-nc-filters-state="closed"] .nc-filters__rows {
		display:none;
	}

	.nc-filters {
		grid-template-columns:minmax(0,1fr);
	}
}

.nc-byline {
	display:flex;
	align-items:center;
	gap:12px;
	margin-top:clamp(18px,2vw,26px);
}

.nc-byline__initial {
	flex:0 0 auto;
	width:34px;
	height:34px;
	display:grid;
	place-items:center;
	margin:0;
	background:var(--nc-tile);
	border:0;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-text-caption);
	font-weight:var(--nc-weight-medium);
	color:var(--nc-material);
}

.nc-byline__text {
	min-width:0;
}

.nc-byline__name {
	margin:0;
	font-size:var(--nc-text-small);
	font-weight:var(--nc-weight-medium);
	color:var(--nc-ink);
	line-height:1.3;
}

.nc-byline__meta {
	display:flex;
	flex-wrap:wrap;
	align-items:baseline;
	gap:7px;
	margin:3px 0 0;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-caption);
	letter-spacing:var(--nc-mono-caption-tracking);
	color:var(--nc-si-band,var(--nc-si-open));
	line-height:1.4;
}

.nc-byline__sep {
	opacity:.55;
}

/* ENTRY
   A customer story or resource page: the way back, the title, the result
   readout, the picture, the body with its side rail and facts, the share link,
   the offsite button and the foot. */

.nc-entry__back {
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-entry__back a {
	border-bottom:1px solid currentColor;
	padding-bottom:2px;
}

.nc-entry__title {
	margin-top:clamp(18px,2vw,28px);
	max-width:20ch;
	font-weight:var(--nc-weight-thin);
	letter-spacing:var(--nc-title-hero-tracking);
}

.nc-entry__readout {
	display:grid;
	grid-template-columns:auto minmax(0,1fr);
	align-items:end;
	gap:clamp(18px,2.4vw,40px);
	margin-top:clamp(26px,3vw,44px);
	padding-bottom:clamp(22px,2.4vw,34px);
	border-bottom:1px solid var(--nc-rule);
}

.nc-entry__readout-figure {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-text-figure-xl);
	font-weight:var(--nc-weight-regular);
	line-height:.9;
	letter-spacing:-.035em;
	color:var(--nc-ink);
	font-variant-numeric:tabular-nums;
}

.nc-entry__readout-copy {
	display:flex;
	flex-direction:column;
	gap:8px;
	padding-bottom:6px;
}

.nc-entry__readout-eyebrow,
.nc-entry__facts dt {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-caption);
	letter-spacing:.14em;
	text-transform:uppercase;
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-entry__readout-caption {
	font-size:var(--nc-text-body);
	line-height:1.45;
	max-width:32ch;
	color:var(--nc-si-band,var(--nc-si-open));
	text-wrap:pretty;
}

.nc-entry__shot {
	margin-top:clamp(30px,3.4vw,50px);
}

.nc-entry__shot img {
	display:block;
	width:100%;
	height:auto;
	outline:1px solid var(--nc-outline-plate);
	outline-offset:-1px;
}

.nc-entry__grid {
	display:grid;
	grid-template-columns:13rem minmax(0,1fr);
	gap:clamp(28px,4vw,64px);
	margin-top:clamp(34px,3.8vw,56px);
	padding-top:clamp(26px,3vw,42px);
	border-top:1px solid var(--nc-rule);
}

.nc-entry__rail {
	position:sticky;
	top:calc(var(--nc-chrome-height, 96px) + 24px);
	align-self:start;
}

.nc-entry__facts {
	display:grid;
	gap:16px;
	margin:0;
}

.nc-entry__facts dd {
	margin:4px 0 0;
	color:var(--nc-ink);
	display:flex;
	flex-wrap:wrap;
	gap:4px 12px;
}

.nc-entry__facts dd a {
	border-bottom:1px solid var(--nc-rule);
	padding-bottom:1px;
}

.nc-entry__facts dd a:hover {
	border-bottom-color:var(--nc-ink);
}

.nc-entry__body {
	max-width:68ch;
}

.nc-entry__body img {
	height:auto;
}

.nc-entry__foot {
	margin-top:clamp(40px,4.4vw,68px);
	padding-top:22px;
	border-top:1px solid var(--nc-rule);
}

.nc-entry__foot a {
	border-bottom:1px solid var(--nc-ink);
	padding-bottom:2px;
}

@media (max-width:900px) {
	.nc-entry__readout {
		grid-template-columns:minmax(0,1fr);
		align-items:start;
		gap:12px;
	}

	.nc-entry__grid {
		grid-template-columns:minmax(0,1fr);
		gap:26px;
	}

	.nc-entry__rail {
		position:static;
	}

	.nc-entry__facts {
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

.nc-entry__share {
	margin-top:28px;
	padding-top:16px;
	border-top:1px solid var(--nc-rule);
}

.nc-entry__share-label {
	margin:0 0 8px;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-caption);
	letter-spacing:.14em;
	text-transform:uppercase;
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-entry__share-link {
	display:inline-flex;
	align-items:center;
	gap:7px;
	color:var(--nc-si-open);
	border-bottom:1px solid transparent;
	padding-bottom:1px;
	transition:color .18s linear,border-color .18s linear;
}

.nc-entry__share-link svg {
	flex:0 0 auto;
}

.nc-entry__share-link:hover,
.nc-entry__share-link:focus-visible {
	color:var(--nc-ink);
	border-bottom-color:var(--nc-ink);
}

@media (max-width:900px) {
	.nc-entry__share {
		margin-top:22px;
	}
}

.nc-entry__offsite {
	margin-top:clamp(16px,1.9vw,24px);
}

.nc-entry__offsite a {
	display:inline-flex;
	align-items:center;
	gap:10px;
	border:1px solid;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-button);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
	padding:13px 20px;
}

/* NEURAL CONCEPT CONNECT
   An event landing page in the site's own register: headline accents, mono
   readouts, hairline ledgers. Every grid steps 3 -> 2 -> 1. */

.nc-ncc__lede {
	margin-top:clamp(20px,2.4vw,32px);
	color:var(--nc-si-band,var(--nc-si-open));
	max-width:56ch;
}

.nc-ncc__facts {
	display:flex;
	flex-wrap:wrap;
	gap:clamp(20px,3vw,54px);
	margin:clamp(28px,3.4vw,46px) 0 0;
	padding-top:clamp(18px,2vw,26px);
	border-top:1px solid var(--nc-rule);
}

.nc-ncc__facts dt {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-caption);
	letter-spacing:.14em;
	text-transform:uppercase;
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-ncc__facts dd {
	margin:5px 0 0;
	font-size:var(--nc-text-small);
	color:var(--nc-ink);
}

.nc-ncc__actions {
	margin-top:clamp(28px,3.2vw,44px);
}

.nc-ncc__cta {
	position:relative;
	display:inline-flex;
	align-items:center;
	gap:12px;
	border:1px solid;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-button);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
	padding:14px 22px;
}

.nc-ncc__cta::after {
	content:'→';
}

.nc-format,
.nc-proof {
	list-style:none;
	margin:0;
	padding:0;
}

.nc-format {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	grid-template-rows:auto auto auto auto;
	gap:0 clamp(20px,2.6vw,40px);
	margin-top:clamp(32px,4vw,56px);
}

.nc-format__item {
	display:grid;
	grid-row:span 4;
	grid-template-rows:subgrid;
	align-content:start;
	padding-top:clamp(14px,1.6vw,20px);
	border-top:1px solid var(--nc-rule-plate);
}

.nc-format__shot {
	grid-row:1;
	margin:0 0 clamp(14px,1.7vw,22px);
	overflow:hidden;
	aspect-ratio:3/2;
	background-color:var(--nc-plate);
	background-image:var(--nc-plate-hatch);
	outline:1px solid var(--nc-outline-plate);
	outline-offset:-1px;
}

.nc-format__shot img {
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	transition:scale .5s cubic-bezier(.2,0,0,1);
}

.nc-format__item:hover .nc-format__shot img {
	scale:1.04;
}

.nc-format__index {
	grid-row:2;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-kicker);
	letter-spacing:var(--nc-mono-kicker-tracking);
	color:var(--nc-si-band,var(--nc-si-open));
	margin-bottom:clamp(12px,1.6vw,20px);
}

.nc-format__title {
	grid-row:3;
	max-width:none;
}

.nc-format__note {
	grid-row:4;
	margin-top:8px;
	font-size:var(--nc-text-small);
	line-height:1.5;
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-proof {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:clamp(20px,2.6vw,40px);
	margin-top:clamp(32px,4vw,56px);
}

.nc-proof__item {
	padding-top:clamp(14px,1.6vw,20px);
	border-top:1px solid var(--nc-rule-plate);
}

.nc-proof__figure {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-text-figure);
	line-height:.94;
	letter-spacing:-.035em;
	color:var(--nc-ink);
	font-variant-numeric:tabular-nums;
}

.nc-proof__caption {
	margin-top:12px;
	font-size:var(--nc-text-small);
	line-height:1.45;
	color:var(--nc-si-band,var(--nc-si-open));
	max-width:30ch;
}

.nc-faq {
	margin-top:clamp(28px,3.4vw,48px);
	border-bottom:1px solid var(--nc-rule);
}

.nc-faq__item {
	border-top:1px solid var(--nc-rule);
}

.nc-ncc .nc-faq {
	border-top:0;
	padding-block:0;
}

.nc-faq__q {
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	gap:1.5rem;
	padding:clamp(14px,1.7vw,20px) 0;
	cursor:pointer;
	list-style:none;
	color:var(--nc-ink);
}

.nc-faq .nc-faq__q {
	margin-left:0;
	padding-right:0;
}

.nc-faq__q::-webkit-details-marker {
	display:none;
}

.nc-faq__q::after {
	content:'+';
	font-family:var(--nc-font-mono);
	font-size:var(--nc-text-small);
	color:var(--nc-si-band,var(--nc-si-open));
	transition:transform .22s cubic-bezier(.2,.6,.2,1);
}

.nc-faq__item[open] .nc-faq__q::after {
	transform:rotate(45deg);
}

.nc-faq__a {
	padding:0 0 clamp(16px,2vw,24px);
	font-size:var(--nc-text-small);
	line-height:1.6;
	color:var(--nc-si-band,var(--nc-si-open));
	max-width:76ch;
}

@media (prefers-reduced-motion:reduce) {
	.nc-ncc__cta,
	.nc-faq__q::after {
		transition:none;
	}
}

@media (max-width:700px) {
	.nc-format,
	.nc-proof {
		grid-template-columns:minmax(0,1fr);
	}

	.nc-ncc__facts {
		gap:18px 28px;
	}

	.nc-ncc__cta {
		width:100%;
		justify-content:space-between;
	}
}

.nc-ncc .nc-rank {
	background:var(--nc-rule);
}

.nc-ncc__title {
	max-width:30ch;
}

/* CAREERS (page-careers.php)
   The opening on the office map, the film centred under it, the open
   positions as rows filtered by team and city, the offices map, and the
   hiring process as one numbered row. Ashby's embed stands on a plate of its
   own when its board cannot be read. Type comes from typography.css. */

.nc-careers__stage {
	isolation:isolate;
}

@media (max-width:760px) {
	.nc-careers__stage {
		min-height:620px;
	}

	.nc-careers-map {
		height:56%;
	}
}

.nc-careers__words {
	position:relative;
	z-index:1;
}

.nc-careers__film .nc-wrap>* {
	max-width:960px;
	margin-inline:auto;
}

.nc-careers-map {
	position:absolute;
	inset:0 0 auto;
	z-index:0;
	height:74%;
	overflow:hidden;
	pointer-events:none;
	-webkit-mask-image:linear-gradient(90deg,transparent 0,var(--nc-black) 6%,var(--nc-black) 94%,transparent 100%),linear-gradient(180deg,transparent 0,var(--nc-black) 12%,var(--nc-black) 74%,transparent 100%);
	mask-image:linear-gradient(90deg,transparent 0,var(--nc-black) 6%,var(--nc-black) 94%,transparent 100%),linear-gradient(180deg,transparent 0,var(--nc-black) 12%,var(--nc-black) 74%,transparent 100%);
	-webkit-mask-composite:source-in;
	mask-composite:intersect;
}

.nc-careers-map .ncm-canvas {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	opacity:0;
	transition:opacity 1.2s ease;
}

.nc-careers-map.is-ready .ncm-canvas {
	opacity:1;
}

.nc-careers-map::after {
	content:'';
	position:absolute;
	inset:auto 0 0;
	height:55%;
	pointer-events:none;
	background:var(--nc-haze-map);
	-webkit-backdrop-filter:blur(6px);
	backdrop-filter:blur(6px);
	-webkit-mask-image:linear-gradient(180deg,transparent 0%,var(--nc-black) 60%);
	mask-image:linear-gradient(180deg,transparent 0%,var(--nc-black) 60%);
}

.nc-careers__board {
	margin-top:clamp(28px,3.4vw,48px);
	padding:clamp(12px,2vw,28px);
	background:var(--nc-white);
	outline:1px solid var(--nc-rule);
	min-height:420px;
}

.nc-careers__board .nc-embed {
	margin:0;
	padding:0;
	border:0;
}

.nc-video {
	margin:0;
}

.nc-careers .nc-office-map {
	margin-top:clamp(28px,3.4vw,48px);
}

.nc-video__poster,
.nc-video iframe {
	position:relative;
	display:block;
	width:100%;
	aspect-ratio:16 / 9;
	border:0;
	background:var(--nc-plate);
	overflow:hidden;
}

.nc-video__poster img {
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
	transition:scale .5s cubic-bezier(.2,0,0,1);
}

.nc-video__poster:hover img,
.nc-video__poster:focus-visible img {
	scale:1.02;
}

.nc-video__play {
	position:absolute;
	left:50%;
	top:50%;
	width:clamp(64px,7vw,88px);
	aspect-ratio:1;
	transform:translate(-50%,-50%);
	background:var(--nc-tile);
	transition:background-color .2s linear;
}

.nc-video__play::after {
	content:'';
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-35%,-50%);
	border-style:solid;
	border-width:12px 0 12px 19px;
	border-color:transparent transparent transparent var(--nc-white);
}

.nc-video__poster:hover .nc-video__play,
.nc-video__poster:focus-visible .nc-video__play {
	background:var(--nc-ink);
}

.nc-jobs__filters {
	display:flex;
	flex-direction:column;
	gap:16px;
	margin-top:clamp(28px,3.4vw,44px);
}

.nc-jobs__bar {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:12px 24px;
}

.nc-jobs__filters[hidden] {
	display:none;
}

.nc-jobs__teams {
	display:flex;
	flex-wrap:wrap;
	gap:8px;
}

.nc-jobs__team,
.nc-jobs__place select {
	min-height:var(--nc-btn-height-compact);
	padding:0 14px;
	border:1px solid var(--nc-rule);
	border-radius:var(--nc-btn-radius);
	background:var(--nc-white);
	color:var(--nc-ink);
	cursor:pointer;
}

.nc-jobs__team span {
	margin-left:4px;
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-jobs__team:hover {
	border-color:var(--nc-ink);
}

.nc-jobs__team[aria-pressed=true] {
	border-color:var(--nc-ink);
	background:var(--nc-ink);
	color:var(--nc-white);
}

.nc-jobs__team[aria-pressed=true] span {
	color:var(--nc-on-ink-dim);
}

.nc-jobs__place {
	position:relative;
	display:inline-flex;
}

.nc-jobs__place::after {
	content:'';
	position:absolute;
	top:50%;
	right:16px;
	width:7px;
	height:7px;
	border-right:1px solid currentColor;
	border-bottom:1px solid currentColor;
	pointer-events:none;
	translate:0 -70%;
	rotate:45deg;
}

.nc-jobs__place select {
	min-width:220px;
	padding-right:44px;
	appearance:none;
}

.nc-jobs__place select:hover {
	border-color:var(--nc-ink);
}

.nc-jobs__count {
	margin:0;
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-jobs__count:empty {
	display:none;
}

.nc-jobs__group {
	margin-top:clamp(36px,4vw,56px);
}

.nc-jobs__group[hidden] {
	display:none;
}

.nc-jobs__heading {
	display:flex;
	align-items:center;
	gap:10px;
	font-weight:var(--nc-weight-regular);
	color:var(--nc-ink);
}

.nc-jobs__heading::before {
	content:'';
	width:6px;
	height:6px;
	background:var(--nc-tile);
}

.nc-jobs__list {
	margin:14px 0 0;
	padding:0;
	list-style:none;
	border-bottom:1px solid var(--nc-rule);
}

.nc-job {
	border-top:1px solid var(--nc-rule);
}

.nc-job[hidden] {
	display:none;
}

.nc-job__link {
	display:grid;
	grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 88px 24px;
	gap:24px;
	align-items:baseline;
	padding:clamp(16px,1.8vw,22px) 0;
	color:var(--nc-ink);
	text-decoration:none;
	transition:padding .25s cubic-bezier(.2,0,0,1),background-color .2s linear;
}

.nc-job__link::after {
	content:'→';
	justify-self:end;
	transition:translate .25s cubic-bezier(.2,0,0,1);
}

.nc-job__link:hover,
.nc-job__link:focus-visible {
	padding-inline:16px;
	background:var(--nc-white);
}

.nc-job__link:hover::after,
.nc-job__link:focus-visible::after {
	color:var(--nc-tile);
	translate:4px 0;
}

.nc-job__title {
	font-size:var(--nc-text-lede);
	line-height:1.3;
	text-wrap:pretty;
}

.nc-job__places,
.nc-job__mode {
	font-size:var(--nc-text-small);
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-careers__intro {
	max-width:34ch;
}

.nc-steps {
	display:grid;
	grid-template-columns:repeat(var(--n,5),minmax(0,1fr));
	gap:clamp(24px,2.6vw,40px);
	margin:clamp(40px,5vw,72px) 0 0;
	padding:0;
	list-style:none;
}

.nc-step {
	display:flex;
	flex-direction:column;
	padding-top:clamp(16px,1.8vw,22px);
	border-top:1px solid var(--nc-rule);
}

.nc-step__index {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-kicker);
	letter-spacing:var(--nc-mono-kicker-tracking);
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-step__icon {
	margin-top:clamp(20px,2.4vw,32px);
	color:var(--nc-ink);
}

.nc-step__mark {
	display:block;
	width:44px;
	height:auto;
	max-height:44px;
}

.nc-step__title {
	margin-top:clamp(18px,2vw,26px);
}

.nc-step__note {
	margin-top:10px;
	font-size:var(--nc-text-small);
	line-height:1.55;
	color:var(--nc-si-band,var(--nc-si-open));
	text-wrap:pretty;
}

@media (max-width:1120px) {
	.nc-steps {
		grid-template-columns:repeat(3,minmax(0,1fr));
		row-gap:clamp(36px,5vw,56px);
	}
}

@media (max-width:900px) {

	.nc-job__link {
		display:flex;
		flex-wrap:wrap;
		align-items:baseline;
		gap:6px 8px;
	}

	.nc-job__title {
		flex:1 1 calc(100% - 32px);
	}

	.nc-job__link::after {
		flex:none;
		width:24px;
		text-align:end;
	}

	.nc-job__places {
		order:1;
		min-width:0;
	}

	.nc-job__mode {
		order:2;
		flex:none;
	}

	.nc-job__mode::before {
		content:'· ';
	}
}

@media (max-width:700px) {
	.nc-steps {
		grid-template-columns:minmax(0,1fr);
	}

	.nc-step {
		display:grid;
		grid-template-columns:44px minmax(0,1fr);
		column-gap:18px;
	}

	.nc-step__index {
		grid-column:1/-1;
	}

	.nc-step__icon {
		grid-row:2/4;
		margin-top:16px;
	}

	.nc-step__title,
	.nc-step__note {
		grid-column:2;
	}

	.nc-step__title {
		margin-top:14px;
	}

	.nc-jobs__teams {
		flex-wrap:nowrap;
		width:100%;
		overflow-x:auto;
		scrollbar-width:none;
	}

	.nc-jobs__team {
		flex:none;
	}

	.nc-jobs__bar {
		flex-wrap:nowrap;
	}

	.nc-jobs__place {
		flex:1 1 auto;
		min-width:0;
	}

	.nc-jobs__place select {
		width:100%;
		min-width:0;
	}

	.nc-jobs__count {
		flex:none;
	}
}

@media (prefers-reduced-motion:reduce) {
	.nc-job__link,
	.nc-job__link::after,
	.nc-video__poster img {
		transition:none;
	}
}

/* CLOSING
   The closing room at the foot of the home and Platform pages. */

.nc-closing .wp-block-button:not(.is-style-outline)>.wp-block-button__link:hover,
.nc-closing .wp-block-button:not(.is-style-outline)>.wp-block-button__link:focus-visible {
	background:transparent;
	border-color:var(--nc-ink);
	color:var(--nc-ink);
	box-shadow:var(--nc-relief-hover);
}

.nc-closing .nc-closing__room {
	display:block;
	text-align:center;
}

.nc-closing .nc-closing__room p {
	margin-top:28px;
	font-size:var(--nc-text-lede);
	line-height:1.58;
	max-width:64ch;
	margin-left:auto;
	margin-right:auto;
}

.nc-closing .nc-closing__room h2 {
	margin-left:auto;
	margin-right:auto;
}

.nc-closing .nc-closing__room .nc-actions {
	justify-content:center;
}

.nc-closing .nc-actions {
	max-width:none;
}

.nc-closing .nc-runs {
	position:absolute;
	inset:0;
	overflow:hidden;
	pointer-events:none;
	z-index:0;
}

.nc-closing .nc-runs i {
	position:absolute;
	left:calc(-1*var(--nc-run-width));
	width:var(--nc-run-width);
	height:1px;
	background:var(--nc-rule-plate);
	display:block;
	--nc-run-width:25%;
}

.nc-closing>.nc-wrap {
	position:relative;
	z-index:1;
}

.nc-closing:has(.wp-block-button:not(.is-style-outline)>.wp-block-button__link:hover) .nc-runs i,
.nc-closing:has(.wp-block-button:not(.is-style-outline)>.wp-block-button__link:focus-visible) .nc-runs i {
	animation:var(--nc-run-animation) linear infinite;
	animation-delay:var(--nc-run-delay);
}

@media (prefers-reduced-motion:reduce) {
	.nc-closing:has(.wp-block-button:not(.is-style-outline)>.wp-block-button__link:hover) .nc-runs i,
	.nc-closing:has(.wp-block-button:not(.is-style-outline)>.wp-block-button__link:focus-visible) .nc-runs i {
		animation:none;
	}
}

.nc-closing {
	position:relative;
	background:transparent;
	color:var(--nc-ink);
	padding:var(--nc-section-pad-edge) 0;
	--nc-si-band:var(--nc-si-open);
}

.nc-closing h2 {
	color:var(--nc-ink);
	max-width:34ch;
}

/* FOOTER
   Brand, newsletter, link columns and the legal line, on ink and on the
   navigation's edges, so the header and the footer frame the page alike. */

.nc-footer {
	background:var(--nc-ink);
	border-top:1px solid var(--nc-on-ink-rule);
	color:var(--nc-on-paper-soft);
	padding:0 0 46px;
}

.nc-footer__inner {
	padding:52px var(--nc-edge) 0;
	display:grid;
	grid-template-columns:auto minmax(200px,1fr) repeat(5,auto);
	gap:40px clamp(24px,2.6vw,40px);
	align-items:start;
}

@media (max-width:1360px) and (min-width:961px) {
	.nc-footer__inner {
		grid-template-columns:repeat(5,auto);
		justify-content:space-between;
	}

	.nc-footer .nc-footer__brand {
		grid-column:span 2;
	}

	.nc-footer .nc-footer__news {
		grid-column:span 3;
	}
}

.nc-footer .nc-footer__brand,
.nc-footer .nc-footer__news {
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:14px;
}

.nc-footer .nc-footer__news .nc-newsletter {
	width:100%;
	max-width:320px;
}

.nc-footer .nc-footer__col b a.nc-footer__head {
	color:inherit;
	border-bottom:0;
	background:none;
	padding:0;
}

.nc-footer .nc-footer__brand img {
	height:34px;
	width:auto;
	display:block;
}

.nc-footer .nc-footer__news b {
	margin:0;
}

@media (max-width:960px) {
	.nc-footer__inner {
		grid-template-columns:1fr 1fr;
	}
}

@media (max-width:560px) {
	.nc-footer__inner {
		grid-template-columns:1fr;
	}
}

.nc-footer .nc-footer__col ul {
	margin:0;
	padding:0;
	list-style:none;
}

.nc-footer .nc-footer__col a {
	display:inline;
	white-space:nowrap;
}

.nc-footer .nc-footer__col {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-kicker);
	letter-spacing:.14em;
	text-transform:uppercase;
	line-height:2.3;
}

.nc-footer .nc-footer__col b {
	display:block;
	color:var(--nc-paper);
	font-weight:var(--nc-weight-medium);
	margin-bottom:6px;
}

.nc-footer a {
	color:var(--nc-on-paper-soft);
	border-bottom:1px solid var(--nc-on-paper-line);
	padding-bottom:1px;
	background-image:linear-gradient(var(--nc-material),var(--nc-material));
	background-repeat:no-repeat;
	background-origin:border-box;
	background-position:0 100%;
	background-size:0 1px;
	transition:background-size .42s linear;
}

.nc-footer a:hover,
.nc-footer a:focus-visible {
	background-size:100% 1px;
	color:var(--nc-paper);
}

.nc-footer .nc-footer__legal {
	display:flex;
	gap:22px;
	margin:0;
	padding:0;
	list-style:none;
}

.nc-footer .nc-footer__note {
	max-width:34ch;
	text-transform:none;
	letter-spacing:.02em;
	font-size:var(--nc-mono-label);
	line-height:1.7;
}

.nc-footer .nc-footer__stamp {
	margin-top:34px;
	padding:0 var(--nc-edge);
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-kicker);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
	color:var(--nc-si-deep);
	display:flex;
	justify-content:space-between;
	gap:24px;
	flex-wrap:wrap;
}

.nc-newsletter {
	display:flex;
	gap:0;
	margin-top:12px;
	max-width:300px;
}

.nc-newsletter input {
	flex:1;
	min-width:0;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-row);
	padding:10px 12px;
	border:1px solid var(--nc-on-paper-line);
	background:transparent;
	color:var(--nc-paper);
	border-radius:var(--nc-btn-radius) 0 0 var(--nc-btn-radius);
}

.nc-newsletter input::placeholder {
	color:var(--nc-on-paper-faint);
}

.nc-newsletter input:focus {
	outline:1px solid var(--nc-material);
	outline-offset:0;
	border-color:var(--nc-material);
	color:var(--nc-material);
}

.nc-newsletter input:-webkit-autofill,
.nc-newsletter input:-webkit-autofill:focus {
	-webkit-text-fill-color:var(--nc-material);
	box-shadow:0 0 0 40px var(--nc-ink) inset;
	caret-color:var(--nc-material);
}

.nc-newsletter button {
	width:45px;
	flex:none;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-row);
	padding:10px 0;
	border:1px solid var(--nc-on-paper-line);
	border-left:0;
	background:var(--nc-ink);
	color:var(--nc-material);
	cursor:pointer;
	border-radius:0 var(--nc-btn-radius) var(--nc-btn-radius) 0;
	display:inline-flex;
	align-items:flex-end;
	justify-content:center;
	position:relative;
	overflow:hidden;
	transition:border-color .12s linear;
}

.nc-newsletter button:hover,
.nc-newsletter button:focus-visible {
	background:var(--nc-ink);
	border-color:var(--nc-material);
	transition-delay:.24s;
}

.nc-newsletter button::before {
	content:'';
	position:absolute;
	left:50%;
	top:50%;
	translate:-50% -50%;
	width:14px;
	height:1px;
	background:var(--nc-material);
	transition:width .12s linear,height .12s linear;
}

.nc-newsletter button:hover::before,
.nc-newsletter button:focus-visible::before {
	width:100%;
	height:100%;
	transition-delay:0s,.12s;
}

@media (pointer:coarse) {
	.nc-footer .nc-footer__legal a {
		position:relative;
	}

	.nc-footer .nc-footer__legal a::before {
		content:'';
		position:absolute;
		inset:-15px -8px;
	}
}

/* PRESS
   The newsroom rows on the home page. */

.nc-press {
	margin-top:36px;
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	grid-template-rows:auto 1fr auto;
	gap:0;
	border-top:1px solid var(--nc-rule);
	border-bottom:1px solid var(--nc-rule);
}

.nc-section--company .nc-lede+.nc-press {
	margin-top:28px;
}

.nc-section--company .nc-press+.nc-actions {
	margin-top:32px;
}

.nc-press .nc-press__row {
	display:grid;
	grid-row:span 3;
	grid-template-rows:subgrid;
}

.nc-press .nc-press__row>* {
	margin:0;
	overflow:hidden;
}

.nc-press .nc-press__row>.nc-source {
	padding:22px 22px 0;
}

.nc-press .nc-press__row>h3 {
	padding:10px 22px 0;
}

.nc-press .nc-press__row>.nc-press__where {
	padding:10px 22px 24px;
	align-self:end;
}

.nc-press .nc-source {
	color:var(--nc-si-band,var(--nc-si));
}

.nc-press h3 {
	margin:0 0 6px;
}

.nc-press .nc-press__where {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-row);
	letter-spacing:var(--nc-mono-row-tracking);
	white-space:nowrap;
}

.nc-press .nc-press__where a {
	position:relative;
	color:inherit;
	text-decoration:none;
	border-bottom:1px solid var(--nc-ink);
	padding-bottom:1px;
}

@media (max-width:900px) and (min-width:641px) {
	.nc-press {
		grid-template-columns:1fr;
	}

	.nc-press .nc-press__row {
		border-bottom:1px solid var(--nc-rule);
	}

	.nc-press .nc-press__row:is(:last-child,:nth-child(4)) {
		border-bottom:0;
	}
}

.nc-press>.nc-press__row:nth-child(n+5) {
	display:none;
}

.nc-press .nc-press__row>* {
	transition:translate .18s linear,opacity .18s linear;
}

.nc-press .nc-press__row[data-nc-turning="out"]>* {
	translate:0 -10px;
	opacity:0;
}

.nc-press .nc-press__row[data-nc-turning="in"]>* {
	translate:0 10px;
	opacity:0;
	transition:none;
}

@media (prefers-reduced-motion:reduce) {
	.nc-press .nc-press__row>* {
		transition:none;
	}

	.nc-press .nc-press__row[data-nc-turning]>* {
		translate:none;
		opacity:1;
	}
}

/* The home page's sections, in the order the reader meets them. The opening
   is in hero.css, the stories in stories.css, the newsroom in press.css and
   the closing room in closing.css. */

.nc-section--reality,
.nc-section--stories,
.nc-section--perspectives,
.nc-section--platform,
.nc-section--scales,
.nc-section--company {
	background:transparent;
}

:where(.nc-band--open) h2.nc-storyhead,
.nc-section--reality h2,
.nc-section--perspectives h2,
.nc-section--company h2 {
	max-width:none;
}

h2.nc-storyhead {
	margin-bottom:48px;
}

h2.nc-storyhead:has(+.nc-stories__lede) {
	margin-bottom:var(--nc-space-lede);
}

.nc-stories__lede {
	margin:0 0 48px;
	text-wrap:pretty;
}

.nc-triad {
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
	gap:32px;
	margin-top:48px;
}

.nc-triad__item {
	display:flex;
	flex-direction:column;
	gap:14px;
	padding-top:18px;
	border-top:1px solid var(--nc-rule);
}

.nc-triad__item>* {
	margin:0;
}

.nc-triad__n {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-label);
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-triad__claim {
	text-wrap:balance;
}

.nc-section--perspectives .nc-lede {
	max-width:none;
}

.nc-res {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	grid-template-rows:auto auto auto;
	gap:0;
	margin-top:36px;
}

.nc-res:has(>.nc-res__item:only-child) {
	grid-template-columns:minmax(0,1fr);
}

.nc-res>.nc-res__item:only-child>a {
	border:1px solid var(--nc-rule);
}

.nc-res>.nc-res__item {
	display:grid;
	grid-row:span 3;
	grid-template-rows:subgrid;
	margin:0;
}

.nc-res__item>a {
	position:relative;
	display:grid;
	grid-row:span 3;
	grid-template-rows:subgrid;
	align-content:start;
	color:inherit;
	text-decoration:none;
	border-top:1px solid var(--nc-rule);
	border-bottom:1px solid var(--nc-rule);
}

.nc-res__item>a::before,
.nc-res__item>a::after {
	content:'';
	position:absolute;
	left:0;
	z-index:1;
	width:0;
	height:1px;
	background:var(--nc-material);
	transition:width .42s linear;
	pointer-events:none;
}

.nc-res__item>a::before {
	top:-1px;
}

.nc-res__item>a::after {
	bottom:-1px;
}

.nc-res__item>a:hover::before,
.nc-res__item>a:hover::after,
.nc-res__item>a:focus-visible::before,
.nc-res__item>a:focus-visible::after {
	width:100%;
}

.nc-res__source,
.nc-res__title,
.nc-res__more {
	display:block;
	transition:transform .12s linear;
}

.nc-res__item>a:hover>span,
.nc-res__item>a:focus-visible>span {
	transform:translateY(-4px);
}

.nc-res__source {
	padding:var(--nc-card-inset) var(--nc-card-inset) 0;
	color:var(--nc-si-band,var(--nc-si));
}

.nc-res__title {
	padding:10px var(--nc-card-inset) 30px;
	max-width:26ch;
	text-wrap:pretty;
}

.nc-res__item:only-child .nc-res__title {
	max-width:none;
}

.nc-res__title:has(+.nc-res__more) {
	padding-bottom:14px;
}

.nc-res__more {
	position:relative;
	justify-self:start;
	align-self:start;
	margin:0 var(--nc-card-inset) 30px;
	padding-bottom:2px;
	border-bottom:1px solid var(--nc-rule-strong);
}

.nc-plain--ink .nc-res__more {
	border-bottom-color:var(--nc-on-ink-soft);
}

.nc-res__more::after {
	content:'';
	position:absolute;
	left:0;
	bottom:-1px;
	width:0;
	height:1px;
	background:currentColor;
	transition:width .42s linear;
}

.nc-res__item>a:hover .nc-res__more::after,
.nc-res__item>a:focus-visible .nc-res__more::after {
	width:100%;
}

@media (max-width:900px) {
	.nc-res {
		grid-template-columns:1fr;
	}
}

@media (prefers-reduced-motion:reduce) {
	.nc-res__source,
	.nc-res__title,
	.nc-res__more,
	.nc-res__more::after {
		transition:none;
	}
}

.nc-section--platform h2 {
	max-width:24ch;
	text-wrap:pretty;
}

.nc-section--platform .nc-kicker {
	color:var(--nc-ink);
}

.nc-section--platform .nc-lede {
	color:var(--nc-si-band,var(--nc-si));
}

.nc-section--platform .nc-actions {
	margin-top:28px;
}

.nc-section--platform>.nc-platform__film {
	margin:0;
}

.nc-section--platform>.nc-platform__film video {
	display:block;
	width:100%;
	aspect-ratio:2560/720;
	object-fit:cover;
	object-position:right center;
}

@media (min-width:901px) {
	.nc-section--platform.nc-section--on-film {
		display:grid;
		padding-top:0;
	}

	.nc-section--on-film>.nc-platform__film,
	.nc-section--on-film>.nc-wrap {
		grid-area:1/1;
	}

	.nc-section--on-film>.nc-wrap {
		position:relative;
		z-index:1;
		width:100%;
		align-self:center;
	}

	.nc-section--on-film>.nc-wrap>* {
		max-width:min(48%,560px);
	}
}

@media (max-width:640px) {
	.nc-section--platform>.nc-platform__film video {
		aspect-ratio:4/3;
		object-position:88% center;
	}
}

@media (max-width:900px) {
	.nc-section--platform.nc-section--on-film {
		padding-top:0;
	}

	.nc-section--on-film>.nc-platform__film {
		margin-bottom:clamp(34px,6vw,56px);
	}
}

.nc-scales {
	position:relative;
	margin:0;
}

.nc-scales__frame {
	display:block;
	width:100%;
	height:var(--nc-scales-height,auto);
	min-height:520px;
	aspect-ratio:16/10;
	border:0;
	background:transparent;
}

.nc-scales[data-nc-sized] .nc-scales__frame {
	min-height:0;
	aspect-ratio:auto;
}

.nc-section--company .nc-lede {
	max-width:72ch;
}

.nc-figs {
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:0 30px;
	max-width:var(--nc-measure);
	margin-top:44px;
	padding-top:26px;
	border-top:1px solid var(--nc-rule);
}

.nc-figs>.nc-fig {
	display:flex;
	flex-direction:column;
	gap:10px;
	margin:0;
}

.nc-fig__n {
	display:flex;
	align-items:baseline;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-text-figure);
	font-weight:var(--nc-weight-regular);
	line-height:1;
	letter-spacing:-.02em;
	font-variant-numeric:tabular-nums;
}

.nc-fig__n b {
	font-weight:inherit;
}

.nc-fig__pre {
	margin-right:.06em;
	font-size:.52em;
	color:var(--nc-si-band,var(--nc-si));
}

.nc-fig__label {
	max-width:30ch;
	font-size:var(--nc-text-small);
	line-height:1.5;
	color:var(--nc-si-band,var(--nc-si-open));
	text-wrap:pretty;
}

@media (max-width:1000px) {
	.nc-figs {
		grid-template-columns:1fr;
		gap:26px;
	}
}

.nc-rail-nav {
	display:flex;
	justify-content:center;
	gap:8px;
	margin-top:20px;
}

.nc-rail-nav.is-idle {
	display:none;
}

.nc-rail-nav__btn {
	display:grid;
	place-items:center;
	width:44px;
	height:44px;
	padding:0;
	border:0;
	background:transparent;
	color:var(--nc-si-band,var(--nc-si));
	cursor:pointer;
}

.nc-rail-nav__btn i {
	display:block;
	width:22px;
	height:1px;
	background:currentColor;
	transition:width .12s linear;
}

.nc-rail-nav__btn:hover:not([disabled]) {
	color:var(--nc-ink);
}

.nc-rail-nav__btn:hover:not([disabled]) i {
	width:30px;
}

.nc-rail-nav__btn[disabled] {
	opacity:.34;
	cursor:default;
}

.nc-rail-nav--phone {
	display:none;
}

@media (max-width:640px) {
	.nc-section .nc-rail {
		display:grid;
		grid-auto-flow:column;
		grid-auto-columns:82%;
		grid-template-columns:none;
		overflow-x:auto;
		overscroll-behavior-x:contain;
		scroll-snap-type:x mandatory;
		scrollbar-width:none;
		margin-right:calc(-1 * var(--nc-gutter));
		padding-right:var(--nc-gutter);
	}

	.nc-section .nc-rail::-webkit-scrollbar {
		display:none;
	}

	.nc-section .nc-rail>* {
		scroll-snap-align:start;
	}

	.nc-section .nc-rail:has(>:only-child) {
		grid-auto-columns:100%;
		margin-right:0;
		padding-right:0;
	}

	.nc-section .wp-block-columns.nc-stories.nc-rail>.nc-story {
		border-top:0;
		border-left:1px solid var(--nc-rule);
	}

	.nc-section .wp-block-columns.nc-stories.nc-rail>.nc-story:first-child {
		border-left:0;
	}

	.nc-rail-nav--phone {
		display:flex;
		margin-top:14px;
	}

	.nc-rail-nav--phone.is-idle {
		display:none;
	}
}

.nc-section--company h2 br {
	display:inline;
}

/* EVIDENCE
   The line down the page, its contact marks and the reveal of sections. */

#nc-thread {
	position:absolute;
	left:var(--nc-thread-x,15px);
	top:var(--nc-thread-y,0px);
	width:1px;
	background:var(--nc-material);
	z-index:38;
	pointer-events:none;
	box-shadow:var(--nc-relief-side);
}

[data-nc-thread] {
	transition:border-top-color .18s linear;
}

[data-nc-thread].is-lit {
	border-top-color:var(--nc-material);
}

.nc-thread-mark {
	position:absolute;
	left:var(--nc-thread-x,15px);
	width:7px;
	height:7px;
	background:var(--nc-tile);
	margin-left:-3px;
	box-shadow:var(--nc-relief-soft);
	z-index:39;
	pointer-events:none;
	opacity:0;
	transition:opacity .12s linear;
}

.nc-thread-mark.is-on {
	opacity:1;
}

.nc-thread-lead {
	position:absolute;
	height:1px;
	background:var(--nc-material);
	z-index:38;
	pointer-events:none;
	box-shadow:var(--nc-relief-drop);
	width:0;
	transition:width .3s linear;
}

.nc-thread-lead.is-on {
	width:var(--nc-thread-width,0px);
}

@media (prefers-reduced-motion:reduce) {
	.nc-thread-lead {
		display:none;
	}
}

@media (max-width:900px) {
	#nc-thread,
	.nc-thread-mark,
	.nc-thread-lead {
		display:none;
	}
}

.nc-reveal {
	opacity:0;
	translate:0 14px;
	transition:opacity .55s cubic-bezier(.2,.6,.2,1) var(--nc-reveal-delay,0s),translate .55s cubic-bezier(.2,.6,.2,1) var(--nc-reveal-delay,0s);
}

.nc-reveal.is-on {
	opacity:1;
	translate:none;
}

@media (prefers-reduced-motion:reduce) {
	.nc-reveal {
		opacity:1;
		translate:none;
	}

	#nc-thread,
	.nc-thread-mark {
		display:none;
	}
}

html[data-nc-evidence="none"] #nc-thread,
html[data-nc-evidence="none"] .nc-thread-mark,
html[data-nc-evidence="none"] .nc-thread-lead {
	display:none;
}

html[data-nc-evidence="marks"] .nc-thread-lead {
	display:none;
}

html[data-nc-evidence="line"] .nc-thread-mark,
html[data-nc-evidence="line"] .nc-thread-lead {
	display:none;
}

/* EDITORIAL
   Plain pages: header, prose, cards, process steps, embeds and the 404. */

/* The page ends on its section's padding, as every other page does. */
.nc-page__section:last-child {
	padding-bottom:0;
}

.nc-page__header {
	margin-bottom:clamp(26px,2.8vw,40px);
	padding-bottom:clamp(20px,2.2vw,30px);
	border-bottom:1px solid var(--nc-ink);
}

.nc-page__header h1 {
	margin-top:0;
	max-width:20ch;
	font-size:var(--nc-title-hero-size);
	font-weight:var(--nc-title-hero-weight);
	line-height:var(--nc-title-hero-leading);
	letter-spacing:var(--nc-title-hero-tracking);
}

.nc-page .nc-page__statement {
	max-width:26ch;
	margin-bottom:clamp(24px,2.8vw,40px);
	font-size:var(--nc-title-subsection-size);
	line-height:1.14;
	font-weight:var(--nc-weight-light);
	letter-spacing:var(--nc-tracking-heading);
	text-wrap:balance;
	color:var(--nc-ink);
}

.nc-page__intro {
	max-width:52ch;
	margin-bottom:clamp(26px,3vw,44px);
	font-size:var(--nc-text-lede);
	line-height:1.55;
	color:var(--nc-si-band,var(--nc-si-open));
	text-wrap:pretty;
}

.nc-page__intro>*+* {
	margin-top:var(--nc-sp-4);
}

.nc-page .nc-entry-content {
	max-width:none;
}

.nc-page__section {
	display:grid;
	grid-template-columns:minmax(0,13rem) minmax(0,1fr);
	align-items:start;
	gap:clamp(20px,3vw,52px);
	padding:clamp(22px,2.4vw,34px) 0;
	border-top:1px solid var(--nc-rule);
}

.nc-page__section:first-child {
	border-top:0;
	padding-top:0;
}

.nc-page .nc-page__section>h2 {
	margin:0;
	max-width:none;
	font-size:var(--nc-title-subsection-size);
	line-height:var(--nc-title-subsection-leading);
	font-weight:var(--nc-title-subsection-weight);
	letter-spacing:var(--nc-title-subsection-tracking);
	text-wrap:balance;
	scroll-margin-top:calc(var(--nc-chrome-height, 96px) + 24px);
}

.nc-page__prose {
	max-width:68ch;
}

.nc-page__prose>*+* {
	margin-top:var(--nc-sp-4);
}

.nc-page__prose h3 {
	margin-top:var(--nc-sp-6);
	font-size:var(--nc-title-card-size);
	font-weight:var(--nc-title-card-weight);
	line-height:var(--nc-title-card-leading);
	letter-spacing:var(--nc-title-card-tracking);
}

.nc-page__prose>h3:first-child {
	margin-top:0;
}

.nc-page__prose ul,
.nc-page__prose ol {
	padding-left:var(--nc-sp-5);
}

.nc-page__prose li+li {
	margin-top:var(--nc-sp-2);
}

.nc-page--wide .nc-page__prose,
.nc-page--wide .nc-page__intro {
	max-width:68ch;
}

@media (max-width:900px) {
	.nc-page__section {
		grid-template-columns:minmax(0,1fr);
		gap:12px;
	}
}

.nc-entry-content {
	max-width:68ch;
	overflow-wrap:break-word;
}

.nc-entry-content>*+* {
	margin-top:var(--nc-sp-5);
}

.nc-entry-content h2,
.nc-entry-content h3 {
	margin-top:var(--nc-sp-9);
}

.nc-entry-content ul,
.nc-entry-content ol {
	padding-left:var(--nc-sp-5);
}

.nc-entry-content blockquote {
	padding-left:var(--nc-sp-5);
	border-left:1px solid var(--nc-ink);
	font-size:var(--nc-text-lede);
	font-style:italic;
	font-weight:var(--nc-weight-light);
}

.nc-entry-content figure img {
	width:100%;
	height:auto;
}

.nc-entry__meta {
	margin-bottom:var(--nc-sp-3);
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-cards {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:0;
	border-top:1px solid var(--nc-rule);
	border-bottom:1px solid var(--nc-rule);
}

.nc-card {
	display:flex;
	flex-direction:column;
	gap:var(--nc-sp-3);
	padding:var(--nc-sp-5);
	border-left:1px solid var(--nc-rule);
}

.nc-card:first-child {
	border-left:0;
}

.nc-card img {
	width:100%;
	aspect-ratio:3/2;
	height:auto;
	object-fit:cover;
	background-color:var(--nc-plate);
	background-image:var(--nc-plate-hatch);
}

.nc-card__title {
	font-size:var(--nc-text-subheading);
	font-weight:var(--nc-weight-regular);
	letter-spacing:var(--nc-tracking-heading);
	line-height:1.16;
}

.nc-card__summary {
	color:var(--nc-si-band,var(--nc-si-open));
	font-size:var(--nc-text-small);
}

.nc-entry__pages {
	margin-top:var(--nc-sp-8);
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-row);
	letter-spacing:var(--nc-mono-row-tracking);
}

.nc-pagination {
	margin-top:var(--nc-sp-9);
}

.nc-pagination .nav-links {
	display:flex;
	flex-wrap:wrap;
	gap:var(--nc-sp-2);
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-row);
	letter-spacing:var(--nc-mono-row-tracking);
	text-transform:uppercase;
}

.nc-pagination .page-numbers {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:38px;
	height:38px;
	padding-inline:var(--nc-sp-2);
	border:1px solid var(--nc-rule);
}

.nc-pagination .page-numbers.current {
	border-color:var(--nc-ink);
	background:var(--nc-ink);
	color:var(--nc-material);
}

.nc-search {
	display:flex;
	max-width:32rem;
}

.nc-search__field {
	flex:1 1 auto;
	min-width:0;
	padding:12px 14px;
	border:1px solid var(--nc-rule);
	background:transparent;
	color:inherit;
	font-size:var(--nc-text-small);
}

.nc-search__field:focus-visible {
	outline:none;
	border-color:var(--nc-ink);
}

.nc-search button {
	flex:none;
	padding:12px 18px;
	border:1px solid var(--nc-ink);
	border-left:0;
	background:var(--nc-ink);
	color:var(--nc-material);
	cursor:pointer;
}

@media (max-width:900px) {
	.nc-cards {
		grid-template-columns:minmax(0,1fr);
	}

	.nc-card {
		border-left:0;
		border-top:1px solid var(--nc-rule);
	}

	.nc-card:first-child {
		border-top:0;
	}
}

.nc-embed {
	margin-top:clamp(26px,2.8vw,40px);
	padding-top:clamp(22px,2.4vw,32px);
	border-top:1px solid var(--nc-ink);
	width:100%;
	max-width:none;
}

.nc-page--wide .nc-entry-content {
	max-width:none;
}

.nc-embed iframe {
	display:block;
	width:100%;
	border:0;
}

.nc-embed--jobs {
	--ashby-jobs-board-max-width:100%;
}

.nc-404__title {
	max-width:22ch;
}

.nc-404__lede {
	margin-top:clamp(18px,2vw,26px);
	font-size:var(--nc-text-lede);
	line-height:1.58;
	color:var(--nc-si-band,var(--nc-si-open));
	max-width:52ch;
}

.nc-404__search {
	margin-top:clamp(26px,3vw,40px);
	max-width:34rem;
}

.nc-404__routes {
	list-style:none;
	margin:clamp(38px,4.4vw,64px) 0 0;
	padding:0;
	border-bottom:1px solid var(--nc-rule);
	max-width:64rem;
}

.nc-404__route {
	border-top:1px solid var(--nc-rule);
}

.nc-404__route a {
	display:grid;
	grid-template-columns:3rem minmax(0,14rem) minmax(0,1fr) auto;
	align-items:baseline;
	gap:clamp(10px,1.4vw,20px);
	padding:clamp(15px,1.8vw,22px) 0;
	border-bottom:0;
	color:var(--nc-si-band,var(--nc-si-open));
	transition:color .18s linear;
}

.nc-404__index {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-kicker);
	letter-spacing:var(--nc-mono-kicker-tracking);
}

.nc-404__label {
	font-size:var(--nc-text-subheading);
	font-weight:var(--nc-weight-light);
	letter-spacing:var(--nc-tracking-heading);
	line-height:1.15;
	color:var(--nc-ink);
}

.nc-404__note {
	font-size:var(--nc-text-small);
	line-height:1.45;
}

.nc-404__go {
	font-family:var(--nc-font-mono);
	transition:transform .26s cubic-bezier(.2,.6,.2,1);
}

.nc-404__route a:hover,
.nc-404__route a:focus-visible {
	color:var(--nc-ink);
}

.nc-404__route a:hover .nc-404__go,
.nc-404__route a:focus-visible .nc-404__go {
	transform:translateX(4px);
}

@media (prefers-reduced-motion:reduce) {
	.nc-404__go {
		transition:none;
	}
}

@media (max-width:700px) {
	.nc-404__route a {
		grid-template-columns:2.4rem minmax(0,1fr) auto;
		row-gap:4px;
	}

	.nc-404__note {
		grid-column:2;
	}

	.nc-404__go {
		grid-column:3;
		grid-row:1;
	}
}

.nc-page__contents {
	margin-bottom:clamp(30px,3.4vw,50px);
	padding-bottom:clamp(20px,2.4vw,32px);
	border-bottom:1px solid var(--nc-rule);
}

.nc-page__contents-label {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-caption);
	letter-spacing:.14em;
	text-transform:uppercase;
	color:var(--nc-si-band,var(--nc-si-open));
	margin-bottom:clamp(12px,1.4vw,18px);
}

.nc-page__contents ol {
	list-style:none;
	margin:0;
	padding:0;
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));
	gap:2px clamp(18px,2.4vw,38px);
}

.nc-page__contents a {
	display:grid;
	grid-template-columns:2.2rem minmax(0,1fr);
	gap:8px;
	align-items:baseline;
	padding:6px 0;
	border-bottom:0;
	font-size:var(--nc-text-small);
	line-height:1.35;
	color:var(--nc-si-band,var(--nc-si-open));
	transition:color .16s linear;
}

.nc-page__contents a span {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-caption);
	letter-spacing:var(--nc-mono-caption-tracking);
}

.nc-page__contents a:hover,
.nc-page__contents a:focus-visible {
	color:var(--nc-ink);
}

@media (max-width:700px) {
	.nc-page__contents ol {
		grid-template-columns:minmax(0,1fr);
	}
}

.nc-entry-content .nc-highlight {
	margin-block:var(--nc-sp-6);
	padding:clamp(18px,2.2vw,28px) clamp(20px,2.6vw,32px);
	border-top:1px solid var(--nc-ink);
	background:var(--nc-material);
	font-size:var(--nc-text-lede);
	line-height:1.55;
}

.nc-entry-content .nc-highlight>*+* {
	margin-top:var(--nc-sp-3);
}

/* Resources inherit the site's paper surface, Geist typography and fine rules. */

.nc-resource .nc-entry__head {
	max-width:960px;
}

.nc-resource .nc-entry__title {
	max-width:26ch;
	font-size:var(--nc-title-hero-size);
	line-height:var(--nc-title-hero-leading);
	text-wrap:balance;
}

.nc-resource .nc-entry__meta {
	display:flex;
	flex-wrap:wrap;
	gap:8px 24px;
	margin-top:24px;
	line-height:1.6;
}

.nc-breadcrumb ol {
	display:flex;
	flex-wrap:wrap;
	gap:6px 12px;
	padding:0;
	margin:0;
	list-style:none;
	font-size:var(--nc-text-caption);
	line-height:1.5;
}

.nc-breadcrumb li {
	display:flex;
	gap:12px;
	min-width:0;
}

.nc-breadcrumb li+li::before {
	content:'/';
	color:var(--nc-si-open);
}

.nc-breadcrumb a {
	color:inherit;
}

.nc-breadcrumb [aria-current] {
	color:var(--nc-si-open);
}

.nc-resource__layout {
	display:grid;
	grid-template-columns:minmax(0,68ch) minmax(180px,1fr);
	column-gap:clamp(32px,6vw,96px);
	row-gap:0;
	align-items:start;
	margin-top:36px;
}

.nc-resource__intro {
	grid-column:1;
	grid-row:1;
}

.nc-resource__intro:empty {
	display:none;
}

.nc-resource__main {
	grid-column:1;
	grid-row:2;
	min-width:0;
}

.nc-resource__rail {
	grid-column:2;
	grid-row:2;
	position:sticky;
	top:calc(var(--nc-chrome-height,96px) + 24px);
	max-width:280px;
	padding-top:6px;
}

.nc-direct-answer {
	padding-bottom:24px;
	border-bottom:1px solid var(--nc-rule);
}

.nc-direct-answer p {
	font-size:var(--nc-text-lede);
	line-height:1.55;
	margin:0;
}

.nc-takeaways {
	padding-block:24px;
}

.nc-takeaways li+li {
	margin-top:8px;
}

.nc-toc {
	font-size:var(--nc-text-small);
	line-height:1.5;
}

.nc-toc__title {
	font-weight:var(--nc-weight-medium);
	margin-bottom:12px;
}

.nc-toc ol {
	padding:0;
	margin:0;
	list-style:none;
}

.nc-toc--rail nav {
	max-height:min(44vh,480px);
	overflow-y:auto;
	scrollbar-color:var(--nc-rule) transparent;
	padding-right:12px;
}

.nc-toc a {
	display:block;
	padding-block:6px;
	text-decoration:none;
}

.nc-toc a:hover,
.nc-toc a:focus-visible {
	text-decoration:underline;
	text-underline-offset:4px;
}

.nc-toc--mobile {
	display:none;
}

.nc-resource__body h2,
.nc-resource__body h3 {
	position:relative;
	scroll-margin-top:calc(var(--nc-chrome-height,96px) + 24px);
	text-wrap:pretty;
}

.nc-resource__body h2 {
	margin:48px 0 18px;
}

.nc-resource__body h3 {
	margin:32px 0 12px;
}

.nc-resource__body>h2:first-child {
	margin-top:0;
}

.nc-resource__body p,
.nc-resource__body>:is(ul,ol) {
	margin-block:0 20px;
}

.nc-resource__body li+li {
	margin-top:6px;
}

.nc-resource__body img {
	max-width:100%;
	height:auto;
}

.nc-resource__body pre {
	max-width:100%;
	overflow:auto;
}

.nc-heading-anchor {
	display:inline-flex;
	vertical-align:baseline;
	align-items:center;
	justify-content:center;
	width:28px;
	height:28px;
	margin-left:6px;
	color:var(--nc-si-open);
}

.nc-heading-anchor:hover,
.nc-heading-anchor:focus-visible {
	color:var(--nc-ink);
}

.nc-resource-section {
	margin-top:48px;
}

.nc-faq__q h3 {
	margin:0;
	font:inherit;
	letter-spacing:inherit;
	color:inherit;
}

.nc-faq__q .nc-heading-anchor {
	display:none;
}

.nc-resource__body .nc-faq__a {
	font-size:inherit;
	color:inherit;
}

.nc-faq__a>:last-child {
	margin-bottom:0;
}

.nc-table-scroll {
	max-width:100%;
	overflow-x:auto;
	margin-block:28px;
	scrollbar-color:var(--nc-rule) transparent;
}

.nc-table-scroll table {
	width:100%;
	border-collapse:collapse;
	font-size:var(--nc-text-body);
	line-height:1.5;
}

.nc-table-scroll th,
.nc-table-scroll td {
	padding:12px 16px;
	text-align:left;
	vertical-align:top;
	min-width:130px;
	border-bottom:1px solid var(--nc-rule);
}

.nc-table-scroll th {
	color:var(--nc-ink);
	font-weight:var(--nc-weight-medium);
	border-top:1px solid var(--nc-ink);
}

@media (max-width:900px) {
	.nc-resource__layout {
		display:flex;
		flex-direction:column;
		margin-top:28px;
	}

	.nc-resource__intro,
	.nc-resource__main {
		width:100%;
	}

	.nc-resource__rail {
		position:static;
		order:3;
		max-width:68ch;
		width:100%;
	}

	.nc-toc--rail {
		display:none;
	}

	.nc-toc--mobile {
		display:block;
		margin-block:0 28px;
		padding-block:16px;
		border-block:1px solid var(--nc-rule);
	}

	.nc-toc--mobile summary {
		cursor:pointer;
		font-weight:var(--nc-weight-medium);
	}

	.nc-toc--mobile nav {
		padding-top:12px;
	}

	.nc-resource .nc-entry__meta {
		gap:8px 16px;
	}
}

@media (pointer:coarse) {
	.nc-breadcrumb a {
		position:relative;
	}

	.nc-breadcrumb a::before {
		content:'';
		position:absolute;
		inset:-12px -6px;
	}
}

/* The Platform page (page-platform.php). The opening stands on its film.
   One zone holds the layer: its heading, the switch and the stack, the
   pillars, the three blocks and security. It opens on material and turns to
   ink with the switch, every colour easing through the --nc-pf-* tokens. The
   closing room stands on a quiet ground. Headings take their type from
   typography.css. */

.nc-platform h2 {
	max-width:none;
}

.nc-pf-layer {
	padding:var(--nc-section-pad) 0;
	color:var(--nc-pf-text);
}

.nc-pf-stage {
	display:none;
	position:relative;
	overflow:hidden;
	margin-top:40px;
}

.nc-pf-layer.has-diagram .nc-pf-stage {
	display:block;
}

.nc-pf-box {
	position:relative;
}

.nc-pf-canvas {
	position:absolute;
	left:0;
	top:0;
	width:1440px;
	height:900px;
	overflow:hidden;
	transform-origin:0 0;
	font-family:var(--nc-font-sans);
	color:var(--nc-ink);
}

.nc-pf-node {
	position:absolute;
	box-sizing:border-box;
	overflow:hidden;
	border:1px solid var(--nc-ink);
	background:var(--nc-floor);
}

.nc-pf-node__label {
	position:absolute;
	font-family:var(--nc-font-mono);
	font-size:calc(var(--nc-mono-kicker) / var(--nc-pf-type,1));
	line-height:1.5;
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
	color:var(--nc-ink);
}

.nc-pf-node__answer {
	display:none;
	margin-top:10px;
	font-family:var(--nc-font-sans);
	font-size:calc(var(--nc-text-lede) / var(--nc-pf-type,1));
	line-height:1.2;
	letter-spacing:-.01em;
	text-transform:none;
	text-wrap:pretty;
}

.nc-pf-node__problem {
	position:absolute;
	right:20px;
	font-size:calc(var(--nc-text-body) / var(--nc-pf-scale,1));
	line-height:1.6;
	color:var(--nc-si);
	text-wrap:pretty;
	pointer-events:none;
}

.nc-pf-chip {
	position:absolute;
	box-sizing:border-box;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	padding:0 12px;
	background:var(--nc-chip);
	font-size:calc(var(--nc-text-small) / var(--nc-pf-type,1));
	line-height:1.3;
	text-align:center;
	opacity:0;
}

.nc-pf-chip__logo {
	flex:none;
	max-width:100%;
	background:var(--nc-si);
	-webkit-mask:var(--nc-logo) center/contain no-repeat;
	mask:var(--nc-logo) center/contain no-repeat;
}

.nc-pf-chip__name {
	font-weight:var(--nc-weight-medium);
	line-height:1;
}

.nc-pf-slice {
	position:absolute;
	box-sizing:border-box;
	overflow:hidden;
	border:1px solid var(--nc-ink);
	background:var(--nc-ink);
	color:var(--nc-on-ink);
	opacity:0;
}

.nc-pf-layer.is-on .nc-pf-slice {
	border-color:var(--nc-rule-light);
}

.nc-pf-slice__port {
	position:absolute;
	left:24px;
	bottom:14px;
	width:18px;
	height:18px;
	background:var(--nc-tile);
}

.nc-pf-slice__row {
	position:absolute;
	left:24px;
	right:24px;
	box-sizing:border-box;
	display:flex;
	flex-direction:column;
	justify-content:center;
	gap:6px;
	padding:0 24px;
	border:1px solid var(--nc-on-ink-rule);
	background:var(--nc-on-ink-fill);
	opacity:0;
}

.nc-pf-slice__head {
	display:flex;
	align-items:baseline;
	gap:12px;
}

.nc-pf-slice__n {
	font-family:var(--nc-font-mono);
	font-size:calc(var(--nc-mono-diagram) / var(--nc-pf-type,1));
	letter-spacing:var(--nc-mono-readout-tracking);
	color:var(--nc-on-ink-dim);
}

.nc-pf-slice__title {
	font-size:calc(var(--nc-text-lede) / var(--nc-pf-type,1));
	letter-spacing:-.01em;
}

.nc-pf-slice__chips {
	display:grid;
	gap:8px;
}

.nc-pf-slice__chip {
	display:flex;
	align-items:center;
	justify-content:center;
	height:40px;
	padding:0 10px;
	border:1px solid var(--nc-on-ink-line);
	background:var(--nc-on-ink-fill);
	font-size:calc(var(--nc-text-small) / var(--nc-pf-type,1));
	line-height:1.2;
	text-align:center;
}

.nc-pf-stack {
	--nc-pf-stack-ease:cubic-bezier(.2,.6,.2,1);
	display:grid;
	gap:8px;
	width:100%;
	max-width:var(--nc-wrap-max);
	margin:40px auto 0;
	padding:0 var(--nc-gutter);
	list-style:none;
	transition:gap .6s var(--nc-pf-stack-ease) .15s;
}

.nc-pf-layer.is-on .nc-pf-stack {
	gap:0;
}

.nc-pf-stack li {
	--nc-pf-stack-delay:calc(var(--nc-i, 0) * 90ms);
	position:relative;
	padding:16px 20px 18px;
	border:1px solid var(--nc-ink);
	background:var(--nc-floor);
	color:var(--nc-ink);
	transition:background-color .45s linear var(--nc-pf-stack-delay),border-color .45s linear var(--nc-pf-stack-delay),color .45s linear var(--nc-pf-stack-delay);
}

.nc-pf-layer.is-on .nc-pf-stack li {
	border-color:var(--nc-on-ink-line);
	background:var(--nc-on-ink-fill);
	color:var(--nc-on-ink);
}

.nc-pf-layer.is-on .nc-pf-stack li + li {
	border-top-color:var(--nc-on-ink-rule);
}

.nc-pf-stack__label {
	display:flex;
	align-items:center;
	margin-bottom:8px;
}

.nc-pf-stack__label::before {
	content:'';
	flex:none;
	width:0;
	height:6px;
	margin-right:0;
	background:var(--nc-tile);
	transition:width .35s var(--nc-pf-stack-ease) var(--nc-pf-stack-delay),margin .35s var(--nc-pf-stack-ease) var(--nc-pf-stack-delay);
}

.nc-pf-layer.is-on .nc-pf-stack__label::before {
	width:6px;
	margin-right:10px;
}

.nc-pf-stack__say {
	display:grid;
}

.nc-pf-stack__now,
.nc-pf-stack__then {
	grid-area:1 / 1;
	font-size:var(--nc-text-body);
	line-height:1.5;
	transition:opacity .4s var(--nc-pf-stack-ease) var(--nc-pf-stack-delay),translate .4s var(--nc-pf-stack-ease) var(--nc-pf-stack-delay),visibility 0s linear calc(var(--nc-pf-stack-delay) + .4s);
}

.nc-pf-stack__now {
	color:var(--nc-si);
}

.nc-pf-stack__then {
	visibility:hidden;
	opacity:0;
	translate:0 10px;
}

.nc-pf-layer.is-on .nc-pf-stack__now {
	visibility:hidden;
	opacity:0;
	translate:0 -10px;
}

.nc-pf-layer.is-on .nc-pf-stack__then {
	visibility:visible;
	opacity:1;
	translate:none;
	transition-delay:calc(var(--nc-pf-stack-delay) + .12s),calc(var(--nc-pf-stack-delay) + .12s),0s;
}

.nc-pf-layer:not(.is-on) .nc-pf-stack__now {
	transition-delay:calc(var(--nc-pf-stack-delay) + .12s),calc(var(--nc-pf-stack-delay) + .12s),0s;
}

@media (min-width:901px) {
	.nc-pf-layer.has-diagram .nc-pf-stack {
		position:absolute;
		width:1px;
		height:1px;
		margin:-1px;
		padding:0;
		overflow:hidden;
		clip:rect(0 0 0 0);
		white-space:nowrap;
	}

	.nc-pf-layer.has-diagram .nc-pf-stack__then {
		visibility:visible;
	}
}

@media (max-width:900px) {
	.nc-pf-layer.has-diagram .nc-pf-stage {
		display:none;
	}
}

.nc-pf-toggle {
	padding-top:0;
	padding-bottom:0;
}

.nc-pf-switch {
	display:inline-flex;
	align-items:center;
	gap:20px;
	padding:0;
	border:0;
	background:none;
	color:inherit;
	font:inherit;
	text-align:left;
	cursor:pointer;
}

.nc-pf-switch[hidden] {
	display:none;
}

.nc-pf-switch__track {
	position:relative;
	flex:none;
	width:104px;
	height:52px;
	box-sizing:border-box;
	border:1px solid currentColor;
	transition:box-shadow .2s linear;
}

.nc-pf-switch__knob {
	position:absolute;
	top:5px;
	left:5px;
	width:40px;
	height:40px;
	background:var(--nc-tile);
	transition:left .3s linear,transform .3s linear;
}

.nc-pf-switch[aria-checked="true"] .nc-pf-switch__knob {
	left:57px;
}

@keyframes nc-pf-nudge {
	0%,70%,100% { transform:translateX(0); }
	78%,90% { transform:translateX(14px); }
}

.nc-pf-switch[aria-checked="false"]:not(.is-used) .nc-pf-switch__knob {
	animation:nc-pf-nudge 3.2s linear infinite;
}

.nc-pf-switch:hover .nc-pf-switch__knob {
	animation:none;
}

.nc-pf-switch[aria-checked="false"]:hover .nc-pf-switch__knob {
	transform:translateX(10px);
}

.nc-pf-switch:hover .nc-pf-switch__track,
.nc-pf-switch:focus-visible .nc-pf-switch__track {
	box-shadow:0 0 0 1px currentColor;
}

.nc-pf-switch:focus-visible {
	outline:1px solid currentColor;
	outline-offset:6px;
}

.nc-pf-switch__words {
	display:flex;
	flex-direction:column;
}

.nc-pf-switch__lead {
	margin-bottom:10px;
	font-size:var(--nc-text-lede);
	line-height:1.5;
	color:var(--nc-pf-soft);
}

.nc-pf-switch__label {
	padding-bottom:4px;
	font-size:var(--nc-title-section-size);
	text-wrap:balance;
	font-weight:var(--nc-weight-light);
	line-height:1.12;
	letter-spacing:-.01em;
	background:linear-gradient(currentColor,currentColor) left bottom/0 1px no-repeat;
	transition:background-size .42s linear;
}

.nc-pf-switch:hover .nc-pf-switch__label {
	background-size:100% 1px;
}

.nc-pf-switch__label :where(strong,b,em) {
	font-style:normal;
	font-weight:inherit;
}

.nc-pf-switch__hint {
	align-self:flex-start;
	margin-top:18px;
	padding:14px 22px;
	border:1px solid var(--nc-ink);
	border-radius:var(--nc-btn-radius);
	background:var(--nc-ink);
	box-shadow:var(--nc-relief-1);
	color:var(--nc-material);
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-button);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
	transition:background-color .2s linear,color .2s linear,border-color .5s linear;
}

.nc-pf-switch:hover .nc-pf-switch__hint,
.nc-pf-switch:focus-visible .nc-pf-switch__hint {
	background:transparent;
	color:var(--nc-ink);
}

.nc-pf-layer.is-on .nc-pf-switch__hint {
	border-color:var(--nc-material);
	background:var(--nc-material);
	color:var(--nc-ink);
}

.nc-pf-layer.is-on .nc-pf-switch:hover .nc-pf-switch__hint,
.nc-pf-layer.is-on .nc-pf-switch:focus-visible .nc-pf-switch__hint {
	background:transparent;
	color:var(--nc-material);
}

@media (max-width:640px) {
	.nc-pf-switch {
		display:grid;
		grid-template-columns:auto minmax(0,1fr);
		grid-template-areas:"lead lead" "label label" "track hint";
		align-items:center;
		gap:24px 14px;
		width:100%;
	}

	.nc-pf-switch__words {
		display:contents;
	}

	.nc-pf-switch__lead {
		grid-area:lead;
		margin-bottom:-14px;
	}

	.nc-pf-switch__label {
		grid-area:label;
	}

	.nc-pf-switch__track {
		grid-area:track;
	}

	.nc-pf-switch__hint {
		grid-area:hint;
		justify-self:start;
		margin-top:0;
		padding:12px 16px;
	}

	.nc-pf-switch__track {
		width:72px;
		height:36px;
	}

	.nc-pf-switch__knob {
		top:4px;
		left:4px;
		width:26px;
		height:26px;
	}

	.nc-pf-switch[aria-checked="true"] .nc-pf-switch__knob {
		left:40px;
	}
}

@media (prefers-reduced-motion:reduce) {
	.nc-pf-layer,
	.nc-pf-layer *,
	.nc-pf-switch__knob {
		transition:none;
		animation:none;
	}
}

@property --nc-pf-ground {
	syntax:'<color>';
	inherits:true;
	initial-value:#f7f9f7;
}

@property --nc-pf-text {
	syntax:'<color>';
	inherits:true;
	initial-value:#1b2126;
}

@property --nc-pf-soft {
	syntax:'<color>';
	inherits:true;
	initial-value:#4a5763;
}

@property --nc-pf-dim {
	syntax:'<color>';
	inherits:true;
	initial-value:#5c6b7a;
}

@property --nc-pf-line {
	syntax:'<color>';
	inherits:true;
	initial-value:rgba(27,33,38,.28);
}

@property --nc-pf-rule {
	syntax:'<color>';
	inherits:true;
	initial-value:rgba(27,33,38,.12);
}

.nc-pf-zone {
	--nc-pf-ground:var(--nc-material);
	--nc-pf-text:var(--nc-ink);
	--nc-pf-soft:var(--nc-si-open);
	--nc-pf-dim:var(--nc-si);
	--nc-pf-line:var(--nc-rule-plate);
	--nc-pf-rule:var(--nc-rule);
	background:var(--nc-pf-ground);
	color:var(--nc-pf-text);
	transition:--nc-pf-ground .5s linear,--nc-pf-text .5s linear,--nc-pf-soft .5s linear,--nc-pf-dim .5s linear,--nc-pf-line .5s linear,--nc-pf-rule .5s linear;
}

.nc-pf-zone.is-on {
	--nc-pf-ground:var(--nc-ink);
	--nc-pf-text:var(--nc-on-ink);
	--nc-pf-soft:var(--nc-on-ink-soft);
	--nc-pf-dim:var(--nc-on-ink-dim);
	--nc-pf-line:var(--nc-on-ink-line);
	--nc-pf-rule:var(--nc-on-ink-rule);
}

@media (prefers-reduced-motion:reduce) {
	.nc-pf-zone {
		transition:none;
	}
}

.nc-pf-inside,
.nc-pf-security {
	color:var(--nc-pf-text);
	--nc-rule:var(--nc-pf-rule);
}

.nc-pf-inside {
	padding:var(--nc-section-pad) 0;
}

.nc-pf-inside--head {
	padding-bottom:0;
}

.nc-pf-inside--head .nc-pf-pillars {
	margin-bottom:0;
}

.nc-pf-inside--body {
	padding-top:0;
}

.nc-pf-security {
	padding:var(--nc-section-pad) 0;
	border-top:1px solid var(--nc-pf-rule);
}

.nc-pf-inside .nc-kicker {
	color:var(--nc-pf-dim);
}

.nc-pf-security .nc-kicker {
	color:var(--nc-pf-soft);
}

.nc-pf-inside h2,
.nc-pf-security h2 {
	color:var(--nc-pf-text);
}

.nc-pf-inside__intro {
	max-width:62ch;
	margin-top:var(--nc-space-lede);
	color:var(--nc-pf-soft);
}

.nc-pf-pillars {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	margin:48px 0 120px;
	border-top:1px solid var(--nc-pf-line);
	border-bottom:1px solid var(--nc-pf-line);
}

.nc-pf-pillars>div {
	padding:44px 32px 52px;
	border-left:1px solid var(--nc-pf-rule);
}

.nc-pf-pillars>div:first-child {
	padding-left:0;
	border-left:0;
}

.nc-pf-pillars>div:last-child {
	padding-right:0;
}

.nc-pf-pillars h3 {
	margin:0 0 14px;
	color:var(--nc-pf-text);
}

.nc-pf-pillars p {
	max-width:30ch;
	font-size:var(--nc-text-lede);
	line-height:1.58;
	color:var(--nc-pf-soft);
}

@media (max-width:860px) {
	.nc-pf-pillars {
		grid-template-columns:1fr;
		margin:36px 0 80px;
	}

	.nc-pf-pillars>div {
		padding:28px 0 32px;
		border-left:0;
		border-top:1px solid var(--nc-pf-rule);
	}

	.nc-pf-pillars>div:first-child {
		border-top:0;
	}
}

.nc-pf-blocks {
	margin:0;
	padding:0;
	list-style:none;
}

.nc-pf-block {
	display:grid;
	grid-template-columns:4.5rem minmax(0,1fr) auto;
	column-gap:32px;
	align-items:baseline;
	padding:clamp(56px,6vw,88px) 0;
	border-top:1px solid var(--nc-pf-rule);
	scroll-margin-top:calc(var(--nc-chrome-height,110px) + 24px);
}

.nc-pf-block:first-child {
	padding-top:0;
	border-top:0;
}

.nc-pf-block__head {
	display:contents;
}

.nc-pf-block__n {
	grid-column:1;
	grid-row:1;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-text-caption);
	letter-spacing:.14em;
	color:var(--nc-pf-dim);
}

.nc-pf-block h3 {
	grid-column:2;
	grid-row:1;
	min-width:0;
	margin:0;
	color:var(--nc-pf-text);
}

.nc-pf-block__intro {
	grid-column:2;
	grid-row:2;
	max-width:62ch;
	margin-top:12px;
	color:var(--nc-pf-soft);
	text-wrap:pretty;
}

.nc-pf-more {
	grid-column:3;
	grid-row:1;
	align-self:center;
	display:none;
	align-items:center;
	gap:12px;
	min-height:var(--nc-btn-height);
	padding:0 22px;
	border:1px solid var(--nc-pf-line);
	border-radius:var(--nc-btn-radius);
	background:transparent;
	color:var(--nc-pf-text);
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-button);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
	white-space:nowrap;
	cursor:pointer;
	transition:background-color .07s linear,color .07s linear;
}

.nc-pf-more:hover,
.nc-pf-more:focus-visible {
	background:var(--nc-pf-text);
	color:var(--nc-pf-ground);
}

.nc-pf-more:focus-visible {
	outline:1px solid var(--nc-pf-text);
	outline-offset:3px;
}

.nc-pf-more i {
	position:relative;
	flex:none;
	width:11px;
	height:11px;
}

.nc-pf-more i::before,
.nc-pf-more i::after {
	content:'';
	position:absolute;
	left:0;
	top:5px;
	width:11px;
	height:1px;
	background:currentColor;
	transition:transform .25s linear;
}

.nc-pf-more i::after {
	transform:rotate(90deg);
}

.nc-pf-more[aria-expanded="true"] i::after {
	transform:rotate(0deg);
}

.nc-pf-block>.nc-pf-cards {
	grid-column:1/-1;
}

/* On a phone the number stands above the title, so the text keeps the
   page's gutter instead of a number column. */
@media (max-width:640px) {
	.nc-pf-block {
		grid-template-columns:minmax(0,1fr);
		padding:36px 0;
	}

	.nc-pf-block__n {
		margin-bottom:12px;
	}

	.nc-pf-block h3 {
		grid-column:1;
		grid-row:2;
	}

	.nc-pf-block__intro {
		grid-column:1;
		grid-row:3;
	}

	.nc-pf-more {
		grid-column:1;
		grid-row:4;
		justify-self:start;
		display:inline-flex;
		max-width:100%;
		margin-top:20px;
		white-space:normal;
		text-align:left;
	}
}

.nc-pf-cards {
	display:grid;
	grid-template-columns:repeat(var(--n,3),minmax(0,1fr));
	column-gap:48px;
	margin:clamp(36px,4vw,48px) 0 0;
	padding:0;
	list-style:none;
	border-top:1px solid var(--nc-pf-rule);
}

.nc-pf-cards[hidden] {
	display:none;
}

.nc-pf-cards--open {
	margin-top:56px;
	border-color:var(--nc-pf-line);
}

.nc-pf-cards>li {
	position:relative;
	display:flex;
	flex-direction:column;
	padding:clamp(28px,3vw,40px) 0 0;
}

.nc-pf-cards>li+li::before {
	content:'';
	position:absolute;
	left:-24px;
	top:0;
	bottom:0;
	border-left:1px solid var(--nc-pf-rule);
}

.nc-pf-cards__tag {
	display:block;
	margin-bottom:12px;
	line-height:1.6;
	color:var(--nc-pf-dim);
}

.nc-pf-cards :is(h3,h4) {
	margin:0 0 10px;
	color:var(--nc-pf-text);
}

.nc-pf-cards p {
	margin:0;
	font-size:var(--nc-text-body);
	line-height:var(--nc-leading-body);
	color:var(--nc-pf-soft);
	text-wrap:pretty;
}

.nc-pf-cards__fig {
	margin-top:auto;
	aspect-ratio:4/3;
	background:var(--nc-floor);
	overflow:hidden;
}

.nc-pf-cards__fig iframe {
	display:block;
	width:100%;
	height:100%;
	border:0;
}

.nc-pf-cards p:has(+.nc-pf-cards__fig) {
	margin-bottom:24px;
}

.nc-pf-cards p.nc-pf-cards__links {
	display:flex;
	flex-wrap:wrap;
	gap:12px 24px;
	margin-top:18px;
}

.nc-pf-cards__links .nc-more {
	position:relative;
	padding-bottom:2px;
	border-bottom:1px solid var(--nc-pf-text);
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-label);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
	color:var(--nc-pf-text);
	text-decoration:none;
}

@media (max-width:860px) {
	.nc-pf-cards {
		grid-template-columns:1fr;
	}

	.nc-pf-cards>li {
		padding:28px 0;
	}

	.nc-pf-cards>li+li {
		border-top:1px solid var(--nc-pf-rule);
	}

	.nc-pf-cards>li+li::before {
		display:none;
	}
}

.nc-pf-closing {
	background:var(--nc-ground-quiet);
}

.nc-platform .nc-pf-closing h2 {
	max-width:none;
}


@media (max-width:700px) {
	.nc-platform .nc-opening h1 br {
		display:inline;
	}
}

/* Who we are (page-who-we-are.php): the opening on its picture, then the
   ambition, the backers, the story, the leadership and the offices, each
   under its label. */

.nc-about-section .nc-wrap>h2,
.nc-about-story h2 {
	max-width:none;
	margin:0;
}

.nc-about-story__text {
	margin-top:var(--nc-space-lede);
}

/* The measure of the lede, as on Platform. */
.nc-about-story__text p {
	max-width:62ch;
	color:var(--nc-si-open);
}

.nc-about-story__text p+p {
	margin-top:20px;
}

.nc-people {
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:48px 24px;
	margin-top:40px;
	padding:0;
	list-style:none;
}

.nc-person {
	display:grid;
	grid-row:span 4;
	grid-template-rows:subgrid;
	row-gap:0;
	align-content:start;
}

.nc-person__photo {
	margin:0;
	aspect-ratio:4/5;
	overflow:hidden;
	background:var(--nc-plate);
}

.nc-person__photo img {
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}

.nc-person__name {
	margin-top:14px;
	font-size:var(--nc-title-card-size);
	font-weight:var(--nc-title-card-weight);
	line-height:var(--nc-title-card-leading);
	letter-spacing:var(--nc-title-card-tracking);
}

.nc-person__role {
	margin-top:4px;
	font-size:var(--nc-text-caption);
	line-height:1.6;
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-person__link {
	display:inline-flex;
	align-items:center;
	gap:8px;
	justify-self:start;
	align-self:start;
	margin-top:14px;
	padding-bottom:2px;
	border-bottom:1px solid currentColor;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-row);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
}

.nc-person__icon {
	flex-shrink:0;
	width:14px;
	height:14px;
	fill:none;
	stroke:currentColor;
	stroke-width:1.2;
	stroke-linecap:square;
}

.nc-person__icon circle {
	fill:currentColor;
	stroke:none;
}

@media (max-width:1120px) {
	.nc-people {
		grid-template-columns:repeat(3,minmax(0,1fr));
	}
}

@media (max-width:700px) {
	.nc-people {
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:32px 16px;
	}
}

.nc-about-section .nc-office-map {
	margin-top:clamp(28px,3.4vw,48px);
}

.nc-about-section .nc-office-map+.nc-actions {
	margin-top:34px;
}

.nc-office-map {
	position:relative;
	margin:0;
	container-type:inline-size;
}

.nc-office-map__plate {
	position:relative;
}

.nc-office-map__relief {
	display:block;
	width:100%;
	height:auto;
}

.nc-office-map__leaders {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	overflow:visible;
	fill:none;
	stroke:var(--nc-rule-strong);
	stroke-width:1;
}

.nc-office-map__leaders path {
	vector-effect:non-scaling-stroke;
}

.nc-office-map figcaption {
	position:absolute;
	inset:0;
	pointer-events:none;
}

.nc-office-map__offices {
	margin:0;
	padding:0;
	list-style:none;
}

.nc-office-map__office {
	position:absolute;
	left:var(--x);
	top:var(--y);
	font-size:clamp(10px,1.153cqi,13px);
	line-height:1;
	white-space:nowrap;
	color:var(--nc-ink);
}

.nc-office-map__office--end {
	transform:translateX(-100%);
}

.nc-office-map__office b {
	font-weight:var(--nc-weight-bold);
}

@media (max-width:700px) {
	.nc-office-map__leaders {
		display:none;
	}

	.nc-office-map figcaption {
		position:static;
		margin-top:20px;
	}

	.nc-office-map__offices {
		columns:2;
		column-gap:16px;
	}

	.nc-office-map__office {
		position:static;
		padding:6px 0;
		border-top:1px solid var(--nc-rule);
		font-size:var(--nc-text-small);
		line-height:1.5;
		transform:none;
		break-inside:avoid;
	}
}

.nc-backers {
	display:grid;
	grid-template-columns:repeat(6,minmax(0,1fr));
	gap:0 var(--nc-gap-cols);
	margin-top:36px;
	padding:0;
	list-style:none;
}

.nc-backers__item {
	display:flex;
	align-items:center;
	min-height:88px;
	padding:16px 0;
	border-top:1px solid var(--nc-rule);
}

.nc-backers__logo {
	display:block;
	width:auto;
	max-width:min(150px,100%);
	height:auto;
	max-height:32px;
	filter:grayscale(1) contrast(1.2);
	mix-blend-mode:multiply;
}

.nc-backers__name {
	font-size:var(--nc-text-subheading);
	line-height:1.3;
}

@media (max-width:1000px) {
	.nc-backers {
		grid-template-columns:repeat(3,minmax(0,1fr));
	}
}

@media (max-width:900px) {
	.nc-backers {
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.nc-backers__item {
		min-height:84px;
	}

	.nc-backers__logo {
		max-height:36px;
	}
}

.nc-closing .nc-closing__room .nc-about-closing__aside {
	margin-top:clamp(40px,4.4vw,56px);
	font-size:var(--nc-text-body);
	color:var(--nc-si-open);
}

.nc-about-closing__aside+.nc-actions {
	margin-top:14px;
}

/* GET STARTED (page-get-started.php)
   The opening with how an engagement runs beside a form we do not control,
   then what we bring, the direct contacts and the offices, each a ruled grid
   whose cells are split by a hairline. Type comes from typography.css. */

.nc-contact__opening {
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr);
	gap:clamp(32px,5vw,72px);
	align-items:start;
}

.nc-contact__label {
	font-weight:var(--nc-weight-regular);
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-contact__jumps {
	display:flex;
	flex-wrap:wrap;
	gap:10px 24px;
	margin-top:clamp(18px,2vw,24px);
}

.nc-contact__jumps a {
	padding-bottom:2px;
	border-bottom:1px solid var(--nc-ink);
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-label);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
	color:var(--nc-ink);
}

.nc-contact__jumps a::after {
	content:' ↓';
}

.nc-contact__engage {
	margin-top:clamp(28px,3vw,40px);
}

.nc-contact__steps {
	margin:14px 0 0;
	padding:0;
	list-style:none;
	border-bottom:1px solid var(--nc-rule);
}

.nc-contact__step {
	display:grid;
	grid-template-columns:3rem minmax(0,1fr);
	column-gap:16px;
	padding:18px 0;
	border-top:1px solid var(--nc-rule);
}

.nc-contact__step-n {
	grid-row:1/3;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-kicker);
	letter-spacing:var(--nc-mono-kicker-tracking);
	color:var(--nc-si-band,var(--nc-si-open));
	line-height:2;
}

.nc-contact__step-title {
	font-size:var(--nc-text-body);
	font-weight:var(--nc-weight-regular);
	line-height:1.4;
	color:var(--nc-ink);
}

.nc-contact__step-text {
	margin-top:4px;
	font-size:var(--nc-text-small);
	line-height:1.5;
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-contact__form {
	padding:clamp(16px,2.4vw,32px);
	background:var(--nc-white);
	outline:1px solid var(--nc-rule);
}

.nc-contact__embed {
	min-height:520px;
}

.nc-contact__fallback {
	font-size:var(--nc-text-body);
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-contact__heading {
	max-width:none;
}

.nc-contact__bring,
.nc-channels,
.nc-offices__list {
	display:grid;
	grid-template-columns:repeat(var(--n,4),minmax(0,1fr));
	margin:clamp(32px,3.6vw,48px) 0 0;
	padding:0;
	list-style:none;
	border-top:1px solid var(--nc-rule-strong);
}

.nc-contact__bring {
	--n:3;
	border-top-color:var(--nc-rule);
	border-bottom:1px solid var(--nc-rule);
}

.nc-contact__bring>li,
.nc-channels>li,
.nc-offices__list>li {
	padding:clamp(18px,2vw,24px) clamp(16px,1.8vw,22px) clamp(24px,2.6vw,32px);
	border-left:1px solid var(--nc-rule);
}

.nc-offices__list>li {
	border-bottom:1px solid var(--nc-rule);
}

.nc-contact__bring>li:nth-child(3n+1),
.nc-channels>li:nth-child(4n+1),
.nc-offices__list>li:nth-child(4n+1) {
	padding-left:0;
	border-left:0;
}

.nc-contact__gift .nc-title {
	margin-top:12px;
}

.nc-contact__gift-text {
	margin-top:10px;
	font-size:var(--nc-text-small);
	line-height:1.55;
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-contact__gift-text--figure {
	display:flex;
	align-items:flex-start;
	gap:16px;
}

.nc-contact__figure {
	flex:none;
	font-size:var(--nc-title-section-size);
	font-weight:var(--nc-weight-light);
	line-height:1;
	letter-spacing:-.03em;
	color:var(--nc-ink);
}

.nc-channel__label {
	font-size:var(--nc-text-lede);
	font-weight:var(--nc-weight-regular);
	line-height:1.3;
	letter-spacing:-.01em;
	color:var(--nc-ink);
}

.nc-channel__mails {
	display:grid;
	gap:4px;
	margin:10px 0 0;
	padding:0;
	list-style:none;
}

.nc-channel__mails li {
	display:flex;
	align-items:baseline;
	gap:10px;
}

.nc-channel__tag {
	flex:0 0 2.1rem;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-caption);
	letter-spacing:var(--nc-mono-caption-tracking);
	text-transform:uppercase;
	color:var(--nc-si-band,var(--nc-si));
}

.nc-channel__mails a {
	padding-bottom:1px;
	border-bottom:1px solid var(--nc-rule-plate);
	font-size:var(--nc-text-body);
	color:var(--nc-ink);
	transition:border-color .18s linear;
}

.nc-channel__mails a:hover,
.nc-channel__mails a:focus-visible {
	border-bottom-color:var(--nc-ink);
}

.nc-offices .nc-office-map {
	margin-top:clamp(28px,3.4vw,48px);
}

.nc-office__country {
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-office__city {
	max-width:none;
	margin-top:8px;
}

.nc-office__lines {
	margin-top:10px;
	font-style:normal;
	font-size:var(--nc-text-small);
	line-height:1.45;
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-office__lines a {
	display:grid;
	gap:2px;
	color:inherit;
	border-bottom:0;
	transition:color .18s linear;
}

.nc-office__lines a:hover,
.nc-office__lines a:focus-visible {
	color:var(--nc-ink);
}

@media (max-width:900px) {
	.nc-contact__opening {
		grid-template-columns:minmax(0,1fr);
	}

	.nc-contact__bring,
	.nc-channels,
	.nc-offices__list {
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.nc-contact__bring {
		grid-template-columns:minmax(0,1fr);
	}

	.nc-contact__bring>li,
	.nc-channels>li,
	.nc-offices__list>li {
		border-bottom:1px solid var(--nc-rule);
	}

	.nc-contact__bring>li:nth-child(n),
	.nc-channels>li:nth-child(n),
	.nc-offices__list>li:nth-child(n) {
		padding-left:clamp(16px,1.8vw,22px);
		border-left:1px solid var(--nc-rule);
	}

	.nc-contact__bring>li:nth-child(n),
	.nc-channels>li:nth-child(2n+1),
	.nc-offices__list>li:nth-child(2n+1) {
		padding-left:0;
		border-left:0;
	}
}

@media (max-width:700px) {
	.nc-offices .nc-office-map figcaption {
		display:none;
	}
}

@media (max-width:480px) {
	.nc-channels,
	.nc-offices__list {
		grid-template-columns:minmax(0,1fr);
	}

	.nc-channels>li:nth-child(n),
	.nc-offices__list>li:nth-child(n) {
		padding-left:0;
		border-left:0;
	}
}

/* The Spark Session invitation, on ink between what we bring and the contacts. */
.nc-contact-spark .nc-actions {
	margin-top:clamp(28px,3vw,40px);
}

.nc-section.nc-contact-spark .nc-contact-spark__note {
	margin-top:16px;
	font-size:var(--nc-text-body);
	color:var(--nc-si-band);
}

/* Industry stories (archive-nc_story.php): the head with its figures and the
   customers' marks running past, then the stories, each a result beside its
   picture, with a page per industry. */

.nc-stories-head__figs {
	margin-top:44px;
}

.nc-logo-run {
	display:flex;
	margin-top:48px;
	overflow:hidden;
	-webkit-mask-image:linear-gradient(90deg,transparent,var(--nc-black) 9%,var(--nc-black) 91%,transparent);
	mask-image:linear-gradient(90deg,transparent,var(--nc-black) 9%,var(--nc-black) 91%,transparent);
}

.nc-logo-run__track {
	display:flex;
	flex-shrink:0;
	align-items:center;
	gap:64px;
	padding-right:64px;
	animation:nc-logo-run 42s linear infinite;
}

.nc-logo-run:hover .nc-logo-run__track {
	animation-play-state:paused;
}

.nc-logo-run img {
	flex-shrink:0;
	width:auto;
	height:calc(28px * var(--nc-mark-scale,1));
	filter:brightness(0);
	opacity:.62;
}

@keyframes nc-logo-run {
	to {
	transform:translateX(-100%);
	}
}

@media (prefers-reduced-motion:reduce) {
	.nc-logo-run__track {
		animation:none;
	}
}

.nc-sector-filter__chips {
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin:24px 0 0;
	padding:0;
	list-style:none;
}

.nc-sector-filter__note {
	display:grid;
	grid-template-columns:minmax(0,26ch) minmax(0,1fr);
	gap:8px var(--nc-gap-cols);
	align-items:baseline;
	margin-top:30px;
	padding-top:16px;
	border-top:1px solid var(--nc-rule);
}

.nc-sector-filter__tag {
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-sector-filter__text {
	max-width:64ch;
	font-size:var(--nc-text-body);
	color:var(--nc-si-band,var(--nc-si-open));
	text-wrap:pretty;
}

.nc-deployments {
	margin-top:36px;
	border-top:1px solid var(--nc-rule);
}

.nc-deployment {
	display:grid;
	grid-template-columns:minmax(0,380px) minmax(0,1fr);
	grid-template-rows:auto auto auto 1fr;
	column-gap:40px;
	padding-bottom:32px;
}

.nc-deployment__eyebrow {
	grid-column:1/-1;
	padding:16px 0 12px;
	border-bottom:1px solid var(--nc-rule);
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-kicker);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
	color:var(--nc-si-band,var(--nc-si));
}

.nc-deployment__metric {
	grid-column:2;
	grid-row:2;
	display:flex;
	flex-direction:column;
	gap:6px;
	padding-top:28px;
}

.nc-deployment__figure {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-text-figure);
	font-weight:var(--nc-weight-regular);
	line-height:1;
	letter-spacing:-.02em;
}

.nc-deployment__pre,
.nc-deployment__caption {
	max-width:40ch;
	font-size:var(--nc-text-caption);
	line-height:1.4;
	color:var(--nc-si-band,var(--nc-si));
	text-wrap:pretty;
}

.nc-deployment__metric--words .nc-deployment__caption {
	max-width:34ch;
	font-size:var(--nc-text-claim);
	font-weight:var(--nc-weight-light);
	line-height:1.3;
	letter-spacing:-.01em;
	color:var(--nc-ink);
	text-wrap:balance;
}

.nc-deployment__fig {
	position:relative;
	grid-column:1;
	grid-row:2/5;
	align-self:start;
	margin:28px 0 0;
	aspect-ratio:4/3;
	overflow:hidden;
}

.nc-deployment__shot {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
}

.nc-deployment__mark {
	position:absolute;
	top:50%;
	left:50%;
	z-index:1;
	width:auto;
	max-width:60%;
	height:30px;
	object-fit:contain;
	transform:translate(-50%,-50%);
	filter:brightness(0) invert(1) var(--nc-shadow-mark);
}

.nc-deployment__fig::after {
	content:'';
	position:absolute;
	bottom:18px;
	left:18px;
	z-index:1;
	width:5px;
	height:5px;
	background:var(--nc-tile);
}

.nc-deployment__fig--plate {
	border:1px solid var(--nc-rule-plate);
	background:var(--nc-ground-quiet) var(--nc-plate-hatch);
}

.nc-deployment__fig--plate::after {
	content:none;
}

.nc-deployment__note {
	position:absolute;
	right:14px;
	bottom:12px;
	left:14px;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-caption);
	letter-spacing:var(--nc-mono-caption-tracking);
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-deployment__note b {
	display:block;
	margin-bottom:4px;
	font-size:var(--nc-mono-kicker);
	font-weight:var(--nc-weight-medium);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
	color:var(--nc-ink);
}

.nc-deployment__title {
	grid-column:2;
	grid-row:3;
	align-self:start;
	max-width:30ch;
	margin-top:18px;
}

.nc-deployment__more {
	position:relative;
	grid-column:2;
	grid-row:4;
	justify-self:start;
	align-self:end;
	margin-top:22px;
	padding-bottom:2px;
	border-bottom:1px solid currentColor;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-label);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
}

.nc-deployments__empty {
	margin-top:36px;
	padding:26px 0;
	border-top:1px solid var(--nc-rule);
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-row);
	letter-spacing:var(--nc-mono-row-tracking);
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-deployments__empty a {
	border-bottom:1px solid currentColor;
}

@media (max-width:700px) {
	.nc-deployment {
		grid-template-columns:minmax(0,1fr);
	}

	.nc-deployment>* {
		grid-column:1;
		grid-row:auto;
	}

	.nc-sector-filter__note {
		grid-template-columns:1fr;
	}
}

@media (max-width:700px) {
	.nc-sector-filter__chips {
		flex-wrap:nowrap;
		overflow-x:auto;
		scrollbar-width:none;
	}

	.nc-sector-filter__chips li {
		flex:none;
	}

	.nc-sector-filter__chips .nc-chip {
		white-space:nowrap;
	}
}

/* The newsroom hub (page-newsroom.php): the cards and lines of a category,
   their foot, and the media kit with the press contacts by region. */

.nc-newsroom__cards {
	margin-top:clamp(22px,2.4vw,34px);
}

.nc-newsroom__lines {
	margin-top:clamp(34px,3.6vw,52px);
}

.nc-newsroom__foot {
	display:flex;
	flex-wrap:wrap;
	align-items:baseline;
	gap:16px 28px;
	margin-top:clamp(24px,2.4vw,34px);
}

.nc-newsroom__more {
	display:inline-flex;
	align-items:center;
	min-height:var(--nc-btn-height-compact);
	padding:0 22px;
	border:1px solid var(--nc-ink);
	border-radius:var(--nc-btn-radius);
	background:none;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-button);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
	color:var(--nc-ink);
	cursor:pointer;
}

.nc-newsroom__more:hover,
.nc-newsroom__more:focus-visible {
	background:var(--nc-ink);
	color:var(--nc-material);
}

.nc-newsroom__more[hidden] {
	display:none;
}

.nc-newsroom__all {
	padding-bottom:3px;
	border-bottom:1px solid currentColor;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-label);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
	white-space:nowrap;
}

.nc-media-kit {
	margin-top:clamp(64px,7vw,104px);
}

.nc-media-kit__grid {
	grid-template-columns:minmax(0,2fr) minmax(0,1.25fr) minmax(0,1fr);
}

.nc-media-kit__grid:not(:has(.nc-media-kit__more)) {
	grid-template-columns:minmax(0,2fr) minmax(0,1.25fr);
}

.nc-media-kit__text {
	margin-top:10px;
	font-size:var(--nc-text-body);
	line-height:1.65;
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-media-kit__text p {
	max-width:66ch;
	margin:0;
}

.nc-media-kit__text p+p {
	margin-top:14px;
}

.nc-media-kit__foot {
	display:flex;
	flex-wrap:wrap;
	align-items:baseline;
	justify-content:space-between;
	gap:12px 24px;
	margin-top:20px;
	padding-top:14px;
	border-top:1px solid var(--nc-rule);
	font-size:var(--nc-text-small);
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-media-kit__copy {
	padding:0 0 2px;
	border:0;
	border-bottom:1px solid currentColor;
	background:none;
	color:var(--nc-ink);
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-row);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
	cursor:pointer;
}

.nc-media-kit__copy[hidden] {
	display:none;
}

.nc-media-kit__note {
	margin-top:10px;
	font-size:var(--nc-text-small);
	line-height:1.55;
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-media-kit__note a {
	padding-bottom:1px;
	border-bottom:1px solid var(--nc-rule-plate);
	color:var(--nc-ink);
}

.nc-media-kit__more {
	display:grid;
	align-content:start;
	gap:clamp(20px,2.2vw,28px);
}

.nc-media-kit .nc-channel__mails a {
	overflow-wrap:break-word;
}

@media (max-width:900px) {
	.nc-media-kit__grid {
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.nc-media-kit__grid>.nc-media-kit__boiler {
		grid-column:1 / -1;
	}

	.nc-media-kit__grid>li:nth-child(2) {
		padding-left:0;
		border-left:0;
	}

	.nc-media-kit__grid>li:nth-child(3) {
		padding-left:clamp(16px,1.8vw,22px);
		border-left:1px solid var(--nc-rule);
	}
}

@media (max-width:480px) {
	.nc-media-kit__grid {
		grid-template-columns:minmax(0,1fr);
	}

	.nc-media-kit__grid>li:nth-child(n) {
		padding-left:0;
		border-left:0;
	}
}

/* ARTICLE
   The resource article's reading surface: the rail on the left, level with
   the title; the short answer as a ruled callout; the takeaways as a tinted
   card. */

.nc-resource__layout {
	grid-template-columns:minmax(170px,220px) minmax(0,68ch);
	column-gap:clamp(28px,5vw,72px);
}

.nc-resource__rail {
	grid-column:1;
	grid-row:1 / span 2;
	max-width:220px;
	padding-top:0;
}

.nc-resource__intro {
	grid-column:2;
	grid-row:1;
}

.nc-resource__main {
	grid-column:2;
	grid-row:2;
}

.nc-resource :is(.nc-kicker, .nc-toc__title, .nc-entry__share-label, .nc-resource__label) {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-kicker);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
	color:var(--nc-si-band,var(--nc-si-open));
	font-weight:var(--nc-weight-regular);
	margin:0 0 var(--nc-sp-4);
}

.nc-toc--rail ol {
	list-style:none;
	margin:0;
	padding:0;
	counter-reset:toc;
	display:flex;
	flex-direction:column;
	gap:4px;
}

.nc-toc--rail li {
	counter-increment:toc;
}

.nc-toc--rail a {
	display:grid;
	grid-template-columns:24px 1fr;
	gap:8px;
	align-items:baseline;
	font-size:var(--nc-text-small);
	line-height:1.35;
	color:var(--nc-si-band,var(--nc-si-open));
	padding:4px 0;
	text-decoration:none;
}

.nc-toc--rail a::before {
	content:counter(toc,decimal-leading-zero);
	font-family:var(--nc-font-mono);
	opacity:.55;
}

.nc-toc--rail a:hover,
.nc-toc--rail a[aria-current="true"] {
	color:var(--nc-ink);
}

.nc-resource__intro .nc-direct-answer {
	margin:0 0 28px;
	padding-left:28px;
	border-left:2px solid var(--nc-ink);
}

.nc-resource__intro .nc-direct-answer p {
	font-size:var(--nc-text-lede);
	line-height:1.5;
	margin:0;
}

.nc-resource__intro .nc-takeaways {
	background:var(--nc-material);
	padding:28px;
	margin:0 0 34px;
}

.nc-resource__intro .nc-takeaways ul {
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-direction:column;
	gap:12px;
}

.nc-resource__intro .nc-takeaways li {
	display:grid;
	grid-template-columns:14px 1fr;
	gap:12px;
	align-items:start;
}

.nc-resource__intro .nc-takeaways li::before {
	content:"";
	width:6px;
	height:6px;
	margin-top:.55em;
	background:var(--nc-ink);
}

.nc-entry__meta {
	text-transform:none;
	letter-spacing:0;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:8px 16px;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-text-small);
	color:var(--nc-si-band,var(--nc-si-open));
	margin:16px 0 0;
}

.nc-entry__meta .nc-sep {
	opacity:.4;
}

.nc-entry__meta .nc-updated {
	color:var(--nc-ink);
}

.nc-entry__head {
	border-bottom:1px solid var(--nc-rule);
	padding-bottom:24px;
}

@media (max-width:1023px) {
	.nc-resource__rail,
	.nc-resource__intro,
	.nc-resource__main {
		grid-column:1;
	}

	.nc-resource__rail {
		grid-row:auto;
		order:3;
		max-width:68ch;
	}
}

.nc-railcta {
	border-top:1px solid var(--nc-rule);
	padding-top:20px;
	margin-bottom:28px;
}

.nc-railcta p:not(.nc-kicker) {
	font-size:var(--nc-text-small);
	line-height:1.45;
	color:var(--nc-si-band,var(--nc-si-open));
	margin:0 0 12px;
}

.nc-railcta a {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-text-small);
	color:var(--nc-ink);
	text-decoration:none;
	border-bottom:1px solid currentColor;
	padding-bottom:2px;
}

.nc-entry__facts {
	margin:0 0 28px;
}

.nc-entry__facts dt {
	font-family:var(--nc-font-mono);
	font-size:12px;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--nc-si-band,var(--nc-si-open));
	margin:0 0 6px;
}

.nc-entry__facts dd {
	margin:0;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-text-small);
	text-transform:uppercase;
	letter-spacing:.04em;
}

.nc-entry__facts dd a {
	color:var(--nc-ink);
	text-decoration:none;
	border-bottom:1px solid currentColor;
	padding-bottom:2px;
}

.nc-entry__share {
	border-top:1px solid var(--nc-rule);
	padding-top:20px;
}

.nc-related {
	border-top:1px solid color-mix(in srgb, var(--nc-si-open) 18%, transparent);
	margin-top:72px;
	padding-top:34px;
}

.nc-related__grid {
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:34px;
	margin-top:28px;
}

.nc-related__card {
	display:flex;
	flex-direction:column;
	gap:12px;
	text-decoration:none;
}

.nc-related__thumb {
	aspect-ratio:16/10;
	overflow:hidden;
	background:var(--nc-material);
	border:1px solid color-mix(in srgb, var(--nc-si-open) 18%, transparent);
}

.nc-related__thumb img {
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	display:block;
	transition:transform .3s ease;
}

.nc-related__card:hover .nc-related__thumb img {
	transform:scale(1.03);
}

.nc-related__meta {
	display:flex;
	align-items:center;
	gap:8px;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-text-small);
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-related__meta .nc-sep {
	opacity:.4;
}

.nc-related__title {
	font-size:var(--nc-title-card-size);
	font-weight:var(--nc-title-card-weight);
	letter-spacing:var(--nc-title-card-tracking);
	line-height:var(--nc-title-card-leading);
	margin:0;
}

.nc-related__card:hover .nc-related__title {
	text-decoration:underline;
	text-underline-offset:3px;
}

@media (prefers-reduced-motion:reduce) {
	.nc-related__thumb img {
		transition:none;
	}

	.nc-related__card:hover .nc-related__thumb img {
		transform:none;
	}
}

@media (max-width:900px) {
	.nc-related__grid {
		grid-template-columns:1fr;
		gap:22px;
	}
}

/* NEWSLETTER
   The footer form keeps its arrow button; the newsletter page gets a wider
   field with a labelled button. The honeypot stays reachable to the browser
   and is moved off-screen, never display:none. */

.nc-newsletter .nc-newsletter__trap {
	position:absolute;
	left:-9999px;
	width:1px;
	height:1px;
	overflow:hidden;
}

.nc-newsletter--page {
	max-width:none;
	margin-top:28px;
}

.nc-newsletter--page input {
	padding:16px 18px;
	font-size:var(--wp--preset--font-size--small);
	border-color:color-mix(in srgb, var(--wp--preset--color--secondary) 34%, transparent);
	color:var(--wp--preset--color--ink);
}

.nc-newsletter--page input::placeholder {
	color:color-mix(in srgb, var(--wp--preset--color--secondary) 70%, transparent);
}

.nc-newsletter--page button {
	width:auto;
	padding:16px 28px;
	font-size:var(--nc-mono-button);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
	align-items:center;
}

.nc-newsletter--page button::before {
	content:none;
}

@media (max-width:600px) {
	.nc-newsletter--page {
		flex-direction:column;
		gap:12px;
	}

	.nc-newsletter--page button {
		width:100%;
		border-left:1px solid var(--nc-ink);
	}
}

@media (min-width:601px) {
	.nc-newsletter--page {
		display:grid;
		grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
		gap:12px 0;
	}

	.nc-newsletter--page input[type="email"] {
		grid-column:1 / -1;
	}

	.nc-newsletter--page input[type="text"]:not(.nc-newsletter__trap)+label+input {
		border-left:0;
	}
}

.nc-newsletter-page {
	max-width:62ch;
	margin:48px 0 0;
}

.nc-newsletter-page__lede {
	font-size:var(--wp--preset--font-size--lede);
	line-height:1.5;
	color:var(--wp--preset--color--deep);
	margin:16px 0 0;
	text-wrap:pretty;
}

.nc-newsletter-page__consent {
	font-size:var(--wp--preset--font-size--small);
	line-height:1.5;
	color:var(--wp--preset--color--secondary);
	margin:20px 0 0;
	max-width:54ch;
}

.nc-newsletter-page__consent a {
	color:var(--nc-ink);
}

.nc-newsletter-page__facts {
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:34px;
	margin:56px 0 0;
	border-top:1px solid color-mix(in srgb, var(--wp--preset--color--secondary) 18%, transparent);
	padding-top:28px;
}

.nc-newsletter-page__facts dt {
	font-family:var(--wp--preset--font-family--mono);
	font-size:var(--wp--preset--font-size--x-small,12px);
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--wp--preset--color--secondary);
	margin:0 0 10px;
}

.nc-newsletter-page__facts dd {
	margin:0;
	font-size:var(--wp--preset--font-size--small);
	line-height:1.5;
	color:var(--wp--preset--color--deep);
}

@media (max-width:600px) {
	.nc-newsletter-page__facts {
		grid-template-columns:1fr;
		gap:24px;
	}
}

.nc-newsletter--page input:focus {
	outline:1px solid var(--nc-ink);
	outline-offset:0;
	border-color:var(--nc-ink);
	color:var(--nc-ink);
}

.nc-newsletter--page input:-webkit-autofill,
.nc-newsletter--page input:-webkit-autofill:focus {
	-webkit-text-fill-color:var(--nc-ink);
	box-shadow:0 0 0 40px var(--nc-paper) inset;
	caret-color:var(--nc-ink);
}

/* AUTHORS
   Author pages, on the related-articles grid, so a person's work reads like
   the suggestions at the foot of an article. */

.nc-author__head {
	max-width:62ch;
	margin:48px 0 40px;
}

.nc-author__role {
	font-size:var(--wp--preset--font-size--lede);
	line-height:1.5;
	color:var(--wp--preset--color--deep);
	margin:16px 0 0;
}

.nc-author__tally {
	font-family:var(--wp--preset--font-family--mono);
	font-size:var(--wp--preset--font-size--small);
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--wp--preset--color--secondary);
	margin:12px 0 0;
}

.nc-author__grid {
	margin-top:0;
}

.nc-author__pages {
	margin-top:48px;
}

.nc-author__pages ul {
	display:flex;
	gap:8px;
	list-style:none;
	margin:0;
	padding:0;
	font-family:var(--wp--preset--font-family--mono);
	font-size:var(--wp--preset--font-size--small);
}

.nc-author__pages a,
.nc-author__pages span {
	display:block;
	padding:8px 12px;
	border:1px solid color-mix(in srgb, var(--wp--preset--color--secondary) 24%, transparent);
	text-decoration:none;
	color:var(--wp--preset--color--ink);
}

.nc-author__pages .current {
	background:var(--nc-ink);
	color:var(--nc-material);
	border-color:var(--nc-ink);
}

.nc-authors__list {
	list-style:none;
	margin:0;
	padding:0;
	max-width:62ch;
}

.nc-authors__list li + li {
	border-top:1px solid color-mix(in srgb, var(--wp--preset--color--secondary) 18%, transparent);
}

.nc-authors__list a {
	display:grid;
	gap:6px;
	padding:24px 0;
	text-decoration:none;
}

.nc-authors__name {
	font-size:var(--wp--preset--font-size--subheading);
	font-weight:var(--nc-weight-light);
	letter-spacing:-.02em;
	color:var(--wp--preset--color--ink);
}

.nc-authors__list a:hover .nc-authors__name {
	text-decoration:underline;
	text-underline-offset:3px;
}

.nc-authors__role {
	font-size:var(--wp--preset--font-size--small);
	color:var(--wp--preset--color--deep);
}

.nc-authors__count {
	font-family:var(--wp--preset--font-family--mono);
	font-size:var(--wp--preset--font-size--x-small,12px);
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--wp--preset--color--secondary);
}

.nc-byline__name a {
	color:inherit;
	text-decoration:none;
}

.nc-byline__name a:hover {
	text-decoration:underline;
	text-underline-offset:3px;
}

/* EVENT LOGOS
   An event is shown by its conference logo, not a photograph, so the logo is
   contained inside the frame instead of cropped to fill it; the frame keeps
   the row aligned. */

.nc-collection__item[data-nc-terms~="nc_category:events"] .nc-collection__shot {
	background-image:none;
	background-color:var(--nc-material);
}

.nc-collection__item[data-nc-terms~="nc_category:events"] .nc-collection__shot img {
	object-fit:contain;
	padding:clamp(14px,2vw,26px);
	background:var(--nc-material);
}

/* LEGAL
   The contents of the legal pages in the same two columns as their sections:
   the label in the gutter, the list in the content column. */

.nc-page__contents {
	display:grid;
	grid-template-columns:minmax(0,13rem) minmax(0,1fr);
	align-items:start;
	gap:clamp(20px,3vw,52px);
}

.nc-page__contents-label {
	margin:0;
}

.nc-page__contents ol {
	grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));
	gap:0 clamp(18px,2.4vw,38px);
}

.nc-page__contents a {
	grid-template-columns:1.7rem minmax(0,1fr);
	gap:10px;
	align-items:baseline;
	padding:7px 0;
}

.nc-page__contents a span {
	line-height:inherit;
}

@media (max-width:900px) {
	.nc-page__contents {
		grid-template-columns:minmax(0,1fr);
		gap:14px;
	}
}

/* PRESS ROOM LISTINGS
   Press releases, media coverage and events keep the Resources card: a mono
   readout, a frame, a title. A logo is contained in its frame, never cropped;
   link-out cards end on the source's outbound arrow. */

.nc-listing__body {
	grid-row:3;
	display:flex;
	flex-direction:column;
}

.nc-listing__body .nc-collection__title {
	padding-bottom:10px;
}

.nc-listing__summary {
	margin:0;
	padding:0 20px;
	font-size:var(--nc-text-small);
	line-height:1.5;
	color:var(--nc-si-band,var(--nc-si-open));
	display:-webkit-box;
	-webkit-line-clamp:3;
	-webkit-box-orient:vertical;
	overflow:hidden;
}

.nc-listing__more {
	display:flex;
	align-items:center;
	gap:8px;
	margin:auto 0 0;
	padding:14px 20px 22px;
	color:var(--nc-ink);
}

.nc-arrow-out {
	width:10px;
	height:auto;
	flex:none;
	transition:translate .2s cubic-bezier(.2,0,0,1);
}

.nc-collection__item:hover .nc-arrow-out,
.nc-collection__item:focus-within .nc-arrow-out {
	translate:2px -2px;
}

.nc-collection__shot--logo {
	display:flex;
	align-items:center;
	justify-content:center;
	background-image:none;
	background-color:var(--nc-material);
}

.nc-collection__shot--logo img {
	width:100%;
	height:100%;
	object-fit:contain;
	padding:clamp(18px,2.4vw,30px);
	background:var(--nc-material);
}

.nc-collection__item:hover .nc-collection__shot--logo img,
.nc-collection__item:focus-within .nc-collection__shot--logo img {
	scale:1;
}

.nc-collection__shot--logo > span {
	padding:0 18px;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-text-small);
	letter-spacing:.12em;
	text-transform:uppercase;
	text-align:center;
	color:var(--nc-si-band,var(--nc-si-open));
	text-wrap:balance;
}

.nc-event--upcoming .nc-collection__index {
	display:inline-flex;
	align-items:center;
	gap:7px;
	font-weight:var(--nc-weight-medium);
}

.nc-event--upcoming .nc-collection__index::before {
	content:'';
	width:6px;
	height:6px;
	background:var(--nc-tile);
}

.nc-mention .nc-collection__eyebrow {
	grid-template-columns:minmax(0,1fr) auto;
}

.nc-mention__logo {
	aspect-ratio:5 / 2;
}

.nc-mention__logo img {
	padding:clamp(20px,2.6vw,34px) clamp(24px,3vw,44px);
}

.nc-mention--featured {
	box-shadow:inset 0 2px 0 var(--nc-ink);
}

.nc-mention--featured .nc-collection__eyebrow {
	color:var(--nc-ink);
}

@media (min-width:1200px) {
	.nc-listing--media-coverage .nc-collection {
		grid-template-columns:repeat(4,minmax(0,1fr));
	}
}

.nc-collection__item[data-nc-terms] .nc-collection__shot.nc-collection__shot--ink,
.nc-collection__item[data-nc-terms] .nc-collection__shot.nc-collection__shot--ink img {
	background-color:var(--nc-ink);
}

/* LANDING PAGE
   Campaign and event pages built from page text (inc/landing.php). Each section
   opens like the Connect page's: overline, statement, light introduction; cards
   and figures reuse the Connect ledgers (.nc-format, .nc-proof). */

.nc-landing__hero .nc-ncc__actions {
	margin-top:clamp(28px,3.2vw,44px);
}

.nc-landing__label.nc-kicker {
	font-weight:var(--nc-weight-regular);
	font-size:var(--nc-mono-kicker);
	line-height:1.4;
	letter-spacing:var(--nc-mono-kicker-tracking);
	max-width:none;
}

.nc-landing__statement {
	max-width:30ch;
	color:var(--nc-ink);
}

.nc-landing__title {
	max-width:30ch;
	margin:0;
}

.nc-landing__title+.nc-landing__lede.nc-lede {
	margin-top:clamp(14px,1.6vw,20px);
}

.nc-landing__closing {
	padding:clamp(24px,4vw,64px) 0;
	text-align:center;
}

.nc-landing__closing .nc-landing__title {
	max-width:24ch;
	margin-inline:auto;
}

.nc-landing__closing .nc-ncc__actions {
	justify-content:center;
}

.nc-landing__lede.nc-lede {
	max-width:58ch;
	margin-top:clamp(14px,1.6vw,22px);
}

.nc-landing__prose {
	max-width:62ch;
	margin-top:clamp(24px,2.8vw,40px);
	font-size:var(--nc-text-body);
	line-height:1.6;
}

.nc-landing__hero .nc-landing__prose {
	max-width:56ch;
}

.nc-landing__prose>*+* {
	margin-top:var(--nc-sp-4);
}

.nc-landing__prose :is(h4) {
	margin-top:var(--nc-sp-6);
	font-size:var(--nc-text-lede);
	font-weight:var(--nc-weight-regular);
	letter-spacing:var(--nc-tracking-heading);
}

.nc-landing__prose :is(ul,ol),
.nc-landing__note :is(ul,ol) {
	padding-left:1.1em;
}

.nc-landing__prose li+li,
.nc-landing__note li+li {
	margin-top:6px;
}

.nc-landing__prose>ol {
	padding:0;
	list-style:none;
	counter-reset:nc-step;
	border-bottom:1px solid var(--nc-rule);
}

.nc-landing__prose>ol>li {
	counter-increment:nc-step;
	display:grid;
	grid-template-columns:3rem minmax(0,1fr);
	align-items:baseline;
	margin:0;
	padding:14px 0;
	border-top:1px solid var(--nc-rule);
	font-size:var(--nc-text-lede);
	line-height:1.45;
}

.nc-landing__prose>ol>li::before {
	content:counter(nc-step,decimal-leading-zero);
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-kicker);
	letter-spacing:var(--nc-mono-kicker-tracking);
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-landing__prose>ol>li+li {
	margin-top:0;
}

.nc-landing__prose a,
.nc-landing__note a,
.nc-proof__caption a {
	border-bottom:1px solid var(--nc-rule-plate);
	padding-bottom:1px;
}

.nc-landing__prose a:hover,
.nc-landing__prose a:focus-visible,
.nc-landing__note a:hover,
.nc-landing__note a:focus-visible {
	border-bottom-color:var(--nc-ink);
}

.nc-landing__section .nc-ncc__actions {
	margin-top:clamp(24px,2.8vw,40px);
}

.nc-landing__cards {
	grid-template-rows:none;
	grid-auto-rows:auto;
	row-gap:clamp(32px,4vw,56px);
}

@media (min-width:901px) {
	.nc-landing__cards {
		grid-template-columns:repeat(var(--nc-cols,3),minmax(0,1fr));
	}
}

.nc-landing__cards .nc-format__item {
	display:flex;
	flex-direction:column;
	grid-row:auto;
}

.nc-landing__note>*+* {
	margin-top:8px;
}

.nc-landing__figures {
	row-gap:clamp(28px,3.4vw,48px);
}

.nc-landing__unit {
	margin-top:10px;
	color:var(--nc-ink);
}

.nc-landing__picture {
	margin:0;
}

.nc-landing__picture img {
	display:block;
	width:100%;
	height:auto;
	outline:1px solid var(--nc-outline-plate);
	outline-offset:-1px;
}

.nc-landing__picture figcaption {
	margin-top:10px;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-caption);
	letter-spacing:var(--nc-mono-caption-tracking);
	text-transform:uppercase;
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-landing__picture--single {
	margin-top:clamp(28px,3.4vw,48px);
}

.nc-landing__picture--single img,
.nc-landing__prose .nc-landing__picture img {
	width:auto;
	max-width:100%;
	max-height:min(70vh,640px);
}

.nc-landing__statement--sub {
	margin-top:clamp(28px,3.4vw,48px);
	padding-top:clamp(14px,1.6vw,20px);
	border-top:1px solid var(--nc-rule-plate);
	max-width:30ch;
}

.nc-landing__statement--sub+.nc-landing__prose {
	margin-top:clamp(14px,1.6vw,22px);
}

.nc-landing__gallery {
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:clamp(18px,2.2vw,32px);
	margin-top:clamp(28px,3.4vw,48px);
}

.nc-landing__gallery .nc-landing__picture img {
	aspect-ratio:4/5;
	object-fit:cover;
	background-color:var(--nc-plate);
}

.nc-landing__marks {
	margin-top:clamp(28px,3.4vw,48px);
}

.nc-landing__frame {
	margin-top:clamp(28px,3.4vw,48px);
	background-color:var(--nc-plate);
	outline:1px solid var(--nc-outline-plate);
	outline-offset:-1px;
}

.nc-landing__frame iframe {
	display:block;
	width:100%;
	height:100%;
	border:0;
}

.nc-landing__frame--video {
	aspect-ratio:16/9;
}

.nc-landing__frame--map {
	height:clamp(280px,32vw,420px);
	filter:grayscale(.6);
}

.nc-landing__frame--form {
	max-width:760px;
	height:clamp(640px,80vh,960px);
	background:var(--nc-paper);
}

.nc-landing__gallery+.nc-landing__frame--map,
.nc-landing__frame--map+.nc-landing__frame--map {
	margin-top:clamp(18px,2.2vw,32px);
}

.nc-landing__quote {
	max-width:30ch;
	margin-top:clamp(28px,3.4vw,48px);
	padding-top:clamp(14px,1.6vw,20px);
	border-top:1px solid var(--nc-rule-plate);
	font-size:var(--nc-text-title);
	line-height:1.2;
	letter-spacing:var(--nc-tracking-heading);
	font-weight:var(--nc-weight-light);
}

.nc-landing__quote p+p {
	margin-top:14px;
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-landing__form {
	max-width:760px;
	margin-top:clamp(28px,3.4vw,48px);
	padding:clamp(20px,2.6vw,36px);
	background:var(--nc-paper);
	outline:1px solid var(--nc-rule);
}

.nc-hubspot--inline .hs-form-field {
	margin-bottom:18px;
}

.nc-hubspot--inline label:not(.hs-form-booleancheckbox-display) {
	display:block;
	margin-bottom:6px;
	color:var(--nc-ink);
}

.nc-hubspot--inline :is(input[type="text"],input[type="email"],input[type="tel"],input[type="number"],select,textarea) {
	width:100%;
	padding:12px 14px;
	border:1px solid var(--nc-rule-plate);
	border-radius:0;
	background:transparent;
	font:inherit;
	font-size:var(--nc-text-small);
	color:var(--nc-ink);
}

.nc-hubspot--inline :is(input,select,textarea):focus {
	outline:1px solid var(--nc-ink);
	outline-offset:0;
	border-color:var(--nc-ink);
}

.nc-hubspot--inline form fieldset {
	max-width:none;
}

.nc-hubspot--inline .hs-form-booleancheckbox-display,
.nc-hubspot--inline .legal-consent-container {
	font-size:var(--nc-text-small);
	line-height:1.5;
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-hubspot--inline .hs-error-msgs {
	margin-top:6px;
	list-style:none;
	padding:0;
	font-size:var(--nc-text-small);
	color:var(--nc-tile);
}

.nc-hubspot--inline .hs-button {
	margin-top:8px;
	padding:14px 22px;
	border:1px solid var(--nc-ink);
	border-radius:0;
	background:var(--nc-ink);
	color:var(--nc-ground-open-start);
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-button);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
	cursor:pointer;
}

.nc-hubspot--inline .hs-button:hover,
.nc-hubspot--inline .hs-button:focus-visible {
	background:transparent;
	color:var(--nc-ink);
}

@media (max-width:900px) {
	.nc-landing__gallery {
		grid-template-columns:repeat(3,minmax(0,1fr));
	}
}

@media (max-width:700px) {
	.nc-landing__gallery {
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

.nc-landing__cards .nc-format__shot img[src$=".svg"] {
	object-fit:contain;
	padding:14% 18%;
}

.nc-landing__cards--portrait .nc-format__shot {
	aspect-ratio:4/5;
}

.nc-landing__cards--portrait .nc-format__shot img {
	object-position:50% 18%;
}

@media (max-width:700px) {
	.nc-landing__cards:has(.nc-format__shot) {
		grid-template-columns:repeat(2,minmax(0,1fr));
		column-gap:16px;
	}

	.nc-landing__cards:has(.nc-format__shot) .nc-format__title {
		--nc-title-size:var(--nc-text-body);
	}

	.nc-landing__cards:has(.nc-format__shot) .nc-format__note {
		font-size:var(--nc-text-caption);
	}
}

@media (max-width:420px) {
	.nc-landing__cards:has(.nc-format__shot) {
		grid-template-columns:minmax(0,1fr);
	}
}

.nc-landing__mark {
	display:flex;
	align-items:center;
	gap:14px;
	margin:clamp(22px,2.6vw,34px) 0 0;
}

.nc-landing__mark img {
	width:auto;
	max-width:180px;
	height:clamp(26px,2.4vw,34px);
	object-fit:contain;
}

.nc-landing__mark figcaption {
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-landing__frame--loop {
	margin:clamp(28px,3.4vw,48px) 0 0;
	aspect-ratio:auto;
}

.nc-landing__frame--loop video {
	display:block;
	width:100%;
	height:auto;
}

.nc-landing__facts {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:10px 18px;
	margin:clamp(24px,3vw,40px) 0 0;
	padding:clamp(14px,1.6vw,20px) 0 0;
	border-top:1px solid var(--nc-rule);
	list-style:none;
	color:var(--nc-ink);
}

.nc-landing__facts li {
	display:flex;
	align-items:center;
	gap:18px;
}

.nc-landing__facts li+li::before {
	content:'';
	width:4px;
	height:4px;
	background:var(--nc-tile);
}

.nc-landing__ledger {
	gap:clamp(18px,2.4vw,40px) clamp(28px,4vw,64px);
}

.nc-landing__ledger dd {
	font-size:var(--nc-text-body);
}

.nc-landing .nc-faq {
	max-width:880px;
	border-top:0;
	padding-block:0;
}

.nc-landing .nc-faq__a>*+* {
	margin-top:10px;
}

.nc-landing__split {
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(0,560px);
	gap:clamp(32px,5vw,88px);
	align-items:start;
}

.nc-landing__split-aside .nc-landing__form,
.nc-landing__split-aside .nc-landing__frame {
	margin-top:0;
	max-width:none;
}

.nc-landing__split-aside {
	position:sticky;
	top:calc(var(--nc-chrome-height,100px) + 24px);
}

.nc-landing__split .nc-landing__cards,
.nc-landing__split .nc-proof {
	grid-template-columns:repeat(2,minmax(0,1fr));
}

@media (max-width:980px) {
	.nc-landing__split {
		grid-template-columns:minmax(0,1fr);
	}

	.nc-landing__split-aside {
		position:static;
	}
}

.nc-landing__note img.nc-logo {
	display:block;
	width:auto;
	max-width:130px;
	height:26px;
	margin:4px 0 10px;
	object-fit:contain;
	object-position:left center;
}

.nc-landing__hero.nc-stage {
	min-height:clamp(520px,72svh,760px);
}

.nc-stage .nc-landing__mark img {
	filter:brightness(0) invert(1);
}

.nc-stage :is(.nc-ncc__facts,.nc-landing__facts) dd,
.nc-stage .nc-landing__facts,
.nc-stage .nc-landing__prose {
	color:var(--nc-on-ink);
}

.nc-stage .nc-ncc__cta,
.nc-panel--ink .nc-ncc__cta {
	--nc-btn-base:var(--nc-material);
	--nc-btn-text:var(--nc-ink);
}

.nc-panel--ink .nc-landing__statement,
.nc-panel--ink .nc-proof__figure,
.nc-panel--ink .nc-landing__unit {
	color:var(--nc-on-ink);
}

.nc-panel--ink .nc-proof__item {
	border-top-color:var(--nc-on-ink-line);
}

.nc-stage .nc-landing__prose a,
.nc-panel--ink .nc-landing__prose a {
	color:var(--nc-on-ink);
	border-bottom-color:var(--nc-on-ink-line);
}

.nc-stage .nc-landing__frame {
	outline-color:var(--nc-on-ink-rule);
}

.nc-landing__cards--overlay .nc-format__item {
	position:relative;
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	min-height:clamp(300px,24vw,360px);
	padding:clamp(18px,2vw,26px);
	overflow:hidden;
	border-top:0;
	border-radius:var(--nc-btn-radius);
	background:var(--nc-ink);
	color:var(--nc-on-ink);
}

.nc-landing__cards--overlay .nc-format__shot {
	position:absolute;
	inset:0;
	margin:0;
	aspect-ratio:auto;
	outline:0;
}

.nc-landing__cards--overlay .nc-format__item::after {
	content:'';
	position:absolute;
	inset:0;
	background:var(--nc-scrim-card);
	pointer-events:none;
}

.nc-landing__cards--overlay .nc-format__index {
	display:none;
}

.nc-landing__cards--overlay :is(.nc-format__title,.nc-format__note) {
	position:relative;
	z-index:1;
	color:var(--nc-on-ink);
}

.nc-landing__cards--overlay .nc-format__note {
	color:var(--nc-on-ink-soft);
}

.nc-landing__cards--overlay .nc-format__note a {
	color:var(--nc-on-ink);
	border-bottom-color:var(--nc-on-ink-line);
}

.nc-panel .nc-landing__cards--portrait .nc-format__item {
	padding:clamp(14px,1.6vw,20px);
	border:1px solid var(--nc-rule);
	background:var(--nc-material);
}

/* NEURAL CONCEPT CONNECT (page-connect.php, page-ncc-edition.php)
   The hub and the edition pages on the site's bands (panels.css): the opening
   on its picture, light and grey panels for the editions, speakers, company
   and questions, ink for what NCC is, the day and the other editions. Type
   comes from typography.css. */

.nc-ncc .nc-stage h1 {
	max-width:24ch;
}

.nc-ncc__label {
	font-weight:var(--nc-weight-regular);
	line-height:1.4;
	color:var(--nc-si-open);
}

.nc-panel--ink .nc-ncc__label {
	color:var(--nc-on-ink-dim);
}

.nc-ncc-editions {
	display:grid;
	grid-template-columns:repeat(min(var(--n,3),3),minmax(0,1fr));
	gap:clamp(16px,1.8vw,24px);
	margin:clamp(32px,4vw,52px) 0 0;
	padding:0;
	list-style:none;
}

.nc-ncc-edition {
	position:relative;
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	min-height:clamp(320px,26vw,380px);
	overflow:hidden;
	border-radius:var(--nc-btn-radius);
	background:var(--nc-ink);
	color:var(--nc-on-ink);
}

.nc-ncc-edition__picture {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	transition:scale .6s cubic-bezier(.2,0,0,1);
}

.nc-ncc-edition::after {
	content:'';
	position:absolute;
	inset:0;
	background:var(--nc-scrim-edition);
	pointer-events:none;
}

.nc-ncc-edition:hover .nc-ncc-edition__picture {
	scale:1.04;
}

.nc-ncc-edition--soon .nc-ncc-edition__picture {
	filter:grayscale(.6);
	opacity:.7;
}

.nc-ncc-edition__body {
	position:relative;
	z-index:1;
	padding:clamp(18px,2vw,26px);
}

.nc-ncc-edition__city {
	color:var(--nc-on-ink);
}

.nc-ncc-edition__meta {
	margin-top:8px;
	color:var(--nc-on-ink-soft);
}

.nc-ncc-edition__link {
	display:inline-block;
	margin-top:clamp(14px,1.6vw,20px);
	padding-bottom:3px;
	border-bottom:1px solid var(--nc-on-ink-line);
	font-size:var(--nc-text-small);
	color:var(--nc-on-ink);
	transition:border-color .2s linear;
}

a.nc-ncc-edition__link::after {
	content:'';
	position:absolute;
	inset:0;
	z-index:1;
}

.nc-ncc-edition:hover a.nc-ncc-edition__link,
a.nc-ncc-edition__link:focus-visible {
	border-color:var(--nc-on-ink);
}

.nc-ncc-edition__link--soon {
	border-bottom:0;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-kicker);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
	color:var(--nc-on-ink-dim);
}

.nc-ncc-speakers,
.nc-ncc-cast {
	display:grid;
	grid-template-columns:repeat(5,minmax(0,1fr));
	gap:clamp(28px,3vw,40px) clamp(16px,1.8vw,24px);
	margin:clamp(32px,4vw,52px) 0 0;
	padding:0;
	list-style:none;
}

.nc-ncc-speaker {
	display:flex;
	flex-direction:column;
	padding-top:clamp(14px,1.6vw,20px);
	border-top:1px solid var(--nc-rule-plate);
}

.nc-ncc-speaker__mark {
	display:flex;
	align-items:center;
	height:36px;
}

.nc-ncc-speaker__mark img,
.nc-ncc-cast__tag img {
	width:auto;
	max-width:140px;
	height:calc(28px * var(--nc-mark-scale,1));
	object-fit:contain;
	object-position:left center;
}

.nc-ncc-speaker__edition {
	margin-top:clamp(14px,1.6vw,20px);
	color:var(--nc-si-open);
}

.nc-ncc-speaker__badge {
	display:inline-flex;
	align-items:center;
	gap:8px;
	color:var(--nc-ink);
}

.nc-ncc-speaker__badge::before {
	content:'';
	width:6px;
	height:6px;
	background:var(--nc-tile);
}

.nc-ncc-speaker__edition .nc-ncc-speaker__badge::after {
	content:'·';
	margin-inline:.2em .6em;
	color:var(--nc-si-open);
}

.nc-ncc-speaker__name,
.nc-ncc-cast__name {
	margin-top:8px;
}

.nc-ncc-speaker__role {
	margin-top:6px;
	font-size:var(--nc-text-small);
	line-height:1.5;
	color:var(--nc-si-open);
}

.nc-ncc-speaker--soon .nc-ncc-speaker__name,
.nc-ncc-cast__item--soon .nc-ncc-cast__name {
	color:var(--nc-si-open);
}

.nc-ncc-speaker__plus {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-title-subsection-size);
	font-weight:var(--nc-weight-light);
	color:var(--nc-tile);
}

.nc-ncc-cast__item {
	display:flex;
	flex-direction:column;
}

.nc-ncc-cast__portrait,
.nc-ncc-cast__plate {
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:auto;
	aspect-ratio:4/5;
	border-radius:var(--nc-btn-radius);
	background:var(--nc-white);
	object-fit:cover;
	object-position:center top;
}

.nc-ncc-cast__plate {
	border:1px solid var(--nc-rule);
}

.nc-ncc-cast__plate img {
	width:52%;
	max-height:40%;
	object-fit:contain;
}

.nc-ncc-cast__plate--more {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-text-figure);
	font-weight:var(--nc-weight-thin);
	color:var(--nc-tile);
	background:transparent;
	border-style:dashed;
	border-color:var(--nc-rule-plate);
}

.nc-ncc-cast__tag {
	display:flex;
	align-items:center;
	gap:12px;
	height:40px;
	margin-top:clamp(12px,1.4vw,16px);
}

.nc-ncc-others {
	margin-top:clamp(48px,5vw,72px);
}

.nc-ncc-others .nc-ncc-speakers {
	margin-top:clamp(16px,1.8vw,24px);
}

.nc-ncc-voices {
	margin-top:clamp(56px,6vw,88px);
	padding-top:clamp(18px,2vw,26px);
	border-top:1px solid var(--nc-rule);
}

.nc-ncc-voices__marks {
	margin-top:clamp(20px,2.4vw,32px);
}

.nc-ncc-moments {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:clamp(16px,1.8vw,24px);
	margin:clamp(32px,4vw,52px) 0 0;
	padding:0;
	list-style:none;
}

.nc-ncc-moment {
	position:relative;
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	min-height:clamp(300px,24vw,360px);
	overflow:hidden;
	border-radius:var(--nc-btn-radius);
	background:var(--nc-ink);
	color:var(--nc-on-ink);
}

.nc-ncc-moment__picture {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
}

.nc-ncc-moment::after {
	content:'';
	position:absolute;
	inset:0;
	background:var(--nc-scrim-card);
	pointer-events:none;
}

.nc-ncc-moment__body {
	position:relative;
	z-index:1;
	padding:clamp(18px,2vw,26px);
}

.nc-ncc-moment__title {
	color:var(--nc-on-ink);
}

.nc-ncc-moment__note {
	margin-top:8px;
	max-width:36ch;
	font-size:var(--nc-text-small);
	line-height:1.5;
	color:var(--nc-on-ink-soft);
}

.nc-ncc-years {
	margin-top:clamp(48px,5vw,72px);
}

.nc-ncc-years__line {
	display:grid;
	grid-template-columns:repeat(var(--n,5),minmax(0,1fr));
	gap:clamp(16px,1.8vw,24px);
	margin:clamp(16px,1.8vw,24px) 0 0;
	padding:0;
	list-style:none;
}

.nc-ncc-year {
	padding-top:clamp(12px,1.4vw,16px);
	border-top:1px solid var(--nc-on-ink-line);
}

.nc-ncc-year--now {
	border-top-color:var(--nc-tile);
}

.nc-ncc-year__figure {
	font-size:var(--nc-title-card-size);
	font-weight:var(--nc-weight-regular);
	letter-spacing:var(--nc-title-card-tracking);
	color:var(--nc-on-ink);
}

.nc-ncc-year__mode {
	margin-top:6px;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-caption);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
	color:var(--nc-on-ink-dim);
}

.nc-ncc-year__place {
	margin-top:4px;
	font-size:var(--nc-text-small);
	color:var(--nc-on-ink-soft);
}

.nc-ncc-proof {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:clamp(20px,2.6vw,40px);
	margin:clamp(36px,4vw,56px) 0 0;
	padding:0;
	list-style:none;
}

.nc-ncc-proof__item {
	padding-top:clamp(14px,1.6vw,20px);
	border-top:1px solid var(--nc-rule-plate);
}

.nc-ncc-proof__figure {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-text-figure);
	line-height:1;
	letter-spacing:-.035em;
	color:var(--nc-ink);
}

.nc-ncc-proof__caption {
	max-width:30ch;
	margin-top:12px;
	font-size:var(--nc-text-small);
	line-height:1.45;
	color:var(--nc-ink);
}

.nc-ncc-proof__who {
	margin-top:10px;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-caption);
	letter-spacing:var(--nc-mono-caption-tracking);
	text-transform:uppercase;
	color:var(--nc-si-open);
}

.nc-ncc-proof__who a {
	padding-bottom:1px;
	border-bottom:1px solid var(--nc-rule-plate);
	color:var(--nc-ink);
}

.nc-ncc-faq {
	margin-top:clamp(28px,3.4vw,44px);
}

.nc-ncc-day {
	display:grid;
	grid-template-columns:repeat(var(--n,3),minmax(0,1fr));
	gap:clamp(20px,2.6vw,40px);
	margin:clamp(36px,4vw,56px) 0 0;
	padding:0;
	list-style:none;
	counter-reset:nc-part;
}

.nc-ncc-day__part {
	padding-top:clamp(14px,1.6vw,20px);
	border-top:1px solid var(--nc-on-ink-line);
	counter-increment:nc-part;
}

.nc-ncc-day__part::before {
	content:counter(nc-part,decimal-leading-zero);
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-kicker);
	letter-spacing:var(--nc-mono-kicker-tracking);
	color:var(--nc-on-ink-dim);
}

.nc-ncc-day__when {
	margin-top:clamp(18px,2vw,26px);
}

.nc-ncc-day__sessions {
	display:grid;
	gap:14px;
	margin:clamp(14px,1.6vw,20px) 0 0;
	padding:0;
	list-style:none;
}

.nc-ncc-day__sessions li {
	position:relative;
	padding-left:20px;
	font-size:var(--nc-text-small);
	line-height:1.45;
	color:var(--nc-on-ink);
}

.nc-ncc-day__sessions li::before {
	content:'';
	position:absolute;
	top:.45em;
	left:0;
	width:7px;
	height:7px;
	border:1px solid var(--nc-on-ink-soft);
	border-radius:50%;
}

.nc-ncc-day__detail {
	display:block;
	margin-top:3px;
	color:var(--nc-on-ink-dim);
}

.nc-ncc-apply {
	display:grid;
	grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
	align-items:start;
	gap:clamp(32px,5vw,80px);
}

.nc-ncc-apply__form {
	position:sticky;
	top:calc(var(--nc-chrome-height,110px) + 16px);
	min-height:420px;
	padding:clamp(20px,2.4vw,32px);
	border:1px solid var(--nc-rule);
	border-radius:var(--nc-btn-radius);
	background:var(--nc-white);
	color:var(--nc-ink);
}

.nc-ncc-apply__form .nc-title {
	margin-top:8px;
}

.nc-ncc-apply__form .nc-hubspot {
	margin-top:clamp(18px,2vw,26px);
}

.nc-ncc-elsewhere {
	display:flex;
	flex-wrap:wrap;
	align-items:flex-end;
	justify-content:space-between;
	gap:20px 40px;
}

.nc-ncc-elsewhere .nc-actions {
	margin-top:0;
}

.nc-ncc-join {
	text-align:center;
}

.nc-ncc-join h2,
.nc-ncc-join .nc-lede {
	margin-inline:auto;
}

.nc-ncc-join .nc-kicker,
.nc-ncc-join .nc-actions {
	justify-content:center;
}

@media (max-width:1100px) {
	.nc-ncc-speakers,
	.nc-ncc-cast {
		grid-template-columns:repeat(3,minmax(0,1fr));
	}
}

@media (max-width:900px) {
	.nc-ncc-editions,
	.nc-ncc-moments,
	.nc-ncc-proof {
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.nc-ncc-editions>:last-child:nth-child(odd),
	.nc-ncc-moments>:last-child:nth-child(odd) {
		grid-column:1/-1;
	}

	.nc-ncc-years__line {
		grid-template-columns:repeat(3,minmax(0,1fr));
		row-gap:clamp(22px,4vw,30px);
	}

	.nc-ncc-apply {
		grid-template-columns:minmax(0,1fr);
	}

	.nc-ncc-apply__form {
		position:static;
	}
}

@media (max-width:640px) {
	.nc-ncc-editions,
	.nc-ncc-moments,
	.nc-ncc-proof,
	.nc-ncc-day,
	.nc-ncc-years__line {
		grid-template-columns:minmax(0,1fr);
	}

	.nc-ncc-speakers,
	.nc-ncc-cast {
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.nc-ncc-year {
		display:grid;
		grid-template-columns:minmax(64px,auto) minmax(0,1fr);
		column-gap:20px;
		align-items:baseline;
	}

	.nc-ncc-year__figure {
		grid-row:1/span 2;
	}

	.nc-ncc-year__mode {
		margin-top:0;
	}
}

@media (prefers-reduced-motion:reduce) {
	.nc-ncc-edition__picture {
		transition:none;
	}
}

/* BLOCKS
   Pieces the campaign pages share (page-ncc-bootcamp.php, page-spark.php):
   the facts along an opening's foot, numbered cards, rows that tell the
   steps of a day, a numbered list beside its heading, and a callout. They
   read their rules and soft text from the band they sit on (--nc-rule,
   --nc-si-band), so they work on the light descent and on ink alike. */

.nc-factbar {
	position:relative;
	z-index:1;
	border-top:1px solid var(--nc-on-ink-rule);
	background:color-mix(in srgb, var(--nc-ink) 72%, transparent);
	backdrop-filter:blur(8px);
}

.nc-factbar dl {
	display:grid;
	grid-template-columns:repeat(var(--n,4),minmax(0,1fr));
	margin-block:0;
}

.nc-factbar dl>div {
	padding:clamp(18px,2vw,26px) clamp(16px,2vw,28px);
	border-left:1px solid var(--nc-on-ink-rule);
}

.nc-factbar dl>div:first-child {
	padding-left:0;
	border-left:0;
}

.nc-factbar dt {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-kicker);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
	color:var(--nc-on-ink-dim);
}

.nc-factbar dd {
	margin:8px 0 0;
	font-size:var(--nc-text-lede);
	line-height:1.3;
	color:var(--nc-on-ink);
}

.nc-promises {
	display:grid;
	grid-template-columns:repeat(min(var(--n,3),var(--nc-promises-max,3)),minmax(0,1fr));
	gap:clamp(16px,1.8vw,24px);
	margin:0;
	padding:0;
	list-style:none;
}

.nc-promises__card {
	position:relative;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	gap:clamp(40px,5vw,72px);
	min-height:clamp(220px,20vw,280px);
	padding:clamp(22px,2.4vw,32px);
	border:1px solid var(--nc-rule);
	border-radius:var(--nc-btn-radius);
	background:var(--nc-white);
	color:var(--nc-ink);
}

.nc-promises__card::before {
	content:'';
	position:absolute;
	top:-1px;
	left:-1px;
	width:7px;
	height:7px;
	background:var(--nc-tile);
}

.nc-promises__n {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-kicker);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
	color:var(--nc-si-open);
}

.nc-promises__card .nc-title {
	max-width:24ch;
	margin:0;
}

.nc-promises__card p:not(.nc-title):not(.nc-promises__n) {
	margin-top:12px;
	font-size:var(--nc-text-body);
	line-height:1.6;
	color:var(--nc-si-open);
}

.nc-promises--compact .nc-promises__card {
	justify-content:flex-start;
	min-height:0;
	gap:clamp(28px,3vw,44px);
}

.nc-rows {
	margin:clamp(40px,5vw,72px) 0 0;
	padding:0;
	list-style:none;
	border-bottom:1px solid var(--nc-rule);
}

.nc-rows__row {
	display:grid;
	grid-template-columns:minmax(0,.55fr) minmax(0,1.5fr) minmax(0,1fr);
	gap:clamp(20px,3vw,48px);
	padding:clamp(28px,3.4vw,48px) 0;
	border-top:1px solid var(--nc-rule);
}

.nc-rows__row--wide .nc-rows__body {
	grid-column:2 / -1;
}

.nc-rows__mark {
	display:flex;
	flex-direction:column;
	gap:10px;
	margin:0;
}

.nc-rows__n {
	font-size:clamp(40px,4.4vw,64px);
	font-weight:var(--nc-weight-light,300);
	line-height:.9;
	letter-spacing:-.03em;
}

.nc-rows__label {
	display:inline-flex;
	align-items:center;
	gap:10px;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-kicker);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-rows__label::before {
	content:'';
	width:5px;
	height:5px;
	background:var(--nc-tile);
}

.nc-rows__body h3 {
	max-width:28ch;
	margin:0;
}

.nc-rows__body p {
	max-width:60ch;
	margin-top:14px;
	font-size:var(--nc-text-body);
	line-height:1.65;
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-rows__body>p:only-child {
	margin-top:0;
	font-size:var(--nc-text-lede);
	line-height:1.5;
	color:inherit;
}

.nc-rows__note {
	align-self:start;
	padding:18px 20px;
	border:1px solid var(--nc-rule);
	border-radius:var(--nc-btn-radius);
	background:color-mix(in srgb, currentColor 4%, transparent);
}

.nc-rows__note-label {
	margin-bottom:8px;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-kicker);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-rows__note p:last-child {
	font-size:var(--nc-text-small);
	line-height:1.6;
}

.nc-numbered {
	display:grid;
	grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
	align-items:start;
	gap:clamp(32px,5vw,80px);
}

.nc-numbered__head {
	position:sticky;
	top:calc(var(--nc-chrome-height,110px) + 24px);
}

.nc-numbered__list {
	margin:0;
	padding:0;
	list-style:none;
	border-bottom:1px solid var(--nc-rule);
}

.nc-numbered__list li {
	display:grid;
	grid-template-columns:56px minmax(0,1fr);
	align-items:baseline;
	gap:16px;
	padding:clamp(18px,2vw,26px) 0;
	border-top:1px solid var(--nc-rule);
}

.nc-numbered__n {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-kicker);
	letter-spacing:var(--nc-mono-kicker-tracking);
	color:var(--nc-tile);
}

.nc-numbered__text {
	font-size:var(--nc-text-lede);
	line-height:1.45;
}

.nc-callout {
	max-width:52ch;
	margin-top:clamp(22px,2.4vw,32px);
	padding:16px 20px;
	border-left:2px solid var(--nc-tile);
	background:var(--nc-white);
	font-size:var(--nc-text-body);
	line-height:1.6;
	color:var(--nc-ink);
}

@media (max-width:900px) {
	.nc-factbar dl {
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.nc-factbar dl>div:nth-child(odd) {
		padding-left:0;
		border-left:0;
	}

	.nc-factbar dl>div:nth-child(n+3) {
		border-top:1px solid var(--nc-on-ink-rule);
	}

	.nc-promises,
	.nc-numbered {
		grid-template-columns:minmax(0,1fr);
	}

	.nc-promises__card {
		min-height:0;
		gap:24px;
	}

	.nc-numbered__head {
		position:static;
	}

	.nc-rows__row {
		grid-template-columns:minmax(0,1fr);
	}

	.nc-rows__row--wide .nc-rows__body {
		grid-column:auto;
	}

	.nc-rows__mark {
		flex-direction:row;
		align-items:baseline;
		gap:16px;
	}
}

/* NCC EXPERT BOOTCAMP (page-ncc-bootcamp.php)
   The Connect pages' bands (panels.css, ncc.css) and the shared blocks
   (blocks.css), with the bootcamp's own pieces: the host as overline, the
   line under the introduction and the details beside the form. */

.nc-bootcamp__host {
	align-items:center;
	gap:12px;
	margin-bottom:0;
}

.nc-bootcamp__host img {
	width:auto;
	height:30px;
	margin-top:-6px;
	filter:brightness(0) invert(1);
}

.nc-bootcamp__note {
	margin-top:12px;
	font-size:var(--nc-text-body);
	color:var(--nc-on-ink-soft);
}

.nc-bootcamp__note a {
	padding-bottom:1px;
	border-bottom:1px solid var(--nc-on-ink-line);
	color:var(--nc-on-ink);
}

.nc-bootcamp__note a:is(:hover,:focus-visible) {
	border-bottom-color:var(--nc-on-ink);
}

.nc-bootcamp__stage .nc-stage__body {
	padding-bottom:clamp(48px,7vh,80px);
}

.nc-bootcamp-apply .nc-lede {
	max-width:46ch;
}

.nc-bootcamp-apply__details {
	margin:clamp(28px,3vw,40px) 0 0;
	border-bottom:1px solid var(--nc-rule);
}

.nc-bootcamp-apply__details>div {
	display:grid;
	grid-template-columns:minmax(120px,.35fr) minmax(0,1fr);
	gap:16px 24px;
	padding:18px 0;
	border-top:1px solid var(--nc-rule);
}

.nc-bootcamp-apply__details dt {
	padding-top:4px;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-kicker);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
	color:var(--nc-si-open);
}

.nc-bootcamp-apply__details dd {
	margin:0;
	font-size:var(--nc-text-body);
	line-height:1.6;
	color:var(--nc-ink);
}

.nc-bootcamp-apply__agenda {
	margin:0;
	padding:0;
	list-style:none;
}

.nc-bootcamp-apply__agenda li {
	display:flex;
	gap:16px;
}

.nc-bootcamp-apply__agenda li+li {
	margin-top:6px;
}

.nc-bootcamp-apply__agenda time {
	min-width:44px;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-row);
	letter-spacing:var(--nc-mono-row-tracking);
	line-height:1.9;
	color:var(--nc-si-open);
}

.nc-bootcamp-apply__fine {
	max-width:56ch;
	margin-top:18px;
	font-size:var(--nc-text-small);
	line-height:1.6;
	color:var(--nc-si-open);
}

@media (max-width:640px) {
	.nc-bootcamp-apply__details>div {
		grid-template-columns:minmax(0,1fr);
		gap:8px;
	}
}

/* SPARK (page-spark.php)
   The Spark Session on the descent the other pages share: the opening film
   (hero.css), a statement, open cards as on Platform (platform.css), the
   steps as on Get started (contact.css). Its own pieces: the note under the
   opening's button, the three figures and their note on ink, and the steps
   beside the form. */

.nc-spark {
	--nc-pf-text:var(--nc-ink);
	--nc-pf-soft:var(--nc-si-open);
	--nc-pf-dim:var(--nc-si);
	--nc-pf-line:var(--nc-rule-plate);
	--nc-pf-rule:var(--nc-rule);
}

.nc-spark__note {
	margin-top:20px;
	font-size:var(--nc-text-small);
	line-height:1.5;
	color:var(--nc-si-open);
}

.nc-spark__figures:has(+.nc-spark__works-note) {
	border-bottom:0;
}

.nc-spark__works-note {
	margin-top:40px;
	padding-top:20px;
	border-top:1px solid var(--nc-on-ink-line);
	font-size:var(--nc-text-small);
	line-height:1.6;
	color:var(--nc-on-ink-soft);
}

.nc-spark__works-note strong {
	font-weight:var(--nc-weight-medium);
	color:var(--nc-on-ink);
}

.nc-spark__apply {
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr);
	align-items:start;
	gap:clamp(32px,4vw,56px);
}

.nc-spark__apply .nc-contact__steps {
	margin-top:40px;
}

.nc-spark__apply .nc-contact__step-text {
	grid-column:2;
	margin-top:0;
}

.nc-spark__form {
	position:relative;
	padding:clamp(18px,2.4vw,36px);
	border:1px solid var(--nc-rule);
	border-radius:var(--nc-btn-radius);
	background:var(--nc-white);
	color:var(--nc-ink);
	scroll-margin-top:calc(var(--nc-chrome-height,110px) + 16px);
}

.nc-spark__form::before {
	content:'';
	position:absolute;
	top:-1px;
	left:-1px;
	width:7px;
	height:7px;
	background:var(--nc-tile);
}

.nc-spark__figures {
	display:grid;
	grid-template-columns:repeat(var(--n,3),minmax(0,1fr));
	margin:clamp(40px,5vw,72px) 0 0;
	padding:0;
	list-style:none;
	border-top:1px solid var(--nc-on-ink-rule);
	border-bottom:1px solid var(--nc-on-ink-rule);
}

.nc-spark__figure {
	padding:clamp(28px,3.4vw,48px) clamp(20px,2.6vw,40px);
	border-left:1px solid var(--nc-on-ink-rule);
}

.nc-spark__figure:first-child {
	padding-left:0;
	border-left:0;
}

.nc-spark__figure-n {
	font-size:clamp(64px,8vw,120px);
	font-weight:var(--nc-weight-light,300);
	line-height:.9;
	letter-spacing:-.04em;
	color:var(--nc-on-ink);
}

.nc-spark__figure-unit {
	display:flex;
	gap:10px;
	align-items:baseline;
	max-width:30ch;
	margin-top:clamp(18px,2vw,26px);
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-kicker);
	letter-spacing:var(--nc-mono-kicker-tracking);
	line-height:1.7;
	text-transform:uppercase;
	color:var(--nc-on-ink);
}

.nc-spark__figure-unit::before {
	content:'';
	flex:none;
	width:5px;
	height:5px;
	background:var(--nc-tile);
	transform:translateY(-2px);
}

.nc-spark__figure-text {
	max-width:34ch;
	margin-top:12px;
	font-size:var(--nc-text-body);
	line-height:1.6;
	color:var(--nc-on-ink-soft);
}

@media (min-width:861px) and (max-width:1100px) {
	.nc-spark .nc-spark__cards--many {
		grid-template-columns:repeat(2,minmax(0,1fr));
		row-gap:8px;
	}

	.nc-spark .nc-spark__cards--many>li:nth-child(odd)::before {
		display:none;
	}
}

@media (max-width:900px) {
	.nc-spark__apply,
	.nc-spark__figures {
		grid-template-columns:minmax(0,1fr);
	}

	.nc-spark__figure {
		padding-left:0;
		border-left:0;
	}

	.nc-spark__figure+.nc-spark__figure {
		border-top:1px solid var(--nc-on-ink-rule);
	}
}

/* STORY (template-parts/content/content-story.php)
   An industry story as an account: the head with its picture and the facts of
   the engagement, an overview, numbered chapters in a measured column, the
   customer's words set large, the figures in mono, then related content and
   the next story as hairline cards, on the ground Mayeul set: white fading to
   the floor over the head, the floor under the account, the closing on white.
   Type comes from typography.css. */

.nc-story-page {
	--nc-story-index:clamp(64px,8vw,120px);
	--nc-story-gap:clamp(24px,3vw,44px);
}

.nc-story-page__head {
	padding-top:clamp(28px,4vw,56px);
	padding-bottom:0;
	background:linear-gradient(180deg,var(--nc-ground-white),var(--nc-floor));
}

.nc-story-page__account,
.nc-story-page__more {
	background:var(--nc-floor);
}

.nc-story-page__back {
	margin:0 0 18px;
}

.nc-story-page__back a,
.nc-story-page__pub a {
	padding-bottom:2px;
	border-bottom:1px solid currentColor;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-readout);
	letter-spacing:var(--nc-mono-readout-tracking);
	text-transform:uppercase;
	text-decoration:none;
}

.nc-story-page__back a {
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-story-page__back a:is(:hover,:focus-visible),
.nc-story-page__pub a {
	color:var(--nc-ink);
}

.nc-story-page__head h1 {
	max-width:28ch;
}

.nc-story-page__pub {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
	gap:12px 24px;
	margin-top:24px;
	padding:14px 0;
	border-top:1px solid var(--nc-rule);
	border-bottom:1px solid var(--nc-rule);
}

.nc-story-page__pub time {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-readout);
	letter-spacing:var(--nc-mono-readout-tracking);
	text-transform:uppercase;
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-story-page__hero {
	margin:36px 0 0;
}

.nc-story-page__hero img {
	display:block;
	width:100%;
	height:auto;
	aspect-ratio:16/9;
	object-fit:cover;
}

.nc-story-page .nc-player {
	aspect-ratio:16/9;
	background:var(--nc-ink);
}

.nc-story-page .nc-player iframe {
	display:block;
	width:100%;
	height:100%;
	border:0;
}

.nc-story-page__hero figcaption,
.nc-story-page__prose figcaption {
	margin-top:10px;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-caption);
	letter-spacing:var(--nc-mono-caption-tracking);
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-story-page__spec {
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	margin:40px 0 0;
	border-top:1px solid var(--nc-rule);
	border-bottom:1px solid var(--nc-rule);
}

.nc-story-page__spec>div {
	display:grid;
	align-content:start;
	gap:8px;
	min-width:0;
	padding:20px 22px 22px;
	border-left:1px solid var(--nc-rule);
}

.nc-story-page__spec>div:first-child {
	padding-left:0;
	border-left:0;
}

.nc-story-page__spec dt {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-kicker);
	letter-spacing:var(--nc-mono-kicker-tracking);
	text-transform:uppercase;
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-story-page__spec dd {
	margin:0;
	max-width:26ch;
	font-size:var(--nc-text-body);
	line-height:1.3;
	text-wrap:pretty;
}

.nc-story-page__outcome dd {
	font-size:clamp(20px,1.5vw,26px);
	line-height:1.12;
	letter-spacing:-.012em;
}

.nc-story-page__outcome dd:has(strong) {
	font-size:var(--nc-text-body);
	line-height:1.3;
	letter-spacing:0;
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-story-page__outcome strong {
	display:block;
	margin-bottom:4px;
	font-size:clamp(28px,2.4vw,40px);
	font-weight:var(--nc-weight-light);
	line-height:1;
	letter-spacing:-.02em;
	color:var(--nc-ink);
}

.nc-story-page__head .nc-kicker {
	margin-top:44px;
}

.nc-story-page__overview {
	max-width:none;
	margin:14px 0 0;
}

.nc-story-page__account {
	padding-top:clamp(40px,4vw,56px);
}

.nc-story-page__chapter,
.nc-story-page__pull {
	display:grid;
	grid-template-columns:var(--nc-story-index) minmax(0,1fr);
	gap:0 var(--nc-story-gap);
	margin:0;
	padding-top:26px;
	border-top:1px solid var(--nc-rule);
}

.nc-story-page__chapter+*,
.nc-story-page__pull+* {
	margin-top:56px;
}

.nc-story-page__n {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-row);
	letter-spacing:var(--nc-mono-row-tracking);
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-story-page__text h2 {
	max-width:26ch;
	margin-bottom:18px;
}

.nc-story-page__prose>*+* {
	margin-top:14px;
}

.nc-story-page__prose p {
	max-width:88ch;
	font-size:var(--nc-text-body);
	line-height:var(--nc-leading-body);
	color:var(--nc-si-band,var(--nc-si-open));
	text-wrap:pretty;
}

.nc-story-page__prose .is-style-lead {
	max-width:60ch;
	font-size:var(--nc-text-subheading);
	line-height:1.35;
	color:var(--nc-ink);
}

.nc-story-page__prose figure {
	margin:34px 0 0;
}

.nc-story-page__prose figure img {
	display:block;
	max-width:100%;
	height:auto;
	border:1px solid var(--nc-rule);
}

.nc-story-page__prose :is(ul,ol) {
	padding-left:var(--nc-sp-5);
	font-size:var(--nc-text-body);
	line-height:var(--nc-leading-body);
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-story-page__prose li+li {
	margin-top:6px;
}

.nc-story-page__prose a:not(:has(img)) {
	color:var(--nc-ink);
	border-bottom:1px solid currentColor;
	text-decoration:none;
}

.nc-story-page__tile {
	width:15px;
	height:15px;
	margin-top:12px;
	background:var(--nc-tile);
}

.nc-story-page__pull blockquote {
	max-width:58ch;
	margin:0;
	font-weight:var(--nc-weight-thin);
	text-wrap:pretty;
}

.nc-story-page__media {
	margin-top:28px;
}

.nc-story-page__pull figcaption {
	margin-top:22px;
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-row);
	letter-spacing:var(--nc-mono-row-tracking);
	line-height:1.7;
	color:var(--nc-si-band,var(--nc-si-open));
}

.nc-story-page__figures {
	display:grid;
	grid-template-columns:repeat(var(--n,3),minmax(0,1fr));
	margin:34px 0 28px;
	border-top:1px solid var(--nc-rule);
	border-bottom:1px solid var(--nc-rule);
}

.nc-story-page__figures>p {
	display:grid;
	align-content:start;
	gap:8px;
	margin:0;
	padding:24px;
	border-left:1px solid var(--nc-rule);
}

.nc-story-page__figures>p:first-child {
	padding-left:0;
	border-left:0;
}

.nc-story-page__figures b {
	font-family:var(--nc-font-mono);
	font-size:clamp(26px,2.6vw,40px);
	font-weight:var(--nc-weight-regular);
	line-height:1;
	letter-spacing:-.03em;
	color:var(--nc-ink);
}

/* Figures in words ("From weeks to 1 day") instead of numbers, set smaller. */
.nc-story-page__figures--words b {
	font-size:clamp(22px,2vw,30px);
	line-height:1.15;
	letter-spacing:-.02em;
}

.nc-story-page__figures span {
	font-size:var(--nc-text-body);
	color:var(--nc-si-band,var(--nc-si-open));
	text-wrap:pretty;
}

.nc-story-page__next {
	display:grid;
	grid-template-columns:minmax(0,18ch) minmax(0,1fr);
	gap:10px var(--nc-story-gap);
	align-items:baseline;
	margin-top:34px;
	padding-top:22px;
	border-top:1px solid var(--nc-rule);
}

.nc-story-page__next p:last-child {
	max-width:60ch;
	font-size:var(--nc-text-subheading);
	line-height:1.4;
	color:var(--nc-ink);
}

.nc-story-page__more .nc-kicker:not(:first-child) {
	margin-top:clamp(48px,5vw,72px);
}

.nc-story-page__cards {
	display:grid;
	grid-template-columns:repeat(var(--n,3),minmax(0,1fr));
	gap:1px;
	margin:28px 0 0;
	padding:0;
	list-style:none;
}

.nc-story-page__cards a {
	position:relative;
	display:grid;
	align-content:start;
	gap:10px;
	height:100%;
	padding:24px 26px 28px;
	color:inherit;
	text-decoration:none;
	box-shadow:0 0 0 1px var(--nc-rule);
}

.nc-story-page__cards a::after {
	content:'';
	position:absolute;
	left:0;
	bottom:-1px;
	width:0;
	height:2px;
	background:var(--nc-ink);
	transition:width .42s linear;
}

.nc-story-page__cards a:is(:hover,:focus-visible)::after {
	width:100%;
}

.nc-story-page__label {
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-caption);
	letter-spacing:var(--nc-mono-caption-tracking);
	text-transform:uppercase;
	color:var(--nc-si-band,var(--nc-si-open));
}

@media (prefers-reduced-motion:reduce) {
	.nc-story-page__cards a::after {
		transition:none;
	}
}

@media (max-width:1000px) {
	.nc-story-page__spec {
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.nc-story-page__spec>div:nth-child(3) {
		padding-left:0;
		border-left:0;
	}

	.nc-story-page__spec>div:nth-child(n+3) {
		border-top:1px solid var(--nc-rule);
	}
}

@media (max-width:760px) {
	.nc-story-page__chapter,
	.nc-story-page__pull,
	.nc-story-page__next,
	.nc-story-page__figures,
	.nc-story-page__cards {
		grid-template-columns:minmax(0,1fr);
	}

	.nc-story-page__chapter,
	.nc-story-page__pull {
		gap:12px;
	}

	.nc-story-page__figures>p {
		padding-left:0;
		border-left:0;
	}

	.nc-story-page__figures>p+p {
		border-top:1px solid var(--nc-rule);
	}
}

@media (max-width:560px) {
	.nc-story-page__spec {
		grid-template-columns:minmax(0,1fr);
	}

	.nc-story-page__spec>div {
		padding-left:0;
		border-left:0;
	}

	.nc-story-page__spec>div+div {
		border-top:1px solid var(--nc-rule);
	}
}

/* TYPOGRAPHY
   The title scale. A heading carries .nc-title and one modifier; the
   modifier sets variables the block reads. Bare headings in page text take
   the scale by level; inside an article or story body they step down one
   level. Components set layout only, never a title size. */

:where(.nc-band--open,.nc-section) h1 {
	font-size:var(--nc-title-hero-size);
	font-weight:var(--nc-title-hero-weight);
	line-height:var(--nc-title-hero-leading);
	letter-spacing:var(--nc-title-hero-tracking);
}

:where(.nc-band--open,.nc-section) h2 {
	font-size:var(--nc-title-section-size);
	font-weight:var(--nc-title-section-weight);
	line-height:var(--nc-title-section-leading);
	letter-spacing:var(--nc-title-section-tracking);
	text-wrap:balance;
}

:where(.nc-band--open,.nc-section) h3,
:where(.nc-entry-content) h3 {
	font-size:var(--nc-title-card-size);
	font-weight:var(--nc-title-card-weight);
	line-height:var(--nc-title-card-leading);
	letter-spacing:var(--nc-title-card-tracking);
}

:is(h1,h2,h3,h4,.nc-title) :where(strong,b,em) {
	font-style:normal;
	font-weight:inherit;
}

:where(.nc-entry-content) h2 {
	font-size:var(--nc-title-subsection-size);
	font-weight:var(--nc-title-subsection-weight);
	line-height:var(--nc-title-subsection-leading);
	letter-spacing:var(--nc-title-subsection-tracking);
}

.nc-title {
	font-family:var(--nc-font-sans);
	font-size:var(--nc-title-size);
	font-weight:var(--nc-title-weight);
	line-height:var(--nc-title-leading);
	letter-spacing:var(--nc-title-tracking);
	text-wrap:balance;
}

.nc-title--hero {
	--nc-title-size:var(--nc-title-hero-size);
	--nc-title-weight:var(--nc-title-hero-weight);
	--nc-title-leading:var(--nc-title-hero-leading);
	--nc-title-tracking:var(--nc-title-hero-tracking);
}

.nc-title--closing {
	--nc-title-size:var(--nc-title-closing-size);
	--nc-title-weight:var(--nc-title-closing-weight);
	--nc-title-leading:var(--nc-title-closing-leading);
	--nc-title-tracking:var(--nc-title-closing-tracking);
}

.nc-title--statement {
	--nc-title-size:var(--nc-title-statement-size);
	--nc-title-weight:var(--nc-title-statement-weight);
	--nc-title-leading:var(--nc-title-section-leading);
	--nc-title-tracking:var(--nc-title-section-tracking);
}

.nc-title--section {
	--nc-title-size:var(--nc-title-section-size);
	--nc-title-weight:var(--nc-title-section-weight);
	--nc-title-leading:var(--nc-title-section-leading);
	--nc-title-tracking:var(--nc-title-section-tracking);
}

.nc-title--subsection {
	--nc-title-size:var(--nc-title-subsection-size);
	--nc-title-weight:var(--nc-title-subsection-weight);
	--nc-title-leading:var(--nc-title-subsection-leading);
	--nc-title-tracking:var(--nc-title-subsection-tracking);
}

.nc-title--card {
	--nc-title-size:var(--nc-title-card-size);
	--nc-title-weight:var(--nc-title-card-weight);
	--nc-title-leading:var(--nc-title-card-leading);
	--nc-title-tracking:var(--nc-title-card-tracking);
}

/* Long reads (resources, industry stories, legal pages) share one body
   setting, and their headings follow the scale above. */
.nc-resource__body,
.nc-entry__body,
.nc-page__prose {
	font-size:var(--nc-text-article);
	line-height:var(--nc-leading-article);
}

.nc-text--lede {
	font-size:var(--nc-text-lede);
	font-weight:var(--nc-weight-regular);
	line-height:1.58;
	letter-spacing:normal;
}

/* UTILITIES
   Visually hidden text and the skip link. */

.nc-visually-hidden {
	position:absolute;
	width:1px;
	height:1px;
	margin:-1px;
	padding:0;
	overflow:hidden;
	border:0;
	clip-path:inset(50%);
	white-space:nowrap;
}

.nc-skip-link {
	position:absolute;
	top:var(--nc-sp-2);
	left:var(--nc-sp-2);
	z-index:var(--nc-layer-modal);
	padding:var(--nc-sp-2) var(--nc-sp-4);
	background:var(--nc-ink);
	color:var(--nc-material);
	font-family:var(--nc-font-mono);
	font-size:var(--nc-mono-readout);
	letter-spacing:var(--nc-mono-readout-tracking);
	text-transform:uppercase;
	transform:translateY(-200%);
	transition:transform var(--nc-dur-port-show) var(--nc-ease-machine);
}

.nc-skip-link:focus-visible {
	transform:translateY(0);
}

/* On a touch screen, small controls keep their look and take a target of at
   least 44 px: an invisible area around them, or, for the filters, whose
   fill is clipped to their box, the compact button height. */
@media (pointer:coarse) {
	.nc-nav__toggle,
	.nc-brand,
	.nc-person__link,
	.nc-deployment__more,
	.nc-entry__share-link,
	.nc-media-kit__copy,
	.nc-footer__head {
		position:relative;
	}

	.nc-nav__toggle::after,
	.nc-brand::after,
	.nc-person__link::after,
	.nc-deployment__more::after,
	.nc-entry__share-link::after,
	.nc-media-kit__copy::after,
	.nc-footer__head::after {
		content:'';
		position:absolute;
		top:50%;
		left:50%;
		width:max(100%, var(--nc-tap));
		height:max(100%, var(--nc-tap));
		transform:translate(-50%, -50%);
	}

	.nc-chip {
		align-items:center;
		min-height:var(--nc-btn-height-compact);
	}
}
