/* ============================================================
   A-TEAM SYSTEMS — style.css
   Self-hosted Inter typography
   ============================================================ */

/* --- Tokens ----------------------------------------------- */
:root {
  --c-primary:       #008ac9;
  --c-primary-light: #00aee9;
  --c-accent:        #3d8fa3;   /* teal structural accent — eyebrows, icons, rules; not interactive */
  --c-dark:          #2a2e36;
  --c-dark-alt:      #2e3b40;
  --c-text:          #3a3a3a;
  --c-text-muted:    #767676;
  --c-white:         #fff;
  --c-bg-alt:        #f7f8f9;
  --c-border:        #e4e4e4;
  --c-border-subtle: rgba(0,0,0,0.06);   /* card/panel outlines — lighter than layout dividers */
  --c-star:          #f5a623;

  --font-inter:  'Inter', 'Helvetica Neue', Arial, sans-serif;

  --f-body:       var(--font-inter);
  --f-nav:        var(--font-inter);
  --f-card-title: var(--font-inter);
  --f-hero:       var(--font-inter);
  --f-display:    var(--font-inter);
  --fw-light:  400;
  --fw-regular: 500;
  --fw-semibold: 600;
  --fw-bold:   700;

  --max-w: 1200px;
  --r:     3px;
  --t:     0.18s ease;

  /* Shared hero overlay system: keep hue and peak darkening normalized
     by hero type. Type B uses the standard 70% roll-off by default. */
  --hero-overlay-type-a-rgb: 12, 18, 28;
  --hero-overlay-type-b-rgb: 12, 24, 42;
  --hero-overlay-max-a:      0.90;
  --hero-overlay-strong-a:   0.74;
  --hero-overlay-mid-a:      0.58;
  --hero-overlay-soft-a:     0.30;
  --hero-overlay-feather-a:  0.18;
  --hero-overlay-tail-a:     0.10;
  --hero-overlay-floor-a:    0.24;
  --hero-overlay-max-b:      0.90;
  --hero-overlay-strong-b:   0.68;
  --hero-overlay-deep-b:     0.62;
  --hero-overlay-mid-b:      0.54;
  --hero-overlay-soft-b:     0.42;
  --hero-overlay-feather-b:  0.24;
  --hero-overlay-tail-b:     0.18;
  --hero-overlay-trace-b:    0.10;
  --hero-overlay-clear-b:    0.02;
  --hero-overlay-collapsed-a: 0.88;
  --hero-overlay-collapsed-b: 0.90;
  --hero-type-b-70-rolloff-base-opacity: var(--hero-overlay-max-b);
  --hero-type-b-70-rolloff-mid-opacity: var(--hero-overlay-strong-b);
  --hero-type-b-70-rolloff-end-opacity: var(--hero-overlay-feather-b);
  --hero-type-b-70-rolloff-start: 60%;
  --hero-type-b-70-rolloff-midpoint: 74%;
}

/* --- Reset ------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; overflow-x: hidden; }
body {
  font-family: var(--f-body);
  font-weight: var(--fw-light);
  color: var(--c-text);
  background: var(--c-white);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--c-primary); text-decoration: none; transition: color var(--t); }
a:hover { color: var(--c-primary-light); }
ul { list-style: none; }
.nobr { white-space: nowrap; }

/* --- Layout ----------------------------------------------- */
.container {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 28px;
}

/* --- TOP BAR ---------------------------------------------- */
.topbar {
  background: #1a1e26;
  color: #8899aa;
  font-size: 11px;
  font-weight: var(--fw-regular);
  letter-spacing: 0.02em;
  padding: 7px 0;
}
.topbar .container { display: flex; justify-content: space-between; align-items: center; }
.topbar a { display: inline-flex; align-items: center; gap: 6px; color: #8899aa; transition: color var(--t); }
.topbar a:hover { color: var(--c-white); }
.topbar__left a { color: var(--c-primary-light); font-weight: var(--fw-bold); }
.topbar__right { display: flex; align-items: center; gap: 12px; }
.topbar__phone { color: var(--c-white) !important; font-weight: var(--fw-bold); font-size: 12px; }

.topbar-dropdown { position: relative; }
.topbar-dropdown__trigger { display: inline-flex; align-items: center; gap: 6px; cursor: default; }
.topbar-dropdown__chevron { width: 9px; height: 9px; flex-shrink: 0; transition: transform var(--t); position: relative; top: 1px; }
.topbar-dropdown.is-open .topbar-dropdown__trigger { color: var(--c-white); }
.topbar-dropdown.is-open .topbar-dropdown__chevron { transform: rotate(180deg); }
.topbar-dropdown__menu {
  position: absolute;
  top: calc(100% + 7px);
  left: 0;
  min-width: 200px;
  background: var(--c-white);
  border: 1px solid var(--c-border);
  border-radius: var(--r);
  box-shadow: 0 2px 8px rgba(0,0,0,0.07);
  padding: 4px 0;
  list-style: none;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  height: auto;
  opacity: 0;
  transform: translateY(-4px);
  pointer-events: none;
  transition: opacity 0.12s ease, transform 0.12s ease;
  z-index: 101;
}
.topbar-dropdown.is-open .topbar-dropdown__menu {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.topbar-dropdown__menu a {
  display: block;
  padding: 3px 16px;
  font-size: 12px;
  font-weight: var(--fw-regular);
  color: var(--c-dark);
  text-align: left;
  transition: color var(--t);
}
.topbar-dropdown__menu a:hover {
  background: none;
  color: var(--c-primary);
  text-decoration: underline;
}

/* --- HEADER / NAV ----------------------------------------- */
.site-header {
  background: var(--c-white);
  border-bottom: 1px solid #e8e8e8;
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: 0 1px 6px rgba(0,0,0,0.06);
}
.site-header .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 74px;
}

.site-logo { display: inline-flex; align-items: center; text-decoration: none; }
.site-logo__img { height: 46px; width: auto; display: block; }

.site-nav ul { display: flex; gap: 2px; align-items: center; }
.site-nav a {
  display: block;
  padding: 8px 15px;
  font-family: var(--f-nav);
  font-size: 14px;
  font-weight: var(--fw-light);
  letter-spacing: 0.02em;
  color: var(--c-dark);
  border-radius: var(--r);
  transition: background var(--t), color var(--t);
}
.site-nav a:hover { background: var(--c-bg-alt); color: var(--c-primary); }
.site-nav a:focus-visible,
.nav-toggle:focus-visible,
.mobile-nav__section-trigger:focus-visible {
  outline: 2px solid var(--c-primary);
  outline-offset: 3px;
}

.mobile-nav { display: none; }

.nav-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  flex-direction: column;
  gap: 5px;
}
.nav-toggle span { display: block; width: 24px; height: 2px; background: var(--c-dark); transition: var(--t); }

/* --- HERO -------------------------------------------------- */
.hero {
  position: relative;
  min-height: 500px;
  display: flex;
  align-items: center;
  background-color: var(--c-dark-alt);
  background-size: cover;
  background-position: center top;
  overflow: hidden;
}
.hero > .container {
  width: 100%;
}
.hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero__media-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: 1;
}
.hero__content {
  position: relative;
  z-index: 3;
  max-width: 640px;
  padding: 96px 0;
}
.hero h1 {
  font-family: var(--f-hero);
  font-size: clamp(26px, 3.8vw, 44px);
  font-weight: var(--fw-bold);
  letter-spacing: -0.01em;
  color: var(--c-white);
  line-height: 1.2;
  margin-bottom: 20px;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
}
.hero h1 em {
  font-style: normal;
  color: var(--c-primary);
  font-weight: var(--fw-bold);
  text-decoration: none;
}
.hero p {
  font-size: 15px;
  font-weight: var(--fw-light);
  color: rgba(255,255,255,0.86);
  max-width: 520px;
  margin-bottom: 10px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.50);
  line-height: 1.65;
}
.hero .btn { margin-top: 32px; }

/* Hero page variants
   TODO: linux page image:
   background-image: url('images/hero-linux.jpg'); */
.hero--home {
  min-height: 550px;
}
/* Image layer — transform here to flip horizontally for testing */
.hero--home .hero__media-img {
  object-position: right center;
  filter: saturate(90%) contrast(105%);
}
.hero--home::before { background: none; }
/* Directional gradient overlay — left-heavy to keep headline dominant */
.hero--home::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-max-a)) 0%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-strong-a)) 50%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-feather-a)) 85%
  );
  z-index: 2;
}
.hero--linux { min-height: 550px; }
.hero--linux .hero__media-img { object-position: center center; }
.hero--linux::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-mid-a)) 0%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-mid-a)) 35%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-soft-a)) 55%,
    rgba(var(--hero-overlay-type-a-rgb), 0.14) 72%,
    rgba(var(--hero-overlay-type-a-rgb), 0) 90%
  );
  z-index: 1;
}
.hero--linux::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-strong-a)) 0%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-strong-a)) 60%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-mid-a)) 74%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-soft-a)) 88%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-soft-a)) 100%
  );
  z-index: 2;
  pointer-events: none;
}

.hero--freebsd { min-height: 550px; }
.hero--freebsd .hero__media-img { object-position: center center; }
.hero--freebsd::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-mid-a)) 0%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-mid-a)) 35%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-soft-a)) 55%,
    rgba(var(--hero-overlay-type-a-rgb), 0.14) 72%,
    rgba(var(--hero-overlay-type-a-rgb), 0) 90%
  );
  z-index: 1;
}
.hero--freebsd::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-strong-a)) 0%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-strong-a)) 60%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-mid-a)) 74%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-soft-a)) 88%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-soft-a)) 100%
  );
  z-index: 2;
  pointer-events: none;
}

/* Linux hero: modest size/weight reduction vs home hero */
.hero--linux .hero__content { padding: 80px 0; }
.hero--linux .hero__sub     { font-size: 17px; }
.hero--linux .hero p        { font-size: 15px; }
.hero--linux .hero__note    { margin-top: 20px; }

/* FreeBSD hero */
.hero--freebsd .hero__content { padding: 88px 0; max-width: 660px; }
.hero--freebsd .hero__sub     { font-size: 17px; margin-bottom: 22px; }
.hero--freebsd .hero h1       { margin-bottom: 24px; }
.hero--freebsd .hero p        { font-size: 15px; max-width: 490px; margin-bottom: 16px; line-height: 1.72; }
.hero--freebsd .btn           { margin-top: 8px; }
.hero--freebsd .hero__note    { margin-top: 24px; }

/* Production Infrastructure Management hero */
.hero--pim { min-height: 550px; }
.hero--pim .hero__media-img { object-position: center center; }
.hero--pim::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-max-a)) 0%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-max-a)) 35%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-mid-a)) 55%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-feather-a)) 72%,
    rgba(var(--hero-overlay-type-a-rgb), 0) 90%
  );
  z-index: 1;
}
.hero--pim::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(var(--hero-overlay-type-a-rgb), 0) 70%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-tail-a)) 100%
  );
  z-index: 2;
  pointer-events: none;
}
.hero--pim .hero__content { padding: 80px 0; }
.hero--pim .hero p        { font-size: 15px; }

.hero--performance-optimization .hero__media-img {
  object-position: center center;
  filter: saturate(0.74) brightness(0.82);
}
.hero--performance-optimization::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-max-a)) 0%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-max-a)) 34%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-mid-a)) 56%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-feather-a)) 74%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-feather-a)) 100%
  );
  z-index: 1;
}
.hero--performance-optimization::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      to right,
      rgba(var(--hero-overlay-type-a-rgb), 0) 70%,
      rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-tail-a)) 100%
    ),
    linear-gradient(
      to top,
      rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-feather-a)) 0%,
      rgba(var(--hero-overlay-type-a-rgb), 0) 36%
    );
  z-index: 2;
  pointer-events: none;
}

.hero--high-availability-scaling .hero__media-img {
  object-position: right center;
  transform: scaleX(-1);
  filter: saturate(0.74) brightness(0.82);
}
.hero--high-availability-scaling::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-max-a)) 0%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-max-a)) 50%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-strong-a)) 75%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-mid-a)) 100%
  );
  z-index: 1;
}
.hero--high-availability-scaling::after {
  content: none;
}

.hero--security-compliance .hero__media-img {
  object-position: center center;
  filter: saturate(0.72) brightness(0.8);
}
.hero--security-compliance::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-max-a)) 0%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-max-a)) 20%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-max-a)) 40%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-strong-a)) 60%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-soft-a)) 80%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-soft-a)) 100%
  );
  z-index: 1;
}
.hero--security-compliance::after {
  content: none;
}

.hero--addon { min-height: 550px; }
.hero--addon .hero__media-img {
  object-position: center center;
  filter: saturate(0.72) brightness(0.8);
}
.hero--addon::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-max-a)) 0%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-max-a)) 35%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-mid-a)) 55%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-feather-a)) 72%,
    rgba(var(--hero-overlay-type-a-rgb), 0) 90%
  );
  z-index: 1;
}
.hero--addon::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      to right,
      rgba(var(--hero-overlay-type-a-rgb), 0) 70%,
      rgba(var(--hero-overlay-type-a-rgb), 0.12) 100%
    ),
    linear-gradient(
      to top,
      rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-floor-a)) 0%,
      rgba(var(--hero-overlay-type-a-rgb), 0) 38%
    );
  z-index: 2;
  pointer-events: none;
}
.hero--addon .hero__content { padding: 80px 0; }
.hero--addon .hero p        { font-size: 15px; }

.hero__sub {
  margin-bottom: 18px;
}
.hero__content > p:not(.hero__eyebrow):not(.hero__sub):not(.hero__note) {
  margin-bottom: 16px;
}
.hero__content .btn {
  margin-top: 8px;
  margin-bottom: 14px;
}
.hero__note {
  margin-top: 0;
  opacity: 0.82;
}

/* --- BUTTONS ---------------------------------------------- */
.btn {
  display: inline-block;
  padding: 14px 30px;
  font-family: var(--f-body);
  font-size: 14px;
  font-weight: var(--fw-light);
  letter-spacing: 0.02em;
  border-radius: var(--r);
  cursor: pointer;
  transition: background var(--t), color var(--t), box-shadow var(--t);
  text-decoration: none;
  border: none;
  line-height: 1;
}
.btn--dark {
  background: var(--c-dark);
  color: var(--c-white);
  box-shadow: 0 2px 8px rgba(0,0,0,0.22);
}
.btn--dark:hover { background: #363d4a; color: var(--c-white); box-shadow: 0 4px 14px rgba(0,0,0,0.28); }

.btn--primary {
  background: var(--c-primary);
  color: var(--c-white);
  box-shadow: 0 2px 8px rgba(0,138,201,0.30);
}
.btn--primary:hover { background: var(--c-primary-light); color: var(--c-white); }
.btn--secondary {
  background: #eef3f6;
  color: var(--c-dark);
  box-shadow: none;
  border: 1px solid rgba(15, 23, 42, 0.10);
}
.btn--secondary:hover {
  background: #e4edf2;
  color: var(--c-dark);
}
.btn--secondary:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

/* --- INTERNAL PAGE HERO ----------------------------------- */
.page-hero {
  position: relative;
  min-height: 130px;
  padding: 40px 0 34px;
  overflow: hidden;
  border-bottom: 1px solid rgba(15, 23, 32, 0.18);
}
.page-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(var(--hero-overlay-type-b-rgb), var(--hero-type-b-70-rolloff-base-opacity)) 0%,
    rgba(var(--hero-overlay-type-b-rgb), var(--hero-type-b-70-rolloff-base-opacity)) var(--hero-type-b-70-rolloff-start),
    rgba(var(--hero-overlay-type-b-rgb), var(--hero-type-b-70-rolloff-mid-opacity)) var(--hero-type-b-70-rolloff-midpoint),
    rgba(var(--hero-overlay-type-b-rgb), var(--hero-type-b-70-rolloff-end-opacity)) 100%
  );
  z-index: 1;
}
.page-hero__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.page-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.55) brightness(0.82);
}
.page-hero__inner {
  position: relative;
  z-index: 2;
}
.page-hero h1 {
  font-size: clamp(22px, 2.6vw, 32px);
  font-weight: var(--fw-bold);
  color: var(--c-white);
  letter-spacing: -0.01em;
  line-height: 1.2;
  margin-bottom: 10px;
  max-width: 640px;
}
.page-hero p {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.78);
  max-width: 580px;
  line-height: 1.65;
}
.page-hero__note {
  margin-top: 14px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.52);
  max-width: 620px;
}

/* --- WEBSITE HERO SYSTEM ---------------------------------- */
/* Type A = pillar/service hero using the shared `hero` family.
   Type B = supporting/utility hero using the shared `page-hero` family.
   Page-specific modifiers should only tune image treatment or overlay behavior. */
.hero--type-a {
  min-height: 550px;
}
.hero--type-a .hero__inner {
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 56px;
  align-items: center;
}
.hero--type-a .hero__content {
  max-width: 620px;
  padding: 84px 0;
}
.hero--freebsd.hero--type-a .hero__content {
  max-width: 640px;
}
.hero--type-a .hero__eyebrow {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.65;
  margin-bottom: 18px;
}
.hero--type-a h1 {
  margin-bottom: 26px;
}
.hero--type-a .hero__content > p:not(.hero__eyebrow):not(.hero__sub):not(.hero__note) {
  max-width: 540px;
  margin-bottom: 18px;
}
.hero--type-a .hero__content .btn {
  margin-top: 12px;
}
.hero--type-a .hero__cred-panel {
  align-self: center;
}
.hero--type-a .hero__cred-item {
  padding: 22px 24px;
}
.hero--type-a + .section {
  padding-top: 112px;
}

.page-hero--type-b {
  min-height: 0;
  padding: 56px 0 40px;
  background: #1d252e;
}
.page-hero--type-b .page-hero__inner {
  max-width: 840px;
}
.page-hero--type-b .section-eyebrow {
  margin-bottom: 12px;
}
.page-hero--type-b h1 {
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1.18;
  margin: 0 0 14px;
  max-width: 700px;
}
.page-hero--type-b .page-hero__lead {
  max-width: 660px;
  font-size: 15px;
  line-height: 1.68;
}
.page-hero--type-b.page-hero--no-summary .page-hero__lead:last-child {
  margin-bottom: 26px;
}
.page-hero--type-b.page-hero--no-summary + .section,
.page-hero--type-b.page-hero--no-summary + .service-levels-body {
  padding-top: 104px;
}
.page-hero--type-b .page-hero__lead + .page-hero__lead {
  margin-top: 10px;
}
.page-hero__summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 26px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
  background: rgba(8, 14, 22, 0.16);
}
.page-hero__summary-item {
  padding: 16px 18px;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
}
.page-hero__summary-item:last-child {
  border-right: none;
}
.page-hero__summary-label {
  display: block;
  margin-bottom: 6px;
  font-size: 12px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--c-accent);
}
.page-hero__summary-value {
  display: block;
  font-size: 14px;
  line-height: 1.58;
  color: rgba(255, 255, 255, 0.82);
}
.page-hero--type-b + .section,
.page-hero--type-b + .service-levels-body {
  padding-top: 104px;
}
.contact-page-body {
  padding: 58px 0 80px;
}
.contact-card {
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: 4px;
  padding: 32px;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
}
.contact-card h2 {
  margin-bottom: 6px;
}
.contact-card__intro {
  color: var(--c-text-muted);
  margin-bottom: 24px;
}
.contact-card__note,
.contact-form__meta {
  color: var(--c-text-muted);
}
.contact-form {
  display: grid;
  gap: 22px;
}
.contact-form__split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.contact-form__field {
  display: grid;
  gap: 6px;
}
.contact-form__field label {
  font-size: 11px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #2f3a45;
}
.contact-form__req {
  color: #9aa5b1;
  font-weight: var(--fw-regular);
  letter-spacing: 0;
}
.contact-form__field input,
.contact-form__field select,
.contact-form__field textarea {
  width: 100%;
  border: 1px solid var(--c-border);
  border-radius: 4px;
  background: #fff;
  padding: 11px 12px;
  font: inherit;
  font-size: 15px;
  color: var(--c-text);
  transition: border-color var(--t), box-shadow var(--t);
}
.contact-form__field input::placeholder,
.contact-form__field textarea::placeholder {
  color: #aeb7c1;
  font-size: 13px;
}
.contact-form__field input:focus,
.contact-form__field select:focus,
.contact-form__field textarea:focus {
  outline: none;
  border-color: var(--c-primary);
  box-shadow: 0 0 0 3px rgba(0, 138, 201, 0.12);
}
.contact-form__field input.is-readonly {
  background: #f6f8fa;
  color: #66717d;
}
.contact-form__field select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23767676' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 36px;
  cursor: pointer;
}
.contact-form__field textarea {
  resize: vertical;
  min-height: 180px;
}
.contact-form__field input[type="file"] {
  padding: 10px 12px;
}
.contact-form__checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  color: var(--c-text);
  line-height: 1.55;
}
.contact-form__checkbox input {
  width: auto;
  margin-top: 4px;
  flex-shrink: 0;
}
.contact-form__help {
  margin: 0;
  color: #687584;
  font-size: 0.86rem;
  line-height: 1.45;
}
.contact-form__error {
  margin: 0;
  color: #a83232;
  font-size: 0.9rem;
}
.contact-form__notice {
  border-radius: 4px;
  padding: 20px 22px;
  margin-bottom: 22px;
}
.contact-form__notice h3 {
  font-size: 15px;
  font-weight: var(--fw-semibold);
  margin-bottom: 6px;
}
.contact-form__notice p {
  margin-bottom: 6px;
  font-size: 14px;
  line-height: 1.6;
}
.contact-form__notice p:last-child {
  margin-bottom: 0;
}
.contact-form__notice--success {
  background: #f4f7f5;
  border: 1px solid #c8d8d0;
}
.contact-form__notice--success h3 {
  color: #2d4a3e;
}
.contact-form__again {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #c8d8d0;
  font-size: 13px;
}
.contact-form__notice--error {
  background: #fdf4f3;
  border: 1px solid #e8c8c2;
}
.contact-form__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  border-top: 1px solid #e6e9ec;
  margin-top: 24px;
  padding-top: 20px;
}
.contact-form__privacy {
  margin: 0;
  max-width: 480px;
  font-size: 13px;
  color: #9aa5b1;
  line-height: 1.5;
}
.contact-form__honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 0.9rem;
  font-weight: var(--fw-regular);
  color: var(--c-primary);
  text-decoration: none;
}
.link-arrow::after { content: ' →'; }
.link-arrow:hover { color: var(--c-primary-light); }
.contact-address {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 36px;
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid var(--c-border);
  max-width: 680px;
}
.contact-address h3 {
  font-size: 0.75rem;
  font-weight: var(--fw-semibold);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--c-text-muted);
  margin-bottom: 8px;
}
.contact-address address {
  font-style: normal;
  font-size: 0.94rem;
  color: var(--c-text);
  line-height: 1.7;
}
.contact-address__note {
  margin-top: 8px;
  font-size: 0.82rem;
  color: var(--c-text-muted);
}
.contact-address__col--secondary h3,
.contact-address__col--secondary address,
.contact-address__col--secondary .contact-address__note {
  opacity: 0.65;
}

/* Secure upload — Dropbox file-path callout panel */
.secure-upload-file-path {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  background: var(--c-bg-alt);
  border: 1px solid var(--c-border);
  border-left: 3px solid var(--c-primary);
  border-radius: 4px;
  padding: 16px 18px;
  margin-bottom: 26px;
}
.secure-upload-file-path__icon {
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--c-primary);
}
.secure-upload-file-path__body {
  min-width: 0;
}
.secure-upload-file-path__label {
  font-size: 11px;
  font-weight: var(--fw-semibold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--c-text-muted);
  margin-bottom: 4px;
}
.secure-upload-file-path__body p {
  font-size: 14px;
  color: var(--c-text);
  margin-bottom: 8px;
  line-height: 1.5;
}
.secure-upload-file-path__body p:last-child { margin-bottom: 0; }

.secure-upload-page .contact-form__split {
  gap: 14px;
  margin-bottom: 8px;
}
.secure-upload-page .contact-form__field {
  gap: 8px;
}
.secure-upload-page .contact-form__field:has(#su-data) {
  margin-top: 12px;
}
.secure-upload-page #su-data {
  min-height: 212px;
  border-color: #c6ced7;
}
.secure-upload-page .contact-form__footer {
  margin-top: 40px;
}

/* Secure upload — inline character counter */
.contact-form__char-count {
  font-size: 12px;
  color: var(--c-text-muted);
  text-align: right;
  margin-top: 2px;
}
.contact-form__char-count--warn {
  color: #9a4a1a;
}

/* Secure upload — utility page header */
.page-hero--secure-upload .page-hero__media img {
  filter: saturate(0.58) brightness(0.8);
}
.page-hero--security-reporting .page-hero__media img {
  object-position: center 48%;
  filter: saturate(0.52) brightness(0.76);
}
.page-hero--onboarding .page-hero__media img {
  object-position: center 48%;
  filter: saturate(0.48) brightness(0.78);
}
.page-hero--onboarding.page-hero--type-b {
  padding: 38px 0 34px;
}
.page-hero--onboarding.page-hero--no-summary + .contact-page-body {
  padding-top: 44px;
}

