/* Second Shift, option 1. One stylesheet for every page. */
:root {
  /* Token names kept from the replica;
  values now point at the brand layer (_brand/brand.css). */
  --ink: var(--ss-midnight);
  --ink-2: var(--ss-midnight-2);
  --hero: var(--ss-midnight);
  --paper: var(--ss-paper);
  --page: var(--ss-paper);
  --white: var(--ss-paper);
  --smoke: var(--ss-line-light);
  --form: var(--ss-manila);
  --gray-700: #323E4B;
  --gray-600: #4A545E;
  --gray-500: var(--ss-steel);
  --gray-400: var(--ss-muted-dark);
  --gray-dark-text: #C3CCD4;
  --blue: var(--ss-amber);
  --blue-2: var(--ss-amber-deep);
  --blue-deep: var(--ss-midnight);
  --blue-sky: var(--ss-amber);
  --pink: #AD2828;
  --amber: var(--ss-amber);
  --amber-deep: var(--ss-amber-deep);
  --amber-ink: var(--ss-midnight);
  --edge: var(--ss-line-dark);
  --edge-strong: var(--ss-steel);
  --navy-glow: var(--ss-midnight-2);
  --display: var(--ss-display);
  --body: var(--ss-body);
  --mono: var(--ss-mono);
  --track: 0.01em;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --container: 76.25rem;
  --gutter: clamp(1rem, 4.2vw, 2.875rem);
  color-scheme: light;
}
*, *::before, *::after {
  box-sizing: border-box;
}
html {
  -webkit-text-size-adjust: 100%;
  scrollbar-color: #A8ABAC var(--paper);
  scrollbar-width: thin;
}
body {
  margin:0;
  background:var(--page);
  color:var(--ink);
  font-family:var(--body);
  font-size:1.0625rem;
  line-height:1.6;
  font-weight:400;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  caret-color:var(--ink);
}
::selection {
  background: rgba(242, 163, 60, 0.22);
  color: var(--ink);
}
.dark ::selection, .on-dark ::selection {
  background: rgba(250, 247, 240, 0.245);
  color: #FAF7F0;
}
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-track {
  background: var(--paper);
}
::-webkit-scrollbar-thumb {
  background: #B8BABA;
  border-radius: var(--ss-r-btn);
  border: 2px solid var(--paper);
}
img, svg {
  max-width: 100%;
  display: block;
}
a {
  color: inherit;
}
p {
  margin: 0;
}
h1, h2, h3, h4 {
  margin:0;
  font-family:var(--display);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:var(--track);
  line-height:1.02;
  text-wrap:balance;
}
ul, ol {
  margin: 0;
  padding: 0;
}
button {
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}
.skip {
  position:absolute;
  left:1rem;
  top:-4rem;
  z-index:100000;
  background:var(--ss-amber);
  color:var(--ink);
  padding:0.75rem 1rem;
  border-radius:var(--ss-r-btn);
  font-weight:600;
}
.skip:focus {
  top: 1rem;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
/* ---------- Type helpers ---------- */
.lead {
  font-size:1.1875rem;
  line-height:1.6;
}
.muted {
  color: var(--gray-700);
}
.dark .muted, .on-dark .muted {
  color: var(--gray-dark-text);
}
.blue {
  color: var(--ink);
}
.dark .blue, .on-dark .blue {
  color: var(--blue);
}
/* ---------- Layout ---------- */
.container {
  width: 100%;
  max-width: calc(var(--container) + 2 * var(--gutter));
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.wrap-24 {
  width: 100%;
  max-width: 90rem;
  margin-inline: auto;
  padding-inline: 1.5rem;
}
.wrap-46 {
  width: 100%;
  max-width: 90rem;
  margin-inline: auto;
  padding-inline: 2.875rem;
}
.space-150 {
  height: 9.375rem;
}
.space-100 {
  height: 6.25rem;
}
.space-60 {
  height: 3.75rem;
}
.center {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.title-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  text-align: center;
  max-width: 61.5rem;
  margin-inline: auto;
}
.title-wrap.left {
  align-items: flex-start;
  text-align: left;
  margin-inline: 0;
}
.title-desc {
  color:var(--gray-700);
  max-width:44rem;
  font-size:1.1875rem;
  line-height:1.6;
}
.dark .title-desc {
  color: var(--gray-dark-text);
}
/* ---------- Announcement bar ---------- */
/* ---------- Header / nav capsule ---------- */
.head {
  position: absolute;
  top: calc(2.4rem + 1.25rem);
  left: 0;
  right: 0;
  z-index: 9000;
  padding-inline: 4.375rem;
  transition: transform 0.35s var(--ease-out);
}
.js .head {
  position: fixed;
}
.js .head.is-scrolled {
  transform: translateY(-2.4rem);
}
.nav-right {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex: none;
}
/* Mega menu */
.has-mega {
  position: static;
}
.mega {
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 0.5rem);
  padding:2rem 1.875rem 1.7rem;
  border-radius:0;
  border:1px solid var(--ss-line-dark);
  background:var(--ss-midnight-2);
  color:var(--ss-paper);
  opacity:0;
  visibility:hidden;
  transform:translateY(-4px);
  transition:opacity 0.15s ease, transform 0.15s ease, visibility 0s linear 0.15s;
}
.has-mega:hover .mega, .has-mega:focus-within .mega, .has-mega.is-open .mega {
  opacity: 1;
  visibility: visible;
  transform: none;
  transition-delay: 0s;
}
.has-mega:hover > .nav-link svg, .has-mega.is-open > .nav-link svg {
  transform: rotate(180deg);
}
.mega-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
.mega-col h3 {
  font-family:var(--mono);
  font-weight:500;
  font-size:0.8125rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--ss-muted-dark);
  margin-bottom:0.4rem;
}
.mega-col p {
  color: var(--gray-400);
  font-size: 1rem;
  margin-bottom: 1rem;
}
.mega-col ul {
  list-style:none;
  border-left:1px solid var(--ss-line-dark);
}
.mega-col a {
  display:flex;
  align-items:center;
  gap:0.6rem;
  padding:0.5rem 1rem;
  min-height:44px;
  margin-left:-1px;
  border-left:2px solid transparent;
  color:#D5DBE0;
  text-decoration:none;
  font-weight:500;
  font-size:1rem;
  transition:color 0.15s, border-color 0.15s, background 0.15s;
}
.mega-col a:hover {
  color:var(--ss-paper);
  border-left-color:var(--ss-paper);
  background:var(--ss-midnight);
}
.mega-col a .soon {
  font-weight: 500;
  font-size: 0.8125rem;
  color: #909599;
}
.mega-foot {
  display:flex;
  justify-content:space-between;
  gap:1.5rem;
  flex-wrap:wrap;
  margin-top:1.75rem;
  padding-top:1.25rem;
  border-top:1px solid var(--ss-line-dark);
  color:var(--gray-400);
  font-size:0.9375rem;
}
.mega-foot a {
  color: #FAF7F0;
  font-weight: 600;
  text-underline-offset: 3px;
}
/* Search panel */
.search-panel {
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 0.5rem);
  padding:2rem;
  border-radius:0;
  border:1px solid var(--ss-line-dark);
  background:var(--ss-midnight-2);
  color:var(--ss-paper);
  display:none;
}
.search-panel.is-open {
  display: block;
}
.search-field {
  position: relative;
  max-width: 55.75rem;
  margin-inline: auto;
}
.search-field input {
  width:100%;
  height:3.5rem;
  border-radius:0;
  border:1px solid var(--ss-steel);
  background:var(--ss-midnight);
  color:var(--ss-paper);
  font:inherit;
  font-size:1.0625rem;
  padding:0 1rem;
}
.search-field input::placeholder {
  color: #DCDBD7;
}
.search-results {
  max-width: 55.75rem;
  margin: 1.25rem auto 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
}
.search-results a {
  display: block;
  padding: 0.85rem 1rem;
  border-radius: 0;
  text-decoration: none;
  color: #E2E1DD;
}
.search-results a:hover, .search-results a:focus-visible {
  background: rgba(250, 247, 240, 0.06);
}
.search-results small {
  display: block;
  color: var(--gray-400);
  font-size: 0.875rem;
}
.search-empty {
  max-width: 55.75rem;
  margin: 1rem auto 0;
  color: var(--gray-400);
}
/* Mobile menu */
.mmenu {
  display: none;
}
.btn-note {
  font-size: 1rem;
  color: var(--gray-700);
}
.dark .btn-note, .on-dark .btn-note {
  color: var(--gray-dark-text);
}
/* card corner button, reveals "More" */
.corner-btn {
  display:inline-flex;
  align-items:center;
  border-radius:var(--ss-r-btn);
  padding:0;
  background:transparent;
  border:1px solid var(--ss-steel);
  text-decoration:none;
  font-weight:600;
  font-size:0.9375rem;
}
.corner-btn__in {
  position:relative;
  display:flex;
  align-items:center;
  background:transparent;
  border-radius:var(--ss-r-btn);
  color:var(--ss-paper);
}
.corner-btn__tile {
  width:2.25rem;
  height:2.25rem;
  display:grid;
  place-items:center;
  color:var(--ss-paper);
}
.corner-btn__tile svg {
  width: 1.15rem;
  height: 1.15rem;
}
.corner-btn__label {
  color:var(--ss-paper);
  position:absolute;
  right:100%;
  top:50%;
  padding:0 0.6rem;
  white-space:nowrap;
  opacity:0;
  transform:translate(0.5rem, -50%);
  pointer-events:none;
  transition:opacity 0.3s var(--ease-out), transform 0.3s var(--ease-out);
}
.card-link:hover .corner-btn__label, .card-link:focus-visible .corner-btn__label, .corner-btn:hover .corner-btn__label {
  opacity:1;
  transform:translate(0, -50%);
}
.corner-btn--light {
  border-color:var(--ss-midnight);
}
/* ---------- Light plates (flat, 1px hairline) ---------- */
.plate {
  border-radius:0;
  padding:0;
  background:var(--ss-paper);
  border:1px solid var(--ss-line-light);
  display:flex;
}
.plate__in {
  background:var(--ss-paper);
  border-radius:0;
  width:100%;
  overflow:hidden;
  position:relative;
}
/* ---------- Dark plate sections ---------- */
.dark {
  color: #FAF7F0;
}
.dplate {
  position:relative;
  overflow:hidden;
  background:var(--ink);
  border-radius:0;
  padding:5rem 3.75rem;
  color:var(--ss-paper);
}
.dplate > * {
  position: relative;
}
.dcard {
  position:relative;
  overflow:hidden;
  background:var(--ss-midnight-2);
  border:1px solid var(--edge);
  border-radius:0;
  padding:1.75rem;
  transition:border-color 0.15s ease;
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.dcard > * {
  position: relative;
}
.card-link:hover, .card-link:focus-within {
  border-color: var(--edge-strong);
}
.dcard p {
  color: var(--gray-dark-text);
  font-size: 1.0625rem;
  line-height: 1.5;
}
.dcard .shift {
  color: #FAF7F0;
  font-weight: 600;
}
.dcard .cap {
  color:var(--ss-muted-dark);
}
.card-foot {
  margin-top: auto;
  padding-top: 1rem;
  display: flex;
  justify-content: flex-end;
}
.stretch::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.title-row {
  display: flex;
  align-items: center;
  gap: 1rem;
}
/* ---------- HERO ---------- */
.hero {
  position:relative;
  overflow:hidden;
  background:var(--hero);
  color:var(--ss-paper);
  border-radius:0;
  border-bottom:1px solid var(--ss-line-dark);
}
.hero-inner {
  position: relative;
  z-index: 2;
  padding-top: 12.5rem;
  padding-bottom: 5rem;
}
.hero-cols {
  display: grid;
  grid-template-columns: minmax(0, 40rem) minmax(0, 1fr);
  gap: 2rem;
  align-items: center;
}
.hero-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
  max-width: 40rem;
}
.hero-copy .eyebrow {
  color: var(--gray-400);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}
