/* Connex theme — main styles */
:root {
	--ink: #16191D;
	--ink-2: #1F2329;
	--ink-3: #262B32;
	--blue: #1F7FC0;
	--blue-dark: #1A6AA3;
	--blue-light: #5FB3E8;
	--mist: #F2F5F8;
	--tint: #E6F1FA;
	--line: #DDE3EA;
	--text: #1B1F24;
	--muted: #5B6570;
	--on-dark: #FFFFFF;
	--on-dark-muted: #A9B3BE;
	--radius: 10px;
	--wrap: 1120px;
	--head: "Barlow Condensed", "Arial Narrow", sans-serif;
	--body: "Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; font-family: var(--body); font-size: 16px; line-height: 1.6; color: var(--text); background: #fff; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--blue); }
a:hover { color: var(--blue-dark); }
h1, h2, h3, h4 { font-family: var(--head); font-weight: 700; line-height: 1.1; margin: 0 0 .5em; color: inherit; letter-spacing: -.005em; }
h1 { font-size: clamp(2.5rem, 5vw, 3.6rem); }
h2 { font-size: clamp(2rem, 3.6vw, 2.6rem); }
h3 { font-size: 1.45rem; font-weight: 600; }
p { margin: 0 0 1em; }
svg { width: 1em; height: 1em; flex-shrink: 0; }

.wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 24px; }
.section { padding: 88px 0; }
.section-sm { padding: 56px 0; }
.bg-mist { background: var(--mist); }
.bg-dark { background: var(--ink); color: var(--on-dark); }
.bg-darker { background: #0F1114; color: var(--on-dark); }
.eyebrow { font-family: var(--head); font-weight: 600; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; color: var(--blue); margin: 0 0 .9em; }
.bg-dark .eyebrow, .eyebrow-light { color: var(--blue-light); }
.lede { font-size: 1.12rem; color: var(--muted); max-width: 640px; }
.bg-dark .lede { color: var(--on-dark-muted); }
.accent { color: var(--blue-light); }

.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 16px; top: 16px; z-index: 100; background: #fff; padding: 8px 12px; }

/* Buttons */
.btn { display: inline-flex; align-items: center; gap: .6em; font-family: var(--head); font-weight: 600; font-size: 1.05rem; padding: .85em 1.3em; border-radius: 6px; text-decoration: none; border: 1px solid transparent; transition: background .15s, border-color .15s, color .15s; line-height: 1.1; }
.btn-primary { background: var(--blue); color: #fff; }
.btn-primary:hover { background: var(--blue-dark); color: #fff; }
.btn-ghost { border-color: rgba(255,255,255,.25); color: #fff; background: transparent; }
.btn-ghost:hover { border-color: #fff; color: #fff; }
.btn-dark { background: var(--ink); color: #fff; }
.btn-dark:hover { background: #000; color: #fff; }
.btn-outline { border-color: var(--line); color: var(--text); background: #fff; }
.btn-outline:hover { border-color: var(--blue); color: var(--blue); }
.btn-sm { font-size: .95rem; padding: .65em 1.05em; }
.btn-block { width: 100%; justify-content: center; }
.btn-row { display: flex; flex-wrap: wrap; gap: 12px; }

/* Header */
.site-header { position: sticky; top: 0; z-index: 50; background: var(--ink); border-bottom: 1px solid rgba(255,255,255,.07); }
.header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 72px; }
.brand { text-decoration: none; color: #fff; }
.brand-word { font-family: var(--head); font-weight: 700; font-size: 1.9rem; letter-spacing: .04em; color: #fff; }
.brand-word-sm { font-size: 1.4rem; }
.site-nav { display: flex; align-items: center; gap: 28px; }
.nav-list { list-style: none; margin: 0; padding: 0; display: flex; gap: 26px; }
.nav-list a { color: #E7ECF1; text-decoration: none; font-family: var(--head); font-weight: 600; font-size: 1rem; }
.nav-list a:hover, .nav-list .current-menu-item > a { color: var(--blue-light); }
.nav-list .sub-menu { display: none; }
.nav-toggle { display: none; background: none; border: 0; color: #fff; font-size: 1.6rem; padding: 6px; cursor: pointer; }

@media (max-width: 960px) {
	.nav-toggle { display: inline-flex; }
	.site-nav { display: none; position: absolute; left: 0; right: 0; top: 72px; background: var(--ink); flex-direction: column; align-items: stretch; padding: 12px 24px 24px; gap: 16px; border-bottom: 1px solid rgba(255,255,255,.08); }
	.site-nav.is-open { display: flex; }
	.nav-list { flex-direction: column; gap: 0; }
	.nav-list a { display: block; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.06); }
}

/* Hero */
.hero { background: var(--ink); color: #fff; padding: 72px 0 72px; }
.hero-grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: 56px; align-items: center; }
.hero h1 { color: #fff; margin-bottom: .35em; }
.hero-sub { font-size: 1.3rem; color: #C9D2DB; margin-bottom: 1em; }
.hero-body { color: var(--on-dark-muted); max-width: 560px; margin-bottom: 2em; }
.assess-card { background: var(--ink-2); border: 1px solid rgba(255,255,255,.09); border-radius: 14px; padding: 28px; }
.assess-card h2 { font-size: 1.6rem; color: #fff; }
.assess-card > p { color: var(--on-dark-muted); font-size: .95rem; }
.assess-link { display: flex; align-items: center; justify-content: space-between; gap: 16px; background: var(--ink-3); border: 1px solid rgba(255,255,255,.08); border-radius: 8px; padding: 16px 18px; margin-top: 10px; text-decoration: none; color: #fff; transition: border-color .15s; }
.assess-link:hover { border-color: var(--blue-light); color: #fff; }
.assess-link strong { font-family: var(--head); font-size: 1.2rem; font-weight: 600; display: block; }
.assess-link span { color: var(--on-dark-muted); font-size: .88rem; }
.assess-link svg { color: var(--blue-light); font-size: 1.2rem; }
.assess-meta { display: flex; gap: 18px; margin-top: 16px; font-size: .82rem; color: var(--on-dark-muted); }
.icon-eyebrow { display: flex; align-items: center; gap: .6em; }
.icon-eyebrow svg { font-size: 1.3em; }

/* Outcomes strip */
.outcomes { background: #1B1F24; color: #fff; padding: 22px 0 34px; }
.outcomes-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.outcome { border-top: 3px solid var(--blue); padding-top: 18px; }
.outcome strong { font-family: var(--head); font-size: 1.15rem; font-weight: 600; display: block; }
.outcome span { color: var(--on-dark-muted); font-size: .9rem; }

/* Section headers */
.section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 32px; flex-wrap: wrap; }
.section-head h2 { margin: 0; }
.section-head .note { color: var(--muted); font-size: .92rem; }

/* Cards */
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.grid-5 { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
.card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 30px; display: flex; flex-direction: column; }
.card h3 { margin-bottom: .45em; }
.card p { color: var(--muted); font-size: .97rem; }
.card .card-foot { margin-top: auto; padding-top: 12px; }
.card-plain { border: 0; }
.card-tint { background: var(--tint); border-color: #C9DFF0; }
.card-dark { background: var(--ink); border-color: var(--ink); color: #fff; }
.card-dark p { color: var(--on-dark-muted); }
.card-dark a { color: var(--blue-light); }
.card .num { font-family: var(--head); font-weight: 700; font-size: 1.8rem; color: var(--blue); margin-bottom: .4em; }
.card .payoff { font-family: var(--head); font-weight: 600; color: var(--blue-dark); font-size: 1rem; margin-top: auto; padding-top: 14px; margin-bottom: 0; }
.card .card-link { font-family: var(--head); font-weight: 600; font-size: .98rem; display: inline-block; margin-top: 8px; }
.download-row { display: flex; align-items: center; gap: 16px; margin-top: 22px; }
.download-row .pages { color: var(--muted); font-size: .85rem; }
.mist-cards .card { border: 0; }

/* Design band */
.design-band { background: var(--ink); border-radius: 14px; padding: 18px; display: grid; grid-template-columns: 1fr 1fr 1fr 1fr 1fr; gap: 10px; margin: 36px 0 20px; align-items: stretch; }
.design-band .band-label { display: flex; flex-direction: column; justify-content: center; padding: 10px 14px; color: #fff; }
.design-band .band-label small { font-family: var(--head); color: var(--blue-light); letter-spacing: .15em; font-size: .72rem; font-weight: 600; }
.design-band .band-label strong { font-family: var(--head); font-size: 1.35rem; }
.band-step { background: var(--ink-3); border-radius: 8px; padding: 14px 16px; color: #fff; }
.band-step strong { font-family: var(--head); font-weight: 600; font-size: 1.1rem; display: block; }
.band-step span { color: var(--on-dark-muted); font-size: .85rem; }
.option-tag { font-family: var(--head); font-weight: 600; font-size: .75rem; letter-spacing: .14em; color: var(--blue); text-transform: uppercase; margin-bottom: .6em; }
.mix-note { margin-top: 20px; color: var(--muted); }
.mix-note strong { color: var(--text); }

/* Path */
.path { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; margin-top: 8px; }
.path-step { border-top: 3px solid var(--line); padding-top: 16px; }
.path-step:first-child { border-top-color: var(--blue); }
.path-step strong { font-family: var(--head); font-weight: 600; font-size: 1.2rem; display: block; margin-bottom: .2em; }
.path-step span { color: var(--muted); font-size: .92rem; }

/* Veterans */
.vet-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 56px; align-items: center; }
.vet-quote { font-family: var(--head); font-weight: 600; font-size: clamp(1.5rem, 2.6vw, 2rem); line-height: 1.25; margin: 0 0 .7em; }
.vet-cite { color: var(--muted); }
.facts { background: #fff; border-radius: var(--radius); padding: 8px 26px; }
.fact { display: grid; grid-template-columns: 110px 1fr; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--line); font-size: .93rem; }
.fact:last-child { border-bottom: 0; }
.fact strong { font-family: var(--head); font-weight: 600; font-size: 1.05rem; }
.fact span { color: var(--muted); }

/* Closing CTA */
.closing-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 56px; align-items: center; }
.closing-grid h2 { color: #fff; }
.closing-grid p { color: #C9D2DB; max-width: 520px; }
.contact-box { text-align: center; }
.contact-box .phones { margin: 14px 0 6px; color: #fff; }
.contact-box a { color: #fff; text-decoration: none; }
.contact-box a.mail { color: var(--blue-light); text-decoration: underline; font-size: .95rem; }

/* Footer */
.site-footer { background: #0F1114; color: var(--on-dark-muted); padding: 28px 0 22px; font-size: .88rem; }
.footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.07); }
.footer-brand { display: flex; align-items: center; gap: 14px; }
.tagline { font-family: var(--head); font-weight: 600; letter-spacing: .15em; text-transform: uppercase; font-size: .75rem; color: var(--blue-light); }
.footer-contact a, .footer-links a { color: #D5DCE3; text-decoration: none; }
.footer-contact a:hover, .footer-links a:hover { color: #fff; text-decoration: underline; }
.footer-contact { display: flex; gap: 8px; flex-wrap: wrap; }
.footer-links { display: flex; gap: 18px; flex-wrap: wrap; }
.footer-legal { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding-top: 16px; font-size: .8rem; }

/* Generic inner page */
.page-hero { background: var(--ink); color: #fff; padding: 72px 0 64px; }
.page-hero h1 { color: #fff; font-size: clamp(2.3rem, 4.5vw, 3.2rem); }
.page-hero .lede { color: #C9D2DB; }
.entry { max-width: 760px; }
.entry h2 { margin-top: 1.4em; }
.entry ul { padding-left: 1.2em; }
.entry li { margin-bottom: .4em; }
.list-check { list-style: none; padding: 0; margin: 0 0 1em; }
.list-check li { padding-left: 1.6em; position: relative; margin-bottom: .55em; }
.list-check li::before { content: ""; position: absolute; left: 0; top: .55em; width: .6em; height: .6em; border-radius: 2px; background: var(--blue); }
.mockup-flag { background: #FFF6DB; border: 1px solid #F0D98A; color: #6B5300; border-radius: 6px; padding: 10px 14px; font-size: .88rem; margin: 0 0 24px; }

/* Responsive */
@media (max-width: 1020px) {
	.grid-5, .path { grid-template-columns: repeat(3, 1fr); }
	.design-band { grid-template-columns: 1fr 1fr; }
	.design-band .band-label { grid-column: 1 / -1; }
}
@media (max-width: 860px) {
	.hero-grid, .vet-grid, .closing-grid { grid-template-columns: 1fr; gap: 36px; }
	.grid-3 { grid-template-columns: 1fr 1fr; }
	.outcomes-grid { grid-template-columns: 1fr 1fr; }
	.section { padding: 64px 0; }
}
@media (max-width: 600px) {
	.wrap { padding: 0 16px; }
	.grid-2, .grid-3, .grid-5, .path, .design-band, .outcomes-grid { grid-template-columns: 1fr; }
	.hero { padding: 48px 0; }
	.card { padding: 24px; }
	.fact { grid-template-columns: 1fr; gap: 2px; }
	.contact-box { text-align: left; }
}

/* Dropdowns */
.nav-list > li { position: relative; }
@media (min-width: 961px) {
	.nav-list .sub-menu { display: block; position: absolute; top: 100%; left: -16px; min-width: 250px; background: var(--ink-2); border: 1px solid rgba(255,255,255,.08); border-radius: 8px; padding: 8px 0; list-style: none; margin: 0; opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .15s, transform .15s, visibility .15s; }
	.nav-list > li { padding: 24px 0; }
	.nav-list li:hover > .sub-menu, .nav-list li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
	.nav-list .sub-menu a { display: block; padding: 9px 18px; font-weight: 500; }
	.nav-list .sub-menu a:hover { background: var(--ink-3); }
}
@media (max-width: 960px) {
	.nav-list .sub-menu { display: block; list-style: none; padding: 0 0 0 16px; margin: 0; }
	.nav-list .sub-menu a { font-weight: 500; color: var(--on-dark-muted); }
}

/* Grey cards (pricing / planning) */
.card.bg-mist { background: var(--mist); border-color: transparent; }

/* ---- v0.2.0: Field Notes ---- */
.wrap-narrow { max-width: 820px; }
.note-meta { display: flex; gap: 14px; font-size: .85rem; color: var(--muted); font-family: var(--head); letter-spacing: .04em; }
.note-meta.light { color: #C9D2DB; margin: 0; }
.note-card h3 a { color: inherit; text-decoration: none; }
.note-card h3 a:hover { color: var(--blue); }
.note-thumb { display: block; margin: -30px -30px 20px; border-radius: var(--radius) var(--radius) 0 0; overflow: hidden; aspect-ratio: 16 / 9; background: var(--mist); }
.note-thumb img { width: 100%; height: 100%; object-fit: cover; }
.note-figure { margin: 0 0 32px; }
.note-figure img { border-radius: var(--radius); }
.entry { font-size: 1.06rem; }
.entry img { border-radius: 8px; }
.entry blockquote { border-left: 3px solid var(--blue); margin: 1.5em 0; padding: .2em 0 .2em 1.2em; color: var(--muted); }
.pill-row { display: flex; flex-wrap: wrap; gap: 8px; }
.pill { font-family: var(--head); font-weight: 600; font-size: .95rem; padding: .45em .95em; border-radius: 999px; background: #fff; border: 1px solid var(--line); color: var(--text); text-decoration: none; }
.pill:hover, .pill.is-active { border-color: var(--blue); color: var(--blue); }
.related-service { margin-top: 56px; padding: 32px; border-radius: var(--radius); background: var(--tint); border: 1px solid #C9DFF0; }
.related-service h2 { font-size: clamp(1.6rem, 3vw, 2rem); }
.related-service .payoff { font-family: var(--head); font-weight: 600; color: var(--blue-dark); }
.pager { margin-top: 40px; display: flex; gap: 8px; flex-wrap: wrap; font-family: var(--head); }
.pager .page-numbers { padding: .4em .8em; border: 1px solid var(--line); border-radius: 6px; text-decoration: none; }
.pager .current { background: var(--ink); color: #fff; border-color: var(--ink); }
@media (max-width: 600px) { .note-thumb { margin: -24px -24px 18px; } .related-service { padding: 24px; } }

/* ---- v0.2.0: six solution cards + managed card full width ---- */
.grid-3 > .card-dark { grid-column: 1 / -1; }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
@media (max-width: 860px) { .grid-4 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .grid-4 { grid-template-columns: 1fr; } }
.industry-group + .industry-group { margin-top: 48px; }

/* Staging ribbon removed for v1 review. Non-production hosts stay noindex via functions.php. */

/* ---- v0.2.1: upcoming assessments ---- */
.card-soon { border-style: dashed; background: #fff; }
.card-soon .option-tag { color: var(--muted); }
.assess-more { display: inline-flex; align-items: center; gap: .5em; margin-top: 14px; font-family: var(--head); font-weight: 600; font-size: .95rem; color: var(--blue-light); text-decoration: none; }
.assess-more:hover { color: #fff; }

/* ---- v0.2.2: case stories / proof ---- */
.proof-card h3 a { color: inherit; text-decoration: none; }
.proof-card h3 a:hover { color: var(--blue); }
.proof-card .proof-title { font-family: var(--head); font-weight: 600; color: var(--text); margin-bottom: .4em; }
.note-result { display: inline-block; margin: 0 0 14px; padding: 6px 12px; border-radius: 6px; background: rgba(95,179,232,.15); color: #fff; font-family: var(--head); font-weight: 600; }

/* ---- v0.2.3: single full-width proof card ---- */
.proof-one .proof-card { display: grid; grid-template-columns: 5fr 7fr; gap: 40px; align-items: center; padding: 36px 40px; border-left: 4px solid var(--blue); }
.proof-one .proof-card h3 { font-size: clamp(1.5rem, 2.6vw, 2rem); margin: 0; }
.proof-one .proof-body p { margin-bottom: .8em; }
@media (max-width: 760px) { .proof-one .proof-card { grid-template-columns: 1fr; gap: 12px; padding: 24px; } }

/* ---- v0.3.0: two-door hero ---- */
.hero-doors .hero-intro { max-width: 820px; }
.hero-doors h1 { font-size: clamp(2.3rem, 4.6vw, 3.4rem); }
.doors-ask { font-family: var(--head); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; font-size: .85rem; color: var(--blue-light); margin: 36px 0 14px; }
.doors { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.door { background: var(--ink-2); border: 1px solid rgba(255,255,255,.09); border-radius: 14px; padding: 30px; display: flex; flex-direction: column; transition: border-color .15s; }
.door:hover { border-color: var(--blue-light); }
.door h2 { color: #fff; font-size: clamp(1.6rem, 2.6vw, 2rem); }
.door > p { color: var(--on-dark-muted); }
.door .btn-row { margin-top: auto; padding-top: 8px; }
.door-links { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.08); }
.door-links a { display: inline-flex; align-items: center; gap: .45em; color: #C9D2DB; text-decoration: none; font-size: .92rem; }
.door-links a:hover { color: #fff; }
.door-links svg { color: var(--blue-light); }
.doors-foot { margin: 22px 0 0; color: var(--on-dark-muted); font-size: .95rem; }
.doors-foot a { color: var(--blue-light); }
.assess-band h2 { color: #fff; }
@media (max-width: 760px) { .doors { grid-template-columns: 1fr; } .door { padding: 24px; } }

/* ---- v0.4.0: block-built pages (.cx-blocks) ---- */
.cx-blocks .wp-block-group__inner-container { display: contents; }
.cx-blocks .wp-block-group { margin-top: 0; margin-bottom: 0; }
.cx-blocks .wp-block-group.wrap { margin-left: auto; margin-right: auto; }
.cx-blocks .wp-block-heading { margin-top: 0; }
.cx-blocks .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; }
.cx-blocks .wp-block-button { margin: 0; }
.cx-blocks .wp-block-button__link { display: inline-flex; align-items: center; gap: .6em; font-family: var(--head); font-weight: 600; font-size: 1.05rem; padding: .85em 1.3em; border-radius: 6px; text-decoration: none; border: 1px solid transparent; background: var(--blue); color: #fff; line-height: 1.1; }
.cx-blocks .wp-block-button__link:hover { background: var(--blue-dark); color: #fff; }
.cx-blocks .wp-block-button__link::after { content: "\2192"; }
.cx-blocks .is-dark .wp-block-button__link { background: var(--ink); }
.cx-blocks .is-ghost .wp-block-button__link { background: transparent; border-color: rgba(255,255,255,.25); }
.cx-blocks .is-ghost .wp-block-button__link::after, .cx-blocks .is-dark .wp-block-button__link::after { content: none; }
.cx-blocks .outcome-title { font-family: var(--head); font-size: 1.15rem; font-weight: 600; margin: 0; color: #fff; }
.cx-blocks .outcome-text { color: var(--on-dark-muted); font-size: .9rem; margin: 0; }
.cx-blocks .door-links p { margin: 0; }
.cx-blocks .door-links a::before { content: "\2192"; color: var(--blue-light); margin-right: .45em; }
.cx-blocks .door-links a[href$=".pdf"]::before { content: "\2193"; }
.cx-blocks .hero-sub { margin-bottom: 0; }
.cx-blocks .doors-foot a { color: var(--blue-light); }
.cx-blocks .assess-band .hero-body { margin-bottom: 0; }
.cx-blocks .mist-cards { margin-top: 64px; }
.cx-blocks .card.bg-mist h3 { margin-bottom: .45em; }
/* 0.4.5: door spacing: buttons pinned to the card bottom, divider clear of the button */
.cx-blocks .door .wp-block-buttons { margin-top: auto; padding-top: 12px; }
.cx-blocks .wp-block-group.door-links { margin-top: 22px; }
/* 0.4.6: door titles reserve two lines on desktop so both cards line up */
@media (min-width: 761px) { .door h2, .cx-blocks .door .wp-block-heading { min-height: 2.2em; } }
/* 0.4.7: hero intro held to half the page on desktop; balanced headline; accent phrase never splits */
@media (min-width: 861px) { .hero-doors .hero-intro { max-width: 100%; } }
.hero-doors h1 { text-wrap: balance; }
.hero-doors h1 .accent { white-space: nowrap; }
/* 0.4.9: bigger hero headline, two balanced lines on desktop */
.hero-doors h1 { font-size: clamp(2.6rem, 6.2vw, 4.75rem); line-height: 1.02; letter-spacing: -.01em; }
/* 0.5.3: hero headline block at 60% of the content width on desktop, three big lines */
@media (min-width: 861px) { .hero-doors .hero-intro { max-width: 60%; } }
/* 0.6.0: how-we-work under the headline (dark hero); the two choices in a light section below */
.hero-doors .design-band { margin-top: 40px; background: var(--ink-2); }
.hero-doors .mix-note { color: var(--on-dark-muted); }
.hero-doors .mix-note strong { color: #fff; }
.choose .doors { margin-top: 28px; }
.choose .door { background: #fff; border: 1px solid var(--line); }
.choose .door:hover { border-color: var(--blue); }
.choose .door h2, .choose .door .wp-block-heading { color: var(--text); }
.choose .door > p, .cx-blocks .choose .door p:not(.eyebrow) { color: var(--muted); }
.choose .door .eyebrow { color: var(--blue); }
.choose .door-links { border-top-color: var(--line); }
.choose .door-links a { color: var(--text); }
.choose .door-links a:hover { color: var(--blue); }
.choose .doors-foot { color: var(--muted); margin-top: 22px; }
.choose .doors-foot a, .cx-blocks .choose .doors-foot a { color: var(--blue); }
.hero-doors .card { color: var(--text); }
.hero-doors .card h3 { color: var(--text); }
.cx-blocks .hero-doors .hero-sub { margin-bottom: .7em; }
/* 0.6.2: headline sized to its column: the longest line runs to ~87% of the 80% intro (~70% of the page) */
.hero-doors .hero-intro { container-type: inline-size; }
.hero-doors h1 { font-size: clamp(2.6rem, 14.4cqi, 9rem); line-height: .92; }
/* 0.6.4: hero = headline left (60%), sub + body right, aligned to the bottom of the headline */
@media (min-width: 861px) {
  .hero-doors .hero-intro { max-width: none; display: grid; grid-template-columns: 60fr 40fr; gap: 48px; align-items: end; }
}
.hero-doors .hero-intro { container-type: normal; }
.hero-doors .hero-title { container-type: inline-size; }
.hero-doors .hero-aside { padding-bottom: 6px; }
.hero-doors .hero-aside .hero-sub { font-size: 1.25rem; color: #fff; }
.hero-doors .hero-aside .hero-body { margin-bottom: 0; }
/* 0.6.5: right-hand text in a grey outline box, centred on the headline */
@media (min-width: 861px) { .hero-doors .hero-intro { align-items: center; } }
.hero-doors .hero-aside { border: 1px solid rgba(255,255,255,.18); border-radius: 14px; padding: 26px 28px; margin-top: 1.6em; }
/* 0.6.6: wider text box (55/45 split) filled with the step-tile colour; headline size held at ~88px */
@media (min-width: 861px) { .hero-doors .hero-intro { grid-template-columns: 55fr 45fr; } }
.hero-doors h1 { font-size: clamp(2.6rem, 15.6cqi, 9rem); }
.hero-doors .hero-aside { background: var(--ink-3); border-color: rgba(255,255,255,.08); }

/* 0.8.0 doors: equal heights, buttons aligned */
.choose .door{display:flex}
.choose .door>.wp-block-group__inner-container{display:flex;flex-direction:column;width:100%}
.choose .door .wp-block-buttons{margin-top:auto;padding-top:24px}
.choose .door .door-links{min-height:92px}
.field-search{display:flex;gap:8px;max-width:520px;margin:0 0 20px}
.field-search input[type=search]{flex:1;padding:10px 14px;border:1px solid #cbd5e1;border-radius:6px;font:inherit}
.scope-note{background:#eef4fb;border-left:4px solid #1e63b8;padding:12px 16px;margin:0 0 24px}

.choose .door h2{min-height:2.4em}

.choose .door .door-links{min-height:92px!important;box-sizing:border-box}

/* 0.8.0 home section rhythm: tint / white / mist / tint / white / dark */
.home .cx-blocks>section:nth-child(3){background:#e4eef9}
.home .cx-blocks>section:nth-child(4){background:#fff}
.home .cx-blocks>section:nth-child(5){background:#16191d;color:#c9d1d9}
.home .cx-blocks>section:nth-child(6){background:#e4eef9}
.home .cx-blocks>section:nth-child(7){background:#fff}

/* home: "From first conversation to handover" on dark */
.home .cx-blocks>section:nth-child(5) :is(h1,h2,h3,h4,strong){color:#fff}
.home .cx-blocks>section:nth-child(5) :is(p,li,span,.pages){color:#b8c2cc}
.home .cx-blocks>section:nth-child(5) .eyebrow{color:#5aaef0}
.home .cx-blocks>section:nth-child(5) .card,.home .cx-blocks>section:nth-child(5) .bg-mist{background:#1f242a;border-color:#2e353d;color:#c9d1d9}
.home .cx-blocks>section:nth-child(5) a:not(.btn){color:#6bb6f5}

/* small business: compact action cards */
.essentials-actions{gap:20px}
.essentials-actions .card{padding:20px 24px}
.essentials-actions .card h3{margin:0 0 4px;font-size:1.15rem}
.essentials-actions .card p{margin:0}
.essentials-actions .card .card-foot{margin-top:14px;padding-top:0}

/* split CTA card: text left, button right */
.card.cta-split{flex-direction:row;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.cta-split .cta-split-text{flex:1 1 420px;max-width:760px}
.cta-split .cta-split-text p:last-child{margin-bottom:0}
.cta-split .card-foot{margin:0;padding:0;border:0;flex:0 0 auto}

.cta-split .cta-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}

/* Anchor jumps (e.g. /mdc/#enterprise) land below the sticky header with breathing room. */
[id] { scroll-margin-top: 110px; }
