/* Content pages (everything except the homepage): page hero, sections and the components the WordPress blocks
   were migrated to. Same tokens and type scale as the homepage (tokens.css, components.css). */

/* ---------- Page hero ---------- */
.page-hero { position: relative; isolation: isolate; color: var(--color-white); }
.page-hero__bg { position: absolute; inset: 0; z-index: -1; overflow: hidden; background: var(--color-brand-dark); }
.page-hero__blob { position: absolute; left: calc(50% + min(18vw, 300px)); top: 40px; width: 754px; height: 792px; opacity: 0.9; pointer-events: none; }
.page-hero__inner {
  display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; gap: var(--space-60);
  padding: calc(var(--topbar-height) + 88px) 0 104px;
}
.page-hero--media .page-hero__inner { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); }
.page-hero__text { display: flex; flex-direction: column; gap: var(--space-24); max-width: var(--width-8col); }
.page-hero__title {
  font: 700 var(--text-title) / var(--leading-title) var(--font-display);
  font-feature-settings: var(--font-features-display); letter-spacing: var(--tracking-heading);
  text-wrap: balance;
}
.page-hero__title--article { font-size: var(--text-h2); line-height: var(--leading-heading); }
.page-hero__text .lead p + p { margin-top: 0.75em; }
.page-hero__text .btn-row { margin-top: var(--space-8); }
.page-hero__meta { font: 500 var(--text-body-sm) / var(--leading-body) var(--font-display); color: var(--color-white-secondary); }
.page-hero__list { display: flex; flex-wrap: wrap; gap: var(--space-8); padding: 0; list-style: none; }
.page-hero__list li { padding: 6px 14px; border: 1.5px solid var(--color-white-border); border-radius: var(--radius-pill); font: 500 var(--text-body-xs) / 1.4 var(--font-display); }
.page-hero__media { position: relative; overflow: hidden; aspect-ratio: 4 / 3; border-radius: var(--radius-large); background: var(--color-brand-deep); box-shadow: 0 30px 60px rgba(13, 39, 28, 0.35); }
.page-hero__media img, .page-hero__media video { width: 100%; height: 100%; object-fit: cover; }
.page-hero--article .page-hero__inner { padding-bottom: 72px; }
.page-hero--404 .page-hero__inner { min-height: 70vh; }

.eyebrow {
  font: 700 var(--text-body-sm) / var(--leading-heading) var(--font-display); font-feature-settings: var(--font-features-display);
  letter-spacing: var(--tracking-button-sm); color: var(--color-brand-dark);
}
.eyebrow--on-dark { color: var(--color-brand-light); }
.eyebrow a { color: inherit; text-decoration: none; }
.eyebrow a:hover { text-decoration: underline; }

/* Sound toggle on the careers video */
.video-sound {
  position: absolute; right: var(--space-16); bottom: var(--space-16); padding: 8px 14px; border: 0; border-radius: var(--radius-pill);
  background: rgba(13, 39, 28, 0.72); color: #fff; font: 600 var(--text-body-xs) / 1 var(--font-display); cursor: pointer; backdrop-filter: blur(6px);
}
.video-sound:hover { background: var(--color-brand-deep); }
.video-sound__on, .video-sound[aria-pressed="true"] .video-sound__off { display: none; }
.video-sound[aria-pressed="true"] .video-sound__on { display: inline; }

/* ---------- Sections ---------- */
.page-main { padding-bottom: var(--space-24); }
.pg-section { margin-top: var(--gap-section); }
.pg-section--tint { padding-block: var(--gap-section); background: var(--color-brand-pale); }
.pg-section--tint + .pg-section { margin-top: var(--gap-section); }
.pg-section--bleed { overflow: hidden; }
.section-head--left { align-items: flex-start; text-align: left; margin-inline: 0; gap: var(--space-16); }
.section-head--left .lead p + p { margin-top: 0.75em; }
.container--prose { width: min(100% - 2 * var(--page-gutter), 760px); }

