/* InThing theme components. Base typography, colours and spacing come from theme.json;
   this file styles the component classes (it-*) applied to core blocks by patterns and the content build.
   Direction: "Signal → Decision" — graphite and paper grounds, orange only for signals and actions. */

/* Metric-matched fallback so the swap to Montserrat does not shift layout (CLS). */
@font-face { font-family: "Montserrat Fallback"; src: local("Arial"); size-adjust: 112.8%; ascent-override: 85.8%; descent-override: 22.3%; line-gap-override: 0%; }

:root {
	--it-ink: var(--wp--preset--color--ink);
	--it-graphite: var(--wp--preset--color--graphite);
	--it-black: var(--wp--preset--color--black);
	--it-paper: var(--wp--preset--color--paper);
	--it-orange: var(--wp--preset--color--orange);
	--it-orange-text: var(--wp--preset--color--orange-text);
	--it-orange-bright: var(--wp--preset--color--orange-bright);
	--it-muted: var(--wp--preset--color--muted);
	--it-muted-dark: var(--wp--preset--color--muted-dark);
	--it-line: var(--wp--preset--color--line);
	--it-line-dark: #3a3a3a;
	--it-mono: var(--wp--preset--font-family--mono);
	--it-r-s: var(--wp--custom--radius--s);
	--it-r-m: var(--wp--custom--radius--m);
	--it-r-l: var(--wp--custom--radius--l);
	--it-ease: cubic-bezier(.2, .7, .2, 1);
	--it-section: var(--wp--preset--spacing--70);
}
html { scroll-padding-top: 88px; }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
h1, h2, h3 { text-wrap: balance; }
:where(.wp-site-blocks) :focus-visible { outline: 3px solid var(--it-orange-bright); outline-offset: 3px; border-radius: 4px; }
.screen-reader-text:focus { background: var(--it-orange); color: var(--it-ink); padding: .6rem 1rem; z-index: 100000; }

/* ---------- Sections ---------- */
.it-section { padding-top: var(--it-section); padding-bottom: var(--it-section); margin-top: 0 !important; margin-bottom: 0 !important; }
.it-section.is-tight { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); }
.it-section.no-top { padding-top: var(--wp--preset--spacing--50); }
.wp-site-blocks > main > * + *, .wp-site-blocks main.wp-block-group > .it-section + .it-section { margin-block-start: 0; }
.is-dark { background: var(--it-graphite); color: #fff; }
.is-dark :where(p, li) { color: var(--it-muted-dark); }
.is-dark :where(h1, h2, h3, h4, strong) { color: #fff; }
.is-dark a:where(:not(.wp-element-button)) { color: var(--it-orange-bright); }
.is-paper { background: var(--it-paper); }
.has-grid-bg { background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 48px 48px; }
.is-paper.has-grid-bg { background-image: linear-gradient(rgba(0,0,0,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(0,0,0,.035) 1px, transparent 1px); }

/* Section head: eyebrow + title + lead, optional split */
.it-head { display: grid; gap: .75rem; margin-bottom: var(--wp--preset--spacing--60) !important; }
.it-head > * { margin: 0 !important; }
.it-head h2 { max-width: 22ch; }
@media (min-width: 900px) { .it-head.is-split { grid-template-columns: 1.2fr 1fr; column-gap: var(--wp--preset--spacing--60); align-items: end; } .it-head.is-split > .it-eyebrow { grid-column: 1; } .it-head.is-split > h2 { grid-column: 1; } .it-head.is-split > .it-lead { grid-column: 2; grid-row: 1 / span 2; align-self: end; } }

/* ---------- Type helpers ---------- */
.it-eyebrow { font-family: var(--it-mono); font-size: .8125rem !important; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--it-orange-text) !important; display: flex; align-items: center; gap: .6em; }
.it-eyebrow::before { content: ""; width: .55em; height: .55em; border-radius: 50%; background: var(--it-orange); box-shadow: 0 0 0 4px rgba(226,99,16,.18); flex: none; }
.is-dark .it-eyebrow { color: var(--it-orange-bright) !important; }
.it-lead { font-size: var(--wp--preset--font-size--large) !important; line-height: 1.55; color: var(--it-muted); max-width: 46rem; }
.is-dark .it-lead { color: var(--it-muted-dark); }
.it-muted { color: var(--it-muted); }
.is-dark .it-muted { color: var(--it-muted-dark); }
.it-mono { font-family: var(--it-mono); }
.it-tag, .it-tags span, .taxonomy-content_type a, .taxonomy-maturity a, .taxonomy-content_type span, .taxonomy-maturity span { display: inline-flex; align-items: center; gap: .4em; font-family: var(--it-mono); font-size: .75rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; padding: .3em .65em; border-radius: var(--it-r-s); background: rgba(226,99,16,.1); color: var(--it-orange-text); text-decoration: none; width: fit-content; }
.is-dark .it-tag, .is-dark .it-tags span { background: rgba(242,132,58,.14); color: var(--it-orange-bright); }
.it-tag.is-neutral { background: rgba(0,0,0,.06); color: var(--it-muted); }
.is-dark .it-tag.is-neutral { background: rgba(255,255,255,.08); color: var(--it-muted-dark); }
.it-tags { display: flex; flex-wrap: wrap; gap: .4rem; }
.it-link-arrow a, a.it-link-arrow { font-weight: 700; color: var(--it-orange-text); text-decoration: none; }
.it-link-arrow a::after, a.it-link-arrow::after { content: " →"; display: inline-block; transition: transform .15s var(--it-ease); }
.it-link-arrow a:hover::after, a.it-link-arrow:hover::after { transform: translateX(3px); }
.is-dark .it-link-arrow a { color: var(--it-orange-bright); }

/* ---------- Buttons ---------- */
.wp-element-button, .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: .5em; min-height: 48px; text-decoration: none; transition: transform .15s var(--it-ease), background-color .15s, color .15s, border-color .15s; }
.wp-block-button__link:hover { transform: translateY(-1px); }
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: var(--it-ink); border-color: currentColor; }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--it-ink); color: #fff; border-color: var(--it-ink); }
.is-dark .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff; }
.is-dark .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #fff; color: var(--it-ink); border-color: #fff; }