/* Infrastructure Management onboarding questionnaire */
.onboarding-page .contact-page-body {
  background: #f7f8fa;
}
.onboarding-form-shell {
  width: 100%;
}
.onboarding-form-wrap {
  width: 100%;
}
.onboarding-form-wrap__intro {
  margin: 0 0 18px;
}
.onboarding-form-wrap__intro h2 {
  margin-bottom: 10px;
}
.onboarding-form-wrap__lead {
  margin: 0;
  color: var(--c-text-muted);
}
.onboarding-form__security-note {
  margin: 0;
  padding: 14px 16px;
  border-left: 3px solid var(--c-primary);
  background: #f4f8fb;
  color: var(--c-text);
  font-size: 14px;
  line-height: 1.6;
}
.onboarding-form {
  gap: 28px;
}
.onboarding-form > .onboarding-form__section:first-of-type {
  margin-top: 20px;
}
.onboarding-form__section {
  position: relative;
  display: grid;
  gap: 18px;
  min-width: 0;
  margin: 0;
  padding: 30px 30px 26px;
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: 6px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.onboarding-form textarea {
  min-height: 0;
}
.onboarding-form #onboarding-websites {
  min-height: 86px;
}
.onboarding-form #onboarding-hosting {
  min-height: 128px;
}
.onboarding-form__section--full .contact-form__field {
  max-width: none;
}
.onboarding-form__same-note {
  margin: 0;
  padding: 12px 14px;
  background: #f7f9fb;
  border: 1px solid var(--c-border);
  border-radius: 4px;
  color: var(--c-text-muted);
  font-size: 13.5px;
  line-height: 1.55;
}
.onboarding-form__accounting-fields {
  display: grid;
  gap: 18px;
}
.onboarding-form__contacts {
  display: grid;
  gap: 18px;
}
.onboarding-form__contact {
  display: grid;
  gap: 14px;
  padding: 18px;
  background: var(--c-bg-alt);
  border: 1px solid var(--c-border);
  border-radius: 4px;
}
.onboarding-form__contact-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.onboarding-form__contact h3 {
  font-size: 13px;
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
  margin: 0;
}
.onboarding-form__remove-contact {
  padding: 0;
  color: var(--c-muted);
  background: transparent;
  border: 0;
  font: inherit;
  font-size: 13px;
  font-weight: var(--fw-semibold);
  cursor: pointer;
}
.onboarding-form__remove-contact:hover,
.onboarding-form__remove-contact:focus-visible {
  color: var(--c-blue);
}
.onboarding-form__add-contact {
  justify-self: start;
  padding: 11px 18px;
}
.onboarding-form .contact-form__footer.onboarding-form__footer {
  align-items: flex-start;
  gap: 12px 18px;
  margin-top: 0;
  padding: 22px 30px;
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: 6px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.onboarding-form__footer .contact-form__privacy {
  flex-basis: 100%;
  max-width: 700px;
  margin: 0;
}
@media (max-width: 600px) {
  .onboarding-form__section {
    padding: 28px 20px 22px;
  }
  .onboarding-form > .onboarding-form__section:first-of-type {
    margin-top: 18px;
  }
  .onboarding-form .contact-form__footer.onboarding-form__footer {
    padding: 20px 20px;
  }
}

/* Onboarding — welcome / "what happens next" panel */
.onboarding-welcome {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 32px;
  align-items: start;
  margin-bottom: 36px;
  padding: 26px 30px 26px 34px;
  background: #fff;
  border: 1px solid var(--c-border-subtle);
  border-radius: 6px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
  overflow: hidden;
}
.onboarding-welcome::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--c-primary);
}
.onboarding-welcome__intro {
  min-width: 0;
}
.onboarding-welcome__eyebrow {
  margin: 0 0 6px;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--c-primary);
  font-weight: var(--fw-semibold);
}
.onboarding-welcome__title {
  margin: 0 0 10px;
  font-size: 22px;
  line-height: 1.25;
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
}
.onboarding-welcome__lead {
  margin: 0;
  font-size: 14px;
  line-height: 1.65;
  color: var(--c-text);
}
.onboarding-welcome__steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.onboarding-welcome__step {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 12px;
  align-items: center;
  padding: 10px 14px;
  background: #fbfcfd;
  border: 1px solid var(--c-border);
  border-radius: 4px;
}
.onboarding-welcome__step.is-current {
  background: #f0f7fb;
  border-color: rgba(0, 138, 201, 0.28);
}
.onboarding-welcome__step-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #eef0f3;
  color: var(--c-text-muted);
}
.onboarding-welcome__step.is-current .onboarding-welcome__step-icon {
  background: rgba(0, 138, 201, 0.12);
  color: var(--c-primary);
}
.onboarding-welcome__step-body {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.onboarding-welcome__step-label {
  font-size: 13.5px;
  line-height: 1.35;
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
}
.onboarding-welcome__step-meta {
  margin-top: 2px;
  font-size: 12px;
  color: var(--c-text-muted);
}
@media (max-width: 768px) {
  .onboarding-welcome {
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 22px 22px 22px 26px;
  }
}
@media (max-width: 480px) {
  .onboarding-welcome {
    padding: 20px 18px 20px 22px;
  }
  .onboarding-welcome__title {
    font-size: 19px;
  }
}

/* Onboarding — section legend (number + icon + title + blurb) */
.onboarding-form__legend {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  padding: 0;
  margin: 0;
}
.onboarding-form__legend-num {
  position: absolute;
  top: -16px;
  left: 30px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--c-primary);
  color: #fff;
  font-size: 13px;
  font-weight: var(--fw-bold);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
  line-height: 1;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.16);
}
@media (max-width: 600px) {
  .onboarding-form__legend-num {
    left: 20px;
  }
}
.onboarding-form__legend-icon {
  display: none;
}
.onboarding-form__legend-title {
  font-size: 17px;
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
  line-height: 1.3;
}
.onboarding-form__section-desc {
  margin: -8px 0 0;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--c-text-muted);
}

/* Onboarding — success state */
.onboarding-form__success {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  align-items: start;
  padding: 22px 24px;
}
.onboarding-form__success-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
  color: #2d6a4f;
}
.onboarding-form__success-body {
  min-width: 0;
}
.onboarding-form__success-body h3 {
  margin: 0 0 8px;
}
.onboarding-form__success-body .contact-form__meta {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid #d4e1d9;
  font-size: 12.5px;
  color: var(--c-text-muted);
  font-variant-numeric: tabular-nums;
}

.cta-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: var(--f-body);
  font-size: 14px;
  font-weight: var(--fw-light);
  color: var(--c-primary);
}
.cta-link::after { content: ' ›'; font-size: 17px; line-height: 1; }
.cta-link:hover { color: var(--c-primary-light); }

/* --- SECTIONS --------------------------------------------- */
.section { padding: 104px 0; }
.section--alt { background: var(--c-bg-alt); }
.section--dark { background: var(--c-dark); }
.section--dark h2,
.section--dark h3 { color: var(--c-white); }
.section--dark p { color: rgba(255,255,255,0.80); }
.section--dark a { color: var(--c-primary-light); }

.section-header { margin-bottom: 56px; max-width: 720px; }
.section-header.text-center { text-align: center; }
.section-header.text-center .section-subtitle { margin-left: auto; margin-right: auto; }

.section-title {
  font-family: var(--f-display);
  font-size: clamp(22px, 2.8vw, 30px);
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
  line-height: 1.28;
  margin-bottom: 18px;
}
.section-title--teal    { color: var(--c-accent); }
.section-title--lg      { font-size: clamp(26px, 3.2vw, 36px); }
.section-title--stacked { line-height: 1.38; margin-bottom: 18px; }
.section-subtitle {
  font-size: 15px;
  font-weight: var(--fw-light);
  color: var(--c-text-muted);
  max-width: 580px;
  line-height: 1.65;
}
.section-intro {
  max-width: 720px;
  margin-bottom: 48px;
}
.section-intro p {
  margin-bottom: 28px;
  line-height: 1.75;
}
.section-intro p:last-child {
  margin-bottom: 0;
}

/* --- Placeholder Pages ------------------------------------ */
.placeholder-page {
  padding: 72px 0 96px;
}
.placeholder-page__section {
  min-height: 420px;
}
.placeholder-page__header {
  max-width: 760px;
  margin-bottom: 34px;
}
.placeholder-page__eyebrow {
  display: inline-block;
  margin-bottom: 12px;
  font-size: 11px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-accent);
}
a.placeholder-page__eyebrow,
a.hero__eyebrow,
a.section-eyebrow {
  text-decoration: none;
}
a.placeholder-page__eyebrow:hover,
a.hero__eyebrow:hover,
a.section-eyebrow:hover {
  text-decoration: underline;
  text-underline-offset: 0.24em;
}
.placeholder-page h1 {
  font-family: var(--f-display);
  font-size: clamp(30px, 3.7vw, 48px);
  font-weight: var(--fw-bold);
  color: var(--c-dark);
  line-height: 1.15;
  margin-bottom: 14px;
}
.placeholder-page__intro {
  font-size: 18px;
  color: var(--c-text);
  line-height: 1.72;
}
.placeholder-page__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
  gap: 24px;
  align-items: start;
}
.placeholder-page__panel {
  background: var(--c-white);
  border: 1px solid var(--c-border-subtle);
  border-radius: var(--r);
  box-shadow: 0 2px 10px rgba(0,0,0,0.04);
  padding: 28px 30px;
}
.placeholder-page__panel--primary {
  background: linear-gradient(180deg, #fbfcfd 0%, #f7f8f9 100%);
}
.not-found-page {
  background: linear-gradient(180deg, rgba(247,248,249,0.95) 0%, rgba(255,255,255,1) 100%);
}
.not-found-page__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
  gap: 32px;
  align-items: start;
}
.not-found-page__content {
  max-width: 620px;
}
.not-found-page__title {
  font-size: clamp(30px, 4vw, 42px);
  margin-bottom: 16px;
}
.not-found-page__lede {
  margin: 0 0 18px;
  font-size: 16px;
  font-weight: var(--fw-light);
  color: var(--c-text);
  line-height: 1.65;
}
.not-found-page .section-header {
  margin-bottom: 28px;
}
.not-found-page .section-subtitle {
  max-width: 600px;
  font-size: 16px;
  color: var(--c-text);
}
.not-found-page__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 28px;
}
.not-found-page__link-group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.not-found-page__links-label {
  margin: 0;
  font-size: 12px;
  font-weight: var(--fw-regular);
  letter-spacing: 0.04em;
  color: var(--c-text-muted);
}
.not-found-page__links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
}
.not-found-page__links a {
  position: relative;
  font-size: 14px;
  font-weight: var(--fw-regular);
  color: var(--c-primary);
  text-decoration: none;
}
.not-found-page__links a + a {
  padding-left: 18px;
}
.not-found-page__links a + a::before {
  content: '\00b7';
  position: absolute;
  left: 7px;
  color: var(--c-text-muted);
}
.not-found-page__links a:hover {
  color: var(--c-primary-light);
  text-decoration: underline;
}
.not-found-panel {
  background: linear-gradient(180deg, #232a33 0%, #1c222a 100%);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 6px;
  box-shadow: 0 14px 34px rgba(25, 34, 46, 0.14);
  padding: 20px 22px 22px;
  color: rgba(255,255,255,0.82);
}
.not-found-panel__header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  font-family: 'Courier New', 'Menlo', 'Monaco', monospace;
  font-size: 12px;
}
.not-found-panel__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255,255,255,0.16);
}
.not-found-panel__dot:first-child { background: rgba(220, 80, 70, 0.50); }
.not-found-panel__dot:nth-child(2) { background: rgba(210, 170, 50, 0.50); }
.not-found-panel__dot:nth-child(3) { background: rgba(60, 190, 90, 0.50); }
.not-found-panel__label {
  margin-left: 8px;
  color: rgba(255,255,255,0.58);
  letter-spacing: 0.06em;
  text-transform: lowercase;
}
.not-found-panel__rows {
  display: grid;
  gap: 14px;
}
.not-found-panel__row {
  display: grid;
  gap: 4px;
  font-family: 'Courier New', 'Menlo', 'Monaco', monospace;
}
.not-found-panel__row dt {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(0, 174, 233, 0.88);
}
.not-found-panel__row dd {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: rgba(255,255,255,0.85);
  word-break: break-word;
}
.placeholder-page__panel h2 {
  font-family: var(--f-body);
  font-size: 22px;
  font-weight: var(--fw-bold);
  color: var(--c-dark);
  margin-bottom: 14px;
}
.placeholder-page__panel p {
  font-size: 15px;
  color: var(--c-text-muted);
  line-height: 1.78;
  margin-bottom: 14px;
}
.placeholder-page__panel p:last-child {
  margin-bottom: 0;
}
.placeholder-page__list li {
  position: relative;
  padding-left: 18px;
  margin-bottom: 12px;
  font-size: 15px;
  color: var(--c-text);
  line-height: 1.7;
}
.placeholder-page__list li:last-child {
  margin-bottom: 0;
}
.placeholder-page__list li::before {
  content: '';
  position: absolute;
  top: 11px;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-accent);
}

/* --- Security Statement ----------------------------------- */
.security-statement-page {
  background: linear-gradient(180deg, rgba(247, 248, 249, 0.72) 0%, #fff 320px);
}
.page-hero--security {
  min-height: 320px;
  padding: 0;
}
.page-hero--security .page-hero__media img {
  filter: saturate(0.6) brightness(0.78);
  transform: scaleX(-1);
}
.page-hero__inner--security {
  min-height: 320px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 640px;
  padding-top: 44px;
  padding-bottom: 44px;
}
.page-hero--security h1 {
  color: var(--c-white);
  margin: 0 0 8px;
}
.page-hero__intro {
  font-size: 17px;
  color: rgba(255, 255, 255, 0.84);
  line-height: 1.8;
  margin-bottom: 0;
}
.page-hero__meta {
  font-size: 12px;
  font-weight: var(--fw-semibold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.62);
  margin-bottom: 14px;
}
.security-statement-body {
  padding: 40px 0 88px;
}

/* ============================================================
   CUSTOMER REVIEWS PAGE
   ============================================================ */

/* Hero — gap between two paragraphs */
.page-hero--customer-reviews .page-hero__media img {
  object-position: center 24%;
  filter: saturate(0.54) brightness(0.58);
}
.page-hero--customer-reviews p + p {
  margin-top: 12px;
}

/* Body */
.reviews-section {
  padding: 56px 0 0;
  background: #fff;
}
.reviews-widget-band {
  margin-top: 56px;
  padding: 48px 0 96px;
}

/* Intro block */
.reviews-intro {
  padding-bottom: 0;
  margin-bottom: 0;
}
.reviews-intro h2 {
  font-size: clamp(18px, 2vw, 22px);
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
  margin-bottom: 12px;
}
.reviews-intro p {
  font-size: 15px;
  color: var(--c-text);
  line-height: 1.7;
  max-width: 660px;
}
.reviews-note {
  margin-top: 12px;
  font-size: 12px !important;
  color: var(--c-text-muted) !important;
  line-height: 1.6 !important;
  max-width: 660px;
}

/* Widget wrapper — no card, no shadow */
.reviews-widget {}

/* Shopper Approved normalization — reduce metadata noise */
#shopper_review_page {
  font-family: inherit;
  color: var(--c-text);
}
#shopper_review_page a {
  color: var(--c-primary);
}
#shopper_review_page .sa_date,
#shopper_review_page .sa_location,
#shopper_review_page .sa_reviewer_location,
#shopper_review_page [class*="date"],
#shopper_review_page [class*="location"] {
  font-size: 12px !important;
  color: var(--c-text-muted) !important;
}
#shopper_review_page [class*="merchant_info"],
#shopper_review_page [class*="powered"] {
  font-size: 12px !important;
  color: var(--c-text-muted) !important;
}

.support-hours-page {
  background: linear-gradient(180deg, rgba(247, 248, 249, 0.72) 0%, #fff 280px);
}
.page-hero--support-reference {
  min-height: 0;
  padding: 44px 0 40px;
  background: #1d252e;
}
.page-hero--support-reference .page-hero__inner {
  max-width: 760px;
}
.page-hero__inner--support-reference .section-eyebrow {
  margin-bottom: 10px;
}
.page-hero--support-reference h1 {
  font-size: clamp(22px, 2.6vw, 32px);
  line-height: 1.2;
  margin: 0 0 10px;
  max-width: 640px;
}
.page-hero--support-reference p {
  font-size: 15px;
  line-height: 1.65;
  max-width: 640px;
}
.page-hero--terms .page-hero__media img {
  object-position: center 48%;
  filter: saturate(0.5) brightness(0.76);
}
.page-hero--support-hours .page-hero__media img {
  filter: saturate(0.55) brightness(0.8);
}
.page-hero--engagement-pricing .page-hero__media img {
  filter: saturate(0.55) brightness(0.8);
  transform: scale(1.18) translateX(12%);
  transform-origin: center top;
}
.privacy-policy-page {
  background: linear-gradient(180deg, rgba(247, 248, 249, 0.72) 0%, #fff 280px);
}
.privacy-policy-body {
  padding: 56px 0 96px;
}
.privacy-policy-intro {
  max-width: 680px;
  margin-bottom: 28px;
}
.privacy-policy-intro h2 {
  font-size: clamp(18px, 2vw, 22px);
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
  margin-bottom: 12px;
}
.privacy-policy-intro p {
  font-size: 15px;
  color: var(--c-text);
  line-height: 1.7;
}
.privacy-policy-embed {
  max-width: 100%;
}
.privacy-policy-embed .iubenda-embed {
  margin: 0;
}
.privacy-policy-embed .iubenda_policy,
.privacy-policy-embed .iubenda_legal_document,
.privacy-policy-embed .iubenda_fluid_policy,
.privacy-policy-embed #iubenda_policy,
.privacy-policy-embed #iubenda_policy.iubenda_fluid_policy,
.privacy-policy-embed .iub_content,
.privacy-policy-embed .iub_container,
.privacy-policy-embed .iub_footer,
.privacy-policy-embed [class*="iubenda_policy"],
.privacy-policy-embed [class*="iubenda_legal_document"] {
  margin-left: 0 !important;
  padding-left: 0 !important;
  width: 100% !important;
  max-width: none !important;
}
.privacy-policy-embed #iubenda_policy {
  margin-right: 0 !important;
  padding-right: 0 !important;
}
.privacy-policy-embed .iubenda_policy > *:first-child,
.privacy-policy-embed .iubenda_legal_document > *:first-child {
  margin-top: 0 !important;
}
.terms-page {
  background: linear-gradient(180deg, rgba(247, 248, 249, 0.72) 0%, #fff 280px);
}
.terms-body {
  padding-bottom: 96px;
}
.page-hero--terms + .terms-body {
  padding-top: 72px;
}
.terms-document {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
  max-width: 900px;
  padding: 30px 32px;
  background: #fff;
  border: 1px solid var(--c-border-subtle);
  border-radius: 4px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.045);
}
.terms-document__content {
  max-width: 620px;
}
.terms-document__label {
  display: block;
  margin-bottom: 10px;
  font-size: 11px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-accent);
}
.terms-document h2 {
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
  margin-bottom: 12px;
}
.terms-document p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--c-text);
}
.terms-document__action {
  flex: 0 0 auto;
}
.terms-document__action p {
  margin-top: 10px;
  font-size: 13px;
  color: var(--c-text-muted);
  text-align: center;
}
@media (max-width: 720px) {
  .terms-document {
    display: block;
    padding: 26px 24px;
  }
  .terms-document__action {
    margin-top: 24px;
  }
  .terms-document__action p {
    text-align: left;
  }
}
.support-hours-body {
  padding: 40px 0 88px;
}
.support-hours-section {
  background: #fff;
  border: 1px solid var(--c-border-subtle);
  border-radius: 4px;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
}
.support-hours-section {
  padding: 28px 30px;
}
.support-hours-section + .support-hours-section {
  margin-top: 18px;
}
.support-hours-section + .support-hours-doc-section,
.support-hours-doc-section + .support-hours-doc-section,
.support-hours-doc-section + .support-hours-section {
  margin-top: 40px;
}
.support-hours-doc-section h2 {
  font-size: 22px;
  font-weight: var(--fw-bold);
  color: var(--c-text);
  margin-bottom: 12px;
}
.support-hours-doc-section p {
  font-size: 15px;
  color: var(--c-text);
  line-height: 1.65;
  margin-bottom: 14px;
}
.support-hours-doc-section p:last-child {
  margin-bottom: 0;
}
.support-hours-doc-section--intro {
  margin-bottom: 40px;
}
.support-hours-section--intro {
  background: linear-gradient(180deg, #fbfcfd 0%, #f7f8f9 100%);
  border-color: rgba(0, 138, 201, 0.18);
}
.support-hours-section h2 {
  font-size: 22px;
  font-weight: var(--fw-bold);
  color: var(--c-dark);
  line-height: 1.25;
  margin-bottom: 24px;
}
.support-hours-section h3 {
  font-size: 17px;
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
  line-height: 1.35;
  margin: 22px 0 10px;
}
.support-hours-section h3:first-of-type {
  margin-top: 0;
}
.support-hours-section p {
  font-size: 15px;
  color: var(--c-text);
  line-height: 1.78;
  margin-bottom: 14px;
}
.support-hours-section p:last-child {
  margin-bottom: 0;
}
.support-hours-section--coverage .support-hours-table {
  margin-top: 0;
}
.support-hours-section--coverage h3 {
  margin: 0 0 16px;
}
.support-hours-section--coverage h3 + .support-hours-table + .support-hours-table__note + h3 {
  margin-top: 32px;
}
.support-hours-section__note {
  margin: 16px 0 0;
}
.support-hours-coverage-list {
  margin: 0;
  padding-left: 18px;
  list-style: disc;
}
.support-hours-coverage-list li {
  margin: 0 0 10px;
  color: var(--c-text);
  font-size: 14px;
  line-height: 1.65;
}
.support-hours-coverage-list li::marker {
  color: #9ca3af;
}
.support-hours-coverage-list li:last-child {
  margin-bottom: 0;
}
.support-hours-table__note {
  display: block;
  margin-top: 6px;
  font-weight: var(--fw-regular);
}
.support-hours-section--table-only .support-hours-table {
  margin-top: 0;
}
.support-hours-section--table-only .support-hours-holiday-table tr:first-child th,
.support-hours-section--table-only .support-hours-holiday-table tr:first-child td {
  border-top: 0;
}
.support-hours-section--table-only .support-hours-holiday-table tr:last-child th,
.support-hours-section--table-only .support-hours-holiday-table tr:last-child td {
  border-bottom: 0;
}
.support-hours-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 16px;
}
.support-hours-table__caption {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.support-hours-table th,
.support-hours-table td {
  padding: 15px 0;
  border-bottom: 1px solid var(--c-border);
  text-align: left;
  vertical-align: top;
}
.support-hours-table tr:first-child th,
.support-hours-table tr:first-child td {
  border-top: 1px solid var(--c-border);
}
.support-hours-table th {
  width: 48%;
  padding-right: 18px;
  font-size: 14px;
  font-weight: var(--fw-semibold);
  color: #4b5563;
}
.support-hours-table td {
  font-size: 14px;
  color: var(--c-text-muted);
  font-weight: var(--fw-semibold);
}
.support-hours-table tr + tr th,
.support-hours-table tr + tr td {
  border-top: 1px solid rgba(15, 23, 42, 0.035);
}
.support-hours-section .support-hours-footnote {
  margin-top: 20px;
  font-size: 12px;
  color: #9ca3af;
  line-height: 1.6;
}
.support-hours-holiday-table {
  margin-top: 18px;
}

/* === SERVICE LEVELS PAGE ================================== */
.service-levels-page {
  background: linear-gradient(180deg, rgba(247, 248, 249, 0.72) 0%, #fff 280px);
}
.service-levels-body {
  padding: 40px 0 88px;
}
.service-levels-content {
  display: block;
}
.service-levels-section {
  margin-top: 52px;
}
.service-levels-section:first-child {
  margin-top: 0;
}
.service-levels-section--comparison {
  background: rgba(15, 23, 42, 0.018);
  border: 1px solid var(--c-border-subtle);
  border-radius: 8px;
  padding: 28px 30px;
  margin-top: 44px;
}
.service-levels-section--comparison h2 {
  margin-bottom: 10px;
}
.service-levels-section--severity {
  background: #fff;
  border: 1px solid var(--c-border-subtle);
  border-radius: 8px;
  padding: 32px 32px 36px;
  margin-top: 36px;
}
.service-levels-section--severity .service-levels-table {
  margin-bottom: 0;
}
.service-levels-section--severity h2 {
  margin-bottom: 8px;
}
.service-levels-transition + .service-levels-section {
  margin-top: 20px;
}
.service-levels-note {
  font-size: 14px;
  color: var(--c-text-muted);
  line-height: 1.65;
  padding: 16px 20px;
  background: #fff;
  border: 1px solid var(--c-border-subtle);
  border-left: 3px solid #94a3b8;
  border-radius: 4px;
  margin-top: 20px;
}
.service-levels-transition {
  font-size: 14px;
  color: var(--c-text-muted);
  margin: 48px 0 0;
}
.service-levels-section h2 {
  font-size: 22px;
  font-weight: var(--fw-bold);
  color: var(--c-dark);
  line-height: 1.3;
  margin-bottom: 12px;
}
.service-levels-section p {
  font-size: 15px;
  color: var(--c-text);
  line-height: 1.7;
  margin-bottom: 14px;
}
.service-levels-section p:last-child {
  margin-bottom: 0;
}
.service-levels-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 16px;
  margin-bottom: 16px;
}
.service-levels-table__caption {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.service-levels-table thead th {
  padding: 10px 0 12px;
  border-bottom: 2px solid var(--c-border);
  text-align: left;
  font-size: 11px;
  font-weight: var(--fw-semibold);
  color: var(--c-text);
  text-transform: uppercase;
  letter-spacing: 0.07em;
}
.service-levels-table tbody th,
.service-levels-table tbody td {
  padding: 18px 0;
  border-bottom: 1px solid var(--c-border);
  text-align: left;
  vertical-align: top;
}
.service-levels-table tbody tr:last-child th,
.service-levels-table tbody tr:last-child td {
  border-bottom: none;
}
.service-levels-table tbody th {
  width: 32%;
  padding-right: 18px;
  font-size: 13px;
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
  white-space: nowrap;
}
.service-levels-table tbody td {
  font-size: 14px;
  color: var(--c-text-muted);
  line-height: 1.6;
}
.service-levels-list {
  margin: 14px 0;
  padding-left: 20px;
  font-size: 15px;
  color: var(--c-text);
  line-height: 1.7;
}
.service-levels-list li {
  margin-bottom: 10px;
}
.service-levels-list li:last-child {
  margin-bottom: 0;
}
.sl-apply-intro {
  font-size: 14px;
  color: var(--c-text-muted);
  margin-bottom: 20px !important;
}
.sl-apply-closing {
  font-size: 14px;
  color: var(--c-text-muted);
  margin-top: 20px !important;
  margin-bottom: 0 !important;
}
.sl-apply-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 24px;
}
.sl-apply-step {
  background: rgba(15, 23, 42, 0.025);
  border: 1px solid var(--c-border-subtle);
  border-radius: 6px;
  padding: 20px 22px;
}
.sl-apply-step h3 {
  font-size: 14px;
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
  margin: 14px 0 8px;
  line-height: 1.3;
}
.sl-apply-step p {
  font-size: 14px;
  color: var(--c-text-muted);
  line-height: 1.65;
  margin: 0;
}
.service-levels-section p.service-levels-model-note {
  font-size: 11px;
  color: #b4bcc6;
  margin-top: 5px !important;
  margin-bottom: 0 !important;
}
.sl-tier-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 14px 0 16px;
}
.sl-tier-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--c-border-subtle);
  border-radius: 6px;
  overflow: hidden;
}
.sl-tier-card--essentials {
  border-top: 3px solid #94a3b8;
}
.sl-tier-card--essentials .sl-tier-card__name {
  color: #64748b;
}
.sl-tier-card--essentials .sl-tier-card__feature-value {
  color: #64748b;
}
.sl-tier-card--standard {
  border-top: 3px solid var(--c-accent);
}
.sl-tier-card--standard .sl-tier-card__name {
  color: var(--c-accent);
}
.sl-tier-card--standard .sl-tier-card__feature-value {
  color: var(--c-accent);
}
.sl-tier-card--enterprise {
  border-top: 3px solid #4a8fd4;
  background: #fafcff;
  box-shadow: 0 2px 14px rgba(74, 143, 212, 0.1);
}
.sl-tier-card--enterprise .sl-tier-card__name {
  color: #4a8fd4;
}
.sl-tier-card--enterprise .sl-tier-card__feature-value {
  color: #4a8fd4;
}
.sl-tier-card--enterprise .sl-tier-card__badge {
  color: #4a8fd4;
  border-color: #4a8fd4;
}
.sl-tier-card__header {
  padding: 18px 18px 16px;
  flex: 1;
}
.sl-tier-card__name {
  font-size: 16px;
  font-weight: var(--fw-bold);
  color: var(--c-dark);
  margin: 0 0 6px;
}
.sl-tier-card__desc {
  font-size: 13px;
  color: var(--c-text-muted);
  line-height: 1.55;
  margin: 0;
}
.sl-tier-card__feature {
  padding: 18px 18px 20px;
  border-top: 1px solid var(--c-border-subtle);
  background: rgba(15, 23, 42, 0.02);
}
.sl-tier-card__feature-label {
  display: block;
  font-size: 11px;
  font-weight: var(--fw-semibold);
  color: var(--c-text-muted);
  letter-spacing: 0;
  margin-bottom: 6px;
}
.sl-tier-card__feature-value {
  font-size: 22px;
  font-weight: var(--fw-bold);
  color: var(--c-dark);
  line-height: 1.1;
  margin-top: 4px;
}
.sl-tier-card__feature-sub {
  font-size: 11px;
  font-weight: var(--fw-semibold);
  color: #4a8fd4;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-top: 10px;
}
.sl-tier-card__feature-sub--muted {
  color: var(--c-text-muted);
}
.sl-tier-card__rows {
  border-top: 1px solid var(--c-border-subtle);
}
.sl-tier-card__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  padding: 9px 18px;
  font-size: 12px;
  border-top: 1px solid rgba(15, 23, 42, 0.04);
}
.sl-tier-card__row:first-child {
  border-top: none;
}
.sl-tier-card__row-key {
  font-weight: var(--fw-semibold);
  color: var(--c-text-muted);
  flex-shrink: 0;
}
.sl-tier-card__row-val {
  color: var(--c-text);
  text-align: right;
}
.sl-tier-card__badge {
  display: inline-block;
  font-size: 10px;
  font-weight: var(--fw-semibold);
  color: var(--c-accent);
  border: 1px solid var(--c-accent);
  border-radius: 3px;
  padding: 1px 4px;
  margin-left: 4px;
  vertical-align: middle;
  line-height: 1.4;
}
.service-levels-section p.service-levels-table-note {
  font-size: 11px;
  color: #b4bcc6;
  margin-top: 24px !important;
}
.service-levels-cta {
  padding: 56px 0 72px;
  border-top: 1px solid var(--c-border-subtle);
}
.service-levels-cta__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 32px;
}
.service-levels-cta__message {
  flex: 1;
}
.service-levels-cta p {
  font-size: 15px;
  color: var(--c-text);
  margin: 0 0 24px;
}
.service-levels-cta__links {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 4px;
  flex-shrink: 0;
}
@media (max-width: 680px) {
  .service-levels-cta__inner {
    flex-direction: column;
  }
}

