* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; text-wrap: pretty; }
header.wp-block-template-part:has(.collective-header) { height: 0; position: relative; z-index: 20; }
:where(a, button, input, textarea, select, summary):focus-visible { outline: 3px solid #a3faa3; outline-offset: 3px; }
.wp-site-blocks { min-height: 100vh; }
.wp-site-blocks > * { margin-block-start: 0; }
/* clip, not hidden: `hidden` makes this a scroll container, which silently disables
   position:sticky for every descendant. `clip` clips the axis without that side effect. */
.wp-site-blocks { overflow-x: hidden; }
.wp-site-blocks { overflow-x: clip; overflow-y: visible; }
.collective-section p, .collective-section h1, .collective-section h2, .collective-section h3, .collective-hero p, .collective-hero h1 { margin-top: 0; }
.collective-section .wp-block-button__link, .collective-hero .wp-block-button__link { padding: 12px 24px; }

.collective-header { position: fixed; z-index: 1000; inset: 0 0 auto; width: 100%; height: 88px; padding: 0 var(--wp--custom--layout--gutter); color: var(--wp--preset--color--white); background: rgb(3 41 37 / .8); border-bottom: 1px solid rgb(4 63 53 / .8); }
.collective-header__inner { height: 100%; display: flex; align-items: center; justify-content: space-between; }
.collective-header__logo { width: 149px; height: auto; display: block; }
/* text-shadow, not filter: a filtered ancestor becomes the containing block for the
   position:fixed mobile menu overlay and traps it inside the collapsed nav. */
.collective-header .wp-block-navigation-item__content { color: #fff; text-shadow: 0 0 4px rgb(0 0 0 / .45); }
.collective-header__nav .wp-block-navigation__container { gap: 32px; }
/* never set `display` on the open button: core hides it above 600px with display:none at
   equal specificity, so anything set here lands later and wins, leaking it onto desktop */
.collective-header .wp-block-navigation__responsive-container-open,
.collective-header .wp-block-navigation__responsive-container-close { width: 44px; height: 44px; padding: 0; align-items: center; justify-content: center; }
.collective-header .is-menu-open .wp-block-navigation__responsive-container-close { display: flex; top: 14px; right: 8px; }

.collective-header__nav .wp-block-navigation-item__content[aria-current="page"] { position: relative; }
.collective-header__nav .wp-block-navigation-item__content[aria-current="page"]::after { content: ""; position: absolute; inset: auto 0 -8px; height: 2px; border-radius: 2px; background: var(--wp--preset--color--accent-green); }
.collective-header a, .collective-footer a, .wp-block-button__link { transition: filter 160ms ease, transform 160ms ease; }
.collective-header a:hover, .collective-footer a:hover { text-decoration: underline; text-underline-offset: 4px; }
.wp-block-button__link:hover { filter: brightness(.94); transform: translateY(-1px); }

.wp-site-blocks > main.collective-shell:not(.collective-hero) { margin-top: 88px; }

.collective-hero { min-height: 100svh; padding: 160px var(--wp--custom--layout--gutter) 40px; position: relative; isolation: isolate; color: var(--wp--preset--color--white); background: var(--wp--preset--color--navigation); display: flex; flex-direction: column; justify-content: space-between; }
.collective-hero__inner { width: 100%; }
.collective-hero__inner > * { margin-right: 0; margin-left: 0; }
.collective-hero h1 { max-width: 780px; margin-bottom: 16px; color: #fff; font-size: clamp(3.25rem, 6vw, 82px); font-weight: 700; line-height: 1.05; text-shadow: 0 4px 22px rgb(0 0 0 / .25); }
.collective-hero__inner > p { max-width: 520px; margin: 12px 0; font-weight: 500; line-height: 1.6; text-shadow: 0 0 22px rgb(0 0 0 / .25); }
.collective-hero .wp-block-collective-bridge-logo-marquee { width: min(100%, 1280px); margin: 48px auto 0; color: #fff; }
.collective-hero .collective-logo-marquee__group img { filter: brightness(0) invert(1); }
.collective-discover { margin: 48px auto 0; display: flex; flex-direction: column; align-items: center; gap: 16px; color: rgb(255 255 255 / .74); font-size: 12px; text-decoration: none; }
.collective-discover p, .collective-discover figure { margin: 0; }
.collective-discover a { color: inherit; text-decoration: none; }
.collective-discover figure { position: relative; width: 23px; height: 36px; border: 2px solid currentcolor; border-radius: 12px; }
.collective-discover figure::after { content: ""; position: absolute; top: 11px; left: 50%; width: 2px; height: 12px; border-radius: 2px; background: currentcolor; animation: collective-scroll-wheel 1.35s ease-in-out infinite; }
.collective-discover img { width: 23px; height: 36px; opacity: 0; }

@keyframes collective-scroll-wheel {
	0%, 100% { transform: translate(-50%, -3px); }
	50% { transform: translate(-50%, 3px); }
}

@keyframes collective-scroll-nudge {
	0%, 100% { transform: translateX(0); }
	50% { transform: translateX(5px); }
}

.collective-section { padding: 120px var(--wp--custom--layout--gutter); }
.collective-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 88px; }
.collective-section h2 { max-width: 800px; line-height: 1.2; }
.collective-rule { border-top: 1px solid #434343; padding-top: 16px; }
.collective-rule p { opacity: .8; }
.collective-services { padding-block: 100px; }
.collective-services .collective-section__intro { display: flex; min-height: 488px; flex-direction: column; justify-content: space-between; }
.collective-services .collective-rule { max-width: 460px; }
.collective-services .wp-block-buttons, .collective-ai .wp-block-buttons { margin-top: 32px; }
.collective-service-list { display: grid; gap: 24px; }
.collective-service-card { min-height: 104px; padding: 20px 28px; border-radius: 12px 12px 12px 52px; display: flex; align-items: center; gap: 24px; position: relative; isolation: isolate; overflow: hidden; color: #fff; background-position: center; background-size: cover; }
.collective-service-card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgb(0 0 0 / .4); }
.collective-service-grow { background-image: url("../images/figma/service-grow.jpg"); }
.collective-service-transform { background-image: url("../images/figma/service-transform.jpg"); }
.collective-service-modernise { background-image: url("../images/figma/service-modernise.jpg"); }
.collective-service-deliver { background-image: url("../images/figma/service-deliver.jpg"); }
.collective-service-icon { flex: 0 0 64px; width: 64px; height: 64px; margin: 0; padding: 14px; border-radius: 50%; background: #fff; }
.collective-service-icon img { width: 36px; height: 36px; display: block; }
.collective-service-copy { flex: 1; }
.collective-service-card h3 { margin: 0; color: #fff; font: 700 24px/1.2 Domine, Georgia, serif; }
.collective-service-card p { margin: 2px 0 0; font-size: 20px; line-height: 1.2; }

.has-card-reveal > .collective-reveal-card {
	opacity: 0;
	transform: translate3d(var(--collective-card-enter-x, 0), 48px, 0);
	transition: opacity 600ms ease-out, transform 760ms cubic-bezier(.22, 1, .36, 1);
	transition-delay: calc(var(--collective-card-index, 0) * 70ms);
	will-change: opacity, transform;
}

.has-card-reveal > .collective-reveal-card--from-left {
	--collective-card-enter-x: -72px;
}

.has-card-reveal > .collective-reveal-card--from-right {
	--collective-card-enter-x: 72px;
}

/* vertical-only entrance: a horizontal offset widens the page before the clip catches it */
.has-card-reveal > .collective-reveal-card--from-below {
	--collective-card-enter-x: 0;
}

.has-card-reveal > .collective-reveal-card.is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	will-change: auto;
}

.collective-mission { padding-top: 120px; padding-bottom: 120px; }
.collective-mission__copy { text-align: center; }
.collective-mission__copy h2 { max-width: 850px; margin-inline: auto; }
.collective-mission__copy > p { max-width: 720px; margin: 24px auto 28px; opacity: .8; }
.collective-tags { margin: 48px auto; }
.collective-tag, .collective-person-role, .collective-insight-tag { padding: 8px 12px; border-radius: 999px; background: #406e7a; color: #fff; font-size: 12px; font-weight: 600; line-height: 1; }
.collective-process { padding: 64px var(--wp--custom--layout--gutter); border-radius: var(--wp--custom--radius--large); background: var(--wp--preset--color--surface-warm); color: var(--wp--preset--color--black); }
.collective-process > p { max-width: 760px; opacity: .8; }
.collective-process > .collective-process__image { margin: 40px 0 24px; }
.collective-process__image img { width: 100%; height: 281px; object-fit: cover; border-radius: 23px; }
.collective-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; }
.collective-steps > div { padding: 24px; border-top: 1px solid #000; opacity: .5; }
.collective-steps > div:first-child { opacity: 1; }
.collective-steps h3 { margin: 0 0 8px; font: 700 32px/1 Domine, Georgia, serif; }
.collective-steps p { margin: 0; font-size: 16px; font-weight: 500; line-height: 1.3; }

.collective-ai { padding-bottom: 120px; }
.collective-ai .collective-split { margin-bottom: 80px; }
.collective-ai .collective-rule { max-width: 499px; justify-self: end; }
.collective-plus { width: 40px; height: 40px; margin: 0; border-radius: 50%; display: grid; place-items: center; background: #194750; font-size: 26px; }

.collective-team { background: #fff; }
.collective-team .alignwide > p { max-width: 1100px; opacity: .6; }

.collective-insights { background: linear-gradient(rgb(11 37 42 / .75), rgb(11 37 42 / .75)), url("../images/figma/insights.jpg") center/cover; }
.collective-insights h2 { color: #fff; }
.collective-insight-grid { margin-top: 64px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; color: #000; }
.collective-insight-card { min-height: 332px; padding: 32px; border: 1px solid #e1dad9; border-radius: 20px 60px 20px 20px; background: #fff; display: flex; flex-direction: column; align-items: flex-start; }
.collective-insight-grid h3 { margin: 24px 0 12px; font-size: 24px; line-height: 1.3; }
.collective-insight-grid p { margin: 0 0 24px; font-size: 14px; line-height: 1.6; opacity: .7; }
.collective-insight-tag { opacity: 1; }
.collective-read-more { margin-top: auto; }
.collective-insight-grid a { font-size: 14px; font-weight: 600; text-decoration: none; }

.collective-insight-card { position: relative; transition: transform 260ms cubic-bezier(.22, 1, .36, 1), box-shadow 260ms ease, border-color 260ms ease; }
/* the title's own link is stretched over the whole card, so the card is one clickable
   target without nesting links or inventing a second destination */
.collective-insight-card .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.collective-insight-card .collective-insight-tag, .collective-insight-card .collective-read-more { position: relative; z-index: 2; }
.collective-insight-card:has(.wp-block-post-title a) { cursor: pointer; }

/* page-to-page curtain */
.collective-curtain { position: fixed; inset: 0; z-index: 100000; background: var(--wp--preset--color--accent-green); transform: translateY(100%); pointer-events: none; will-change: transform; }
.collective-curtain.is-covering { transform: translateY(0); transition: transform 420ms cubic-bezier(.76, 0, .24, 1); }
.collective-curtain.is-revealing { transform: translateY(-100%); transition: transform 520ms cubic-bezier(.76, 0, .24, 1); }

/* mobile carousels: a visible cue that the row keeps going */
.collective-scroll-hint { display: none; }
.collective-scroll-hint span { display: inline-block; transition: transform 420ms cubic-bezier(.22, 1, .36, 1); }
/* the query loop renders read-more as the anchor itself; the homepage pattern wraps one in a p */
.collective-insight-card a.collective-read-more,
.collective-insight-card .collective-read-more a { display: inline-block; transition: transform 260ms cubic-bezier(.22, 1, .36, 1); }
/* the reveal sets .is-visible { transform } at a higher specificity, so match it here or the lift never lands */
.collective-insight-card:hover, .collective-insight-card:focus-within,
.has-card-reveal > .collective-insight-card.is-visible:hover,
.has-card-reveal > .collective-insight-card.is-visible:focus-within {
	transform: translateY(-6px);
	border-color: var(--wp--preset--color--primary-muted);
	box-shadow: 0 18px 40px rgb(11 37 42 / .18);
}
.collective-insight-card:hover a.collective-read-more,
.collective-insight-card:hover .collective-read-more a,
.collective-insight-card:focus-within a.collective-read-more,
.collective-insight-card:focus-within .collective-read-more a { transform: translateX(4px); }

.collective-final-cta { min-height: 718px; padding-block: 140px; text-align: center; }
.collective-final-cta h2 { margin-inline: auto; }
.collective-final-cta > p:not(.collective-tagline) { max-width: 520px; margin: 16px auto 40px; opacity: .6; }
.collective-tagline-block { margin-top: 60px; }
.collective-tagline { margin: 0 auto; color: #705954; font: 400 24px/1.2 Domine, Georgia, serif; transform: rotate(-6deg); }
.collective-tagline-line { display: block; width: 348px; max-width: 65vw; margin: 0 auto; transform: rotate(-10deg); }
.collective-tagline-line img { display: block; width: 100%; height: auto; }

.collective-footer { padding: 100px var(--wp--custom--layout--gutter) 60px; background: var(--wp--preset--color--surface-footer); }
.collective-footer__main { display: flex; align-items: flex-start; justify-content: space-between; gap: 80px; }
.collective-footer__brand { width: 320px; }
.collective-footer__brand figure { margin: 0; }
.collective-footer__brand img { display: block; width: 149px; }
.collective-footer__brand p { margin-top: 16px; font-size: 14px; line-height: 1.5; opacity: .6; }
.collective-footer__nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 64px; }
.collective-footer__nav h2 { font: 600 13px/1 Geist, sans-serif; }
.collective-footer__nav p { margin: 12px 0 0; font-size: 14px; line-height: 1.25; opacity: .7; }
.collective-footer__nav a { color: inherit; text-decoration: none; }
.collective-footer__nav ul { margin: 0; padding: 0; list-style: none; }
.collective-footer__nav li { margin-top: 12px; font-size: 14px; line-height: 1.3; opacity: .7; }
.collective-footer__nav li a:hover { text-decoration: underline; text-underline-offset: 3px; }
.collective-footer__nav .wp-block-page-list .wp-block-pages-list__item__link { display: block; }
.collective-footer__bottom { margin-top: 80px; padding-top: 24px; border-top: 1px solid #000; display: flex; justify-content: space-between; font-size: 13px; opacity: .4; }
.collective-footer__bottom p { margin: 0; }

/* Acknowledgement of Country. The visible spacing, rule and type come from block
   supports on the footer content itself, so the section reads correctly even where
   this stylesheet has not shipped yet; these rules are refinement only. */
.collective-ack__title, .collective-ack__text { max-width: 640px; }
.collective-footer__acknowledgement + .collective-footer__bottom { margin-top: 40px; }
.collective-ack__flags { display: flex; gap: 8px; align-items: center; }
.collective-ack__flag { display: block; width: 45px; height: 30px; }

.collective-contact.collective-section { padding: 0; }
.collective-contact__columns { align-items: stretch; }
.collective-contact__intro, .collective-contact__form-col { display: flex; min-height: 640px; flex-direction: column; justify-content: center; }
.collective-contact__intro h2 { max-width: 460px; }
.collective-contact-form { margin-top: 32px; }

.collective-page-hero { padding: 200px var(--wp--custom--layout--gutter) 120px; }
.collective-page-hero__inner { max-width: 1120px; margin: 0 auto; animation: collective-hero-rise 700ms cubic-bezier(.22,1,.36,1) both; }
.collective-page-hero h1 { margin: 0 0 48px; max-width: 880px; font-size: clamp(2.75rem, 6vw, 72px); line-height: 1.08; text-wrap: balance; }
.collective-page-hero h1 em, .collective-scroll-showcase-slide :is(h1, h2, p) em { color: var(--wp--preset--color--accent-green); font-style: italic; }
.collective-page-hero__columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 64px; max-width: 1120px; padding-top: 32px; border-top: 1px solid rgb(255 255 255 / .16); }
.collective-page-hero__columns p { margin: 0; max-width: 46ch; font-size: 18px; line-height: 1.6; opacity: .82; }

@keyframes collective-hero-rise {
	from { opacity: 0; transform: translateY(18px); }
	to { opacity: 1; transform: none; }
}

.collective-page-intro .collective-split { align-items: start; }
.collective-page-intro h2 { max-width: 420px; }
.collective-page-intro__copy p + p { margin-top: 16px; }
.collective-page-intro__copy p:first-child { opacity: 1; }
.collective-page-intro__copy p { opacity: .78; }

.collective-team-grid .collective-person--placeholder { background: var(--wp--preset--color--primary-light); }
.collective-team-grid .collective-person--placeholder .collective-person-copy p { opacity: .68; font-style: italic; }

.collective-final-cta--compact { min-height: 0; padding-block: 100px; }

.collective-eyebrow { margin: 0 0 28px; font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; opacity: .55; }

/* Cinematic page heroes. The photography is graded with an empty dark left third, so the
   scrim is weighted left to sit under the copy and lets the lit side breathe on the right. */
body.collective-page-how-we-work .collective-page-hero,
body.collective-page-what-we-help-with .collective-page-hero,
body.collective-page-insights .collective-page-hero {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center right;
}
body.collective-page-how-we-work .collective-page-hero { background-image: linear-gradient(90deg, rgb(11 37 42 / .96) 0%, rgb(11 37 42 / .84) 38%, rgb(11 37 42 / .46) 100%), url("../images/heroes/technology-shouldnt-hold-business-back.jpg"); }
body.collective-page-what-we-help-with .collective-page-hero { background-image: linear-gradient(90deg, rgb(11 37 42 / .96) 0%, rgb(11 37 42 / .84) 38%, rgb(11 37 42 / .46) 100%), url("../images/heroes/growth-cant-wait-for-headcount.jpg"); }
body.collective-page-insights .collective-page-hero { background-image: linear-gradient(90deg, rgb(11 37 42 / .96) 0%, rgb(11 37 42 / .84) 38%, rgb(11 37 42 / .46) 100%), url("../images/heroes/ai-amplified-work-orchestration.jpg"); }

.collective-journey-section { background: #fff; padding-block: 140px; }
.collective-journey-section .collective-split { margin-bottom: 96px; }
.collective-journey-section .collective-rule { max-width: 520px; justify-self: end; }

.collective-platforms .collective-split { margin-bottom: 72px; }
.collective-platforms .collective-rule { max-width: 520px; justify-self: end; }
.collective-platform-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 48px 32px; }
.collective-platform-group__title { margin: 0 0 20px; padding-bottom: 14px; border-bottom: 1px solid rgb(0 0 0 / .18); font-size: 13px; font-weight: 600; font-family: Geist, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.collective-platform-list { margin: 0; padding: 0; list-style: none; }
.collective-platform-list li { margin-bottom: 10px; font-size: 19px; line-height: 1.35; }

.collective-capabilities { padding-block: 140px; }
.collective-capability-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
.collective-capability { position: relative; isolation: isolate; overflow: hidden; padding: 56px 48px 64px; border-radius: 4px; background: rgb(255 255 255 / .05); transition: background 280ms ease; }
.collective-capability:hover { background: rgb(255 255 255 / .09); }
/* photograph under a gradient, dark enough that the copy keeps its contrast */
.collective-capability::before { content: ""; position: absolute; inset: 0; z-index: -2; background-position: center; background-size: cover; opacity: .42; }
.collective-capability::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgb(28 70 78 / .42) 0%, rgb(28 70 78 / .9) 72%); }
.collective-capability:nth-child(1)::before { background-image: url("../images/heroes/strategy-execution-gap-is-expensive.jpg"); }
.collective-capability:nth-child(2)::before { background-image: url("../images/heroes/ai-is-changing-economics-of-work.jpg"); }
.collective-capability:nth-child(3)::before { background-image: url("../images/heroes/technology-shouldnt-hold-business-back.jpg"); }
.collective-capability:nth-child(4)::before { background-image: url("../images/heroes/ai-amplified-work-orchestration.jpg"); }
.collective-capability:first-child { border-top-left-radius: 60px; }
.collective-capability:last-child { border-bottom-right-radius: 60px; }
.collective-capability__index { margin: 0 0 32px; font-family: Domine, Georgia, serif; font-size: 15px; letter-spacing: .22em; opacity: .5; }
.collective-capability__title { margin: 0 0 20px; max-width: 14ch; font-size: 32px; line-height: 1.2; }
.collective-capability__body { margin: 0; font-size: 17px; line-height: 1.7; opacity: .78; }
.collective-capability__link { margin: 18px 0 0; font-size: 15px; font-weight: 600; }
.collective-capability__link a { color: var(--wp--preset--color--accent-green); text-decoration: none; border-bottom: 1px solid rgb(163 250 163 / .45); padding-bottom: 2px; }
.collective-capability__link a:hover { border-bottom-color: var(--wp--preset--color--accent-green); }
.collective-nudge__links { margin: 20px 0 0; font-size: 16px; font-weight: 600; }
.collective-nudge__links a { color: inherit; text-decoration: underline; text-underline-offset: 4px; }
.collective-byline-link { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.collective-cross-link { margin: 20px 0 0; font-weight: 600; }

.collective-nudge { padding-block: 120px; }
.collective-nudge__statement { margin: 0 auto; max-width: 18ch; }
.collective-nudge__answer { margin: 20px auto 0; max-width: 44ch; opacity: .68; }

.collective-page-hero--index { padding-bottom: 80px; }
.collective-filter-row { margin-top: 48px; gap: 12px; }
.collective-filter-row .collective-article__tag { margin: 0; }
.collective-insights-index { padding-top: 0; padding-bottom: 120px; }
.collective-insights-index__query { max-width: 1120px; margin-inline: auto; }
.collective-insights-index .collective-archive__item:first-child { border-top-color: rgb(255 255 255 / .3); }

.collective-article, .collective-archive { --collective-measure: 720px; padding: 96px var(--wp--custom--layout--gutter) 140px; }
.collective-article > *, .collective-archive > * { width: min(100%, var(--collective-measure)); margin-inline: auto; }
.collective-article__back { margin: 0 0 56px; font-size: 14px; font-weight: 600; letter-spacing: .02em; opacity: .6; }
.collective-breadcrumbs { margin: 0 0 56px; font-size: 14px; font-weight: 600; letter-spacing: .02em; opacity: .6; }
.collective-breadcrumbs__list { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.collective-breadcrumbs__item { display: flex; align-items: center; gap: 8px; }
.collective-breadcrumbs__item + .collective-breadcrumbs__item::before { content: "\203A"; opacity: .55; }
.collective-breadcrumbs a { color: inherit; text-decoration: none; }
.collective-breadcrumbs a:hover { text-decoration: underline; text-underline-offset: 4px; }
/* the trailing crumb is the current page: never a link, and allowed to wrap */
.collective-breadcrumbs__item [aria-current="page"] { opacity: .8; }
.collective-article__back a, .collective-article__foot a, .collective-archive__pagination a { color: inherit; text-decoration: none; }
.collective-article__back a:hover, .collective-article__foot a:hover { text-decoration: underline; text-underline-offset: 4px; }
.collective-article__tag { display: inline-block; padding: 8px 14px; border: 1px solid rgb(255 255 255 / .3); border-radius: 999px; font-size: 12px; font-weight: 600; line-height: 1; letter-spacing: .04em; text-transform: uppercase; }
.collective-article__tag a { color: inherit; text-decoration: none; }
.collective-article__title { margin: 28px 0 0; font-size: clamp(2.25rem, 4.4vw, 54px); font-weight: 700; line-height: 1.1; text-wrap: balance; }
.collective-article__standfirst { margin: 24px 0 0; max-width: 60ch; font-size: 20px; line-height: 1.55; opacity: .72; }
.collective-article__meta { margin-top: 36px; gap: 20px; align-items: center; font-size: 13px; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; opacity: .5; }
.collective-article__meta p { margin: 0; }
.collective-article__meta > :not(:first-child) { position: relative; padding-left: 20px; }
.collective-article__meta > :not(:first-child)::before { content: ""; position: absolute; left: 0; top: 50%; width: 4px; height: 4px; border-radius: 50%; background: currentcolor; transform: translateY(-50%); }
.collective-article__figure { width: min(100%, 1120px); margin: 72px auto 0; overflow: hidden; border-radius: 20px 60px 20px 20px; }
.collective-article__figure img { width: 100%; height: auto; max-height: 620px; object-fit: cover; }
.collective-article__body { margin-top: 72px; }
.collective-article__body > * { margin-block: 0; }
.collective-article__body p { margin: 0 0 28px; font-size: 19px; line-height: 1.75; opacity: .84; }
.collective-article__body h2 { margin: 64px 0 20px; max-width: none; font-size: 32px; line-height: 1.25; }
.collective-article__body h3 { margin: 48px 0 16px; font-size: 24px; line-height: 1.3; }
.collective-article__body h2:first-child, .collective-article__body h3:first-child { margin-top: 0; }
.collective-article__body ul, .collective-article__body ol { margin: 0 0 28px; padding-left: 22px; font-size: 19px; line-height: 1.75; opacity: .84; }
.collective-article__body li { margin-bottom: 12px; }
.collective-article__body li::marker { color: var(--wp--preset--color--accent-green); }
.collective-article__body blockquote { margin: 48px 0; padding-left: 32px; border-left: 2px solid var(--wp--preset--color--accent-green); }
.collective-article__body blockquote p { font: 400 26px/1.4 Domine, Georgia, serif; opacity: 1; }
.collective-article__body a { color: var(--wp--preset--color--accent-green); text-decoration: underline; text-underline-offset: 3px; }
.collective-article__body img { width: 100%; height: auto; border-radius: 20px; }
.collective-article__body hr { margin: 56px 0; border: 0; border-top: 1px solid rgb(255 255 255 / .14); }
.collective-article__foot { margin-top: 88px; padding-top: 32px; border-top: 1px solid rgb(255 255 255 / .14); display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.collective-article__foot p { margin: 0; font-size: 14px; font-weight: 600; opacity: .6; }

.collective-archive__eyebrow { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; opacity: .5; }
.collective-archive__title { margin: 20px 0 0; font-size: clamp(2.25rem, 4.4vw, 54px); line-height: 1.1; }
.collective-archive__description { margin: 20px 0 0; max-width: 56ch; font-size: 18px; line-height: 1.6; opacity: .7; }
.collective-archive__query { margin-top: 72px; }
.collective-archive__list { display: grid; gap: 0; }
.collective-archive__item { padding: 48px 0; border-top: 1px solid rgb(255 255 255 / .14); display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 32px; align-items: start; }
/* posts without a featured image collapse back to a single column rather than leaving a gap */
.collective-archive__item:not(:has(.collective-archive__item-media)) { grid-template-columns: minmax(0, 1fr); }
.collective-archive__item-media { margin: 0; }
.collective-archive__item-media img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 4px 16px 4px 4px; }
.collective-archive__item-title { margin: 24px 0 0; font-size: clamp(1.75rem, 2.6vw, 34px); line-height: 1.2; }
/* block global styles zero the shorthand above, so set the logical property more specifically */
.collective-archive__item .collective-archive__item-title { margin-block-start: 8px; }
.collective-archive__item-title a { color: inherit; text-decoration: none; }
.collective-archive__item-title a:hover { color: var(--wp--preset--color--accent-green); }
.collective-archive__item-excerpt p { margin: 16px 0 0; max-width: 62ch; font-size: 17px; line-height: 1.6; opacity: .7; }
.collective-archive__pagination { margin-top: 56px; padding-top: 32px; border-top: 1px solid rgb(255 255 255 / .14); font-size: 14px; font-weight: 600; }

/* Footer sits behind the page and is revealed as content scrolls off it.
   Everything above it needs an opaque background or the footer shows through. */
body:not(.home) .wp-site-blocks > main { position: relative; z-index: 1; background: var(--wp--preset--color--white); }
body:not(.home) main.collective-article, body:not(.home) main.collective-archive { background: var(--wp--preset--color--primary-dark); }
body:not(.home) .collective-footer { position: sticky; bottom: 0; z-index: 0; }

/* Hero pins while the section after it slides up over the top. Heroes run 670-730px,
   so only pin where one comfortably fits — otherwise its lower half becomes unreachable. */
/* every following section, not just the next one: the pinned hero is positioned, so it
   paints above any static sibling further down no matter where that sibling sits in the DOM */
body:not(.home) .collective-page-hero ~ * { position: relative; z-index: 1; }

/* Homepage sections from the October redesign. Layouts follow the supplied prototype;
   colour, type and spacing come from the theme's tokens. Motion is one language across
   them — fade-up on entry, a drawn line, a scrubbed sentence — and every state below is
   the visible resting state: homepage-motion.js only hides things it is about to reveal. */
:root { --collective-ease: cubic-bezier(.22, 1, .36, 1); }

/* hero: the K-11 sentence reads as a deliberate footnote, aligned with the slide copy */
.collective-hero .collective-eyebrow { margin-bottom: 20px; color: var(--wp--preset--color--accent-green); opacity: 1; }
.collective-hero h1 em { font-style: normal; color: var(--wp--preset--color--accent-green); }
.collective-hero > .collective-entity-statement { position: relative; z-index: 2; width: min(620px, 100%); margin: 44px 0 0 max(0px, calc((100% - var(--wp--style--global--wide-size, 1280px)) / 2)); padding-top: 20px; border-top: 1px solid rgb(255 255 255 / .2); color: rgb(255 255 255 / .78); font-size: 16px; line-height: 1.6; }
/* secondary hero action: a ghost button, so the two calls to action have a clear order.
   1px border + 1px less padding keeps both buttons the same height. */
.collective-hero .wp-block-button.is-style-outline > .wp-block-button__link.wp-element-button { padding: 11px 23px; border: 1px solid rgb(255 255 255 / .6); color: #fff; background: transparent; transition: background-color 220ms ease, color 220ms ease, border-color 220ms ease, transform 160ms ease; }
.collective-hero .wp-block-button.is-style-outline > .wp-block-button__link.wp-element-button:hover,
.collective-hero .wp-block-button.is-style-outline > .wp-block-button__link.wp-element-button:focus-visible { border-color: #fff; color: var(--wp--preset--color--primary-dark); background: #fff; filter: none; }

/* statement: the page's one bold moment — scrubbed word by word as it scrolls past */
.collective-statement { position: relative; isolation: isolate; display: flex; align-items: center; min-height: 72vh; overflow: clip; }
.collective-statement::before, .collective-statement::after { content: ""; position: absolute; z-index: -1; top: 50%; aspect-ratio: 1; border-radius: 50%; pointer-events: none; transform: translateY(-50%) scale(var(--collective-orbit-scale, 1)); }
/* two concentric rings drawn as borders: hairline gradients alias into dashes */
.collective-statement::before { right: -16%; width: min(80vw, 1000px); border: 1px solid rgb(163 250 163 / .26); }
.collective-statement::after { right: calc(-16% + min(80vw, 1000px) * .2); width: calc(min(80vw, 1000px) * .6); border: 1px solid rgb(163 250 163 / .16); }
.collective-statement__text { position: relative; max-width: 17ch; margin: 0; font-family: var(--wp--preset--font-family--heading); font-size: clamp(2.5rem, 6.2vw, 96px); line-height: 1.04; letter-spacing: -.025em; text-wrap: balance; }
.collective-statement__text em { font-style: normal; color: var(--wp--preset--color--accent-green); }
.collective-statement.is-scrubbing .collective-statement__word { opacity: calc(.16 + .84 * var(--on, 0)); transition: opacity 160ms linear; }

/* the shift: a before/after table with an arrow chip on the column line */
.collective-shift { position: relative; overflow: clip; }
.collective-shift .collective-eyebrow { opacity: .78; } /* 6.8:1 on the green; the site default (.55) is 3.4:1 here */
.collective-shift h2 { margin-bottom: 56px; }
.collective-shift__table { margin: 0; }
.collective-shift__table table { width: 100%; border-collapse: collapse; border-top: 2px solid var(--wp--preset--color--primary-dark); font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.25rem, 2.4vw, 32px); line-height: 1.2; }
.collective-shift__table thead { border: 0; }
.collective-shift__table th { padding: 18px 16px 14px; border: 0; font-family: var(--wp--preset--font-family--body); font-size: 13px; font-weight: 600; letter-spacing: .14em; text-align: left; text-transform: uppercase; }
.collective-shift__table td { padding: 22px 16px; border: 0; border-bottom: 1px solid rgb(11 37 42 / .28); }
.collective-shift__table th:last-child, .collective-shift__table td:last-child { text-align: right; }
.collective-shift__table td:last-child { font-weight: 700; }
/* the "from" state is the weaker one: 5.7:1, still clearly quieter than the bold "to" */
.collective-shift__table td:first-child { position: relative; color: rgb(11 37 42 / .72); }
.collective-shift__table td:first-child::after { content: "\2192"; position: absolute; top: 50%; right: 0; display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid rgb(11 37 42 / .32); border-radius: 50%; color: var(--wp--preset--color--primary-dark); background: var(--wp--preset--color--accent-green); font-family: var(--wp--preset--font-family--body); font-size: 18px; line-height: 1; transform: translate(50%, -50%); transition: background-color 240ms ease, color 240ms ease, translate 260ms var(--collective-ease); }
.collective-shift__table tbody tr { transition: background-color 240ms ease; }
.collective-shift__table tbody tr:hover { background-color: rgb(11 37 42 / .06); }
.collective-shift__table tbody tr:hover td:first-child::after { color: var(--wp--preset--color--accent-green); background: var(--wp--preset--color--primary-dark); translate: 4px 0; }

/* practical AI: the copy sits on a card with the site's signature uneven corner */
.collective-practical-ai .collective-split { align-items: center; }
.collective-practical-ai .collective-rule { position: relative; isolation: isolate; overflow: hidden; padding: 44px 44px 44px 52px; border-top: 0; border-radius: 48px 16px 16px; background: var(--wp--preset--color--surface-cool); }
.collective-practical-ai .collective-rule::before { content: ""; position: absolute; top: 44px; bottom: 44px; left: 0; width: 4px; border-radius: 0 4px 4px 0; background: var(--wp--preset--color--primary); transform-origin: top; }
.collective-practical-ai .collective-rule::after { content: ""; position: absolute; z-index: -1; right: -120px; bottom: -140px; width: 340px; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgb(163 250 163 / .55), transparent 68%); animation: collective-glow-drift 14s ease-in-out infinite alternate; pointer-events: none; }
.collective-practical-ai .collective-rule p { opacity: 1; }
.collective-practical-ai__lead { margin: 0 0 20px; font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.35rem, 2vw, 28px); line-height: 1.3; }

@keyframes collective-glow-drift {
	from { transform: translate3d(0, 0, 0) scale(1); }
	to { transform: translate3d(-48px, -36px, 0) scale(1.12); }
}

/* who we help: cards light up under the cursor, with a line drawn along the base */
.collective-audience .collective-split { align-items: end; }
.collective-audience__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: 64px; background: rgb(11 37 42 / .16); border: 1px solid rgb(11 37 42 / .16); }
.collective-audience__item { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; min-height: 280px; padding: 32px 28px; overflow: hidden; background: var(--wp--preset--color--surface-cool); transition: background-color 300ms ease; }
.collective-audience__item::before { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 50%), rgb(163 250 163 / .38), transparent 62%); opacity: 0; transition: opacity 320ms ease; }
.collective-audience__item::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 3px; background: var(--wp--preset--color--primary); transform: scaleX(0); transform-origin: left; transition: transform 520ms var(--collective-ease); }
.collective-audience__item h3 { margin: 0 0 16px; font-size: clamp(1.75rem, 2.6vw, 40px); line-height: 1.1; transition: translate 420ms var(--collective-ease); }
.collective-audience__item p { margin: 0; line-height: 1.55; opacity: .78; }
.collective-audience__item:hover { background: #fff; }
.collective-audience__item:hover::before { opacity: 1; }
.collective-audience__item:hover::after { transform: scaleX(1); }
.collective-audience__item:hover h3 { translate: 0 -4px; }

/* what improves: a dark bento grid; each mark grows and the cell catches a glow on hover */
.collective-outcomes__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 56px 0 0; padding: 0; list-style: none; background: rgb(255 255 255 / .2); border: 1px solid rgb(255 255 255 / .2); }
.collective-outcomes__list li { position: relative; isolation: isolate; display: flex; min-height: 168px; margin: 0; padding: 28px; overflow: hidden; flex-direction: column; justify-content: space-between; gap: 24px; background: var(--wp--preset--color--primary-dark); font-size: clamp(1.1rem, 1.5vw, 22px); line-height: 1.25; transition: background-color 300ms ease; }
.collective-outcomes__list li::before { content: ""; display: block; width: 18px; height: 3px; flex: none; border-radius: 3px; background: var(--wp--preset--color--accent-green); transition: width 460ms var(--collective-ease); }
.collective-outcomes__list li::after { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(320px circle at var(--mx, 50%) var(--my, 50%), rgb(163 250 163 / .16), transparent 62%); opacity: 0; transition: opacity 320ms ease; }
.collective-outcomes__list li:hover { background: color-mix(in srgb, var(--wp--preset--color--primary-dark), var(--wp--preset--color--primary) 45%); }
.collective-outcomes__list li:hover::before { width: 44px; }
.collective-outcomes__list li:hover::after { opacity: 1; }

/* entry states — applied only by homepage-motion.js, only when motion is allowed */
.motion-ready .collective-eyebrow,
.motion-ready h2,
.collective-audience.motion-ready .collective-split p { opacity: 0; translate: 0 16px; transition: opacity 600ms ease, translate 800ms var(--collective-ease); }
.motion-ready h2 { transition-delay: 90ms; }
.collective-audience.motion-ready .collective-split p { transition-delay: 180ms; }
.motion-ready.is-in .collective-eyebrow,
.motion-ready.is-in h2,
.collective-audience.motion-ready.is-in .collective-split p { opacity: 1; translate: 0 0; }

.collective-shift__table tbody tr:nth-child(2) { --i: 1; }
.collective-shift__table tbody tr:nth-child(3) { --i: 2; }
.collective-shift__table tbody tr:nth-child(4) { --i: 3; }
.collective-shift__table tbody tr:nth-child(5) { --i: 4; }
.collective-shift__table tbody tr:nth-child(6) { --i: 5; }
.collective-shift.motion-ready tbody tr { opacity: 0; translate: 0 18px; transition: opacity 600ms ease calc(var(--i, 0) * 110ms + 200ms), translate 760ms var(--collective-ease) calc(var(--i, 0) * 110ms + 200ms), background-color 240ms ease; }
.collective-shift.motion-ready tbody td:last-child { clip-path: inset(0 100% 0 0); transition: clip-path 900ms var(--collective-ease) calc(var(--i, 0) * 110ms + 480ms); }
.collective-shift.motion-ready tbody td:first-child::after { opacity: 0; scale: .4; transition: background-color 240ms ease, color 240ms ease, translate 260ms var(--collective-ease), opacity 400ms ease calc(var(--i, 0) * 110ms + 380ms), scale 560ms var(--collective-ease) calc(var(--i, 0) * 110ms + 380ms); }
.collective-shift.motion-ready.is-in tbody tr { opacity: 1; translate: 0 0; }
.collective-shift.motion-ready.is-in tbody td:last-child { clip-path: inset(0 0 0 0); }
.collective-shift.motion-ready.is-in tbody td:first-child::after { opacity: 1; scale: 1; }

.collective-practical-ai.motion-ready .collective-rule { opacity: 0; translate: 32px 0; transition: opacity 700ms ease 150ms, translate 900ms var(--collective-ease) 150ms; }
.collective-practical-ai.motion-ready .collective-rule::before { scale: 1 0; transition: scale 900ms var(--collective-ease) 550ms; }
.collective-practical-ai.motion-ready.is-in .collective-rule { opacity: 1; translate: 0 0; }
.collective-practical-ai.motion-ready.is-in .collective-rule::before { scale: 1 1; }

@media (min-width: 783px) and (min-height: 780px) {
	body:not(.home) .collective-page-hero { position: sticky; top: 0; z-index: 0; }
}

@media (prefers-reduced-motion: reduce) {
	body:not(.home) .collective-footer,
	body:not(.home) .collective-page-hero { position: static; }
}

@media (prefers-reduced-motion: reduce) {
	.collective-page-hero__inner { animation: none; }
}

@media (max-width: 1024px) {
	.collective-header { padding-inline: 40px; }
	.collective-section, .collective-hero { padding-inline: 40px; }
	.collective-split { gap: 48px; }
	.collective-insight-grid { grid-template-columns: repeat(2, 1fr); }
	.collective-steps { gap: 16px; }
	.collective-process { padding: 48px; }
	.collective-footer { padding-inline: 40px; }
	.collective-footer__nav { gap: 32px; }
}

@media (max-width: 782px) {
	.collective-statement { min-height: 0; }
	.collective-statement::before { right: -45%; width: 130vw; }
	.collective-statement::after { right: calc(-45% + 130vw * .2); width: 78vw; }
	.collective-shift h2 { margin-bottom: 36px; }
	.collective-shift__table th { padding-inline: 10px; font-size: 11px; letter-spacing: .1em; }
	.collective-shift__table td { padding: 16px 10px; }
	.collective-shift__table td:first-child::after { width: 30px; height: 30px; font-size: 14px; }
	.collective-practical-ai .collective-rule { padding: 32px 24px 32px 32px; border-radius: 36px 12px 12px; }
	.collective-practical-ai .collective-rule::before { top: 32px; bottom: 32px; }
	.collective-hero .collective-discover { margin-left: 0; align-items: flex-start; }
	.collective-audience__grid { grid-template-columns: minmax(0, 1fr); margin-top: 40px; }
	.collective-audience__item { min-height: 200px; }
	.collective-outcomes__list { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 40px; }
	.collective-outcomes__list li { min-height: 120px; padding: 20px; }
	.collective-header { height: 72px; padding-inline: 20px; }
	.wp-site-blocks > main.collective-shell:not(.collective-hero) { margin-top: 72px; }
	.collective-header__logo { width: 128px; }
	.collective-header__logo a { display: flex; align-items: center; min-height: 44px; }
	.collective-header .wp-block-buttons { display: none; }
	.collective-header__nav .is-menu-open .wp-block-navigation__container { gap: 8px; padding-top: 24px; }
	.collective-header__nav .is-menu-open .wp-block-navigation-item { width: 100%; }
	.collective-header__nav .is-menu-open .wp-block-navigation-item__content { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 96px; font-size: 26px; text-shadow: none; }
	.collective-header__nav .is-menu-open .wp-block-navigation-item__content[aria-current="page"] { color: var(--wp--preset--color--accent-green); }
	.collective-header__nav .is-menu-open .wp-block-navigation-item__content[aria-current="page"]::after { content: none; }
	.collective-hero { padding: 120px 20px 32px; }
	.collective-hero h1 { font-size: clamp(48px, 15vw, 64px); }
	.collective-logo-marquee__viewport { --collective-marquee-fade: 48px; }
	.collective-section { padding: 80px 20px; }
	.collective-split { grid-template-columns: 1fr; gap: 40px; }
	.collective-services .collective-section__intro { min-height: 0; gap: 48px; }
	.collective-service-card p { font-size: 16px; }
	.collective-mission { padding-inline: 20px; }
	.collective-process { padding: 40px 24px; border-radius: 24px; }
	.collective-process__image img { height: 220px; }
	.collective-steps { grid-template-columns: repeat(2, 1fr); }
	.collective-ai .collective-rule { justify-self: stretch; }
	.collective-final-cta { min-height: 620px; }
	.collective-footer { padding: 72px 20px 40px; }
	.collective-footer__main { flex-direction: column; }
	.collective-footer__nav { grid-template-columns: repeat(2, minmax(120px, 1fr)); width: 100%; gap: 40px 24px; }
	.collective-footer__bottom { flex-direction: column; gap: 8px; }
	.collective-footer__acknowledgement + .collective-footer__bottom { margin-top: 32px; }
	.collective-contact__intro, .collective-contact__form-col { min-height: 0; }
	.collective-scroll-hint { display: flex; align-items: center; gap: 8px; margin: 14px 0 0; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; opacity: .55; }
	.collective-scroll-hint span { animation: collective-scroll-nudge 2.2s ease-in-out infinite; }
	.collective-page-hero { padding: 140px 20px 64px; }
	.collective-page-hero__columns { grid-template-columns: 1fr; gap: 24px; }
	/* narrow screens have no empty left third to exploit, so the scrim goes vertical */
	body.collective-page-how-we-work .collective-page-hero { background-image: linear-gradient(rgb(11 37 42 / .93), rgb(11 37 42 / .8)), url("../images/heroes/technology-shouldnt-hold-business-back.jpg"); }
	body.collective-page-what-we-help-with .collective-page-hero { background-image: linear-gradient(rgb(11 37 42 / .93), rgb(11 37 42 / .8)), url("../images/heroes/growth-cant-wait-for-headcount.jpg"); }
	body.collective-page-insights .collective-page-hero { background-image: linear-gradient(rgb(11 37 42 / .93), rgb(11 37 42 / .8)), url("../images/heroes/ai-amplified-work-orchestration.jpg"); }
	.collective-journey-section { padding-block: 80px; }
	.collective-journey-section .collective-split { margin-bottom: 56px; }
	.collective-journey-section .collective-rule, .collective-platforms .collective-rule { justify-self: stretch; }
	.collective-platform-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 24px; }
	.collective-platform-list li { font-size: 17px; }
	.collective-capabilities { padding-block: 80px; }
	.collective-capability-grid { grid-template-columns: 1fr; }
	.collective-capability { padding: 40px 24px 44px; }
	.collective-capability__index { margin-bottom: 20px; }
	.collective-capability__title { max-width: none; font-size: 27px; }
	.collective-nudge { padding-block: 80px; }
	.collective-article, .collective-archive { padding: 64px 20px 96px; }
	.collective-article__back { margin-bottom: 36px; }
	.collective-breadcrumbs { margin-bottom: 36px; }
	.collective-article__figure { margin-top: 48px; }
	.collective-article__body { margin-top: 48px; }
	.collective-article__body p, .collective-article__body ul, .collective-article__body ol { font-size: 17px; }
	.collective-article__body h2 { margin-top: 48px; font-size: 27px; }
	.collective-article__foot { margin-top: 64px; }
	.collective-archive__query { margin-top: 48px; }
	.collective-archive__item { padding: 36px 0; grid-template-columns: minmax(0, 1fr); gap: 20px; }
}

@media (max-width: 480px) {
	.collective-steps { grid-template-columns: 1fr; }
	.collective-team-grid, .collective-insight-grid { grid-template-columns: 1fr; }
	.collective-service-card { padding: 16px; gap: 16px; }
	.collective-service-icon { flex-basis: 52px; width: 52px; height: 52px; padding: 8px; }
	.collective-footer__nav { grid-template-columns: 1fr 1fr; }
	/* narrow phones: the chip sits on the column line, so the "from" word needs its half back */
	.collective-shift__table table { font-size: 17px; }
	.collective-shift__table th, .collective-shift__table td { padding-inline: 6px; }
	.collective-shift__table td:first-child::after { width: 24px; height: 24px; font-size: 12px; }
}

@media (max-width: 360px) {
	.collective-shift__table table { font-size: 15px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.collective-discover figure::after { animation: none; transform: translate(-50%, 0); }
	.has-card-reveal > .collective-reveal-card { opacity: 1; transform: none; transition: none; }
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}
