/* Co-oppetition Consulting — editorial design layer.
   Pages are authored with inline styles, so this layer restyles them through
   attribute selectors and !important, the same technique as responsive.css.
   Hand-authored markup writes "prop:value" with no space; the React tools write
   "prop: value", so the selectors below deliberately leave the tools alone.
   Load in <head> after responsive.css. */

:root {
  --r-xs: 2px;
  --r-sm: 4px;
  --r-md: 6px;
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --rule: rgba(136, 184, 106, 0.16);
  --rule-strong: rgba(136, 184, 106, 0.32);
  --card-hover: #212B1D;
  --btn-ink: #111410;
}
:root[data-theme="light"] {
  --rule: rgba(50, 107, 61, 0.18);
  --rule-strong: rgba(50, 107, 61, 0.36);
  --card-hover: #F3F7EF;
}

html { scroll-behavior: smooth; scroll-padding-top: 88px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
::selection { background: #88B86A; color: #111410; }

/* ───────────────────────── Header ───────────────────────── */
header[style*="position:sticky"] {
  background: var(--header-bg) !important;
  backdrop-filter: saturate(140%) blur(12px) !important;
  -webkit-backdrop-filter: saturate(140%) blur(12px);
  border-bottom: 1px solid transparent !important;
  transition: border-color .3s ease, box-shadow .3s ease;
}
header.coop-scrolled { border-bottom-color: var(--rule) !important; }
.coop-progress {
  position: absolute; left: 0; bottom: -1px; height: 2px; width: 100%;
  background: var(--green-highlight); transform-origin: 0 50%; transform: scaleX(0);
  pointer-events: none;
}
@media (min-width: 1181px) {
  nav[aria-label="Main"] { flex-wrap: nowrap !important; gap: 16px !important; transition: min-height .3s var(--ease-out); }
  header.coop-scrolled nav[aria-label="Main"] { min-height: 60px !important; }
  nav[aria-label="Main"] > div[style*="flex-wrap:wrap"] { flex-wrap: nowrap !important; gap: 2px !important; }
}

/* Primary nav items: text links with an underline indicator, no pill fills */
nav[aria-label="Main"] a[style*="padding:9px 12px"],
nav[aria-label="Main"] [data-menu-button] {
  position: relative;
  background: transparent !important;
  border-radius: var(--r-xs) !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  padding: 10px 11px !important;
  color: var(--green-body) !important;
  white-space: nowrap;
  transition: color .2s ease;
}
nav[aria-label="Main"] a[style*="padding:9px 12px"]::after,
nav[aria-label="Main"] [data-menu-button]::after {
  content: ""; position: absolute; left: 11px; right: 11px; bottom: 3px; height: 2px;
  background: var(--green-highlight); transform: scaleX(0); transform-origin: 0 50%;
  transition: transform .35s var(--ease-out);
}
nav[aria-label="Main"] a[style*="padding:9px 12px"]:hover,
nav[aria-label="Main"] [data-menu-button]:hover,
nav[aria-label="Main"] [data-menu-button][aria-expanded="true"] { color: var(--white) !important; }
nav[aria-label="Main"] a[style*="padding:9px 12px"]:hover::after,
nav[aria-label="Main"] [data-menu-button]:hover::after,
nav[aria-label="Main"] [data-menu-button][aria-expanded="true"]::after { transform: scaleX(1); }
nav[aria-label="Main"] a[aria-current="page"][style*="padding:9px 12px"],
nav[aria-label="Main"] [data-menu-button][style*="rgba(50,107,61,0.34)"] { color: var(--white) !important; font-weight: 700 !important; }
nav[aria-label="Main"] a[aria-current="page"][style*="padding:9px 12px"]::after,
nav[aria-label="Main"] [data-menu-button][style*="rgba(50,107,61,0.34)"]::after { transform: scaleX(1); }
nav[aria-label="Main"] [data-menu-button] > span[aria-hidden] { display: none !important; }

/* Nav call to action */
nav[aria-label="Main"] a[style*="background:#88B86A"] {
  border-radius: var(--r-sm) !important;
  font-size: 14.5px !important;
  padding: 10px 16px !important;
  white-space: nowrap;
  transition: background .2s ease;
}

/* Dropdown panels */
[data-menu] > div[id^="coop-menu"] {
  width: max-content;
  min-width: 220px !important;
  border-radius: var(--r-md) !important;
  border-color: var(--rule-strong) !important;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28) !important;
  padding: 6px !important;
}
/* The last dropdown (About) opens toward the left so it stays on screen */
@media (min-width: 1181px) {
  nav[aria-label="Main"] [data-menu]:last-of-type > div[id^="coop-menu"] { left: auto !important; right: 0; }
}
[data-menu] > div[id^="coop-menu"]:not([hidden]) { animation: coopMenuIn .22s var(--ease-out); }
@keyframes coopMenuIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
[data-menu] > div[id^="coop-menu"] a {
  border-radius: var(--r-xs) !important;
  font-size: 14.5px !important;
  padding: 10px 14px !important;
  display: flex !important; align-items: center; justify-content: space-between; gap: 18px;
  transition: background .18s ease, color .18s ease;
}
[data-menu] > div[id^="coop-menu"] a::after {
  content: "→"; opacity: 0; transform: translateX(-6px); color: var(--green-highlight);
  transition: opacity .2s ease, transform .25s var(--ease-out);
}
[data-menu] > div[id^="coop-menu"] a:hover::after,
[data-menu] > div[id^="coop-menu"] a:focus-visible::after { opacity: 1; transform: none; }
[data-menu] > div[id^="coop-menu"] a:hover { background: rgba(50, 107, 61, 0.22) !important; }

/* Theme switch: compact so the nav stays on one line */
.coop-theme-toggle {
  height: 36px; padding: 0 6px !important; gap: 8px !important; margin-left: 4px;
  font-size: 12px !important; border-color: var(--rule-strong) !important;
}
.coop-theme-toggle [data-coop-theme-label] { margin-left: 6px; }
.coop-theme-toggle-track { width: 36px !important; height: 20px !important; }
.coop-theme-toggle-thumb { width: 16px !important; height: 16px !important; }
@media (max-width: 1180px) {
  .coop-theme-toggle { order: 1; }
  [data-coop-burger] { order: 2; }
  [data-coop-navlinks] { order: 3; }
}
@media (max-width: 600px) {
  .coop-theme-toggle [data-coop-theme-label] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
@media (min-width: 1181px) and (max-width: 1399px) {
  .coop-theme-toggle [data-coop-theme-label] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}

/* ───────────────────────── Type ───────────────────────── */
main h1[style] {
  font-weight: 700 !important;
  letter-spacing: -0.032em !important;
  line-height: 1.04 !important;
  text-wrap: balance;
}
main h1[style*="font-size:56px"] { font-size: clamp(40px, 5.4vw, 64px) !important; }
main h1[style*="font-size:48px"],
main h1[style*="font-size:52px"],
main h1[style*="font-size:46px"] { font-size: clamp(36px, 4.8vw, 58px) !important; max-width: 860px; }
main h2[style*="font-size:38px"],
main h2[style*="font-size:34px"] {
  font-weight: 700 !important; letter-spacing: -0.026em !important; line-height: 1.1 !important;
  font-size: clamp(28px, 3.4vw, 42px) !important; text-wrap: balance;
}
main h2[style*="font-size:30px"],
main h2[style*="font-size:32px"] {
  font-weight: 700 !important; letter-spacing: -0.022em !important; line-height: 1.15 !important;
  font-size: clamp(25px, 2.7vw, 34px) !important; text-wrap: balance;
}
main h3[style*="font-weight:800"] { font-weight: 700 !important; letter-spacing: -0.012em !important; }

/* Accent phrase: solid brand green, no gradient fill */
.coop-grad-text {
  background: none !important;
  -webkit-background-clip: border-box !important; background-clip: border-box !important;
  color: var(--green-highlight) !important;
  -webkit-text-fill-color: currentColor;
  font-weight: 700;
}
:root:not([data-theme="light"]) .coop-grad-text { color: var(--green-pale) !important; }
section[style*="background:#2A5C35"] .coop-grad-text { color: #D0E8AE !important; }

/* Eyebrow labels: hairline + small caps label */
main p[style*="text-transform:uppercase"][style*="letter-spacing:0.12em"] {
  display: flex; align-items: center; gap: 12px;
  font-size: 12px !important; letter-spacing: 0.16em !important; font-weight: 700 !important;
  color: var(--green-sub) !important;
}
main p[style*="text-transform:uppercase"][style*="letter-spacing:0.12em"]::before {
  content: ""; flex: 0 0 auto; width: 28px; height: 1px; background: var(--green-highlight);
  transform-origin: 0 50%; transition: transform .9s var(--ease-out) .15s;
}
main p[data-reveal][style*="text-transform:uppercase"]:not(.coop-in-view)::before { transform: scaleX(0); }
main [style*="text-align:center"] p[style*="text-transform:uppercase"][style*="letter-spacing:0.12em"] { justify-content: center; }

/* Inline text links */
main p a[style*="font-weight:700"]:not([style*="padding"]) {
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 4px;
  text-decoration-color: var(--rule-strong) !important;
  transition: text-decoration-color .2s ease, color .2s ease;
}
main p a[style*="font-weight:700"]:not([style*="padding"]):hover { text-decoration-color: currentColor !important; }

/* ───────────────────────── Hero ───────────────────────── */
main > section[data-hero] { position: relative; overflow: hidden; border-bottom: 1px solid var(--rule) !important; }
main > section[data-hero] > .coop-hero-relative { padding-top: clamp(64px, 9vw, 112px) !important; padding-bottom: clamp(56px, 8vw, 96px) !important; }
main > section[data-hero] > .coop-hero-relative > div:first-child > *,
main > section[data-hero] > .coop-hero-relative:not([style*="display:grid"]) > * {
  animation: coopRise .9s var(--ease-out) both;
}
main > section[data-hero] > .coop-hero-relative > div:first-child > :nth-child(2),
main > section[data-hero] > .coop-hero-relative:not([style*="display:grid"]) > :nth-child(2) { animation-delay: .08s; }
main > section[data-hero] > .coop-hero-relative > div:first-child > :nth-child(3),
main > section[data-hero] > .coop-hero-relative:not([style*="display:grid"]) > :nth-child(3) { animation-delay: .16s; }
main > section[data-hero] > .coop-hero-relative > div:first-child > :nth-child(n+4),
main > section[data-hero] > .coop-hero-relative:not([style*="display:grid"]) > :nth-child(n+4) { animation-delay: .24s; }
main > section[data-hero] > .coop-hero-relative[style*="display:grid"] > div:last-child { animation: coopRise 1s var(--ease-out) .3s both; }
@keyframes coopRise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

/* Two outlined circles drawing together on scroll: the co-oppetition motif */
.coop-motif {
  position: absolute; top: 50%; right: max(-120px, calc((100vw - 1140px) / 2 - 220px));
  width: min(720px, 72vw); height: auto; transform: translateY(-50%);
  pointer-events: none; z-index: 0; color: var(--green-highlight); opacity: .5;
}
.coop-motif circle { fill: none; stroke: currentColor; stroke-width: 1; vector-effect: non-scaling-stroke; }
.coop-motif .coop-motif-a, .coop-motif .coop-motif-b { stroke-opacity: .55; }
.coop-motif .coop-motif-ring { stroke-opacity: .16; stroke-dasharray: 2 6; }
.coop-motif .coop-motif-lens { fill: currentColor; fill-opacity: 0; stroke: none; transition: fill-opacity .2s linear; }
.coop-motif .coop-motif-draw { stroke-dasharray: 1; stroke-dashoffset: 1; animation: coopDraw 2.2s var(--ease-out) .2s forwards; }
@keyframes coopDraw { to { stroke-dashoffset: 0; } }
.coop-motif .coop-motif-mark { fill: currentColor; fill-opacity: .6; transition: opacity .2s linear; }
main > section[data-hero]:has(> .coop-hero-relative[style*="display:grid"]) .coop-motif-mark { display: none; }
@media (max-width: 760px) {
  main > section[data-hero] .coop-motif-mark { display: none; }
}
:root[data-theme="light"] main > section[data-hero] .coop-motif { opacity: .7; }
main > section[data-hero] .coop-hero-relative { position: relative; z-index: 1; }
main > section[data-hero] > .coop-hero-relative[style*="display:grid"] ~ .coop-motif,
main > section[data-hero]:has(> .coop-hero-relative[style*="display:grid"]) .coop-motif { right: -260px; opacity: .32; }
@media (max-width: 760px) {
  .coop-motif { width: 120vw; right: -60vw; opacity: .25 !important; }
}
section[style*="background:#2A5C35"] .coop-motif { color: #D0E8AE; opacity: .28; right: -140px; width: 560px; }
section[style*="background:#2A5C35"] .coop-motif-mark { display: none; }
@media (min-width: 1440px) {
  section[style*="background:#2A5C35"] .coop-motif { right: calc((100vw - 1140px) / 4 - 264px); }
  section[style*="background:#2A5C35"] .coop-motif-mark { display: inline; }
}

/* Stats under the home hero */
main dl[style*="display:flex"] { gap: 0 !important; margin-top: 48px !important; }
main dl[style*="display:flex"] > div {
  min-width: 170px; padding: 16px 32px 0 0; margin-right: 32px; border-top: 1px solid var(--rule-strong);
}
main dl[style*="display:flex"] dt { font-size: 40px !important; font-weight: 700 !important; letter-spacing: -0.03em; color: var(--white) !important; }
main dl[style*="display:flex"] dd { font-size: 14px !important; margin-top: 10px !important; }

/* Light founder card in the hero */
main [style*="background:#F4F7F2"] {
  border-radius: var(--r-sm) !important;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04), 0 24px 48px -24px rgba(0, 0, 0, 0.45) !important;
  border: 0 !important;
  position: relative;
  transform: none !important;
}
main [style*="background:#F4F7F2"]::before {
  content: ""; position: absolute; left: 0; top: 0; height: 3px; width: 100%; background: #326B3D;
  border-radius: var(--r-sm) var(--r-sm) 0 0;
}
main [style*="background:#F4F7F2"] p[style*="font-style:italic"] {
  font-family: 'Public Sans', sans-serif !important; font-weight: 600 !important;
  font-size: 19px !important; line-height: 1.45 !important; letter-spacing: -0.01em; color: #1A1C18 !important;
}
main [style*="background:#F4F7F2"] li[style*="border-radius:999px"] {
  border-radius: var(--r-xs) !important; background: transparent !important;
  border: 1px solid rgba(50, 107, 61, 0.35); color: #24391F !important;
  font-size: 12px !important; letter-spacing: 0.06em; text-transform: uppercase; padding: 6px 10px !important;
}

/* ───────────────────────── Cards ───────────────────────── */
main [style*="background:var(--bg-card)"] {
  border-radius: var(--r-md) !important;
  box-shadow: none !important;
  transform: none !important;
  border-color: var(--rule) !important;
  position: relative;
  transition: background-color .3s ease, border-color .3s ease !important;
}
main [style*="background:var(--bg-card)"][style*="border-top:2px solid #88B86A"] { border-top-color: var(--green-highlight) !important; }

/* Grids of cards become a single ruled grid with shared hairlines */
main [style*="display:grid"]:has(> [style*="background:var(--bg-card)"] ~ [style*="background:var(--bg-card)"] ~ [style*="background:var(--bg-card)"]) {
  gap: 0 !important; padding: 0 1px 1px 0;
}
main [style*="display:grid"]:has(> [style*="background:var(--bg-card)"] ~ [style*="background:var(--bg-card)"] ~ [style*="background:var(--bg-card)"]) > [style*="background:var(--bg-card)"] {
  border-radius: 0 !important;
  margin: 0 -1px -1px 0;
  padding: 30px 28px 32px !important;
  border: 1px solid var(--rule) !important;
}
main [style*="display:grid"]:has(> [style*="background:var(--bg-card)"] ~ [style*="background:var(--bg-card)"] ~ [style*="background:var(--bg-card)"]) > [style*="background:var(--bg-card)"]::before {
  content: ""; position: absolute; left: -1px; right: -1px; top: -1px; height: 2px;
  background: var(--green-highlight); transform: scaleX(0); transform-origin: 0 50%;
  transition: transform .5s var(--ease-out);
}
main [style*="display:grid"]:has(> [style*="background:var(--bg-card)"] ~ [style*="background:var(--bg-card)"] ~ [style*="background:var(--bg-card)"]) > [style*="background:var(--bg-card)"][style*="border-top:2px solid #88B86A"]::before { transform: scaleX(1); }
@media (hover: hover) {
  main [style*="display:grid"]:has(> [style*="background:var(--bg-card)"] ~ [style*="background:var(--bg-card)"] ~ [style*="background:var(--bg-card)"]) > [style*="background:var(--bg-card)"]:hover {
    background: var(--card-hover) !important; z-index: 1;
  }
  main [style*="display:grid"]:has(> [style*="background:var(--bg-card)"] ~ [style*="background:var(--bg-card)"] ~ [style*="background:var(--bg-card)"]) > [style*="background:var(--bg-card)"]:hover::before { transform: scaleX(1); }
}
main [style*="display:grid"]:has(> [style*="background:var(--bg-card)"] ~ [style*="background:var(--bg-card)"] ~ [style*="background:var(--bg-card)"]) h3[style] { font-size: 19px !important; line-height: 1.3 !important; }

/* Wide promo cards (self-check, assessment, "how we work") */
main [style*="background:var(--bg-card)"][style*="justify-content:space-between"] {
  padding: clamp(28px, 4vw, 44px) !important;
  border-color: var(--rule-strong) !important;
  overflow: hidden;
}
main [style*="background:var(--bg-card)"][style*="justify-content:space-between"]::after {
  content: ""; position: absolute; right: -90px; top: 50%; width: 220px; height: 220px; margin-top: -110px;
  border: 1px solid var(--rule); border-radius: 50%;
  box-shadow: -70px 0 0 -1px transparent; pointer-events: none;
  transition: transform .8s var(--ease-out);
}
@media (hover: hover) {
  main [style*="background:var(--bg-card)"][style*="justify-content:space-between"]:hover { border-color: rgba(136, 184, 106, 0.5) !important; }
  main [style*="background:var(--bg-card)"][style*="justify-content:space-between"]:hover::after { transform: translateX(-40px); }
}
main [style*="background:var(--bg-card)"][style*="justify-content:space-between"] > * { position: relative; z-index: 1; }

/* Step numbers: small index labels instead of oversized numerals */
main [style*="tabular-nums"][style*="font-size:38px"],
main span[style*="tabular-nums"][style*="font-size:34px"] {
  font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.14em;
  color: var(--green-highlight) !important; line-height: 1 !important;
  display: inline-flex; align-items: center; gap: 10px;
}
main [style*="tabular-nums"][style*="font-size:38px"]::after {
  content: ""; width: 24px; height: 1px; background: currentColor; opacity: .6;
}
main li[style*="grid-template-columns:auto 1fr"] > span[style*="tabular-nums"] { padding-top: 6px; }

/* Process timeline (ol of numbered steps, enhanced by coop-motion.js) */
.coop-steps { position: relative; }
.coop-steps > li { transition: background-color .3s ease, opacity .5s ease !important; }
.coop-steps > li [style*="tabular-nums"] { transition: color .4s ease; }
.coop-steps.coop-steps-armed > li:not(.coop-step-on) { opacity: .55; }
.coop-steps.coop-steps-armed > li:not(.coop-step-on) [style*="tabular-nums"] { color: var(--green-sub) !important; }
.coop-steps-bar {
  position: absolute; left: 0; top: -1px; height: 2px; width: 100%; z-index: 2;
  background: var(--green-highlight); transform: scaleX(0); transform-origin: 0 50%;
  transition: transform .6s var(--ease-out); pointer-events: none;
}
@media (max-width: 760px) { .coop-steps-bar { display: none; } .coop-steps.coop-steps-armed > li { opacity: 1 !important; } }

/* Practice lists in the home tab panels: ruled rows, no coloured left border */
main ul[style*="display:grid"]:has(> li[style*="border-left:2px solid #326B3D"]) { gap: 0 !important; border-top: 1px solid var(--rule); }
main li[style*="border-left:2px solid #326B3D"] {
  border-left: 0 !important; padding: 14px 0 14px 28px !important; border-bottom: 1px solid var(--rule);
  position: relative; color: var(--green-heading) !important;
}
main li[style*="border-left:2px solid #326B3D"]::before {
  content: ""; position: absolute; left: 2px; top: 50%; width: 12px; height: 1px; background: var(--green-highlight);
}

/* ───────────────────────── Tabs ───────────────────────── */
main [role="tablist"] {
  position: relative; gap: 4px !important; border-bottom: 1px solid var(--rule-strong);
}
main [role="tablist"] > [role="tab"] {
  background: transparent !important; border: 0 !important; border-radius: 0 !important;
  color: var(--green-body) !important; padding: 14px 18px 16px !important; font-size: 16px !important;
  transition: color .2s ease;
}
main [role="tablist"] > [role="tab"]:hover { color: var(--white) !important; }
main [role="tablist"] > [role="tab"][aria-selected="true"] { color: var(--white) !important; }
.coop-tab-ink {
  position: absolute; bottom: -1px; left: 0; height: 2px; width: 0; background: var(--green-highlight);
  transition: transform .45s var(--ease-out), width .45s var(--ease-out);
}
main [role="tablist"]:not(:has(.coop-tab-ink)) > [role="tab"][aria-selected="true"] { box-shadow: inset 0 -2px 0 var(--green-highlight) !important; }
main [role="tablist"] + [style*="background:var(--bg-card)"] { margin-top: 0 !important; border-top: 0 !important; border-radius: 0 0 var(--r-md) var(--r-md) !important; }
main [role="tabpanel"]:not([hidden]) { animation: coopPanel .45s var(--ease-out); }
@keyframes coopPanel { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (max-width: 760px) {
  main [role="tablist"] { flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; }
  main [role="tablist"]::-webkit-scrollbar { display: none; }
  main [role="tablist"] > [role="tab"] { width: auto !important; flex: 0 0 auto; white-space: nowrap; padding: 12px 14px 14px !important; font-size: 15px !important; }
}

/* ───────────────────────── Buttons ───────────────────────── */
main a[style*="background:#88B86A"],
main button[style*="background:#88B86A"],
main a[style*="background:#D0E8AE"],
main a[style*="border:1px solid rgba(50,107,61,0.6)"],
main a[style*="border:2px solid rgba(208,232,174,0.5)"] {
  border-radius: var(--r-sm) !important;
  transform: none !important;
  box-shadow: none !important;
  letter-spacing: 0.005em;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease !important;
}
main a[style*="background:#88B86A"]:hover, main button[style*="background:#88B86A"]:hover { background: #AECF8A !important; }
main a[style*="background:#D0E8AE"]:hover { background: #FFFFFF !important; }
main a[style*="border:1px solid rgba(50,107,61,0.6)"] { border-color: var(--rule-strong) !important; }
main a[style*="border:1px solid rgba(50,107,61,0.6)"]:hover { border-color: var(--green-highlight) !important; color: var(--white) !important; background: rgba(136, 184, 106, 0.06) !important; }
main a[style*="border:2px solid rgba(208,232,174,0.5)"] { border-width: 1px !important; padding: 14px 27px !important; }
main a[style*="border:2px solid rgba(208,232,174,0.5)"]:hover { border-color: #FFFFFF !important; background: rgba(255, 255, 255, 0.06) !important; }
.coop-arrow { display: inline-block; transition: transform .3s var(--ease-out); }
a:hover > .coop-arrow, a:focus-visible > .coop-arrow { transform: translateX(4px); }

/* ───────────────────────── Sections ───────────────────────── */
main > section { border-bottom-color: var(--rule) !important; }
main > section > [style*="max-width:1140px"][style*="padding:76px 32px"],
main > section > [style*="max-width:1140px"][style*="padding:68px 32px"] { padding-top: clamp(64px, 8vw, 104px) !important; padding-bottom: clamp(64px, 8vw, 104px) !important; }

/* Closing CTA band */
main section[style*="background:#2A5C35"] { position: relative; overflow: hidden; }
main section[style*="background:#2A5C35"] > [style*="max-width:1140px"] { padding-top: clamp(56px, 7vw, 88px) !important; padding-bottom: clamp(56px, 7vw, 88px) !important; position: relative; z-index: 1; }
main section[style*="background:#2A5C35"] h2[style] { font-size: clamp(28px, 3.4vw, 42px) !important; font-weight: 700 !important; letter-spacing: -0.026em !important; }

/* Approach page step selector (its click handler rewrites inline styles) */
main button[data-step] { border-radius: var(--r-md) !important; transition: border-color .2s ease, background-color .2s ease; }

/* Readiness snapshot rating buttons (their click handler rewrites inline styles) */
main button[data-area] { border-radius: var(--r-sm) !important; transition: background-color .2s ease, border-color .2s ease, color .2s ease; }

/* Self-check option rows */
main label[style*="border-radius:12px"] { border-radius: var(--r-sm) !important; transition: background-color .2s ease; }
main label[style*="border-radius:12px"]:has(input:checked) { background: rgba(136, 184, 106, 0.1) !important; }

/* Remaining rounded surfaces */
main [style*="border-radius:20px"], main [style*="border-radius:16px"] { border-radius: var(--r-md) !important; }
main [style*="border-radius:14px"], main [style*="border-radius:12px"] { border-radius: var(--r-sm) !important; }
main [style*="border-radius:999px"] { border-radius: var(--r-xs) !important; }
main li[style*="border-radius:999px"] { font-size: 12px !important; letter-spacing: 0.06em; text-transform: uppercase; padding: 6px 10px !important; }

/* ───────────────────────── Footer ───────────────────────── */
footer { border-top-color: var(--rule) !important; }
footer li:empty { display: none; }
footer a[style*="color:var(--green-body)"] { transition: color .2s ease; text-underline-offset: 4px; }
footer h2[style*="text-transform:uppercase"] { color: var(--green-sub) !important; letter-spacing: 0.16em !important; }
.coop-linkedin { border-radius: var(--r-sm) !important; }

/* ───────────────────────── Scroll reveal ───────────────────────── */
[data-reveal] { opacity: 0; transform: translateY(14px); transition: opacity .8s var(--ease-out), transform .8s var(--ease-out); }
[data-reveal].coop-in-view { opacity: 1; transform: none; }
[data-coop-delay="1"] { transition-delay: 60ms !important; }
[data-coop-delay="2"] { transition-delay: 120ms !important; }
[data-coop-delay="3"] { transition-delay: 180ms !important; }
[data-coop-delay="4"] { transition-delay: 240ms !important; }
[data-coop-delay="5"] { transition-delay: 300ms !important; }
main [style*="background:var(--bg-card)"][data-reveal] { transition: opacity .8s var(--ease-out), transform .8s var(--ease-out), background-color .3s ease, border-color .3s ease !important; }
main [style*="background:var(--bg-card)"][data-reveal]:not(.coop-in-view) { transform: translateY(14px) !important; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-reveal], main [style*="background:var(--bg-card)"][data-reveal]:not(.coop-in-view) { opacity: 1 !important; transform: none !important; }
}

/* ───────────────────────── Small screens ───────────────────────── */
@media (max-width: 760px) {
  main dl[style*="display:flex"] > div { min-width: 0; flex: 1 1 0; padding-right: 12px; margin-right: 16px; }
  main dl[style*="display:flex"] dt { font-size: 32px !important; }
  main [style*="display:grid"]:has(> [style*="background:var(--bg-card)"] ~ [style*="background:var(--bg-card)"] ~ [style*="background:var(--bg-card)"]) > [style*="background:var(--bg-card)"] { padding: 24px 20px !important; }
  main [style*="background:var(--bg-card)"][style*="justify-content:space-between"]::after { display: none; }
  main a[style*="border:1px solid rgba(50,107,61,0.6)"][style*="padding:13px 24px"] { width: 100%; }
}