/* === CUSTOMER PORTAL PAGE ================================= */
.customer-portal-page {
  background: linear-gradient(180deg, rgba(247, 248, 249, 0.55) 0%, #fff 220px);
}
.page-hero--customer-portal {
  min-height: 0;
  padding: 60px 0 56px;
  background: #1a2836;
}
.page-hero--customer-portal .page-hero__media img {
  object-position: center 52%;
  filter: saturate(0.45) brightness(0.72);
}
.page-hero__inner--customer-portal {
  max-width: 680px;
}
.page-hero--customer-portal h1 {
  margin: 0 0 14px;
}
.portal-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 34px;
}
.portal-cta::after {
  content: '→';
  font-size: 14px;
  line-height: 1;
  opacity: 0.92;
}
.portal-use-section {
  padding-top: 76px;
  padding-bottom: 52px;
}
.portal-use-block {
  max-width: 1120px;
}
.portal-use-block__heading {
  font-size: 11px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin-bottom: 20px;
}
.portal-use-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.portal-use-list li {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 100%;
  padding: 22px 22px 20px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid var(--c-border-subtle);
  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(15, 23, 32, 0.035);
  transition: box-shadow var(--t), transform var(--t);
}
.portal-use-list li:hover {
  box-shadow: 0 10px 28px rgba(15, 23, 32, 0.08);
  transform: translateY(-1px);
}
.portal-use-list__icon {
  display: block;
  color: var(--c-accent);
  flex-shrink: 0;
  margin-bottom: 6px;
}
.portal-use-list__label {
  font-size: 15px;
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
  line-height: 1.35;
}
.portal-use-list__desc {
  font-size: 14px;
  color: var(--c-text-muted);
  line-height: 1.6;
  margin: 0;
}
.portal-access-note {
  padding: 0 0 52px;
}
.portal-access-note p {
  font-size: 13px;
  color: var(--c-text-muted);
  margin: 0;
  max-width: 620px;
}
@media (max-width: 960px) {
  .portal-use-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  .portal-use-list {
    grid-template-columns: 1fr;
  }
}
.page-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(260px, 0.65fr);
  gap: 30px;
  align-items: start;
}
.page-layout__main {
  min-width: 0;
}
.security-statement-callout,
.security-statement-section,
.page-layout__aside {
  background: #fff;
  border: 1px solid var(--c-border-subtle);
  border-radius: 4px;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
}
.security-statement-callout {
  background: linear-gradient(180deg, #fbfcfd 0%, #f7f8f9 100%);
  border-left: 1px solid var(--c-border-subtle);
  padding: 24px 26px;
  margin-bottom: 38px;
}
.security-statement-section {
  padding: 26px 30px 28px;
  margin-bottom: 38px;
}
.security-statement-section:last-child {
  margin-bottom: 0;
}
.security-statement-section h2,
.security-statement-callout h2 {
  font-size: 24px;
  font-weight: var(--fw-bold);
  color: var(--c-dark);
  line-height: 1.25;
  margin-bottom: 14px;
  border-left: 4px solid var(--c-primary);
  padding-left: 12px;
}
.security-statement-section h3 {
  font-size: 15px;
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
  margin: 24px 0 8px;
  letter-spacing: -0.01em;
}
.security-statement-section h3:first-of-type {
  margin-top: 0;
}
.security-statement-section p,
.security-statement-callout p,
.security-statement-section li,
.security-statement-callout li {
  font-size: 15px;
  color: var(--c-text);
  line-height: 1.6;
}
.security-statement-section p,
.security-statement-callout p {
  margin-bottom: 14px;
}
.security-statement-section p:last-child,
.security-statement-callout p:last-child {
  margin-bottom: 0;
}
.security-statement-section ul,
.security-statement-callout ul {
  list-style: disc;
  margin: 0 0 14px;
  padding-left: 20px;
}
.security-statement-section ul:last-child,
.security-statement-callout ul:last-child {
  margin-bottom: 0;
}
.security-statement-section li,
.security-statement-callout li {
  margin: 0 0 9px;
  padding-left: 2px;
}
.security-statement-section li:last-child,
.security-statement-callout li:last-child {
  margin-bottom: 0;
}
.security-statement-section a:not(.link-arrow),
.security-statement-callout a:not(.link-arrow),
.page-layout__aside a:not(.link-arrow) {
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.security-statement-badge {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 6px;
  padding: 12px 14px;
  border: 1px solid var(--c-border);
  border-radius: 4px;
  background: var(--c-bg-alt);
  color: var(--c-text);
  text-decoration: none;
}
.security-statement-badge:hover {
  border-color: rgba(0, 138, 201, 0.32);
  color: var(--c-primary);
}
.security-statement-badge span {
  font-size: 14px;
  font-weight: var(--fw-regular);
  line-height: 1.5;
}
.security-statement-section[aria-labelledby="security-statement-attestation"] {
  padding: 30px 32px 32px;
}
.page-layout__aside {
  position: sticky;
  top: 100px;
  padding: 24px 24px 26px;
  background: var(--c-bg-alt);
  box-shadow: none;
}
.page-layout__aside-section {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}
.page-layout__aside-section:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: 0;
}
.page-layout__aside h2,
.page-layout__aside h3 {
  font-size: 12px;
  font-weight: var(--fw-semibold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c-text-muted);
  margin-bottom: 8px;
}
.page-layout__aside p {
  font-size: 14px;
  color: #374151;
  line-height: 1.65;
  margin-bottom: 8px;
}
.page-layout__aside p:last-child {
  margin-bottom: 0;
}

/* --- PHONE CTA BAND --------------------------------------- */
.phone-band {
  padding: 44px 0;
  border-top: 1px solid var(--c-border);
  border-bottom: 1px solid var(--c-border);
  text-align: center;
}
.phone-band__headline {
  font-family: var(--f-display);
  font-size: clamp(19px, 2.5vw, 26px);
  font-weight: var(--fw-bold);
  color: var(--c-dark);
  margin-bottom: 8px;
}
.phone-band__sub {
  font-size: 15px;
  color: var(--c-text-muted);
  margin-bottom: 22px;
}
.phone-band__sub a { color: var(--c-primary); }

/* --- SERVICE CARDS (6-grid, home page) ------------------- */
.services-grid { padding: 96px 0; }
.services-grid .grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.service-card {
  display: flex;
  flex-direction: column;
  background: var(--c-white);
  border: 1px solid var(--c-border-subtle);
  border-radius: var(--r);
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  padding: 20px 22px 22px;
  color: inherit;
  min-height: 100%;
  transition: box-shadow 0.18s ease, transform 0.18s ease, border-color var(--t);
}
.service-card--primary {
  border-color: rgba(0, 138, 201, 0.2);
  box-shadow: 0 3px 12px rgba(0,0,0,0.05);
}
.service-card:hover,
.service-card:focus-visible {
  box-shadow: 0 6px 18px rgba(0,0,0,0.06);
  transform: translateY(-1px);
  border-color: rgba(0, 138, 201, 0.28);
}
.service-card--primary:hover,
.service-card--primary:focus-visible {
  box-shadow: 0 8px 20px rgba(0,0,0,0.07);
  border-color: rgba(0, 138, 201, 0.34);
}
.service-card:focus-visible {
  outline: 2px solid var(--c-primary);
  outline-offset: 2px;
}
.service-card .icon {
  width: 34px;
  height: 34px;
  color: var(--c-accent);
  margin-bottom: 14px;
}
.service-card .icon svg {
  width: 100%;
  height: 100%;
}
.service-card h3 {
  font-family: var(--f-card-title);
  font-size: 18px;
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
  margin-bottom: 10px;
  line-height: 1.3;
}
.service-card p {
  font-size: 14px;
  line-height: 1.65;
  color: var(--c-text-muted);
  margin-bottom: 14px;
  flex: 1;
}
.service-card .cta-link {
  color: var(--c-text-muted);
  font-size: 13px;
}
.service-card:hover .cta-link,
.service-card:focus-visible .cta-link { color: var(--c-primary); }

/* --- FEATURES 4-COL (Linux page) ------------------------- */
.features-4col { padding: 72px 0; }
.features-4col .grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}
.feature-item .icon {
  width: 46px;
  height: 46px;
  color: var(--c-accent);
  margin-bottom: 14px;
}
.feature-item h3 {
  font-size: 16px;
  font-weight: var(--fw-bold);
  color: var(--c-dark);
  margin-bottom: 8px;
  line-height: 1.3;
}
.feature-item p {
  font-size: 13px;
  color: var(--c-text-muted);
  line-height: 1.7;
}
.feature-item a { color: var(--c-primary); }

/* --- DARK FEATURE SECTION --------------------------------- */
.dark-feature {
  position: relative;
  /* TODO: add background-image: url('images/dark-feature-bg.jpg'); */
  background: linear-gradient(135deg, #1e2630 0%, #2a3440 50%, #1e2630 100%);
  padding: 80px 0;
  overflow: hidden;
}
.dark-feature::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(22, 28, 38, 0.80);
  z-index: 1;
}
.dark-feature .container {
  position: relative;
  z-index: 2;
  max-width: 700px;
}
.dark-feature h2 {
  font-family: var(--f-display);
  font-size: clamp(22px, 3vw, 34px);
  font-weight: var(--fw-semibold);
  color: var(--c-white);
  margin-bottom: 22px;
  line-height: 1.25;
}
.dark-feature p {
  font-size: 15px;
  color: rgba(255,255,255,0.80);
  margin-bottom: 16px;
  line-height: 1.78;
}
.dark-feature p strong { color: var(--c-white); font-weight: var(--fw-bold); }
.dark-feature p a { color: var(--c-primary-light); }

/* Review strip (inside dark sections) */
.review-strip {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  margin-top: 32px;
  padding: 18px 20px;
  background: rgba(255,255,255,0.06);
  border-left: 3px solid var(--c-accent);
  border-radius: 0 var(--r) var(--r) 0;
  max-width: 540px;
}
.review-strip .stars { color: var(--c-star); font-size: 15px; letter-spacing: 2px; margin-bottom: 6px; }
.review-strip blockquote {
  font-size: 13px;
  color: rgba(255,255,255,0.78);
  font-style: italic;
  line-height: 1.65;
}
.review-strip cite {
  display: block;
  margin-top: 8px;
  font-style: normal;
  font-size: 11px;
  color: rgba(255,255,255,0.45);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.review-strip .sa-badge {
  font-size: 11px;
  color: rgba(255,255,255,0.35);
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  flex-shrink: 0;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--r);
}

/* --- TESTIMONIAL STRIP (Linux page, standalone) ----------- */
.testimonial-strip {
  padding: 36px 0;
  border-bottom: 1px solid var(--c-border);
}
.testimonial-strip .container {
  display: flex;
  align-items: center;
  gap: 36px;
  flex-wrap: wrap;
}
.testimonial-strip .stars { color: var(--c-star); font-size: 20px; letter-spacing: 3px; flex-shrink: 0; }
.testimonial-strip blockquote {
  font-size: 14px;
  font-style: italic;
  color: var(--c-text);
  line-height: 1.72;
  flex: 1;
  min-width: 200px;
}
.testimonial-strip cite {
  display: block;
  margin-top: 7px;
  font-style: normal;
  font-size: 12px;
  color: var(--c-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.sa-badge-light {
  flex-shrink: 0;
  padding: 12px 16px;
  border: 1px solid var(--c-border);
  border-radius: var(--r);
  text-align: center;
  font-size: 11px;
  font-weight: var(--fw-bold);
  color: var(--c-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  line-height: 1.5;
}
.sa-badge-light a { color: var(--c-primary); font-size: 12px; }

/* --- CTA BAND --------------------------------------------- */
.cta-band {
  background: var(--c-bg-alt);
  padding: 60px 0;
  text-align: center;
}
.cta-band h2 {
  font-family: var(--f-display);
  font-size: clamp(20px, 2.5vw, 28px);
  font-weight: var(--fw-semibold);
  letter-spacing: -0.01em;
  color: var(--c-dark);
  margin-bottom: 10px;
}
.cta-band p {
  font-size: 16px;
  font-weight: var(--fw-light);
  color: var(--c-text-muted);
  max-width: 620px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 28px;
}

/* --- SERVICES INLINE CTA ---------------------------------- */
.services-cta {
  padding: 44px 0;
  text-align: center;
  border-top: 1px solid var(--c-border);
  border-bottom: 1px solid var(--c-border);
}
.services-cta p { font-size: 15px; color: var(--c-text-muted); margin-bottom: 12px; }
.services-cta p a { color: var(--c-primary); }
.services-cta h2 {
  font-family: var(--f-display);
  font-size: clamp(19px, 2.3vw, 26px);
  font-weight: var(--fw-bold);
  color: var(--c-dark);
}

/* --- NEWS / BLOG GRID ------------------------------------- */
.news-section { padding: 72px 0; }
.news-section .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 52px;
}
.news-col h2 {
  font-size: 11px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-accent);
  border-bottom: 2px solid var(--c-accent);
  padding-bottom: 10px;
  margin-bottom: 28px;
}
.news-item { margin-bottom: 26px; padding-bottom: 26px; border-bottom: 1px solid var(--c-border); }
.news-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.news-item h3 {
  font-size: 15px;
  font-weight: var(--fw-bold);
  color: var(--c-dark);
  line-height: 1.42;
  margin-bottom: 4px;
}
.news-item h3 a { color: var(--c-dark); }
.news-item h3 a:hover { color: var(--c-primary); }
.news-item .date { font-size: 12px; color: var(--c-text-muted); margin-bottom: 9px; }
.news-item p { font-size: 13px; color: var(--c-text-muted); line-height: 1.65; }

/* --- QUESTION TEASE (home page) --------------------------- */
.question-tease { padding: 72px 0; background: var(--c-bg-alt); }
.question-tease .inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  text-align: center;
}
.question-tease .tease-title {
  grid-column: 1 / -1;
  font-family: var(--f-display);
  font-size: clamp(20px, 2.5vw, 28px);
  font-weight: var(--fw-bold);
  color: var(--c-dark);
  margin-bottom: 40px;
}
.question-item .icon {
  width: 46px;
  height: 46px;
  color: var(--c-accent);
  margin: 0 auto 16px;
}
.question-item h3 { font-size: 16px; font-weight: var(--fw-bold); color: var(--c-dark); margin-bottom: 10px; }
.question-item p { font-size: 14px; color: var(--c-text-muted); margin-bottom: 16px; line-height: 1.65; }

/* --- FAQ -------------------------------------------------- */
.faq-section { padding: 72px 0; }
.faq-section .inner {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 64px;
  align-items: start;
}
.faq-label {
  font-family: var(--f-body);
  font-size: 20px;
  font-weight: var(--fw-bold);
  color: var(--c-dark);
  line-height: 1.35;
  position: sticky;
  top: 94px;
}
.faq-label small {
  display: block;
  font-size: 13px;
  font-weight: var(--fw-light);
  color: var(--c-text-muted);
  margin-top: 10px;
  line-height: 1.6;
}
.faq-list details { border-bottom: 1px solid var(--c-border); }
.faq-list details summary {
  list-style: none;
  padding: 18px 4px 18px 0;
  font-size: 15px;
  font-weight: var(--fw-bold);
  color: var(--c-dark);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  user-select: none;
}
.faq-list details summary::-webkit-details-marker { display: none; }
.faq-list details summary::after {
  content: '+';
  font-size: 22px;
  font-weight: var(--fw-light);
  color: var(--c-primary);
  flex-shrink: 0;
  line-height: 1;
}
.faq-list details[open] summary::after { content: '−'; }
.faq-list details p {
  font-size: 14px;
  color: var(--c-text);
  padding: 4px 0 22px;
  line-height: 1.78;
}
.faq-list details a { color: var(--c-primary); }

/* FAQ accordion */
.faq-item {
  border-bottom: 1px solid var(--c-border);
}
.faq-item:first-child { border-top: 1px solid var(--c-border); margin-top: 16px; }
.faq-item__q {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  width: 100%;
  padding: 32px 0;
  background: none;
  border: none;
  text-align: left;
  font-family: var(--f-body);
  font-size: 15px;
  font-weight: var(--fw-bold);
  color: var(--c-dark);
  cursor: pointer;
  transition: color var(--t);
}
.faq-item__q-text {
  flex: 1;
  min-width: 0;
}
.faq-item__q:hover { color: var(--c-primary); }
.faq-item__q::after {
  content: '+';
  font-size: 22px;
  font-weight: var(--fw-light);
  color: var(--c-primary);
  flex-shrink: 0;
  line-height: 1;
}
.faq-item.is-open .faq-item__q::after { content: '\2212'; }
.faq-item__a {
  display: none;
  padding-top: 10px;
  padding-bottom: 40px;
}
.faq-item.is-open .faq-item__a { display: block; }
.faq-item__a p {
  font-size: 14px;
  color: var(--c-text);
  line-height: 1.86;
  max-width: 720px;
}
.faq-item__a p + p { margin-top: 14px; }

/* --- FOOTER ----------------------------------------------- */
.site-footer {
  background: var(--c-dark);
  color: rgba(255,255,255,0.60);
  padding-top: 60px;
}
.footer-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(180px, 0.85fr);
  gap: 32px;
  padding-bottom: 38px;
  border-bottom: 1px solid rgba(255,255,255,0.12);
}
.footer-grid > * {
  min-width: 0;
}

.footer-col h4,
.footer-contact h4,
.footer-trust__label {
  font-size: 12px;
  font-weight: var(--fw-semibold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.38);
  line-height: 1.35;
  margin-bottom: 12px;
}
.footer-col ul li { margin-bottom: 6px; }
.footer-col h4 a,
.footer-contact h4 a {
  color: inherit;
}
.footer-col h4 a:hover,
.footer-contact h4 a:hover {
  color: rgba(255,255,255,0.72);
}
.footer-col ul li a {
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1.45;
  color: rgba(255,255,255,0.72);
}
.footer-col ul li a:hover { color: rgba(255,255,255,0.92); }

.footer-contact {
  justify-self: end;
  min-width: 0;
}
.footer-contact__links,
.footer-trust__links {
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer-contact__links {
  margin-top: 4px;
}
.footer-contact__links li,
.footer-trust__links li {
  margin-bottom: 6px;
}
.footer-contact__links li:last-child,
.footer-trust__links li:last-child {
  margin-bottom: 0;
}
.footer-contact__links a,
.footer-trust__links a {
  font-family: var(--f-body);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1.45;
  color: rgba(255,255,255,0.72);
}
.footer-contact__links a:hover,
.footer-trust__links a:hover {
  color: rgba(255,255,255,0.92);
}
.footer-trust {
  display: block;
  padding: 32px 0 0;
}
.footer-trust__group {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
.footer-trust__label {
  color: rgba(255,255,255,0.38);
  margin-bottom: 0;
  padding-top: 0;
}
.footer-trust__links {
  margin-bottom: 32px;
}

.footer-bottom {
  padding: 18px 28px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  font-weight: var(--fw-light);
  color: rgba(255,255,255,0.35);
  flex-wrap: wrap;
  gap: 8px;
  max-width: var(--max-w);
  margin: 0 auto;
  line-height: 1.4;
}
.footer-bottom a { color: rgba(255,255,255,0.35); }
.footer-bottom a:hover { color: rgba(255,255,255,0.62); }

/* --- FLOATING PHONE (mobile) ------------------------------ */
.float-phone {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 200;
  background: var(--c-dark);
  color: var(--c-white);
  padding: 10px 20px;
  border-radius: 28px;
  font-size: 13px;
  font-weight: var(--fw-bold);
  box-shadow: 0 4px 18px rgba(0,0,0,0.32);
  text-decoration: none;
  transition: background var(--t);
}
.float-phone:hover { background: #363d4a; color: var(--c-white); }

/* --- HERO EYEBROW ----------------------------------------- */
.hero__eyebrow {
  display: inline-block;
  font-size: 12px;
  font-weight: var(--fw-regular);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin-bottom: 16px;
  opacity: 0.85;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
}
.hero:not(.hero--home) a.hero__eyebrow {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.65;
}

/* --- GAP / POSITIONING SECTION ---------------------------- */
.gap-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid var(--c-border);
  border-radius: var(--r);
  overflow: hidden;
  margin-bottom: 20px;
}
.gap-item {
  padding: 32px 28px;
  border-right: 1px solid var(--c-border);
  background: var(--c-white);
}
.gap-item:last-child { border-right: none; }
.gap-item h3 {
  font-size: 12px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c-text-muted);
  margin-bottom: 12px;
}
.gap-item p { font-size: 14px; color: var(--c-text-muted); line-height: 1.75; }

.gap-footer {
  padding: 28px 32px;
  background: var(--c-dark);
  border-radius: var(--r);
}
.gap-footer p { font-size: 15px; color: rgba(255,255,255,0.82); line-height: 1.75; }
.gap-footer strong { color: var(--c-white); }

/* --- AFFILIATIONS ----------------------------------------- */
.affiliations {
  padding: 44px 0;
  border-top: 1px solid var(--c-border);
  border-bottom: 1px solid var(--c-border);
}
.affiliations__label {
  font-size: 11px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--c-text-muted);
  text-align: center;
  margin-bottom: 24px;
}
.affiliations__grid {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 12px;
  flex-wrap: wrap;
}
.affiliation-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px 28px;
  border: 1px solid var(--c-border-subtle);
  border-radius: var(--r);
  min-width: 140px;
  text-align: center;
  gap: 4px;
}
.affiliation-badge strong {
  font-size: 13px;
  font-weight: var(--fw-bold);
  color: var(--c-dark);
  display: block;
}
.affiliation-badge span {
  font-size: 10px;
  color: var(--c-text-muted);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
/* Fixed-height visual zone — keeps role label aligned across all badges */
.affiliation-badge__visual {
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}
.affiliation-badge__logo {
  max-height: 32px;
  width: auto;
  max-width: 130px;
  object-fit: contain;
  display: block;
}
.affiliation-badge__role {
  font-size: 10px;
  color: var(--c-text-muted);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
/* NIST CSF 2.0 typographic badge */
.affiliation-badge__nist-label {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.1;
  gap: 2px;
}
.affiliation-badge__nist-label .nist-framework {
  font-family: var(--f-display);
  font-size: 20px;
  font-weight: var(--fw-bold);
  letter-spacing: -0.01em;
  background: linear-gradient(160deg, #0d2e4a 0%, #1e6090 55%, #2d86c0 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.affiliation-badge__nist-label .nist-version {
  font-family: var(--f-body);
  font-size: 10px;
  font-weight: var(--fw-bold);
  color: #5a8aaa;
  letter-spacing: 0.10em;
  text-transform: uppercase;
}

/* ─── Credibility Strip ─────────────────────────────────────── */
.credibility-strip {
  padding: 38px 0;
  border-top: 1px solid rgba(0,0,0,0.06);
  border-bottom: 1px solid rgba(0,0,0,0.06);
  background: var(--c-bg-alt);
  text-align: center;
}
.credibility-label {
  font-size: 0.72rem;
  font-weight: var(--fw-bold);
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--c-text-muted);
  margin-bottom: 14px;
}
.credibility-items {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
}
.credibility-popover {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.credibility-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 10px 14px;
  border: 1px solid transparent;
  border-radius: 6px;
  text-decoration: none;
  color: inherit;
  transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
.credibility-item--badge {
  padding-top: 4px;
  padding-bottom: 4px;
}
.credibility-item:hover,
.credibility-popover:focus-within .credibility-item,
.credibility-popover.is-open .credibility-item {
  background: rgba(0, 0, 0, 0.03);
  border-color: rgba(13, 36, 56, 0.08);
  box-shadow: 0 8px 20px rgba(13, 36, 56, 0.08);
  transform: translateY(-1px);
}
.credibility-item:focus-visible {
  outline: 2px solid var(--c-primary);
  outline-offset: 3px;
}
.credibility-item__logo {
  height: 30px;
  width: auto;
  max-width: 140px;
  object-fit: contain;
}
.credibility-item__logo--badge {
  height: 82px;
  max-width: 88px;
}
.credibility-item__name {
  font-size: 0.81rem;
  font-weight: var(--fw-regular);
  color: var(--c-text);
  letter-spacing: 0.01em;
}
.credibility-item__role {
  font-size: 0.69rem;
  letter-spacing: 0.04em;
  color: rgba(0, 0, 0, 0.5);
}
.credibility-popover__panel {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 10px);
  z-index: 20;
  width: min(280px, calc(100vw - 32px));
  padding: 12px 14px;
  border: 1px solid rgba(13, 36, 56, 0.14);
  border-radius: var(--r);
  background: var(--c-white);
  box-shadow: 0 14px 32px rgba(13, 36, 56, 0.16);
  color: var(--c-text);
  text-align: left;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 4px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}
.credibility-popover__panel::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -6px;
  width: 10px;
  height: 10px;
  border-right: 1px solid rgba(13, 36, 56, 0.14);
  border-bottom: 1px solid rgba(13, 36, 56, 0.14);
  background: var(--c-white);
  transform: translateX(-50%) rotate(45deg);
}
.credibility-popover__panel p {
  margin: 0;
  font-size: 0.79rem;
  line-height: 1.55;
  color: var(--c-text);
}
.credibility-popover:hover .credibility-popover__panel,
.credibility-popover:focus-within .credibility-popover__panel,
.credibility-popover.is-open .credibility-popover__panel {
  opacity: 1;
  transform: translate(-50%, 0);
}

@media (prefers-reduced-motion: reduce) {
  .credibility-item,
  .credibility-popover__panel {
    transition: none;
  }
}

@media (max-width: 640px) {
  .credibility-items {
    gap: 20px;
  }

  .credibility-popover__panel {
    bottom: calc(100% + 8px);
  }

  .credibility-popover:first-child .credibility-popover__panel {
    left: 0;
    transform: translateY(4px);
  }

  .credibility-popover:first-child .credibility-popover__panel::after {
    left: 44px;
  }

  .credibility-popover:first-child:hover .credibility-popover__panel,
  .credibility-popover:first-child:focus-within .credibility-popover__panel,
  .credibility-popover:first-child.is-open .credibility-popover__panel {
    transform: translateY(0);
  }

  .credibility-popover:last-child .credibility-popover__panel {
    right: 0;
    left: auto;
    transform: translateY(4px);
  }

  .credibility-popover:last-child .credibility-popover__panel::after {
    right: 44px;
    left: auto;
  }

  .credibility-popover:last-child:hover .credibility-popover__panel,
  .credibility-popover:last-child:focus-within .credibility-popover__panel,
  .credibility-popover:last-child.is-open .credibility-popover__panel {
    transform: translateY(0);
  }

  .credibility-item__logo--badge {
    height: 72px;
    max-width: 77px;
  }
}

/* --- CLIENT SCROLLER (optional) --------------------------- */
.client-scroller {
  padding: 36px 0;
  overflow: hidden;
  border-top: 1px solid var(--c-border);
}
.client-scroller__label {
  font-size: 11px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--c-text-muted);
  text-align: center;
  margin-bottom: 20px;
}
.client-scroller__track {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 48px;
  flex-wrap: wrap;
  padding: 0 28px;
}
.client-logo {
  height: 28px;
  width: auto;
  opacity: 0.40;
  filter: grayscale(1);
  transition: opacity var(--t), filter var(--t);
}
.client-logo:hover { opacity: 0.70; filter: grayscale(0); }