.hero-copy h1 {
  max-width: 40rem;
}
.hero-copy .sub {
  color:#D5DBE0;
  font-size:1.1875rem;
  line-height:1.6;
  max-width:35rem;
}
.hero-cta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.9rem;
  margin-top: 0.75rem;
}
.hero-lines {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  font-size: 1rem;
  color: var(--gray-dark-text);
}
.hero-lines strong {
  color: #FAF7F0;
  font-weight: 600;
}
.crumbs {
  display:flex;
  flex-wrap:wrap;
  gap:0.5rem;
  list-style:none;
  font-family:var(--mono);
  font-size:0.8125rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--gray-400);
  margin-bottom:0.5rem;
}
.crumbs a {
  color: var(--gray-400);
  text-decoration: none;
}
.crumbs a:hover {
  color: #FAF7F0;
}
.crumbs li + li::before {
  content:"//";
  margin-right:0.5rem;
  color:var(--ss-steel);
}
.crumbs [aria-current] {
  color:var(--ss-paper);
  font-weight:500;
}
/* Works-with marquee */
.works {
  position:relative;
  z-index:2;
  padding:3rem 0 3.5rem;
  border-top:1px solid var(--ss-line-dark);
  margin-top:1rem;
}
.works-title {
  text-align:center;
  color:var(--gray-400);
  font-family:var(--mono);
  font-size:0.8125rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  margin-bottom:1.5rem;
}
.works-note {
  text-align: center;
  color: var(--gray-400);
  font-size: 1rem;
  margin-top: 1.75rem;
  padding-inline: 1rem;
}
/* ---------- Home: problem 2x2 ---------- */
.masonry {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  align-items: start;
}
.masonry-col {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.ill-card .plate__in {
  display: flex;
  flex-direction: column;
}
.ill {
  position:relative;
  height:17rem;
  overflow:hidden;
  background:var(--ss-manila);
  border-bottom:1px solid var(--ss-line-light);
}
.ill::before {
  content: "";
  position: absolute;
  inset: 0;
  background-size: 7.5rem 5.25rem;
  background-position: -2rem 0;
}
.ill > * {
  position: relative;
}
.ill-body {
  padding: 1.5rem 2rem 1.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.ill-body p {
  color: var(--gray-700);
  font-size: 1.0625rem;
  line-height: 1.5;
}
.soft-tile {
  background:var(--ss-paper);
  border-radius:0;
  border:1px solid var(--ss-line-light);
}
.chip-cloud {
  position: absolute;
  inset: 0;
}
.chip-cloud .soft-tile {
  position:absolute;
  display:flex;
  align-items:center;
  gap:0.5rem;
  padding:0.55rem 0.8rem;
  font-weight:500;
  font-size:0.9375rem;
  color:var(--ss-midnight);
}
.chip-cloud svg {
  width:1.15rem;
  height:1.15rem;
  color:var(--ss-steel);
}
.sticky {
  background:var(--ss-paper) !important;
  border:1px solid var(--ss-midnight) !important;
  color:var(--ss-midnight) !important;
  font-family:var(--body);
  font-weight:600;
  transform:rotate(-3deg);
}
.qa-stack {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
}
.bubble {
  padding:0.5rem 0.75rem;
  font-size:0.875rem;
  font-weight:500;
  color:var(--ss-midnight);
  border-radius:0;
}
.avatar-gen {
  width:4rem;
  height:4rem;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-family:var(--display);
  font-weight:700;
  color:var(--ink);
  font-size:1.25rem;
  background:var(--ss-paper);
  border:1px solid var(--ss-midnight);
}
/* Demo card (Ask it anything) */
.demo {
  padding: 1.5rem;
}
.demo-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.tab {
  min-height:44px;
  padding:0.5rem 0.9rem;
  border-radius:var(--ss-r-btn);
  font-weight:600;
  font-size:0.9375rem;
  color:var(--gray-700);
  background:transparent;
  border:1px solid var(--ss-line-light);
  transition:background 0.15s, color 0.15s, border-color 0.15s;
}
.tab:hover {
  color:var(--ink);
  border-color:var(--ss-midnight);
}
.tab[aria-selected="true"] {
  background:var(--ss-midnight);
  border-color:var(--ss-midnight);
  color:var(--ss-paper);
}
.dark .tab {
  background:transparent;
  border-color:var(--edge);
  color:#D5DBE0;
}
.dark .tab:hover {
  color: #FAF7F0;
}
.dark .tab[aria-selected="true"] {
  background:var(--ss-paper);
  border-color:var(--ss-paper);
  color:var(--ss-midnight);
}
.askbox {
  background:var(--ss-paper);
  border:1px solid var(--ss-line-light);
  border-radius:0;
  padding:1.1rem;
}
.ask-q {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  font-weight: 600;
  font-size: 1.0625rem;
  line-height: 1.4;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid #E3DDCF;
}
.ask-q svg {
  width:1.25rem;
  height:1.25rem;
  color:var(--ss-steel);
  flex:none;
  margin-top:0.15rem;
}
.ask-a {
  padding-top: 0.85rem;
  font-size: 1rem;
  line-height: 1.5;
  color: #0F1D2E;
}
.src-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.75rem;
}
.src {
  display:inline-flex;
  align-items:center;
  gap:0.35rem;
  font-family:var(--mono);
  font-size:0.75rem;
  letter-spacing:0.04em;
  font-weight:500;
  padding:0.3rem 0.55rem;
  border-radius:0;
  background:var(--ss-manila);
  border:1px solid var(--ss-line-light);
  color:var(--ss-midnight);
}
.src svg {
  width: 0.85rem;
  height: 0.85rem;
}
.flag {
  display:flex;
  gap:0.5rem;
  align-items:flex-start;
  margin-top:0.75rem;
  padding:0.6rem 0.75rem;
  border-radius:0;
  background:var(--amber);
  color:var(--amber-ink);
  font-weight:600;
  font-size:0.9375rem;
  line-height:1.4;
}
.flag svg {
  width: 1.05rem;
  height: 1.05rem;
  flex: none;
  margin-top: 0.15rem;
}
.follow {
  margin-top: 0.85rem;
  display: grid;
  gap: 0.5rem;
}
.follow-row {
  display: grid;
  grid-template-columns: 4.25rem 1fr;
  gap: 0.6rem;
  align-items: start;
  font-size: 0.9375rem;
  line-height: 1.45;
  color: #0F1D2E;
}
.follow-row .k {
  font-family:var(--mono);
  font-weight:500;
  font-size:0.75rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--ink);
  padding-top:0.2rem;
}
.wait {
  display:inline-flex;
  align-items:center;
  gap:0.3rem;
  margin-left:0.3rem;
  font-size:0.8125rem;
  font-weight:600;
  color:var(--ss-midnight);
  background:var(--ss-manila);
  border-radius:0;
  padding:0.12rem 0.55rem;
}
.caption {
  margin-top:0.85rem;
  font-size:0.9375rem;
  color:var(--gray-600);
}
.dark .caption {
  color: var(--gray-400);
}
.demo-panel[hidden] {
  display: none;
}
/* ---------- Photo card + 4 cards (why-us) ---------- */
.photo-card {
  position:relative;
  border-radius:0;
  overflow:hidden;
  padding:10rem 3.125rem 4.75rem;
  isolation:isolate;
}
.photo-card img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:-2;
  filter:grayscale(1) contrast(1.05);
}
.photo-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(15, 29, 46, 0.84);
}
.photo-card .title-wrap {
  max-width: 50rem;
}
.ph-label {
  position:absolute;
  right:0.85rem;
  top:0.85rem;
  z-index:2;
  font-family:var(--mono);
  font-size:0.75rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#D5DBE0;
  background:var(--ss-midnight);
  border:1px solid var(--edge);
  border-radius:0;
  padding:0.2rem 0.5rem;
}
.four {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.9rem;
  margin-top: -3rem;
  position: relative;
  z-index: 2;
}
.three {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.num-cap {
  font-family:var(--mono);
  font-weight:500;
  font-size:0.8125rem;
  letter-spacing:0.14em;
  color:var(--ss-muted-dark);
}
.badge-row {
  position: relative;
  display: grid;
  grid-template-columns: 0.55fr repeat(7, 1fr) 0.55fr;
  gap: 1.31rem;
}
.decor-lines {
  position: relative;
}
/* ---------- Services grid (dark) ---------- */
.svc-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1rem;
}
.svc {
  min-height: 14.3rem;
}
.svc.span-3 {
  grid-column: span 3;
}
.svc.span-2 {
  grid-column: span 2;
}
.svc.span-6 {
  grid-column: span 6;
}
.svc .cap {
  font-size: 0.875rem;
}
.svc p {
  margin-top: -0.25rem;
}
.under-line {
  text-align:center;
  margin-top:2.5rem;
  font-family:var(--display);
  font-weight:700;
  font-size:1.75rem;
  text-transform:uppercase;
  letter-spacing:var(--track);
}
.compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 0.5rem;
}
.cmp {
  border:1px solid var(--edge);
  border-radius:0;
  padding:1.1rem;
  background:var(--ss-midnight);
}
.cmp h4 {
  font-family:var(--mono);
  font-weight:500;
  font-size:0.8125rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  margin-bottom:0.85rem;
  color:var(--ss-muted-dark);
}
.cmp-diagram {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.node {
  font-size:0.9375rem;
  font-weight:500;
  border-radius:0;
  padding:0.4rem 0.6rem;
  border:1px solid var(--ss-line-dark);
  background:var(--ss-midnight-2);
  color:var(--ss-paper);
  white-space:nowrap;
}
.node.core {
  background:var(--ss-paper);
  border-color:var(--ss-paper);
  color:var(--ss-midnight);
  font-weight:600;
}
.node.dim {
  opacity: 0.45;
}
.node.person {
  border-color:var(--ss-steel);
  background:transparent;
  color:var(--ss-paper);
}
.arrow-line {
  width: 1.75rem;
  height: 1px;
  background: var(--ss-steel);
  position: relative;
  flex: none;
}
.arrow-line::after {
  content:"";
  position:absolute;
  right:-1px;
  top:-3px;
  border:3.5px solid transparent;
  border-left-color:var(--ss-steel);
  border-right:0;
}
.src-stack {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  max-width: 20rem;
}
/* ---------- Industries tabs + slider ---------- */
.ind {
  display: grid;
  grid-template-columns: 19.7rem minmax(0, 1fr);
  gap: 2.06rem;
  align-items: stretch;
}
.ind-side .plate__in, .ind-main .plate__in {
  padding: 1.5rem;
}
.ind-side .cap {
  color:var(--gray-700);
  margin-bottom:1.75rem;
  display:block;
}
.ind-list {
  list-style: none;
  border-left: 1px solid var(--smoke);
}
.ind-tab {
  display:flex;
  align-items:center;
  gap:0.6rem;
  width:100%;
  text-align:left;
  min-height:48px;
  padding:0.88rem 0 0.88rem 1rem;
  margin-left:-1px;
  border-left:2px solid transparent;
  color:var(--gray-700);
  font-size:1.0625rem;
  font-weight:600;
  transition:color 0.15s, border-color 0.15s;
  text-decoration:none;
}
.ind-tab:hover {
  color: #0F1D2E;
}
.ind-tab svg {
  width: 0;
  height: 1.3rem;
  opacity: 0;
  transform: translateX(-0.5rem);
  transition: opacity 0.3s var(--ease-out), transform 0.3s var(--ease-out);
  flex: none;
}
.ind-tab[aria-selected="true"] {
  color: var(--ink);
  border-left-color: var(--ink);
}
.ind-tab[aria-selected="true"] svg {
  width: 1.3rem;
  opacity: 1;
  transform: none;
}
.ind-tab small {
  display: block;
  font-weight: 500;
  font-size: 0.875rem;
  color: var(--gray-600);
}
.ind-main .plate__in {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.ind-main .title-desc {
  max-width: 42rem;
}
.slider {
  position: relative;
  margin-top: 1rem;
}
.track {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 0.5rem 0.25rem 1.5rem;
  margin: -0.5rem -0.25rem 0;
}
.track::-webkit-scrollbar {
  display: none;
}
.track[hidden] {
  display: none;
}
.slide {
  flex: none;
  width: 37.5rem;
  min-height: 18.75rem;
  scroll-snap-align: start;
}
.slide .plate__in {
  padding: 1.25rem 1.25rem 1.25rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.slide h3 {
  color: var(--ink);
}
.slide .slide-art {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 21rem;
  pointer-events: none;
  opacity: 0.9;
}
.slide-cont {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  max-width: 19.5rem;
  position: relative;
  z-index: 2;
}
.slide-cont p {
  color: var(--gray-700);
  font-size: 1.0625rem;
  line-height: 1.45;
}
.slide-cont .leak {
  font-size: 0.9375rem;
  color: var(--gray-600);
}
.slide-cont .leak b {
  color: var(--ink);
}
.slider-nav {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin-top: 0.75rem;
}
.progress {
  position:relative;
  flex:1;
  height:1px;
  background:var(--ss-line-light);
}
.progress i {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  width: 100%;
  background: var(--ss-midnight);
  transform: scaleX(0.08);
  transform-origin: left center;
  transition: transform 0.4s var(--ease-out);
}
.sbtn {
  width:3.25rem;
  height:2.75rem;
  display:grid;
  place-items:center;
  border-radius:var(--ss-r-btn);
  background:transparent;
  border:1px solid var(--ss-midnight);
  color:var(--ink);
  transition:background 0.15s, color 0.15s, opacity 0.15s;
}
.sbtn:hover {
  background:var(--ss-midnight);
  color:var(--ss-paper);
}
.sbtn[disabled] {
  opacity: 0.3;
  cursor: default;
}
.sbtn svg {
  width: 1.25rem;
  height: 1.25rem;
}
.ind-foot {
  margin-top: 2.5rem;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  text-align: center;
  color: var(--gray-700);
}
.ind-foot a {
  color: var(--ink);
  font-weight: 700;
  text-underline-offset: 4px;
}
/* ---------- Quotes (reviews) ---------- */
.quotes {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1.5rem;
  position:relative;
  margin-top:3rem;
  align-items:start;
}
.qcol {
  display: flex;
  flex-direction: column;
}
.quotes:hover .qtrack {
  animation-play-state: paused;
}
.qcard {
  background:var(--ink-2);
  border:1px solid var(--edge);
  border-radius:0;
  padding:1.5rem;
  text-align:left;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:1rem;
}
.qsrc {
  font-family:var(--mono);
  font-weight:500;
  font-size:0.75rem;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--ss-muted-dark);
}
.qcard blockquote {
  margin:0;
  font-size:1.0625rem;
  line-height:1.55;
  color:#E4E8EB;
}
.qwho {
  font-size: 1rem;
  line-height: 1.35;
}
.qwho b {
  display: block;
  color: #FAF7F0;
  font-weight: 600;
}
.qwho a {
  color: var(--gray-400);
  text-underline-offset: 3px;
}
.quote-note {
  text-align:center;
  color:var(--gray-400);
  font-size:0.9375rem;
  margin-top:1.5rem;
}
/* ---------- FAQ ---------- */
.faq-frame .plate__in {
  padding: 1.5rem;
}
.faq {
  background:var(--ink);
  border-radius:0;
  padding:2.5rem;
  color:var(--ss-paper);
  position:relative;
  overflow:hidden;
}
.faq .cap {
  color: #FAF7F0;
  font-size: 0.875rem;
}
.faq-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 2rem;
}
.faq details {
  border:1px solid var(--edge);
  border-radius:0;
  overflow:hidden;
  transition:border-color 0.15s;
}
.faq details[open] {
  border-color: var(--edge-strong);
  background: var(--ss-midnight-2);
}
.faq summary {
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1.25rem;
  padding:1.35rem 1.5rem;
  cursor:pointer;
  font-family:var(--body);
  font-weight:600;
  font-size:1.1875rem;
  line-height:1.4;
  border-radius:0;
}
.faq summary::-webkit-details-marker {
  display: none;
}
.faq summary:hover {
  color:#D5DBE0;
}
.faq summary svg {
  width:1.25rem;
  height:1.25rem;
  color:var(--ss-muted-dark);
  flex:none;
  transition:transform 0.3s var(--ease-out);
}
.faq details[open] summary svg {
  transform: rotate(180deg);
}
.faq-a {
  padding:0 1.5rem 1.5rem;
  color:#C3CCD4;
  font-size:1.0625rem;
  line-height:1.6;
  max-width:65ch;
}
/* ---------- Blog cards ---------- */
.blog {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  position: relative;
  border-top: 1px solid var(--smoke);
  border-bottom: 1px solid var(--smoke);
}
.post {
  position: relative;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}
.post + .post {
  border-left: 1px solid var(--smoke);
}
.thumb-edge {
  border-radius:0;
  padding:0;
  background:none;
  border:1px solid var(--ss-line-light);
}
.thumb {
  border-radius:0;
  overflow:hidden;
  height:17.4rem;
  position:relative;
  background:var(--ss-midnight);
  color:var(--ss-paper);
  padding:1.5rem;
  display:flex;
  align-items:center;
  gap:1.25rem;
  transition:background 0.15s;
}
.post:hover .thumb {
  background:var(--ss-midnight-2);
}
.thumb-title {
  flex: none;
  width: 8.5rem;
}
.thumb-title i {
  display:block;
  width:1.5rem;
  height:2px;
  background:var(--ss-steel);
  margin-bottom:0.6rem;
}
.thumb-title b {
  display:block;
  font-family:var(--display);
  font-weight:700;
  text-transform:uppercase;
  font-size:1.25rem;
  line-height:1.05;
}
.thumb-title span {
  display:block;
  margin-top:0.4rem;
  font-size:0.8125rem;
  color:var(--ss-muted-dark);
  line-height:1.4;
}
.thumb-art {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  font-size: 0.75rem;
}
.post-meta {
  display:flex;
  gap:0.6rem;
  margin:1.25rem 0 0.75rem;
  font-family:var(--mono);
  font-size:0.75rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--gray-700);
}
.post-meta .blue {
  font-weight: 600;
}
.post h3 {
  margin-bottom: 1.5rem;
}
/* ---------- Contact form block + footer ---------- */
.foot-sec {
  background:var(--hero);
  color:var(--ss-paper);
  border-radius:0;
  padding-top:3.75rem;
  padding-bottom:2.5rem;
  position:relative;
  overflow:hidden;
  margin-top:9.375rem;
}
.form-wrap {
  display:flex;
  gap:1.5rem;
  background:var(--form);
  color:var(--ink);
  border-radius:0;
  padding:1.875rem;
  scroll-margin-top:8rem;
}
.form-cta {
  flex: none;
  width: 26rem;
}
.form-cta .plate__in {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.form-cta h2 {
  font-size:clamp(2rem, 3.2vw, 2.75rem);
  line-height:1;
}
.form-cta .note {
  font-size:1.0625rem;
  color:var(--gray-700);
}
.mac-row {
  display: flex;
  gap: 0.85rem;
  align-items: center;
}
.mac-row img {
  width:3.5rem;
  height:3.5rem;
  border-radius:var(--ss-r-img);
  object-fit:cover;
  flex:none;
  border:1px solid var(--ss-line-light);
}
.mac-row p {
  font-size: 1rem;
  line-height: 1.45;
  color: var(--gray-700);
}
.form-main {
  flex: 1;
  min-width: 0;
}
.form-main .plate__in {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.form-main h3 {
  font-size: 1.5rem;
}
.fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}
.field {
  position: relative;
}
.field.full {
  grid-column: 1 / -1;
}
.field label {
  position:absolute;
  left:1.1rem;
  top:0.95rem;
  font-family:var(--mono);
  font-size:0.75rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  font-weight:500;
  line-height:1.2;
  color:var(--ink);
}
.field label .req {
  color: var(--ink);
}
.field label .opt {
  font-weight: 500;
  color: var(--gray-600);
}
.field input, .field textarea {
  width:100%;
  font:inherit;
  font-size:1.0625rem;
  font-weight:400;
  color:var(--ink);
  background:var(--ss-paper);
  border:1px solid #CFC6B2;
  border-radius:0;
  padding:2.5rem 1.1rem 1rem;
  line-height:1.2;
  transition:border-color 0.15s;
}
.field textarea {
  min-height: 7rem;
  resize: vertical;
}
.field input::placeholder, .field textarea::placeholder {
  color: var(--gray-500);
}
.field input:hover, .field textarea:hover {
  border-color:var(--ss-steel);
}
.field input:focus, .field textarea:focus {
  outline:2px solid var(--ss-amber);
  outline-offset:2px;
  border-color:var(--ink);
}
.field.has-error input {
  border-color:#AD2828;
}
.err {
  display: none;
  margin-top: 0.4rem;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #AD2828;
}
.field.has-error .err {
  display: block;
}
.form-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: 0.75rem;
}
.form-status {
  font-size: 1rem;
  font-weight: 600;
}
.form-status.ok {
  color:var(--ss-resolved);
}
.form-status.bad {
  color: #AD2828;
}
.ph {
  font-size: 0.8125rem;
  font-weight: 600;
  color: inherit;
  opacity: 0.75;
  border: 1px dashed currentColor;
  border-radius: 0;
  padding: 0.05rem 0.35rem;
  white-space: nowrap;
}
.foot-cols {
  display: flex;
  justify-content: space-between;
  gap: 2.5rem;
  margin: 3.75rem 0;
  position: relative;
  z-index: 2;
}
.foot-brand {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  max-width: 24rem;
}
.foot-brand .logo {
  font-size:2rem;
}
.foot-lines p {
  color:#D5DBE0;
  font-size:1.0625rem;
}
.foot-lines p + p {
  margin-top: 0.35rem;
  font-weight: 700;
  color: #FAF7F0;
}
.contact-chips {
  display: flex;
  flex-direction: column;
  gap: 0.63rem;
}
.cchip {
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
  align-self:flex-start;
  min-height:44px;
  padding:0.5rem 1rem 0.5rem 0.6rem;
  border-radius:0;
  border:1px solid var(--edge);
  background:var(--ink);
  color:var(--gray-400);
  font-size:0.9375rem;
  text-decoration:none;
}
.cchip svg {
  width:1.25rem;
  height:1.25rem;
  color:var(--ss-muted-dark);
  flex:none;
}
.foot-menus {
  display: flex;
  gap: 6rem;
}
.foot-menu h3 {
  font-family:var(--mono);
  font-weight:500;
  font-size:0.8125rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--ss-muted-dark);
  margin-bottom:1.25rem;
}
.foot-menu ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.foot-menu a {
  color: var(--gray-400);
  text-decoration: none;
  font-size: 1rem;
  transition: color 0.2s ease-out;
}
.foot-menu a:hover {
  color: #FAF7F0;
}
.copy-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1.25rem;
  flex-wrap:wrap;
  color:var(--gray-400);
  font-size:0.9375rem;
  position:relative;
  z-index:2;
  padding-top:1.5rem;
  border-top:1px solid var(--ss-line-dark);
}
.copy-row nav {
  display: flex;
  gap: 1.25rem;
}
.copy-row a {
  color: var(--gray-400);
  text-decoration: none;
}
.copy-row a:hover {
  color: #FAF7F0;
}
/* ---------- Inner page pieces ---------- */
.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: start;
}
.two-col .right p + p {
  margin-top: 1.25rem;
}
.two-col .right {
  font-size: 1.25rem;
  line-height: 1.45;
  color: var(--gray-700);
}
.text-plate .plate__in {
  padding: 1.5rem 1.75rem;
  font-size: 1.125rem;
  color: var(--gray-700);
  line-height: 1.55;
}
.text-plate h3 {
  color: var(--ink);
  margin-bottom: 0.6rem;
}
.blue-plate {
  border-radius:0;
  padding:0;
  background:none;
  border:1px solid var(--ss-line-dark);
}
.blue-plate__in {
  border-radius:0;
  background:var(--ss-midnight-2);
  color:var(--ss-paper);
  padding:1.75rem;
}
.blue-plate__in ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.blue-plate__in li {
  position: relative;
  padding-left: 1.25rem;
  font-size: 1.0625rem;
  line-height: 1.5;
}
.blue-plate__in li::before {
  content:"";
  position:absolute;
  left:0;
  top:0.65rem;
  width:0.4rem;
  height:0.4rem;
  border-radius:0;
  background:var(--ss-muted-dark);
}
.blue-plate__in b {
  font-weight: 700;
}
.stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.stat {
  padding: 1.5rem 1.4rem;
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}
.stat:nth-child(-n + 2) {
  border-bottom: 1px solid rgba(250, 247, 240, 0.22);
}
.stat .cap {
  color:var(--ss-muted-dark);
  font-size:0.75rem;
}
.stat-row {
  display: flex;
  align-items: center;
  gap: 0.9rem;
}
.num {
  display:grid;
  place-items:center;
  min-width:2.6rem;
  height:2.6rem;
  padding:0 0.4rem;
  border-radius:0;
  background:transparent;
  border:1px solid var(--ss-steel);
  font-family:var(--mono);
  font-weight:500;
  font-size:1rem;
}
.stat-row b {
  font-family:var(--display);
  font-weight:700;
  text-transform:uppercase;
  font-size:1.5rem;
  letter-spacing:var(--track);
  line-height:1.05;
}
.num-light {
  display:inline-grid;
  place-items:center;
  min-width:2.6rem;
  height:2.6rem;
  border-radius:0;
  background:var(--ss-manila);
  border:1px solid var(--ss-line-light);
  color:var(--ink);
  font-family:var(--mono);
  font-weight:500;
  font-size:1rem;
}
.tiles-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.tiles-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}
.ntile .plate__in {
  padding: 1.25rem 1.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  min-height: 15rem;
}
.ntile h3 {
  margin-top:auto;
  font-size:1.375rem;
  line-height:1.08;
  font-weight:600;
}
.ntile p {
  color: var(--gray-700);
  font-size: 1.0625rem;
}
.cta-band {
  text-align: center;
}
.cta-band .plate__in {
  padding: 4rem 2rem 3rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}