/* Text + image */
.pg-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: var(--gap-gutter); }
.pg-split--media-left .pg-split__media { order: -1; }
.pg-split--text-only { grid-template-columns: minmax(0, var(--width-8col)); }
.pg-split__text { display: flex; flex-direction: column; gap: var(--space-20); }
.pg-split__text .btn-row { margin-top: var(--space-8); }
.pg-split__media { overflow: hidden; aspect-ratio: 5 / 4; border-radius: var(--radius-large); background: var(--color-bg-accent); }
.pg-split__media img { width: 100%; height: 100%; object-fit: cover; }
.pg-split__media img[src$=".svg"], .pg-split__media img[src*="cleverenable"], .pg-split__media img[src*="provisioning"],
.pg-split__media img[src*="invoicing"] { object-fit: contain; padding: var(--space-24); }

/* Rich text */
.prose { color: var(--color-fg-secondary); font: 400 var(--text-body-md) / var(--leading-body-lg) var(--font-body); font-feature-settings: var(--font-features-body); }
.prose > * + * { margin-top: 1em; }
.prose h2, .prose h3, .prose h4 {
  margin-top: 1.6em; color: var(--color-fg-primary); font-family: var(--font-display); font-feature-settings: var(--font-features-display);
  font-weight: 700; line-height: var(--leading-heading); letter-spacing: var(--tracking-h5);
}
.prose h2 { font-size: var(--text-h3); }
.prose h3 { font-size: var(--text-h4); }
.prose h4 { font-size: var(--text-h5); }
.prose :is(h2, h3, h4) + * { margin-top: 0.6em; }
.prose ul, .prose ol { padding-left: 1.3em; }
.prose li + li { margin-top: 0.35em; }
.prose li::marker { color: var(--color-brand-mid); }
.prose a { color: var(--color-brand-dark); text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.prose a:hover { color: var(--color-brand-mid); }
.prose strong { color: var(--color-fg-primary); }
.prose img { border-radius: var(--radius-medium); }
.prose figure { margin-block: 1.5em; }
.prose__video { overflow: hidden; aspect-ratio: 16 / 9; border-radius: var(--radius-medium); background: #000; }
.prose__video video { width: 100%; height: 100%; }
.pg-split .prose { font-size: var(--text-body-md); }

/* Cards (Points, TextInColumns, contact) */
.pg-cards { margin-top: var(--gap-heading-content); padding: 0; list-style: none; display: grid; gap: var(--space-24); }
.section-head + .pg-cards { margin-top: var(--space-40); }
.pg-cards:first-child { margin-top: 0; }
.pg-cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pg-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pg-card {
  position: relative; display: flex; flex-direction: column; gap: var(--space-16); padding: var(--space-40);
  border-radius: var(--radius-large); background: var(--color-brand-pale);
  transition: translate var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);
}
.pg-card:hover { translate: 0 -3px; box-shadow: var(--shadow-tile); }
.pg-cards--plain .pg-card { padding: var(--space-32) 0 0; border-top: 2px solid var(--color-brand-light); border-radius: 0; background: none; }
.pg-cards--plain .pg-card:hover { translate: none; box-shadow: none; }
.pg-card__icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: var(--radius-medium); background: var(--color-bg-base); box-shadow: var(--shadow-tile); }
.pg-cards--plain .pg-card__icon { background: var(--color-brand-pale); box-shadow: none; }
.pg-card__icon img { width: 30px; height: 30px; }
.pg-card__title { font: 700 var(--text-h4) / var(--leading-heading) var(--font-display); font-feature-settings: var(--font-features-display); letter-spacing: var(--tracking-h5); color: var(--color-fg-primary); }
.pg-card__body { color: var(--color-fg-secondary); font: 400 var(--text-body-sm) / var(--leading-body) var(--font-body); font-feature-settings: var(--font-features-body); }
.pg-card__body p + p { margin-top: 0.75em; }
.pg-section > .container > .btn-row { margin-top: var(--space-40); }
.pg-contact__value { font: 700 var(--text-h5) / 1.4 var(--font-display); color: var(--color-fg-primary); }
.pg-contact__value a { color: var(--color-brand-dark); }