/* --- CONTENT BODY (narrow prose) -------------------------- */
.content-narrow { max-width: 720px; }
.content-body h2 {
  font-family: var(--f-body);
  font-size: clamp(20px, 2.4vw, 26px);
  font-weight: var(--fw-bold);
  color: var(--c-dark);
  margin-bottom: 20px;
  line-height: 1.3;
}
.content-body p {
  font-size: 16px;
  color: var(--c-text);
  line-height: 1.82;
  margin-bottom: 20px;
}
.content-body p:last-child { margin-bottom: 0; }

/* --- SCOPE GRID ------------------------------------------- */
.scope-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  background: var(--c-border);
  border: 1px solid var(--c-border);
  border-radius: var(--r);
  overflow: hidden;
}
.scope-item {
  background: var(--c-white);
  padding: 26px 24px;
}
.scope-item h3 {
  font-size: 14px;
  font-weight: var(--fw-bold);
  color: var(--c-dark);
  margin-bottom: 8px;
  line-height: 1.3;
}
.scope-item p { font-size: 13px; color: var(--c-text-muted); line-height: 1.68; }

/* --- HOW WE DIFFER ---------------------------------------- */
.diff-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px;
}
.diff-item {
  border-top: 2px solid var(--c-border);
  padding-top: 22px;
}
.diff-item--ats { border-top-color: var(--c-accent); }
.diff-item h3 {
  font-size: 12px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--c-text-muted);
  margin-bottom: 12px;
}
.diff-item--ats h3 { color: var(--c-dark); }
.diff-item p { font-size: 14px; color: var(--c-text); line-height: 1.75; }

/* --- DISTRO LIST ------------------------------------------ */
.distro-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}
.distro-tag {
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  background: var(--c-bg-alt);
  border: 1px solid var(--c-border);
  border-radius: 100px;
  font-size: 13px;
  color: var(--c-dark);
}
.distro-note {
  margin-top: 20px;
  font-size: 14px;
  color: var(--c-text-muted);
}

/* --- CTA PHONE (subtle) ----------------------------------- */
.cta-band__phone {
  display: block;
  margin-top: 14px;
  font-size: 14px;
  color: var(--c-text-muted);
}
.cta-band__phone a { color: var(--c-text-muted); font-weight: var(--fw-bold); }
.cta-band__phone a:hover { color: var(--c-dark); }

/* ============================================================
   SECTION EYEBROW (generic utility)
   ============================================================ */
.section-eyebrow {
  display: block;
  font-size: 11px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin-bottom: 12px;
}

/* Override section-title/subtitle color inside dark sections */
.section--dark .section-title  { color: var(--c-white); }
.section--dark .section-subtitle { color: rgba(255,255,255,0.65); }

/* ============================================================
   HERO — SPLIT LAYOUT (home page)
   ============================================================ */
.hero__inner {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 64px;
  align-items: center;
  width: 100%;
  position: relative;
  z-index: 3;
}
.hero--home .hero__content { max-width: 580px; }

/* Infrastructure status widget */
.hero__terminal {
  background: rgba(0, 0, 0, 0.42);
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: 6px;
  padding: 20px 22px 18px;
  font-family: 'Courier New', 'Menlo', 'Monaco', monospace;
  font-size: 12px;
  color: rgba(255,255,255,0.65);
  line-height: 1;
}
.t-header {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 18px;
}
.t-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: rgba(255,255,255,0.12);
}
.t-dot:first-child  { background: rgba(220, 80, 70, 0.45); }
.t-dot:nth-child(2) { background: rgba(210,170, 50, 0.45); }
.t-dot:nth-child(3) { background: rgba( 60,190, 90, 0.45); }
.t-title {
  margin-left: 6px;
  font-size: 10px;
  color: rgba(255,255,255,0.22);
  letter-spacing: 0.04em;
}
.t-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 9px;
}
.t-status {
  flex-shrink: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(255,255,255,0.18);
}
.t-status--ok {
  background: #3ec97a;
  box-shadow: 0 0 5px rgba(62, 201, 122, 0.45);
}
.t-label {
  flex: 1;
  color: rgba(255,255,255,0.60);
}
.t-state {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: rgba(255,255,255,0.25);
}
.t-divider {
  border: none;
  border-top: 1px solid rgba(255,255,255,0.07);
  margin: 12px 0 10px;
}
.t-uptime {
  font-size: 10px;
  color: rgba(255,255,255,0.26);
  letter-spacing: 0.03em;
}

/* ============================================================
   RECOGNITION — 2×2 scenario cards
   ============================================================ */
.recognition { padding-bottom: 84px; }
.recognition-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}
.recognition-grid--three { grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 32px; }
.recognition-grid--three .recognition-item {
  border-left-width: 4px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  background: var(--c-bg-alt);
}
.recognition-item {
  padding: 24px 28px 24px 32px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-left: 2px solid var(--c-accent);
  border-radius: var(--r);
  background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,0.03);
  transition: border-left-color var(--t), box-shadow var(--t);
}
.recognition-item:hover { border-left-color: var(--c-primary); box-shadow: 0 3px 10px rgba(0,0,0,0.07); }
.recognition-item h3 {
  font-family: var(--f-card-title);
  font-size: 16px;
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
  margin-bottom: 10px;
  line-height: 1.35;
}
.recognition-item p {
  font-size: 14px;
  color: var(--c-text-muted);
  line-height: 1.88;
}

/* ============================================================
   BREAKDOWN — failure mode grid (inside .section--dark)
   ============================================================ */
.breakdown-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: var(--r);
  overflow: hidden;
}
.breakdown-item {
  padding: 32px 28px;
  background: rgba(255,255,255,0.02);
}
.breakdown-item__accent {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--c-accent);
  margin-bottom: 16px;
}
.breakdown-item h3 {
  font-family: var(--f-body);
  font-size: 16px;
  font-weight: var(--fw-bold);
  color: var(--c-white);
  margin-bottom: 10px;
  line-height: 1.35;
}
.breakdown-item p {
  font-size: 14px;
  color: rgba(255,255,255,0.62);
  line-height: 1.85;
}

/* ============================================================
   TEAM MODEL — conceptual pivot section (the page hinge)
   ============================================================ */
.team-model { padding: 88px 0; }
.team-model__inner { max-width: 680px; }
.team-model__rule {
  display: block;
  width: 48px;
  height: 3px;
  background: var(--c-accent);
  margin-bottom: 22px;
}
.team-model__heading {
  font-family: var(--f-display);
  font-size: clamp(26px, 3.5vw, 42px);
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
  line-height: 1.2;
  margin-bottom: 28px;
  margin-top: 10px;
}
.team-model__inner p {
  font-size: 17px;
  color: var(--c-text);
  line-height: 1.82;
  margin-bottom: 16px;
}
.team-model__inner p:last-child { margin-bottom: 0; }

/* ============================================================
   A-TEAM INTRO — split layout with credibility panel
   ============================================================ */
.ats-intro__inner {
  display: grid;
  grid-template-columns: 1fr 287px;
  gap: 60px;
  align-items: start;
}
.ats-intro__heading {
  font-family: var(--f-display);
  font-size: clamp(24px, 3.2vw, 38px);
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
  line-height: 1.2;
  margin-bottom: 22px;
  margin-top: 10px;
}
.ats-intro__content p {
  font-size: 16px;
  color: var(--c-text);
  line-height: 1.82;
  margin-bottom: 16px;
  max-width: 540px;
}
.ats-intro__note {
  font-size: 14px !important;
  color: var(--c-text-muted) !important;
  font-style: italic;
  margin-bottom: 28px !important;
}
.ats-intro__content .btn { margin-top: 4px; }

/* Credibility panel */
.ats-creds {
  background: var(--c-dark);
  border-radius: var(--r);
  padding: 8px 0;
}
.ats-cred-item {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 12px;
  align-items: start;
  padding: 22px 22px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.ats-cred-item:last-child { border-bottom: none; }
.ats-cred-label {
  font-size: 10px;
  font-weight: var(--fw-regular);
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.40);
  padding-top: 2px;
  line-height: 1.4;
}
.ats-cred-value {
  font-size: 13px;
  font-weight: var(--fw-light);
  color: rgba(255,255,255,0.72);
  line-height: 1.40;
}

/* ============================================================
   ALTERNATIVES — 4-column comparison
   ============================================================ */
.alt-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--c-border);
  border-radius: var(--r);
  overflow: hidden;
}
.alt-item {
  padding: 30px 24px;
  background: var(--c-white);
  border-right: 1px solid var(--c-border);
}
.alt-item:last-child { border-right: none; }
.alt-item h3 {
  font-size: 11px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--c-text-muted);
  margin-bottom: 14px;
}
.alt-item p {
  font-size: 13px;
  color: var(--c-text-muted);
  line-height: 1.78;
}
.alt-item--ats {
  background: var(--c-dark);
  border-right: none;
  border-left: 3px solid var(--c-accent);
  border-top: 3px solid var(--c-accent);
  padding-top: 27px;
}
.alt-item--ats h3 { color: var(--c-white); }
.alt-item--ats p  { color: rgba(255,255,255,0.78); }

/* ============================================================
   OUTCOMES — label/definition list
   ============================================================ */
.outcomes-list {
  margin-top: 8px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  background: var(--c-bg-alt);
  border: 1px solid var(--c-border);
  border-radius: var(--r);
  overflow: hidden;
}
.outcome-row {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 32px;
  padding: 22px 28px;
  align-items: start;
  background: var(--c-white);
}
.outcome-row:last-child { border-bottom: none; }
.outcome-term {
  font-family: var(--f-body);
  font-size: 15px;
  font-weight: var(--fw-bold);
  color: var(--c-dark);
  line-height: 1.4;
}
.outcome-desc {
  font-size: 14px;
  color: var(--c-text-muted);
  line-height: 1.75;
}

/* ============================================================
   PROCESS STEPS — 3-step engagement model
   ============================================================ */
.process-section { padding: 104px 0; }
.process-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 52px;
  margin-top: 48px;
  position: relative;
}
/* connector line between step numbers */
.process-steps::before {
  content: '';
  position: absolute;
  top: 19px;
  left: 19px;
  right: calc(25% - 49px);
  height: 1px;
  background: var(--c-border);
  z-index: 0;
}
.process-steps--5col { grid-template-columns: repeat(5, 1fr); gap: 40px; }
.process-steps--5col::before { right: calc(20% - 49px); }
.process-step { position: relative; z-index: 1; }
.process-step__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  background: var(--c-accent);
  color: var(--c-white);
  font-family: var(--f-body);
  font-size: 15px;
  font-weight: var(--fw-bold);
  border-radius: 50%;
  margin-bottom: 20px;
  position: relative;
  z-index: 2;
}
.process-step h3 {
  font-family: var(--f-body);
  font-size: 17px;
  font-weight: var(--fw-bold);
  color: var(--c-dark);
  margin-bottom: 14px;
  line-height: 1.3;
}
.process-step p {
  font-size: 14px;
  color: var(--c-text-muted);
  line-height: 1.75;
}

/* ============================================================
   ENGINEERING NOTES — compact credibility section
   ============================================================ */
.eng-notes {
  padding: 80px 0 60px;
  border-top: 1px solid var(--c-border);
}
.eng-notes__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 32px;
}
.eng-notes__header h2 {
  font-size: 11px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-accent);
  border-bottom: 2px solid var(--c-accent);
  padding-bottom: 8px;
}
.eng-notes__header a {
  font-size: 13px;
  color: var(--c-text-muted);
  transition: color var(--t);
}
.eng-notes__header a:hover { color: var(--c-primary); }
.eng-notes-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px;
}
.eng-note-item__tag {
  display: inline-block;
  font-size: 10px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--c-text-muted);
  margin-bottom: 10px;
}
.eng-note-item h3 {
  font-size: 14px;
  font-weight: var(--fw-bold);
  color: var(--c-dark);
  line-height: 1.42;
  margin-bottom: 6px;
}
.eng-note-item h3 a { color: var(--c-dark); }
.eng-note-item h3 a:hover { color: var(--c-primary); }
.eng-note-item .date {
  font-size: 12px;
  color: var(--c-text-muted);
  margin-bottom: 8px;
}
.eng-note-item p {
  font-size: 13px;
  color: var(--c-text-muted);
  line-height: 1.65;
}

/* ============================================================
   LATEST RESOURCES - compact home page feeds
   ============================================================ */
.latest-resources {
  padding-top: 82px;
  padding-bottom: 70px;
  border-top: 1px solid var(--c-border);
  background:
    linear-gradient(180deg, rgba(248, 250, 252, 0.72) 0%, rgba(255, 255, 255, 0) 42%),
    #fff;
}
.latest-resources__header {
  margin-bottom: 38px;
}
.latest-resources__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  align-items: stretch;
}
.latest-resources__column {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 26px 26px 24px;
  border: 1px solid var(--c-border-subtle);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.035);
}
.latest-resources__column-header {
  padding-bottom: 20px;
  margin-bottom: 4px;
  border-bottom: 1px solid rgba(15, 23, 42, 0.09);
}
.latest-resources__column-header h3 {
  margin: 0 0 9px;
  font-family: var(--f-display);
  font-size: 21px;
  font-weight: var(--fw-semibold);
  line-height: 1.25;
  color: var(--c-dark);
}
.latest-resources__column-header p {
  max-width: 560px;
  margin: 0;
  color: var(--c-text-muted);
  font-size: 14px;
  line-height: 1.65;
}
.latest-resources__feed {
  display: grid;
  gap: 0;
}
.latest-resource-card {
  display: block;
  min-width: 0;
  padding: 20px 0;
  border-bottom: 1px solid rgba(15, 23, 42, 0.09);
  color: inherit;
  text-decoration: none;
}
.latest-resource-card:hover h4,
.latest-resource-card:focus-visible h4 {
  color: var(--c-primary);
}
.latest-resource-card:focus-visible,
.latest-resources__cta:focus-visible {
  outline: 2px solid var(--c-primary);
  outline-offset: 4px;
}
.latest-resource-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 12px;
  margin-bottom: 8px;
  color: var(--c-text-muted);
  font-size: 12px;
  line-height: 1.4;
}
.latest-resource-card__meta span {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 2px 7px;
  border: 1px solid rgba(61, 143, 163, 0.22);
  border-radius: 4px;
  background: rgba(61, 143, 163, 0.08);
  color: #315867;
  font-weight: var(--fw-semibold);
}
.latest-resource-card h4 {
  margin: 0 0 8px;
  overflow-wrap: anywhere;
  font-family: var(--f-display);
  font-size: 17px;
  font-weight: var(--fw-semibold);
  line-height: 1.32;
  color: var(--c-dark);
  transition: color var(--t);
}
.latest-resource-card p {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: var(--c-text);
  font-size: 14px;
  line-height: 1.58;
}
.latest-resource-card__topics {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0;
  margin: 12px 0 0;
  list-style: none;
}
.latest-resource-card__topics li {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 2px 7px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 999px;
  background: rgba(248, 250, 252, 0.92);
  color: var(--c-text-muted);
  font-size: 11px;
  font-weight: var(--fw-semibold);
  line-height: 1.3;
}
.latest-resources__cta {
  align-self: flex-start;
  margin-top: auto;
  padding-top: 18px;
  color: var(--c-primary);
  font-size: 14px;
  font-weight: var(--fw-semibold);
}

/* ============================================================
   CTA BAND — dark variant
   ============================================================ */
.cta-band--dark {
  background: #354249;
  padding: 88px 0 72px;
  border-top: 1px solid rgba(255,255,255,0.07);
}
.cta-band--dark .container {
  max-width: 860px;
}
.cta-band--dark h2 { color: var(--c-white); margin-bottom: 28px; }
.cta-band--dark p  { color: rgba(255,255,255,0.68); margin-bottom: 44px; }
.cta-band--dark .btn { margin-top: 10px; }
.cta-band__sub {
  display: block;
  margin-top: 24px;
  font-size: 13px;
  color: rgba(255,255,255,0.32);
}
.cta-band__sub a {
  color: rgba(255,255,255,0.42);
  font-weight: var(--fw-bold);
  transition: color var(--t);
}
.cta-band__sub a:hover { color: rgba(255,255,255,0.70); }

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1024px) {
  .services-grid .grid { grid-template-columns: repeat(2, 1fr); }
  .features-4col .grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .footer-contact { justify-self: start; }
  .contact-form__split,
  .contact-address { grid-template-columns: 1fr; }
  .page-layout { grid-template-columns: 1fr; }
  .page-layout__aside {
    position: static;
    top: auto;
  }
  .contact-card { padding: 22px; }
  .contact-address { gap: 24px; max-width: 100%; }

  /* Hero split */
  .hero__inner { grid-template-columns: 1fr; gap: 0; }
  .hero__terminal { display: none; }
  .hero--home .hero__content { max-width: 640px; }
  .page-hero::after { background: rgba(var(--hero-overlay-type-b-rgb), var(--hero-overlay-collapsed-b)); }

  /* Collapsed hero: replace directional gradient with uniform dark overlay */
  .hero--home::after   { background: rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-collapsed-a)); }
  .hero--linux::before { background: rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-collapsed-a)); }
  .hero--linux::after  { background: none; }
  .hero--freebsd::before { background: rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-collapsed-a)); }
  .hero--freebsd::after  { background: none; }
  .hero--pim::before { background: rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-collapsed-a)); }
  .hero--pim::after  { background: none; }
  .hero--performance-optimization::before { background: rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-collapsed-a)); }
  .hero--performance-optimization::after  { background: none; }
  .hero--high-availability-scaling::before { background: rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-collapsed-a)); }
  .hero--high-availability-scaling::after  { background: none; }
  .hero--security-compliance::before { background: rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-collapsed-a)); }
  .hero--security-compliance::after  { background: none; }
  .hero--addon::before { background: rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-collapsed-a)); }
  .hero--addon::after  { background: none; }
  .hero--backups::before { background: rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-collapsed-a)); }
  .hero--backups::after  { background: none; }
  .hero--simple::before { background: rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-collapsed-a)); }
  .hero--simple::after  { background: none; }
  .hero--type-a .hero__inner { grid-template-columns: 1fr; gap: 24px; }
  .hero--type-a .hero__content { max-width: 640px; padding-bottom: 24px; }
  .hero--type-a .hero__cred-panel--type-a { display: none; }
  .page-hero__summary { display: none; }
  .alt-grid { grid-template-columns: repeat(2, 1fr); }
  .alt-item { border-bottom: 1px solid var(--c-border); }
  .alt-item--ats { border-top: none; border-left: 3px solid var(--c-accent); }

  /* A-Team intro: stack on tablet */
  .ats-intro__inner { grid-template-columns: 1fr; gap: 36px; }

  /* Outcomes: narrower label column */
  .outcome-row { grid-template-columns: 160px 1fr; gap: 24px; }

  /* Process: 2×2 on tablet */
  .process-steps { grid-template-columns: repeat(2, 1fr); gap: 36px; }
  .process-steps--5col { grid-template-columns: repeat(2, 1fr); }
  .process-steps::before { display: none; }
}

@media (max-width: 880px) {
  .site-nav {
    display: none;
    position: absolute;
    top: 74px;
    left: 0;
    right: 0;
    background: var(--c-white);
    border-bottom: 1px solid var(--c-border);
    padding: 12px 28px 20px;
    box-shadow: 0 6px 16px rgba(0,0,0,0.10);
  }
  .site-nav.is-open { display: block; }
  .site-nav > .site-nav__desktop {
    display: none;
  }
  .mobile-nav {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-height: calc(100vh - 104px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .site-nav .mobile-nav__cta {
    display: block;
    align-self: stretch;
    margin: 0 0 8px;
    padding: 12px 18px;
    font-family: var(--f-nav);
    font-size: 14px;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.01em;
    line-height: 1.25;
    text-align: center;
    color: var(--c-white);
    background: var(--c-primary);
    border-radius: var(--r);
    box-shadow: 0 2px 7px rgba(0, 138, 201, 0.20);
  }
  .site-nav .mobile-nav__cta:hover,
  .site-nav .mobile-nav__cta:focus-visible {
    color: var(--c-white);
    background: var(--c-primary-light);
  }
  .mobile-nav__section {
    border-top: 1px solid var(--c-border);
  }
  .mobile-nav__section-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 0;
    background: none;
    border: 0;
    border-radius: var(--r);
    font-family: var(--f-nav);
    font-size: 13px;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.08em;
    line-height: 1.3;
    text-align: left;
    text-transform: uppercase;
    color: var(--c-text-muted);
    cursor: pointer;
  }
  .mobile-nav__section-icon {
    position: relative;
    width: 12px;
    height: 12px;
    flex: 0 0 12px;
  }
  .mobile-nav__section-icon::before,
  .mobile-nav__section-icon::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 12px;
    height: 2px;
    background: currentColor;
    transform: translateY(-50%);
    transition: transform var(--t);
  }
  .mobile-nav__section-icon::after {
    transform: translateY(-50%) rotate(90deg);
  }
  .mobile-nav__section.is-expanded .mobile-nav__section-icon::after {
    transform: translateY(-50%) rotate(0deg);
  }
  .site-nav .mobile-nav__links {
    flex-direction: column;
    gap: 1px;
    align-items: stretch;
    height: auto;
    padding: 0 0 8px;
    margin: 0;
    list-style: none;
  }
  .mobile-nav__links[hidden] {
    display: none;
  }
  .site-nav .mobile-nav__links a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    min-width: 0;
    flex-wrap: wrap;
    padding: 9px 0;
    font-family: var(--f-body);
    font-size: 15px;
    font-weight: var(--fw-light);
    letter-spacing: 0.01em;
    line-height: 1.35;
    color: var(--c-dark);
    border-radius: 0;
  }
  .site-nav .mobile-nav__links a > span:first-child {
    min-width: 0;
  }
  .site-nav .mobile-nav__links a:hover {
    background: none;
    color: var(--c-primary);
    text-decoration: underline;
  }
  .mobile-nav__badge {
    flex: 0 0 auto;
    padding: 3px 7px;
    border: 1px solid rgba(30, 100, 160, 0.18);
    border-radius: 999px;
    background: rgba(30, 100, 160, 0.06);
    color: var(--c-text-muted);
    font-size: 10px;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.04em;
    line-height: 1.1;
    text-transform: uppercase;
    white-space: nowrap;
  }
  .mobile-nav__phone {
    display: flex;
    align-items: center;
    margin-top: 12px;
    padding: 18px 0 6px;
    border-top: 1px solid var(--c-border);
    font-family: var(--f-nav);
    font-size: 14px;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.02em;
    color: var(--c-primary);
  }
  .nav-toggle { display: flex; }
  .nav-flyout__panel,
  .nav-dropdown__menu { display: none !important; }
  .nav-flyout__chevron { display: none; }
  .site-nav .nav-flyout__trigger,
  .site-nav .nav-dropdown__trigger { display: block; }
}

@media (min-width: 881px) {
  .site-nav__desktop {
    display: flex;
  }
}