.cta-band h2 {
  max-width: 46rem;
}
.cta-band p {
  max-width: 42rem;
  color: var(--gray-700);
  font-size: 1.25rem;
}
.photo-band {
  position:relative;
  border-radius:0;
  overflow:hidden;
  padding:7rem 3.75rem 3.5rem;
  color:var(--ss-paper);
  isolation:isolate;
}
.photo-band img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:-2;
  filter:grayscale(1) contrast(1.05);
}
.photo-band::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(15, 29, 46, 0.84);
}
.photo-band .inner {
  max-width: 48rem;
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
  align-items: flex-start;
}
.photo-band p {
  color:#D5DBE0;
  font-size:1.125rem;
}
.hscroll {
  display: flex;
  gap: 1.1rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 1.25rem;
  margin-right: -3.75rem;
  padding-right: 3.75rem;
  scrollbar-width: thin;
  scrollbar-color: #2A3B50 transparent;
}
.hscroll .dcard {
  flex: none;
  width: 23.5rem;
  min-height: 13rem;
  scroll-snap-align: start;
}
.timeline-line {
  height: 1px;
  background: var(--ss-line-dark);
  margin-top: 0.5rem;
  position: relative;
}
.draft-card {
  max-width:34rem;
  margin:2.5rem auto 2.5rem;
  background:var(--ss-paper);
  color:var(--ink);
  border-radius:0;
  padding:1.25rem 1.35rem;
  border:1px solid var(--ss-line-light);
  text-align:left;
}
.draft-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  font-size: 0.9375rem;
  color: var(--gray-600);
  margin-bottom: 0.75rem;
}
.status {
  font-family:var(--mono);
  font-size:0.75rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  font-weight:500;
  border-radius:0;
  padding:0.2rem 0.6rem;
  background:var(--ss-manila);
  color:var(--ss-midnight);
  border:1px solid var(--ss-line-light);
}
.draft-body {
  font-size:1rem;
  line-height:1.55;
  padding:0.85rem 1rem;
  border-radius:0;
  background:var(--ss-manila);
  border:1px solid var(--ss-line-light);
}
.draft-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-top: 0.9rem;
}
.dbtn {
  min-height:44px;
  padding:0 1rem;
  border-radius:var(--ss-r-btn);
  font-weight:600;
  font-size:0.9375rem;
  border:1px solid var(--ss-midnight);
  background:transparent;
  color:var(--ink);
}
.dbtn.primary {
  background:var(--ss-amber);
  border-color:var(--ss-amber);
  color:var(--ink);
}
.draft-foot {
  margin-top: 0.85rem;
  font-size: 0.9375rem;
  color: var(--gray-600);
}
.story {
  display: grid;
  grid-template-columns: 1fr auto 1.35fr;
  gap: 2.5rem;
}
.story-left {
  position: sticky;
  top: 8rem;
  align-self: start;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  align-items: flex-start;
}
.story-left p {
  color: #D0D0CD;
  font-size: 1.125rem;
}
.story-rail {
  width:1px;
  position:relative;
  background:var(--ss-line-dark);
}
.story-rail i {
  position:absolute;
  left:0;
  top:0;
  width:1px;
  height:100%;
  background:var(--ss-paper);
  transform:scaleY(var(--p, 0.3));
  transform-origin:top center;
}
.story-steps {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.story-steps .dcard {
  gap: 0.75rem;
}
.story-steps .dcard + .dcard::after {
  content: none;
}
.step-sep {
  height: 1px;
  background: var(--ss-line-dark);
  margin-block: -1rem;
}
.sq-icon {
  width:2.25rem;
  height:2.25rem;
  border-radius:0;
  display:grid;
  place-items:center;
  background:var(--ss-midnight);
  border:1px solid var(--ss-line-dark);
  color:#D5DBE0;
  flex:none;
}
.sq-icon svg {
  width: 1.15rem;
  height: 1.15rem;
}
.qpills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}
.qpill {
  font-size:1rem;
  line-height:1.4;
  padding:0.6rem 0.85rem;
  border-radius:0;
  border:1px solid var(--edge);
  background:var(--ss-midnight);
  color:#E4E8EB;
}
.qpill b {
  font-family:var(--mono);
  font-weight:500;
  font-size:0.75rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--ss-muted-dark);
  margin-right:0.35rem;
}
.tabs-shell {
  margin-top:3rem;
  border:1px solid var(--edge);
  border-radius:0;
  padding:0.75rem;
  background:var(--ss-midnight-2);
}
.tabs-shell .tabs {
  padding:0.5rem;
  border-radius:0;
  border:1px solid var(--edge);
  background:var(--ss-midnight);
  margin-bottom:0.75rem;
}
.tab-panel {
  border: 1px solid var(--edge);
  border-radius: var(--ss-r-btn);
  padding: 1.5rem;
  background: var(--ink);
  min-height: 15rem;
}
.tab-panel[hidden] {
  display: none;
}
.askline {
  display:flex;
  align-items:center;
  gap:0.75rem;
  padding:0.85rem 1rem;
  border-radius:0;
  background:var(--ss-midnight-2);
  border:1px solid var(--edge);
  font-size:1.0625rem;
  color:var(--ss-paper);
}
.askline + .askline {
  margin-top: 0.75rem;
}
.askline svg {
  width:1.2rem;
  height:1.2rem;
  color:var(--ss-muted-dark);
  flex:none;
}
.table-plate .plate__in {
  padding: 0.5rem 1.5rem 1rem;
}
.atable {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.0625rem;
}
.atable th {
  text-align:left;
  font-family:var(--mono);
  font-weight:500;
  font-size:0.75rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--gray-700);
  padding:1rem 1rem 0.85rem 0;
  border-bottom:1px solid var(--ss-midnight);
}
.atable td {
  padding: 1rem 1rem 1rem 0;
  border-bottom: 1px solid #E3DDCF;
  vertical-align: top;
  color: var(--gray-700);
}
.atable td:first-child {
  color: var(--ink);
  font-weight: 700;
}
.atable tr:last-child td {
  border-bottom: 0;
}
.where {
  font-weight: 700;
  color: var(--ink);
}
.list-plain {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.list-plain li {
  display: flex;
  gap: 0.7rem;
  align-items: flex-start;
}
.list-plain svg {
  width:1.25rem;
  height:1.25rem;
  flex:none;
  margin-top:0.2rem;
  color:var(--ss-resolved);
}
.list-plain.x svg {
  color: var(--gray-500);
}
.sw-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.31rem;
}
.sw .plate__in {
  padding: 1.25rem;
  min-height: 9.4rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 0.35rem;
}
.sw b {
  font-family:var(--display);
  font-weight:700;
  text-transform:uppercase;
  font-size:1.25rem;
  letter-spacing:var(--track);
}
.sw small {
  font-size: 0.9375rem;
  color: var(--gray-700);
}
.sw .how {
  font-family:var(--mono);
  font-size:0.75rem;
  font-weight:500;
  color:var(--ink);
  letter-spacing:0.14em;
  text-transform:uppercase;
}
.team-grid {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 1rem;
}
.person {
  padding: 1rem;
}
.person img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: var(--ss-r-img);
  border: 1px solid var(--edge);
}
.person h3 {
  margin-top: 1rem;
}
.person p {
  font-size: 0.9375rem;
}
.team-photo {
  position: relative;
  border-radius: var(--ss-r-img);
  overflow: hidden;
  height: 18rem;
}
.team-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.office-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
.office .plate__in {
  padding: 1.15rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.office-media {
  position: relative;
  height: 16.5rem;
  border-radius: var(--ss-r-img);
  overflow: hidden;
}
.office-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.office-media .chip-title {
  position:absolute;
  left:0;
  top:1.25rem;
  background:var(--ss-paper);
  border-radius:0;
  padding:0.5rem 1.2rem 0.5rem 0.75rem;
  font-family:var(--display);
  font-weight:700;
  text-transform:uppercase;
  font-size:1.5rem;
  color:var(--ink);
}
.office-info {
  background:var(--ss-paper);
  border-radius:0;
  padding:1.25rem;
  border:1px solid var(--ss-line-light);
}
.office-info b {
  display:block;
  font-family:var(--display);
  font-weight:700;
  text-transform:uppercase;
  font-size:1.375rem;
  letter-spacing:var(--track);
  margin-bottom:0.5rem;
}
.office-info p {
  color: var(--gray-700);
  font-size: 1.0625rem;
}
.cal-mock {
  position: absolute;
  inset: 0;
  background: var(--ss-midnight-2);
  padding: 4.25rem 1.25rem 1.25rem;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0.35rem;
  align-content: start;
}
.cal-mock span {
  height:1.9rem;
  border-radius:0;
  background:transparent;
  border:1px solid var(--ss-line-dark);
  font-family:var(--mono);
  font-size:0.75rem;
  color:var(--ss-muted-dark);
  display:grid;
  place-items:center;
}
.cal-mock span.on {
  background:var(--ss-midnight);
  border-color:var(--ss-steel);
  color:var(--ss-paper);
}
.cal-mock span.pick {
  background:var(--ss-amber);
  border-color:var(--ss-amber);
  color:var(--ss-midnight);
  font-weight:600;
}
.contact-mini {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  margin-top: 1.5rem;
}
.contact-mini .plate__in {
  padding:1.25rem 1.5rem;
  display:flex;
  align-items:center;
  gap:0.75rem;
  font-size:1.25rem;
  font-family:var(--display);
  font-weight:700;
  text-transform:uppercase;
  color:var(--ink);
  letter-spacing:var(--track);
}
.contact-mini svg {
  width: 1.5rem;
  height: 1.5rem;
  flex: none;
}
.fit {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
.fit .plate__in {
  padding: 1.75rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.fit li {
  font-size: 1.0625rem;
  color: var(--gray-700);
  line-height: 1.5;
}
/* ---------- Responsive ---------- */
@media (max-width: 1279px) {
  .head {
    padding-inline: 1.5rem;
  }
  .badge-row {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 991px) {
  .nav-right .nav-search {
    display: none;
  }
  .mmenu {
    display: flex;
    position: fixed;
    inset: 0;
    z-index: 8000;
    flex-direction: column;
    background: #0F1D2E;
    background-size: auto, 4rem 4rem, 4rem 4rem;
    padding: 7.5rem 1.25rem 2rem;
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s var(--ease-out), visibility 0s linear 0.3s;
    color: #FAF7F0;
  }
  .menu-open .mmenu {
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
  }
  .mmenu-links {
    list-style: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
  }
  .mmenu-links > li > a, .mmenu-links summary {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:0.4rem;
    min-height:52px;
    font-family:var(--display);
    font-weight:700;
    text-transform:uppercase;
    font-size:1.75rem;
    letter-spacing:var(--track);
    color:var(--ss-paper);
    text-decoration:none;
    list-style:none;
    cursor:pointer;
  }
  .mmenu-links summary::-webkit-details-marker {
    display: none;
  }
  .mmenu-links details {
    text-align: center;
  }
  .mmenu-links details svg {
    width: 1.25rem;
    height: 1.25rem;
    transition: transform 0.3s;
  }
  .mmenu-links details[open] summary svg {
    transform: rotate(90deg);
  }
  .mm-group {
    text-align:left;
    margin:0.5rem auto 1rem;
    max-width:22rem;
    border:1px solid var(--edge);
    border-radius:0;
    padding:0.75rem 1rem;
    background:var(--ss-midnight-2);
  }
  .mm-group h3 {
    font-family:var(--mono);
    font-weight:500;
    letter-spacing:0.14em;
    text-transform:uppercase;
    font-size:0.75rem;
    color:var(--ss-muted-dark);
    margin:0.5rem 0 0.25rem;
  }
  .mm-group a {
    display:flex;
    align-items:center;
    min-height:44px;
    color:#D5DBE0;
    text-decoration:none;
    font-weight:500;
  }
  .mm-cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    margin-top: 2.25rem;
  }
  .mm-contact {
    margin-top: 2.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    align-items: center;
  }
  .hero-cols {
    grid-template-columns: 1fr;
  }
  .masonry {
    grid-template-columns: 1fr;
  }
  .four {
    grid-template-columns: 1fr 1fr;
  }
  .three, .tiles-3 {
    grid-template-columns: 1fr;
  }
  .svc.span-2, .svc.span-3 {
    grid-column: span 6;
  }
  .ind {
    grid-template-columns: 1fr;
  }
  .ind-list {
    display: flex;
    overflow-x: auto;
    border-left: 0;
    border-bottom: 1px solid var(--smoke);
    scrollbar-width: none;
  }
  .ind-tab {
    white-space: nowrap;
    border-left: 0;
    border-bottom: 2px solid transparent;
    margin: 0 0 -1px;
    padding: 0.75rem 1rem;
  }
  .ind-tab[aria-selected="true"] {
    border-bottom-color: var(--ink);
  }
  .ind-tab small {
    display: none;
  }
  .ind-tab svg {
    display: none;
  }
  .quotes {
    grid-template-columns: 1fr 1fr;
  }
  .quotes .qcol:nth-child(3) {
    display: none;
  }
  .blog {
    grid-template-columns: 1fr;
  }
  .post + .post {
    border-left: 0;
    border-top: 1px solid var(--smoke);
  }
  .form-wrap {
    flex-direction: column;
  }
  .form-cta {
    width: 100%;
  }
  .foot-cols {
    flex-direction: column;
  }
  .two-col, .story, .office-cards, .fit, .team-grid {
    grid-template-columns: 1fr;
  }
  .story-rail {
    display: none;
  }
  .story-left {
    position: static;
  }
  .sw-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .compare {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767px) {
  .space-150 {
    height: 6rem;
  }
  .space-100 {
    height: 4.5rem;
  }
  .wrap-24, .wrap-46 {
    padding-inline: 1rem;
  }
  .dplate {
    padding: 2.5rem 1rem;
  }
  .badge-row {
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }
  .four {
    grid-template-columns: 1fr;
    margin-top: 1rem;
  }
  .photo-card {
    padding: 8rem 1.25rem 2.5rem;
  }
  .slide {
    width: 19.8rem;
    min-height: 26rem;
  }
  .slide .slide-art {
    top: auto;
    height: 12rem;
    width: 100%;
  }
  .quotes {
    grid-template-columns: 1fr;
    height: 50rem;
  }
  .quotes .qcol:nth-child(2) {
    display: none;
  }
  .faq {
    padding: 1.5rem 1rem;
  }
  .faq summary {
    font-size: 1.375rem;
    padding: 1.15rem;
  }
  .faq-a {
    padding: 0 1.15rem 1.15rem;
  }
  .faq-frame .plate__in {
    padding: 0.75rem;
  }
  .fields {
    grid-template-columns: 1fr;
  }
  .form-wrap {
    padding: 1.25rem;
    border-radius: 0;
  }
  .foot-menus {
    gap: 3rem;
  }
  .hero {
    border-radius: 0;
  }
  .hero-inner {
    padding-top: 8rem;
    padding-bottom: 2rem;
  }
  .photo-band {
    padding: 6rem 1.25rem 2.5rem;
    border-radius: 0;
  }
  .hscroll {
    margin-right: -1rem;
    padding-right: 1rem;
  }
  .hscroll .dcard {
    width: 18.5rem;
  }
  .tiles-2 {
    grid-template-columns: 1fr;
  }
  .stats {
    grid-template-columns: 1fr;
  }
  .stat:nth-child(-n + 3) {
    border-bottom: 1px solid rgba(250, 247, 240, 0.22);
  }
  .sw-grid {
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
  }
  .contact-mini {
    grid-template-columns: 1fr;
  }
  .cta-band .plate__in {
    padding: 2.5rem 1.25rem 2rem;
  }
  .works {
    padding: 2.5rem 0 3rem;
  }
  .demo {
    padding: 1rem;
  }
  .follow-row {
    grid-template-columns: 1fr;
    gap: 0.15rem;
  }
  .ill {
    height: 15rem;
  }
  .ill-body {
    padding: 1.25rem 1.25rem 1.5rem;
  }
  .search-results {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 479px) {
  .head {
    padding-inline: 1rem;
    top: calc(3.6rem + 0.75rem);
  }
  .js .head.is-scrolled {
    transform: translateY(-3.6rem);
  }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  .quotes {
    height: auto;
  }
}
/* fixes after first render */
.ind > *, .ind-main .plate__in, .slider {
  min-width: 0;
}
@media (max-width: 991px) {
  .ind {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 767px) {
  .hero-copy .eyebrow {
    display: none;
  }
  .hero-copy .sub {
    font-size: 1.0625rem;
  }
  .hero-copy {
    gap: 1rem;
  }
  .hero-cta {
    margin-top: 0.25rem;
  }
  .hero-lines {
    font-size: 0.9375rem;
  }
}
.post, .thumb-art {
  min-width: 0;
}
@media (max-width: 991px) {
  .blog {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 479px) {
  .thumb-title {
    width: 7rem;
  }
  .thumb {
    padding: 1rem;
    gap: 0.75rem;
  }
}
.wait svg {
  width: 0.85rem;
  height: 0.85rem;
}
.dplate .title-desc, .photo-card .title-desc {
  color: var(--gray-dark-text);
}
.dplate .caption {
  color: var(--gray-400);
}
.num-light {
  align-self: flex-start;
}
.form-wrap .btn-note {
  color: var(--gray-600);
}
.form-wrap ::selection {
  background: rgba(242, 163, 60, 0.22);
  color: var(--ink);
}
.hero-copy {
  position: relative;
  z-index: 3;
}
@media (max-width: 767px) {
  .field textarea {
    padding-top: 3.9rem;
  }
}
@media (max-width: 991px) {
  .mmenu {
    padding-top: 10rem;
  }
  .mmenu .btn-note {
    color: var(--gray-dark-text);
  }
}
.search-results small {
  color: #DCDBD7;
}
/* ---------- Finish review fixes ---------- */
.hero--home .hero-inner {
  padding-top: 11rem;
  padding-bottom: 0;
}
.hero--home .hero-cols {
  grid-template-columns: minmax(0, 34rem) minmax(0, 1fr);
  align-items: start;
  row-gap: 1.5rem;
}
.hero--home h1 {
  grid-column: 1 / -1;
  position: relative;
  z-index: 3;
}
.hero--home h1 span {
  display: block;
}
.hero--home .works {
  padding-top: 1.5rem;
  margin-top: 0.5rem;
}
.hero--home .works-title {
  margin-bottom: 1.25rem;
}
.hero-btn-line {
  font-size: 1rem;
}
@media (max-width: 991px) {
  .hero--home .hero-cols {
    grid-template-columns: 1fr;
  }
  .hero--home h1 span {
    display: inline;
  }
}
@media (max-width: 767px) {
  .hero--home .hero-inner {
    padding-top: 8rem;
  }
}
.photo-band, .photo-card {
  background-color: var(--ink);
}
.mega-col p, .mega-foot {
  color: #B8BABA;
}
.search-empty, .search-empty a {
  color: #DCDBD7;
}
/* ==========================================================================
   Brand layer: the Second Shift identity on BD Emerson's layout.
   Barlow Semi Condensed headlines, Plex Sans body, Plex Mono labels.
   Flat Midnight / Paper / Manila surfaces, 1px hairlines, no shadows or glow.
   ========================================================================== */
/* ---------- Type scale ---------- */
.t-hero {
  font-size: clamp(2.75rem, 5.3vw, 4.75rem);
  font-weight: 800;
  line-height: 0.98;
}
.t-74, .t-56 {
  font-size: clamp(2.5rem, 4.6vw, 4.25rem);
  font-weight: 800;
  line-height: 1;
}
.t-64, .t-48 {
  font-size: clamp(2rem, 3.6vw, 2.875rem);
  line-height: 1.02;
}
.t-36 {
  font-size: clamp(1.625rem, 2.4vw, 2.125rem);
  line-height: 1.04;
}
.t-28 {
  font-size: clamp(1.375rem, 1.9vw, 1.625rem);
  font-weight: 600;
  line-height: 1.08;
}
.t-24 {
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.1;
}
.t-20 {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.2;
}
h3.t-36 {
  font-weight: 700;
}
.cap {
  font-family: var(--mono);
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.3;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
/* ---------- Section eyebrows: mono, numbered per page ---------- */
body {
  counter-reset: eyebrow;
}
.pill {
  display: inline-flex;
  counter-increment: eyebrow;
}
.pill__in {
  display: inline-flex;
  align-items: center;
  font-family: var(--mono);
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.3;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gray-700);
}
.pill__in::before {
  content: counter(eyebrow, decimal-leading-zero) " // ";
  white-space: pre;
  color: var(--ss-midnight);
}
/* On Midnight the eyebrow becomes the stitched patch (one per dark band) */
.pill--dark .pill__in {
  color: var(--ss-amber);
  border: 1.5px dashed var(--ss-amber);
  border-radius: var(--ss-r-patch);
  padding: 0.4rem 1rem;
  font-size: 0.75rem;
}
.pill--dark .pill__in::before {
  color: var(--ss-amber);
}
/* ---------- Announcement bar ---------- */
.annc {
  position: relative;
  z-index: 3;
  background: var(--ss-midnight-2);
  color: #D5DBE0;
  border-bottom: 1px solid var(--ss-line-dark);
  text-align: center;
  font-size: 0.875rem;
  line-height: 1.35;
  padding: 0.6rem 1rem;
}
.annc a {
  color: var(--ss-amber);
  font-weight: 600;
  text-underline-offset: 3px;
  margin-left: 0.5rem;
  transition: color 0.15s ease;
}
.annc a:hover {
  color: var(--ss-paper);
}
/* ---------- Nav bar ---------- */
.nav {
  max-width: 81.25rem;
  margin-inline: auto;
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 0.5rem 0.625rem 0.5rem 1.25rem;
  background: var(--ss-midnight-2);
  border: 1px solid var(--ss-line-dark);
  border-radius: 0;
  position: relative;
}
.logo {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 1.5rem;
}
.nav-links {
  display: flex;
  align-items: center;
  gap: 1.75rem;
  list-style: none;
  margin-inline: auto;
}
.nav-link {
  position: relative;
  color: var(--ss-paper);
  text-decoration: none;
  font-family: var(--body);
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.3;
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  min-height: 44px;
  transition: color 0.15s ease;
}
.nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 6px;
  height: 2px;
  background: transparent;
  transition: background-color 0.15s ease;
}
.nav-link:hover {
  color: #C3CCD4;
}
.nav-link[aria-current="page"]::after {
  background: var(--ss-amber);
}
.nav-link svg {
  width: 1rem;
  height: 1rem;
  transition: transform 0.15s ease;
}
.nav-search {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  border-radius: var(--ss-r-btn);
  border: 1px solid var(--ss-line-dark);
  background: transparent;
  color: var(--ss-paper);
  transition: border-color 0.15s ease, background-color 0.15s ease;
}
.nav-search:hover {
  border-color: var(--ss-steel);
  background: var(--ss-midnight);
}
.nav-search svg {
  width: 1.1rem;
  height: 1.1rem;
}
.burger {
  display: none;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--ss-r-btn);
  border: 1px solid var(--ss-line-dark);
  background: transparent;
}
.burger span {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.38rem;
  width: 100%;
  height: 100%;
}
.burger i {
  display: block;
  width: 1.25rem;
  height: 2px;
  background: var(--ss-paper);
  transition: transform 0.15s ease;
}
.menu-open .burger i:first-child {
  transform: translateY(4px) rotate(45deg);
}
.menu-open .burger i:last-child {
  transform: translateY(-4px) rotate(-45deg);
}
/* ---------- Buttons: amber primary, hairline secondary ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.75rem 1.375rem;
  border: 1px solid transparent;
  border-radius: var(--ss-r-btn);
  font-family: var(--body);
  font-weight: 600;
  font-size: 0.9375rem;
  line-height: 1.3;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.btn__in {
  display: contents;
}
.btn__label {
  white-space: nowrap;
}
.btn--primary {
  background: var(--ss-amber);
  border-color: var(--ss-amber);
  color: var(--ss-midnight);
}
.btn--primary:hover {
  background: var(--ss-amber-deep);
  border-color: var(--ss-amber-deep);
}
.btn--secondary {
  background: transparent;
  border-color: var(--ss-midnight);
  color: var(--ss-midnight);
}
.btn--secondary:hover {
  background: var(--ss-midnight);
  color: var(--ss-paper);
}
.head .btn--secondary, .mmenu .btn--secondary, .hero .btn--secondary, .dplate .btn--secondary, .photo-band .btn--secondary {
  border-color: var(--ss-steel);
  color: var(--ss-paper);
}
.head .btn--secondary:hover, .mmenu .btn--secondary:hover, .hero .btn--secondary:hover, .dplate .btn--secondary:hover, .photo-band .btn--secondary:hover {
  border-color: var(--ss-paper);
  background: var(--ss-midnight);
}
.btn--sm {
  min-height: 44px;
  padding: 0.55rem 1rem;
  font-size: 0.875rem;
}
.post .btn {
  margin-top: auto;
  align-self: flex-start;
}
.slide-cont .btn {
  align-self: flex-start;
}
/* ---------- Icon tiles: flat squares, line icons ---------- */
.icon-tile {
  width: 2.75rem;
  height: 2.75rem;
  flex: none;
  display: grid;
  place-items: center;
  background: var(--ss-midnight);
  border: 1px solid var(--ss-line-dark);
  color: var(--ss-paper);
}
.icon-tile svg {
  width: 1.35rem;
  height: 1.35rem;
}
.card-link:hover, .card-link:focus-within {
  border-color: var(--ss-steel);
}
/* ---------- Works-with note ---------- */
.works-note {
  color: var(--gray-400);
  font-size: 0.9375rem;
}
/* ---------- Promise badges: flat icon tiles ---------- */
.badge-row {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 1rem;
}
.badge .plate__in {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 1.5rem 0.75rem;
  min-height: 11rem;
  text-align: center;
}
.badge-ico {
  width: 3.5rem;
  height: 3.5rem;
  display: grid;
  place-items: center;
  background: var(--ss-manila);
  border: 1px solid var(--ss-line-light);
  color: var(--ss-midnight);
}
.badge-ico svg {
  width: 1.75rem;
  height: 1.75rem;
}
.badge b {
  font-family: var(--display);
  font-weight: 600;
  text-transform: uppercase;
  font-size: 1.0625rem;
  line-height: 1.1;
  letter-spacing: var(--track);
}
/* ---------- Owner quotes ---------- */
.qcol {
  display: flex;
  flex-direction: column;
}
.qtrack {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
/* ---------- Footer sign-off ---------- */
.foot-sign {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin-bottom: 2rem;
}
.foot-patch {
  width: 7.5rem;
  height: auto;
  flex: none;
}
.foot-sign p {
  font-family: var(--display);
  font-weight: 700;
  text-transform: uppercase;
  font-size: 1.375rem;
  line-height: 1.1;
  letter-spacing: var(--track);
  color: var(--ss-paper);
}
/* ---------- Brand responsive ---------- */
@media (max-width: 1279px) {
  .badge-row {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 991px) {
  .quotes {
    grid-template-columns: 1fr 1fr;
  }
  .quotes .qcol:nth-child(3) {
    display: none;
  }
}
@media (max-width: 767px) {
  .badge-row {
    grid-template-columns: 1fr 1fr;
  }
  .badge .plate__in {
    min-height: 9.5rem;
  }
  .quotes {
    grid-template-columns: 1fr;
  }
  .quotes .qcol:nth-child(2) {
    display: none;
  }
  .foot-sign {
    flex-direction: column;
    align-items: flex-start;
  }
  .t-hero {
    font-size: 2.75rem;
  }
  .hero-copy h1.t-56, .hero-copy h1.t-74 {
    font-size: 2.5rem;
  }
}
@media (max-width: 479px) {
  .annc {
    font-size: 0.8125rem;
  }
  .logo {
    font-size: 1.3rem;
  }
  .nav-right .btn--sm {
    padding-inline: 0.8rem;
  }
}
/* ---------- Brand layer: second pass ---------- */
.logo {
  display: inline-block;
  padding-block: 0.45rem;
}
@media (max-width: 991px) {
  .nav-links, .nav-right .nav-search {
    display: none;
  }
  .burger {
    display: block;
  }
  .nav {
    height: 3.75rem;
  }
}
/* tabs and draft buttons on Midnight */
.dplate .tab {
  background: transparent;
  border-color: var(--edge);
  color: #D5DBE0;
}
.dplate .tab:hover {
  color: var(--ss-paper);
  border-color: var(--ss-steel);
}
.dplate .tab[aria-selected="true"] {
  background: var(--ss-paper);
  border-color: var(--ss-paper);
  color: var(--ss-midnight);
}
.dcard .dbtn:not(.primary) {
  border-color: var(--ss-steel);
  color: var(--ss-paper);
}
/* documentary photos run desaturated under Midnight */
.office-media img, .team-photo img {
  filter: grayscale(1) contrast(1.05);
}
/* ---------- Holding companies page ---------- */
.hero-copy .fit-line {
  font-family: var(--mono);
  font-size: 0.8125rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gray-400);
  max-width: 35rem;
}
.slab .demo-k {
  margin-top: 1rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--ss-line-dark);
}
.slab .demo-cap {
  margin-top: 1rem;
  font-family: var(--mono);
  font-size: 0.75rem;
  line-height: 1.4;
  color: #C3CCD4;
}
.port-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.trust-left {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* ==========================================================================
   Motion, restored from the original option 1 (Mac, Oct 12: "the original
   had cool movement and i want that back"). Same choreography, timings,
   easing and 3D depth as before. The hero stack and the works-with marquee
   keep their original glass, glow and faded-edge look (Mac's call); every
   other restored piece is flat and on brand.
   ========================================================================== */

/* Smooth scroll (Lenis) */
html.lenis,
html.lenis body {
  height: auto;
}
.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}
.lenis.lenis-stopped {
  overflow: hidden;
}

/* ---------- Hero stack and works-with marquee: the original look, copied from the
   pre-brand-pass build (glass faces, amber edges, glow, faded edges). Mac, Oct 12. ---------- */
.marquee {
  position: relative;
  overflow: hidden;
  display: flex;
}
.marquee::before, .marquee::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 18.75rem;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(90deg, #0F1D2E, rgba(15, 29, 46, 0.57) 39%, rgba(15, 29, 46, 0));
}
.marquee::before {
  left: 0;
}
.marquee::after {
  right: 0;
  transform: scaleX(-1);
}
.marquee-track {
  display: flex;
  flex: none;
  align-items: center;
  list-style: none;
  animation: marquee 70s linear infinite;
}
.marquee:hover .marquee-track {
  animation-play-state: paused;
}
.marquee-track li {
  display: flex;
  align-items: center;
  flex: none;
  font-family: var(--body);
  font-weight: 500;
  font-size: 1.25rem;
  letter-spacing: 0.01em;
  color: #C2C3C1;
  white-space: nowrap;
}
.marquee-track li::after {
  content: "";
  width: 1px;
  height: 1.25rem;
  background: rgba(250, 247, 240, 0.112);
  margin-inline: 2.75rem;
}
.stack-wrap {
  position: relative;
  height: 36rem;
  margin-right: -3rem;
}
.stack {
  position: absolute;
  inset: 0;
  perspective: 2200px;
  perspective-origin: 30% 10%;
  transform: scale(0.78);
  transform-origin: 50% 50%;
}
.scene {
  position: absolute;
  left: 43%;
  top: 54%;
  width: 0;
  height: 0;
  transform-style: preserve-3d;
  transform: rotateX(-14deg) rotateY(-28deg);
}
.slab {
  --w: 15rem;
  --h: 17rem;
  --d: 1.6rem;
  position: absolute;
  width: var(--w);
  height: var(--h);
  left: calc(var(--w) / -2);
  top: calc(var(--h) / -2);
  transform-style: preserve-3d;
  transform: translate3d(var(--x), var(--y), var(--z));
}
.slab .f {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
}
.slab .front {
  transform: translateZ(calc(var(--d) / 2));
  border-radius: 6px;
  border: 1px solid rgba(242, 163, 60, 0.55);
  background: linear-gradient(155deg, rgba(242, 163, 60, 0.2), rgba(22, 40, 60, 0.85) 55%, rgba(15, 29, 46, 0.92));
  box-shadow: inset 0 0 0 1px rgba(250, 247, 240, 0.04), inset 0 0 36px rgba(242, 163, 60, 0.2), 0 0 34px rgba(242, 163, 60, 0.18);
  padding: 1rem;
  overflow: hidden;
  color: #FAF7F0;
  font-size: 0.8125rem;
  line-height: 1.35;
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}
.slab .front::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, rgba(250, 247, 240, 0.16), rgba(250, 247, 240, 0) 32%);
  pointer-events: none;
}
.slab .back {
  transform: rotateY(180deg) translateZ(calc(var(--d) / 2));
  border-radius: 6px;
  background: #16283C;
}
.slab .top {
  height: var(--d);
  top: calc(var(--d) / -2);
  left: 3px;
  right: 3px;
  transform: rotateX(90deg);
  border-radius: 2px;
  background: linear-gradient(90deg, rgba(242, 163, 60, 0.9), rgba(242, 163, 60, 0.75));
  box-shadow: 0 0 6px rgba(242, 163, 60, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
}
.slab .top span {
  font-family: var(--body);
  font-weight: 500;
  font-size: 0.8rem;
  letter-spacing: 0.28em;
  color: #0F1D2E;
  transform: rotate(180deg) scaleX(-1);
}
.slab .side {
  width: var(--d);
  left: calc(var(--w) - var(--d) / 2);
  top: 3px;
  bottom: 3px;
  transform: rotateY(90deg);
  border-radius: 2px;
  background: linear-gradient(rgba(242, 163, 60, 0.85), rgba(216, 137, 31, 0.9));
  box-shadow: 0 0 22px rgba(242, 163, 60, 0.35);
}
.slab .tag {
  position: absolute;
  left: 50%;
  top: -2.6rem;
  transform: translateX(-50%) translateZ(calc(var(--d) / 2 + 1px));
  font-family: var(--body);
  font-weight: 500;
  letter-spacing: 0.28em;
  font-size: 0.875rem;
  color: #FAF7F0;
  white-space: nowrap;
  text-shadow: 0 0 14px rgba(242, 163, 60, 0.9);
}
.slab.s1 {
  --w: 17rem;
  --h: 19rem;
  --d: 3rem;
}
.ui-k {
  font-family: var(--body);
  font-weight: 500;
  letter-spacing: 0.16em;
  font-size: 0.75rem;
  text-transform: uppercase;
  color: #F2A33C;
  margin-bottom: 0.5rem;
}
.ui-q {
  background: rgba(250, 247, 240, 0.1);
  border: 1px solid rgba(250, 247, 240, 0.16);
  border-radius: 8px;
  padding: 0.45rem 0.55rem;
  margin-bottom: 0.5rem;
  color: #FAF7F0;
}
.ui-a {
  color: #E7E6E0;
  margin-bottom: 0.55rem;
}
.ui-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}
.ui-chip {
  font-size: 0.75rem;
  padding: 0.18rem 0.42rem;
  border-radius: 5px;
  background: rgba(242, 163, 60, 0.14);
  border: 1px solid rgba(242, 163, 60, 0.4);
  color: #FAF7F0;
  white-space: nowrap;
}
.ui-flag {
  margin-top: 0.5rem;
  display: flex;
  gap: 0.35rem;
  align-items: flex-start;
  background: var(--amber);
  color: var(--amber-ink);
  border-radius: 6px;
  padding: 0.3rem 0.45rem;
  font-size: 0.75rem;
  font-weight: 700;
}
.ui-flag svg {
  width: 0.8rem;
  height: 0.8rem;
  flex: none;
  margin-top: 1px;
}
.ui-sms {
  background: rgba(250, 247, 240, 0.92);
  color: var(--ink);
  border-radius: 12px 12px 12px 4px;
  padding: 0.55rem 0.65rem;
  font-size: 0.8125rem;
  font-weight: 600;
  margin-bottom: 0.4rem;
  box-shadow: 0 6px 18px rgba(15, 29, 46, 0.3);
}
.ui-time {
  font-size: 0.75rem;
  color: #F2A33C;
  margin-bottom: 0.35rem;
  letter-spacing: 0.08em;
}
.ui-draft {
  background: rgba(250, 247, 240, 0.94);
  color: var(--ink);
  border-radius: 10px;
  padding: 0.6rem;
  font-size: 0.75rem;
  line-height: 1.35;
}
.ui-draft b {
  display: block;
  font-size: 0.8125rem;
  margin-bottom: 0.25rem;
}
.ui-btns {
  display: flex;
  gap: 0.3rem;
  margin-top: 0.5rem;
}
.ui-btn {
  font-size: 0.75rem;
  font-weight: 700;
  border-radius: 5px;
  padding: 0.28rem 0.5rem;
  background: #F1EAD9;
  color: var(--blue-deep);
}
.ui-btn.go {
  background: var(--blue);
  color: var(--ink);
  animation: approve 4.5s ease-in-out infinite;
}
.ui-wait {
  margin-top: 0.4rem;
  font-size: 0.75rem;
  color: #F2A33C;
}
.ui-sources {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.35rem;
  margin-top: 0.3rem;
}
.ui-src {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.75rem;
  padding: 0.35rem 0.4rem;
  border-radius: 6px;
  background: rgba(250, 247, 240, 0.07);
  border: 1px solid rgba(250, 247, 240, 0.196);
  color: #E7E6E0;
}
.ui-src i {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 2px;
  background: var(--blue-sky);
  box-shadow: 0 0 8px var(--blue-sky);
  flex: none;
}
.ui-src.note {
  background: rgba(242, 163, 60, 0.18);
  border-color: rgba(242, 163, 60, 0.6);
}
.ui-src.note i {
  background: var(--amber);
  box-shadow: 0 0 8px var(--amber);
}
.ui-core {
  margin-top: 0.7rem;
  text-align: center;
  font-family: var(--body);
  font-weight: 500;
  font-size: 0.75rem;
  letter-spacing: 0.22em;
  color: #FAF7F0;
  padding: 0.55rem;
  border-radius: 8px;
  background: radial-gradient(circle at 50% 50%, rgba(242, 163, 60, 0.45), rgba(242, 163, 60, 0.15));
  border: 1px solid rgba(242, 163, 60, 0.6);
  box-shadow: 0 0 22px rgba(242, 163, 60, 0.45);
}
.token {
  position: absolute;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 2px;
  background: #F4BC72;
  box-shadow: 0 0 10px #F2A33C, 0 0 2px #FDFBF6;
  transform-style: preserve-3d;
  animation: drift var(--t, 6s) linear infinite;
  animation-delay: var(--dl, 0s);
  opacity: 0;
}
.float {
  animation: floaty 7s ease-in-out infinite;
}
.stack-floor {
  position: absolute;
  left: 8%;
  right: 0;
  bottom: 2%;
  height: 40%;
  background: radial-gradient(ellipse at 50% 50%, rgba(242, 163, 60, 0.16), rgba(242, 163, 60, 0) 65%);
  filter: blur(10px);
  pointer-events: none;
}
.motion-toggle {
  position: absolute;
  right: 0.5rem;
  bottom: 0.5rem;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 44px;
  padding: 0 0.85rem;
  border-radius: 0.6rem;
  border: 1px solid var(--edge);
  background: rgba(15, 29, 46, 0.6);
  color: #D0D0CD;
  font-size: 0.875rem;
  font-weight: 600;
}
.motion-toggle:hover {
  border-color: rgba(242, 163, 60, 0.5);
  color: #FAF7F0;
}
.motion-toggle svg {
  width: 0.9rem;
  height: 0.9rem;
}
.js .stack .slab {
  transition: transform 1.4s var(--ease-out), opacity 1s var(--ease-out);
}
.js .stack:not(.is-in) .slab {
  opacity: 0;
  transform: translate3d(var(--x), calc(var(--y) + 120px), var(--z));
}
.js .stack:not(.is-in) .slab.s2 {
  transition-delay: 0.08s;
}
.js .stack .slab.s2 {
  transition-delay: 0.12s;
}
.js .stack .slab.s3 {
  transition-delay: 0.24s;
}
.js .stack .slab.s4 {
  transition-delay: 0.36s;
}
.hero--home .stack-wrap {
  margin-top: -3rem;
  height: 31rem;
}
.slab.s2 .front, .slab.s3 .front, .slab.s4 .front, .slab.co:not(.front-co) .front {
  padding-left: 3.4rem;
}
.slab .front {
  box-shadow: inset 1px 1px 0 rgba(250, 214, 160, 0.6), inset -1px -1px 0 rgba(242, 163, 60, 0.55), inset 0 0 36px rgba(242, 163, 60, 0.2), 0 0 34px rgba(242, 163, 60, 0.18);
}
.slab .front::after {
  content: "";
  position: absolute;
  left: 10%;
  right: 10%;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(250, 214, 160, 0), #F8DEBA, rgba(250, 214, 160, 0));
  box-shadow: 0 0 14px 2px rgba(242, 163, 60, 0.8);
  pointer-events: none;
}
.slab .side {
  box-shadow: 0 0 26px rgba(242, 163, 60, 0.4);
}
.data-field {
  position: absolute;
  left: -6%;
  right: -12%;
  top: 22%;
  bottom: -8%;
  pointer-events: none;
  background-image: radial-gradient(rgba(242, 163, 60, 0.55) 1.1px, transparent 1.6px), radial-gradient(rgba(250, 247, 240, 0.22) 1px, transparent 1.4px);
  background-size: 16px 16px, 48px 48px;
  background-position: 0 0, 8px 8px;
  transform: perspective(900px) rotateX(62deg) rotateZ(-30deg);
  -webkit-mask-image: radial-gradient(ellipse 50% 50% at 50% 50%, #0F1D2E 25%, transparent 72%);
  mask-image: radial-gradient(ellipse 50% 50% at 50% 50%, #0F1D2E 25%, transparent 72%);
  animation: field 18s linear infinite;
  opacity: 0.8;
}
.solo-wrap .scene {
  left: 50%;
  top: 52%;
  transform: rotateX(-10deg) rotateY(-24deg);
}
.solo-wrap .stack {
  transform: none;
}
.slab.solo {
  --w: 21rem;
  --h: 16rem;
  --d: 2.2rem;
}
.slab.solo.wide {
  --w: 25rem;
  --h: 16rem;
}
.slab.solo.photo {
  --w: 16rem;
  --h: 21rem;
}
.slab.solo .front {
  font-size: 0.9375rem;
  padding: 1.25rem;
}
.slab.solo .ui-q {
  font-size: 1rem;
}
.multi-wrap .slab.co {
  --w: 16rem;
  --h: 15rem;
  --d: 2rem;
}
.ui-photo {
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(242, 163, 60, 0.5);
  margin-bottom: 0.75rem;
}
.ui-photo img {
  width: 100%;
  height: 12.5rem;
  object-fit: cover;
}
.ui-cap {
  font-family: var(--body);
  font-weight: 500;
  font-size: 1.05rem;
  color: #FAF7F0;
  margin-bottom: 0.25rem;
}
.ui-big {
  font-family: var(--body);
  font-weight: 500;
  font-size: 1.6rem;
  color: #FAF7F0;
  margin-bottom: 0.6rem;
}
.ui-cal {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0.25rem;
}
.ui-cal span {
  height: 1.55rem;
  display: grid;
  place-items: center;
  font-size: 0.75rem;
  border-radius: 4px;
  background: rgba(250, 247, 240, 0.06);
  color: #B8BABA;
}
.ui-cal .on {
  background: var(--amber);
  color: var(--ink);
}
.ui-cal .pick {
  background: #FDFBF6;
  color: var(--blue-deep);
  font-weight: 700;
}
.flow {
  display: grid;
  grid-template-columns: auto 1.25rem auto 1.25rem auto;
  align-items: center;
  gap: 0.35rem;
}
.flow-col {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.flow-lines {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}
.flow-lines i {
  display: block;
  height: 1px;
  background: linear-gradient(90deg, rgba(242, 163, 60, 0.2), #F4BC72);
}
.flow-core {
  margin: 0;
  padding: 1.1rem 0.6rem;
  line-height: 1.3;
}
.ui-out {
  font-size: 0.8125rem;
  font-weight: 700;
  padding: 0.4rem 0.7rem;
  border-radius: 6px;
  background: rgba(250, 247, 240, 0.92);
  color: var(--blue-deep);
  text-align: center;
}
.solo-wrap .token, .multi-wrap .token {
  display: none;
}
.multi-wrap .scene {
  left: 38%;
  top: 56%;
}
/* additions for the current pages: taller sample cards, toggle hidden under reduced motion */
.slab.solo:not(.wide):has(.ui-chips) {
  --h: 19rem;
}
.solo-wrap.demo-wrap {
  height: 44rem;
}
.demo-wrap .slab.solo.wide {
  --h: 38rem;
}
.motion-toggle[hidden] {
  display: none;
}
.is-paused .token,
.is-paused .float,
.is-paused .ui-btn.go,
.is-paused .marquee-track,
.is-paused .data-field,
.is-paused .qtrack {
  animation-play-state: paused;
}

/* ---------- Owner quotes: columns roll up and down ---------- */
.quotes {
  height: 60rem;
  overflow: hidden;
}
.quotes::before,
.quotes::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 0;
  z-index: 2;
  pointer-events: none;
  border-top: 1px solid var(--ss-line-dark);
}
.quotes::before {
  top: 0;
}
.quotes::after {
  bottom: 0;
}
.qtrack {
  padding-bottom: 1.5rem;
  animation: qup var(--qt, 60s) linear infinite;
}
.qcol.down .qtrack {
  animation-direction: reverse;
}
.quotes:hover .qtrack {
  animation-play-state: paused;
}

/* ---------- Card hover: the surface lifts ---------- */
.dcard::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--ss-line-dark);
  opacity: 0;
  transition: opacity 0.5s var(--ease-out);
  pointer-events: none;
}
.card-link:hover::before,
.card-link:focus-within::before {
  opacity: 0.55;
}
.dcard {
  transition: border-color 0.5s var(--ease-out);
}
.thumb {
  transition: transform 0.6s var(--ease-out), background 0.15s;
}
.post:hover .thumb {
  transform: scale(1.015);
}

/* ---------- Buttons: the fill sweeps in from the left ---------- */
.btn {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  --btn-fill: var(--ss-midnight);
  transition: color 0.4s, border-color 0.4s;
}
.btn::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--btn-fill);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.45s var(--ease-out);
}
.btn:hover::before,
.btn:focus-visible::before {
  transform: scaleX(1);
}
.btn--primary {
  --btn-fill: var(--ss-amber-deep);
}
.btn--primary:hover {
  background: var(--ss-amber);
}
.btn--secondary:hover {
  background: transparent;
}
.head .btn--secondary:hover,
.mmenu .btn--secondary:hover,
.hero .btn--secondary:hover,
.dplate .btn--secondary:hover,
.photo-band .btn--secondary:hover {
  background: transparent;
}

/* ---------- Original hover and menu timings ---------- */
.nav-link {
  transition: color 0.25s ease-out;
}
.nav-link svg {
  transition: transform 0.3s var(--ease-out);
}
.nav-search {
  transition: border-color 0.25s, background-color 0.25s;
}
.burger i {
  transition: transform 0.3s var(--ease-out), opacity 0.2s;
}
.mega {
  transform: translateY(-8px);
  transition: opacity 0.25s var(--ease-out), transform 0.35s var(--ease-out), visibility 0s linear 0.25s;
}
.has-mega:hover .mega,
.has-mega:focus-within .mega,
.has-mega.is-open .mega {
  transform: none;
}
.mega-col a {
  transition: color 0.2s, border-color 0.2s, background 0.2s;
}
.corner-btn__label {
  transition: opacity 0.45s var(--ease-out), transform 0.45s var(--ease-out);
}
.tab {
  transition: background 0.25s, color 0.25s, border-color 0.25s;
}
.ind-tab {
  transition: color 0.3s, border-color 0.3s;
}
.sbtn {
  transition: background 0.3s, color 0.3s, border-color 0.3s, opacity 0.3s;
}
.faq details {
  transition: border-color 0.4s;
}
.faq summary svg {
  transition: transform 0.35s var(--ease-out);
}
.field input,
.field textarea {
  transition: border-color 0.25s;
}

/* ---------- Motion: responsive (original values) ---------- */
@media (max-width: 1279px) {
  .stack-wrap {
    transform: scale(0.9);
    transform-origin: 40% 50%;
  }
}
@media (max-width: 991px) {
  .stack-wrap {
    height: 30rem;
    margin-right: 0;
    transform: none;
  }
  .hero--home .stack-wrap {
    margin-top: 0;
  }
}
@media (max-width: 767px) {
  .stack-wrap {
    height: 21rem;
    margin-inline: -1rem;
    margin-top: -0.5rem;
  }
  .stack {
    transform: scale(0.6);
    transform-origin: 50% 50%;
  }
  .scene {
    left: 56%;
    top: 60%;
  }
  .motion-toggle {
    bottom: 0;
    right: 0;
  }
  .marquee::before,
  .marquee::after {
    width: 4rem;
  }
  .hero--home .stack-wrap {
    height: 16rem;
    margin-inline: 0;
    margin-top: 1rem;
  }
  .hero--home .stack {
    transform: scale(0.45);
    transform-origin: 50% 50%;
  }
  .hero--home .scene {
    left: 36%;
    top: 62%;
  }
  .hero--home .motion-toggle {
    bottom: -0.5rem;
  }
  .solo-wrap {
    height: 20rem !important;
  }
  .solo-wrap .stack,
  .multi-wrap .stack {
    transform: scale(0.78);
  }
  .solo-wrap .scene {
    left: 50%;
    top: 50%;
  }
  .multi-wrap .stack {
    transform: scale(0.56);
  }
  .multi-wrap .scene {
    left: 30%;
    top: 60%;
  }
  .solo-wrap.demo-wrap {
    height: 34rem !important;
  }
  .demo-wrap .stack {
    transform: scale(0.72);
  }
}

/* ---------- Motion: keyframes ---------- */
@keyframes marquee {
  to {
    transform: translateX(-100%);
  }
}
@keyframes approve {
  0%,
  70%,
  100% {
    box-shadow: 0 0 0 0 rgba(242, 163, 60, 0);
  }
  80% {
    box-shadow: 0 0 0 4px rgba(242, 163, 60, 0.35);
  }
}
@keyframes drift {
  0% {
    opacity: 0;
    transform: translate3d(var(--x0), var(--y0), var(--z0));
  }
  12% {
    opacity: 1;
  }
  85% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translate3d(var(--x1), var(--y1), var(--z1));
  }
}
@keyframes floaty {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}
@keyframes qup {
  to {
    transform: translateY(-50%);
  }
}
@keyframes field {
  to {
    background-position: 0 160px, 8px 248px;
  }
}

/* ---------- Motion: reduced-motion guard ---------- */
@media (prefers-reduced-motion: reduce) {
  .token {
    display: none;
  }
  .motion-toggle {
    display: none;
  }
  .float,
  .data-field,
  .ui-btn.go,
  .marquee-track,
  .qtrack {
    animation: none !important;
  }
  .marquee-track[aria-hidden="true"] {
    display: none;
  }
  .marquee {
    justify-content: center;
  }
  .marquee-track {
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 0.75rem;
    padding-inline: 1rem;
    flex: 1;
  }
  .marquee::before,
  .marquee::after {
    display: none;
  }
  .quotes {
    height: auto;
  }
  .qtrack .dup {
    display: none;
  }
  .quotes::before,
  .quotes::after {
    display: none;
  }
}

/* =====================================================================
   2026-10-12e: problem visuals, slider fit, 90-day plan, founder block
   ===================================================================== */

/* ---------- Menus: group headings link to group pages ---------- */
.mega-col h3 a {
  display: inline;
  padding: 0;
  min-height: 0;
  margin: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-decoration: none;
}
.mega-col h3 a:hover {
  color: var(--ss-paper);
  background: none;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.mm-group h3 a {
  display: inline;
  min-height: 0;
  color: inherit;
}
.mm-group .mm-all {
  color: var(--ss-paper);
  font-weight: 600;
}

/* ---------- Home problem visuals (pv) ---------- */
.ill.ill--pv {
  height: auto;
  min-height: 21rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.75rem 1.5rem;
}
.pv {
  width: 100%;
  max-width: 31rem;
  color: var(--ss-midnight);
}
.pv-k,
.pv-min,
.pv-clock small,
.pv-count,
.pv-own__k,
.pv-state,
.pv-who small {
  font-family: var(--mono);
  font-size: 0.8125rem;
  letter-spacing: 0;
  line-height: 1.35;
}
.pv .flag.pv-end {
  margin: 0.85rem 0 0;
  align-items: center;
}
.pv .flag.pv-end svg {
  margin-top: 0;
}

/* 1. Five places: one question, five hops, the clock runs */
.pv-hunt {
  background: var(--ss-paper);
  border: 1px solid var(--ss-line-light);
  padding: 1rem 1.1rem 1.1rem;
}
.pv-hunt__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  padding-bottom: 0.8rem;
  margin-bottom: 0.35rem;
  border-bottom: 1px solid var(--ss-line-light);
}
.pv-hunt__q .pv-k {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--ss-steel);
  margin-bottom: 0.25rem;
}
.pv-hunt__q b {
  display: block;
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.3;
}
.pv-clock {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  column-gap: 0.4rem;
  text-align: right;
  flex: none;
}
.pv-clock svg {
  width: 1.15rem;
  height: 1.15rem;
  color: var(--ss-steel);
}
.pv-clock b {
  font-family: var(--display);
  font-weight: 800;
  font-size: 2.25rem;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  min-width: 2ch;
}
.pv-clock small {
  grid-column: 1 / -1;
  text-transform: uppercase;
  color: var(--ss-steel);
}
.pv-hunt__list {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}
.pv-hunt__list::before {
  content: "";
  position: absolute;
  left: 0.4rem;
  top: 1rem;
  bottom: 1rem;
  width: 1.5px;
  background: var(--ss-line-light);
}
.pv-row {
  position: relative;
  display: grid;
  grid-template-columns: 0.95rem 6.25rem minmax(0, 1fr) auto;
  column-gap: 0.65rem;
  align-items: baseline;
  padding: 0.42rem 0.4rem 0.42rem 0;
  transition: opacity 0.3s ease, background-color 0.3s ease;
}
.pv-dot {
  align-self: center;
  position: relative;
  z-index: 1;
  width: 0.85rem;
  height: 0.85rem;
  border-radius: 50%;
  border: 1.5px solid var(--ss-midnight);
  background: var(--ss-midnight);
  transition: background-color 0.3s ease, border-color 0.3s ease;
}
.pv-row b {
  font-size: 0.9375rem;
  font-weight: 600;
}
.pv-find {
  font-size: 0.9375rem;
  line-height: 1.35;
  color: var(--gray-700);
}
.pv-min {
  color: var(--ss-steel);
  white-space: nowrap;
}
.pv-live .pv-row:not(.is-on) {
  opacity: 0.4;
}
.pv-live .pv-row:not(.is-on) .pv-dot {
  background: var(--ss-paper);
  border-color: var(--ss-steel);
}
.pv-live .pv-row:not(.is-on) .pv-find,
.pv-live .pv-row:not(.is-on) .pv-min {
  visibility: hidden;
}
.pv-live .pv-row.is-now {
  background: var(--ss-manila);
}
.pv-live .pv-row.is-now .pv-dot {
  background: var(--ss-amber);
  border-color: var(--ss-midnight);
}
.pv-live .pv-row.is-on .pv-find,
.pv-live .pv-row.is-on .pv-min {
  animation: pv-in 0.35s var(--ease-out);
}
.pv-live .pv-end:not(.is-on) {
  visibility: hidden;
  opacity: 0;
}
.pv-live .pv-end.is-on {
  animation: pv-in 0.4s var(--ease-out);
}
@media (max-width: 520px) {
  .pv-row {
    grid-template-columns: 0.95rem minmax(0, 1fr) auto;
    row-gap: 0.1rem;
  }
  .pv-row b {
    grid-column: 2;
    grid-row: 1;
  }
  .pv-min {
    grid-column: 3;
    grid-row: 1;
  }
  .pv-find {
    grid-column: 2 / -1;
    grid-row: 2;
  }
  .pv-clock b {
    font-size: 1.875rem;
  }
}

/* 2. Same two people: questions queue up, their own work stalls */
.pv-queue {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1rem;
}
.pv-col {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  min-width: 0;
}
.pv-stack {
  height: 9.75rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 0.4rem;
}
.pv-chip {
  flex: none;
  background: var(--ss-paper);
  border: 1px solid var(--ss-line-light);
  padding: 0.4rem 0.6rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.3;
  transition: border-color 0.15s ease;
}
.pv-live .pv-chip:not(.is-on) {
  display: none;
}
.pv-live .pv-chip.is-on {
  animation: pv-drop 0.45s var(--ease-out);
}
.pv-live .pv-chip.is-now {
  border-color: var(--ss-midnight);
}
.pv-person {
  background: var(--ss-paper);
  border: 1px solid var(--ss-midnight);
  padding: 0.75rem;
  display: grid;
  gap: 0.6rem;
}
.pv-person__head,
.pv-card {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  min-width: 0;
}
.pv-av {
  flex: none;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--ss-manila);
  border: 1px solid var(--ss-midnight);
  font-family: var(--display);
  font-weight: 700;
  font-size: 1.125rem;
}
.pv-who {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.pv-who b {
  font-weight: 700;
  line-height: 1.2;
}
.pv-who small {
  color: var(--ss-steel);
}
.pv-count {
  margin-left: auto;
  text-align: right;
  color: var(--gray-700);
}
.pv-count b {
  display: block;
  font-family: var(--display);
  font-weight: 800;
  font-size: 1.5rem;
  line-height: 1;
  color: var(--ss-midnight);
}
.pv-own {
  display: grid;
  gap: 0.35rem;
}
.pv-own__k {
  color: var(--gray-700);
}
.pv-bar {
  display: block;
  height: 6px;
  background: var(--ss-line-light);
}
.pv-bar i {
  display: block;
  height: 100%;
  width: 55%;
  background: var(--ss-steel);
  transform: scaleX(0.64);
  transform-origin: left center;
  transition: transform 1.2s var(--ease-out);
}
.pv-state > span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.15rem 0.45rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.pv-state svg {
  width: 0.85rem;
  height: 0.85rem;
}
.pv-state-go {
  display: none !important;
  border: 1px solid var(--ss-line-light);
  color: var(--gray-700);
}
.pv-state-stop {
  background: var(--ss-amber);
  color: var(--ss-midnight);
  font-weight: 600;
}
.pv-live .pv-col:not(:has(.pv-chip.is-on)) .pv-state-go {
  display: inline-flex !important;
}
.pv-live .pv-col:not(:has(.pv-chip.is-on)) .pv-state-stop {
  display: none;
}
.pv-live .pv-col:not(:has(.pv-chip.is-on)) .pv-bar i {
  transform: scaleX(1);
}
@media (max-width: 520px) {
  .pv-queue {
    gap: 0.6rem;
  }
  .pv-stack {
    height: 14rem;
  }
  .pv-chip {
    font-size: 0.8125rem;
    padding: 0.35rem 0.5rem;
  }
  .pv-person {
    padding: 0.6rem;
  }
  .pv-person__head {
    flex-wrap: wrap;
  }
  .pv-count {
    margin-left: 0;
    text-align: left;
    width: 100%;
  }
  .pv-count b {
    display: inline;
    font-size: 1.25rem;
    margin-right: 0.25rem;
  }
}

/* 3. When they leave: the topics drop away, the card goes */
.pv-leave {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 27rem;
}
.pv-card {
  position: relative;
  width: min(100%, 21rem);
  background: var(--ss-paper);
  border: 1px solid var(--ss-midnight);
  padding: 0.85rem 1rem;
  opacity: 0.45;
  transform: translateX(1.25rem);
  border-style: dashed;
  border-color: var(--ss-steel);
  transition: opacity 0.9s var(--ease-out), transform 0.9s var(--ease-out), border-color 0.3s ease;
}
.pv-card .pv-who {
  flex: 1;
}
@media (min-width: 521px) {
  .pv-card {
    width: min(100%, 23rem);
  }
  .pv-card .pv-who small {
    white-space: nowrap;
  }
}
.pv-card .pv-card__st {
  margin-left: auto;
  white-space: nowrap;
}
.pv-st-pre {
  display: none;
}
.pv-live .pv-card:not(.is-on) {
  opacity: 1;
  transform: none;
  border-style: solid;
  border-color: var(--ss-midnight);
}
.pv-live .pv-card:not(.is-on) .pv-st-pre {
  display: inline;
}
.pv-live .pv-card:not(.is-on) .pv-st-on {
  display: none;
}
.pv-topics {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 1.5rem 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  max-width: 24rem;
}
.pv-topics::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 1.5px;
  height: 1.1rem;
  background: var(--ss-steel);
}
.pv-topic {
  font-family: var(--mono);
  font-size: 0.8125rem;
  letter-spacing: 0.04em;
  padding: 0.3rem 0.6rem;
  background: var(--ss-paper);
  border: 1px solid var(--ss-line-light);
  opacity: 0.35;
  transform: translateY(0.6rem);
  text-decoration: line-through;
  transition: opacity 0.7s var(--ease-out), transform 0.7s var(--ease-out);
}
.pv-live .pv-topic:not(.is-on) {
  opacity: 1;
  transform: none;
  text-decoration: none;
}
.pv-leave .pv-end {
  margin-top: 1.1rem;
}

@keyframes pv-in {
  from {
    opacity: 0;
    transform: translateX(-0.4rem);
  }
}
@keyframes pv-drop {
  from {
    opacity: 0;
    transform: translateY(-0.6rem);
  }
}
.is-paused .pv * {
  animation-play-state: paused !important;
}
@media (prefers-reduced-motion: reduce) {
  .pv *,
  .plan90 * {
    animation: none !important;
    transition: none !important;
  }
}

/* ---------- Industry slider: whole cards, art in its own band ---------- */
.slide {
  width: calc((100% - 1rem) / 2);
  min-height: 0;
}
.slide .plate__in {
  padding: 0 1.25rem 1.25rem;
}
.slide .slide-art {
  position: static;
  display: block;
  width: calc(100% + 2.5rem);
  max-width: none;
  height: 8.5rem;
  margin: 0 -1.25rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--ss-line-light);
  opacity: 1;
}
.slide h3 {
  overflow-wrap: break-word;
  hyphens: manual;
}
.slide-cont {
  max-width: none;
}
.slide-cont .btn__label {
  white-space: normal;
  text-align: left;
}
@media (max-width: 767px) {
  .slide {
    width: 100%;
    min-height: 0;
  }
  .slide .slide-art {
    position: static;
    width: calc(100% + 2.5rem);
    height: 7.5rem;
  }
}