/* Call-to-action band (WordPress "Careers" block) */
.pg-band {
  position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; gap: var(--space-40);
  padding: var(--space-60); border-radius: var(--radius-large); color: var(--color-white);
  background: linear-gradient(99.56deg, var(--gradient-brand-stops));
}
.pg-band::before {
  content: ""; position: absolute; right: -180px; top: -260px; width: 620px; height: 620px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.18), transparent 65%); pointer-events: none;
}
.pg-band--media { grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); }
.pg-band__text { position: relative; display: flex; flex-direction: column; gap: var(--space-20); max-width: 640px; }
.pg-band__text .lead p + p { margin-top: 0.75em; }
.pg-band__media { position: relative; overflow: hidden; aspect-ratio: 4 / 3; border-radius: var(--radius-medium); box-shadow: 0 24px 48px rgba(13, 39, 28, 0.3); rotate: 2deg; transition: rotate 300ms var(--ease-out); }
.pg-band:hover .pg-band__media { rotate: 0deg; }
.pg-band__media img { width: 100%; height: 100%; object-fit: cover; }
.btn--outline { border: 1.5px solid var(--color-brand-dark); color: var(--color-brand-dark); background: transparent; }
.btn--outline:hover { background: var(--color-brand-pale); }

/* Quote */
.pg-quote { display: grid; grid-template-columns: 220px minmax(0, 1fr); align-items: center; gap: var(--space-40); padding: var(--space-40); border-radius: var(--radius-large); background: var(--color-bg-accent); }
.pg-quote--brand { background: var(--color-brand-deep); color: var(--color-white); }
.pg-quote__media { overflow: hidden; aspect-ratio: 1; border-radius: var(--radius-medium); }
.pg-quote__media img { width: 100%; height: 100%; object-fit: cover; }
.pg-quote__text p { font: 700 var(--text-h4) / 1.35 var(--font-display); font-feature-settings: var(--font-features-display); letter-spacing: var(--tracking-h5); text-wrap: pretty; }

/* Photo cards (TextWithCards) */
.pg-photo-cards { margin-top: var(--space-40); padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-40) var(--space-24); }
.pg-photo-card { display: flex; flex-direction: column; gap: var(--space-12); }
.pg-photo-card__media { overflow: hidden; aspect-ratio: 3 / 2; margin-bottom: var(--space-8); border-radius: var(--radius-medium); background: var(--color-brand-pale); }
.pg-photo-card__media img { width: 100%; height: 100%; object-fit: cover; transition: scale 400ms var(--ease-out); }
.pg-photo-card:hover .pg-photo-card__media img { scale: 1.04; }

/* Photo strip (ImageSlider): native horizontal scrolling with snap, no slider library */
.pg-gallery {
  display: flex; gap: var(--space-16); margin: 0; padding: 0 var(--page-gutter) var(--space-12); list-style: none;
  overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--page-gutter); scrollbar-width: thin;
}
.pg-gallery:focus-visible { outline: var(--focus-ring-dark); outline-offset: -2px; }
.pg-gallery__item { flex: none; width: min(78vw, 420px); aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--radius-medium); scroll-snap-align: start; background: var(--color-bg-accent); }
.pg-gallery__item:nth-child(3n + 2) { width: min(60vw, 300px); }
.pg-gallery__item img { width: 100%; height: 100%; object-fit: cover; }

/* Job listing */
.pg-jobs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap-gutter); }
.pg-jobs__intro { margin-top: var(--space-12); color: var(--color-fg-secondary); }
.job-list { margin-top: var(--space-24); padding: 0; list-style: none; display: flex; flex-direction: column; gap: var(--space-12); }
.job-card__link {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-4) var(--space-16); align-items: center;
  padding: var(--space-24) var(--space-32); border-radius: var(--radius-medium); background: var(--color-brand-pale);
  color: var(--color-fg-primary); text-decoration: none; transition: background-color var(--duration-fast) var(--ease-out);
}
.job-card__link:hover { background: var(--color-brand-light); }
.job-card__title { font: 700 var(--text-h5) / var(--leading-heading) var(--font-display); font-feature-settings: var(--font-features-display); }
.job-card__meta { grid-row: 2; color: var(--color-fg-secondary); font: 400 var(--text-body-xs) / 1.5 var(--font-body); }
.job-card__arrow { grid-row: 1 / 3; grid-column: 2; font-size: 1.5rem; transition: translate var(--duration-fast) var(--ease-out); }
.job-card__link:hover .job-card__arrow { translate: 4px 0; }