@media (max-width: 768px) {
  .placeholder-page {
    padding: 52px 0 68px;
  }
  .page-hero--security {
    min-height: 280px;
  }
  .page-hero__inner--security {
    min-height: 280px;
    padding-top: 34px;
    padding-bottom: 34px;
  }
  .page-hero__intro {
    font-size: 16px;
  }
  .security-statement-body {
    padding-bottom: 68px;
  }
  .security-statement-callout,
  .security-statement-section,
  .page-layout__aside {
    padding-left: 22px;
    padding-right: 22px;
  }
  .security-statement-section {
    padding-top: 22px;
    padding-bottom: 24px;
  }
  .security-statement-section h2,
  .security-statement-callout h2 {
    font-size: 22px;
  }
  .not-found-page__layout {
    grid-template-columns: 1fr;
  }
  .not-found-panel {
    max-width: 100%;
  }
  .placeholder-page__layout {
    grid-template-columns: 1fr;
  }
  .placeholder-page__panel {
    padding: 24px 22px;
  }
  .support-hours-section {
    padding: 24px 22px;
  }
  .service-levels-section--comparison {
    padding: 20px 18px;
  }
  .sl-apply-steps {
    grid-template-columns: 1fr;
  }
  .service-levels-table tbody th {
    white-space: normal;
    width: 36%;
  }
  .sl-tier-grid {
    grid-template-columns: 1fr;
  }
  .portal-use-list li {
    padding: 20px 18px 18px;
  }
  .portal-use-list__label {
    color: var(--c-accent);
  }
  .portal-use-section {
    padding-top: 56px;
    padding-bottom: 36px;
  }
  .placeholder-page__intro {
    font-size: 16px;
  }

  /* New sections — stack to single column */
  .recognition-grid,
  .recognition-grid--three { grid-template-columns: 1fr; }
  .breakdown-grid     { grid-template-columns: 1fr; gap: 1px; }
  .alt-grid           { grid-template-columns: 1fr; }
  .alt-item           { border-right: none; }
  .alt-item--ats      { border-top: 3px solid var(--c-accent); }
  .outcome-row        { grid-template-columns: 1fr; gap: 6px; }
  .outcome-term       { font-size: 13px; }
  .process-steps      { grid-template-columns: 1fr; gap: 32px; }
  .process-steps::before { display: none; }
  .eng-notes-grid,
  .latest-resources__grid { grid-template-columns: 1fr; gap: 28px; }
  .latest-resources__feed .latest-resource-card:nth-child(n+3) { display: none; }
  .ats-intro__inner   { grid-template-columns: 1fr; }

  .site-nav { display: none; }
  .site-nav.is-open {
    display: block;
    position: absolute;
    top: 74px;
    left: 0; right: 0;
    background: var(--c-white);
    border-bottom: 1px solid var(--c-border);
    padding: 12px 28px 20px;
    box-shadow: 0 6px 16px rgba(0,0,0,0.10);
  }
  .site-nav.is-open .site-nav__desktop { flex-direction: column; gap: 0; }
  .nav-toggle { display: flex; }

  .hero { min-height: 360px !important; }
  .hero__content { padding: 48px 0; }
  .hero--pim::before     { background: rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-collapsed-a)); }
  .hero--addon::before   { background: rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-collapsed-a)); }
  .hero--backups::before { background: rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-collapsed-a)); }
  .hero--simple::before  { background: rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-collapsed-a)); }

  .services-grid .grid { grid-template-columns: 1fr; }
  .features-4col .grid { grid-template-columns: 1fr 1fr; }
  .news-section .grid { grid-template-columns: 1fr; }
  .question-tease .inner { grid-template-columns: 1fr; }
  .faq-section .inner { grid-template-columns: 1fr; }
  .faq-label { position: static; }
  .footer-grid { grid-template-columns: 1fr; }

  .topbar__left { display: none; }
  .float-phone { display: block; }

  .section { padding: 52px 0; }
  .services-grid,
  .features-4col,
  .news-section,
  .question-tease,
  .faq-section { padding: 52px 0; }
}

@media (max-width: 480px) {
  .page-layout {
    gap: 18px;
  }
  .security-statement-callout,
  .security-statement-section,
  .page-layout__aside {
    padding-left: 18px;
    padding-right: 18px;
  }
  .security-statement-badge {
    width: 100%;
    justify-content: flex-start;
  }
  .not-found-page__actions {
    gap: 16px;
  }
  .not-found-page__links {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .not-found-page__links a + a {
    padding-left: 0;
  }
  .not-found-page__links a + a::before {
    content: none;
  }
  .not-found-panel {
    padding: 18px;
  }
  .features-4col .grid { grid-template-columns: 1fr; }
  .testimonial-strip .container { flex-direction: column; }
  .diff-grid { grid-template-columns: 1fr; }
  .scope-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   LINUX INFRASTRUCTURE SUPPORT PAGE
   ============================================================ */

/* --- Hero: service credibility panel ---------------------- */
.hero__sub {
  font-size: 15px;
  font-weight: var(--fw-light);
  color: rgba(255,255,255,0.88);
  margin-bottom: 16px;
  line-height: 1.6;
}
.hero__note {
  display: block;
  margin-top: 16px;
  font-size: 13px;
  color: rgba(255,255,255,0.38);
  line-height: 1.6;
}
.hero__cred-panel {
  background: rgba(12, 18, 28, 0.44);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 6px;
  padding: 14px 0;
  align-self: center;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.hero__cred-item {
  padding: 28px 28px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.hero__cred-item:last-child { border-bottom: none; }
.hero__cred-label {
  display: block;
  font-size: 12px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin-bottom: 10px;
}
.hero__cred-value {
  display: block;
  font-size: 13px;
  color: rgba(255,255,255,0.78);
  line-height: 1.58;
}

/* --- Comparison block (managed hosting vs A-Team) --------- */
.compare-block {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  background: var(--c-border);
  border: 1px solid var(--c-border);
  border-radius: var(--r);
  overflow: hidden;
  margin-top: 28px;
  margin-bottom: 20px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.08), 0 1px 4px rgba(0,0,0,0.04);
}
.section-intro + .compare-block { margin-top: 64px; }
.compare-col {
  padding: 52px 44px;
  background: var(--c-white);
}
.compare-col--them { padding-right: 52px; }
.compare-col--ats {
  background: #363d4a;
}
.compare-col__header {
  font-size: 11px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--c-text-muted);
  margin-bottom: 22px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--c-border);
}
.compare-col--ats .compare-col__header {
  color: var(--c-accent);
  -webkit-text-fill-color: var(--c-accent);
  border-bottom-color: rgba(255,255,255,0.08);
}
.compare-col__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.compare-col__list li {
  font-size: 14px;
  color: var(--c-text-muted);
  line-height: 1.7;
  margin-bottom: 14px;
  padding-left: 16px;
  position: relative;
}
.compare-col__list li:last-child { margin-bottom: 0; }
.compare-col__list li::before {
  content: '–';
  position: absolute;
  left: 0;
  color: #c8cdd4;
}
.compare-col--ats .compare-col__list li { color: rgba(255,255,255,0.72); }
.compare-col--ats .compare-col__list li::before { color: var(--c-accent); }
.compare-note {
  font-size: 13px;
  color: var(--c-text-muted);
  font-style: italic;
  line-height: 1.65;
}

/* --- Operational reality — narrative + pillars ------------ */
.op-reality__content {
  max-width: 600px;
  margin-bottom: 52px;
}
.op-reality__content p {
  font-size: 16px;
  color: var(--c-text);
  line-height: 1.86;
  margin-bottom: 28px;
}
.op-reality__content p:last-child { margin-bottom: 0; }

/* Accent bar modifier — use on conceptual/definitional narrative sections only.
   Not for practical engagement text, FAQs, or grid sections. */
.op-reality__content--accent {
  border-left: 3px solid var(--c-accent);
  padding-left: 22px;
}

/* Paragraph utilities for op-reality__content prose blocks.
   op-gap    — extra vertical breathing before a new idea group.
   op-emphasis — one key sentence per section; slightly elevated weight and contrast. */
.op-reality__content p.op-gap      { margin-top: 36px; }
.op-reality__content p.op-emphasis { font-weight: var(--fw-semibold); color: var(--c-dark); }
.op-reality--wide .op-reality__content { max-width: 760px; }

.pillar-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 36px;
}
.pillar-item {
  border-top: 2px solid var(--c-accent);
  padding-top: 22px;
}
.pillar-item h3 {
  font-family: var(--f-body);
  font-size: 15px;
  font-weight: var(--fw-bold);
  color: var(--c-dark);
  margin-bottom: 10px;
  line-height: 1.3;
}
.pillar-item p {
  font-size: 14px;
  color: var(--c-text-muted);
  line-height: 1.75;
}

/* --- Short operational transition bridge ------------------ */
.op-bridge {
  padding: 36px 0;
  border-top: 1px solid var(--c-border);
  border-bottom: 1px solid var(--c-border);
}
.op-bridge p {
  max-width: 680px;
  font-size: 16px;
  font-style: italic;
  color: var(--c-text-muted);
  line-height: 1.75;
}

/* --- Capability cards (2×2) ------------------------------- */
.cap-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 32px;
  row-gap: 40px;
  margin-bottom: 32px;
}
.cap-card {
  padding: 28px 28px 30px;
  border: 1px solid var(--c-border-subtle);
  border-radius: var(--r);
  background: var(--c-white);
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  transition: box-shadow 0.18s ease, transform 0.18s ease;
}
.cap-card:hover {
  box-shadow: 0 6px 18px rgba(0,0,0,0.06);
  transform: translateY(-1px);
}
.cap-card__icon {
  display: block;
  color: var(--c-accent);
  opacity: 0.80;
  margin-bottom: 16px;
}
.cap-card__logo-wrap {
  display: flex;
  align-items: flex-start;
  height: 60px;
  margin-bottom: 16px;
}
.cap-card__logo-wrap--badge {
  height: 60px;
  margin-bottom: 16px;
}
.cap-card__logo {
  display: block;
  width: auto;
  max-width: 148px;
  max-height: 46px;
  object-fit: contain;
  opacity: 0.88;
}
.cap-card__logo--lf-badge {
  max-width: 46px;
  max-height: 46px;
  opacity: 0.92;
}
.cap-card h3 {
  font-family: var(--f-card-title);
  font-size: 18px;
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
  margin-bottom: 14px;
  line-height: 1.3;
}
.cap-card__intro {
  font-size: 14px;
  color: var(--c-text-muted);
  line-height: 1.7;
  margin-bottom: 22px;
}
.cap-card__label {
  font-size: 11px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--c-text-muted);
  margin-bottom: 10px;
}
.cap-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid var(--c-border);
  padding-top: 18px;
}
.cap-card ul li {
  font-size: 13px;
  color: var(--c-text-muted);
  line-height: 1.7;
  margin-bottom: 10px;
  padding-left: 16px;
  position: relative;
}
.cap-card ul li:last-child { margin-bottom: 0; }
.cap-card ul li::before {
  content: '›';
  position: absolute;
  left: 0;
  color: var(--c-accent);
  font-size: 15px;
  line-height: 1.5;
}

/* --- Cap-grid: 3-column variant -------------------------- */
.cap-grid--3col { grid-template-columns: repeat(3, 1fr); }
.cap-grid--3col .cap-card { padding: 26px 24px 28px; }
.cap-grid--3col .cap-card__intro { margin-bottom: 18px; }
.cap-grid--3col .cap-card ul li { margin-bottom: 7px; }
.cap-grid--accented .cap-card {
  border-top: 3px solid var(--c-accent);
}

/* --- MDR reference callout -------------------------------- */
.mdr-callout {
  padding: 22px 28px;
  background: var(--c-white);
  border-left: 3px solid var(--c-accent);
  border-radius: 0 var(--r) var(--r) 0;
  border: 1px solid var(--c-border);
  border-left-width: 3px;
}
.mdr-callout p {
  font-size: 14px;
  color: var(--c-text-muted);
  line-height: 1.75;
}
.mdr-callout a { color: var(--c-primary); }

/* --- Distribution cards ----------------------------------- */
.distro-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 18px;
}
.distro-card {
  display: flex;
  flex-direction: column;
  padding: 18px 20px;
  border: 1px solid var(--c-border-subtle);
  border-radius: var(--r);
  background: var(--c-white);
  text-decoration: none;
  transition: border-color var(--t), box-shadow var(--t);
}
.distro-card:hover {
  border-color: var(--c-primary);
  box-shadow: 0 2px 10px rgba(0,138,201,0.10);
}
.distro-card__name {
  font-size: 15px;
  font-weight: var(--fw-bold);
  color: var(--c-dark);
  line-height: 1.3;
  margin-bottom: 4px;
  transition: color var(--t);
}
.distro-card:hover .distro-card__name { color: var(--c-primary); }
.distro-card__note {
  font-size: 12px;
  color: var(--c-text-muted);
  line-height: 1.4;
}

/* --- Environments list ------------------------------------ */
.env-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px 48px;
  list-style: none;
  padding: 0;
  margin: 0;
  max-width: 800px;
  font-size: inherit;
  line-height: inherit;
}
.env-list li {
  font-size: inherit;
  color: var(--c-text);
  line-height: 1.72;
  padding-left: 18px;
  position: relative;
}
.env-list li::before {
  content: '–';
  position: absolute;
  left: 0;
  color: var(--c-accent);
}
.env-list--single { grid-template-columns: 1fr; gap: 10px; }

/* --- Flat list: inline narrative bullets ------------------- */
.flat-list {
  margin: 14px 0 18px 0;
  padding-left: 0;
  list-style: none;
}
.flat-list li {
  position: relative;
  margin-bottom: 12px;
  padding-left: 30px;
  line-height: 1.6;
}
.flat-list li:last-child { margin-bottom: 0; }
.flat-list li::before {
  content: '';
  position: absolute;
  left: 14px;
  top: 0.68em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(58, 58, 58, 0.7);
}
.flat-list + .flat-list-break { margin-top: 10px; }

/* --- Good fit cards --------------------------------------- */
.goodfit-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.goodfit-item {
  padding: 28px 32px;
  border: 1px solid var(--c-border-subtle);
  border-left: 3px solid #c8cdd4;
  border-radius: var(--r);
  background: var(--c-white);
  transition: border-left-color var(--t);
}
.goodfit-item:hover { border-left-color: var(--c-accent); }
.goodfit-item p {
  font-size: 14px;
  color: var(--c-text-muted);
  line-height: 1.82;
}

/* --- Nav active state (service pages) --------------------- */
.site-nav a.is-active {
  color: var(--c-primary);
  background: transparent;
}

/* ============================================================
   LINUX PAGE — RESPONSIVE
   ============================================================ */

@media (max-width: 1024px) {
  /* Hide non-Type-A hero panels at tablet, matching hero__terminal behavior */
  .hero__cred-panel:not(.hero__cred-panel--type-a) { display: none; }

  /* Comparison: stack to single column */
  .compare-block { grid-template-columns: 1fr; }
  .compare-col--ats { border-top: 3px solid var(--c-accent); }

  /* Pillar grid: 2×2 on tablet */
  .pillar-grid { grid-template-columns: repeat(2, 1fr); }

  /* Distro grid: 2 columns */
  .distro-grid { grid-template-columns: repeat(2, 1fr); }

  /* Cap-grid 3-col: collapse to 2 on tablet */
  .cap-grid--3col { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  /* Capability cards: single column */
  .cap-grid { grid-template-columns: 1fr; }
  .ai-help-grid { grid-template-columns: 1fr; }
  .ai-help-card { min-height: 0; }

  /* Good fit: single column */
  .goodfit-grid { grid-template-columns: 1fr; }

  /* Environments: single column */
  .env-list { grid-template-columns: 1fr; gap: 8px; }

  /* Pillar: single column */
  .pillar-grid { grid-template-columns: 1fr; gap: 20px; }
}

@media (max-width: 480px) {
  /* Distro: single column */
  .distro-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   NAV FLYOUT — Infrastructure Operations
   ============================================================ */

/* Stretch the nav and its list to the full header height so
   `top: 100%` on the panel lands at the header's bottom edge. */
.site-nav { align-self: stretch; }
.site-nav__desktop { height: 100%; }

.nav-item--has-flyout {
  align-self: stretch;
  position: relative;
  display: flex;
  align-items: center;
  z-index: 1;
}

.nav-item--has-flyout.is-open {
  z-index: 30;
}

/* Trigger: inherits .site-nav a styles, adds flex for the chevron */
.site-nav .nav-flyout__trigger {
  display: flex;
  align-items: center;
  gap: 5px;
}

.nav-flyout__chevron {
  width: 11px;
  height: 11px;
  color: var(--c-text-muted);
  flex-shrink: 0;
  transition: transform var(--t), color var(--t);
  position: relative;
  top: 1px; /* optical alignment with text baseline */
}
.nav-item--has-flyout.is-open .nav-flyout__trigger {
  background: var(--c-bg-alt);
  color: var(--c-primary);
}
.nav-item--has-flyout.is-open .nav-flyout__chevron {
  transform: rotate(180deg);
  color: var(--c-primary);
}

/* Panel */
.nav-flyout__panel {
  position: absolute;
  top: 100%;
  left: var(--nav-panel-offset-x, 0);
  width: min(620px, calc(100vw - 48px));
  max-width: calc(100vw - 48px);
  background: var(--c-white);
  border: 1px solid var(--c-border);
  border-top: none;
  border-radius: 0 0 var(--r) var(--r);
  box-shadow: 0 12px 32px rgba(0,0,0,0.16), 0 3px 8px rgba(0,0,0,0.09);
  opacity: 0;
  transform: translateY(-4px);
  pointer-events: none;
  transition: opacity 0.15s ease, transform 0.15s ease;
  z-index: 10;
}
.nav-item--has-flyout.is-open .nav-flyout__panel {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* Two-column inner grid */
.nav-flyout__inner {
  display: grid;
  grid-template-columns: minmax(180px, 35%) minmax(0, 1fr);
}

/* Left column */
.nav-flyout__left {
  padding: 24px 20px 24px 24px;
  border-right: 1px solid var(--c-border);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.nav-flyout__eyebrow {
  display: block;
  font-size: 10px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--c-accent);
}
.nav-flyout__desc {
  font-size: 13px;
  font-weight: var(--fw-light);
  color: var(--c-text-muted);
  line-height: 1.65;
  flex: 1;
}
.nav-flyout__overview {
  display: inline-flex;
  align-items: center;
  font-family: var(--f-body);
  font-size: 15px;
  font-weight: var(--fw-light);
  letter-spacing: 0.01em;
  color: var(--c-primary);
  transition: color var(--t);
}
.nav-flyout__overview::after {
  content: ' ›';
  font-size: 16px;
  line-height: 1;
  margin-left: 2px;
}
.nav-flyout__overview:hover { color: var(--c-primary-light); }

/* Right column */
.nav-flyout__right {
  padding: 26px 24px 20px 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.nav-flyout__links {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.nav-flyout__link--lead               { margin-top: 8px; margin-bottom: 6px; }
.nav-flyout__links .nav-flyout__link--lead a { font-weight: var(--fw-regular); }
.nav-flyout__links a {
  display: block;
  padding: 6px 10px;
  font-family: var(--f-body);
  font-size: 14px;
  font-weight: var(--fw-light);
  letter-spacing: 0.01em;
  line-height: 1.35;
  color: var(--c-dark);
  transition: color var(--t), font-weight var(--t);
}
.nav-flyout__links a:hover {
  background: none;
  color: var(--c-primary);
  font-weight: var(--fw-regular);
  text-decoration: underline;
}

.nav-flyout__group { display: flex; flex-direction: column; }
.nav-flyout__group + .nav-flyout__group { margin-top: 14px; }
.nav-flyout__group-label {
  display: block;
  font-size: 12px;
  font-weight: var(--fw-semibold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--c-text-muted);
  padding: 0 10px 6px;
  border-bottom: 1px solid rgba(0,0,0,0.05);
  margin-bottom: 4px;
}

/* Mobile: panel is suppressed; mobile menu handles nav as a flat list */
@media (max-width: 768px) {
  .nav-flyout__panel { display: none !important; }
  .nav-flyout__chevron { display: none; }
  .site-nav .nav-flyout__trigger { display: block; }
}

/* =====================================================
   NAV DROPDOWN (simple single-column)
   Used by: Expertise
   ===================================================== */
.nav-item--has-dropdown {
  align-self: stretch;
  position: relative;
  display: flex;
  align-items: center;
  z-index: 1;
}

.nav-item--has-dropdown.is-open {
  z-index: 30;
}
.site-nav .nav-dropdown__trigger {
  display: flex;
  align-items: center;
  gap: 5px;
}
.nav-item--has-dropdown.is-open .nav-dropdown__trigger {
  background: var(--c-bg-alt);
  color: var(--c-primary);
}
.nav-item--has-dropdown.is-open .nav-flyout__chevron {
  transform: rotate(180deg);
  color: var(--c-primary);
}
.nav-item--has-dropdown .nav-dropdown__menu {
  position: absolute;
  top: 100%;
  left: var(--nav-panel-offset-x, 0);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  height: auto;
  min-width: 240px;
  background: var(--c-white);
  border: 1px solid var(--c-border);
  border-top: none;
  border-radius: 0 0 var(--r) var(--r);
  box-shadow: 0 8px 20px rgba(0,0,0,0.09), 0 2px 6px rgba(0,0,0,0.05);
  padding: 8px 0;
  list-style: none;
  margin: 0;
  opacity: 0;
  transform: translateY(-4px);
  pointer-events: none;
  transition: opacity 0.15s ease, transform 0.15s ease;
  z-index: 10;
}
#nav-item-open-source .nav-dropdown__menu,
#nav-item-a-team .nav-dropdown__menu {
  left: auto;
  right: 0;
}
.nav-item--has-dropdown.is-open .nav-dropdown__menu {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.nav-dropdown__menu a {
  display: block;
  padding: 6px 24px;
  font-family: var(--f-body);
  font-size: 14px;
  font-weight: var(--fw-light);
  letter-spacing: 0.01em;
  color: var(--c-dark);
  text-align: left;
  transition: color var(--t), font-weight var(--t);
  white-space: normal;
}
.nav-dropdown__menu a:hover {
  background: none;
  color: var(--c-primary);
  font-weight: var(--fw-regular);
  text-decoration: underline;
}

@media (max-width: 768px) {
  .nav-dropdown__menu { display: none !important; }
  .nav-item--has-dropdown .nav-flyout__chevron { display: none; }
  .site-nav .nav-dropdown__trigger { display: block; }
}

/* ============================================================
   PRODUCTION INFRASTRUCTURE MANAGEMENT — Page refinements
   ============================================================ */

/* Hero: breathing room between eyebrow → H1 → paragraphs → CTA */
.pim-page .hero__eyebrow                          { margin-bottom: 22px; }
.pim-page .hero h1                                { margin-bottom: 30px; }
.pim-page .hero__content > p:not(.hero__eyebrow)  { margin-bottom: 20px; }
.pim-page .hero__content .btn                     { margin-top: 26px; }
.pim-page .hero p                                 { max-width: 485px; }

/* Operational context: more separation from hero */
.pim-page section:nth-of-type(2) { padding-top: 128px; }

/* Section title → subtitle gap (responsibilities section) */
.pim-page .section-title { margin-bottom: 22px; }

/* Narrative sections: left-aligned, widened to avoid half-width appearance
   Matches the horizontal alignment of hero, grid, and FAQ sections */
.pim-page .op-reality__content  { max-width: 760px; }

/* Environments/bullet list: matches narrative column width */
.pim-page .env-list { gap: 22px 48px; max-width: 760px; }
.pim-page .op-reality + .env-list { margin-top: 20px; }

/* Sidebar pricing link: softer than full primary on dark panel */
.pim-page .hero__cred-value a       { color: var(--c-primary-light); }
.pim-page .hero__cred-value a:hover { color: #fff; }

/* ============================================================
   HERO — SIMPLE VARIANT (dark-bg hero with cred panel, no photo)
   ============================================================ */
.hero--simple { min-height: 480px; }
.hero--simple .hero__content { padding: 88px 0; }
.hero--simple .hero p        { font-size: 15px; }
.hero--simple .hero__media-img { object-position: 62% center; }
.hero--simple::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-max-a)) 0%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-max-a)) 36%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-mid-a)) 56%,
    rgba(var(--hero-overlay-type-a-rgb), 0.22) 73%,
    rgba(var(--hero-overlay-type-a-rgb), 0) 90%
  );
  z-index: 1;
}
.hero--simple::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(var(--hero-overlay-type-a-rgb), 0) 70%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-tail-a)) 100%
  );
  z-index: 2;
  pointer-events: none;
}

.hero--backups { min-height: 550px; }
.hero--backups .hero__media-img {
  object-position: center center;
  filter: saturate(0.68) brightness(0.74);
}
.hero--backups::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-max-a)) 0%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-max-a)) 35%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-mid-a)) 55%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-feather-a)) 72%,
    rgba(var(--hero-overlay-type-a-rgb), 0) 90%
  );
  z-index: 1;
}
.hero--backups::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      to right,
      rgba(var(--hero-overlay-type-a-rgb), 0) 70%,
      rgba(var(--hero-overlay-type-a-rgb), 0.12) 100%
    ),
    linear-gradient(
      to top,
      rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-floor-a)) 0%,
      rgba(var(--hero-overlay-type-a-rgb), 0) 38%
    );
  z-index: 2;
  pointer-events: none;
}
.hero--backups .hero__content { padding: 80px 0; }
.hero--backups .hero p        { font-size: 15px; }

/* ============================================================
   SECURITY MDR PAGE
   ============================================================ */

/* Hero: breathing room between eyebrow → H1 → paragraphs → CTA */
.addon-page .hero__eyebrow                          { margin-bottom: 22px; }
.addon-page .hero h1                                { margin-bottom: 30px; }
.addon-page .hero__content > p:not(.hero__eyebrow)  { margin-bottom: 20px; }
.addon-page .hero__content .btn                     { margin-top: 26px; }
.addon-page .hero p                                 { max-width: 485px; }

/* Operational context: more separation from hero */
.addon-page section:nth-of-type(2) { padding-top: 128px; }

/* Section title → subtitle gap (responsibilities section) */
.addon-page .section-title,
.engagement-pricing-page .section-title { margin-bottom: 22px; }

/* Narrative sections: widened to match grid and hero alignment */
.addon-page .op-reality__content { max-width: 760px; }
.addon-page .op-reality > .op-reality__content:last-child,
.engagement-pricing-page .op-reality > .op-reality__content:last-child { margin-bottom: 0; }

/* Environments bullet list: matches narrative column width */
.addon-page .env-list { gap: 22px 48px; max-width: 760px; }

/* Sidebar link colour: softer than full primary on dark panel */
.addon-page .hero__cred-value a       { color: var(--c-primary-light); }
.addon-page .hero__cred-value a:hover { color: var(--c-white); }

/* ---- accent bars: handled by .op-reality__content--accent (see component layer) --- */

/* ---- engagement section: wider column, no indent — signals intentional contrast
        with accented conceptual sections above --------------------------------- */
.addon-page section:nth-of-type(6) .op-reality__content { max-width: 800px; }

/* ---- paragraph rhythm ------------------------------------- */
/* Reduce default gap between consecutive paragraphs on this page */
.addon-page .op-reality__content p          { margin-bottom: 20px; }
.addon-page .op-reality__content p:last-child { margin-bottom: 0; }