/* ---------- Holding companies: the 90-day plan ---------- */
.plan90 {
  position: relative;
  --dot: 3rem;
}
.plan90-rail {
  position: absolute;
  left: calc(var(--dot) / 2);
  right: 0;
  top: calc(var(--dot) / 2 - 1px);
  height: 2px;
  background: var(--ss-line-light);
}
.plan90-rail i {
  position: absolute;
  inset: 0;
  background: var(--ss-midnight);
  transform-origin: left center;
  transition: transform 1.6s var(--ease-out) 0.1s;
}
.plan90-end {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  padding: 0.3rem 0.6rem;
  background: var(--ss-amber);
  color: var(--ss-midnight);
  font-family: var(--mono);
  font-weight: 500;
  font-size: 0.8125rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: opacity 0.3s ease 1.5s;
}
.plan90-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  align-items: stretch;
}
.plan90-step {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.plan90-mark {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  height: var(--dot);
  margin-bottom: 1.25rem;
}
.plan90-dot {
  position: relative;
  z-index: 1;
  flex: none;
  width: var(--dot);
  height: var(--dot);
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--ss-midnight);
  color: var(--ss-paper);
  border: 1px solid var(--ss-midnight);
  font-family: var(--display);
  font-weight: 800;
  font-size: 1.375rem;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.plan90-days {
  position: relative;
  z-index: 1;
  padding: 0.2rem 0.6rem;
  background: var(--page);
  font-family: var(--mono);
  font-weight: 500;
  font-size: 0.8125rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gray-700);
}
.plan90-card {
  flex: 1;
  transition: opacity 0.6s var(--ease-out), transform 0.6s var(--ease-out);
}
.plan90-card .plate__in {
  padding: 1.5rem 1.5rem 1.75rem;
}
.plan90-card h3 {
  margin: 0;
  font-size: clamp(1.5rem, 2.2vw, 1.875rem);
  font-weight: 700;
  line-height: 1.05;
}
.plan90-lead {
  margin-top: 0.5rem;
  font-weight: 600;
  font-size: 1.0625rem;
  color: var(--ss-midnight);
}
.plan90-card p:not(.plan90-lead) {
  margin-top: 0.75rem;
  color: var(--gray-700);
  font-size: 1.0625rem;
  line-height: 1.55;
}
.plan90-step:nth-child(2) .plan90-dot,
.plan90-step:nth-child(2) .plan90-card { transition-delay: 0.55s; }
.plan90-step:nth-child(3) .plan90-dot,
.plan90-step:nth-child(3) .plan90-card { transition-delay: 1.1s; }
.plan90-live:not(.is-in) .plan90-rail i {
  transform: scaleX(0);
}
.plan90-live:not(.is-in) .plan90-dot {
  background: var(--ss-paper);
  color: var(--ss-steel);
  border-color: var(--ss-steel);
}
.plan90-live:not(.is-in) .plan90-card {
  opacity: 0;
  transform: translateY(0.75rem);
}
.plan90-live:not(.is-in) .plan90-end {
  opacity: 0;
}
@media (max-width: 991px) {
  .plan90 {
    padding-bottom: 2.75rem;
  }
  .plan90-rail {
    left: calc(var(--dot) / 2 - 1px);
    top: calc(var(--dot) / 2);
    bottom: 1.75rem;
    right: auto;
    width: 2px;
    height: auto;
  }
  .plan90-rail i {
    transform-origin: center top;
  }
  .plan90-live:not(.is-in) .plan90-rail i {
    transform: scaleY(0);
  }
  .plan90-end {
    top: 100%;
    right: auto;
    left: calc(var(--dot) / -2 + 1px);
    bottom: auto;
    transform: none;
  }
  .plan90-list {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.75rem;
  }
  .plan90-step {
    display: grid;
    grid-template-columns: var(--dot) minmax(0, 1fr);
    column-gap: 1rem;
  }
  .plan90-mark {
    display: contents;
  }
  .plan90-dot {
    grid-row: 1 / span 2;
    align-self: start;
  }
  .plan90-days {
    grid-column: 2;
    justify-self: start;
    align-self: center;
    padding-left: 0;
    margin-bottom: 0.75rem;
    min-height: var(--dot);
    display: flex;
    align-items: center;
  }
  .plan90-card {
    grid-column: 2;
  }
}