/* ---------- Grids and cards ---------- */
.it-grid { display: grid !important; gap: var(--wp--preset--spacing--40); grid-template-columns: 1fr; }
@media (min-width: 720px) { .it-grid.cols-2, .it-grid.cols-3, .it-grid.cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .it-grid.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .it-grid.cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.it-grid > * { margin: 0 !important; min-width: 0; }
.it-card { position: relative; display: flex; flex-direction: column; gap: .75rem; padding: var(--wp--preset--spacing--50); border-radius: var(--it-r-l); background: #fff; border: 1px solid var(--it-line); color: var(--it-ink); transition: border-color .2s, transform .2s var(--it-ease), box-shadow .2s; }
.it-card > * { margin: 0 !important; }
.it-card h3 { font-size: 1.25rem; }
.it-card p { color: var(--it-muted); }
.it-card .it-card-foot { margin-top: auto !important; padding-top: .5rem; }
.it-card:has(a.it-card-link:hover), .it-card.is-linked:hover { border-color: var(--it-ink); transform: translateY(-2px); box-shadow: 0 1px 2px rgba(0,0,0,.06), 0 8px 28px rgba(0,0,0,.08); }
.it-card a.it-card-link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.it-card a.it-card-link { color: inherit; text-decoration: none; }
.is-dark .it-card { background: var(--it-black); border-color: var(--it-line-dark); color: #fff; }
.is-dark .it-card p { color: var(--it-muted-dark); }
.is-dark .it-card:has(a.it-card-link:hover) { border-color: var(--it-orange); }
.is-paper .it-card.is-flat { background: #fff; }
.it-card.is-soft { background: var(--it-paper); border-color: transparent; }
.it-card .it-code { font-family: var(--it-mono); font-weight: 700; letter-spacing: .14em; font-size: .8125rem; text-transform: uppercase; color: var(--it-orange-text); }
.is-dark .it-card .it-code { color: var(--it-orange-bright); }
.it-ticks { list-style: none; padding: 0 !important; margin: 0; display: grid; gap: .5rem; }
.it-ticks li { position: relative; padding-left: 1.4rem; font-size: .9375rem; line-height: 1.45; }
.it-ticks li::before { content: ""; position: absolute; left: 2px; top: .5em; width: 8px; height: 8px; border-radius: 50%; background: var(--it-orange); }

/* Card visuals (inline SVG figures) */
.it-visual { border-radius: var(--it-r-m); background: #141414; border: 1px solid var(--it-line-dark); overflow: hidden; height: 132px; margin: 0; }
.it-visual svg { width: 100%; height: 100%; display: block; }

/* ---------- Hero ---------- */
.it-hero { padding-top: clamp(3rem, 2rem + 5vw, 6rem); padding-bottom: clamp(3rem, 2rem + 4vw, 5.5rem); overflow: hidden; }
.it-hero h1 { margin-top: 1.25rem; max-width: 18ch; }
.it-hero h1 em, .it-hero h1 mark { font-style: normal; color: var(--it-orange-bright); background: none; }
.it-hero .it-lead { margin-bottom: 1.5rem; }
.it-hero-grid { display: grid; gap: var(--wp--preset--spacing--60); align-items: center; }
.it-hero-grid > * { min-width: 0; margin: 0 !important; }
@media (min-width: 1024px) { .it-hero-grid { grid-template-columns: 1.05fr 1fr; } }
.it-page-hero h1 { font-size: clamp(2.25rem, 1.4rem + 3.4vw, 3.9rem); }
.wp-block-breadcrumbs, .it-crumbs { font-family: var(--it-mono); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: var(--it-muted-dark); margin-bottom: 1.25rem; }
.wp-block-breadcrumbs a, .it-crumbs a { color: var(--it-muted-dark) !important; }
.is-paper .wp-block-breadcrumbs, .is-paper .wp-block-breadcrumbs a { color: var(--it-muted) !important; }
.it-hero-media img { border-radius: var(--it-r-m); border: 1px solid var(--it-line-dark); box-shadow: 0 30px 60px rgba(0,0,0,.4); }
.it-entry-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.75rem !important; }
.it-entry-chips a { display: inline-flex; align-items: center; gap: .55em; min-height: 44px; padding: .5rem .95rem; border-radius: 999px; border: 1px solid var(--it-line-dark); background: rgba(255,255,255,.03); color: #fff !important; text-decoration: none; font-size: .9375rem; font-weight: 600; }
.it-entry-chips a:hover { border-color: var(--it-orange); background: rgba(226,99,16,.12); }
.it-entry-chips a::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--it-orange); }

/* ---------- Steps and strips ---------- */
.it-steps { list-style: none; padding: 0 !important; margin: 0; display: grid; border: 1px solid var(--it-line); border-radius: var(--it-r-m); overflow: hidden; background: #fff; counter-reset: it-step; }
@media (min-width: 760px) { .it-steps { grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); } }
.it-steps li { position: relative; padding: var(--wp--preset--spacing--40); border-top: 1px solid var(--it-line); counter-increment: it-step; line-height: 1.5; color: var(--it-muted); font-size: .9375rem; }
.it-steps li:first-child { border-top: 0; }
@media (min-width: 760px) { .it-steps li { border-top: 0; border-left: 1px solid var(--it-line); } .it-steps li:first-child { border-left: 0; } }
.it-steps li::before { content: "Step 0" counter(it-step); display: block; font-family: var(--it-mono); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; color: var(--it-muted); margin-bottom: .4rem; }
.it-steps li::after { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, var(--it-orange), transparent); }
.it-steps li strong { display: block; color: var(--it-ink); font-size: 1.0625rem; margin-bottom: .3rem; }
.is-dark .it-steps { background: var(--it-black); border-color: var(--it-line-dark); }
.is-dark .it-steps li { border-color: var(--it-line-dark); color: var(--it-muted-dark); }
.is-dark .it-steps li::before { color: var(--it-muted-dark); }
.is-dark .it-steps li strong { color: #fff; }

.it-strip { display: grid !important; border: 1px solid var(--it-line-dark); border-radius: var(--it-r-l); overflow: hidden; gap: 0 !important; }
@media (min-width: 900px) { .it-strip { grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); } }
.it-strip > * { position: relative; padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40) !important; border-top: 1px solid var(--it-line-dark); margin: 0 !important; display: flex; flex-direction: column; gap: .5rem; }
.it-strip > *:first-child { border-top: 0; }
@media (min-width: 900px) { .it-strip > * { border-top: 0; border-left: 1px solid var(--it-line-dark); } .it-strip > *:first-child { border-left: 0; } }
.it-strip > *::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, var(--it-orange), transparent); }
.it-strip > * > * { margin: 0 !important; }
.it-strip .it-n { font-family: var(--it-mono); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.it-strip h3 { font-size: 1.125rem; }
.it-strip p { font-size: .9375rem; }
/* strip colors: light by default, dark inside .is-dark */
.it-strip, .it-strip > * { border-color: var(--it-line) !important; }
.it-strip .it-n { color: var(--it-muted); }
.it-strip p { color: var(--it-muted); }
.is-dark .it-strip, .is-dark .it-strip > * { border-color: var(--it-line-dark) !important; }
.is-dark .it-strip .it-n, .is-dark .it-strip p { color: var(--it-muted-dark); }

/* ---------- Pipeline (5 stages) ---------- */
.it-pipeline { list-style: none; padding: 0 !important; margin: 0; display: grid; gap: .75rem; counter-reset: it-stage; }
@media (min-width: 900px) { .it-pipeline { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; } }
.it-pipeline li { position: relative; counter-increment: it-stage; padding: var(--wp--preset--spacing--40); border: 1px solid var(--it-line-dark); background: var(--it-black); border-radius: var(--it-r-m); font-size: .9375rem; line-height: 1.5; color: var(--it-muted-dark); }
@media (min-width: 900px) { .it-pipeline li { border-radius: 0; border-right-width: 0; } .it-pipeline li:first-child { border-radius: var(--it-r-m) 0 0 var(--it-r-m); } .it-pipeline li:last-child { border-radius: 0 var(--it-r-m) var(--it-r-m) 0; border-right-width: 1px; } }
.it-pipeline li::before { content: "0" counter(it-stage); display: block; font-family: var(--it-mono); font-size: .75rem; letter-spacing: .1em; color: var(--it-muted-dark); margin-bottom: 1.25rem; }
.it-pipeline li::after { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, var(--it-orange), transparent); }
.it-pipeline li em { display: block; font-style: normal; font-family: var(--it-mono); font-size: .75rem; color: var(--it-orange-bright); letter-spacing: .08em; text-transform: uppercase; margin-bottom: .4rem; }
.it-pipeline li strong { display: block; color: #fff; font-size: 1.0625rem; margin-bottom: .35rem; }

/* ---------- Visibility gap table ---------- */
.it-gap { border: 1px solid var(--it-line); border-radius: var(--it-r-l); overflow: hidden; background: #fff; }
.it-gap table { width: 100%; border-collapse: collapse; border: 0; }
.it-gap.wp-block-table td, .it-gap.wp-block-table th { border: 0; border-top: 1px solid var(--it-line); }
.it-gap.wp-block-table thead th { border-top: 0; }
.it-gap.wp-block-table thead { border-bottom: 0; }
.it-gap th, .it-gap td { padding: 1rem 1.25rem; text-align: left; vertical-align: top; border-top: 1px solid var(--it-line); }
.it-gap thead th { border-top: 0; background: var(--it-paper); font-family: var(--it-mono); font-size: .75rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--it-muted); }
.it-gap td:first-child { font-weight: 700; font-size: .9375rem; }
.it-gap td:nth-child(2) { color: var(--it-muted); }
.it-gap td:last-child { font-weight: 600; background: linear-gradient(90deg, rgba(226,99,16,.09), transparent 80%); border-left: 3px solid var(--it-orange); }
.it-gap figcaption { display: none; }
@media (max-width: 759px) { .it-gap thead { display: none; } .it-gap tr { display: grid; border-top: 1px solid var(--it-line); } .it-gap td { border-top: 0; } }

/* ---------- Outcomes, fit, alerts ---------- */
.it-outcomes { list-style: none; padding: 0 !important; margin: 0; display: grid; gap: .75rem; }
@media (min-width: 760px) { .it-outcomes { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.it-outcomes li { padding: var(--wp--preset--spacing--40); border-radius: var(--it-r-m); background: var(--it-paper); font-weight: 600; line-height: 1.4; }
.is-paper .it-outcomes li { background: #fff; }
.is-dark .it-outcomes li { background: var(--it-black); color: #fff; }
.it-fit { list-style: none; padding: 0 !important; margin: 0; display: grid; gap: .75rem; }
@media (min-width: 760px) { .it-fit { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.it-fit li { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: start; padding: 1rem 1.25rem; border-radius: var(--it-r-m); border: 1px solid var(--it-line); background: #fff; color: var(--it-muted); font-size: .9375rem; line-height: 1.45; }
.it-fit li strong { font-family: var(--it-mono); font-size: .75rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; padding: .3em .65em; border-radius: var(--it-r-s); background: rgba(226,99,16,.1); color: var(--it-orange-text); white-space: nowrap; }
.it-chips { list-style: none; padding: 0 !important; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.it-chips li { display: inline-flex; align-items: center; gap: .5em; min-height: 40px; padding: .45rem .9rem; border-radius: 999px; border: 1px solid var(--it-line); background: #fff; font-size: .9rem; font-weight: 600; }
.it-chips li::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--it-orange); }
.is-dark .it-chips li { background: var(--it-black); border-color: var(--it-line-dark); color: #fff; }

/* Workflow list (definition-like rows) */
.it-workflows { display: grid !important; gap: 0 !important; border-top: 1px solid var(--it-line); }
@media (min-width: 900px) { .it-workflows { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--wp--preset--spacing--60) !important; } }
.it-workflows > * { margin: 0 !important; padding: 1.1rem 0; border-bottom: 1px solid var(--it-line); display: grid; gap: .3rem; scroll-margin-top: 100px; }
.it-workflows h3 { font-size: 1.0625rem; margin: 0; }
.it-workflows p { margin: 0; color: var(--it-muted); font-size: .9375rem; }
.is-dark .it-workflows, .is-dark .it-workflows > * { border-color: var(--it-line-dark); }

/* ---------- Proof / stories ---------- */
.it-story { display: flex; flex-direction: column; gap: 1rem; padding: var(--wp--preset--spacing--50); border-radius: var(--it-r-l); background: var(--it-black); border: 1px solid var(--it-line-dark); color: #fff; }
.it-story > * { margin: 0 !important; }
.it-story h3 { font-size: var(--wp--preset--font-size--x-large); }
.it-metric { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: baseline; padding-top: 1rem; border-top: 1px solid var(--it-line-dark); }
.it-metric strong { font-size: var(--wp--preset--font-size--xx-large); font-weight: 800; letter-spacing: -.04em; color: #fff; line-height: 1; }
.it-metric span { color: var(--it-muted-dark); font-size: .9375rem; line-height: 1.4; }
.it-story blockquote, .it-story .wp-block-quote { margin: 0; border: 0; padding: 0; font-size: 1.0625rem; color: #fff; }
.it-story cite { display: block; font-style: normal; color: var(--it-muted-dark); font-size: .875rem; margin-top: .5rem; }
.it-story .it-card-foot { margin-top: auto !important; }

/* ---------- Key/value list (light by default, dark inside .is-dark) ---------- */
.it-kv { margin: 0; display: grid; }
.it-kv > div { display: grid; gap: .2rem; padding: .85rem 0; border-bottom: 1px solid var(--it-line); }
@media (min-width: 600px) { .it-kv > div { grid-template-columns: 180px 1fr; gap: 1.5rem; } }
.it-kv dt { font-family: var(--it-mono); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--it-orange-text); }
.it-kv dd { margin: 0; color: var(--it-muted); }
.it-kv dd strong { color: var(--it-ink); }
.is-dark .it-kv > div { border-color: var(--it-line-dark); }
.is-dark .it-kv dt { color: var(--it-orange-bright); }
.is-dark .it-kv dd { color: var(--it-muted-dark); }
.is-dark .it-kv dd strong { color: #fff; }

/* ---------- Facts (Technology page) ---------- */
.it-facts { display: grid !important; gap: 1px !important; background: var(--it-line-dark); border: 1px solid var(--it-line-dark); border-radius: var(--it-r-l); overflow: hidden; }
@media (min-width: 720px) { .it-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .it-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.it-facts > * { margin: 0 !important; background: var(--it-graphite); padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40); display: flex; flex-direction: column; gap: .5rem; }
.it-facts > * > * { margin: 0 !important; }
.it-facts .it-fact-value { font-size: clamp(2rem, 1.4rem + 2vw, 2.75rem); font-weight: 800; letter-spacing: -.04em; line-height: 1; color: #fff; }
.it-facts .it-fact-label { color: var(--it-muted-dark); font-size: .9375rem; line-height: 1.45; }
.it-facts .it-fact-source { font-family: var(--it-mono); font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; color: #8e9191; margin-top: auto !important; }

/* ---------- Timeline (Milestones) ---------- */
.it-timeline { list-style: none; padding: 0 !important; margin: 0; display: grid; gap: 0; border-left: 2px solid var(--it-line); }
.it-timeline li { position: relative; padding: 0 0 2rem 1.75rem; }
.it-timeline li::before { content: ""; position: absolute; left: -7px; top: .35rem; width: 12px; height: 12px; border-radius: 50%; background: var(--it-orange); box-shadow: 0 0 0 4px rgba(226,99,16,.18); }
.it-timeline li strong { display: block; font-family: var(--it-mono); font-size: .8125rem; letter-spacing: .1em; color: var(--it-orange-text); text-transform: uppercase; }
.is-dark .it-timeline { border-color: var(--it-line-dark); }
.is-dark .it-timeline li strong { color: var(--it-orange-bright); }

/* ---------- Partners ---------- */
.it-names { list-style: none; padding: 0 !important; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--it-line); border: 1px solid var(--it-line); border-radius: var(--it-r-m); overflow: hidden; }
@media (min-width: 760px) { .it-names { grid-template-columns: repeat(var(--cols, 5), minmax(0, 1fr)); } }
.it-names li { display: grid; place-items: center; text-align: center; min-height: 84px; padding: .75rem; background: #fff; font-weight: 700; color: var(--it-ink); letter-spacing: .01em; }
.is-dark .it-names { background: var(--it-line-dark); border-color: var(--it-line-dark); }
.is-dark .it-names li { background: var(--it-graphite); color: #d6d8d8; }

/* ---------- CTA band ---------- */
.it-cta { position: relative; overflow: hidden; display: grid !important; gap: var(--wp--preset--spacing--50); padding: clamp(2rem, 1rem + 4vw, 4.5rem) !important; border-radius: var(--it-r-l); background: var(--it-graphite); color: #fff; }
@media (min-width: 900px) { .it-cta { grid-template-columns: 1.4fr 1fr; align-items: end; } }
.it-cta > * { margin: 0 !important; position: relative; }
.it-cta h2 { color: #fff; margin: .75rem 0 1rem; }
.it-cta p { color: var(--it-muted-dark); }
.it-cta::after { content: ""; position: absolute; right: -40px; top: -40px; width: 260px; height: 256px; background: url(../images/inthing-white-mark.svg) no-repeat center / contain; opacity: .07; pointer-events: none; }

/* ---------- Media ---------- */
.it-screen img, .it-screen { border-radius: var(--it-r-m); }
.it-screen img { border: 1px solid var(--it-line-dark); box-shadow: 0 30px 60px rgba(0,0,0,.35); background: #111; }
.it-split { display: grid !important; gap: var(--wp--preset--spacing--60); align-items: center; }
.it-split > * { margin: 0 !important; min-width: 0; }
@media (min-width: 960px) { .it-split { grid-template-columns: 1fr 1fr; } .it-split.is-reversed > :first-child { order: 2; } }

/* ---------- Posts / insights ---------- */
.it-post-card { padding-top: 1.25rem; border-top: 2px solid var(--it-ink); display: flex; flex-direction: column; gap: .5rem; height: 100%; }
.it-post-card > * { margin: 0 !important; }
.it-post-card .wp-block-post-title { font-size: 1.1875rem; line-height: 1.3; letter-spacing: -.01em; }
.it-post-card .wp-block-post-title a { color: var(--it-ink); text-decoration: none; }
.it-post-card .wp-block-post-title a:hover { text-decoration: underline; text-decoration-color: var(--it-orange); text-underline-offset: 4px; }
.it-post-card .wp-block-post-date, .it-post-card .wp-block-post-terms { font-family: var(--it-mono); font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; color: var(--it-muted); }
.it-post-card .wp-block-post-terms a { color: var(--it-muted); text-decoration: none; }
.it-post-card .wp-block-post-featured-image img { border-radius: var(--it-r-m); aspect-ratio: 16/9; object-fit: cover; }
.it-prose { font-size: 1.0625rem; }
.it-prose > * + * { margin-top: 1.1em; }
.it-prose h2 { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); margin-top: 2.2em; }
.it-prose h3 { margin-top: 1.8em; }
.it-prose img { border-radius: var(--it-r-m); }
.it-prose a { color: var(--it-orange-text); }
.wp-block-query-pagination { margin-top: var(--wp--preset--spacing--50); gap: .5rem; font-weight: 600; }

/* ---------- Header ---------- */
.it-header { position: sticky; top: 0; z-index: 50; isolation: isolate; color: #fff; border-bottom: 1px solid rgba(255,255,255,.08); }
/* The blur sits on a pseudo-element: backdrop-filter on the header itself would make it the containing block
   for the fixed mobile menu overlay and squeeze the menu into the 72 px bar. */
.it-header::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(22,22,22,.94); -webkit-backdrop-filter: saturate(1.4) blur(10px); backdrop-filter: saturate(1.4) blur(10px); pointer-events: none; }
body.admin-bar .it-header { top: var(--wp-admin--admin-bar--height, 32px); }
.it-header > .wp-block-group > .wp-block-group { min-height: 72px; align-items: center; }
.it-header .wp-block-site-logo img, .it-logo img { height: 28px; width: auto; }
.it-header .wp-block-navigation { --nav-gap: .25rem; }
.it-header .wp-block-navigation .wp-block-navigation-item__content { color: #fff; padding: .6rem .8rem; border-radius: var(--it-r-s); text-decoration: none; }
.it-header .wp-block-navigation .wp-block-navigation-item__content:hover { background: rgba(255,255,255,.08); }
.it-header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content, .it-header .wp-block-navigation .current-menu-ancestor > .wp-block-navigation-item__content { box-shadow: inset 0 -2px 0 var(--it-orange); border-radius: 0; }
.it-header .wp-block-navigation .wp-block-navigation__submenu-container { background: #fff !important; color: var(--it-ink) !important; border: 1px solid var(--it-line) !important; border-radius: var(--it-r-m); box-shadow: 0 24px 48px rgba(0,0,0,.18); padding: .5rem; min-width: 280px !important; }
.it-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content { color: var(--it-ink); font-weight: 600; padding: .55rem .8rem; }
.it-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--it-paper); color: var(--it-orange-text); }
.it-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container { left: 100%; top: -.5rem; }
.it-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--it-ink) !important; color: #fff !important; padding: 1.5rem var(--wp--custom--gutter); }
.it-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.125rem; color: #fff; }
.it-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { background: transparent !important; border: 0 !important; box-shadow: none; color: #fff !important; padding-left: 1rem; }
.it-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { color: var(--it-muted-dark); font-size: 1rem; }
.it-header .wp-block-navigation__responsive-container-open { width: 48px; height: 48px; border-radius: 999px; background: rgba(255,255,255,.08); align-items: center; justify-content: center; color: #fff; }
.it-header .wp-block-navigation__responsive-container-close { color: #fff; }
.it-header .it-header-cta .wp-block-button__link { min-height: 40px; padding: .5rem 1rem; font-size: .9375rem; }
/* Below 1100 px the full menu does not fit: use the overlay menu (core only collapses below 600 px). */
@media (min-width: 600px) and (max-width: 1099px) {
	.it-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.it-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
}
/* Compact booking button next to the menu toggle on small screens. */
@media (max-width: 1099px) {
	.it-header .it-header-cta .wp-block-button__link { min-height: 40px; padding: .45rem .85rem; font-size: .875rem; }
	.it-header .it-cta-more { display: none; }
}
@media (max-width: 359px) { .it-header .it-header-cta { display: none; } }

/* ---------- Footer ---------- */
.it-footer { background: var(--it-ink); color: var(--it-muted-dark); font-size: .9375rem; }
.it-footer h2 { font-family: var(--it-mono); font-size: .8125rem !important; letter-spacing: .12em; text-transform: uppercase; color: #fff; font-weight: 600; margin-bottom: 1rem; }
.it-footer a { color: var(--it-muted-dark); text-decoration: none; }
.it-footer a:hover { color: #fff; text-decoration: underline; }
.it-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.it-footer .it-footer-base { border-top: 1px solid var(--it-line-dark); font-size: .8125rem; }
.it-footer p { color: var(--it-muted-dark); }

/* ---------- Single post ---------- */
.it-article-head { padding-top: clamp(2.5rem, 1.5rem + 4vw, 5rem); padding-bottom: var(--wp--preset--spacing--60); }
.it-article-meta { font-family: var(--it-mono); font-size: .8125rem; letter-spacing: .06em; text-transform: uppercase; color: var(--it-muted-dark); display: flex; flex-wrap: wrap; gap: .4rem 1rem; }
.it-article-meta a { color: var(--it-muted-dark); }

/* Notice for content awaiting confirmation (visible to editors only; front end hidden) */
.it-needs-confirmation { display: none; }
.editor-styles-wrapper .it-needs-confirmation, body.logged-in .it-needs-confirmation { display: block; font-family: var(--it-mono); font-size: .75rem; color: #6b4e00; background: #fff3cd; border: 1px dashed #b38b00; border-radius: 6px; padding: .5rem .75rem; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}

/* ---------- Use-case cards (inthing/use-case-grid) ---------- */
.it-more, .it-card p.it-more { font-weight: 700; color: var(--it-orange-text); font-size: .9375rem; }
.it-more::after { content: " →"; }
.is-dark .it-more, .is-dark .it-card p.it-more { color: var(--it-orange-bright); }
.it-use-case-group + .it-use-case-group { margin-top: var(--wp--preset--spacing--60); }
.it-use-case-group-head { display: grid; gap: .25rem; margin-bottom: 1.25rem; }
.it-use-case-group-head h3 { font-size: var(--wp--preset--font-size--x-large); margin: 0; }
.it-use-case-group-head h3 a { color: inherit; text-decoration: none; }
.it-use-case-group-head h3 a::after { content: " →"; color: var(--it-orange-text); }
.it-use-case-group-head p { margin: 0; color: var(--it-muted); }
.it-steps.cols-1 { --cols: 1; } .it-steps.cols-2 { --cols: 2; } .it-steps.cols-3 { --cols: 3; } .it-steps.cols-4 { --cols: 4; }
.it-steps.cols-1 li { border-left: 0; border-top: 1px solid var(--it-line); } .it-steps.cols-1 li:first-child { border-top: 0; }
.it-strip.cols-2 { --cols: 2; } .it-strip.cols-3 { --cols: 3; } .it-strip.cols-4 { --cols: 4; }
.it-names.cols-3 { --cols: 3; } .it-names.cols-4 { --cols: 4; } .it-names.cols-5 { --cols: 5; } .it-names.cols-6 { --cols: 6; }

/* Story metrics band inside articles */
.it-metrics { display: grid !important; gap: 1px !important; background: var(--it-line); border: 1px solid var(--it-line); border-radius: var(--it-r-l); overflow: hidden; margin-block: 2rem !important; }
@media (min-width: 720px) { .it-metrics { grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); grid-auto-flow: column; } }
.it-metrics > * { background: #fff; padding: 1.5rem; margin: 0 !important; display: flex; flex-direction: column; gap: .4rem; }
.it-metrics > * > * { margin: 0 !important; }
.it-metrics .it-fact-value { font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem); font-weight: 800; letter-spacing: -.04em; line-height: 1; color: var(--it-ink); }
.it-metrics .it-fact-label { color: var(--it-muted); font-size: .9375rem; line-height: 1.45; }
.it-prose .it-kv { margin-block: 1.5rem; }
.it-prose .wp-block-quote { font-size: 1.25rem; font-weight: 600; line-height: 1.45; margin-block: 2rem; }
.it-prose .wp-block-quote cite { display: block; font-size: .875rem; font-weight: 500; font-style: normal; color: var(--it-muted); margin-top: .75rem; }

/* Dark sections: post cards and forms on white cards keep readable colors */
.is-dark .it-post-card { border-top-color: rgba(255,255,255,.85); }
.is-dark .it-post-card .wp-block-post-title a { color: #fff; }
.is-dark .it-post-card .wp-block-post-date, .is-dark .it-post-card .wp-block-post-terms, .is-dark .it-post-card .wp-block-post-terms a, .is-dark .it-post-card .wp-block-post-excerpt__excerpt { color: var(--it-muted-dark); }
.is-dark .it-booking-form :where(p, label, li, h2), .is-dark .it-booking-calendar :where(p, label) { color: var(--it-ink); }
.is-dark .it-booking-form .it-booking-small, .is-dark .it-booking-calendar p:not(.it-booking-kicker) { color: var(--it-muted); }
.is-dark .it-booking-form a { color: var(--it-orange-text); }

/* WCAG 2.5.8 target size for inline contact links */
.it-footer a { display: inline-block; padding-block: .2rem; }
.it-footer .it-mono { line-height: 2; }

/* =====================================================================
   Homepage (iteration 2): light scene hero, proof band, manifesto,
   scroll-linked "how it works", feature story, photo cards, logos.
   ===================================================================== */

/* ---------- Light hero with scene ---------- */
.it-hero.is-light { background: radial-gradient(60% 70% at 85% 30%, rgba(226,99,16,.07), transparent 70%), #fff; color: var(--it-ink); padding-top: clamp(2.5rem, 1.5rem + 3vw, 4.5rem); padding-bottom: clamp(2rem, 1rem + 3vw, 3.5rem); }
.it-hero.is-light h1 { color: var(--it-ink); font-size: clamp(2.25rem, 1.5rem + 2.4vw, 3.5rem); max-width: 17ch; margin-top: 1rem; }
.it-hero.is-light .it-lead { color: var(--it-muted); }
.it-hero-grid.is-scene { align-items: center; }
@media (min-width: 1024px) { .it-hero-grid.is-scene { grid-template-columns: minmax(0, .9fr) minmax(0, 1.25fr); gap: var(--wp--preset--spacing--50); } }
.it-hero-copy > * { margin-top: 0; margin-bottom: 0; }
.it-hero-copy > * + * { margin-top: 1.1rem; }
.it-hero-trust { font-family: var(--it-mono); font-size: .75rem !important; letter-spacing: .06em; text-transform: uppercase; line-height: 1.7; color: var(--it-muted); padding-top: 1.1rem; border-top: 1px solid var(--it-line); max-width: 34rem; margin-top: 1.75rem !important; }

/* ---------- Proof band ---------- */
.it-proof-band { border-top: 1px solid var(--it-line); border-bottom: 1px solid var(--it-line); }
.it-proof-kicker { font-family: var(--it-mono); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--it-muted); margin: 0 0 1.25rem !important; }
.it-proof { display: grid !important; gap: 1.5rem 2rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 1024px) { .it-proof { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.it-proof > * { margin: 0 !important; display: flex; flex-direction: column; gap: .35rem; padding-left: 1rem; border-left: 2px solid var(--it-orange); }
.it-proof > * > * { margin: 0 !important; }
.it-proof .it-proof-value { font-size: clamp(2rem, 1.4rem + 1.8vw, 2.9rem); font-weight: 800; letter-spacing: -.04em; line-height: 1; color: var(--it-ink); }
.it-proof .it-proof-label { color: var(--it-muted); font-size: .9375rem; line-height: 1.4; }
.it-proof .it-link-arrow { font-size: .875rem; margin-top: auto !important; padding-top: .25rem; }
.it-proof .it-link-arrow a { display: inline-block; padding-block: .25rem; }

/* ---------- Manifesto (company) ---------- */
.it-manifesto-grid { display: grid !important; gap: var(--wp--preset--spacing--60); align-items: start; }
@media (min-width: 1024px) { .it-manifesto-grid { grid-template-columns: 1.35fr 1fr; } }
.it-manifesto-grid > * { margin: 0 !important; min-width: 0; }
.it-manifesto-grid > :first-child > * { margin-top: 0; margin-bottom: 0; }
.it-manifesto-grid > :first-child > * + * { margin-top: 1.25rem; }
.it-manifesto { font-size: clamp(1.5rem, 1.05rem + 1.7vw, 2.45rem) !important; font-weight: 700; line-height: 1.28; letter-spacing: -.02em; color: var(--it-ink); max-width: 30ch; }
.it-manifesto strong { color: var(--it-orange-text); -webkit-text-fill-color: var(--it-orange-text); }
/* Scroll-linked reveal, line by line (CSS only; full colour where unsupported or with reduced motion). */
@supports (animation-timeline: view()) {
	@media (prefers-reduced-motion: no-preference) {
		.it-reveal-text { color: transparent; -webkit-text-fill-color: transparent; background-image: linear-gradient(var(--it-ink), var(--it-ink)), linear-gradient(#6b6b6b, #6b6b6b); background-repeat: no-repeat; background-size: 0% 100%, 100% 100%; -webkit-background-clip: text; background-clip: text; animation: it-reveal linear both; animation-timeline: view(); animation-range: entry 35% cover 55%; }
	}
}
@keyframes it-reveal { to { background-size: 100% 100%, 100% 100%; } }
.it-pillars { display: grid !important; gap: 1px !important; background: var(--it-line); border: 1px solid var(--it-line); border-radius: var(--it-r-l); overflow: hidden; }
@media (min-width: 600px) { .it-pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.it-pillars > * { margin: 0 !important; background: #fff; padding: 1.4rem 1.4rem 1.5rem; display: flex; flex-direction: column; gap: .45rem; }
.it-pillars > * > * { margin: 0 !important; }
.it-pillars .it-n { font-family: var(--it-mono); font-size: .75rem; letter-spacing: .1em; color: var(--it-orange-text); }
.it-pillars h3 { font-size: 1.125rem; }
.it-pillars p { color: var(--it-muted); font-size: .9375rem; line-height: 1.5; }
.it-compare-after { margin-top: var(--wp--preset--spacing--50) !important; max-width: 52rem; font-size: 1.0625rem; color: var(--it-muted); }
.it-compare-after strong { color: var(--it-ink); }

/* ---------- Scroll-linked how it works ---------- */
.it-scrolly { display: grid !important; gap: var(--wp--preset--spacing--50); }
.it-scrolly > * { margin: 0 !important; min-width: 0; }
@media (min-width: 1024px) {
	.it-scrolly { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: var(--wp--preset--spacing--60); align-items: start; }
	.it-scrolly-stage { position: sticky; top: 110px; }
	.it-scrolly-step { min-height: 38vh; display: flex; flex-direction: column; justify-content: center; }
}
@media (max-width: 1023px) { .it-scrolly-stage { order: -1; } }
.it-scrolly-steps { display: grid !important; gap: 1rem !important; }
.it-scrolly-step { margin: 0 !important; padding: 1.25rem 0 1.25rem 1.5rem; border-left: 2px solid var(--it-line-dark); transition: opacity .35s, border-color .35s; }
.it-scrolly-step > * { margin: 0 !important; }
.it-scrolly-step > * + * { margin-top: .6rem !important; }
.it-scrolly-step h3 { font-size: clamp(1.35rem, 1.1rem + .8vw, 1.75rem); }
.it-scrolly-who { font-family: var(--it-mono); font-size: .75rem !important; letter-spacing: .1em; text-transform: uppercase; color: var(--it-orange-bright) !important; display: flex; gap: .75rem; }
.it-scrolly-who span { color: var(--it-muted-dark); }
.it-scrolly.is-enhanced .it-scrolly-step h3 { color: #a9abab; transition: color .35s; }
.it-scrolly.is-enhanced .it-scrolly-step.is-active h3 { color: #fff; }
.it-scrolly.is-enhanced .it-scrolly-step.is-active { border-left-color: var(--it-orange); background: linear-gradient(90deg, rgba(226,99,16,.08), transparent 70%); }
.it-scrolly-stage .it-stream li { transition: opacity .35s, background-color .35s; border-radius: 6px; }
.it-scrolly-stage[data-step="1"] .it-stream li:nth-child(1), .it-scrolly-stage[data-step="2"] .it-stream li:nth-child(2), .it-scrolly-stage[data-step="3"] .it-stream li:nth-child(3) { background: rgba(242,132,58,.12); box-shadow: inset 3px 0 0 #e26310; }
.it-scrolly-stage[data-step="1"] .it-plan .reader { opacity: 1; stroke-width: 2.5; }
.it-scrolly-systems { margin-top: 1rem; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; }
.it-scrolly-systems p { margin: 0; font-family: var(--it-mono); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; color: var(--it-muted-dark); }
.it-scrolly-systems ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.it-scrolly-systems li { padding: .35rem .7rem; border-radius: 999px; border: 1px solid var(--it-line-dark); font-size: .8125rem; font-weight: 700; color: #d6d8d8; transition: background-color .35s, color .35s, border-color .35s; }
.it-scrolly-stage[data-step="4"] .it-scrolly-systems li { background: var(--it-orange); border-color: var(--it-orange); color: var(--it-ink); }

/* ---------- Feature story ---------- */
.it-feature { display: grid !important; gap: var(--wp--preset--spacing--60); align-items: center; padding: clamp(1.5rem, 1rem + 2.5vw, 3.5rem) !important; border-radius: var(--it-r-l); background: var(--it-black); border: 1px solid var(--it-line-dark); }
@media (min-width: 1024px) { .it-feature { grid-template-columns: 1.2fr 1fr; } }
.it-feature > * { margin: 0 !important; min-width: 0; }
.it-feature-copy > * { margin: 0 !important; }
.it-feature-copy > * + * { margin-top: 1.1rem !important; }
.it-feature-copy h2 { font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.6rem); }
.it-feature-quote { margin: 1.5rem 0 0 !important; padding: 0 0 0 1.25rem !important; border-left: 3px solid var(--it-orange) !important; }
.it-feature-quote p { color: #fff !important; font-size: 1.125rem; line-height: 1.5; font-weight: 500; }
.it-feature-quote cite { display: block; margin-top: .6rem; font-style: normal; font-size: .875rem; color: var(--it-muted-dark); }
.it-feature-metrics { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px !important; background: var(--it-line-dark); border-radius: var(--it-r-m); overflow: hidden; }
.it-feature-metrics > * { margin: 0 !important; background: var(--it-graphite); padding: 1.4rem 1.25rem; display: flex; flex-direction: column; gap: .4rem; }
.it-feature-metrics > * > * { margin: 0 !important; }
.it-feature-metrics .it-fact-value { font-size: clamp(1.9rem, 1.4rem + 1.6vw, 2.75rem); font-weight: 800; letter-spacing: -.04em; line-height: 1; color: var(--it-orange-bright); }
.it-feature-metrics .it-fact-label { color: var(--it-muted-dark); font-size: .9375rem; line-height: 1.4; }

/* ---------- Photo cards and stories ---------- */
.it-card.has-media { padding-top: 0; overflow: hidden; }
.it-card.has-media > .it-card-media { margin: 0 calc(-1 * var(--wp--preset--spacing--50)) .25rem !important; }
.it-card-media img, .it-story-media img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .6s var(--it-ease); }
.it-card.has-media:has(a.it-card-link:hover) .it-card-media img { transform: scale(1.04); }
.it-card-media, .it-story-media { overflow: hidden; }
.it-story:has(.it-story-media) { padding-top: 0; overflow: hidden; }
.it-story > .it-story-media { margin: 0 calc(-1 * var(--wp--preset--spacing--50)) .25rem !important; }

/* ---------- Ecosystem logos ---------- */
.it-logos { display: grid !important; gap: 0 !important; border-top: 1px solid var(--it-line); }
.it-logo-tier { margin: 0 !important; display: grid; gap: 1rem; padding: 1.5rem 0; border-bottom: 1px solid var(--it-line); align-items: center; }
@media (min-width: 900px) { .it-logo-tier { grid-template-columns: 220px 1fr; gap: 2rem; } }
.it-logo-tier > * { margin: 0 !important; }
.it-logo-label { font-family: var(--it-mono); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; color: var(--it-muted); }
.it-logo-row { display: flex !important; flex-wrap: wrap; align-items: center; gap: 1.25rem 2.25rem; }
.it-logo-row > * { margin: 0 !important; }
.it-logo-row .it-logo img { height: 34px; width: auto; max-width: 150px; object-fit: contain; filter: grayscale(1); opacity: .75; transition: filter .25s, opacity .25s; }
.it-logo-row .it-logo:hover img { filter: none; opacity: 1; }
.it-logo-text { font-weight: 800; font-size: 1.125rem; letter-spacing: -.01em; color: #5f6262; }
.it-ptab-text .it-code { font-family: var(--it-mono); font-weight: 700; letter-spacing: .14em; font-size: .8125rem; text-transform: uppercase; color: var(--it-orange-bright); }
.it-story .it-tags span { background: rgba(242,132,58,.14); color: var(--it-orange-bright); }
.it-story .it-link-arrow a { color: var(--it-orange-bright); }
.it-story p { color: var(--it-muted-dark); }
.it-story h3 { color: #fff; }
.it-after-links { margin-top: var(--wp--preset--spacing--50) !important; }
/* Small screens: show the scene right under the headline (it explains the product at a glance). */
@media (max-width: 1023px) {
	.it-hero-grid.is-scene { display: flex !important; flex-direction: column; align-items: stretch; gap: 0 !important; }
	.it-hero-grid.is-scene > .it-hero-copy { display: contents; }
	.it-hero-grid.is-scene .it-hero-copy > .it-eyebrow, .it-hero-grid.is-scene .it-hero-copy > h1 { order: 1; }
	.it-hero-grid.is-scene .it-hero-copy > .wp-block-buttons { order: 2; margin-top: 1.25rem !important; }
	.it-hero-grid.is-scene > .it-scene { order: 3; margin: 1.5rem 0 .5rem !important; }
	.it-hero-grid.is-scene .it-hero-copy > :not(.it-eyebrow):not(h1):not(.wp-block-buttons) { order: 4; }
}
/* Chips on paper backgrounds: darker text keeps 4.5:1 on the tinted chip. */
.is-paper :is(.it-tag, .it-tags span, .taxonomy-content_type span, .taxonomy-maturity span, .taxonomy-content_type a, .taxonomy-maturity a) { color: #9a4307; }
.is-paper .it-story .it-tags span { color: var(--it-orange-bright); }
.is-dark :is(.taxonomy-content_type span, .taxonomy-maturity span, .taxonomy-content_type a, .taxonomy-maturity a) { background: rgba(242,132,58,.14); color: var(--it-orange-bright); }

/* ---------- Alerts & reports showcase (product pages) ---------- */
.it-alerts { display: grid !important; gap: var(--wp--preset--spacing--50); }
.it-alerts > * { margin: 0 !important; min-width: 0; }
.it-alerts-figure { max-width: 1100px; width: 100%; margin-inline: auto !important; }
.it-alerts-figure > * { margin: 0 !important; }
.it-alerts-media img { display: block; width: 100%; height: auto; filter: drop-shadow(0 30px 50px rgba(0,0,0,.35)); }
.it-alerts-caption { margin-top: .25rem !important; text-align: center; font-family: var(--it-mono); font-size: .75rem !important; letter-spacing: .06em; text-transform: uppercase; color: var(--it-muted-dark) !important; }
.it-alerts-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; grid-template-columns: 1fr; }
@media (min-width: 700px) { .it-alerts-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .it-alerts-list.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.it-alerts-list li { display: flex; flex-direction: column; gap: .35rem; padding: 1.1rem 1.2rem 1.2rem; border-radius: var(--it-r-m); background: var(--it-black); border: 1px solid var(--it-line-dark); transition: border-color .2s, transform .2s var(--it-ease); }
.it-alerts-list li:hover { border-color: var(--it-orange); transform: translateY(-2px); }
.it-alert-kind { width: fit-content; margin-bottom: .2rem; font-family: var(--it-mono); font-size: .6875rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: .25em .6em; border-radius: 5px; background: rgba(242,132,58,.14); color: var(--it-orange-bright); }
.it-alerts-list li.is-alert .it-alert-kind { background: #c93a2b; color: #fff; }
.it-alerts-list strong { color: #fff; font-size: 1.0625rem; line-height: 1.3; }
.it-alerts-list .it-alert-text { color: var(--it-muted-dark); font-size: .9375rem; line-height: 1.45; }

/* Outline buttons on dark surfaces (CTA band, feature cards) */
.it-cta .wp-block-button.is-style-outline > .wp-block-button__link, .it-feature .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.75); }
.it-cta .wp-block-button.is-style-outline > .wp-block-button__link:hover, .it-feature .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #fff; color: var(--it-ink); border-color: #fff; }
/* Form honeypot (kept out of view and out of the accessibility tree) */
.it-trap { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
/* Ecosystem: one tile treatment for image logos and text names */
.it-logo-row { gap: .75rem !important; }
.it-logo-row > * { display: flex !important; align-items: center; justify-content: center; width: 148px; height: 72px; padding: .75rem 1rem; border-radius: var(--it-r-m); background: #fff; border: 1px solid var(--it-line); }
.it-logo-row .it-logo img { height: auto; max-height: 34px; max-width: 100%; filter: grayscale(1) contrast(1.1); opacity: .8; }
.it-logo-row .it-logo-text { font-size: .9375rem; font-weight: 800; letter-spacing: -.01em; color: #4a4d4d; text-align: center; line-height: 1.2; }
@media (max-width: 599px) { .it-logo-row > * { width: calc(50% - .375rem); } }

/* ---------- Video facade and gallery ---------- */
.it-video { margin: 0; display: flex; flex-direction: column; gap: .7rem; }
.it-video .it-video-frame { position: relative !important; inset: auto !important; height: auto !important; }
.it-video-play, .it-video-frame { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; border-radius: var(--it-r-m); overflow: hidden; background: #111; border: 0; }
.it-video-play img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--it-ease); }
.it-video-play:hover img { transform: scale(1.04); }
.it-video-icon { position: absolute; left: 50%; top: 50%; width: 64px; height: 44px; margin: -22px 0 0 -32px; border-radius: 12px; background: var(--it-orange); box-shadow: 0 10px 24px rgba(0,0,0,.35); transition: transform .2s var(--it-ease); }
.it-video-icon::after { content: ""; position: absolute; left: 26px; top: 13px; border-style: solid; border-width: 9px 0 9px 15px; border-color: transparent transparent transparent var(--it-ink); }
.it-video-play:hover .it-video-icon { transform: scale(1.08); }
.it-video-play:focus-visible { outline: 3px solid var(--it-orange-bright); outline-offset: 3px; }
.it-video figcaption { font-size: .9375rem; line-height: 1.45; color: var(--it-muted); }
.it-video figcaption strong { display: block; color: var(--it-ink); font-size: 1.0625rem; margin-bottom: .2rem; }
.is-dark .it-video figcaption { color: var(--it-muted-dark); }
.is-dark .it-video figcaption strong { color: #fff; }
.it-video-grid { display: grid !important; gap: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40); grid-template-columns: 1fr; }
@media (min-width: 700px) { .it-video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .it-video-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.it-video-grid > * { margin: 0 !important; min-width: 0; }
/* Open overlay menu: left-aligned, readable list (core inherits the desktop right alignment). */
.it-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.it-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.it-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
.it-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { align-items: flex-start !important; justify-content: flex-start !important; text-align: left; width: 100%; }
.it-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3rem; gap: .25rem; }
.it-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { padding: .25rem 0 .75rem 1rem !important; gap: 0 !important; }
.it-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { padding: .45rem 0 !important; }
.it-header .wp-block-navigation__responsive-container.is-menu-open .it-nav-anchor .wp-block-navigation-item__content { font-size: .875rem; color: var(--it-orange-bright); }
.it-split.is-single { grid-template-columns: minmax(0, 52rem) !important; }
/* Header CTA: "Book" + " a consultation" are two flex items; no gap between them. */
.it-header .it-header-cta .wp-block-button__link { gap: 0; }
.it-header .it-cta-more { margin-left: .28em; }