/* List → concluding paragraph rhythm: consistent gap after inline bullet lists */
.op-reality__content > ul.env-list + p { margin-top: 28px; }

/* ---- section header: increase title → content gap on narrative sections --- */
.addon-page section:nth-of-type(2) .section-header,
.addon-page section:nth-of-type(3) .section-header,
.addon-page section:nth-of-type(5) .section-header,
.addon-page section:nth-of-type(6) .section-header { margin-bottom: 48px; }

/* ---- eyebrow → title gap: tighten in responsibility section --- */
.addon-page section:nth-of-type(4) .section-eyebrow { margin-bottom: 8px; }

/* ---- alternating section contrast: subtle increase ----------- */
.addon-page .section--alt { background: var(--c-bg-alt); }

/* ============================================================
   BACKUPS PAGE
   ============================================================ */

.backups-page .hero p { max-width: 485px; }
.backups-page section:nth-of-type(3) .env-list { margin-bottom: 20px; }

/* Narrative sections: widened to match grid and hero alignment */
.backups-page .op-reality__content        { max-width: 760px; }
.backups-page .op-reality > .op-reality__content:not(:last-child) { margin-bottom: 28px; }
.backups-page .op-reality > p,
.backups-page .op-reality > .env-list     { max-width: 760px; }
.backups-page .op-reality > p             { margin: 0 0 20px; }
.backups-page .op-reality > .env-list     { margin-top: 0; }
.backups-page .op-reality > ul.env-list + p { margin-top: 28px; }

/* Paragraph rhythm: tighter than global default */
.backups-page .op-reality__content p           { margin-bottom: 20px; }
.backups-page .op-reality__content p:last-child { margin-bottom: 0; }

/* ============================================================
   ENGAGEMENT & PRICING — PAGE
   ============================================================ */

/* Narrative sections: widened to match grid and hero alignment */
.engagement-pricing-page .op-reality__content { max-width: 760px; }
.engagement-pricing-page .page-hero--type-b + .section { padding-top: 104px; }
.engagement-pricing-page #calculator.section { padding-top: 116px; padding-bottom: 116px; }

/* Title-only narrative sections use a slightly tighter header-to-body gap. */
.engagement-pricing-page section:nth-of-type(1) .section-header,
.engagement-pricing-page section:nth-of-type(4) .section-header,
.engagement-pricing-page section:nth-of-type(5) .section-header { margin-bottom: 48px; }

/* Paragraph rhythm: tighter than global default */
.engagement-pricing-page .op-reality__content p           { margin-bottom: 20px; }
.engagement-pricing-page .op-reality__content p:last-child { margin-bottom: 0; }
.calc-intro {
  max-width: 760px;
  margin: -16px 0 34px;
  font-size: 14px;
  line-height: 1.7;
  color: var(--c-text-muted);
}

/* ---- Pricing table blocks ---- */
.pricing-table-block              { margin-bottom: 68px; }
.pricing-table-block:last-child   { margin-bottom: 0; }
.pricing-table-block__title {
  font-size: 17px;
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
  margin-bottom: 14px;
}
.pricing-table-block__title a {
  color: inherit;
  text-decoration: none;
}
.pricing-table-block__title a:hover {
  color: var(--c-primary);
}
.pricing-table-block__note {
  margin: 12px 0 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--c-text-muted);
}

/* ---- Calculator layout ---- */
.calc-layout {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 56px;
  align-items: start;
}

/* ---- Calculator input groups ---- */
.calc-group {
  border: 1px solid var(--c-border);
  border-radius: var(--r);
  background: var(--c-white);
  padding: 24px 28px;
  margin: 0 0 24px;
}
.calc-group:last-child { margin-bottom: 0; }
.calc-group__title {
  font-size: 15px;
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
  margin-bottom: 6px;
  padding: 0 6px;
  margin-left: -6px;
}
.calc-group__optional {
  font-size: 12px;
  font-weight: var(--fw-regular);
  color: var(--c-text-muted);
  margin-left: 6px;
}
.calc-group__desc {
  font-size: 13px;
  color: var(--c-text-muted);
  line-height: 1.6;
  margin: 0 0 6px;
}
.calc-group__link {
  margin: 0 0 8px;
}
.calc-group__link:last-of-type {
  margin-bottom: 18px;
}
.calc-group__link a {
  font-size: 12px;
  color: var(--c-primary);
  text-decoration: none;
}
.calc-group__link a:hover { color: var(--c-primary-light); }
.calc-group__link .link-arrow::after { font-size: 15px; }
.calc-rule {
  margin: 4px 0 20px;
  font-size: 13px;
  line-height: 1.65;
  color: var(--c-text-muted);
}
.calc-group__meta,
.calc-group__notice {
  font-size: 12px;
  line-height: 1.6;
}
.calc-group__meta {
  margin: 0 0 6px;
  color: var(--c-text-muted);
}
.calc-group__notice {
  min-height: 19px;
  margin: 0 0 12px;
  color: var(--c-text-muted);
}

/* ---- Calculator fields ---- */
.calc-field              { margin-bottom: 14px; }
.calc-field:last-child   { margin-bottom: 0; }
.calc-field__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 78px 148px;
  align-items: center;
  column-gap: 18px;
}
.calc-field__label {
  font-size: 13px;
  font-weight: var(--fw-regular);
  color: var(--c-text);
  min-width: 0;
}
.calc-field__input {
  width: 78px;
  padding: 7px 10px;
  font-family: var(--font-inter);
  font-size: 14px;
  color: var(--c-dark);
  background: var(--c-white);
  border: 1px solid var(--c-border);
  border-radius: var(--r);
  text-align: right;
  transition: border-color var(--t);
  -moz-appearance: textfield;
}
.calc-field__input::-webkit-outer-spin-button,
.calc-field__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.calc-field__input:focus {
  outline: none;
  border-color: var(--c-primary);
  box-shadow: 0 0 0 2px rgba(0, 138, 201, 0.12);
}
.calc-field__input[aria-invalid="true"] {
  border-color: var(--c-primary);
  box-shadow: 0 0 0 2px rgba(0, 138, 201, 0.08);
}
.calc-field__rate {
  font-size: 12px;
  color: var(--c-text-muted);
  white-space: nowrap;
  width: 148px;
  text-align: right;
}

/* ---- Summary panel ---- */
.calc-summary {
  padding-top: 11px;
}
.calc-summary__inner {
  position: sticky;
  top: 32px;
  background: var(--c-white);
  border: 1px solid var(--c-border);
  border-radius: var(--r);
  padding: 28px 28px 24px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03);
}
.calc-summary__heading {
  font-size: 12px;
  font-weight: var(--fw-bold);
  color: var(--c-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  margin-bottom: 18px;
}
.calc-summary__systems {
  font-size: 13px;
  color: var(--c-text-muted);
  line-height: 1.6;
  margin-bottom: 14px;
}
.calc-summary__lines {
  margin-bottom: 0;
}
.calc-summary__line {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 9px 0;
  border-bottom: 1px solid var(--c-border-subtle);
}
.calc-summary__line:last-child {
  border-bottom: none;
}
.calc-summary__line-label {
  font-size: 13px;
  color: var(--c-text);
  line-height: 1.55;
  padding-right: 16px;
}
.calc-summary__line-value {
  font-size: 14px;
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
  white-space: nowrap;
  margin-left: 18px;
}
.calc-summary__total {
  border-top: 1px solid var(--c-border);
  margin-top: 20px;
  padding: 18px 0 16px;
}
.calc-summary__total-label {
  display: block;
  font-size: 12px;
  font-weight: var(--fw-bold);
  color: var(--c-text-muted);
  letter-spacing: 0.08em;
  margin-bottom: 8px;
}
.calc-summary__total-value {
  display: block;
  font-size: 22px;
  font-weight: 700;
  color: var(--c-dark);
  white-space: nowrap;
}
.calc-summary__notes {
  border-top: 1px solid var(--c-border-subtle);
  padding-top: 14px;
}
.calc-summary__notes p {
  font-size: 12px;
  color: var(--c-text-muted);
  line-height: 1.6;
  margin: 0 0 6px;
}
.calc-summary__notes p:last-child { margin-bottom: 0; }

/* ---- Responsive ---- */
@media (max-width: 860px) {
  .calc-layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .calc-summary {
    padding-top: 0;
  }
  .calc-summary__inner {
    position: static;
  }
  .calc-field__row {
    grid-template-columns: minmax(0, 1fr) 78px;
    row-gap: 6px;
  }
  .calc-field__rate {
    grid-column: 2;
    width: auto;
  }
}

/* ============================================================
   OPERATIONS HUB PAGE (section-main-page, lighter Type A)
   ============================================================ */

/* Hero — lighter Type A: single column, no cred panel, reduced height */
.hero--operations-hub { min-height: 440px; }
.hero--operations-hub .hero__inner {
  grid-template-columns: 1fr;
  gap: 0;
}
.hero--operations-hub .hero__content {
  max-width: 660px;
  padding: 72px 0;
}
.hero--operations-hub .hero__cred-panel { display: none; }
.hero--operations-hub .hero__eyebrow { margin-bottom: 18px; }
.hero--operations-hub h1 { margin-bottom: 22px; }
.hero--operations-hub .hero__content > p:not(.hero__eyebrow) {
  max-width: 580px;
  margin-bottom: 0;
}
.hero--operations-hub::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-max-a));
  z-index: 1;
}
.hero--operations-hub::after {
  content: '';
  position: absolute;
  inset: 0;
  background: none;
  z-index: 2;
}
.hero--company-hub::before {
  background: linear-gradient(
    to right,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-max-a)) 0%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-max-a)) 36%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-strong-a)) 60%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-soft-a)) 75%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-feather-a)) 100%
  );
}
.expertise-hub-page .hero__media-img { transform: scaleX(-1); }

/* Scope / narrative content blocks */
.operations-hub-scope {
  max-width: 700px;
}
.operations-hub-scope p {
  font-size: 15px;
  color: var(--c-text);
  line-height: 1.75;
  margin-bottom: 18px;
}
.operations-hub-scope p:last-child { margin-bottom: 0; }
.operations-hub-scope ul {
  margin-top: 20px;
  padding-left: 20px;
  list-style: disc;
}
.operations-hub-scope li {
  font-size: 15px;
  color: var(--c-text);
  line-height: 1.75;
  margin-bottom: 6px;
}

/* Section map — grouped text links with descriptions */
.section-map {
  max-width: 760px;
}
.company-hub-page .operations-hub-scope + .section-map {
  margin-top: 3.3rem;
}
.section-map__group {
  margin-bottom: 56px;
}
.section-map__group + .section-map__group { margin-top: 72px; }
.section-map__group:last-child { margin-bottom: 0; }
.section-map__group-heading {
  font-family: var(--f-display);
  font-size: 12px;
  font-weight: var(--fw-semibold);
  color: var(--c-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 24px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--c-border);
}
.section-map__entry {
  margin-bottom: 38px;
}
.section-map__entry:last-child { margin-bottom: 0; }
.section-map__entry--core {
  position: relative;
  padding-left: 16px;
  border-left: 1px solid #c9d5df;
}
.section-map__entry--core::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  bottom: 2px;
  width: 3px;
  background: var(--c-primary);
  border-radius: 2px;
}
.section-map__title {
  font-family: var(--f-display);
  font-size: 17px;
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
  margin: 0 0 5px;
}
.section-map__entry--core .section-map__title {
  font-weight: 650;
}
.section-map__title a {
  color: inherit;
  text-decoration: none;
}
.section-map__title a:hover {
  color: inherit;
}
.section-map__entry p {
  font-size: 14px;
  color: var(--c-text-muted);
  line-height: 1.7;
  max-width: 620px;
  margin: 0 0 6px;
}
.section-map__more {
  font-size: 13px;
  font-weight: var(--fw-regular);
  color: var(--c-primary);
  text-decoration: none;
  transition: color var(--t);
}
.section-map__more::after {
  content: " ->";
}
.section-map__more:hover {
  color: var(--c-primary-light);
}

/* ================================================================
   RESOURCES - Infrastructure Perspective
   ================================================================ */
.infrastructure-perspective-page {
  background: linear-gradient(180deg, rgba(247, 248, 249, 0.72) 0%, #fff 320px);
}
.page-hero--infrastructure-perspective .page-hero__media img {
  object-position: center center;
  filter: saturate(0.58) brightness(0.84);
}
.page-hero--ip-hub .page-hero__media img {
  object-position: center center;
  filter: saturate(0.58) brightness(0.84);
}
.page-hero--ip-managed-hosting .page-hero__media img {
  object-position: 42% center;
  filter: saturate(0.52) brightness(0.86);
}
.page-hero--ip-devops .page-hero__media img {
  object-position: 68% center;
  filter: saturate(0.62) brightness(0.82);
}
.page-hero--ip-fragile-systems .page-hero__media img {
  object-position: 34% center;
  transform: scaleX(-1);
  filter: saturate(0.56) brightness(0.83);
}
.page-hero--ip-ownership .page-hero__media img {
  object-position: 56% center;
  filter: saturate(0.60) brightness(0.85);
}
.page-hero--ip-security-audits .page-hero__media img {
  object-position: 74% center;
  filter: saturate(0.50) brightness(0.80) contrast(1.04);
}
.page-hero--ip-llms .page-hero__media img {
  object-position: 46% center;
  transform: scaleX(-1);
  filter: saturate(0.64) brightness(0.83);
}
.infrastructure-perspective-page .page-hero--type-b + .section {
  padding-top: 104px;
}
.infrastructure-perspective-page .section-header {
  margin-bottom: 48px;
}
.infrastructure-perspective-page .op-reality__content {
  max-width: 760px;
}
.infrastructure-perspective-page .op-reality__content p {
  margin-bottom: 20px;
}
.infrastructure-perspective-page .op-reality__content p:last-child {
  margin-bottom: 0;
}
.infrastructure-perspective-page .resource-copy-heading {
  font-family: var(--f-display);
  font-size: clamp(19px, 2.2vw, 24px);
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
  line-height: 1.32;
  margin: 44px 0 16px;
}
.infrastructure-perspective-page .resource-copy-list {
  list-style: disc;
  padding-left: 22px;
  margin: 0 0 24px;
}
.infrastructure-perspective-page .resource-copy-list li {
  font-size: 15px;
  color: var(--c-text);
  line-height: 1.75;
  margin-bottom: 8px;
  padding-left: 2px;
}
.infrastructure-perspective-page .resource-copy-list li:last-child {
  margin-bottom: 0;
}
.infrastructure-perspective-page .op-reality__content > .resource-copy-list + p {
  margin-top: 28px;
}
.infrastructure-perspective-page .resource-explainers {
  max-width: 820px;
}
.infrastructure-perspective-page .resource-explainers .section-map__entry {
  padding-bottom: 38px;
  margin-bottom: 38px;
  border-bottom: 1px solid var(--c-border);
}
.infrastructure-perspective-page .resource-explainers .section-map__entry:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: 0;
}
.infrastructure-perspective-page .resource-explainers .section-map__title {
  font-size: 19px;
  margin-bottom: 10px;
}
.infrastructure-perspective-page .resource-explainers .section-map__title a:hover {
  color: var(--c-primary);
}
.infrastructure-perspective-page .resource-explainers .section-map__entry p {
  max-width: 760px;
  margin: 0 0 16px;
  font-size: 15px;
  color: var(--c-text);
  line-height: 1.76;
}
.infrastructure-perspective-page .resource-explainers .section-map__entry p:last-child {
  margin-bottom: 0;
}
.infrastructure-perspective-page .resource-explainers .resource-explainer__description {
  color: var(--c-text-muted);
}
.infrastructure-perspective-page .resource-explainers .resource-explainer__takeaway {
  color: var(--c-dark);
}
.infrastructure-perspective-page .resource-explainers .resource-explainer__takeaway strong {
  font-weight: var(--fw-bold);
}

/* ================================================================
   EXPERTISE — Linux Platforms
   ================================================================ */
.linux-platforms-page {
  background: linear-gradient(180deg, rgba(247, 248, 249, 0.72) 0%, #fff 320px);
}
.page-hero--linux-platforms .page-hero__media img {
  filter: saturate(0.55) brightness(0.85);
}
.linux-platforms-page .page-hero--type-b + .section { padding-top: 104px; }
.linux-platforms-page .op-reality__content { max-width: 760px; }
.linux-platforms-page .env-list { gap: 22px; max-width: 760px; }
.linux-platforms-page .op-reality__content p           { margin-bottom: 20px; }
.linux-platforms-page .op-reality__content p:last-child { margin-bottom: 0; }

/* Platform family comparison table */
.lp-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.lp-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 720px;
}
.lp-table__caption {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.lp-table thead th {
  padding: 12px 16px 14px;
  border-bottom: 2px solid var(--c-border);
  text-align: left;
  font-size: 11px;
  font-weight: var(--fw-semibold);
  color: var(--c-text);
  text-transform: uppercase;
  letter-spacing: 0.07em;
}
.lp-table tbody th,
.lp-table tbody td {
  padding: 18px 16px;
  border-bottom: 1px solid var(--c-border);
  text-align: left;
  vertical-align: top;
  font-size: 14px;
  color: var(--c-text-muted);
  line-height: 1.6;
}
.lp-table tbody tr:last-child th,
.lp-table tbody tr:last-child td {
  border-bottom: none;
}
.lp-table tbody th {
  font-size: 14px;
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
  white-space: nowrap;
  min-width: 140px;
}
.lp-table__sub {
  display: block;
  font-size: 12px;
  font-weight: var(--fw-regular);
  color: var(--c-text-muted);
  margin-top: 4px;
  white-space: nowrap;
}

@media (max-width: 768px) {
  .lp-table tbody th { white-space: normal; }
}

/* ================================================================
   EXPERTISE — FreeBSD Platforms
   ================================================================ */
.freebsd-platforms-page {
  background: linear-gradient(180deg, rgba(247, 248, 249, 0.72) 0%, #fff 320px);
}
.page-hero--freebsd-platforms .page-hero__media img {
  filter: saturate(0.55) brightness(0.85);
}
.freebsd-platforms-page .page-hero--type-b + .section { padding-top: 104px; }
.freebsd-platforms-page .op-reality__content { max-width: 760px; }
.freebsd-platforms-page .env-list { gap: 22px; max-width: 760px; }
.freebsd-platforms-page .op-reality__content p           { margin-bottom: 20px; }
.freebsd-platforms-page .op-reality__content p:last-child { margin-bottom: 0; }

/* FreeBSD coverage structured list */
.fbsd-coverage__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.fbsd-coverage__list li {
  padding: 20px 0;
  border-bottom: 1px solid var(--c-border);
  line-height: 1.6;
}
.fbsd-coverage__list li:last-child {
  border-bottom: none;
}
.fbsd-coverage__list li strong {
  display: block;
  font-size: 15px;
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
  margin-bottom: 6px;
}
.fbsd-coverage__list li span {
  display: block;
  font-size: 14px;
  color: var(--c-text-muted);
  line-height: 1.7;
}

/* Closing / orientation section — very light */
.operations-hub-closing {
  padding: 64px 0;
}
.high-traffic-page {
  background: linear-gradient(180deg, rgba(247, 248, 249, 0.72) 0%, #fff 320px);
}
.page-hero--high-traffic .page-hero__media {
  background:
    radial-gradient(circle at top right, rgba(61, 143, 163, 0.14), transparent 34%),
    linear-gradient(180deg, #2a323b 0%, #1d252e 100%);
}
.high-traffic-page .page-hero--type-b + .section { padding-top: 104px; }
.high-traffic-page .op-reality__content { max-width: 760px; }
.high-traffic-page .env-list { gap: 22px; max-width: 760px; }
.high-traffic-page .op-reality__content p { margin-bottom: 20px; }
.high-traffic-page .op-reality__content p:last-child { margin-bottom: 0; }

.traffic-card {
  max-width: 860px;
  padding: 10px 28px;
  border: 1px solid var(--c-border-subtle);
  border-radius: var(--r);
  background: var(--c-white);
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
}
.traffic-card__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.traffic-card__list li {
  padding: 22px 0;
  border-bottom: 1px solid var(--c-border);
}
.traffic-card__list li:last-child {
  border-bottom: none;
}
.traffic-card__list strong {
  display: block;
  font-size: 15px;
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
  margin-bottom: 8px;
}
.traffic-card__list span {
  display: block;
  font-size: 14px;
  color: var(--c-text-muted);
  line-height: 1.72;
  margin-bottom: 8px;
}
.traffic-card__list span:last-child {
  margin-bottom: 0;
}

.operations-hub-closing .section-title {
  margin-bottom: 14px;
}

/* ================================================================
   EXPERTISE — Legacy Systems
   ================================================================ */
.legacy-systems-page {
  background: linear-gradient(180deg, rgba(247, 248, 249, 0.72) 0%, #fff 320px);
}
.page-hero--legacy-systems .page-hero__media {
  background:
    radial-gradient(ellipse at bottom left, rgba(80, 68, 52, 0.28), transparent 52%),
    linear-gradient(180deg, #26231e 0%, #1a1814 100%);
}
.legacy-systems-page .page-hero--type-b + .section { padding-top: 104px; }
.legacy-systems-page .op-reality__content { max-width: 760px; }
.legacy-systems-page .env-list { gap: 22px; max-width: 760px; }
.legacy-systems-page .op-reality__content p { margin-bottom: 20px; }
.legacy-systems-page .op-reality__content p:last-child { margin-bottom: 0; }

/* ================================================================
   EXPERTISE - AI and Data Science Infrastructure
   ================================================================ */
.ai-data-science-page {
  background: linear-gradient(180deg, rgba(247, 248, 249, 0.72) 0%, #fff 320px);
}
.page-hero--ai-data-science .page-hero__media {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.035) 0 1px, transparent 1px 44px),
    radial-gradient(ellipse at top right, rgba(90, 106, 119, 0.22), transparent 52%),
    linear-gradient(180deg, #2b3137 0%, #1f252b 100%);
}
.page-hero--ai-data-science .page-hero__media img {
  filter: saturate(0.52) brightness(0.78);
  object-position: center;
}
.ai-data-science-page .page-hero--type-b + .section { padding-top: 104px; }
.ai-data-science-page .op-reality__content { max-width: 760px; }
.ai-data-science-page .op-reality__content p { margin-bottom: 20px; }
.ai-data-science-page .op-reality__content p:last-child { margin-bottom: 0; }

.ai-help-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
}
.ai-help-card {
  min-height: 164px;
  padding: 24px 24px 26px;
  border: 1px solid var(--c-border-subtle);
  border-top: 3px solid rgba(0, 138, 201, 0.58);
  border-radius: var(--r);
  background: var(--c-white);
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  transition: box-shadow 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
}
.ai-help-card:hover {
  border-color: rgba(0, 138, 201, 0.26);
  box-shadow: 0 6px 18px rgba(0,0,0,0.06);
  transform: translateY(-1px);
}
.ai-help-card h3 {
  margin-bottom: 12px;
  color: var(--c-dark);
  font-family: var(--f-card-title);
  font-size: 18px;
  font-weight: var(--fw-semibold);
  line-height: 1.3;
}
.ai-help-card p {
  margin: 0;
  color: var(--c-text-muted);
  font-size: 14px;
  line-height: 1.7;
}
.ai-narrative-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  max-width: 980px;
}
.ai-narrative-panel {
  padding: 26px 28px;
  border: 1px solid var(--c-border-subtle);
  border-radius: var(--r);
  background: rgba(255, 255, 255, 0.72);
}
.ai-narrative-panel h3 {
  margin-bottom: 14px;
  color: var(--c-dark);
  font-family: var(--f-card-title);
  font-size: 18px;
  font-weight: var(--fw-semibold);
  line-height: 1.3;
}
.ai-narrative-panel p {
  margin-bottom: 16px;
  color: var(--c-text-muted);
  font-size: 15px;
  line-height: 1.72;
}
.ai-narrative-panel p:last-child {
  margin-bottom: 0;
}
@media (max-width: 1024px) {
  .ai-help-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  .ai-help-grid {
    grid-template-columns: 1fr;
  }
  .ai-narrative-grid {
    grid-template-columns: 1fr;
  }
  .ai-help-card {
    min-height: 0;
  }
}

/* ================================================================
   EXPERTISE - WordPress
   ================================================================ */
.wordpress-page {
  background: linear-gradient(180deg, rgba(247, 248, 249, 0.72) 0%, #fff 320px);
}
.page-hero--wordpress .page-hero__media {
  background: #262b31;
}
.wordpress-page .page-hero--type-b + .section { padding-top: 120px; }
.wordpress-page .op-reality__content { max-width: 760px; }
.wordpress-page .op-reality__content p { margin-bottom: 20px; }
.wordpress-page .op-reality__content p:last-child { margin-bottom: 0; }

.wordpress-card {
  max-width: 900px;
  padding: 10px 28px;
  border: 1px solid var(--c-border-subtle);
  border-radius: var(--r);
  background: var(--c-white);
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
}
.wordpress-card__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.wordpress-card__list li {
  padding: 22px 0;
  border-bottom: 1px solid var(--c-border);
}
.wordpress-card__list li:last-child {
  border-bottom: none;
}
.wordpress-card h3 {
  font-family: var(--f-card-title);
  font-size: 16px;
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
  margin-bottom: 8px;
  line-height: 1.35;
}
.wordpress-card p,
.wordpress-card li {
  font-size: 14px;
  color: var(--c-text-muted);
  line-height: 1.72;
}
.wordpress-card__closing {
  margin-top: 6px;
  padding: 22px 0 18px;
  border-top: 1px solid var(--c-border);
}
/* Responsive */
@media (max-width: 1024px) {
  .hero--operations-hub::before { background: rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-collapsed-a)); }
  .hero--company-hub::before { background: rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-collapsed-a)); }
  .hero--operations-hub::after  { background: none; }
}
@media (max-width: 600px) {
  .hero--operations-hub .hero__content { padding: 48px 0; }
  .section-map__group { margin-bottom: 36px; }
  .section-map__entry { margin-bottom: 22px; }
}

.tech-article-page {
  background: linear-gradient(180deg, rgba(247, 248, 249, 0.72) 0%, #fff 360px);
}
.page-hero--tech-article {
  --article-accent-rgb: 61, 143, 163;
  background:
    radial-gradient(circle at 78% 18%, rgba(var(--article-accent-rgb), 0.42), transparent 38%),
    radial-gradient(circle at 12% 92%, rgba(0, 138, 201, 0.24), transparent 42%),
    linear-gradient(135deg, #252b33 0%, #171d24 58%, #11161c 100%);
}
.page-hero--tech-article::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(115deg, transparent 0 35%, rgba(255, 255, 255, 0.10) 35.15% 35.55%, transparent 35.7% 100%),
    linear-gradient(115deg, transparent 0 50%, rgba(var(--article-accent-rgb), 0.19) 50.15% 50.55%, transparent 50.7% 100%),
    linear-gradient(115deg, transparent 0 66%, rgba(255, 255, 255, 0.075) 66.15% 66.45%, transparent 66.6% 100%),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.075) 0 1px, transparent 1px 54px),
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.055) 0 1px, transparent 1px 54px);
  opacity: 0.92;
}
.page-hero--topic-networking {
  --article-accent-rgb: 61, 143, 163;
}
.page-hero__inner--article {
  max-width: 840px;
}
.page-hero__inner--article-has-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 48px;
  align-items: end;
  max-width: none;
}
.page-hero__article-main {
  min-width: 0;
}
.page-hero--article h1 {
  max-width: 840px;
}
.page-hero--article .page-hero__lead {
  max-width: 720px;
}
.article-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 22px;
  margin: 22px 0 0;
}
.article-hero-meta__item {
  display: flex;
  gap: 6px;
  align-items: baseline;
}
.article-hero-meta dt {
  font-size: 12px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.48);
}
.article-hero-meta dd {
  margin: 0;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.84);
}
.article-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  margin: 18px 0 0;
  list-style: none;
}
.article-tags li,
.article-tags a,
.article-tags span {
  display: inline-flex;
  align-items: center;
}
.article-tags li {
  margin: 0;
}
.article-tags a,
.article-tags span {
  min-height: 26px;
  padding: 4px 9px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.78);
  font-size: 12px;
  line-height: 1.35;
  text-decoration: none;
}
.article-tags a {
  transition: background var(--t), border-color var(--t), color var(--t);
}
.article-tags a:hover,
.article-tags a:focus-visible {
  border-color: rgba(61, 143, 163, 0.62);
  background: rgba(61, 143, 163, 0.18);
  color: #fff;
}
.article-hero-panel {
  position: relative;
  z-index: 2;
  padding: 22px 24px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 4px;
  background: rgba(8, 14, 22, 0.22);
}
.article-hero-panel h2 {
  margin: 0 0 14px;
  font-size: 12px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c-accent);
}
.article-hero-panel ul {
  margin: 0;
  padding-left: 18px;
  color: rgba(255, 255, 255, 0.82);
}
.article-hero-panel li {
  margin-bottom: 9px;
  font-size: 14px;
  line-height: 1.5;
}
.article-hero-panel li:last-child {
  margin-bottom: 0;
}
.tech-blog-index-page {
  background: linear-gradient(180deg, rgba(247, 248, 249, 0.72) 0%, #fff 360px);
}
.page-hero--tech-index h1 {
  max-width: 780px;
}
.tech-blog-intro {
  padding-top: 46px;
  padding-bottom: 44px;
}
.tech-blog-intro p {
  max-width: 820px;
  margin: 0;
  font-size: 17px;
  line-height: 1.7;
  color: var(--c-text);
}
.tech-blog-intro a {
  text-decoration: underline;
  text-underline-offset: 0.16em;
}
.tech-blog-latest,
.tech-blog-all,
.tech-blog-bottom-cta {
  padding-top: 76px;
  padding-bottom: 82px;
}
.tech-blog-index-page .section-header {
  margin-bottom: 28px;
}
.tech-blog-latest-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
}
.tech-blog-latest-stack {
  display: contents;
}
.tech-blog-card,
.tech-blog-list-item {
  position: relative;
  border: 1px solid var(--c-border-subtle);
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
  color: inherit;
  text-decoration: none;
  transition: border-color var(--t), box-shadow var(--t), transform var(--t);
}
.tech-blog-card {
  display: block;
  padding: 24px 24px 22px;
}
.tech-blog-card--featured {
  display: flex;
  flex-direction: column;
  padding: 28px 30px 28px;
  border-color: rgba(61, 143, 163, 0.34);
  border-left: 4px solid var(--c-accent);
  background:
    linear-gradient(135deg, rgba(61, 143, 163, 0.10) 0%, rgba(255, 255, 255, 0) 44%),
    #fff;
}
.tech-blog-latest-feature {
  grid-row: span 2;
  max-height: 520px;
  min-height: 100%;
}
.tech-blog-card--compact {
  padding: 18px 20px 17px;
  box-shadow: none;
}
.tech-blog-card__meta,
.tech-blog-list-item__meta {
  color: var(--c-text-muted);
  font-size: 13px;
  line-height: 1.45;
}
.tech-blog-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-bottom: 12px;
}
.tech-blog-card h3,
.tech-blog-list-item h3 {
  margin: 0 0 10px;
  font-family: var(--f-display);
  font-weight: var(--fw-semibold);
  line-height: 1.28;
  color: var(--c-dark);
}
.tech-blog-card h3 {
  font-size: 20px;
}
.tech-blog-card--featured h3 {
  max-width: 720px;
  font-size: 25px;
  line-height: 1.22;
}
.tech-blog-card--compact h3 {
  margin-bottom: 8px;
  font-size: 18px;
  line-height: 1.3;
}
.tech-blog-list-item h3 {
  font-size: 21px;
}
.tech-blog-card:hover,
.tech-blog-card:focus-visible,
.tech-blog-list-item:hover,
.tech-blog-list-item:focus-visible {
  border-color: rgba(61, 143, 163, 0.42);
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.09);
  transform: translateY(-1px);
}
.tech-blog-card--compact:hover,
.tech-blog-card--compact:focus-visible {
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.07);
}
.tech-blog-latest .tech-blog-card:focus-visible {
  outline: 2px solid var(--c-primary);
  outline-offset: 3px;
}
.tech-blog-card:hover h3,
.tech-blog-card:focus-visible h3,
.tech-blog-list-item:hover h3,
.tech-blog-list-item:focus-visible h3 {
  color: var(--c-primary);
}
.tech-blog-card p,
.tech-blog-list-item p {
  margin: 0;
  color: var(--c-text);
  font-size: 15px;
  line-height: 1.62;
}
.tech-blog-card__preview {
  color: var(--c-text);
}
.tech-blog-card__preview p {
  margin: 0 0 11px;
  font-size: 15px;
  line-height: 1.66;
}
.tech-blog-card__preview p:last-child {
  margin-bottom: 0;
}
.tech-blog-card__preview-heading {
  padding-top: 2px;
  font-family: var(--f-display);
  font-size: 16px;
  font-weight: var(--fw-semibold);
  line-height: 1.35;
  color: var(--c-dark);
}
.tech-blog-card__preview--featured {
  position: relative;
  flex: 0 1 auto;
  min-height: 0;
  max-height: 16em;
  margin-bottom: 18px;
  overflow: hidden;
}
.tech-blog-card__preview--featured::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3rem;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 88%);
}
.tech-blog-card--featured .tech-topic-list {
  margin-top: auto;
}
.tech-blog-card--compact p {
  font-size: 14px;
  line-height: 1.55;
}
.tech-blog-card--compact .tech-topic-list {
  margin-top: 12px;
}
.tech-topic-list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding: 0;
  margin: 16px 0 0;
  list-style: none;
}
.tech-topic-list li {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 4px;
  background: #f6f8f9;
  color: #4b5563;
  font-size: 12px;
  line-height: 1.35;
}
.tech-blog-list {
  display: grid;
  gap: 14px;
}
.tech-blog-list-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 178px;
  gap: 28px;
  align-items: start;
  padding: 22px 24px;
}
.tech-blog-list-item__body {
  min-width: 0;
}
.tech-blog-list-item__meta {
  margin: 2px 0 0;
  padding-left: 22px;
  border-left: 1px solid var(--c-border-subtle);
}
.tech-blog-list-item__meta div {
  margin-bottom: 12px;
}
.tech-blog-list-item__meta div:last-child {
  margin-bottom: 0;
}
.tech-blog-list-item__meta dt {
  margin-bottom: 3px;
  font-size: 11px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--c-text-muted);
}
.tech-blog-list-item__meta dd {
  margin: 0;
  color: #374151;
}
.tech-blog-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  justify-content: center;
  margin-top: 34px;
}
.tech-blog-pagination__pages {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.tech-blog-pagination__page,
.tech-blog-pagination__current,
.tech-blog-pagination__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid var(--c-border-subtle);
  border-radius: 4px;
  background: #fff;
  color: var(--c-dark);
  font-size: 14px;
  font-weight: var(--fw-semibold);
  line-height: 1;
  text-decoration: none;
}
.tech-blog-pagination__link {
  min-width: 88px;
}
.tech-blog-pagination__current {
  border-color: var(--c-accent);
  background: rgba(61, 143, 163, 0.10);
  color: #1f5f6e;
}
.tech-blog-pagination__page:hover,
.tech-blog-pagination__page:focus-visible,
.tech-blog-pagination__link:hover,
.tech-blog-pagination__link:focus-visible {
  border-color: rgba(61, 143, 163, 0.5);
  color: var(--c-primary);
}
.tech-blog-cta {
  max-width: 780px;
}
.tech-blog-cta h2 {
  margin: 0 0 14px;
  font-size: clamp(22px, 2.6vw, 29px);
  line-height: 1.28;
  color: var(--c-dark);
}
.tech-blog-cta p {
  max-width: 650px;
  margin: 0 0 22px;
  font-size: 15px;
  line-height: 1.68;
  color: var(--c-text);
}