/* ---------- About: founder-led team block ---------- */
.founder {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
}
.founder-photo {
  margin: 0;
  justify-self: end;
  width: 100%;
  max-width: 27.5rem;
}
.founder-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: var(--ss-r-img);
  border: 1px solid var(--edge);
}
.founder-role {
  font-family: var(--mono);
  font-weight: 500;
  font-size: 0.8125rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ss-muted-dark);
}
.founder-body h3 {
  margin-top: 0.5rem;
  color: var(--ss-paper);
}
.founder-lead {
  margin-top: 1.25rem;
  max-width: 34rem;
  font-size: clamp(1.25rem, 1.8vw, 1.5rem);
  line-height: 1.35;
  font-weight: 500;
  color: var(--ss-paper);
}
.founder-body > p:not(.founder-role):not(.founder-lead) {
  margin-top: 1rem;
  max-width: 36rem;
  color: var(--gray-dark-text);
  font-size: 1.0625rem;
  line-height: 1.6;
}
.founder-note {
  margin-top: 1.75rem;
  max-width: 36rem;
  display: flex;
  align-items: baseline;
  gap: 1rem;
  padding: 1rem 1.25rem;
  background: var(--ss-midnight-2);
  border: 1px solid var(--edge);
}
.founder-note__k {
  flex: none;
  font-family: var(--mono);
  font-weight: 500;
  font-size: 0.8125rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ss-muted-dark);
}
.founder-note p {
  color: var(--ss-paper);
  font-size: 1rem;
  line-height: 1.5;
}
.founder-cta {
  margin-top: 1.75rem;
}
@media (max-width: 767px) {
  .founder {
    grid-template-columns: minmax(0, 1fr);
  }
  .founder-photo {
    max-width: 22rem;
    justify-self: start;
  }
  .founder-note {
    flex-direction: column;
    gap: 0.35rem;
  }
}