/* Team */
.pg-team { margin-top: var(--space-40); padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: var(--space-32) var(--space-24); }
.pg-person { display: flex; flex-direction: column; gap: var(--space-12); }
.pg-person__photo { display: grid; place-items: center; overflow: hidden; aspect-ratio: 4 / 5; border-radius: var(--radius-medium); background: var(--color-brand-pale); }
.pg-person__photo img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.9); transition: scale 400ms var(--ease-out), filter 400ms var(--ease-out); }
.pg-person:hover .pg-person__photo img { scale: 1.04; filter: saturate(1.05); }
.pg-person__initials { font: 700 var(--text-h2) / 1 var(--font-display); color: var(--color-brand-mid); }
.pg-person__name { font: 700 var(--text-h6) / var(--leading-heading) var(--font-display); font-feature-settings: var(--font-features-display); }

/* Steps (Advantages) */
.pg-steps { margin-top: var(--space-40); padding: 0; list-style: none; counter-reset: step; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-24); }
.pg-step { counter-increment: step; position: relative; display: flex; flex-direction: column; gap: var(--space-12); padding: var(--space-40) var(--space-40) var(--space-40) 112px; border-radius: var(--radius-large); background: var(--color-brand-pale); }
.pg-step::before {
  content: counter(step); position: absolute; left: var(--space-32); top: var(--space-32); display: grid; place-items: center; width: 56px; height: 56px;
  border-radius: 50%; background: linear-gradient(129.78deg, var(--gradient-brand-light-stops)); color: var(--color-white);
  font: 700 var(--text-h4) / 1 var(--font-display);
}

/* Facts (company details) and map */
.pg-facts { display: grid; gap: 0; margin-top: var(--space-8); }
.pg-facts div { display: grid; grid-template-columns: 160px 1fr; gap: var(--space-16); padding-block: var(--space-12); border-bottom: 1px solid var(--color-bg-accent); }
.pg-facts dt { color: var(--color-fg-tertiary); }
.pg-facts dd { margin: 0; font-weight: 600; color: var(--color-fg-primary); }
.pg-map { margin-top: var(--space-24); overflow: hidden; border-radius: var(--radius-medium); }
.pg-map img { width: 100%; height: auto; transition: scale 400ms var(--ease-out); }
.pg-map:hover img { scale: 1.02; }