/* ================================================================
   RESOURCES - News & Press Index
   ================================================================ */
.news-press-index-page {
  background: linear-gradient(180deg, rgba(247, 248, 249, 0.72) 0%, #fff 360px);
}
.page-hero--news-press-index {
  background:
    radial-gradient(circle at 72% 18%, rgba(61, 143, 163, 0.18), transparent 34%),
    linear-gradient(135deg, #24303b 0%, #18212a 52%, #121920 100%);
}
.page-hero--news-press-index h1 {
  max-width: 760px;
}
.page-hero--news-press-index .page-hero__media img {
  object-position: center;
  filter: saturate(0.52) brightness(0.72);
}
.page-hero--news-press-index::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255, 255, 255, 0.20), rgba(255, 255, 255, 0.20)) right 14% top 58px / 260px 1px no-repeat,
    linear-gradient(rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.16)) right 14% top 196px / 260px 1px no-repeat,
    linear-gradient(90deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.18)) right calc(14% + 260px) top 58px / 1px 139px no-repeat,
    linear-gradient(90deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.14)) right 14% top 58px / 1px 139px no-repeat,
    linear-gradient(rgba(61, 143, 163, 0.34), rgba(61, 143, 163, 0.34)) right 27% top 86px / 64px 28px no-repeat,
    linear-gradient(rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.18)) right 19% top 86px / 86px 1px no-repeat,
    linear-gradient(rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.12)) right 19% top 104px / 126px 1px no-repeat,
    linear-gradient(rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.14)) right 19% top 132px / 190px 1px no-repeat,
    linear-gradient(rgba(255, 255, 255, 0.10), rgba(255, 255, 255, 0.10)) right 19% top 152px / 154px 1px no-repeat,
    linear-gradient(rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.09)) right 19% top 172px / 214px 1px no-repeat,
    linear-gradient(rgba(255, 255, 255, 0.10), rgba(255, 255, 255, 0.10)) right 8% bottom 70px / 210px 1px no-repeat,
    linear-gradient(90deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.09)) right 8% bottom 70px / 1px 92px no-repeat,
    linear-gradient(rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.08)) right 8% bottom 162px / 210px 1px no-repeat,
    linear-gradient(90deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.07)) right calc(8% + 210px) bottom 70px / 1px 92px no-repeat,
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.038) 0, rgba(255, 255, 255, 0.038) 1px, transparent 1px, transparent 88px);
  opacity: 0.34;
  z-index: 0;
}
.news-press-intro {
  padding-top: 46px;
  padding-bottom: 44px;
}
.news-press-intro p {
  max-width: 820px;
  margin: 0;
  font-size: 17px;
  line-height: 1.7;
  color: var(--c-text);
}
.news-press-intro a,
.news-press-guidance__content a {
  text-decoration: underline;
  text-underline-offset: 0.16em;
}
.news-press-latest,
.news-press-all,
.news-press-guidance {
  padding-top: 76px;
  padding-bottom: 82px;
}
.news-press-index-page .section-header {
  margin-bottom: 28px;
}
.news-press-latest-feed {
  display: grid;
  max-width: 980px;
  gap: 0;
}
.news-press-list-item {
  position: relative;
  border: 1px solid var(--c-border-subtle);
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
  color: inherit;
  text-decoration: none;
  transition: border-color var(--t), box-shadow var(--t), transform var(--t);
}
.news-press-feed-item {
  position: relative;
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  gap: 28px;
  padding: 24px 0 26px 24px;
  border-top: 1px solid rgba(15, 23, 42, 0.11);
  border-left: 2px solid rgba(61, 143, 163, 0.22);
  color: inherit;
  text-decoration: none;
  transition: border-color var(--t), background-color var(--t), transform var(--t);
}
.news-press-feed-item:first-child {
  border-top: 0;
}
.news-press-feed-item::before {
  content: "";
  position: absolute;
  top: 30px;
  left: -5px;
  width: 8px;
  height: 8px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--c-accent);
  box-shadow: 0 0 0 1px rgba(61, 143, 163, 0.28);
}
.news-press-feed-item--featured {
  border-left-color: rgba(61, 143, 163, 0.42);
}
.news-press-feed-item__date,
.news-press-list-item__meta {
  color: var(--c-text-muted);
  font-size: 13px;
  line-height: 1.45;
}
.news-press-feed-item__date {
  padding-top: 3px;
}
.news-press-feed-item__body {
  max-width: 680px;
}
.news-press-feed-item__type {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  margin-bottom: 10px;
  border: 1px solid rgba(61, 143, 163, 0.22);
  border-radius: 4px;
  background: rgba(61, 143, 163, 0.08);
  color: #315867;
  font-size: 12px;
  font-weight: var(--fw-semibold);
  line-height: 1.35;
}
.news-press-list-item h3 {
  margin: 0 0 10px;
  font-family: var(--f-display);
  font-weight: var(--fw-semibold);
  line-height: 1.28;
  color: var(--c-dark);
}
.news-press-feed-item h3 {
  margin: 0 0 9px;
  font-family: var(--f-display);
  font-size: 21px;
  font-weight: var(--fw-semibold);
  line-height: 1.3;
  color: var(--c-dark);
}
.news-press-feed-item--featured h3 {
  font-size: 23px;
  line-height: 1.25;
}
.news-press-list-item h3 {
  font-size: 21px;
}
.news-press-feed-item:hover,
.news-press-feed-item:focus-visible {
  border-left-color: rgba(61, 143, 163, 0.54);
  background: rgba(255, 255, 255, 0.58);
  transform: translateX(2px);
}
.news-press-feed-item:focus-visible {
  outline: 2px solid var(--c-primary);
  outline-offset: 3px;
}
.news-press-list-item:hover,
.news-press-list-item:focus-visible {
  border-color: rgba(61, 143, 163, 0.42);
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.09);
  transform: translateY(-1px);
}
.news-press-feed-item:hover h3,
.news-press-feed-item:focus-visible h3,
.news-press-list-item:hover h3,
.news-press-list-item:focus-visible h3 {
  color: var(--c-primary);
}
.news-press-list-item p {
  margin: 0;
  color: var(--c-text);
  font-size: 15px;
  line-height: 1.62;
}
.news-press-feed-item p {
  margin: 0;
  color: var(--c-text);
  font-size: 15px;
  line-height: 1.62;
}
.news-press-topic-list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding: 0;
  margin: 16px 0 0;
  list-style: none;
}
.news-press-topic-list li {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 4px;
  background: #f6f8f9;
  color: #4b5563;
  font-size: 12px;
  line-height: 1.35;
}
.news-press-list {
  display: grid;
  gap: 14px;
}
.news-press-list-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 178px;
  gap: 28px;
  align-items: start;
  padding: 22px 24px;
}
.news-press-list-item__body {
  min-width: 0;
}
.news-press-list-item__meta {
  margin: 2px 0 0;
  padding-left: 22px;
  border-left: 1px solid var(--c-border-subtle);
}
.news-press-list-item__meta div {
  margin-bottom: 12px;
}
.news-press-list-item__meta div:last-child {
  margin-bottom: 0;
}
.news-press-list-item__meta dt {
  margin-bottom: 3px;
  font-size: 11px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--c-text-muted);
}
.news-press-list-item__meta dd {
  margin: 0;
  color: #374151;
}
.news-press-empty {
  max-width: 720px;
  padding: 28px 30px;
  border: 1px solid var(--c-border-subtle);
  border-left: 4px solid var(--c-accent);
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
}

/* ================================================================
   RESOURCES - Section Hub
   ================================================================ */
.resources-index-page {
  background: linear-gradient(180deg, rgba(247, 248, 249, 0.72) 0%, #fff 340px);
}
.hero--resources-index {
  min-height: 460px;
  padding: 0;
  background:
    radial-gradient(circle at 76% 20%, rgba(61, 143, 163, 0.18), transparent 32%),
    linear-gradient(135deg, #24303b 0%, #18212a 54%, #111820 100%);
}
.hero--resources-index::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.11)) right 12% top 86px / 320px 1px no-repeat,
    linear-gradient(rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.08)) right 12% top 156px / 240px 1px no-repeat,
    linear-gradient(rgba(61, 143, 163, 0.34), rgba(61, 143, 163, 0.34)) right 28% top 118px / 72px 2px no-repeat,
    linear-gradient(rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.08)) right 18% bottom 108px / 270px 1px no-repeat,
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.032) 0, rgba(255, 255, 255, 0.032) 1px, transparent 1px, transparent 92px),
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.024) 0, rgba(255, 255, 255, 0.024) 1px, transparent 1px, transparent 72px);
  opacity: 0.76;
}
.hero--resources-index::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-max-a)) 0%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-max-a)) 46%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-strong-a)) 72%,
    rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-mid-a)) 100%
  );
  z-index: 2;
  pointer-events: none;
}
.hero--resources-index .hero__media-img {
  transform: scaleX(-1);
}
.hero--resources-index .hero__content {
  max-width: 650px;
}
.hero--resources-index h1 {
  max-width: 760px;
  letter-spacing: 0;
}
.hero--resources-index .hero__eyebrow {
  color: rgba(255, 255, 255, 0.72);
}
.hero--resources-index .hero__cred-panel {
  background: rgba(8, 14, 22, 0.28);
  border-color: rgba(255, 255, 255, 0.16);
}
.resources-index-page .hero--resources-index + .resources-intro {
  padding-top: 46px;
}
.resources-intro {
  padding-top: 46px;
  padding-bottom: 44px;
}
.resources-intro p {
  max-width: 860px;
  margin: 0;
  font-size: 17px;
  line-height: 1.72;
  color: var(--c-text);
}
.resources-areas,
.resources-latest-tech,
.resources-latest-news,
.resources-perspective,
.resources-bottom-cta {
  padding-top: 76px;
  padding-bottom: 82px;
}
.resources-index-page .section-header {
  margin-bottom: 28px;
}
.resources-area-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.resources-area-card,
.resources-perspective-card,
.resources-tech-card {
  position: relative;
  border: 1px solid var(--c-border-subtle);
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
}
.resources-area-card,
.resources-perspective-card {
  padding: 24px 24px 22px;
  color: inherit;
  text-decoration: none;
  transition: border-color var(--t), box-shadow var(--t), transform var(--t);
}
.resources-area-card h3,
.resources-perspective-card h3,
.resources-tech-card h3,
.resources-news-feed-item h3 {
  margin: 0 0 10px;
  font-family: var(--f-display);
  font-weight: var(--fw-semibold);
  line-height: 1.28;
  color: var(--c-dark);
}
.resources-area-card h3,
.resources-perspective-card h3 {
  font-size: 19px;
}
.resources-area-card p,
.resources-perspective-card p {
  margin: 0 0 16px;
  color: var(--c-text);
  font-size: 15px;
  line-height: 1.68;
}
.resources-area-card:hover,
.resources-area-card:focus-visible,
.resources-perspective-card:hover,
.resources-perspective-card:focus-visible {
  border-color: rgba(61, 143, 163, 0.42);
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.09);
  transform: translateY(-1px);
}
.resources-area-card:focus-visible,
.resources-perspective-card:focus-visible {
  outline: 2px solid var(--c-primary);
  outline-offset: 3px;
}
.resources-area-card:hover h3,
.resources-area-card:focus-visible h3,
.resources-perspective-card:hover h3,
.resources-perspective-card:focus-visible h3 {
  color: var(--c-primary);
}
.resources-area-card:hover .link-arrow,
.resources-area-card:focus-visible .link-arrow,
.resources-perspective-card:hover .link-arrow,
.resources-perspective-card:focus-visible .link-arrow {
  color: var(--c-primary-light);
}
.resources-latest-tech__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
  gap: 22px;
  align-items: stretch;
}
.resources-latest-tech__stack {
  display: grid;
  gap: 14px;
}
.resources-tech-card {
  display: block;
  padding: 24px 24px 22px;
  color: inherit;
  text-decoration: none;
  transition: border-color var(--t), box-shadow var(--t), transform var(--t);
}
.resources-tech-card--featured {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 28px 30px 28px;
  border-color: rgba(61, 143, 163, 0.34);
  border-left: 4px solid var(--c-accent);
  background:
    linear-gradient(135deg, rgba(61, 143, 163, 0.10) 0%, rgba(255, 255, 255, 0) 44%),
    #fff;
}
.resources-tech-card--compact {
  padding: 18px 20px 17px;
  box-shadow: none;
}
.resources-tech-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-bottom: 12px;
  color: var(--c-text-muted);
  font-size: 13px;
  line-height: 1.45;
}
.resources-tech-card h3 {
  font-size: 20px;
}
.resources-tech-card--featured h3 {
  font-size: 25px;
  line-height: 1.22;
}
.resources-tech-card--compact h3 {
  margin-bottom: 8px;
  font-size: 18px;
  line-height: 1.3;
}
.resources-tech-card p {
  margin: 0;
  color: var(--c-text);
  font-size: 15px;
  line-height: 1.62;
}
.resources-tech-card--compact p {
  font-size: 14px;
  line-height: 1.55;
}
.resources-tech-card__preview {
  margin-bottom: 18px;
  color: var(--c-text);
}
.resources-tech-card__preview p {
  margin: 0 0 11px;
  font-size: 15px;
  line-height: 1.66;
}
.resources-tech-card__preview p:last-child {
  margin-bottom: 0;
}
.resources-tech-card__preview-heading {
  padding-top: 2px;
  font-family: var(--f-display);
  font-size: 16px;
  font-weight: var(--fw-semibold);
  line-height: 1.35;
  color: var(--c-dark);
}
.resources-tech-card--featured .tech-topic-list {
  margin-top: auto;
}
.resources-tech-card--compact .tech-topic-list {
  margin-top: 12px;
}
.resources-tech-card:hover,
.resources-tech-card:focus-visible {
  border-color: rgba(61, 143, 163, 0.42);
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.09);
  transform: translateY(-1px);
}
.resources-tech-card:focus-visible,
.resources-news-feed-item:focus-visible {
  outline: 2px solid var(--c-primary);
  outline-offset: 3px;
}
.resources-tech-card:hover h3,
.resources-tech-card:focus-visible h3,
.resources-news-feed-item:hover h3,
.resources-news-feed-item:focus-visible h3 {
  color: var(--c-primary);
}
.resources-latest-news__feed {
  display: grid;
  max-width: 980px;
  gap: 0;
}
.resources-news-feed-item {
  position: relative;
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  gap: 28px;
  padding: 24px 0 26px 24px;
  border-top: 1px solid rgba(15, 23, 42, 0.11);
  border-left: 2px solid rgba(61, 143, 163, 0.22);
  color: inherit;
  text-decoration: none;
  transition: border-color var(--t), background-color var(--t), transform var(--t);
}
.resources-news-feed-item:first-child {
  border-top: 0;
}
.resources-news-feed-item::before {
  content: "";
  position: absolute;
  top: 30px;
  left: -5px;
  width: 8px;
  height: 8px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--c-accent);
  box-shadow: 0 0 0 1px rgba(61, 143, 163, 0.28);
}
.resources-news-feed-item__date {
  padding-top: 3px;
  color: var(--c-text-muted);
  font-size: 13px;
  line-height: 1.45;
}
.resources-news-feed-item__body {
  max-width: 680px;
}
.resources-news-feed-item__type {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  margin-bottom: 10px;
  border: 1px solid rgba(61, 143, 163, 0.22);
  border-radius: 4px;
  background: rgba(61, 143, 163, 0.08);
  color: #315867;
  font-size: 12px;
  font-weight: var(--fw-semibold);
  line-height: 1.35;
}
.resources-news-feed-item h3 {
  font-size: 21px;
}
.resources-news-feed-item p {
  margin: 0;
  color: var(--c-text);
  font-size: 15px;
  line-height: 1.62;
}
.resources-news-feed-item:hover,
.resources-news-feed-item:focus-visible {
  border-left-color: rgba(61, 143, 163, 0.54);
  background: rgba(255, 255, 255, 0.58);
  transform: translateX(2px);
}
.resources-perspective-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.resources-perspective-card {
  border-top: 3px solid rgba(61, 143, 163, 0.34);
}
.resources-section-footer {
  margin-top: 28px;
}
.resources-index-page .btn--secondary {
  border: 1px solid rgba(0, 138, 201, 0.22);
  background: #fff;
  color: var(--c-primary);
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}
.resources-index-page .btn--secondary:hover,
.resources-index-page .btn--secondary:focus-visible {
  border-color: rgba(0, 138, 201, 0.42);
  background: rgba(0, 138, 201, 0.06);
  color: var(--c-primary-light);
}
.resources-cta {
  max-width: 780px;
}
.resources-cta h2 {
  margin: 0 0 14px;
  font-size: 28px;
  line-height: 1.28;
  color: var(--c-dark);
}
.resources-cta p {
  max-width: 650px;
  margin: 0 0 22px;
  font-size: 15px;
  line-height: 1.68;
  color: var(--c-text);
}
@media (max-width: 1024px) {
  .hero--resources-index {
    min-height: 0;
  }
  .hero--resources-index::after {
    background: rgba(var(--hero-overlay-type-a-rgb), var(--hero-overlay-collapsed-a));
  }
  .resources-area-grid,
  .resources-perspective-grid {
    grid-template-columns: 1fr;
  }
  .resources-latest-tech__layout {
    grid-template-columns: 1fr;
  }
  .resources-latest-tech__stack {
    gap: 14px;
  }
  .resources-news-feed-item {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 22px 0 24px 20px;
  }
  .resources-news-feed-item__date {
    padding-top: 0;
  }
  .resources-news-feed-item__body {
    max-width: none;
  }
}
@media (max-width: 640px) {
  .resources-intro {
    padding-top: 34px;
    padding-bottom: 36px;
  }
  .resources-intro p {
    font-size: 15px;
  }
  .resources-areas,
  .resources-latest-tech,
  .resources-latest-news,
  .resources-perspective,
  .resources-bottom-cta {
    padding-top: 54px;
    padding-bottom: 60px;
  }
  .resources-area-card,
  .resources-perspective-card,
  .resources-tech-card,
  .resources-tech-card--featured {
    padding: 20px 18px;
  }
  .resources-tech-card--featured h3 {
    font-size: 21px;
  }
  .resources-tech-card h3,
  .resources-news-feed-item h3 {
    font-size: 19px;
  }
  .resources-tech-card--compact h3 {
    font-size: 18px;
  }
  .resources-section-footer {
    margin-top: 22px;
  }
  .resources-cta h2 {
    font-size: 24px;
  }
}
.news-press-empty h3 {
  margin: 0 0 10px;
  font-family: var(--f-display);
  font-size: 21px;
  font-weight: var(--fw-semibold);
  line-height: 1.3;
  color: var(--c-dark);
}
.news-press-empty p {
  margin: 0;
  max-width: 620px;
  color: var(--c-text);
  font-size: 15px;
  line-height: 1.68;
}
.news-press-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  justify-content: center;
  margin-top: 34px;
}
.news-press-pagination__pages {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.news-press-pagination__page,
.news-press-pagination__current,
.news-press-pagination__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid var(--c-border-subtle);
  border-radius: 4px;
  background: #fff;
  color: var(--c-dark);
  font-size: 14px;
  font-weight: var(--fw-semibold);
  line-height: 1;
  text-decoration: none;
}
.news-press-pagination__link {
  min-width: 88px;
}
.news-press-pagination__current {
  border-color: var(--c-accent);
  background: rgba(61, 143, 163, 0.10);
  color: #1f5f6e;
}
.news-press-pagination__page:hover,
.news-press-pagination__page:focus-visible,
.news-press-pagination__link:hover,
.news-press-pagination__link:focus-visible {
  border-color: rgba(61, 143, 163, 0.5);
  color: var(--c-primary);
}
.news-press-guidance__content {
  max-width: 760px;
}
.news-press-guidance__content p {
  margin: 0 0 18px;
  color: var(--c-text);
  font-size: 15px;
  line-height: 1.75;
}
.news-press-guidance__content p:last-child {
  margin-bottom: 0;
}