/* ==========================================================================
   Distill pass (2026-10-13): home sections, audit fixes, compact phone footer
   ========================================================================== */

/* ---------- Home: section heads without eyebrows ---------- */
.sec-h {
  text-align: center;
  max-width: 61.5rem;
  margin: 0 auto 3rem;
}

/* ---------- Home: the problem, three motion scenes in one row ---------- */
.pb-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}
.pb-card {
  display: flex;
  flex-direction: column;
}
.pb-card .ill.ill--pv { border-bottom: 0; }
.pb-card .ill.ill--pv {
  flex: 1;
  min-height: 23rem;
  padding: 1.5rem 1.25rem;
}
.pb-card h3 {
  padding: 1.25rem 0.25rem 0;
}
.pb-card .pv-hunt__q b {
  font-size: 1rem;
}
.pb-card .pv-find {
  font-size: 0.9375rem;
}
.pb-row:focus-visible {
  outline: 2px solid var(--ss-amber);
  outline-offset: 4px;
}
@media (min-width: 992px) {
  /* narrow columns: give each hop its own two lines */
  .pb-card .pv-row {
    grid-template-columns: 0.95rem minmax(0, 1fr) auto;
    row-gap: 0.1rem;
  }
  .pb-card .pv-row b { grid-column: 2; grid-row: 1; }
  .pb-card .pv-min { grid-column: 3; grid-row: 1; }
  .pb-card .pv-find { grid-column: 2 / -1; grid-row: 2; }
  .pb-card .pv-queue { gap: 0.6rem; }
  .pb-card .pv-person { padding: 0.6rem; }
  .pb-card .pv-person__head { flex-wrap: wrap; }
  .pb-card .pv-count { margin-left: 0; text-align: left; width: 100%; }
  .pb-card .pv-count b { display: inline; font-size: 1.25rem; margin-right: 0.25rem; }
}
@media (max-width: 991px) {
  /* phones and tablets: swipe the three scenes side by side */
  .pb-row {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    margin-inline: calc(-1 * var(--gutter));
    padding: 0 var(--gutter) 0.25rem;
    scroll-padding-inline: var(--gutter);
  }
  .pb-row::-webkit-scrollbar { display: none; }
  .pb-card {
    flex: 0 0 min(84%, 24rem);
    scroll-snap-align: start;
  }
  .pb-card .ill.ill--pv { min-height: 0; }
  .pb-card h3 { padding: 1rem 0.15rem 0; }
}