/* Article (news, jobs) */
.pg-article { margin-top: 0; }
.pg-article__image { overflow: hidden; margin-top: calc(-1 * var(--space-40)); margin-bottom: var(--space-60); aspect-ratio: 16 / 9; border-radius: var(--radius-large); background: var(--color-brand-pale); box-shadow: var(--shadow-overlay); }
.pg-article__image img { width: 100%; height: 100%; object-fit: cover; }
.page-article .page-hero--article .page-hero__inner { padding-bottom: 120px; }
.post-grid--archive { margin-top: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.post-card .media--post > img:first-child { width: 100%; height: 100%; }
.pg-apply { padding: var(--space-60); border-radius: var(--radius-large); background: var(--color-brand-pale); }
.pg-apply .lead { margin-top: var(--space-12); }

/* ---------- Forms ---------- */
.pg-form { display: flex; flex-direction: column; gap: var(--space-20); margin-top: var(--space-24); }
.pg-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-16) var(--space-20); }
.field { display: flex; flex-direction: column; gap: var(--space-6); }
.field--wide { grid-column: 1 / -1; }
.field__label { font: 600 var(--text-body-xs) / 1.3 var(--font-display); color: var(--color-fg-secondary); }
.field input, .field select, .field textarea {
  width: 100%; min-height: 48px; padding: 12px 14px; border: 1.5px solid #cfd6cb; border-radius: var(--radius-small);
  background: var(--color-bg-base); color: var(--color-fg-primary); font: 400 var(--text-body-sm) / 1.4 var(--font-body);
  transition: border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);
}
.field textarea { resize: vertical; min-height: 140px; }
.field input[type="file"] { padding: 10px; background: var(--color-bg-base); cursor: pointer; }
.field input[type="file"]::file-selector-button {
  margin-right: 12px; padding: 6px 12px; border: 0; border-radius: var(--radius-xs); background: var(--color-brand-pale);
  color: var(--color-brand-deep); font: 600 var(--text-body-xs) / 1 var(--font-display); cursor: pointer;
}
.field :is(input, select, textarea):focus { outline: none; border-color: var(--color-brand-mid); box-shadow: 0 0 0 3px rgba(94, 163, 6, 0.25); }
.was-validated .field :is(input, select, textarea):invalid { border-color: #c4361c; }
.field--hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.check { display: flex; align-items: flex-start; gap: var(--space-12); color: var(--color-fg-secondary); font: 400 var(--text-body-sm) / 1.5 var(--font-body); }
.check input { flex: none; width: 20px; height: 20px; margin-top: 2px; accent-color: var(--color-brand-dark); }
.was-validated .check input:invalid { outline: 2px solid #c4361c; outline-offset: 2px; }
.check a { color: var(--color-brand-dark); }
.pg-form__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-16) var(--space-24); }
.pg-form__actions .btn[disabled] { opacity: 0.6; cursor: progress; }
.pg-form__status { font: 600 var(--text-body-sm) / 1.4 var(--font-display); }
.pg-form__status[data-kind="ok"] { color: var(--color-brand-dark); }
.pg-form__status[data-kind="error"] { color: #b3301a; }
.pg-form.is-sent .pg-form__status::before { content: "✓ "; }

/* ---------- Responsive ---------- */
@media (max-width: 1023px) {
  .page-hero--media .page-hero__inner, .pg-split, .pg-band--media, .pg-jobs { grid-template-columns: minmax(0, 1fr); }
  .pg-split--media-left .pg-split__media { order: 0; }
  .pg-split { gap: var(--space-40); }
  .pg-cards--3, .pg-photo-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .post-grid--archive { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-hero__inner { padding: calc(var(--topbar-height) + 56px) 0 80px; gap: var(--space-40); }
  .pg-band { padding: var(--space-40); }
  .pg-steps { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
  .pg-cards--2, .pg-cards--3, .pg-photo-cards, .post-grid--archive, .pg-form__grid { grid-template-columns: minmax(0, 1fr); }
  .pg-card { padding: var(--space-32) var(--space-24); }
  .pg-band { padding: var(--space-32) var(--space-24); }
  .pg-quote { grid-template-columns: minmax(0, 1fr); padding: var(--space-24); gap: var(--space-24); }
  .pg-quote__media { width: 120px; }
  .pg-step { padding: 96px var(--space-24) var(--space-32); }
  .pg-step::before { left: var(--space-24); }
  .pg-apply { padding: var(--space-32) var(--space-24); }
  .pg-facts div { grid-template-columns: 1fr; gap: 0; }
  .page-hero__blob { left: auto; right: -320px; }
}
@media (prefers-reduced-motion: reduce) {
  .pg-card, .pg-photo-card__media img, .pg-person__photo img, .pg-band__media, .pg-map img { transition: none; }
  .pg-band__media { rotate: none; }
}

/* Terminal tile (careers "We ❤️ AI"), same look as the code tile on the homepage */
.pg-terminal { display: flex; align-items: center; padding: var(--space-24); background: var(--color-surface-dark); }
.pg-terminal pre { margin: 0; color: var(--color-code-text); font: 300 clamp(12px, 1.05vw, 15px) / 1.7 var(--font-mono); white-space: pre-wrap; }
.pg-terminal__path { color: var(--color-code-var); }
.pg-terminal__dir { color: #9ecbff; }
.pg-terminal__hl { color: var(--color-code-cmd); font-weight: 500; }
.pg-terminal__cursor { display: inline-block; width: 0.6em; height: 1.1em; vertical-align: -0.2em; background: var(--color-code-var); animation: pg-blink 1s steps(1) infinite; }
@keyframes pg-blink { 50% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .pg-terminal__cursor { animation: none; } }

/* Homepage: quote avatar photo and the proof card next to the customer quote */
.person__avatar { overflow: hidden; }
.person__avatar img { width: 100%; height: 100%; object-fit: cover; }
.quote-card--proof { justify-content: flex-start; gap: var(--space-16); background: var(--color-brand-deep); }
.proof__value { font: 700 clamp(4rem, 3rem + 4vw, 7rem) / 0.9 var(--font-display); letter-spacing: -0.04em; color: var(--color-brand-light); }
.proof__text { font: 700 var(--text-h4) / 1.3 var(--font-display); font-feature-settings: var(--font-features-display); letter-spacing: var(--tracking-h5); }
.proof__source { margin-top: auto; font: 400 var(--text-body-xs) / 1.5 var(--font-body); color: var(--color-white-secondary); }
.proof__text { font-size: var(--text-h5); line-height: 1.45; }

/* Homepage feature cards: the product screens are 1280 px wide captures, shown a bit larger than the Figma
   placeholders so the text stays readable; the card crops the right and bottom edge. */
@media (min-width: 1024px) { .device__screen { width: 900px; } }
.device { background: #fff padding-box; }
/* Careers mosaic: the "unit tests" badge (was "ISO 27001") stacks its label, the tile sits at the edge of the screen */
.mosaic__badge-label--stack { left: 88px; top: 34px; display: flex; flex-direction: column; gap: 6px; line-height: 1; }
.mosaic__badge-label--stack b { font-size: 1.15em; }
.mosaic__badge-label--stack { font-size: 0.8em; }

/* ---------- Careers page (/careers/): the layout of the old careers page ---------- */
.cr-hero .page-hero__blob { top: 120px; }
.cr-hero__inner { display: flex; flex-direction: column; align-items: center; padding: calc(var(--topbar-height) + 40px) 0 72px; text-align: center; }
.cr-eyebrow { margin: 0 0 20px; font: 700 18px / 1.15 var(--font-display); font-feature-settings: var(--font-features-display); color: var(--color-brand-light); }
.cr-hero__title { margin: 0; max-width: 840px; font: 700 var(--text-h2) / 1.15 var(--font-display); font-feature-settings: var(--font-features-display); letter-spacing: var(--tracking-h2, -0.01em); text-wrap: balance; }
.cr-hero__lead { margin: 20px 0 0; max-width: 840px; font-size: 20px; line-height: 1.7; }
.cr-hero__video { position: relative; width: min(100%, 1068px); margin: 48px 0 0; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--radius-large); background: var(--color-brand-deep); box-shadow: 0 30px 60px rgba(13, 39, 28, 0.35); }
.cr-hero__video video { display: block; width: 100%; height: 100%; object-fit: cover; }

.cr-section { padding: 96px 0; }
.cr-section--tight { padding: 0 0 72px; }
.cr-section--top0 { padding-top: 0; }
.cr-narrow { width: min(100% - 2 * var(--page-gutter), 840px); margin-inline: auto; }
.cr-center { text-align: center; }
.cr-title { margin: 0; font: 700 var(--text-h2) / 1.15 var(--font-display); font-feature-settings: var(--font-features-display); text-wrap: balance; }
.cr-title--next { margin-top: 72px; }
.cr-lead { margin: 24px auto 0; font-size: 20px; line-height: 1.7; }

.cr-jobs { padding-bottom: 0; }
.cr-jobs__intro { margin: 16px 0 0; font-size: 18px; line-height: 1.6; color: var(--color-fg-secondary); }
.cr-job-list { display: grid; gap: 16px; margin: 32px 0 0; padding: 0; list-style: none; }
.cr-job {
  position: relative; display: grid; gap: 12px; padding: 28px 72px 32px 32px; border: 1px solid var(--color-bg-accent); border-radius: var(--radius-medium);
  color: var(--color-fg-primary); text-decoration: none; transition: border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);
}
.cr-job:hover { border-color: var(--color-brand-light); box-shadow: 0 10px 30px rgba(13, 39, 28, 0.08); }
.cr-pill { justify-self: start; padding: 4px 12px; border-radius: var(--radius-pill); background: var(--color-brand-mid); color: var(--color-white); font: 700 13px / 1.2 var(--font-display); }
.cr-job__title { font: 700 var(--text-h4) / 1.15 var(--font-display); font-feature-settings: var(--font-features-display); }
.cr-job__meta { display: flex; flex-wrap: wrap; gap: 8px 24px; font: 500 18px / 1.6 var(--font-body); }
.cr-job__info { display: inline-flex; align-items: center; gap: 8px; }
.cr-job__info img { width: 24px; height: 24px; }
.cr-job__chevron { position: absolute; right: 32px; top: 50%; width: 24px; height: 24px; translate: 0 -50%; transition: translate var(--duration-fast) var(--ease-out); }
.cr-job:hover .cr-job__chevron { translate: 4px -50%; }

/* Photo slider: drag (mouse), swipe or scroll; loops (js/slider.js). The lower half sits on the dark band. */
.cr-slider { position: relative; margin-top: 96px; padding: 30px 0; }
.cr-slider::after { content: ""; position: absolute; inset: 50% 0 0; z-index: -1; background: var(--color-brand-deep); }
.cr-page { isolation: isolate; }
.cr-slider__track {
  position: relative;
  display: flex; align-items: center; gap: 48px; margin: 0; padding: 0; list-style: none;
  overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; cursor: grab; user-select: none;
}
.cr-slider__track::-webkit-scrollbar { display: none; }
.cr-slider__track.is-dragging { cursor: grabbing; }
.cr-slider__track:focus-visible { outline: var(--focus-ring-dark); outline-offset: -2px; }
.cr-slider__item { flex: none; width: clamp(240px, 26vw, 377px); display: flex; align-items: center; justify-content: center; }
.cr-slider__item img { display: block; width: 100%; height: auto; max-height: 333px; object-fit: cover; border-radius: var(--radius-medium); pointer-events: none; }

.cr-dark { background: var(--color-brand-deep); color: var(--color-white); }
.cr-dark .cr-section:first-child { padding-top: 72px; }
.cr-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 48px clamp(24px, 5vw, 72px); margin: 48px auto 0; padding: 0; list-style: none; }
.cr-tile { text-align: center; }
.cr-tile__media { display: block; aspect-ratio: 1; overflow: hidden; border-radius: var(--radius-medium); background: var(--color-white); }
.cr-tile__media img { width: 100%; height: 100%; object-fit: contain; }
.cr-tile__media--cover img { object-fit: cover; }
.cr-tile__media.pg-terminal { display: flex; text-align: left; background: var(--color-surface-dark); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08); }
.cr-tile__media.pg-terminal pre { font-size: clamp(11px, 1vw, 14px); }
.cr-tile__title { margin: 24px 0 0; font: 700 var(--text-h4) / 1.15 var(--font-display); font-feature-settings: var(--font-features-display); text-wrap: balance; }
.cr-tile__text { margin: 20px 0 0; font: 500 18px / 1.6 var(--font-body); }
.cr-tile__text a { color: var(--color-brand-light); }

.cr-quote {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 32px;
  width: min(100% - 2 * var(--page-gutter), 1068px); margin: 0 auto; padding: 20px; border-radius: var(--radius-large); background: var(--color-bg-accent);
}
.cr-quote--brand { background: linear-gradient(92.92deg, #5ea306 0%, #8fc302 100%); color: var(--color-white); }
.cr-quote__text { margin: 0; padding: 20px 0 20px 24px; }
.cr-quote__text p { margin: 0; font: 300 20px / 1.7 var(--font-body); }
.cr-quote__media { display: block; overflow: hidden; border-radius: var(--radius-medium); aspect-ratio: 478 / 341; }
.cr-quote__media img { width: 100%; height: 100%; object-fit: cover; }

.cr-logos__intro { margin: 0; text-align: center; font: 700 18px / 1.15 var(--font-display); color: #5e615c; }
.cr-logos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: center; gap: 24px clamp(24px, 5vw, 72px); margin: 32px 0 0; padding: 0; list-style: none; }
.cr-logos li { display: grid; place-items: center; height: 200px; }
.cr-logos img { max-width: min(100%, 240px); max-height: 160px; object-fit: contain; }

@media (max-width: 1023px) {
  .cr-tiles, .cr-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cr-logos li { height: 140px; }
  .cr-quote { grid-template-columns: minmax(0, 1fr); }
  .cr-quote__text { padding: 12px 12px 0; }
}
@media (max-width: 767px) {
  .cr-section { padding: 72px 0; }
  .cr-section--tight { padding: 0 0 56px; }
  .cr-section--top0 { padding-top: 0; }
  .cr-hero__lead, .cr-lead { font-size: 18px; }
  .cr-hero__video { border-radius: var(--radius-medium); margin-top: 32px; }
  .cr-tiles { grid-template-columns: minmax(0, 1fr); width: min(100% - 2 * var(--page-gutter), 340px); }
  .cr-job { padding: 24px 56px 24px 24px; }
  .cr-job__chevron { right: 20px; }
  .cr-job__meta { font-size: 16px; }
  .cr-slider { margin-top: 72px; }
  .cr-slider__track { gap: 16px; }
  .cr-slider__item { width: 72vw; }
}
