.secondary-page {
  --about-mx: 0px;
  --about-my: 0px;
  background: #070d17;
  color: var(--cool-white);
}

/* Safari can paint the page before it has decoded the opening scrub frame.
   About belongs to the bright page family, so that short pre-frame state must
   never reveal the secondary-page navy base underneath the reading field. */
body.about-page { background: #f7fbff; }

.secondary-page .site-nav {
  padding-right: var(--corporate-nav-rail);
  padding-left: var(--corporate-nav-rail);
}

.page-links {
  display: flex;
  align-items: center;
  gap: clamp(14px, 2.6vw, 38px);
  margin-left: auto;
  margin-right: clamp(20px, 3.5vw, 56px);
}

.page-links a {
  position: relative;
  color: rgba(255, 255, 255, 0.68);
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 0.25s ease;
}

.page-links a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -10px;
  height: 1px;
  background: var(--cyan);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s ease;
}

.page-links a:hover,
.page-links a.is-active { color: var(--white); }
.page-links a:hover::after,
.page-links a.is-active::after { transform: scaleX(1); }

.about-poster,
.about-video,
.about-video-whiteout,
.about-founder-scene,
.about-opening-field,
.about-wash {
  position: fixed;
  inset: 0;
  pointer-events: none;
}

.about-poster {
  z-index: 0;
  background: url("../img/optimized/about-master-v2-blue-white-mirrored.webp") center / cover no-repeat;
  transform: translate3d(var(--about-mx), var(--about-my), 0) scale(1.03);
  filter: saturate(0.92) contrast(1.02);
  transition: transform 0.8s cubic-bezier(.2,.7,.2,1), opacity 680ms ease;
  will-change: transform;
}

.about-video {
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 360ms ease;
}

.about-video-ready .about-poster { opacity: 0; }

@media (min-width: 901px) {
  .about-poster { display: none; }
  body.about-operational-video-failed .about-poster { display: block; opacity: 1; }
}

.about-operational-video {
  opacity: 0;
  filter: brightness(1.12) saturate(1.04) contrast(0.98);
}
.about-video-ready .about-operational-video { opacity: var(--about-intro-video-opacity, 1); }
.about-founder-video { z-index: 1; opacity: var(--about-founder-scene-opacity, 0); filter: none; }

.about-video-whiteout {
  z-index: 0;
  background: #fff;
  opacity: var(--about-video-whiteout, 0);
  transition: opacity 80ms linear;
}

.about-founder-scene {
  z-index: 0;
  background: url("../img/optimized/contact-master-v2-blue-white.webp") center / cover no-repeat;
  opacity: 0;
  filter: saturate(0.92) contrast(1.02);
  transform: translate3d(calc(var(--about-mx) * -0.55), calc(var(--about-my) * -0.35), 0) scale(1.025);
  transition: opacity 680ms ease, transform 0.8s cubic-bezier(.2,.7,.2,1);
  will-change: opacity, transform;
}

.about-opening-field {
  z-index: 1;
  inset: 0 0 0 auto;
  width: min(64vw, 980px);
  right: 0;
  opacity: var(--about-opening-field-opacity, 1);
  background: linear-gradient(to left, rgba(247, 251, 255, 0.93) 0%, rgba(235, 244, 251, 0.88) 52%, rgba(216, 233, 245, 0.46) 76%, rgba(216, 233, 245, 0) 100%);
  transition: opacity 560ms ease;
  will-change: opacity;
}

.about-wash {
  z-index: 2;
  /* Match the bright-page family: preserve a little image grounding without
     putting a full-frame navy veil over the operational opening. */
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.02) 36%, rgba(241, 248, 253, 0.18) 100%);
  opacity: var(--about-wash-opacity, 1);
}

.about-content {
  position: relative;
  z-index: 3;
}

.secondary-page #content { height: auto; }

.about-step {
  min-height: 110vh;
  display: flex;
  align-items: center;
  padding: 120px clamp(24px, 7vw, 120px) 80px;
}