/* ---------- Home: Push first, then Ask, then Act ---------- */
.pf-card .tabs {
  justify-content: center;
  margin-bottom: 1.75rem;
}
.pf-card .demo-panel[hidden] { display: none; }
.pf-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 2rem 2.5rem;
  align-items: start;
}
.pf-step--push { grid-row: span 2; }
.pf-k {
  font-size: 0.9375rem;
  line-height: 1.45;
  color: var(--gray-700);
  margin-bottom: 0.75rem;
}
.pf-k b {
  display: block;
  font-family: var(--mono);
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.4;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink);
}
.pf-msg {
  background: var(--ss-midnight);
  color: var(--ss-paper);
  padding: 1.5rem;
}
.pf-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--mono);
  font-size: 0.8125rem;
  line-height: 1.4;
  color: #C3CCD4;
  margin-bottom: 1rem;
}
.pf-sample {
  border: 1px solid var(--ss-amber);
  color: var(--ss-amber);
  padding: 0.1rem 0.45rem;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.pf-text {
  font-family: var(--display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: var(--track);
  font-size: clamp(1.625rem, 2.6vw, 2.375rem);
  line-height: 1.04;
}
.pf-text strong {
  color: var(--ss-amber);
  font-weight: 800;
}
.pf-text--2 {
  font-family: var(--body);
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  font-size: 1.0625rem;
  line-height: 1.45;
  color: #D5DBE0;
  margin-top: 0.85rem;
}
.pf-msg .src-row { margin-top: 1.1rem; }
.pf-msg .src {
  background: transparent;
  border-color: var(--edge);
  color: #D5DBE0;
}
.pf-act {
  font-size: 1rem;
  line-height: 1.6;
}
.pf-act .wait { margin-left: 0; }
.pf-card .caption { text-align: center; margin-top: 1.5rem; }
.start {
  margin-top: 3.5rem;
  padding-top: 1.75rem;
  border-top: 1px solid var(--ss-line-light);
  display: grid;
  grid-template-columns: 11rem minmax(0, 1fr);
  gap: 1.5rem;
  align-items: baseline;
}
.start-steps {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}
.start-steps li {
  display: flex;
  gap: 0.75rem;
  align-items: baseline;
  font-size: 1.0625rem;
  line-height: 1.5;
}
.start-steps b {
  font-family: var(--display);
  font-weight: 800;
  font-size: 1.75rem;
  line-height: 1;
  color: var(--ink);
}
@media (max-width: 991px) {
  .pf-grid { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .pf-step--push { grid-row: auto; }
}
@media (max-width: 767px) {
  .sec-h { margin-bottom: 1.75rem; }
  .pf-card .tabs { justify-content: flex-start; margin-bottom: 1.25rem; }
  .pf-msg { padding: 1.15rem; }
  .pf-card .caption { text-align: left; }
  .start { grid-template-columns: 1fr; gap: 0.85rem; margin-top: 2.25rem; padding-top: 1.25rem; }
  .start-steps { grid-template-columns: 1fr; gap: 0.6rem; }
  .start-steps b { font-size: 1.375rem; min-width: 1ch; }
}

/* ---------- Home: pick your industry (flat rows, no nested cards) ---------- */
.pick {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--ss-line-light);
}
.pick li { border-bottom: 1px solid var(--ss-line-light); }
.pick li:nth-child(odd) { border-right: 1px solid var(--ss-line-light); }
.pick-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.35rem 1rem;
  align-items: center;
  min-height: 44px;
  padding: 1.5rem;
  color: var(--ink);
  text-decoration: none;
  transition: background-color 0.2s ease;
}
.pick-name {
  font-family: var(--display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: var(--track);
  font-size: clamp(1.375rem, 2vw, 1.75rem);
  line-height: 1.05;
}
.pick-desc {
  grid-column: 1;
  color: var(--gray-700);
  font-size: 1rem;
  line-height: 1.5;
}
.pick-row svg {
  grid-column: 2;
  grid-row: 1 / span 2;
  width: 1.5rem;
  height: 1.5rem;
  transition: transform 0.3s var(--ease-out);
}
.pick-row:hover { background: var(--ss-manila); }
.pick-row:hover svg { transform: translateX(4px); }
.pick-row:focus-visible { outline: 2px solid var(--ss-amber); outline-offset: -2px; }
.pick-all, .charge-link {
  margin-top: 1.5rem;
  text-align: center;
}
.pick-all a, .charge-link a {
  color: var(--ink);
  font-weight: 700;
  text-underline-offset: 4px;
}
@media (max-width: 767px) {
  .pick { grid-template-columns: 1fr; }
  .pick li:nth-child(odd) { border-right: 0; }
  .pick-row { padding: 1rem 0.25rem; }
  .pick-all { margin-top: 1rem; text-align: left; }
}

/* ---------- Home: you stay in charge ---------- */
.charge-home {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 3rem 4rem;
  align-items: center;
}
.charge-copy {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.charge-link { margin-top: 0; text-align: left; }
.promise-list {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--ss-line-light);
}
.promise-list li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.9rem 1rem 0.9rem 0;
  border-bottom: 1px solid var(--ss-line-light);
  font-family: var(--display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: var(--track);
  font-size: 1.0625rem;
  line-height: 1.15;
}
.promise-list svg {
  width: 1.5rem;
  height: 1.5rem;
  flex: none;
  color: var(--ss-midnight);
}
@media (max-width: 767px) {
  .charge-home { grid-template-columns: 1fr; gap: 1.5rem; }
  .charge-copy { gap: 0.85rem; }
  .promise-list li { font-size: 0.9375rem; padding: 0.75rem 0.5rem 0.75rem 0; gap: 0.5rem; }
  .promise-list svg { width: 1.25rem; height: 1.25rem; }
}

/* ---------- Home FAQ: one flat panel, no frame around it ---------- */
#faq .faq h2 { margin: 0; }
#faq .faq-list { margin-top: 1.75rem; }

/* ==========================================================================
   Audit fixes (shared, all pages)
   ========================================================================== */

/* [P1] Contrast: amber is an accent on Paper, never text */
body .big-num { color: var(--ss-midnight); }
body .on-dark .big-num, body .dplate .big-num { color: var(--ss-amber); }

/* [P2] Leading floor on small labels and form text */
.field label, .crumbs, .foot-menu h3, .mm-group h3, .cmp h4 { line-height: 1.3; }

/* [P1] Tap targets: 44px hit areas without changing the look.
   Small inline links get an invisible 44px-tall hit box. */
.annc a, .crumbs a, .copy-row a, .ind-foot a, .qwho a, .doc-src a, .mega-col h3 a, .mega-foot a,
:is(main, .foot-sec) :is(p, li, h2, h3, figcaption) a:not([class*="btn"]):not([class*="card"]):not(.pick-row):not(.stretch) {
  position: relative;
  z-index: 1;
}
.annc a::after, .crumbs a::after, .copy-row a::after, .ind-foot a::after, .qwho a::after, .doc-src a::after,
.mega-col h3 a::after, .mega-foot a::after,
:is(main, .foot-sec) :is(p, li, h2, h3, figcaption) a:not([class*="btn"]):not([class*="card"]):not(.pick-row):not(.stretch)::after {
  content: "";
  position: absolute;
  left: -0.25rem;
  right: -0.25rem;
  top: 50%;
  height: 44px;
  min-width: 44px;
  transform: translateY(-50%);
}
.foot-menu a { z-index: auto; }
.foot-menu a::after { content: none; }
/* Contact chips: the whole 44px chip is the link */
.cchip { position: relative; }
.cchip a::after {
  content: "";
  position: absolute;
  inset: -1px;
}
/* Mobile menu group headings: a real 44px row */
.mm-group h3 a, .mm-group .mm-all {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.mm-group h3 { margin-block: 0.25rem 0; }
/* Footer menus: each row is a 44px target */
.foot-menu ul { gap: 0; }
.foot-menu a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  min-width: 44px;
}
/* Industry tab labels and search results already exceed 44px; mobile menu and mega links too */
.mega-col a, .mm-group a, .search-results a { min-height: 44px; }

/* [P2] Nested cards: the industry slider sits on the page, not inside a second card */
.ind-main.plate, .ind-main > .plate__in,
.ind-side.plate, .ind-side > .plate__in {
  border: 0;
  background: transparent;
}
.ind-main > .plate__in { padding-inline: 0; }
.ind-side > .plate__in { padding-left: 0; }
/* Footer contact: one panel, not two cards on a frame */
.form-wrap {
  background: var(--ss-paper);
  padding: 0;
  gap: 0;
}
.form-wrap .plate, .form-wrap .plate__in {
  border: 0;
  background: transparent;
}
.form-main { border-left: 1px solid var(--ss-line-light); }
.form-cta .pill, .foot-sec .pill { display: none; }

/* ==========================================================================
   Footer on phones: about one screen (desktop unchanged)
   ========================================================================== */
.reach-toggle { display: none; }
@media (max-width: 767px) {
  .foot-sec {
    margin-top: 4.5rem;
    padding-top: 1.5rem;
    padding-bottom: 1.25rem;
  }
  .form-wrap { padding: 0; }
  .form-main { border-left: 0; border-top: 1px solid var(--ss-line-light); }
  .form-cta .plate__in { padding: 1.25rem 1.15rem; gap: 0.85rem; }
  .form-cta h2 { font-size: 1.875rem; }
  .form-cta .note { font-size: 1rem; }
  .mac-row img { width: 2.75rem; height: 2.75rem; }
  .mac-row p { font-size: 0.9375rem; }
  .form-main .plate__in { padding: 1.25rem 1.15rem; }
  /* the reach-out form folds behind one button */
  .reach-js .form-cta .btn-note { display: none; }
  .reach-js:not(.is-reach-open) .form-main { display: none; }
  .reach-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    width: 100%;
    min-height: 52px;
    padding: 0.75rem 1.15rem;
    border-top: 1px solid var(--ss-line-light);
    color: var(--ink);
    font-weight: 600;
    font-size: 0.9375rem;
    line-height: 1.35;
    text-align: left;
  }
  .reach-toggle svg { width: 1.25rem; height: 1.25rem; flex: none; transition: transform 0.3s var(--ease-out); }
  .reach-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
  .reach-toggle:focus-visible { outline: 2px solid var(--ss-amber); outline-offset: -2px; }
  .form-main { border-top: 0; }

  .foot-cols { margin: 1.75rem 0 1.25rem; gap: 1.25rem; }
  .foot-brand { gap: 0.75rem; max-width: none; }
  .foot-brand .logo { font-size: 1.625rem; padding-block: 0; }
  .foot-lines p { font-size: 0.9375rem; }
  .contact-chips { flex-direction: row; flex-wrap: wrap; gap: 0.5rem; }
  .contact-chips .cchip:not(:has(a)) { display: none; }
  .contact-chips .cchip { padding: 0.5rem 0.7rem; font-size: 0.875rem; }
  .contact-chips .cchip svg { display: none; }
  .foot-menus { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
  .foot-menu h3 { margin-bottom: 0.15rem; font-size: 0.75rem; }
  .foot-menu a { font-size: 0.9375rem; }
  .foot-sign { flex-direction: row; align-items: center; gap: 0.85rem; margin-bottom: 1rem; }
  .foot-patch { width: 4.5rem; }
  .foot-sign p { font-size: 1.0625rem; }
  .copy-row { padding-top: 0.85rem; gap: 0.15rem 1.25rem; font-size: 0.8125rem; }
  .copy-row .ss-clockline { order: 3; width: 100%; }
}
/* Wrapped breadcrumbs and stacked contact links keep 44px between rows */
.crumbs { row-gap: 1.75rem; }
.fit-line a { display: inline-block; }
main p a[href^="mailto:"], main p a[href^="tel:"], .paperwork a[href^="tel:"], .paperwork a[href^="mailto:"] {
  display: inline-block;
  padding-block: 0.55rem;
}
