/* CRM & Customer Data Platforms — distinct customer-lifecycle visual system */
.crm-page { background:#fff; }
.crm-page .site-header { border-bottom-color:rgba(215,224,230,.62); }
.crm-section { position:relative; padding-block:var(--section-space); }
.crm-section--soft { background:linear-gradient(180deg,#f6fafc 0%,#eef6f8 100%); }
.crm-section--warm { background:linear-gradient(180deg,#fbf8f4 0%,#f7f2ec 100%); }
.crm-kicker { margin:0 0 .7rem; color:var(--color-brand-teal); font-size:.77rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.crm-section-heading { display:grid; max-width:52rem; margin-bottom:clamp(2rem,4vw,3.5rem); gap:.85rem; }
.crm-section-heading p { color:var(--color-muted); font-size:var(--text-body-lg); }

/* Hero */
.crm-hero { position:relative; isolation:isolate; min-height:calc(100svh - var(--header-height)); overflow:hidden; color:#fff; background:linear-gradient(122deg,#071e2d 0%,#0d2a3e 48%,#174b67 100%); }
.crm-hero::before { position:absolute; inset:0; z-index:-1; content:""; background:radial-gradient(circle at 13% 17%,rgba(15,122,128,.28),transparent 32%),radial-gradient(circle at 82% 72%,rgba(35,131,197,.24),transparent 35%); }
.crm-hero__grid { display:grid; min-height:calc(100svh - var(--header-height)); padding-block:clamp(3.5rem,7vw,6.5rem); gap:clamp(2.4rem,5vw,5.5rem); align-items:center; grid-template-columns:minmax(0,1.03fr) minmax(27rem,.97fr); }
.crm-hero__copy { position:relative; z-index:3; max-width:49rem; }
.crm-hero .breadcrumbs { color:rgba(255,255,255,.72); }
.crm-hero .breadcrumbs a { color:inherit; }
.crm-hero .eyebrow { color:#83d9d7; }
.crm-hero h1 { max-width:45rem; color:#fff; font-size:clamp(2.45rem,5.5vw,4.9rem); line-height:.98; letter-spacing:-.052em; }
.crm-hero__lead { max-width:45rem; margin-top:1.35rem; color:rgba(255,255,255,.8); font-size:clamp(1.06rem,1.65vw,1.25rem); line-height:1.6; }
.crm-hero__actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
.crm-hero .btn-secondary { color:#fff; border-color:rgba(255,255,255,.34); background:rgba(255,255,255,.08); backdrop-filter:blur(10px); }
.crm-hero .btn-secondary:hover { color:#0d2a3e; background:#fff; }
.crm-hero__meta { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1.35rem; }
.crm-hero__meta span { display:inline-flex; padding:.42rem .65rem; border:1px solid rgba(255,255,255,.18); border-radius:999px; color:rgba(255,255,255,.72); background:rgba(255,255,255,.05); font-size:.78rem; font-weight:700; }
.crm-hero__visual { position:relative; min-height:39rem; }
.crm-hero__photo { position:absolute; inset:1.2rem 0 1rem 3.8rem; overflow:hidden; border:1px solid rgba(255,255,255,.18); border-radius:2.6rem 2.6rem 2.6rem .8rem; background:#17384c; box-shadow:0 36px 95px rgba(0,0,0,.35); }
.crm-hero__photo picture,.crm-hero__photo img { width:100%; height:100%; }
.crm-hero__photo img { object-fit:cover; object-position:center; filter:saturate(.92) contrast(1.03); }
.crm-hero__photo::after { position:absolute; inset:0; content:""; background:linear-gradient(180deg,transparent 40%,rgba(5,24,38,.74)); }
.crm-hero__profile { position:absolute; z-index:4; display:grid; width:12rem; padding:1rem; gap:.55rem; border:1px solid rgba(255,255,255,.2); border-radius:1.15rem; color:#fff; background:rgba(6,30,46,.84); box-shadow:0 18px 45px rgba(0,0,0,.28); backdrop-filter:blur(12px); }
.crm-hero__profile strong { font-size:.88rem; line-height:1.25; }
.crm-hero__profile span { color:rgba(255,255,255,.65); font-size:.7rem; line-height:1.35; }
.crm-hero__profile::before { width:2.3rem; height:.25rem; border-radius:999px; content:""; background:linear-gradient(90deg,#55bfd4,#8de0e5); }
.crm-hero__profile--one { top:3.5rem; left:0; }
.crm-hero__profile--two { right:-.5rem; bottom:3.7rem; }
.crm-hero__profile--three { bottom:0; left:1.2rem; background:rgba(15,122,128,.88); }
.crm-hero__path { position:absolute; z-index:2; inset:5% 3% 4% 2%; pointer-events:none; }
.crm-hero__path path { fill:none; stroke:rgba(141,224,229,.58); stroke-width:2; stroke-dasharray:7 11; }
.crm-hero__path circle { fill:#8de0e5; filter:drop-shadow(0 0 8px rgba(141,224,229,.7)); }
.crm-hero__caption { position:absolute; z-index:3; right:2.5rem; bottom:0rem; max-width:21rem; color:rgba(255,255,255,.74); font-size:.74rem; line-height:1.4; text-align:right; }

/* Sticky page navigation */
.crm-subnav { position:sticky; z-index:35; top:var(--header-height); border-bottom:1px solid var(--color-border); background:rgba(255,255,255,.94); backdrop-filter:blur(15px); }
.crm-subnav__inner { display:flex; min-height:3.5rem; overflow-x:auto; gap:.2rem; align-items:center; scrollbar-width:none; }
.crm-subnav__inner::-webkit-scrollbar { display:none; }
.crm-subnav a { flex:0 0 auto; padding:.65rem .8rem; border-radius:.55rem; color:var(--color-muted); font-size:.82rem; font-weight:800; text-decoration:none; }
.crm-subnav a:hover,.crm-subnav a.is-active { color:var(--color-brand-blue-800); background:var(--color-surface-blue); }

/* Lifecycle explorer */
.crm-lifecycle { display:grid; gap:clamp(2rem,5vw,4rem); align-items:start; grid-template-columns:minmax(17rem,.72fr) minmax(0,1.28fr); }
.crm-lifecycle__intro { position:sticky; top:calc(var(--header-height) + 5.25rem); }
.crm-lifecycle__intro p { margin-top:1rem; color:var(--color-muted); }
.crm-lifecycle__stage { position:relative; min-height:35rem; padding:clamp(1.2rem,3vw,2.2rem); overflow:hidden; border:1px solid var(--color-border); border-radius:var(--radius-2xl); background:#fff; box-shadow:var(--shadow-lg); }
.crm-lifecycle__stage::before { position:absolute; width:31rem; height:31rem; right:-13rem; top:-15rem; border-radius:50%; content:""; background:radial-gradient(circle,rgba(35,131,197,.17),transparent 65%); }
.crm-lifecycle__rail { position:relative; display:grid; grid-template-columns:repeat(5,minmax(7.5rem,1fr)); gap:.55rem; overflow-x:auto; padding-top:.25rem; }
.crm-lifecycle__tab { position:relative; min-height:5.75rem; padding:.75rem; border:1px solid var(--color-border); border-radius:1rem; color:var(--color-muted); background:#f8fbfc; text-align:left; transition:transform var(--duration-standard) var(--ease-emphasised),border-color var(--duration-fast),background var(--duration-fast),box-shadow var(--duration-standard); }
.crm-lifecycle__tab span { display:block; color:var(--color-brand-teal); font-size:.66rem; font-weight:800; letter-spacing:.08em; }
.crm-lifecycle__tab strong { display:block; margin-top:.35rem; color:inherit; font-size:.86rem; line-height:1.25; }
.crm-lifecycle__tab:hover { transform:translateY(-3px); border-color:var(--color-brand-blue); }
.crm-lifecycle__tab[aria-selected="true"] { color:#fff; border-color:transparent; background:linear-gradient(145deg,var(--color-brand-blue-700),var(--color-brand-teal)); box-shadow:0 14px 32px rgba(23,106,158,.24); }
.crm-lifecycle__tab[aria-selected="true"] span { color:#d8f4f4; }
.crm-lifecycle__panel { position:relative; display:grid; min-height:24rem; padding:clamp(1.4rem,3vw,2.2rem); margin-top:1rem; gap:1.5rem; align-items:center; grid-template-columns:minmax(0,1.1fr) minmax(15rem,.9fr); border:1px solid var(--color-border); border-radius:1.5rem; background:linear-gradient(145deg,#fff,#f5fafc); }
.crm-lifecycle__panel h3 { max-width:31rem; font-size:clamp(1.35rem,2.4vw,2rem); }
.crm-lifecycle__panel p { margin-top:.7rem; color:var(--color-muted); }
.crm-lifecycle__facts { display:grid; margin-top:1.25rem; gap:.65rem; }
.crm-lifecycle__facts li { display:flex; gap:.65rem; align-items:flex-start; color:var(--color-ink); }
.crm-lifecycle__facts li::before { flex:0 0 auto; width:.55rem; height:.55rem; margin-top:.45rem; border-radius:50%; content:""; background:var(--color-brand-teal); box-shadow:0 0 0 .25rem rgba(15,122,128,.1); }
.crm-lifecycle__record { position:relative; min-height:18rem; }
.crm-record-card { position:absolute; width:13.8rem; padding:1rem; border:1px solid var(--color-border); border-radius:1rem; background:#fff; box-shadow:var(--shadow-md); }
.crm-record-card strong { display:block; font-size:.82rem; }
.crm-record-card small { display:block; margin-top:.35rem; color:var(--color-muted); line-height:1.35; }
.crm-record-card--primary { top:1rem; right:1rem; z-index:3; border-color:rgba(35,131,197,.45); }
.crm-record-card--secondary { left:0; bottom:2.8rem; transform:rotate(-3deg); background:var(--color-surface-teal); }
.crm-record-card--event { right:0; bottom:-1.9rem; transform:rotate(3deg); background:var(--color-surface-warm); }
.crm-record-line { position:absolute; inset:0; }
.crm-record-line path { fill:none; stroke:rgba(35,131,197,.42); stroke-width:2; stroke-dasharray:7 9; }
.crm-record-line circle { fill:var(--color-brand-blue); }
.crm-lifecycle__fallback { display:none; }

/* Configure / integrate / build */
.crm-section--approach { color:#fff; background:radial-gradient(circle at 15% 18%,rgba(15,122,128,.22),transparent 30%),linear-gradient(145deg,#071e2d,#0d2a3e 52%,#174b67); }
.crm-section--approach :is(h2,h3) { color:#fff; }
.crm-section--approach .eyebrow { color:#83d9d7; }
.crm-section--approach .crm-section-heading p { color:rgba(255,255,255,.72); }
.crm-approach { display:grid; gap:1rem; grid-template-columns:minmax(18rem,.72fr) minmax(0,1.28fr); }
.crm-approach__summary { max-width:55rem; margin:1.5rem 0 0; color:rgba(255,255,255,.76); font-size:var(--text-body-lg); }
.crm-approach__options { display:grid; gap:.75rem; }
.crm-approach__option { display:grid; width:100%; min-height:7.2rem; padding:1.1rem 1.25rem; gap:.45rem; border:1px solid rgba(255,255,255,.14); border-radius:1.15rem; color:rgba(255,255,255,.72); background:rgba(255,255,255,.05); text-align:left; backdrop-filter:blur(9px); transition:transform var(--duration-standard) var(--ease-emphasised),background var(--duration-fast),border-color var(--duration-fast); }
.crm-approach__option:hover { transform:translateX(.35rem); border-color:rgba(141,224,229,.45); }
.crm-approach__option strong { color:#fff; font-size:1.02rem; }
.crm-approach__option span { font-size:.78rem; line-height:1.35; }
.crm-approach__option[aria-selected="true"] { border-color:#8de0e5; background:linear-gradient(145deg,rgba(35,131,197,.28),rgba(15,122,128,.2)); box-shadow:0 16px 38px rgba(0,0,0,.18); }
.crm-approach__panel { position:relative; min-height:25rem; padding:clamp(1.5rem,3vw,2.6rem); overflow:hidden; border:1px solid rgba(255,255,255,.17); border-radius:var(--radius-2xl); background:rgba(255,255,255,.07); box-shadow:0 28px 80px rgba(0,0,0,.22); backdrop-filter:blur(12px); }
.crm-approach__panel::after { position:absolute; width:17rem; height:17rem; right:-7rem; bottom:-8rem; border:1px solid rgba(255,255,255,.15); border-radius:50%; content:""; box-shadow:inset 0 0 0 3.5rem rgba(255,255,255,.025); }
.crm-approach__panel h3 { max-width:35rem; font-size:clamp(1.45rem,2.4vw,2.15rem); }
.crm-approach__panel p { max-width:45rem; margin-top:.85rem; color:rgba(255,255,255,.72); }
.crm-approach__signals { display:grid; margin-top:1.4rem; gap:.65rem; grid-template-columns:repeat(3,minmax(0,1fr)); }
.crm-approach__signals span { padding:.75rem; border:1px solid rgba(255,255,255,.14); border-radius:.85rem; color:#d8f4f4; background:rgba(7,30,45,.35); font-size:.75rem; font-weight:800; text-align:center; }
.crm-approach__decision { display:flex; flex-wrap:wrap; margin-top:1.5rem; gap:.65rem; }
.crm-approach__decision span { padding:.45rem .68rem; border-radius:999px; color:#0d2a3e; background:#baf3f1; font-size:.72rem; font-weight:800; }

/* Source of truth and photography */
.crm-identity-grid { display:grid; gap:clamp(2rem,5vw,4rem); align-items:center; grid-template-columns:minmax(0,.9fr) minmax(20rem,1.1fr); }
.crm-photo { position:relative; margin:0; overflow:hidden; border-radius:var(--radius-2xl); background:#dce8ed; box-shadow:var(--shadow-lg); }
.crm-photo picture,.crm-photo img { width:100%; height:100%; }
.crm-photo img { object-fit:cover; transition:transform 760ms var(--ease-emphasised); }
.crm-photo:hover img { transform:scale(1.025); }
.crm-photo--portrait { min-height:39rem; }
.crm-photo--portrait img { object-position:center; }
.crm-photo figcaption { position:absolute; right:1rem; bottom:1rem; left:1rem; padding:.85rem 1rem; border:1px solid rgba(255,255,255,.3); border-radius:.9rem; color:#fff; background:rgba(7,30,45,.78); font-size:.75rem; line-height:1.45; backdrop-filter:blur(10px); }
.crm-identity-copy p { margin-top:1rem; color:var(--color-muted); }
.crm-identity-copy h3 { margin-top:1.8rem; }
.crm-identity-copy .crm-inline-link { display:inline-flex; margin-top:1.2rem; gap:.4rem; align-items:center; font-weight:800; text-decoration:none; }
.crm-identity-copy .crm-inline-link .icon { width:1rem; height:1rem; }
.crm-architecture { margin-top:clamp(2rem,5vw,4rem); overflow:hidden; border:1px solid var(--color-border); border-radius:var(--radius-2xl); background:#0d2a3e; box-shadow:var(--shadow-lg); }
.crm-architecture img { width:100%; }
.crm-architecture figcaption { padding:.9rem 1rem; color:var(--color-muted); background:#fff; font-size:.8rem; }

/* Governance */
.crm-governance-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.crm-governance-card { position:relative; min-height:17rem; padding:1.4rem; overflow:hidden; border:1px solid var(--color-border); border-radius:var(--radius-xl); background:#fff; box-shadow:var(--shadow-sm); transition:transform var(--duration-standard) var(--ease-emphasised),box-shadow var(--duration-standard); }
.crm-governance-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); }
.crm-governance-card::before { position:absolute; width:8rem; height:8rem; right:-4rem; top:-4rem; border-radius:50%; content:""; background:var(--card-halo,rgba(35,131,197,.11)); }
.crm-governance-card .icon { width:2rem; height:2rem; color:var(--color-brand-blue-700); }
.crm-governance-card h3 { margin-top:1rem; }
.crm-governance-card p { margin-top:.65rem; color:var(--color-muted); }
.crm-governance-card:nth-child(2) { --card-halo:rgba(15,122,128,.13); }
.crm-governance-card:nth-child(3) { --card-halo:rgba(96,59,23,.11); }
.crm-governance-card:nth-child(4) { --card-halo:rgba(35,131,197,.08); }

/* Activation */
.crm-activation { display:grid; gap:clamp(2rem,5vw,4rem); align-items:center; grid-template-columns:minmax(22rem,1fr) minmax(0,1fr); }
.crm-activation__media { display:grid; gap:1rem; }
.crm-photo--landscape { min-height:22rem; }
.crm-photo--landscape img { object-position:center; }
.crm-activation__diagram { overflow:hidden; border:1px solid var(--color-border); border-radius:1.5rem; background:#fff; box-shadow:var(--shadow-md); }
.crm-activation__diagram img { width:100%; }
.crm-activation__copy p { margin-top:1rem; color:var(--color-muted); }
.crm-activation__list { display:grid; margin-top:1.3rem; padding:0; gap:.75rem; list-style:none; }
.crm-activation__list li { display:grid; padding:1rem 1.1rem; gap:.25rem; border-left:3px solid var(--color-brand-teal); border-radius:0 .8rem .8rem 0; background:#fff; box-shadow:var(--shadow-sm); }
.crm-activation__list strong { color:var(--color-navy-950); }
.crm-activation__list span { color:var(--color-muted); font-size:.86rem; }

/* Analytics and AI bridge */
.crm-intelligence { display:grid; gap:1rem; grid-template-columns:1fr 1fr; }
.crm-intelligence article { position:relative; min-height:16rem; padding:1.55rem; overflow:hidden; border:1px solid var(--color-border); border-radius:var(--radius-xl); background:#fff; box-shadow:var(--shadow-sm); }
.crm-intelligence article::after { position:absolute; width:11rem; height:11rem; right:-5rem; bottom:-5rem; border-radius:50%; content:""; background:radial-gradient(circle,rgba(35,131,197,.14),transparent 68%); }
.crm-intelligence .icon { width:2rem; height:2rem; color:var(--color-brand-teal); }
.crm-intelligence h3 { margin-top:1rem; }
.crm-intelligence p { margin-top:.7rem; color:var(--color-muted); }
.crm-intelligence a { position:relative; z-index:1; display:inline-flex; margin-top:1rem; gap:.4rem; align-items:center; font-weight:800; text-decoration:none; }
.crm-intelligence a .icon { width:1rem; height:1rem; }

/* Evidence */
.crm-evidence-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:1.25rem; }
.crm-evidence-card { position:relative; overflow:hidden; border:1px solid var(--color-border); border-radius:var(--radius-2xl); background:#fff; box-shadow:var(--shadow-md); }
.crm-evidence-card__visual { min-height:18rem; padding:1.4rem; display:grid; place-items:center; background:radial-gradient(circle at 18% 20%,rgba(35,131,197,.24),transparent 35%),linear-gradient(145deg,#0b2639,#174b67); }
.crm-evidence-card__visual svg { width:100%; max-width:34rem; }
.crm-evidence-card__body { padding:1.55rem; }
.crm-evidence-card__body p { margin-top:.75rem; color:var(--color-muted); }
.crm-evidence-card__body a { display:inline-flex; margin-top:1rem; gap:.4rem; align-items:center; font-weight:800; text-decoration:none; }
.crm-evidence-card__body a .icon { width:1rem; height:1rem; }
.crm-evidence-card--property .crm-evidence-card__visual { background:radial-gradient(circle at 82% 16%,rgba(96,59,23,.25),transparent 35%),linear-gradient(145deg,#0d2a3e,#0f525d); }

/* CTA */
.crm-section--cta { color:#fff; background:linear-gradient(145deg,#071e2d,#0d5e8d); }
.crm-cta { position:relative; display:grid; padding:clamp(1.8rem,4vw,3.25rem); overflow:hidden; gap:2rem; align-items:center; grid-template-columns:minmax(0,1fr) 18rem; border:1px solid rgba(255,255,255,.17); border-radius:var(--radius-2xl); background:rgba(255,255,255,.06); box-shadow:0 28px 80px rgba(0,0,0,.2); }
.crm-cta h2 { color:#fff; }
.crm-cta .eyebrow { color:#83d9d7; }
.crm-cta p { max-width:50rem; margin-top:1rem; color:rgba(255,255,255,.74); }
.crm-cta .cluster { margin-top:1.5rem; }
.crm-cta__link { color:#fff; font-weight:800; }
.crm-cta__map { position:relative; width:18rem; aspect-ratio:1; justify-self:end; }
.crm-cta__map::before,.crm-cta__map::after { position:absolute; inset:7%; border:1px solid rgba(255,255,255,.19); border-radius:50%; content:""; }
.crm-cta__map::after { inset:25%; }
.crm-cta__node { position:absolute; display:grid; width:4.4rem; height:4.4rem; place-items:center; border:1px solid rgba(255,255,255,.28); border-radius:50%; background:rgba(255,255,255,.08); backdrop-filter:blur(8px); }
.crm-cta__node .icon { color:#8de0e5; }
.crm-cta__node--1 { top:0; left:50%; transform:translateX(-50%); }
.crm-cta__node--2 { right:0; bottom:2.5rem; }
.crm-cta__node--3 { left:0; bottom:2.5rem; }
.crm-cta__core { position:absolute; inset:34%; display:grid; place-content:center; border-radius:50%; color:#0d2a3e; background:#baf3f1; font-size:.67rem; font-weight:900; text-align:center; text-transform:uppercase; }

/* Ambient motion */
@keyframes crm-dot-travel { 0%,8% { offset-distance:0%; opacity:0; } 16% { opacity:1; } 84% { opacity:1; } 94%,100% { offset-distance:100%; opacity:0; } }
@keyframes crm-card-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-.5rem); } }
.crm-hero__profile { animation:crm-card-float 7s ease-in-out infinite; }
.crm-hero__profile--two { animation-delay:-2.3s; }
.crm-hero__profile--three { animation-delay:-4.6s; }
.crm-hero__path circle { animation:crm-dot-travel 7s ease-in-out infinite; offset-path:path("M70 150 C190 20 360 100 420 220 S370 480 160 500 S40 310 250 270 S470 410 520 530"); }

@media (max-width:69rem) {
  .crm-hero__grid,.crm-lifecycle,.crm-approach,.crm-identity-grid,.crm-activation,.crm-cta { grid-template-columns:1fr; }
  .crm-hero__visual { min-height:35rem; }
  .crm-lifecycle__intro { position:static; }
  .crm-approach__options { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .crm-approach__option:hover { transform:translateY(-3px); }
  .crm-governance-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .crm-cta__map { justify-self:start; }
}
@media (max-width:52rem) {
  .crm-hero { min-height:auto; }
  .crm-hero__grid { min-height:auto; padding-block:3.2rem 4rem; }
  .crm-hero h1 { font-size:clamp(2.35rem,10vw,3.8rem); }
  .crm-hero__visual { min-height:30rem; }
  .crm-hero__photo { inset:1.5rem 1rem 1.5rem 1rem; }
  .crm-hero__profile { width:10.5rem; }
  .crm-hero__profile--one { left:.25rem; }
  .crm-hero__profile--two { right:.25rem; }
  .crm-subnav { top:var(--header-height); }
  .crm-lifecycle__panel { grid-template-columns:1fr; }
  .crm-lifecycle__record { min-height:14rem; }
  .crm-approach__options,.crm-approach__signals,.crm-intelligence,.crm-evidence-grid { grid-template-columns:1fr; }
  .crm-photo--portrait { min-height:31rem; }
}
@media (max-width:38rem) {
  .crm-hero__actions { display:grid; }
  .crm-hero__actions .btn { width:100%; }
  .crm-hero__visual { min-height:25rem; }
  .crm-hero__profile { display:none; }
  .crm-hero__photo { inset:.5rem 0; }
  .crm-hero__caption { display:none; }
  .crm-lifecycle__stage { padding:1rem; }
  .crm-lifecycle__rail { grid-template-columns:repeat(5,9rem); }
  .crm-record-card { width:11rem; }
  .crm-governance-grid { grid-template-columns:1fr; }
  .crm-photo--portrait { min-height:26rem; }
  .crm-cta { padding:1.5rem; }
  .crm-cta__map { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  .crm-hero__profile,.crm-hero__path circle { animation:none !important; }
  .crm-photo img,.crm-lifecycle__tab,.crm-approach__option,.crm-governance-card { transition:none !important; transform:none !important; }
}

/* Step 5B — CRM / Automotive ownership separation */
.crm-photo--diagram { background:linear-gradient(145deg,#071e2d,#174b67); }
.crm-photo--diagram img { padding:clamp(.8rem,2vw,1.5rem); object-fit:contain; }
.crm-photo--diagram:hover img { transform:none; }
.crm-approach__summary a { color:#baf3f1; font-weight:800; text-decoration-thickness:.08em; text-underline-offset:.18em; }
.crm-evidence-card__visual img { width:100%; max-width:42rem; height:auto; max-height:20rem; object-fit:contain; }
.crm-evidence-links { display:grid; margin-top:1rem; gap:.55rem; }
.crm-evidence-links a { margin-top:0; }
.crm-evidence-card--contexts .crm-evidence-card__visual { background:radial-gradient(circle at 82% 18%,rgba(15,122,128,.28),transparent 35%),linear-gradient(145deg,#071e2d,#0f525d); }
.crm-evidence-card--contexts .crm-evidence-card__body p { margin-top:.9rem; }
.crm-evidence-card--contexts .crm-evidence-card__body p a { display:inline; margin:0; }
.crm-product-links{display:flex;flex-wrap:wrap;gap:.65rem 1.1rem;align-items:center;margin-top:1rem}


.crm-role-layout { display:grid; gap:clamp(1.5rem,4vw,3rem); }
.crm-role-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.crm-role-card { position:relative; display:flex; min-height:23rem; padding:1.5rem; overflow:hidden; flex-direction:column; border:1px solid var(--color-border); border-radius:var(--radius-xl); background:#fff; box-shadow:var(--shadow-sm); }
.crm-role-card::before { position:absolute; inset:0 0 auto; height:.36rem; content:""; background:var(--role-accent,#2383c5); }
.crm-role-card::after { position:absolute; width:12rem; height:12rem; right:-7rem; bottom:-7rem; border-radius:50%; content:""; background:radial-gradient(circle,var(--role-halo,rgba(35,131,197,.14)),transparent 68%); }
.crm-role-card--bespoke { --role-accent:#0f7a80; --role-halo:rgba(15,122,128,.15); }
.crm-role-card--cdp { --role-accent:#7b5a2e; --role-halo:rgba(123,90,46,.14); }
.crm-role-card__type { color:var(--role-accent); font-size:.72rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.crm-role-card h3 { margin-top:.9rem; font-size:clamp(1.5rem,2.2vw,2rem); }
.crm-role-card p { position:relative; z-index:1; margin-top:.8rem; color:var(--color-muted); }
.crm-role-card__boundary { padding-top:.85rem; margin-top:auto !important; border-top:1px solid var(--color-border); font-size:.84rem; }
.crm-role-card a { position:relative; z-index:1; display:inline-flex; margin-top:1rem; gap:.42rem; align-items:center; font-weight:850; text-decoration:none; }
.crm-role-card a .icon { width:1rem; height:1rem; }
.crm-role-architecture { overflow:hidden; border:1px solid rgba(255,255,255,.08); border-radius:var(--radius-2xl); background:#0d2a3e; box-shadow:var(--shadow-lg); }
.crm-role-architecture img { width:100%; height:auto; }
.crm-role-architecture figcaption { padding:.9rem 1.1rem; color:var(--color-muted); background:#fff; font-size:.82rem; }

.crm-governance-layout { display:grid; gap:clamp(2rem,5vw,4rem); align-items:center; grid-template-columns:minmax(0,1fr) minmax(26rem,1fr); }
.crm-governance-copy p { margin-top:1rem; color:var(--color-muted); }
.crm-governance-visual { overflow:hidden; border:1px solid var(--color-border); border-radius:var(--radius-2xl); background:linear-gradient(145deg,#f5fafc,#fff); box-shadow:var(--shadow-lg); }
.crm-governance-visual img { width:100%; height:auto; }
.crm-control-grid { display:grid; margin-top:clamp(2rem,4vw,3.5rem); grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.crm-control-grid article { position:relative; min-height:15rem; padding:1.35rem; overflow:hidden; border:1px solid var(--color-border); border-radius:var(--radius-xl); background:#fff; box-shadow:var(--shadow-sm); }
.crm-control-grid article::after { position:absolute; width:8rem; height:8rem; right:-4rem; top:-4rem; border-radius:50%; content:""; background:rgba(35,131,197,.09); }
.crm-control-grid .icon { width:1.9rem; height:1.9rem; color:var(--color-brand-teal); }
.crm-control-grid h3 { margin-top:1rem; }
.crm-control-grid p { margin-top:.65rem; color:var(--color-muted); }

.crm-programme-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.15rem; }
.crm-programme-card { position:relative; display:flex; min-height:24rem; padding:clamp(1.35rem,3vw,2rem); overflow:hidden; flex-direction:column; border:1px solid var(--color-border); border-radius:var(--radius-2xl); background:#fff; box-shadow:var(--shadow-md); }
.crm-programme-card::before { position:absolute; width:14rem; height:14rem; right:-8rem; top:-8rem; border-radius:50%; content:""; background:radial-gradient(circle,rgba(35,131,197,.13),transparent 68%); }
.crm-programme-card--bespoke::before { background:radial-gradient(circle,rgba(15,122,128,.17),transparent 68%); }
.crm-programme-card > span { color:var(--color-brand-teal); font-size:.74rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.crm-programme-card h3 { position:relative; z-index:1; max-width:34rem; margin-top:.75rem; }
.crm-programme-card p { position:relative; z-index:1; margin-top:.8rem; color:var(--color-muted); }
.crm-programme-card__route { position:relative; z-index:1; display:flex; flex-wrap:wrap; margin-top:1.3rem; gap:.45rem; align-items:center; }
.crm-programme-card__route b { padding:.42rem .62rem; border-radius:999px; color:#0d2a3e; background:var(--color-surface-teal); font-size:.72rem; }
.crm-programme-card__route i { color:var(--color-brand-blue-700); font-style:normal; font-weight:900; }
.crm-programme-card > a { position:relative; z-index:1; display:inline-flex; margin-top:auto; padding-top:1.4rem; gap:.42rem; align-items:center; font-weight:850; text-decoration:none; }
.crm-programme-card > a .icon { width:1rem; height:1rem; }

.crm-approach__summary a { margin-inline:.12rem; }
.crm-hero__caption { max-width:24rem; }

@media (max-width:69rem) {
  .crm-role-grid { grid-template-columns:1fr; }
  .crm-role-card { min-height:auto; }
  .crm-governance-layout { grid-template-columns:1fr; }
  .crm-control-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:52rem) {
  .crm-programme-grid { grid-template-columns:1fr; }
}
@media (max-width:38rem) {
  .crm-control-grid { grid-template-columns:1fr; }
  .crm-role-architecture { border-radius:1.2rem; }
}