.about-hero { min-height: 100vh; }
.about-hero--operational { position: relative; justify-content: flex-end; }
.about-hero--operational .about-copy {
  position: absolute;
  top: 50%;
  right: clamp(36px, 7vw, 170px);
  width: min(460px, 29vw);
  margin: 0;
  color: #10233d;
  text-align: left;
  transform: translate3d(0, calc(-50% + var(--about-opening-copy-y, 0px)), 0);
  opacity: var(--about-opening-copy-opacity, 1);
  will-change: opacity, transform;
}
.about-hero--operational .eyebrow { color: #3F63C8; }
.about-hero--operational h1 {
  max-width: none;
  color: #3F63C8 !important;
  font: 700 clamp(3rem, 5.25vw, 5.6rem) / .88 "Lato", system-ui, sans-serif !important;
  letter-spacing: -0.074em;
}
.about-hero--operational p { margin-left: 0; color: #173a5e !important; }
.about-hero--operational .about-meta { color: #173a5e !important; }
.about-hero--operational .about-meta span:first-child { color: #075886; }
.about-hero--operational .about-meta { flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 10px; }
.about-checkpoint--hidden { display: none !important; }
.about-checkpoint { min-height: 180vh; align-items: flex-start; }
/* The founder clip scrubs across the back half of this section, so it carries the
   whole 10.04s reveal. Deeper than a plain checkpoint to give that reveal room.
   Must stay after .about-checkpoint: same specificity, so source order decides. */
.about-context { min-height: 260vh; }
/* Card 02 stays compact but uses the same Home shell. */
.about-context .about-home-card {
  width: min(560px, 100%);
}
.about-checkpoint .about-copy { position: sticky; top: var(--checkpoint-card-top, 120px); align-self: flex-start; transform: none; }
.about-checkpoint .about-copy.is-scroll-pinned { position: fixed; top: var(--checkpoint-fixed-top, var(--checkpoint-card-top, 120px)); left: var(--checkpoint-fixed-left); z-index: 5; width: var(--checkpoint-fixed-width); }
.about-checkpoint .about-copy.is-scroll-pinned .glass-card { opacity: 1; }
.about-checkpoint .about-copy.is-scroll-exiting .glass-card { opacity: var(--checkpoint-exit-opacity); transform: translate3d(0, var(--checkpoint-exit-y), 0); transition: none; }
.about-checkpoint .about-copy.is-scroll-complete .glass-card { opacity: 0 !important; transition: none; }
/* Home-card port: same page-state choreography as the original cards. */
.about-checkpoint .about-copy.is-scroll-pinned .about-home-card { opacity: 1; }
.about-checkpoint .about-copy.is-scroll-exiting .about-home-card { opacity: var(--checkpoint-exit-opacity); transform: translate3d(0, var(--checkpoint-exit-y), 0); transition: none; }
.about-checkpoint .about-copy.is-scroll-complete .about-home-card { opacity: 0 !important; transition: none; }
.about-founder-reveal { min-height: 0; padding-top: 0; padding-bottom: 0; }
.about-founder-profile { min-height: 355vh; }
.about-step.about-founder-profile { min-height: 355vh; }
.about-founder-profile .about-copy { position: sticky; top: 120px; align-self: flex-start; }
.about-founder-profile .about-copy.is-founder-pinned { position: fixed; top: var(--founder-fixed-top, 120px); left: var(--founder-fixed-left); z-index: 5; width: var(--founder-fixed-width); }
.about-founder-profile .founder-profile-card.is-founder-revealing { opacity: var(--founder-card-reveal-opacity, 0); transition: none; }
.about-copy { width: min(720px, calc(100vw - 48px)); }
.about-copy h1,
.about-copy h2 {
  font-family: "Lato", system-ui, sans-serif !important;
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 0.98;
}

.about-copy h1 {
  max-width: 12ch;
  color: var(--cool-white);
  font-size: clamp(3rem, 5.25vw, 5.6rem);
}

.about-copy h2 {
  max-width: 16ch;
  font-size: clamp(1.54rem, 2.94vw, 2.66rem);
}

/* Final hero override: keep all Home display metrics after generic About type rules. */
.about-hero--operational .about-copy h1 {
  max-width: none;
  color: #3F63C8 !important;
  font: 700 clamp(3rem, 5.25vw, 5.6rem) / .88 "Lato", system-ui, sans-serif !important;
  letter-spacing: -0.074em;
}

.about-copy p {
  max-width: 48ch;
  color: var(--instrument-mute);
  font-size: clamp(1rem, 1.12vw, 1.14rem);
  line-height: 1.65;
}

.about-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 36px;
  margin-top: 44px;
  color: rgba(255, 255, 255, 0.62);
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.about-meta span:first-child { color: var(--cyan); }

.checkpoint-shell {
  width: 100%;
  display: flex;
  align-items: center;
}
/* Restore the original About composition: cards live in a half-screen
   measure, while their Home-card shell/animation stays unchanged. */
.about-checkpoint .checkpoint-shell {
  width: min(720px, 52vw);
}
.align-right-shell { justify-content: flex-end; margin-left: auto; }

.glass-card {
  position: relative;
  z-index: 1;
  width: min(700px, 100%);
  padding: clamp(28px, 4vw, 58px);
  border: 0;
  background: transparent;
  box-shadow: none;
  opacity: 0;
  transition: opacity 0.65s ease;
}
.glass-card.is-reveal-prepared {
  will-change: opacity, transform;
}
.glass-card.is-reveal-prepared .glass-card__housing,
.glass-card.is-reveal-prepared .glass-card__depth {
  will-change: backdrop-filter;
}
/* Double-border housing + depth panel — the same shared card language as
   the homepage's .story-instrument, re-skinned frosted-white with the
   S-Consulting blue accent for the light-theme secondary pages. */
.glass-card__housing {
  position: absolute;
  z-index: 0;
  inset: -16px -20px -18px;
  display: block;
  pointer-events: none;
  background-color: rgba(255,255,255,.55);
  box-shadow: 0 26px 60px rgba(6,23,44,.14), inset 0 1px rgba(255,255,255,.7);
  backdrop-filter: blur(18px) saturate(1.3);
  -webkit-backdrop-filter: blur(18px) saturate(1.3);
  clip-path: polygon(16px 0, calc(100% - 20px) 0, 100% 20px, 100% calc(100% - 12px), calc(100% - 12px) 100%, 18px 100%, 0 calc(100% - 18px), 0 16px);
  transition: background-color .25s ease;
}
.glass-card__depth {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  background: linear-gradient(145deg, rgba(255,255,255,.66), rgba(255,255,255,.52));
  box-shadow: 0 18px 44px rgba(6,23,44,.12), inset 0 1px rgba(255,255,255,.6), inset 0 0 0 1px rgba(7,88,134,.08);
  backdrop-filter: blur(26px) saturate(1.35);
  -webkit-backdrop-filter: blur(26px) saturate(1.35);
  clip-path: polygon(11px 0, calc(100% - 15px) 0, 100% 15px, 100% calc(100% - 9px), calc(100% - 9px) 100%, 13px 100%, 0 calc(100% - 13px), 0 11px);
  transition: box-shadow .25s ease, background .25s ease;
}
.glass-card__depth::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  padding: 1px;
  background: conic-gradient(from calc(var(--about-progress, .3) * 1turn), transparent 0 78%, rgba(7,88,134,.06) 83%, rgba(7,88,134,.55) 88%, rgba(58,174,201,.18) 93%, transparent 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  clip-path: inherit;
  pointer-events: none;
}
.glass-card > *:not(.glass-card__housing):not(.glass-card__depth) { position: relative; z-index: 2; }

.glass-card.is-visible { opacity: 1; }
/* Test card: this is the actual Home component, not a reimplementation.
   These placement rules only remove homepage absolute positioning so the
   unmodified Home card can sit in the About checkpoint scroll container. */
.about-page .about-home-card {
  --story-progress: var(--about-progress, .5);
  position: relative;
  top: auto;
  right: auto;
  left: auto;
  width: 100%;
  z-index: 1;
  color: #05466f;
}
.about-page .about-home-card.story-instrument { transform: none; }
.about-page .about-home-card .story-instrument__depth { min-height: clamp(330px, 42vh, 460px); }

/* The exact Home component, converted solely through light material tokens. */
.about-page .about-home-card .story-instrument__housing {
  background-color: rgba(215,225,231,.46);
  box-shadow: 0 34px 82px rgba(6,23,44,.20), inset 0 1px rgba(255,255,255,.76), inset 0 0 44px rgba(134,164,177,.08);
  backdrop-filter: blur(18px) saturate(.96);
  -webkit-backdrop-filter: blur(18px) saturate(.96);
}
.about-page .about-home-card .story-instrument__housing::before { border: 0; }
.about-page .about-home-card .story-instrument__housing::after { background-color: rgba(255,255,255,.08); }
.about-page .about-home-card .story-instrument__depth {
  background: radial-gradient(circle at 85% 8%, rgba(105,220,255,.14), transparent 34%), linear-gradient(145deg, rgba(255,255,255,.42), rgba(244,249,251,.22));
  box-shadow: 0 30px 75px rgba(6,23,44,.18), 0 0 56px rgba(58,139,214,.10), inset 0 0 0 1px rgba(255,255,255,.62);
  backdrop-filter: blur(28px) saturate(1.22);
  -webkit-backdrop-filter: blur(28px) saturate(1.22);
}
.about-page .about-home-card .story-instrument__depth::before {
  background: conic-gradient(from calc((var(--about-progress,.5) + var(--edge-hover-offset,0)) * 1turn), transparent 0 78%, rgba(7,88,134,.10) 82%, rgba(7,88,134,.88) 87%, rgba(58,174,201,.82) 91%, rgba(255,255,255,.72) 94%, transparent 100%);
  filter: drop-shadow(0 0 2px rgba(58,174,201,.54));
}
.about-page .about-home-card .story-instrument__depth::after {
  background: linear-gradient(90deg, rgba(255,255,255,.48) 0%, rgba(255,255,255,.22) 38%, rgba(255,255,255,.06) 68%, rgba(255,255,255,.01)), linear-gradient(0deg, rgba(235,243,247,.24), transparent 54%);
}
.about-page .about-home-card .story-instrument__art { opacity: .30; mix-blend-mode: soft-light; filter: saturate(.82) contrast(1.02); }
.about-page .about-home-card .story-instrument__glare { background: radial-gradient(circle at var(--glare-x) var(--glare-y), rgba(255,255,255,.32), rgba(105,220,255,.08) 11%, transparent 30%); mix-blend-mode: screen; }
.about-page .about-home-card .story-instrument__count { color: #05466f; }
.about-page .about-home-card .story-instrument__title { color: #05466f; }
.about-page .about-home-card .story-instrument__description { color: #294d68; }
.about-page .about-home-card .story-question {
  background-color: rgba(255,255,255,.18);
  border-color: rgba(7,88,134,.22);
  box-shadow: 10px 12px 0 rgba(76,107,124,.09), inset 0 1px rgba(255,255,255,.58);
  backdrop-filter: blur(10px) saturate(1.04);
  -webkit-backdrop-filter: blur(10px) saturate(1.04);
  color: #05466f;
}
.about-page .about-home-card .story-question small { color: #05466f; }
.about-page .about-home-card .story-question b { color: #075886; border-color: #075886; }

/* Literal light-mode port of the Home .story-instrument component.
   About cards have precisely two physical layers: housing + depth. */
.about-page .glass-card {
  --tilt-x: 0deg;
  --tilt-y: 0deg;
  position: relative;
  z-index: 1;
  display: block;
  padding: 0;
  overflow: visible;
  color: #05466f;
  transform-style: preserve-3d;
}
.about-page .glass-card::after { content: none; }
.about-page .glass-card__housing {
  position: absolute;
  z-index: 0;
  inset: -26px -34px -30px;
  display: block;
  pointer-events: none;
  border: 1px solid rgba(151,173,184,.72);
  background-color: rgba(171,188,198,.48);
  box-shadow: 0 34px 82px rgba(6,23,44,.28), 12px 14px 0 rgba(116,140,153,.18), inset 0 1px rgba(255,255,255,.68), inset 0 0 44px rgba(150,180,192,.10);
  backdrop-filter: blur(18px) saturate(.96);
  -webkit-backdrop-filter: blur(18px) saturate(.96);
  clip-path: polygon(22px 0, calc(100% - 29px) 0, 100% 29px, 100% calc(100% - 18px), calc(100% - 18px) 100%, 25px 100%, 0 calc(100% - 25px), 0 22px);
  transform: perspective(1100px) rotateX(calc(var(--tilt-x) * .74)) rotateY(calc(var(--tilt-y) * .74)) translateZ(-18px);
  transition: transform .4s cubic-bezier(.2,.85,.25,1), background-color .25s ease;
}
.about-page .glass-card__housing::before {
  content: "";
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(255,255,255,.38);
  clip-path: inherit;
}
.about-page .glass-card__housing::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(255,255,255,.05);
  opacity: .52;
}
.about-page .glass-card__depth {
  position: relative;
  z-index: 1;
  display: block;
  min-height: clamp(300px, 38vh, 430px);
  overflow: hidden;
  padding: clamp(28px, 4vw, 52px);
  border: 0;
  background: radial-gradient(circle at 85% 8%, rgba(105,220,255,.14), transparent 34%), linear-gradient(145deg, rgba(255,255,255,.42), rgba(241,247,250,.22));
  box-shadow: 0 30px 75px rgba(6,23,44,.22), 0 0 56px rgba(58,139,214,.10), inset 0 0 0 1px rgba(255,255,255,.58);
  backdrop-filter: blur(28px) saturate(1.22);
  -webkit-backdrop-filter: blur(28px) saturate(1.22);
  clip-path: polygon(15px 0, calc(100% - 22px) 0, 100% 22px, 100% calc(100% - 13px), calc(100% - 13px) 100%, 18px 100%, 0 calc(100% - 18px), 0 15px);
  transform: perspective(1100px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  transform-style: preserve-3d;
  transition: transform .4s cubic-bezier(.2,.85,.25,1), box-shadow .25s ease;
}
.about-page .glass-card__depth::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  padding: 1px;
  background: conic-gradient(from calc((var(--about-progress,.5) + var(--edge-hover-offset,0)) * 1turn), transparent 0 78%, rgba(7,88,134,.06) 83%, rgba(255,255,255,.94) 88%, rgba(58,174,201,.52) 93%, transparent 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  clip-path: inherit;
  filter: blur(.12px);
  pointer-events: none;
}
.about-page .glass-card__depth::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(255,255,255,.50) 0%, rgba(255,255,255,.26) 38%, rgba(255,255,255,.07) 68%, rgba(255,255,255,.01)), linear-gradient(0deg, rgba(232,241,246,.30), transparent 54%);
  pointer-events: none;
}
.about-page .glass-card__depth > * { position: relative; z-index: 3; transform: translateZ(36px); }
.about-page .glass-card:hover .glass-card__depth { box-shadow: 0 38px 90px rgba(6,23,44,.28), 0 0 64px rgba(58,180,231,.16), inset 0 0 0 1px rgba(255,255,255,.72); }
.about-page .glass-card:hover .glass-card__housing { background-color: rgba(235,240,243,.40); }
.glass-card:hover .glass-card__housing { background-color: rgba(255,255,255,.62); }
.glass-card:hover .glass-card__depth { box-shadow: 0 24px 54px rgba(6,23,44,.15), inset 0 0 0 1px rgba(7,88,134,.16); }
.checkpoint-index { display: block; margin-bottom: 24px; color: #05466f; font: 600 0.72rem/1 "Space Grotesk", sans-serif; letter-spacing: 0.2em; }
.checkpoint-card h2 { position: relative; z-index: 2; margin-bottom: 14px; color: #05466f; }
.checkpoint-card p { position: relative; z-index: 2; color: #2f4f67; }

.founder-profile-card {
  width: min(560px, 100%);
  max-height: none;
  padding-bottom: 0;
  display: block;
  overflow: visible;
}
.about-page .about-home-card.founder-profile-card {
  width: min(560px, 42vw);
}
.founder-profile-card .story-instrument__depth {
  display: flex;
  flex-direction: column;
  min-height: clamp(400px, 58vh, 560px);
  max-height: min(64vh, 620px);
}
.about-home-card .founder-profile__reading-track p { color: #294d68; }
.about-home-card .founder-profile__opening,
.about-home-card .founder-profile__reading-track strong { color: #05466f; }
.about-home-card .founder-profile__actions { position: relative; z-index: 3; transform: translateZ(36px); }
.founder-profile__opening { flex: 0 0 auto; }
.founder-profile__reading-viewport {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  min-height: clamp(200px, 26vh, 300px);
  margin-top: 22px;
  overflow: hidden;
  /* Keep the opening text solid. Only fade the outgoing lower edge. */
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 84%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 84%, transparent 100%);
}
.founder-profile__reading-track {
  transform: translate3d(0, var(--founder-read-y, 0px), 0);
  padding-bottom: 40px;
  will-change: transform;
}
/* Founder action row: persistent Talk-to-Johan CTA plus the home-style
   SCROLL cue immediately beside it, at the bottom of the reading text. */
.founder-profile__actions {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 22px;
  flex: 0 0 auto;
  margin-top: 22px;
}
.founder-scroll-cue {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  z-index: 2;
  display: grid;
  justify-items: center;
  gap: 7px;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  background: none;
  opacity: var(--founder-cue-opacity, 1);
  transition: opacity 320ms ease;
}
.founder-scroll-cue b {
  color: #05466f;
  font: 800 .52rem/1 "Space Grotesk", sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.founder-scroll-cue i {
  display: block;
  width: 1px;
  height: 30px;
  background: linear-gradient(#05466f, transparent);
  animation: founder-scroll-cue 1.8s ease-in-out infinite;
}
.founder-profile__continuation { position: relative; z-index: 1; margin: 0 0 30px; }
/* Talk-to-Johan is a permanent card footer, always visible bottom-left. */
.founder-profile-card .founder-contact-cta {
  flex: 0 0 auto;
  align-self: auto;
  margin-top: 0;
}

/* Founder action: persistent cue + company-blue hover treatment. */
.about-home-card .founder-scroll-cue { opacity: 1; }
.about-home-card .founder-contact-cta {
  min-width: 220px;
  justify-content: space-between;
  padding: 17px 20px;
  border: 1px solid #075886;
  background: rgba(255,255,255,.18);
  box-shadow: 0 12px 30px rgba(6,23,44,.10);
  color: #05466f;
  transition: transform .25s ease, background .25s ease, color .25s ease, box-shadow .25s ease;
}
.about-home-card .founder-contact-cta span { color: #075886; }
.about-home-card .founder-contact-cta:hover,
.about-home-card .founder-contact-cta:focus-visible {
  background: #075886;
  color: #fff;
  box-shadow: 0 16px 34px rgba(7,88,134,.34);
  transform: translateY(-2px);
}
.about-home-card .founder-contact-cta:hover span,
.about-home-card .founder-contact-cta:focus-visible span { color: #fff; }

@keyframes founder-scroll-cue {
  0%, 100% { transform: translateY(-4px); opacity: 0.45; }
  50% { transform: translateY(4px); opacity: 1; }
}

.question-prompt {
  position: relative;
  z-index: 1;
  margin: clamp(26px, 4vw, 44px) 0 28px;
  padding: 20px 22px;
  border-left: 2px solid var(--cyan);
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(3px);
}

.question-prompt span { display: block; margin-bottom: 8px; color: var(--cyan); font: 600 0.68rem/1 "Space Grotesk", sans-serif; letter-spacing: 0.18em; text-transform: uppercase; }
.question-prompt strong { display: block; color: var(--cool-white); font: 700 clamp(1.25rem, 2.1vw, 1.7rem)/1.12 "Space Grotesk", sans-serif; letter-spacing: -0.025em; }

.card-link { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 12px; color: var(--cool-white); font: 600 0.76rem/1 "Space Grotesk", sans-serif; letter-spacing: 0.12em; text-decoration: none; text-transform: uppercase; }
.card-link span { color: var(--cyan); font-size: 1.2rem; transition: transform 0.25s ease; }
.card-link:hover span { transform: translate(3px, -3px); }

/* White-theme checkpoint cards (about page): S-Consulting blue accents on a
   frosted-white ground instead of cyan-on-dark. */
.checkpoint-card .eyebrow { color: #05466f; }
.checkpoint-card .question-prompt { border-left-color: #3aaec9; background: rgba(7,88,134,.06); }
.checkpoint-card .question-prompt span { color: #05466f; }
.checkpoint-card .question-prompt strong { color: #05466f; }
.checkpoint-card .card-link { color: #05466f; }
.checkpoint-card .card-link span { color: #05466f; }
.checkpoint-card .founder-profile__reading-track p { color: #2f4f67; }
.checkpoint-card .founder-profile__opening { color: #05466f; }
.checkpoint-card .founder-profile__reading-track strong { color: #05466f; }
.checkpoint-card .founder-scroll-cue { background: none; }
.checkpoint-card .founder-scroll-cue i { background: linear-gradient(#05466f, transparent); }
.founder-contact-cta {
  min-width: 220px;
  justify-content: space-between;
  padding: 17px 20px;
  border: 1px solid rgba(7,88,134,.5);
  background: rgba(7,88,134,.06);
  box-shadow: 0 12px 30px rgba(6,23,44,.08);
}

.about-progress-track { position: fixed; top: 0; left: 0; right: 0; z-index: 8; height: 2px; background: rgba(255,255,255,0.14); }
.about-progress-track span { display: block; width: 100%; height: 100%; background: var(--cyan); transform: scaleX(0); transform-origin: left; box-shadow: 0 0 12px rgba(95,216,255,0.8); }
.about-scroll-hint { position: fixed; left: 50%; bottom: 26px; z-index: 6; transform: translateX(-50%); color: rgba(255,255,255,0.62); font: 600 0.66rem/1 "Space Grotesk", sans-serif; letter-spacing: 0.18em; text-transform: uppercase; transition: opacity .4s ease; }
.about-debug { position: fixed; left: 24px; bottom: 24px; z-index: 20; width: min(330px, calc(100vw - 48px)); padding: 16px 18px; border: 1px solid rgba(95, 216, 255, 0.48); background: rgba(4, 13, 28, 0.88); box-shadow: 0 12px 32px rgba(0, 0, 0, 0.28); backdrop-filter: blur(16px); color: var(--cool-white); font: 600 0.72rem/1.3 "Space Grotesk", sans-serif; letter-spacing: 0.06em; text-transform: uppercase; }
.about-debug[hidden] { display: none; }
.about-debug__label { display: block; margin-bottom: 11px; color: var(--cyan); font-size: 0.62rem; letter-spacing: 0.18em; }
.about-debug dl { display: grid; gap: 7px; margin: 0; }
.about-debug dl div { display: flex; justify-content: space-between; gap: 16px; }
.about-debug dt { color: rgba(220, 233, 249, 0.62); }
.about-debug dd { margin: 0; color: var(--cool-white); text-align: right; }

@media (max-width: 900px) {
  /* The mobile release deliberately keeps the two approved scenes as simple,
     responsive image fields. This avoids selecting either scrub clip. */
  body.about-mobile-founder-scene .about-founder-scene { opacity: 1; }
  body.about-mobile-founder-scene .about-poster { opacity: 0; }
  /* The reading field belongs only to the operational opener. Once Johan's
     scene is promoted, it must clear completely rather than bleaching him. */
  body.about-mobile-founder-scene .about-opening-field { opacity: 0; }
  body.about-mobile-founder-scene .about-wash { opacity: 0; }
  /* Mobile cover crops: retain the operating team first, then centre Johan
     once the founder scene takes over. */
  .about-poster {
    background-position: var(--about-mobile-opening-x, 36%) center;
  }
  .about-founder-scene { background-position: 82% center; }
  .about-meta__label { display: block; }
  .about-meta__line { display: block; }

  .page-links { gap: 13px; margin-right: 16px; }
  .page-links a { font-size: 0.6rem; letter-spacing: 0.1em; }
  .secondary-page .site-nav .btn { padding: 11px 13px; font-size: 0.65rem; }
  .about-step { min-height: 105vh; padding: 110px 24px 72px; }
  /* The flattened step height above suits the static steps, but the scrubbing
     sections drive video and pinned copy off their own scroll depth. Left at
     105vh the 10.04s founder reveal would pass in about half a screen. */
  .about-checkpoint { min-height: 150vh; }
  .about-context { min-height: 210vh; }
  .about-step.about-founder-profile { min-height: 300vh; }
  .about-copy h1 { max-width: 10ch; font-size: clamp(2.75rem, 8vw, 4.5rem); }
  .about-copy h2 { font-size: clamp(1.4rem, 4.2vw, 2.28rem); }
  .about-copy p { font-size: 1rem; }
  .glass-card { padding: 26px 22px; }
  .about-poster { background-position: var(--about-mobile-opening-x, 36%) center; }
  /* Phones keep the same cards, but let them flow naturally: fixed card
     choreography plus live backdrop sampling causes avoidable scroll jank. */
  .about-checkpoint .about-copy,
  .about-checkpoint .about-copy.is-scroll-pinned,
  .about-founder-profile .about-copy.is-founder-pinned { position: relative !important; top: auto !important; right: auto !important; left: auto !important; width: 100% !important; }
  .about-checkpoint .about-copy.is-scroll-exiting .about-home-card,
  .about-checkpoint .about-copy.is-scroll-complete .about-home-card { opacity: 1 !important; transform: none !important; }
  .about-page .about-home-card .story-instrument__housing,
  .about-page .about-home-card .story-instrument__depth,
  .about-page .about-home-card .story-question { -webkit-backdrop-filter: none; backdrop-filter: none; }
}

@media (max-width: 640px) {
  .about-hero { align-items: flex-start; padding-top: 142px; }
  .about-hero .about-copy { position: relative; z-index: 2; }
  .about-checkpoint .checkpoint-shell { width: 100%; }
  .about-operational-video { object-position: 38% 55%; transform: translate3d(2%, 4%, 0) scale(1.05); }
  .about-opening-field { width: 76vw; }
  .about-hero--operational .about-copy { top: 16%; right: 3%; left: auto; width: 62%; margin: 0; display: flex; flex-direction: column; align-items: flex-end; text-align: right !important; transform: none; }
  .about-hero--operational .about-copy .eyebrow,
  .about-hero--operational .about-copy h1,
  .about-hero--operational .about-copy p { width: 100%; margin-right: 0; margin-left: auto; text-align: right !important; }
  .about-hero--operational h1 { max-width: none !important; overflow-wrap: normal; word-break: normal; font-size: clamp(2rem, 8.4vw, 2.7rem) !important; line-height: .92; text-align: right !important; text-wrap: wrap; }
  .about-hero--operational .about-meta { width: 100%; align-items: flex-end; justify-content: flex-end; text-align: right; }
  .about-founder-video { object-position: 78% center; }
  .about-founder-profile { padding-right: 14px; padding-left: 14px; }
  .about-founder-profile .about-copy { width: 100%; margin: 0; }
  .about-page .about-home-card.founder-profile-card { width: 100%; }
  .founder-profile-card .story-instrument__depth { min-height: 340px; max-height: none; padding: 18px 18px 16px; }
  .founder-profile-card .story-instrument__title { max-width: none; font-size: clamp(1.55rem, 6.5vw, 1.85rem); line-height: .96; }
  .founder-profile-card .founder-profile__reading-track p { font-size: .84rem; line-height: 1.48; }
  .about-page .founder-profile-card .story-instrument__art { opacity: .12; }
  .about-page .founder-profile-card .story-instrument__depth { background: linear-gradient(145deg, rgba(255,255,255,.74), rgba(244,249,251,.48)); -webkit-backdrop-filter: blur(14px) saturate(1.14); backdrop-filter: blur(14px) saturate(1.14); }
  .founder-profile__reading-viewport { min-height: 120px; margin-top: 12px; overflow: visible; -webkit-mask-image: none; mask-image: none; }
  .founder-profile__reading-track { transform: none; }
  .founder-profile__actions { margin-top: 12px; }
  .about-home-card .founder-contact-cta { width: 100%; min-width: 0; padding: 14px 16px; }
  .about-copy h1 { max-width: 10ch; font-size: clamp(2.45rem, 11vw, 3.55rem); }
  .about-copy h2 { font-size: clamp(1.44rem, 6.44vw, 2.1rem); }
  .about-meta { margin-top: 28px; }
  .about-debug { left: 14px; bottom: 14px; width: min(330px, calc(100vw - 28px)); padding: 13px 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .about-poster, .about-video, .glass-card { transition: none; }
  .about-scroll-hint { transition: none; }
  .founder-scroll-cue { animation: none; }
}

/* About deliberately inherits the immersive homepage header geometry. */
.secondary-page .site-nav__links { display: flex; }
.secondary-page .site-nav__actions { margin-left: 0; }

@media (max-width: 1180px) {
  .secondary-page .site-nav__links { display: none; }
  .secondary-page .site-nav__actions { margin-left: auto; }
}

@media (max-width: 900px) {
  .secondary-page .site-nav { padding: 10px 18px; }
  .secondary-page .site-nav__actions .btn { display: none; }
}

/* ==========================================================================
   Industries — one operational panorama, with factual industries held as live
   checkpoints. The stage is deliberately still until the master is approved
   for video; a restrained page-driven pan implies the proposed camera move.
   ========================================================================== */
.industries-immersive-page {
  --industries-mx: 0px;
  --industries-my: 0px;
  --industries-pan: 0%;
  --industries-trace-x: max(14px, calc((100vw - 1180px) / 2 - 6px));
  background: #030812;
}

.industries-poster,
.industries-video,
.industries-scene-wash,
.industries-trace { position: fixed; inset: 0; pointer-events: none; }
.industries-poster {
  z-index: 0;
  background: url("../img/video/industries-master-v3-tech.png") center / cover no-repeat;
  filter: saturate(.86) contrast(1.08) brightness(.78);
  transform: translate3d(calc(var(--industries-pan) + var(--industries-mx)), var(--industries-my), 0) scale(1.075);
  transition: transform .9s cubic-bezier(.2,.7,.2,1);
  will-change: transform;
}
.industries-video {
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.86) contrast(1.08) brightness(.78);
  opacity: 0;
  transform: scale(1.075);
  transition: opacity .55s ease;
}
.industries-video-ready .industries-video { opacity: 1; }
.industries-video-ready .industries-poster { opacity: 0; }
@media (min-width: 901px) {
  .industries-poster { display: none; }
  body.industries-video-fallback .industries-poster { display: block; }
}
.industries-scene-wash {
  z-index: 1;
  background: linear-gradient(90deg, rgba(3,8,18,.96) 0%, rgba(3,8,18,.82) 30%, rgba(3,8,18,.32) 57%, rgba(3,8,18,.15) 100%), linear-gradient(180deg, rgba(3,8,18,.54), transparent 26%, transparent 66%, rgba(3,8,18,.72));
}
.industries-trace {
  z-index: 5;
  left: var(--industries-trace-x);
  right: auto;
  width: 2px;
  background: linear-gradient(to bottom, transparent 4%, rgba(95,216,255,.22) 15%, rgba(95,216,255,.75) 49%, rgba(95,216,255,.22) 84%, transparent 96%);
  box-shadow: 0 0 26px rgba(95,216,255,.5);
}
.industries-trace span {
  position: absolute;
  top: calc(14% + var(--industries-progress, 0) * 68%);
  left: -5px;
  width: 12px;
  height: 12px;
  border: 1px solid rgba(215,250,255,.92);
  border-radius: 50%;
  background: #5fd8ff;
  box-shadow: 0 0 24px #5fd8ff, 0 0 46px rgba(95,216,255,.5);
  transition: top .18s linear;
}
.industries-immersive-page .site-nav { z-index: 8; background: rgba(3,8,18,.56); box-shadow: 0 8px 20px rgba(3,8,18,.18); backdrop-filter: blur(18px) saturate(118%); -webkit-backdrop-filter: blur(18px) saturate(118%); }
.industries-content { position: relative; z-index: 3; }
#content.industries-content { height: auto; }
.industries-step { min-height: 100svh; display: flex; align-items: center; padding: 128px max(clamp(24px, 7vw, 120px), calc(var(--industries-trace-x) + 40px)) 80px; }
.industries-hero { min-height: 112svh; }
.industries-copy { width: min(640px, calc(100vw - 48px)); }
.industries-copy h1,
.industries-copy h2,
.industry-checkpoint h2 { color: var(--cool-white); font-family: "Lato", system-ui, sans-serif !important; font-weight: 700; letter-spacing: -.045em; line-height: .98; }
.industries-copy h1 { max-width: 11.5ch; font-size: clamp(3rem, 5.25vw, 5.6rem); }
.industries-copy h2 { max-width: 15ch; font-size: clamp(2.2rem, 4.2vw, 3.8rem); }
.industries-copy p,
.industry-checkpoint p { max-width: 48ch; color: #c8d8eb; font-size: clamp(1rem, 1.12vw, 1.14rem); line-height: 1.65; }
.industries-meta { display: flex; flex-wrap: wrap; gap: 18px 36px; margin-top: 44px; color: rgba(255,255,255,.62); font-size: .7rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.industries-meta span:first-child,
.industry-index { color: var(--signal-cyan); }
.industry-checkpoint {
  position: relative;
  width: min(500px, 100%);
  padding: clamp(28px, 4vw, 52px);
  border: 1px solid rgba(181,225,255,.27);
  background: linear-gradient(135deg, rgba(4,15,31,.8), rgba(5,20,39,.56));
  box-shadow: 0 30px 80px rgba(0,0,0,.32), inset 0 1px rgba(255,255,255,.12);
  backdrop-filter: blur(6px) saturate(.9);
  opacity: 0;
  transform: translate3d(0, 34px, 0);
  transition: opacity .62s ease, transform .78s cubic-bezier(.2,.7,.2,1), border-color .3s ease;
}
.industries-step--right { justify-content: flex-end; }
.industries-step.is-visible .industry-checkpoint { opacity: 1; transform: translate3d(0, 0, 0); }
.industry-checkpoint::before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 2px; background: linear-gradient(to bottom, transparent, var(--signal-cyan), transparent); opacity: .82; }
.industry-checkpoint:hover { border-color: rgba(95,216,255,.62); }
.industry-index { display: block; margin-bottom: 24px; font-size: .72rem; font-weight: 700; letter-spacing: .2em; }
.industry-checkpoint .eyebrow { margin-bottom: 14px; }
.industry-checkpoint h2 { margin-bottom: 14px; font-size: clamp(2.15rem, 3.55vw, 3.25rem); }
.industries-closing { min-height: 108svh; align-items: flex-end; }
.industries-copy--closing { padding-bottom: clamp(28px, 6vh, 78px); }
.industries-contact-cta { min-width: 220px; justify-content: space-between; margin-top: 24px; padding: 17px 20px; border: 1px solid rgba(95,216,255,.72); background: rgba(4,13,28,.42); box-shadow: 0 12px 30px rgba(0,0,0,.2), inset 0 0 24px rgba(95,216,255,.08); }
.industries-progress-track { position: fixed; top: 0; left: 0; right: 0; z-index: 9; height: 2px; background: rgba(255,255,255,.14); }
.industries-progress-track span { display: block; width: 100%; height: 100%; background: var(--signal-cyan); transform: scaleX(0); transform-origin: left; box-shadow: 0 0 12px rgba(95,216,255,.8); }
.industries-scroll-hint { position: fixed; left: 50%; bottom: 26px; z-index: 6; margin: 0; padding: 6px 12px; transform: translateX(-50%); color: rgba(255,255,255,.62); font-size: .66rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; background: rgba(3,8,18,.5); backdrop-filter: blur(6px); border-radius: 4px; transition: opacity .4s ease; }

@media (max-width: 900px) {
  .industries-step { padding: 112px 24px 70px; }
  .industries-copy h1 { max-width: 10ch; font-size: clamp(2.75rem, 8vw, 4.5rem); }
  .industries-copy h2 { font-size: clamp(2rem, 6vw, 3.25rem); }
  .industries-poster { background-position: 59% center; }
}
@media (max-width: 640px) {
  .industries-step { min-height: 92svh; padding: 120px 24px 64px; }
  .industries-hero { min-height: 100svh; }
  .industries-copy h1 { max-width: 10ch; font-size: clamp(2.45rem, 11vw, 3.55rem); }
  .industries-copy h2 { font-size: clamp(2.05rem, 9.2vw, 3rem); }
  .industries-meta { gap: 13px; margin-top: 30px; }
  .industries-meta span + span { max-width: 19ch; }
  .industry-checkpoint { padding: 28px 23px 30px; }
  .industries-step--right { justify-content: flex-start; }
  .industries-closing { min-height: 100svh; align-items: center; }
  .industries-copy--closing { padding-bottom: 0; }
  .industries-trace { left: 14px; }
  .industries-scroll-hint { bottom: 18px; font-size: .59rem; }
}
@media (prefers-reduced-motion: reduce) {
  .industries-poster { transform: scale(1.05); transition: none; }
  .industries-video { display: none; }
  .industries-trace span { transition: none; }
  .industry-checkpoint { opacity: 1; transform: none; transition: none; }
  .industries-scroll-hint { transition: none; }
}

/* The panorama establishes the world once. The industries then arrive as one
   compact operating system, so the visitor can compare contexts without six
   full-screen pauses. */
.industries-hero { min-height: 84svh; }
.industries-catalogue {
  position: relative;
  z-index: 3;
  min-height: 0;
  padding: clamp(68px, 9vw, 124px) max(clamp(24px, 7vw, 120px), calc(var(--industries-trace-x) + 40px));
}
.industries-catalogue__inner { width: min(1180px, 100%); margin: 0 auto; }
.industries-catalogue__intro { width: min(540px, 100%); margin-bottom: clamp(32px, 5vw, 56px); }
.industries-catalogue__intro h2 { max-width: 12ch; margin: 0 0 14px; color: var(--cool-white); font-size: clamp(2.15rem, 4.1vw, 3.7rem); font-weight: 700; letter-spacing: -.045em; line-height: .98; }
.industries-catalogue__intro p { margin: 0; color: #c8d8eb; }
.industries-catalogue__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 72px 64px;
}
.industry-card {
  position: relative;
  min-height: 390px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  opacity: 0;
  transform: translate3d(0, 22px, 0);
  transition: opacity .5s ease, transform .65s cubic-bezier(.2,.7,.2,1);
  transition-delay: var(--industry-card-delay, 0ms);
}
.industry-card.is-visible { opacity: 1; transform: translate3d(0, 0, 0); }
/* Double-border housing + depth panel — shared card language with the
   homepage's .story-instrument. Outer housing = soft frosted shell with a
   corner-cut clip-path; inner depth = the real glass panel with its own
   corner-cut and a scroll-driven conic-gradient traced border. */
.industry-card__housing {
  position: absolute;
  z-index: 0;
  inset: -12px;
  display: block;
  pointer-events: none;
  background-color: rgba(9,11,14,.4);
  box-shadow: 0 20px 48px rgba(0,0,0,.34), inset 0 1px rgba(244,246,248,.09);
  backdrop-filter: blur(14px) saturate(.92);
  -webkit-backdrop-filter: blur(14px) saturate(.92);
  clip-path: polygon(16px 0, calc(100% - 20px) 0, 100% 20px, 100% calc(100% - 12px), calc(100% - 12px) 100%, 18px 100%, 0 calc(100% - 18px), 0 16px);
  transition: background-color .25s ease;
}
.industry-card__depth {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  min-height: inherit;
  margin: 0;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(3,11,24,.92), rgba(5,20,39,.84));
  box-shadow: 0 18px 44px rgba(0,0,0,.3), inset 0 0 0 1px rgba(255,255,255,.06);
  clip-path: polygon(11px 0, calc(100% - 15px) 0, 100% 15px, 100% calc(100% - 9px), calc(100% - 9px) 100%, 13px 100%, 0 calc(100% - 13px), 0 11px);
  transition: box-shadow .3s ease, transform .42s cubic-bezier(.2,.8,.2,1);
}
.industry-card__depth::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  padding: 1px;
  background: conic-gradient(from calc(var(--industries-progress, .3) * 1turn), transparent 0 78%, rgba(227,243,250,.06) 83%, rgba(238,250,255,.85) 88%, rgba(189,219,232,.14) 93%, transparent 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  clip-path: inherit;
  pointer-events: none;
}
.industry-card__depth > * { position: relative; z-index: 3; }
.industry-card__media { position: relative; height: clamp(132px, 12vw, 172px); overflow: hidden; border-bottom: 1px solid rgba(95,216,255,.18); background: #07172b; }
.industry-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(3,8,18,.04), rgba(3,8,18,.12) 46%, rgba(3,8,18,.9)); pointer-events: none; }
.industry-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.76) contrast(1.06) brightness(.82); transform: scale(1.01); transition: filter .42s ease, transform .72s cubic-bezier(.2,.8,.2,1); }
.industry-card__copy { flex: 1; padding: 24px 26px 27px; }
.industry-card:hover .industry-card__housing { background-color: rgba(13,16,20,.58); }
.industry-card:hover .industry-card__depth { box-shadow: 0 30px 66px rgba(0,0,0,.44), 0 0 40px rgba(95,216,255,.18), inset 0 0 0 1px rgba(255,255,255,.12); transform: translate3d(0, -7px, 0); }
.industry-card:hover .industry-card__media img { filter: saturate(1) contrast(1.08) brightness(.96); transform: scale(1.08); }
.industry-card .industry-index { margin-bottom: 14px; }
.industry-card .eyebrow { margin-bottom: 10px; }
.industry-card h3 { max-width: 13ch; margin: 0 0 12px; color: var(--cool-white); font-size: clamp(1.38rem, 1.85vw, 1.78rem); font-weight: 700; letter-spacing: -.035em; line-height: 1.02; }
.industry-card p { margin: 0; color: #c8d8eb; font-size: .94rem; line-height: 1.55; }
.industries-closing { min-height: 78svh; }

@media (max-width: 980px) {
  .industries-catalogue__grid { grid-template-columns: repeat(2, 1fr); gap: 60px 44px; }
}
@media (max-width: 640px) {
  .industries-hero { min-height: 100svh; }
  .industries-catalogue { padding: 58px 24px 64px; }
  .industries-catalogue__intro { margin-bottom: 28px; }
  .industries-catalogue__grid { grid-template-columns: 1fr; gap: 32px; }
  .industry-card { min-height: 0; }
  .industry-card__media { height: 168px; }
  .industry-card__copy { padding: 22px 22px 24px; }
  .industry-card h3 { max-width: none; }
  .industries-closing { min-height: 82svh; }
}
@media (prefers-reduced-motion: reduce) {
  .industry-card { opacity: 1; transform: none; transition: none; }
}