/* ================================================================
   RESOURCES - News & Press Articles
   ================================================================ */
.news-article-page {
  background: linear-gradient(180deg, rgba(247, 248, 249, 0.72) 0%, #fff 360px);
}
.page-hero--news-article {
  --news-article-accent-rgb: 61, 143, 163;
  background:
    radial-gradient(circle at 82% 18%, rgba(var(--news-article-accent-rgb), 0.42), transparent 38%),
    linear-gradient(90deg, transparent 0 58%, rgba(255, 255, 255, 0.11) 58.1% 58.45%, transparent 58.62% 100%),
    linear-gradient(135deg, rgba(var(--news-article-accent-rgb), 0.23) 0%, transparent 46%),
    linear-gradient(135deg, #2c333b 0%, #20262e 58%, #171d24 100%);
}
.page-hero--news-article::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(90deg, transparent 0 28%, rgba(255, 255, 255, 0.16) 28.1% 28.48%, transparent 28.66% 100%),
    linear-gradient(90deg, transparent 0 72%, rgba(var(--news-article-accent-rgb), 0.32) 72.1% 72.55%, transparent 72.74% 100%),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.072) 0 1px, transparent 1px 132px),
    repeating-linear-gradient(0deg, transparent 0 22px, rgba(255, 255, 255, 0.078) 22px 23px, transparent 23px 46px);
  opacity: 0.88;
}
.page-hero--news-article-security {
  --news-article-accent-rgb: 88, 122, 145;
}
.page-hero--news-article-company {
  --news-article-accent-rgb: 61, 143, 163;
}
.page-hero--news-article-community {
  --news-article-accent-rgb: 84, 132, 113;
}
.page-hero--news-article-press {
  --news-article-accent-rgb: 87, 105, 128;
}
.page-hero--news-article-certification {
  --news-article-accent-rgb: 96, 126, 150;
}
.page-hero__inner--news-article {
  max-width: 800px;
}
.page-hero--news-article h1 {
  max-width: 800px;
  font-size: clamp(27px, 3vw, 38px);
}
.page-hero--news-article .page-hero__lead {
  max-width: 690px;
}
.news-article-hero-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, max-content));
  gap: 0;
  align-items: start;
  width: fit-content;
  max-width: 100%;
  margin: 24px 0 0;
  padding: 13px 0 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}
.news-article-hero-meta__item {
  padding: 0 18px;
  border-right: 1px solid rgba(255, 255, 255, 0.10);
}
.news-article-hero-meta__item:first-child {
  padding-left: 0;
}
.news-article-hero-meta__item:last-child {
  padding-right: 0;
  border-right: 0;
}
.news-article-hero-meta dt {
  margin-bottom: 4px;
  font-size: 12px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.46);
}
.news-article-hero-meta dd {
  margin: 0;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.84);
}
.news-article-body {
  padding: 58px 0 82px;
}
.news-article-layout {
  grid-template-columns: minmax(0, 1fr) 248px;
  gap: 36px;
  align-items: start;
}
.news-article {
  max-width: 780px;
  min-width: 0;
  padding: 0 0 8px;
}
.news-article-dateline {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin: 0 0 28px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--c-border-subtle);
  color: var(--c-text-muted);
  font-size: 13px;
  line-height: 1.55;
}
.news-article-dateline span:first-child {
  color: var(--c-dark);
  font-weight: var(--fw-semibold);
}
.news-article h2 {
  margin: 34px 0 12px;
  font-size: 23px;
  font-weight: var(--fw-semibold);
  line-height: 1.3;
  color: var(--c-dark);
}
.news-article > h2:first-child {
  margin-top: 0;
}
.news-article-dateline + h2 {
  margin-top: 0;
}
.news-article h3 {
  margin: 24px 0 9px;
  font-size: 19px;
  font-weight: var(--fw-semibold);
  line-height: 1.3;
  color: var(--c-dark);
}
.news-article p {
  margin: 0 0 16px;
  font-size: 15px;
  line-height: 1.76;
  color: var(--c-text);
}
.news-article ul {
  margin: 0 0 22px;
  padding-left: 22px;
  list-style: disc;
}
.news-article li {
  margin-bottom: 8px;
  padding-left: 2px;
  font-size: 15px;
  line-height: 1.7;
  color: var(--c-text);
}
.news-article li:last-child {
  margin-bottom: 0;
}
.news-article a:not(.btn) {
  text-decoration: underline;
  text-underline-offset: 0.16em;
}
.news-article code {
  padding: 0.13em 0.36em;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 4px;
  background: #f3f5f7;
  color: #17202a;
  font-family: Consolas, Monaco, "Courier New", monospace;
  font-size: 0.92em;
}
.news-article-cta {
  margin-top: 44px;
  padding: 24px 26px 26px;
  border: 1px solid var(--c-border-subtle);
  border-radius: 4px;
  background: #fbfcfd;
}
.news-article-cta h2 {
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 20px;
  font-weight: var(--fw-semibold);
}
.news-article-cta p {
  max-width: 720px;
  margin-bottom: 18px;
  font-size: 14px;
  line-height: 1.68;
}
.news-article-cta .btn {
  margin-top: 4px;
}
.news-article-sidebar {
  padding: 20px 20px 22px;
  border: 1px solid var(--c-border-subtle);
  border-radius: 4px;
  background: #f8fafb;
  font-size: 14px;
}
.news-article-sidebar .page-layout__aside-section {
  padding: 0 0 16px;
  margin-bottom: 16px;
  border-color: var(--c-border-subtle);
  background: transparent;
}
.news-article-sidebar .page-layout__aside-section:first-child {
  padding-top: 0;
}
.news-article-sidebar .page-layout__aside-section:last-child {
  margin-bottom: 0;
}
.news-article-detail-list {
  margin: 0;
}
.news-article-detail-list div {
  margin-bottom: 11px;
}
.news-article-detail-list div:last-child {
  margin-bottom: 0;
}
.news-article-detail-list dt {
  margin-bottom: 2px;
  font-size: 11px;
  font-weight: var(--fw-semibold);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--c-text-muted);
}
.news-article-detail-list dd {
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
  color: #374151;
}
.news-article-signal {
  --news-article-signal-rgb: 88, 122, 145;
  position: relative;
  display: grid;
  gap: 9px;
  min-height: 150px;
  margin: 0 0 18px;
  padding: 22px 20px 20px;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 4px;
  background:
    linear-gradient(135deg, rgba(var(--news-article-signal-rgb), 0.18) 0%, transparent 48%),
    linear-gradient(180deg, #252b33 0%, #171d24 100%);
  color: rgba(255, 255, 255, 0.78);
}
.news-article-signal::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255, 255, 255, 0.032) 1px, transparent 1px);
  background-size: 48px 48px;
  opacity: 0.26;
}
.news-article-signal::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 46px;
  height: 46px;
  border-left: 1px solid rgba(var(--news-article-signal-rgb), 0.36);
  border-bottom: 1px solid rgba(var(--news-article-signal-rgb), 0.24);
  background: linear-gradient(135deg, rgba(var(--news-article-signal-rgb), 0.18), transparent 70%);
}
.news-article-signal__label,
.news-article-signal__title,
.news-article-signal__meta,
.news-article-signal__rule {
  position: relative;
  z-index: 1;
}
.news-article-signal__label {
  font-size: 11px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.48);
}
.news-article-signal__title {
  max-width: 158px;
  font-size: 18px;
  font-weight: var(--fw-semibold);
  line-height: 1.28;
  color: #fff;
}
.news-article-signal__meta {
  font-size: 13px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.68);
}
.news-article-signal__rule {
  display: block;
  width: 100%;
  height: 1px;
  margin: 5px 0 1px;
  background: linear-gradient(90deg, rgba(var(--news-article-signal-rgb), 0.55), rgba(255, 255, 255, 0.08));
}
.news-article-signal--security {
  --news-article-signal-rgb: 88, 122, 145;
}
.news-article-signal--company {
  --news-article-signal-rgb: 61, 143, 163;
}
.news-article-signal--community {
  --news-article-signal-rgb: 84, 132, 113;
}
.news-article-signal--press {
  --news-article-signal-rgb: 87, 105, 128;
}
.news-article-signal--certification {
  --news-article-signal-rgb: 96, 126, 150;
}
.tech-article-body {
  padding: 72px 0 92px;
}
.tech-article-layout {
  grid-template-columns: minmax(0, 1fr) 286px;
  gap: 42px;
}
.tech-article {
  max-width: 880px;
  min-width: 0;
  padding: 0 0 8px;
}
.tech-article h2 {
  margin: 46px 0 14px;
  font-size: 25px;
  font-weight: var(--fw-bold);
  line-height: 1.25;
  color: var(--c-dark);
}
.tech-article > h2:first-child {
  margin-top: 0;
}
.tech-article h3 {
  margin: 28px 0 10px;
  font-size: 20px;
  font-weight: var(--fw-bold);
  line-height: 1.3;
  color: var(--c-dark);
}
.tech-article p {
  margin: 0 0 18px;
  font-size: 16px;
  line-height: 1.74;
  color: var(--c-text);
}
.tech-article ul {
  margin: 0 0 24px;
  padding-left: 22px;
  list-style: disc;
}
.tech-article li {
  margin-bottom: 10px;
  padding-left: 2px;
  font-size: 16px;
  line-height: 1.68;
  color: var(--c-text);
}
.tech-article li:last-child {
  margin-bottom: 0;
}
.tech-article a:not(.btn) {
  text-decoration: underline;
  text-underline-offset: 0.16em;
}
.tech-article table {
  display: block;
  width: max-content;
  max-width: 100%;
  overflow-x: auto;
  margin: 18px 0 28px;
  border: 1px solid rgba(15, 23, 42, 0.14);
  border-collapse: collapse;
  border-radius: 4px;
  background: #fff;
  font-size: 14px;
  line-height: 1.48;
}
.tech-article table th,
.tech-article table td {
  padding: 10px 12px;
  border-right: 1px solid rgba(15, 23, 42, 0.10);
  border-bottom: 1px solid rgba(15, 23, 42, 0.10);
  text-align: left;
  vertical-align: top;
  color: var(--c-text);
}
.tech-article table tr > :last-child {
  border-right: 0;
}
.tech-article table tbody tr:last-child > th,
.tech-article table tbody tr:last-child > td {
  border-bottom: 0;
}
.tech-article table th,
.tech-article table thead td,
.tech-article table tbody tr:first-child td strong:only-child {
  background: #f5f8f9;
  color: var(--c-dark);
  font-weight: var(--fw-bold);
}
.tech-article table thead tr:last-child > th,
.tech-article table thead tr:last-child > td {
  border-bottom-color: rgba(15, 23, 42, 0.18);
}
.tech-article table tbody tr:nth-child(even) td,
.tech-article table tbody tr:nth-child(even) th {
  background: #fbfcfd;
}
.tech-article code {
  padding: 0.13em 0.36em;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 4px;
  background: #f3f5f7;
  color: #17202a;
  font-family: Consolas, Monaco, "Courier New", monospace;
  font-size: 0.92em;
}
.tech-article pre {
  position: relative;
  overflow-x: auto;
  margin: 18px 0 26px;
  padding: 18px 58px 18px 20px;
  border: 1px solid rgba(15, 23, 42, 0.16);
  border-left: 4px solid var(--c-accent);
  border-radius: 4px;
  background: #111827;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
.tech-article pre.has-copy-button {
  padding-top: 18px;
}
.tech-article pre code {
  display: block;
  min-width: max-content;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #e5edf5;
  font-size: 14px;
  line-height: 1.65;
  white-space: pre;
}
.code-copy-button {
  position: absolute;
  top: 9px;
  right: 10px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 4px;
  background: rgba(17, 24, 39, 0.82);
  color: rgba(255, 255, 255, 0.78);
  font: inherit;
  line-height: 1;
  cursor: pointer;
  transition: background var(--t), border-color var(--t), color var(--t);
}
.code-copy-button:hover,
.code-copy-button:focus-visible {
  border-color: rgba(61, 143, 163, 0.62);
  background: rgba(61, 143, 163, 0.18);
  color: #fff;
}
.code-copy-button.is-copied {
  border-color: rgba(61, 143, 163, 0.74);
  color: #fff;
}
.tech-article-cta {
  margin-top: 56px;
  padding: 30px 32px 32px;
  border: 1px solid var(--c-border-subtle);
  border-radius: 4px;
  background: linear-gradient(180deg, #fbfcfd 0%, #f5f7f8 100%);
}
.tech-article-cta h2 {
  margin-top: 0;
  font-size: 24px;
}
.tech-article-cta p {
  max-width: 720px;
}
.tech-article-cta .btn {
  margin-top: 4px;
}
.tech-article-detail-list {
  margin: 0;
}
.tech-article-detail-list div {
  margin-bottom: 12px;
}
.tech-article-detail-list div:last-child {
  margin-bottom: 0;
}
.tech-article-detail-list dt {
  margin-bottom: 2px;
  font-size: 12px;
  font-weight: var(--fw-semibold);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--c-text-muted);
}
.tech-article-detail-list dd {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: #374151;
}
.tech-article-focus-list {
  margin: 0;
  padding-left: 18px;
  list-style: disc;
}
.tech-article-focus-list li {
  margin-bottom: 8px;
  font-size: 14px;
  line-height: 1.55;
  color: #374151;
}
.tech-article-focus-list li:last-child {
  margin-bottom: 0;
}
@media (max-width: 1024px) {
  .page-hero__inner--article-has-panel {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .article-hero-panel {
    display: none;
  }
  .tech-blog-latest-layout {
    grid-template-columns: 1fr;
  }
  .tech-blog-latest-stack {
    display: grid;
    gap: 14px;
  }
  .tech-blog-latest-feature {
    grid-row: auto;
  }
  .news-press-feed-item {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 22px 0 24px 20px;
  }
  .news-press-feed-item__date {
    padding-top: 0;
  }
  .news-press-feed-item__body {
    max-width: none;
  }
  .tech-blog-list-item {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .news-press-list-item {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .tech-blog-list-item__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    padding-left: 0;
    border-left: 0;
  }
  .news-press-list-item__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    padding-left: 0;
    border-left: 0;
  }
  .tech-blog-list-item__meta div {
    margin-bottom: 0;
  }
  .news-press-list-item__meta div {
    margin-bottom: 0;
  }
  .tech-article-layout {
    grid-template-columns: 1fr;
  }
  .news-article-layout {
    grid-template-columns: 1fr;
  }
  .tech-article {
    max-width: none;
  }
  .news-article {
    max-width: none;
  }
}
@media (max-width: 640px) {
  .article-hero-meta {
    display: grid;
    gap: 8px;
  }
  .news-article-hero-meta {
    display: grid;
    gap: 8px;
    width: auto;
    padding: 12px 0;
  }
  .article-hero-meta__item {
    display: block;
  }
  .news-article-hero-meta__item {
    display: block;
    padding: 0;
    border-right: 0;
  }
  .article-hero-meta dt {
    margin-bottom: 2px;
  }
  .news-article-hero-meta dt {
    margin-bottom: 2px;
  }
  .tech-article-body {
    padding: 54px 0 72px;
  }
  .news-article-body {
    padding: 54px 0 72px;
  }
  .tech-blog-intro {
    padding-top: 34px;
    padding-bottom: 36px;
  }
  .news-press-intro {
    padding-top: 34px;
    padding-bottom: 36px;
  }
  .tech-blog-intro p {
    font-size: 15px;
  }
  .news-press-intro p {
    font-size: 15px;
  }
  .tech-blog-latest,
  .tech-blog-all,
  .tech-blog-bottom-cta {
    padding-top: 54px;
    padding-bottom: 60px;
  }
  .news-press-latest,
  .news-press-all,
  .news-press-guidance {
    padding-top: 54px;
    padding-bottom: 60px;
  }
  .tech-blog-card,
  .tech-blog-list-item {
    padding: 20px 18px;
  }
  .news-press-list-item,
  .news-press-empty {
    padding: 20px 18px;
  }
  .tech-blog-card h3,
  .tech-blog-list-item h3 {
    font-size: 19px;
  }
  .news-press-list-item h3 {
    font-size: 19px;
  }
  .tech-blog-card--featured h3 {
    font-size: 21px;
  }
  .tech-blog-card__preview--featured {
    flex: 0 1 auto;
    max-height: 18em;
  }
  .news-press-empty h3 {
    font-size: 21px;
  }
  .tech-blog-card--compact h3 {
    font-size: 18px;
  }
  .news-press-feed-item h3,
  .news-press-feed-item--featured h3 {
    font-size: 19px;
  }
  .tech-blog-pagination {
    justify-content: flex-start;
  }
  .news-press-pagination {
    justify-content: flex-start;
  }
  .tech-article h2 {
    margin-top: 38px;
    font-size: 22px;
  }
  .news-article h2 {
    margin-top: 38px;
    font-size: 22px;
  }
  .tech-article p,
  .tech-article li {
    font-size: 15px;
  }
  .news-article p,
  .news-article li {
    font-size: 15px;
  }
  .tech-article pre {
    margin-right: -18px;
    margin-left: -18px;
    border-right: 0;
    border-left-width: 4px;
    border-radius: 0;
  }
  .tech-article-cta {
    padding: 24px 22px 26px;
  }
  .news-article-cta {
    padding: 24px 22px 26px;
  }
}

/* --- Landing page (Type L): Ubuntu Technical Support LPPC ----- */
.lppc-page {
  background: var(--c-white);
}

.lppc-hero {
  align-items: stretch;
  min-height: 0;
}
.lppc-hero .hero__media-img {
  transform: scaleX(-1);
}
.lppc-hero__inner {
  width: 100%;
  padding: 64px 0 70px;
}
.lppc-hero__content {
  max-width: 720px;
  padding-top: 8px;
}
.lppc-hero__eyebrow {
  display: inline-block;
  margin-bottom: 14px;
  font-size: 11px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.78);
}
.lppc-hero__content h1 {
  margin-bottom: 18px;
}
.lppc-hero__content .hero__sub {
  margin-bottom: 14px;
  max-width: 660px;
}
.lppc-hero__content p {
  max-width: 660px;
}
.lppc-hero h1,
.lppc-hero p {
  text-shadow: none;
}
.lppc-hero__cta {
  margin-top: 24px;
}

/* Form section */
.lppc-section.lppc-section--production.section {
  padding-top: 56px;
  padding-bottom: 28px;
}
.lppc-section.lppc-section--form.section {
  padding-top: 0;
  padding-bottom: 54px;
}
.lppc-form-panel {
  background: var(--c-white);
  border-radius: 6px;
  border: 1px solid rgba(42, 46, 54, 0.20);
  overflow: hidden;
  max-width: 960px;
  margin: 0;
  text-align: left;
}
.lppc-form-panel__header {
  background: var(--c-bg-alt);
  border-bottom: 1px solid var(--c-border);
  border-left: 4px solid var(--c-accent);
  padding: 20px 24px 16px 20px;
}
.lppc-form-panel__header h2 {
  font-family: var(--f-card-title);
  font-size: 22px;
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
  line-height: 1.3;
  margin: 0 0 6px;
}
.lppc-form-panel__intro {
  font-size: 14px;
  line-height: 1.6;
  color: var(--c-text-muted);
  margin: 0;
}
.lppc-form-panel__next {
  margin-top: 8px;
}
.lppc-form-panel__body {
  padding: 18px 24px 22px;
}
.lppc-form-panel .contact-form {
  gap: 12px;
}
.lppc-form-panel .contact-form__field input,
.lppc-form-panel .contact-form__field select,
.lppc-form-panel .contact-form__field textarea {
  font-size: 14px;
  min-height: 46px;
  padding: 11px 12px;
  border-color: rgba(42, 46, 54, 0.14);
}
.lppc-form-panel .contact-form__field input:focus,
.lppc-form-panel .contact-form__field select:focus,
.lppc-form-panel .contact-form__field textarea:focus {
  border-color: var(--c-primary);
  box-shadow: 0 0 0 3px rgba(0, 138, 201, 0.12);
}
.lppc-form-panel .contact-form__field textarea {
  min-height: 96px;
}
.lppc-form-panel .contact-form__footer {
  margin-top: 6px;
}
.lppc-form-panel .lppc-form__submit {
  margin-top: 4px;
  padding-right: 26px;
  padding-left: 26px;
  font-weight: var(--fw-bold);
}
.lppc-form-panel .contact-form__privacy {
  font-size: 12px;
  color: var(--c-text-muted);
  line-height: 1.6;
  margin-top: 12px;
  max-width: none;
}
.lppc-form-panel .contact-form__notice {
  margin-bottom: 14px;
}

/* Section rhythm — slightly tighter than full service pages */
.lppc-section.section { padding: 56px 0; }
.lppc-section .section-header {
  max-width: 780px;
  margin: 0 0 24px;
  text-align: left;
}
.lppc-section .section-subtitle,
.lppc-section--production p,
.lppc-section--ongoing p {
  max-width: 820px;
  margin-left: 0;
  margin-right: 0;
  text-align: left;
}
.lppc-section--ongoing p + p {
  margin-top: 12px;
}
.lppc-section--production p + p {
  margin-top: 12px;
}

.lppc-placeholder {
  display: block;
  font-size: 14px;
  color: #9aa5b1;
  font-style: italic;
  line-height: 1.65;
}

/* Capability list — flat, scannable, no card chrome */
.lppc-cap-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.lppc-cap-list > li {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  column-gap: 12px;
  align-content: start;
  padding: 18px 18px 18px 16px;
  position: relative;
  background: var(--c-white);
  border: 1px solid var(--c-border-subtle);
  border-radius: 6px;
}
.lppc-cap-list__icon {
  display: inline-flex;
  width: 22px;
  height: 22px;
  margin-top: 1px;
  align-items: center;
  justify-content: center;
  color: var(--c-accent);
}
.lppc-cap-list__icon svg {
  width: 20px;
  height: 20px;
}
.lppc-cap-list > li h3 {
  font-family: var(--f-card-title);
  font-size: 16px;
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
  margin: 0 0 4px;
  line-height: 1.35;
  grid-column: 2;
}
.lppc-cap-list > li p {
  font-size: 14px;
  line-height: 1.55;
  color: var(--c-text-muted);
  margin: 0;
  grid-column: 2;
}

/* Why section */
.lppc-why-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1fr);
  gap: 56px;
  align-items: start;
  max-width: 1080px;
}
.lppc-why-layout__intro {
  max-width: 520px;
}
.lppc-why-layout__intro .section-title {
  margin-bottom: 18px;
}
.lppc-why-layout__intro p {
  max-width: 560px;
  margin: 0;
  color: var(--c-text-muted);
  font-size: 15px;
  line-height: 1.7;
}
.lppc-why-layout__intro p + p {
  margin-top: 14px;
}
.lppc-why-proof {
  border-top: 1px solid var(--c-border);
}
.lppc-why-proof__item {
  padding: 18px 0;
  border-bottom: 1px solid var(--c-border);
}
.lppc-why-proof__item h3 {
  font-family: var(--f-card-title);
  font-size: 15px;
  font-weight: var(--fw-semibold);
  color: var(--c-dark);
  margin: 0 0 4px;
  line-height: 1.4;
}
.lppc-why-proof__item p {
  font-size: 14px;
  line-height: 1.55;
  color: var(--c-text-muted);
  margin: 0;
}

/* Trademark note */
.lppc-section--trademark.section {
  padding-top: 28px;
  padding-bottom: 34px;
}
.lppc-trademark-note {
  max-width: 820px;
  margin: 0;
  color: var(--c-text-muted);
  font-size: 13px;
  line-height: 1.65;
}

/* Final CTA uses the shared dark CTA band. */

@media (max-width: 1024px) {
  .lppc-hero__inner {
    padding: 44px 0 50px;
  }
  .lppc-hero__content {
    max-width: 640px;
  }
  .lppc-cap-list {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 22px;
  }
  .lppc-why-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .lppc-hero__inner {
    padding: 36px 0 44px;
  }
  .lppc-hero__content h1 {
    margin-bottom: 14px;
  }
  .lppc-form-panel__header {
    padding: 18px 20px 14px 18px;
  }
  .lppc-form-panel__header h2 {
    font-size: 17px;
  }
  .lppc-form-panel__body {
    padding: 18px 20px 22px;
  }
  .lppc-section.section { padding: 56px 0; }
  .lppc-section.lppc-section--production.section {
    padding-top: 44px;
    padding-bottom: 24px;
  }
  .lppc-section.lppc-section--form.section {
    padding-top: 0;
    padding-bottom: 44px;
  }
  .lppc-section--trademark.section {
    padding-top: 30px;
    padding-bottom: 36px;
  }
}

@media (min-width: 769px) {
  .lppc-form-panel .contact-form__footer {
    display: flex;
    align-items: center;
    gap: 18px;
  }
  .lppc-form-panel .contact-form__privacy {
    margin-top: 4px;
    white-space: nowrap;
  }
}
