:root {
  --ink: #10110f;
  --ink-soft: #171815;
  --paper: #efeee7;
  --paper-soft: #e5e3d8;
  --text: #f2f1eb;
  --muted: #a0a199;
  --line: #30312c;
  --green: #9eae78;
  --green-dark: #53643e;
  --green-soft: #242a1d;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  background: var(--ink);
  color: var(--text);
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; }

/* Primary navigation */
.idrok-header {
  position: sticky;
  top: 0;
  z-index: 30;
  min-height: 92px;
  padding: 18px clamp(24px, 5vw, 84px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255,255,255,.11);
  background: rgba(16,17,15,.96);
  backdrop-filter: blur(16px);
  will-change: transform;
  transition: transform 460ms cubic-bezier(.16,1,.3,1), background-color 260ms ease;
}
.idrok-header.is-hidden { transform: translateY(-105%); }
.idrok-header.is-hidden:focus-within { transform: translateY(0); }
.idrok-header-brand {
  display: inline-flex;
  flex-direction: column;
  gap: 5px;
  color: #e9eae2;
  line-height: 1;
  text-decoration: none;
}
.idrok-header-brand span { font-size: 21px; font-weight: 700; letter-spacing: .15em; }
.idrok-header-brand small { color: var(--green); font: 600 8px/1 "IBM Plex Mono", monospace; letter-spacing: .35em; }
.idrok-nav { margin-left: auto; display: flex; align-items: center; gap: clamp(22px, 3.2vw, 50px); }
.idrok-nav a {
  position: relative;
  height: 18px;
  display: block;
  overflow: hidden;
  color: #c5c7bf;
  font-size: 13px;
  font-weight: 600;
  line-height: 18px;
  text-decoration: none;
}
.idrok-nav a span { display: block; transition: transform 360ms cubic-bezier(.16,1,.3,1), color 220ms ease; }
.idrok-nav a span + span { color: var(--green); }
.idrok-nav a:hover span, .idrok-nav a:focus-visible span { transform: translateY(-100%); }
.idrok-nav a:focus-visible { outline: 1px solid var(--green); outline-offset: 6px; }
.idrok-join-button { min-height: 44px; margin-left: clamp(18px, 2.6vw, 42px); padding: 0 16px; display: inline-flex; align-items: center; gap: 20px; border-radius: 6px; background: var(--green-dark); color: #f6f6ee; font-size: 12px; font-weight: 700; text-decoration: none; transition: background-color 220ms ease, transform 220ms ease; }.idrok-join-button:hover { background: #455334; transform: translateY(-2px); }.idrok-join-button:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }.idrok-join-button span { transition: transform 220ms ease; }.idrok-join-button:hover span { transform: translateX(4px); }
@media (max-width: 600px) {
  .idrok-header { min-height: 76px; padding-inline: 20px; }
  .idrok-header-brand span { font-size: 16px; }
  .idrok-nav { gap: 14px; }
  .idrok-nav a { font-size: 11px; }
  .idrok-join-button { min-height: 38px; margin-left: 14px; padding: 0 12px; gap: 12px; font-size: 11px; }
}
@media (max-width: 600px) { .publication-hero-image { width: 42%; height: 42%; right: 7%; bottom: 5%; }.publication-feature-image { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; margin: 18px 0; } }

html[data-theme="light"] .publication-hero { background: var(--surface); color: #171815; }
html[data-theme="light"] .publication-hero-copy > p:not(.publication-eyebrow) { color: #54584f; }
html[data-theme="light"] .publication-hero-shade { background: linear-gradient(90deg, rgba(239,238,231,.98), rgba(239,238,231,.86) 52%, rgba(239,238,231,.18)); }
.publication-featured .publication-section-heading { justify-content: flex-end; }
.publication-featured .publication-section-heading .publication-eyebrow, .publication-feature .publication-kicker { display: none; }
.publication-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.publication-grid .publication-feature-image { width: 100%; max-width: none; height: auto; aspect-ratio: 1; margin: 0 0 26px; object-fit: cover; }
.publication-hero-image { object-fit: contain; object-position: 67% 72%; transform: scale(.68); transform-origin: right bottom; }
@media (max-width: 600px) { .publication-hero-image { width: 29%; height: 29%; right: 14%; bottom: 11%; transform: none; object-position: center; } }

html[data-theme="light"] .publication-home, html[data-theme="light"] .publication-home main { background: var(--surface); }
html[data-theme="light"] .publication-hero { background-color: #efeee7; }
html[data-theme="light"] .publication-hero-shade { background: linear-gradient(90deg, #efeee7 0%, rgba(239,238,231,.94) 56%, rgba(239,238,231,.25) 100%); }
.publication-grid .publication-feature { min-height: 440px; }
html[data-theme="light"] .company-article-page { background: var(--paper); color: #171815; }
@media (max-width: 600px) { .publication-hero-image { width: 23% !important; height: 23% !important; left: auto !important; right: 5% !important; bottom: 5% !important; object-fit: contain !important; object-position: center !important; } }

/* Keep the entire welcome illustration in the genuine lower-right free space. */
@media (max-width: 600px) {
  .publication-hero-image {
    top: auto !important;
    left: auto !important;
    right: 6% !important;
    bottom: 7% !important;
    width: 28% !important;
    height: 28% !important;
    object-fit: contain !important;
    object-position: center !important;
  }
}
html[data-theme="light"] .publication-hero,
html[data-theme="light"] .publication-home main { background: #efeee7 !important; }
html[data-theme="light"] .publication-hero-shade {
  background: linear-gradient(90deg, #efeee7 0%, rgba(239,238,231,.98) 58%, rgba(239,238,231,.35) 100%) !important;
}
.publication-grid .publication-feature--lead h2, .publication-grid .publication-feature:not(.publication-feature--lead) h2 { font-size: clamp(27px,2.5vw,39px); }
.publication-grid .publication-feature-image { aspect-ratio: 1 / 1; }
@media (max-width: 600px) {
  .publication-hero-image { width: 24%; height: 24%; left: 48%; right: auto; bottom: 12%; }
  .publication-grid .publication-feature { min-height: 0; }
  .publication-grid .publication-feature-image { width: min(100%, 330px); }
}
.publication-hero-image { object-fit: contain; object-position: 72% 72%; transform: scale(.84); transform-origin: right bottom; }
@media (max-width: 600px) { .publication-hero-image { width: 36%; height: 36%; right: 12%; bottom: 9%; transform: none; object-position: center; } }
@media (max-width: 520px) { .idrok-nav { display: none; }.idrok-join-button { margin-left: auto; } }

/* The map now precedes the company introduction; retain a continuous editorial index. */
.technology-section > .section-label, .company-thesis > .section-label, .careers-section > .section-label { font-size: 0; }
.technology-section > .section-label::after, .company-thesis > .section-label::after, .careers-section > .section-label::after { font: 600 10px/1 "IBM Plex Mono", monospace; letter-spacing: .14em; }
.technology-section > .section-label::after { content: "05 / TECHNOLOGY"; }
.company-thesis > .section-label::after { content: "06 / COMPANY"; }
.careers-section > .section-label::after { content: "07 / CAREERS"; }

/* Section names replace presentation-style numbering. */
.company-intro > .section-label, .tensor-product-label, .technology-section > .section-label, .company-thesis > .section-label, .careers-section > .section-label, .application-section > .section-label { font-size: 0 !important; }
.company-intro > .section-label::after, .tensor-product-label::after, .technology-section > .section-label::after, .company-thesis > .section-label::after, .careers-section > .section-label::after, .application-section > .section-label::after { display: block; color: currentColor; font: 700 clamp(13px, 1.15vw, 17px)/1 "Inter", sans-serif; letter-spacing: .045em; }
.company-intro > .section-label::after { content: "Company"; }.tensor-product-label::after { content: "Tensor"; }.technology-section > .section-label::after { content: "Technology"; }.company-thesis > .section-label::after { content: "Company"; }.careers-section > .section-label::after { content: "Careers"; }.application-section > .section-label::after { content: "Application"; }
.company-principles article > span, .technology-map article > span { display: none; }.company-principles h3 { margin-top: 25px; }.technology-map h3 { margin-top: 25px; }
.tensor-story-words article > p { font-size: 0; }.tensor-story-words article > p::after { font: 700 13px/1 "Inter", sans-serif; letter-spacing: .045em; }.tensor-story-words article:nth-child(1) > p::after { content: "Tensor OS"; }.tensor-story-words article:nth-child(2) > p::after { content: "AI Employees"; }.tensor-story-words article:nth-child(3) > p::after { content: "Connections"; }.tensor-story-words article:nth-child(4) > p::after { content: "Human Control"; }

/* The dedicated application page is intentionally short, focused and practical. */
.application-page .application-section { max-width: 1180px; margin: 0 auto; padding: clamp(48px, 5vw, 76px) clamp(24px, 5vw, 72px) clamp(58px, 6vw, 88px); }.application-page .application-back { margin-bottom: 42px; }.application-page .application-intro { margin: 28px 0 42px; gap: clamp(32px, 7vw, 96px); }.application-page .application-intro h1 { font-size: clamp(46px, 5vw, 76px); }.application-page .application-intro > p { max-width: 330px; }.application-page .application-form { max-width: 920px; gap: 18px 32px; }.application-page .application-form label { gap: 7px; }.application-page .application-form input, .application-page .application-form select, .application-page .application-form textarea { padding: 7px 0; font-size: 14px; }.application-page .application-form textarea { min-height: 70px; }.application-page .application-form button { min-height: 46px; margin-top: 4px; }.application-page .atlas-footer { min-height: 190px; }
.application-page .application-form input, .application-page .application-form select, .application-page .application-form textarea { color: #fff !important; caret-color: #fff; line-height: 1.45; }.application-page .application-form input:focus, .application-page .application-form select:focus, .application-page .application-form textarea:focus { border-color: #a9b98a; }.application-page .application-form textarea { height: 58px; min-height: 58px; padding-top: 5px; resize: vertical; }.application-page .application-form input::placeholder { color: #858b80; opacity: 1; }.phone-field { display: grid; grid-template-columns: 76px 1fr; gap: 14px; align-items: end; }.phone-field select { cursor: pointer; }.social-fields { margin: 0; padding: 0; border: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }.social-fields legend { width: 100%; margin-bottom: 13px; color: #c3c5bc; font: 600 10px/1 "IBM Plex Mono", monospace; letter-spacing: .08em; }.social-fields legend small { color: #858b80; font-size: 9px; font-weight: 500; letter-spacing: .04em; }.social-fields label { min-width: 0; }
.contact-application-page .application-section > .section-label::after { content: "Contact & feedback"; }.contact-application-page .application-form textarea { min-height: 132px; height: 132px; }.contact-application-page .application-form label small { color: #858b80; font: 500 9px/1 "IBM Plex Mono", monospace; letter-spacing: .04em; }

.atlas-header {
  position: sticky;
  top: 0;
  z-index: 30;
  min-height: 76px;
  padding: 14px clamp(22px, 5vw, 76px);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 32px;
  border-bottom: 1px solid rgba(255,255,255,.09);
  background: rgba(16,17,15,.92);
  backdrop-filter: blur(18px);
}
.atlas-wordmark {
  width: fit-content;
  color: #e9e8e1;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: .12em;
  text-decoration: none;
}
.atlas-header nav { display: flex; align-items: center; gap: 30px; }
.atlas-header nav a {
  color: #b5b6ae;
  font-size: 11px;
  font-weight: 600;
  text-decoration: none;
  transition: color 160ms ease;
}
.atlas-header nav a:hover { color: #f1f0e9; }
.atlas-header-cta {
  justify-self: end;
  min-height: 42px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  gap: 18px;
  border: 1px solid #d8d8d1;
  border-radius: 9px;
  background: #eeeeea;
  color: #171815;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
  transition: background 160ms ease, transform 160ms ease;
}
.atlas-header-cta:hover { background: #fff; transform: translateY(-1px); }

.atlas-kicker,
.atlas-section-no,
.model-index {
  font-family: "IBM Plex Mono", monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .12em;
}
.atlas-kicker { color: var(--green); }
.atlas-section-no { margin: 0; color: #71736b; }

.atlas-hero {
  min-height: calc(100vh - 92px);
  padding: clamp(96px, 14vh, 170px) clamp(24px, 6vw, 100px) 64px;
  display: flex;
  flex-direction: column;
  background: var(--paper);
  color: #11120f;
}
.atlas-hero > .atlas-kicker { margin: 0 0 clamp(64px, 9vh, 100px); color: var(--green-dark); }
.idrok-hero-wordmark {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, sans-serif;
  line-height: 1;
  text-transform: uppercase;
  user-select: none;
  margin: 0 0 clamp(64px, 9vh, 100px);
}
.idrok-hero-wordmark .idrok-primary {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--green-dark, #2b392a);
}
.idrok-hero-wordmark .idrok-secondary {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.24em;
  color: #71736b;
  margin-top: 4px;
}
.atlas-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
  align-items: center;
  gap: clamp(96px, 12vw, 210px);
}
.atlas-hero h1 {
  max-width: 1050px;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(68px, 9vw, 146px);
  font-weight: 400;
  line-height: 1.01;
  letter-spacing: -.045em;
}
.atlas-hero h1 em {
  position: relative;
  color: inherit;
  font-style: normal;
}
.atlas-hero h1 em::after {
  content: "";
  position: absolute;
  left: .02em;
  right: -.02em;
  bottom: -.02em;
  height: .055em;
  background: var(--green-dark);
}
.atlas-hero-copy { max-width: 520px; padding: 38px 0; }
.atlas-hero-copy > p {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(22px, 2vw, 32px);
  line-height: 1.52;
}
.atlas-cadence { margin-top: 62px; display: grid; border-top: 1px solid #c4c3ba; }
.atlas-cadence span { padding: 17px 0; border-bottom: 1px solid #c4c3ba; font-size: 11px; font-weight: 600; }
.atlas-scroll-cue {
  margin-top: auto;
  padding-top: 56px;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: #4d4f48;
  font-size: 10px;
  font-weight: 700;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.atlas-statement,
.atlas-early {
  padding: clamp(90px, 12vw, 180px) clamp(24px, 6vw, 100px);
  display: grid;
  grid-template-columns: 70px minmax(360px, 1.25fr) minmax(300px, .75fr);
  gap: clamp(34px, 6vw, 100px);
  border-bottom: 1px solid var(--line);
}
.atlas-statement h2,
.atlas-early h2 {
  max-width: 900px;
  margin: 20px 0 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(43px, 5.3vw, 82px);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.05em;
}
.atlas-prose { align-self: end; display: grid; gap: 22px; }
.atlas-prose p { margin: 0; color: #b5b6af; font-size: 14px; line-height: 1.75; }

.atlas-tensor {
  min-height: 94vh;
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: var(--paper);
  color: #141511;
}
.tensor-intro,
.tensor-panel { padding: clamp(80px, 10vw, 150px) clamp(28px, 6vw, 100px); }
.tensor-intro { display: flex; flex-direction: column; border-right: 1px solid #c8c7bd; }
.tensor-intro .atlas-kicker { margin: 32px 0 0; color: var(--green-dark); }
.tensor-intro h2 {
  margin: auto 0 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(62px, 7vw, 112px);
  font-weight: 400;
  letter-spacing: -.06em;
}
.tensor-lockup { white-space: nowrap; }
.tensor-lockup b { font-family: "IBM Plex Mono", monospace; font-size: .43em; letter-spacing: -.08em; vertical-align: .28em; }
.tensor-panel { display: flex; flex-direction: column; justify-content: center; }
.tensor-panel > p { max-width: 660px; margin: 0 0 34px; font-size: 14px; line-height: 1.85; }
.tensor-panel .tensor-lead { margin-bottom: 42px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(28px, 2.8vw, 42px); line-height: 1.2; }
.tensor-roles { margin: 18px 0 38px; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #c5c4ba; }
.tensor-roles span { padding: 13px 0; border-bottom: 1px solid #c5c4ba; font-size: 11px; font-weight: 600; }
.tensor-roles span:nth-child(odd) { border-right: 1px solid #c5c4ba; }
.tensor-roles span:nth-child(even) { padding-left: 18px; }
.tensor-panel > a,
.atlas-closing a {
  width: fit-content;
  min-height: 46px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  gap: 30px;
  border-radius: 8px;
  background: #161713;
  color: #f1f0e9;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
}

.atlas-ecosystem { padding: clamp(100px, 12vw, 180px) clamp(24px, 6vw, 100px); }
.atlas-wide-heading { display: grid; grid-template-columns: 70px minmax(0, 1fr); column-gap: clamp(34px, 6vw, 100px); }
.atlas-wide-heading .atlas-kicker { grid-column: 2; margin: 0 0 20px; }
.atlas-wide-heading h2 {
  grid-column: 2;
  max-width: 1300px;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(50px, 6.7vw, 106px);
  font-weight: 400;
  line-height: .94;
  letter-spacing: -.055em;
}
.ecosystem-grid { margin: 90px 0 0 calc(70px + clamp(34px, 6vw, 100px)); display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
.ecosystem-grid p { margin: 0; padding: 24px 28px 0 0; color: #b2b3ac; font-size: 13px; line-height: 1.7; }
.ecosystem-grid p + p { padding-left: 28px; border-left: 1px solid var(--line); }

.atlas-models { padding: clamp(104px, 12vw, 180px) clamp(24px, 6vw, 100px); background: var(--paper); color: #151612; }
.models-heading { display: grid; grid-template-columns: .55fr 1.45fr; gap: 60px; align-items: end; margin-bottom: 64px; }
.models-heading .atlas-kicker { color: var(--green-dark); }
.models-heading h2 { max-width: 950px; margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(46px, 5.5vw, 82px); font-weight: 400; line-height: .98; letter-spacing: -.05em; }
.model-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 1.7vw, 28px); }
.model-card {
  position: relative;
  min-height: 650px;
  padding: clamp(26px, 2.4vw, 38px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #cfcdc2;
  border-radius: 18px;
  background: #e3ded1;
  transition: transform var(--motion-duration-drawer) var(--motion-ease-enter), box-shadow 420ms ease, background var(--motion-duration-slow) var(--motion-ease-standard);
}
.model-card::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  background: var(--green-dark);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 900ms cubic-bezier(.2,.8,.2,1) 180ms;
}
.model-card.is-visible::before { transform: scaleX(1); }
.model-card:hover {
  transform: translateY(-7px);
  background: #e8e3d7;
  box-shadow: 0 24px 55px rgba(29, 32, 23, .13);
}
.model-icon {
  width: 148px;
  height: 148px;
  flex: 0 0 auto;
  display: block;
  margin: 0 0 32px;
  color: var(--green-dark);
  overflow: visible;
  transition: transform 520ms cubic-bezier(.2,.8,.2,1);
}
.model-card:hover .model-icon { transform: translateY(-4px) rotate(-1.5deg); }
.model-card.vector:hover .model-icon { transform: translate(5px, -5px) rotate(2deg); }
.model-icon path,
.model-icon circle,
.model-icon rect {
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  opacity: 1;
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
}
.model-card.is-visible .model-icon path,
.model-card.is-visible .model-icon circle,
.model-card.is-visible .model-icon rect {
  animation: model-stroke-draw 1700ms cubic-bezier(.25,.75,.25,1) forwards;
}
.model-card.is-visible .model-icon > :nth-child(2) { animation-delay: 180ms; }
.model-card.is-visible .model-icon > :nth-child(3) { animation-delay: 320ms; }
.model-card.is-visible .model-icon > :nth-child(4) { animation-delay: 460ms; }
.model-card.is-visible .model-icon > :nth-child(5) { animation-delay: 600ms; }
@keyframes model-stroke-draw {
  from { stroke-dashoffset: 1000; }
  to { stroke-dashoffset: 0; }
}
.model-card.is-visible .model-icon {
  animation: model-mark-settle 1100ms cubic-bezier(.2,.8,.2,1);
}
@keyframes model-mark-settle {
  0% { transform: translateY(8px) scale(.96); }
  62% { transform: translateY(-2px) scale(1.012); }
  100% { transform: translateY(0) scale(1); }
}
.model-index { margin: 0 0 13px; color: #676b60; }
.model-card h3 { margin: 0; font-size: clamp(29px, 2.5vw, 41px); letter-spacing: -.05em; }
.model-card .model-description {
  max-width: 470px;
  margin: 20px 0 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  line-height: 1.6;
}
.model-detail-link {
  width: fit-content;
  margin-top: 24px;
  display: inline-flex;
  align-items: center;
  gap: 18px;
  color: #31332e;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
}
.model-detail-link span { transition: transform var(--motion-duration-fast) var(--motion-ease-standard); }
.model-detail-link:hover span { transform: translateX(4px); }
.model-meta { margin: auto 0 24px; border-top: 1px solid #c3c0b4; }
.model-meta div { padding: 13px 0; display: flex; justify-content: space-between; gap: 18px; border-bottom: 1px solid #c3c0b4; }
.model-meta dt,
.model-meta dd { margin: 0; font-family: "IBM Plex Mono", monospace; font-size: 9px; letter-spacing: .06em; }
.model-meta dt { color: #686a62; }
.model-meta dd { text-align: right; color: #282a25; }
.model-button {
  min-height: 46px;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 8px;
  background: #151612;
  color: #f0efe8;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
  transition: background var(--motion-duration-fast) var(--motion-ease-standard), transform var(--motion-duration-fast) var(--motion-ease-standard);
}
.model-button:hover { background: var(--green-dark); transform: translateY(-1px); }

.atlas-agency { padding: clamp(100px, 12vw, 180px) clamp(24px, 6vw, 100px); display: grid; grid-template-columns: 70px minmax(340px, 1fr) minmax(380px, 1fr); gap: clamp(34px, 6vw, 100px); }
.agency-title h2 { margin: 18px 0 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(44px, 5vw, 78px); font-weight: 400; line-height: .98; letter-spacing: -.05em; }
.agency-steps { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.agency-steps li { min-height: 72px; padding: 16px 0; display: grid; grid-template-columns: 50px 1fr; align-items: center; border-bottom: 1px solid var(--line); color: #85877f; }
.agency-steps li span { font-family: "IBM Plex Mono", monospace; font-size: 9px; }
.agency-steps li p { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 21px; }
.agency-steps li.active { color: var(--text); }
.agency-steps li.active span { color: var(--green); }
.agency-definition { grid-column: 2 / -1; max-width: 1100px; margin: 80px 0 0; color: var(--green); font-family: Georgia, "Times New Roman", serif; font-size: clamp(32px, 4vw, 58px); line-height: 1.08; }

.atlas-control { padding: clamp(90px, 11vw, 170px) clamp(24px, 6vw, 100px); display: grid; grid-template-columns: 1fr 1fr; gap: clamp(60px, 10vw, 170px); background: var(--green-soft); }
.control-heading h2 { max-width: 850px; margin: 18px 0 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(46px, 5.5vw, 84px); font-weight: 400; line-height: .98; letter-spacing: -.05em; }
.control-list { border-top: 1px solid #4a5240; }
.control-list div { padding: 22px 0; display: grid; grid-template-columns: 110px 1fr; gap: 20px; border-bottom: 1px solid #4a5240; }
.control-list span { color: var(--green); font-family: "IBM Plex Mono", monospace; font-size: 9px; letter-spacing: .1em; }
.control-list p { margin: 0; color: #d3d5cc; font-size: 13px; line-height: 1.6; }

.atlas-future,
.atlas-early { background: var(--paper); color: #171814; }
.atlas-future { padding: clamp(112px, 14vw, 210px) clamp(24px, 6vw, 100px); display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(90px, 12vw, 200px); }
.future-copy .atlas-kicker,
.atlas-early .atlas-kicker { color: var(--green-dark); }
.future-copy h2 { margin: 30px 0 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(42px, 5vw, 76px); font-weight: 400; line-height: 1.04; letter-spacing: -.048em; }
.future-examples { align-self: center; border-top: 1px solid #c8c7bd; }
.future-examples p { margin: 0; padding: 22px 0; border-bottom: 1px solid #c8c7bd; font-size: 13px; line-height: 1.72; }

.atlas-invisible { min-height: 95vh; padding: clamp(100px, 12vw, 180px) clamp(24px, 8vw, 140px); display: flex; flex-direction: column; justify-content: center; text-align: center; }
.atlas-invisible h2 { max-width: 1400px; margin: 24px auto 70px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(53px, 7.5vw, 118px); font-weight: 400; line-height: .92; letter-spacing: -.06em; }
.outcome-list { width: min(900px, 100%); margin: 0 auto 54px; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.outcome-list span { padding: 18px; border-bottom: 1px solid var(--line); color: var(--green); font-family: Georgia, "Times New Roman", serif; font-size: 19px; }
.outcome-list span:nth-child(odd) { border-right: 1px solid var(--line); }
.atlas-invisible > p:last-child { margin: 0; color: #8c8e86; font-size: 12px; }

.atlas-early .atlas-prose p { color: #55574f; }
.atlas-early {
  min-height: 82vh;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, .75fr);
  align-items: center;
  gap: clamp(96px, 12vw, 210px);
}
.early-heading { display: grid; grid-template-columns: 54px minmax(0, 1fr); align-items: start; }
.early-heading .atlas-section-no { grid-row: 1 / 3; padding-top: 2px; }
.early-heading .atlas-kicker,
.early-heading h2 { grid-column: 2; }
.atlas-early .atlas-prose { align-self: center; gap: 30px; padding-left: clamp(36px, 5vw, 74px); border-left: 1px solid #c8c7bd; }
.atlas-early .atlas-prose p { font-size: 13px; line-height: 1.9; }
.atlas-closing { position: relative; min-height: 88vh; padding: 130px clamp(24px, 6vw, 100px); display: flex; flex-direction: column; justify-content: center; align-items: center; overflow: hidden; text-align: center; background: var(--ink-soft); }
.closing-glyph { width: min(360px, 55vw); margin: 0 0 24px; color: var(--green); overflow: visible; }
.closing-glyph path,
.closing-glyph circle { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1700ms cubic-bezier(.2,.8,.2,1) 200ms; }
.closing-glyph.is-visible path,
.closing-glyph.is-visible circle { stroke-dashoffset: 0; }
.closing-glyph.is-visible { animation: closing-glyph-settle 1200ms cubic-bezier(.2,.8,.2,1) both; }
@keyframes closing-glyph-settle {
  0% { transform: translateY(18px) scale(.96) rotate(-2deg); }
  100% { transform: translateY(0) scale(1) rotate(0); }
}
.closing-name { margin: 0 0 50px; color: var(--green); font-size: clamp(20px, 2.4vw, 34px); font-weight: 700; letter-spacing: .18em; }
.atlas-closing h2 { max-width: 1080px; margin: 0 0 64px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(42px, 5.6vw, 78px); font-weight: 400; line-height: 1.02; letter-spacing: -.048em; }
.atlas-closing a { background: var(--paper); color: #171815; }

.atlas-footer { min-height: 170px; padding: 38px clamp(24px, 6vw, 100px); display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: end; gap: 30px; border-top: 1px solid var(--line); color: #73756d; }
.atlas-footer div { display: grid; gap: 8px; }
.atlas-footer strong { color: #898b83; font-size: 18px; letter-spacing: .12em; }
.atlas-footer span,
.atlas-footer p,
.atlas-footer a { margin: 0; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.atlas-footer p { justify-self: center; }
.atlas-footer a { justify-self: end; text-decoration: none; }

.reveal-ready [data-atlas-reveal] {
  opacity: 0;
  transform: translate3d(var(--reveal-x, 0), 22px, 0) rotate(var(--reveal-rotate, 0deg));
  transition:
    opacity 680ms ease var(--reveal-delay, 0ms),
    transform 820ms cubic-bezier(.2,.8,.2,1) var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}
.reveal-ready [data-atlas-reveal].is-visible { opacity: 1; transform: translate3d(0, 0, 0) rotate(0); }
.reveal-ready .model-card[data-atlas-reveal].is-visible:hover { transform: translate3d(0, -7px, 0) rotate(0); }

/* A restrained editorial scale keeps the long-form page calm and readable. */
.atlas-hero h1 { font-size: clamp(52px, 6.4vw, 98px); }
.atlas-hero-copy > p { font-size: clamp(17px, 1.45vw, 23px); }
.atlas-statement h2,
.atlas-early h2 { font-size: clamp(34px, 3.8vw, 58px); line-height: 1.06; }
.tensor-intro h2 { font-size: clamp(46px, 5vw, 78px); line-height: 1.04; }
.tensor-panel .tensor-lead { font-size: clamp(26px, 2.7vw, 40px); }
.atlas-wide-heading h2 { font-size: clamp(42px, 5.4vw, 84px); }
.models-heading h2 { font-size: clamp(36px, 4vw, 60px); line-height: 1.04; }
.model-card h3 { font-size: clamp(29px, 2.5vw, 41px); }
.model-card > p:not(.model-index) { font-size: 16px; }
.agency-title h2 { font-size: clamp(37px, 4.2vw, 64px); }
.agency-steps li p { font-size: 18px; }
.agency-definition { font-size: clamp(27px, 3.3vw, 46px); }
.control-heading h2 { font-size: clamp(38px, 4.5vw, 68px); }
.future-copy h2 { font-size: clamp(38px, 4.4vw, 66px); }
.atlas-invisible h2 { font-size: clamp(44px, 6vw, 88px); }
.outcome-list span { font-size: 17px; }
.atlas-closing h2 { font-size: clamp(40px, 5vw, 72px); }

@media (max-width: 980px) {
  .atlas-header { grid-template-columns: 1fr auto; }
  .atlas-header nav { display: none; }
  .atlas-hero-grid,
  .atlas-tensor,
  .atlas-control,
  .atlas-future { grid-template-columns: 1fr; }
  .atlas-hero-grid { align-items: start; }
  .atlas-hero-copy { max-width: 620px; }
  .atlas-statement,
  .atlas-early,
  .atlas-agency { grid-template-columns: 44px 1fr; }
  .atlas-statement .atlas-prose,
  .atlas-early .atlas-prose,
  .atlas-agency .agency-steps { grid-column: 2; }
  .agency-definition { grid-column: 2; }
  .tensor-intro { min-height: 64vh; border-right: 0; border-bottom: 1px solid #c8c7bd; }
  .model-grid { grid-template-columns: 1fr; }
  .model-card { min-height: 440px; }
  .atlas-early { grid-template-columns: 1fr; }
  .atlas-early .atlas-prose { grid-column: 1; }
}

@media (max-width: 650px) {
  .atlas-header { min-height: 68px; padding-inline: 18px; }
  .atlas-header-cta { min-height: 38px; padding-inline: 12px; gap: 10px; }
  .atlas-hero { min-height: calc(100vh - 68px); padding: 70px 20px 32px; }
  .atlas-hero > .atlas-kicker { margin-bottom: 34px; }
  .atlas-hero h1 { font-size: clamp(58px, 18vw, 86px); }
  .atlas-hero-grid { gap: 48px; }
  .atlas-statement,
  .atlas-early,
  .atlas-agency { padding: 80px 20px; grid-template-columns: 1fr; gap: 28px; }
  .atlas-statement .atlas-prose,
  .atlas-early .atlas-prose,
  .atlas-agency .agency-steps,
  .agency-definition { grid-column: 1; }
  .early-heading { grid-template-columns: 40px 1fr; }
  .atlas-early .atlas-prose { padding: 28px 0 0; border-left: 0; border-top: 1px solid #c8c7bd; }
  .tensor-intro,
  .tensor-panel { padding: 80px 20px; }
  .atlas-ecosystem,
  .atlas-models,
  .atlas-control,
  .atlas-future,
  .atlas-invisible { padding: 80px 20px; }
  .atlas-wide-heading { grid-template-columns: 1fr; }
  .atlas-wide-heading .atlas-kicker,
  .atlas-wide-heading h2 { grid-column: 1; }
  .atlas-wide-heading .atlas-section-no { margin-bottom: 28px; }
  .ecosystem-grid { margin: 54px 0 0; grid-template-columns: 1fr; }
  .ecosystem-grid p { padding: 18px 0; border-bottom: 1px solid var(--line); }
  .ecosystem-grid p + p { padding-left: 0; border-left: 0; }
  .models-heading { grid-template-columns: 1fr; gap: 30px; }
  .model-card { padding: 24px; }
  .control-list div { grid-template-columns: 82px 1fr; }
  .outcome-list { grid-template-columns: 1fr; }
  .outcome-list span:nth-child(odd) { border-right: 0; }
  .atlas-footer { grid-template-columns: 1fr; align-items: start; }
  .atlas-footer p,
  .atlas-footer a { justify-self: start; }
}

/* Official company-site expansion ---------------------------------------- */
.section-label { margin: 0; color: var(--green-dark); font: 600 10px/1 "IBM Plex Mono", monospace; letter-spacing: .14em; }
.hero-tensor-link { width: fit-content; margin-top: 32px; padding-bottom: 7px; border-bottom: 1px solid #767b6c; color: #21231e; font: 600 12px/1 "Inter", sans-serif; text-decoration: none; }.hero-tensor-link span { margin-left: 30px; color: var(--green-dark); transition: transform .25s ease; }.hero-tensor-link:hover span { display: inline-block; transform: translateX(5px); }
.company-intro, .technology-section, .company-thesis, .careers-section, .application-section, .contact-section { padding: clamp(92px, 12vw, 172px) clamp(24px, 6vw, 100px); }
.company-intro { background: var(--ink); color: var(--text); }.company-intro .section-label, .careers-section .section-label, .application-section .section-label { color: var(--green); }.company-intro-main { margin-top: clamp(52px, 8vw, 110px); display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .55fr); gap: clamp(48px, 10vw, 180px); align-items: end; }.company-intro h2, .technology-heading h2, .company-thesis h2, .careers-heading h2, .application-intro h2, .contact-section h2 { margin: 0; font: 400 clamp(52px, 6.4vw, 106px)/.93 Georgia, "Times New Roman", serif; letter-spacing: -.06em; }.company-intro-main > p, .technology-heading > p, .company-thesis > div > p, .careers-heading > p, .application-intro > p, .contact-section > p { margin: 0; color: #b8bab0; font-size: 14px; line-height: 1.75; }.company-principles { margin-top: clamp(70px, 10vw, 130px); display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }.company-principles article { min-height: 210px; padding: 24px 30px 0 0; }.company-principles article + article { padding-left: 30px; border-left: 1px solid var(--line); }.company-principles span { color: var(--green); font: 600 9px/1 "IBM Plex Mono", monospace; }.company-principles h3 { margin: 46px 0 15px; font-size: 12px; letter-spacing: .05em; }.company-principles p { max-width: 280px; margin: 0; color: #a8aaa1; font-size: 13px; line-height: 1.65; }
.tensor-story-copy { justify-content: center; }.tensor-product-label { margin-bottom: 32px; }.tensor-story-words { min-height: clamp(300px, 31vw, 440px); }.tensor-story-words > article { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; opacity: 0; transform: translateX(-96px); transition: opacity .52s ease, transform .88s cubic-bezier(.16,1,.3,1); }.tensor-story-words > article.is-active { opacity: 1; transform: translateX(0); }.tensor-story-words > article.is-exiting { opacity: 0; transform: translateX(96px); }.tensor-story-words article > p { margin: 0 0 17px; color: var(--green-dark); font: 600 10px/1 "IBM Plex Mono", monospace; letter-spacing: .14em; }.tensor-story-words h2 { position: static; max-width: 560px; margin: 0; display: block; color: #171815; font: 400 clamp(50px, 5.6vw, 92px)/.88 Georgia, "Times New Roman", serif; letter-spacing: -.065em; opacity: 1; transform: none; }.tensor-story-words article > small { max-width: 410px; margin-top: 26px; color: #62655d; font-size: 13px; line-height: 1.65; }.atlas-tensor-story[data-direction="backward"] .tensor-story-words > article { transform: translateX(96px); }.atlas-tensor-story[data-direction="backward"] .tensor-story-words > article.is-exiting { transform: translateX(-96px); }.atlas-tensor-story[data-direction="backward"] .tensor-story-words > article.is-active { transform: translateX(0); }
.technology-section { background: var(--paper); color: #171815; }.technology-heading { margin: clamp(52px, 7vw, 100px) 0 clamp(60px, 9vw, 130px); display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(260px, .5fr); gap: clamp(40px, 9vw, 150px); align-items: end; }.technology-heading > p { color: #55584f; }.technology-map { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid #bfc0b5; border-bottom: 1px solid #bfc0b5; }.technology-map article { min-height: 245px; padding: 22px 20px 20px; }.technology-map article + i + article { border-left: 1px solid #bfc0b5; }.technology-map i { display: none; }.technology-map span { color: var(--green-dark); font: 600 9px/1 "IBM Plex Mono", monospace; }.technology-map h3 { margin: 66px 0 13px; font-size: 12px; letter-spacing: .06em; }.technology-map p { max-width: 210px; margin: 0; color: #5c6056; font-size: 12px; line-height: 1.65; }
.company-thesis { background: #171815; color: #f1f1e9; }.company-thesis .section-label { color: var(--green); }.company-thesis > div { margin-top: clamp(52px, 8vw, 110px); display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(260px, .45fr); gap: clamp(45px, 10vw, 180px); align-items: end; }.company-thesis h2 span { color: var(--green); }.company-thesis > div > p { color: #b3b5ab; }
.careers-section { background: var(--paper); color: #171815; }.careers-heading { margin-top: clamp(50px, 7vw, 95px); display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(260px, .45fr); gap: clamp(45px, 10vw, 180px); align-items: end; }.careers-heading > p { color: #55584f; }.interest-areas { margin-top: clamp(72px, 10vw, 130px); padding-top: 20px; border-top: 1px solid #c2c3b9; display: grid; grid-template-columns: .75fr 1.25fr; gap: 30px; }.interest-areas > p { margin: 0; color: #69705d; font: 600 9px/1.4 "IBM Plex Mono", monospace; letter-spacing: .12em; }.interest-areas > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 24px; }.interest-areas span { padding: 17px 0; border-bottom: 1px solid #c2c3b9; font: 400 clamp(18px, 1.6vw, 26px)/1.1 Georgia, serif; }.careers-action { margin-top: 62px; padding-top: 26px; border-top: 1px solid #c2c3b9; display: flex; align-items: end; justify-content: space-between; gap: 30px; }.careers-action h3 { margin: 0 0 10px; font: 400 29px/1 Georgia, serif; }.careers-action p { max-width: 430px; margin: 0; color: #5a5d55; font-size: 13px; line-height: 1.6; }.careers-action a, .application-form button { width: fit-content; min-height: 52px; padding: 0 20px; display: inline-flex; align-items: center; gap: 35px; border: 0; border-radius: 8px; background: var(--green-dark); color: #f5f5ed; font: 700 11px/1 "Inter", sans-serif; text-decoration: none; cursor: pointer; }.careers-action a span, .application-form button span { transition: transform .25s ease; }.careers-action a:hover span, .application-form button:hover span { transform: translateX(5px); }
.application-section { background: #191a17; color: #f0f0e8; }.application-intro { margin: clamp(46px, 7vw, 96px) 0 55px; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(260px, .45fr); gap: clamp(45px, 10vw, 180px); align-items: end; }.application-form { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 22px; }.application-form label { display: grid; gap: 10px; color: #c3c5bc; font: 600 10px/1 "IBM Plex Mono", monospace; letter-spacing: .08em; }.application-form .form-wide { grid-column: 1 / -1; }.application-form input, .application-form select, .application-form textarea { width: 100%; border: 0; border-bottom: 1px solid #707268; border-radius: 0; background: transparent; color: #f0f0e8; padding: 10px 0; outline: none; font: 400 15px/1.5 "Inter", sans-serif; }.application-form select option { color: #171815; }.application-form textarea { resize: vertical; }.application-form input[type="file"] { color: #aeb0a7; font-size: 11px; }.application-form button { margin-top: 8px; }.form-status { grid-column: 1 / -1; min-height: 20px; margin: 0; color: #bac3a5; font-size: 12px; line-height: 1.5; }.contact-section { background: var(--paper); color: #171815; }.contact-section h2 { margin-top: clamp(46px, 7vw, 96px); }.contact-section > p:last-child { margin-top: 25px; color: #55584f; }
.atlas-footer-links span { color: #80837a; font-size: 10px; letter-spacing: .05em; }.footer-legal-label { margin-top: 18px !important; }
.application-back { display: inline-block; margin-bottom: clamp(55px, 8vw, 110px); color: #aab29a; font: 600 10px/1 "IBM Plex Mono", monospace; letter-spacing: .08em; text-decoration: none; }.application-back:hover { color: #f0f0e8; }.application-intro h1 { margin: 0; font: 400 clamp(52px, 6.4vw, 106px)/.93 Georgia, "Times New Roman", serif; letter-spacing: -.06em; }

/* Information-led motion: rules and systems resolve as their section enters. */
.company-intro, .technology-section, .company-thesis, .careers-section { --system-line: 0; }.company-intro.is-in-view, .technology-section.is-in-view, .company-thesis.is-in-view, .careers-section.is-in-view { --system-line: 1; }.company-principles, .technology-map, .interest-areas { position: relative; }.company-principles::before, .technology-map::before, .interest-areas::before { content: ""; position: absolute; left: 0; top: -1px; width: 100%; height: 1px; background: currentColor; transform: scaleX(var(--system-line)); transform-origin: left; transition: transform 1150ms cubic-bezier(.16,1,.3,1); }.company-principles article, .technology-map article, .interest-areas span { transition: color 500ms ease, transform 700ms cubic-bezier(.16,1,.3,1); }.company-intro.is-in-view .company-principles article:nth-child(2), .technology-section.is-in-view .technology-map article:nth-of-type(2), .careers-section.is-in-view .interest-areas span:nth-child(even) { transform: translateY(-5px); }.technology-map article { position: relative; }.technology-map article::after { content: ""; position: absolute; right: -1px; bottom: 0; width: 1px; height: calc(var(--system-line) * 100%); background: #aeb0a5; transform-origin: bottom; transition: height 900ms cubic-bezier(.16,1,.3,1); }.technology-map article:last-child::after { display: none; }
@media (max-width: 760px) { .idrok-nav a:last-child { display: none; }.company-intro-main, .technology-heading, .company-thesis > div, .careers-heading, .application-intro { grid-template-columns: 1fr; }.company-principles { grid-template-columns: 1fr; }.company-principles article, .company-principles article + article { min-height: auto; padding: 24px 0; border-left: 0; border-bottom: 1px solid var(--line); }.company-principles h3 { margin-top: 28px; }.technology-map { grid-template-columns: 1fr; }.technology-map article + i + article { border-left: 0; border-top: 1px solid #bfc0b5; }.technology-map article { min-height: 0; padding: 25px 0; }.technology-map h3 { margin-top: 28px; }.interest-areas { grid-template-columns: 1fr; }.interest-areas > div { grid-template-columns: 1fr 1fr; }.careers-action { display: grid; align-items: start; }.application-form { grid-template-columns: 1fr; }.application-form .form-wide { grid-column: auto; }.tensor-story-sticky { padding-top: 62px; }.tensor-product-label { margin-bottom: 22px; }.tensor-story-words { min-height: auto; display: grid; gap: 42px; }.tensor-story-words > article { position: relative; display: block; opacity: 1; transform: none; }.tensor-story-words > article:not(.is-active) { display: block; }.tensor-story-media { height: auto; min-height: 0; display: grid; gap: 20px; aspect-ratio: auto; margin-top: 30px; }.tensor-story-frame { position: relative; min-height: 300px; opacity: 1; transform: none; pointer-events: auto; }.tensor-story-frame:not(.is-active) { display: block; } }
@media (prefers-reduced-motion: reduce) { .company-principles::before, .technology-map::before { transition: none; transform: scaleX(1); }.technology-map article::after { transition: none; height: 100%; }.company-principles article, .technology-map article, .interest-areas span { transition: none; transform: none !important; } }
@media (prefers-reduced-motion: reduce) { .idrok-header { transition: none; } }

/* Pinned Tensor story: one scroll step reveals one capability. */
.atlas-tensor-story { height: 600svh; background: var(--paper); color: #171815; }
.tensor-story-sticky { position: sticky; top: 0; height: 100svh; padding: clamp(28px, 4vw, 68px) clamp(24px, 6vw, 100px); display: grid; grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr); gap: clamp(36px, 6vw, 100px); align-items: center; overflow: hidden; border-bottom: 1px solid #c8c7bd; }
.tensor-story-copy { position: relative; z-index: 2; align-self: stretch; display: flex; flex-direction: column; justify-content: center; }.tensor-story-words { position: relative; min-height: clamp(155px, 20vw, 285px); }.tensor-story-words h2 { position: absolute; inset: 0; max-width: 550px; margin: 0; display: flex; flex-direction: column; justify-content: center; color: #171815; font: 400 clamp(50px, 5.6vw, 92px)/.88 Georgia, "Times New Roman", serif; letter-spacing: -.065em; opacity: 0; transform: translateX(-96px); transition: opacity .52s ease, transform .88s cubic-bezier(.16,1,.3,1); }.tensor-story-words h2 span { color: var(--green-dark); }.tensor-story-words h2.is-active { opacity: 1; transform: translateX(0); }.tensor-story-words h2.is-exiting { opacity: 0; transform: translateX(96px); }.atlas-tensor-story[data-direction="backward"] .tensor-story-words h2 { transform: translateX(96px); }.atlas-tensor-story[data-direction="backward"] .tensor-story-words h2.is-exiting { transform: translateX(-96px); }.atlas-tensor-story[data-direction="backward"] .tensor-story-words h2.is-active { transform: translateX(0); }.tensor-story-copy .tensor-try-button { width: fit-content; min-height: 52px; margin-top: 34px; padding: 0 20px; display: inline-flex; align-items: center; gap: 24px; border: 1px solid var(--green-dark); border-radius: 9px; background: var(--green-dark); color: #f7f7f0; font-size: 12px; font-weight: 700; text-decoration: none; transition: transform .25s ease, background .25s ease, box-shadow .25s ease; }.tensor-story-copy .tensor-try-button:hover { background: #425131; transform: translateY(-3px); box-shadow: 0 11px 22px rgba(58,74,39,.2); }
.tensor-story-media { position: relative; height: auto; min-height: 0; aspect-ratio: 1.93 / 1; }.tensor-story-frame { position: absolute; inset: 0; margin: 0; overflow: hidden; border: 1px solid #c2c3b8; border-radius: 18px; background: #151714; box-shadow: 0 24px 65px rgba(27,30,23,.14); opacity: 0; transform: translateY(72px) scale(.97); pointer-events: none; transition: opacity .58s ease, transform .92s cubic-bezier(.16,1,.3,1); }.tensor-story-frame.is-active { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }.tensor-story-frame img { width: 100%; height: 100%; display: block; object-fit: contain; object-position: center; }.tensor-story-frame:nth-child(4) { background: #10110f; }.tensor-story-frame:nth-child(4) img { object-fit: contain; }

/* Idrok product-story interfaces — rebuilt as live UI rather than screenshots. */
.idrok-dashboard-frame, .idrok-employees-frame { display: grid; grid-template-columns: 22% 1fr; color: #e5e6de; font-family: "Inter", sans-serif; }
.idrok-app-sidebar { position: relative; padding: clamp(14px, 1.8vw, 25px); border-right: 1px solid rgba(255,255,255,.11); background: #11130f; }
.idrok-app-brand { color: #dce3cf; font: 700 clamp(9px, .82vw, 13px)/1 "IBM Plex Mono", monospace; letter-spacing: .1em; }.idrok-app-brand span { display: block; margin-top: 5px; color: #8f9c79; font-size: .63em; letter-spacing: .25em; }
.idrok-workspace-select { margin-top: clamp(18px, 2.2vw, 31px); padding: 10px; border: 1px solid rgba(255,255,255,.12); border-radius: 6px; color: #d4d7ce; font-size: clamp(7px, .68vw, 10px); }.idrok-workspace-select b { float: right; }
.idrok-app-menu { margin-top: 13px; display: grid; gap: 4px; }.idrok-app-menu span { padding: 9px 8px; border-radius: 5px; color: #8e9289; font-size: clamp(7px, .68vw, 10px); }.idrok-app-menu .is-selected { background: #2b2e29; color: #f2f2eb; }.idrok-app-sidebar > small { position: absolute; bottom: 17px; color: #d5d8cf; font-size: clamp(6px, .57vw, 8px); line-height: 1.4; }.idrok-app-sidebar > small em { color: #778967; font-style: normal; }
.idrok-app-main { min-width: 0; padding: clamp(18px, 2.5vw, 34px); }.idrok-app-top { display: flex; justify-content: space-between; gap: 18px; }.idrok-app-top p, .idrok-roster > p, .idrok-approvals > p { margin: 0 0 8px; color: #929a87; font: 600 clamp(6px, .56vw, 8px)/1 "IBM Plex Mono", monospace; letter-spacing: .13em; }.idrok-app-top h3 { margin: 0; color: #f1f1e9; font: 400 clamp(20px, 2.3vw, 34px)/1 Georgia, serif; letter-spacing: -.05em; }.idrok-app-top > div > small { display: block; margin-top: 7px; color: #969a90; font-size: clamp(7px, .65vw, 10px); }.idrok-app-top button { height: fit-content; padding: 10px 13px; border: 0; border-radius: 6px; background: #f0f0e9; color: #1a1c18; font-size: clamp(7px, .65vw, 10px); font-weight: 700; white-space: nowrap; }
.idrok-stat-grid { margin-top: clamp(17px, 2.2vw, 30px); display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }.idrok-stat-grid > div, .idrok-roster, .idrok-approvals, .idrok-employee-grid article { padding: clamp(10px, 1.25vw, 17px); border: 1px solid rgba(255,255,255,.1); border-radius: 7px; background: rgba(255,255,255,.025); }.idrok-stat-grid span, .idrok-stat-grid small { display: block; color: #878c83; font-size: clamp(6px, .5vw, 8px); }.idrok-stat-grid b { display: block; margin: 7px 0 5px; color: #ecece4; font-size: clamp(13px, 1.2vw, 18px); }.idrok-stat-grid div:nth-child(2) small { color: #88a065; }
.idrok-dashboard-bottom { margin-top: 18px; display: grid; grid-template-columns: 1.65fr .85fr; gap: 10px; }.idrok-dashboard-bottom h4 { margin: 0 0 14px; font-size: clamp(10px, .9vw, 13px); }.idrok-roster span { display: block; padding: 8px 0; border-top: 1px solid rgba(255,255,255,.08); color: #d6d8d0; font-size: clamp(7px, .62vw, 9px); }.idrok-roster span b, .idrok-employee-grid article > b { display: inline-grid; width: 18px; height: 18px; place-items: center; margin-right: 8px; border-radius: 4px; background: #293123; color: #aabb82; font-size: 8px; }.idrok-roster span em { float: right; color: #97aa78; font-style: normal; }.idrok-approvals { display: flex; flex-direction: column; }.idrok-approvals span { margin: auto 0; color: #a0a49b; font-size: clamp(7px, .64vw, 10px); text-align: center; }
.idrok-employees-main { padding-top: clamp(18px, 2.5vw, 34px); }.idrok-employee-grid { margin-top: clamp(18px, 2vw, 29px); display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }.idrok-employee-grid article { min-height: clamp(108px, 12vw, 165px); position: relative; }.idrok-employee-grid article > b { float: left; }.idrok-employee-grid h4 { margin: 1px 0 2px; color: #e8e9e1; font-size: clamp(8px, .72vw, 11px); }.idrok-employee-grid h4 i { float: right; color: #dfe1d8; font-size: .7em; font-style: normal; }.idrok-employee-grid > article > span { color: #858a80; font-size: clamp(6px, .54vw, 8px); }.idrok-employee-grid p { margin: clamp(13px, 1.3vw, 18px) 0; color: #a6b6a0; font-size: clamp(6px, .56vw, 8px); }.idrok-employee-grid small { position: absolute; bottom: 11px; left: clamp(10px, 1.25vw, 17px); right: clamp(10px, 1.25vw, 17px); padding-top: 9px; border-top: 1px solid rgba(255,255,255,.08); color: #7f857c; font-size: clamp(6px, .5vw, 8px); }.idrok-employee-grid small em { float: right; color: #b9bcb5; font-style: normal; }
.tensor-os-frame { padding: clamp(18px, 3vw, 34px); display: flex; flex-direction: column; background: #11130f; color: #f3f3eb; }.tensor-os-top { padding-bottom: 14px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.12); }.tensor-os-top strong { font: 400 clamp(24px, 3vw, 39px)/1 Georgia, "Times New Roman", serif; }.tensor-os-top span { color: #9fa795; font: 600 9px/1 "IBM Plex Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }.tensor-os-top i { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: #64dc87; }.tensor-os-chat { flex: 1; min-height: 0; overflow: hidden; padding: 16px 8% 12px; display: flex; flex-direction: column; gap: 13px; }.os-message { margin: 0; border: 1px solid rgba(255,255,255,.16); border-radius: 14px; font-size: clamp(11px, 1.08vw, 14px); line-height: 1.42; }.os-message-user { align-self: flex-end; max-width: 59%; padding: 11px 14px; border-color: #74845a; background: rgba(83,100,62,.35); }.os-message-ai { align-self: flex-start; max-width: 79%; padding: 15px 16px; background: #1b1e18; }.os-message-ai b { color: #aebb8b; font: 600 9px/1 "IBM Plex Mono", monospace; letter-spacing: .12em; }.os-message-ai p { margin: 10px 0 0; }.os-capabilities { margin-top: 13px; display: flex; gap: 6px; }.os-capabilities span { padding: 5px 7px; border: 1px solid rgba(158,174,120,.28); border-radius: 5px; color: #afba9b; font: 600 7px/1 "IBM Plex Mono", monospace; letter-spacing: .09em; }.tensor-os-compose { flex: 0 0 52px; min-height: 52px; padding: 0 13px 0 18px; display: flex; align-items: center; justify-content: space-between; border: 1px solid #77865c; border-radius: 11px; color: #8e9587; font-size: 11px; }.tensor-os-compose b { padding: 10px 12px; border-radius: 8px; background: #252a20; color: #e6eadc; letter-spacing: -.12em; }
.tensor-story-media .tensor-telegram-flow { min-height: 0; display: block; }.tensor-story-media .telegram-connect-card { left: 6%; top: 18%; width: min(245px, 39%); }.tensor-story-media .telegram-ai-card { right: 6%; top: 17%; width: min(330px, 47%); }.tensor-story-media .telegram-flow-line { left: 44%; right: 43%; top: 50%; }.tensor-story-media .telegram-caption { left: 6%; bottom: 9%; max-width: 340px; }
.tensor-story-progress { position: absolute; z-index: 3; bottom: clamp(25px, 4vw, 56px); left: clamp(24px, 6vw, 100px); display: flex; gap: 8px; }.tensor-story-progress i { width: 28px; height: 2px; background: #c9c9bf; transition: width .45s ease, background .45s ease; }.tensor-story-progress i.is-active { width: 52px; background: var(--green-dark); }
@media (max-width: 760px) { .atlas-tensor-story { height: auto; }.tensor-story-sticky { position: relative; height: auto; min-height: 100svh; grid-template-columns: 1fr; padding-block: 72px; }.tensor-story-words { min-height: 135px; }.tensor-story-media { height: 58vh; min-height: 390px; }.tensor-story-frame { position: absolute; }.tensor-story-progress { top: 28px; bottom: auto; }.tensor-story-media .telegram-connect-card { left: 5%; top: 12%; width: 48%; }.tensor-story-media .telegram-ai-card { right: 5%; top: 44%; width: 67%; }.tensor-story-media .telegram-flow-line { left: 43%; right: 9%; top: 45%; transform: rotate(42deg); } }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal-ready [data-atlas-reveal] { opacity: 1; transform: none; transition: none; }
  .model-card.is-visible .model-icon,
  .closing-glyph.is-visible { animation: none; }
  .model-icon path,
  .model-icon circle,
  .model-icon rect,
  .closing-glyph path,
  .closing-glyph circle { stroke-dashoffset: 0; transition: none; animation: none; }
}

/* Atlas editorial system — compact, informative, and intentionally non-presentational. */
.atlas-hero {
  min-height: 680px;
  padding: clamp(74px, 8vw, 116px) clamp(24px, 6vw, 100px) clamp(50px, 6vw, 84px);
}
.atlas-hero-grid {
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, .72fr);
  gap: clamp(58px, 9vw, 150px);
}
.atlas-hero-title h1 {
  font-size: clamp(76px, 10.5vw, 158px);
  line-height: .82;
  letter-spacing: -.065em;
}
.atlas-hero-title > p {
  max-width: 700px;
  margin: 34px 0 0;
  color: #4f5c3f;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(22px, 2.25vw, 36px);
  line-height: 1.16;
}
.atlas-hero-copy { max-width: 470px; padding: 18px 0 0; }
.atlas-hero-copy > p { font-size: clamp(17px, 1.35vw, 21px); line-height: 1.58; }
.atlas-scroll-cue { margin-top: clamp(48px, 7vw, 88px); padding-top: 0; }

.atlas-questions {
  padding: clamp(76px, 8vw, 124px) clamp(24px, 6vw, 100px);
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(460px, 1.28fr);
  gap: clamp(60px, 10vw, 170px);
  border-bottom: 1px solid var(--line);
  background: var(--ink);
}
.questions-intro { align-self: start; }
.questions-intro h2 {
  max-width: 600px;
  margin: 18px 0 24px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(38px, 4.3vw, 66px);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -.045em;
}
.questions-intro > p:last-child {
  max-width: 460px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.75;
}
.question-bank { border-top: 1px solid var(--line); }
.atlas-question { border-bottom: 1px solid var(--line); }
.atlas-question button {
  width: 100%;
  min-height: 82px;
  padding: 20px 2px;
  display: grid;
  grid-template-columns: 1fr 28px;
  align-items: center;
  gap: 26px;
  border: 0;
  background: transparent;
  color: var(--text);
  font: inherit;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(19px, 1.7vw, 26px);
  line-height: 1.25;
  text-align: left;
  cursor: pointer;
  transition: color var(--motion-duration-fast) var(--motion-ease-standard), padding-left var(--motion-duration-base) var(--motion-ease-standard);
}
.atlas-question button:hover { color: var(--green); padding-left: 8px; }
.atlas-question button i {
  position: relative;
  width: 18px;
  height: 18px;
  justify-self: end;
}
.atlas-question button i::before,
.atlas-question button i::after {
  content: "";
  position: absolute;
  left: 1px;
  top: 8px;
  width: 16px;
  height: 1px;
  background: currentColor;
  transition: transform var(--motion-duration-base) var(--motion-ease-enter);
}
.atlas-question button i::after { transform: rotate(90deg); }
.atlas-question.is-open button { color: var(--green); }
.atlas-question.is-open button i::after { transform: rotate(0); }
.atlas-answer {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows 380ms cubic-bezier(.2,.8,.2,1), opacity 240ms ease;
}
.atlas-answer > div { overflow: hidden; }
.atlas-answer p {
  max-width: 720px;
  margin: 0;
  padding: 0 46px 26px 2px;
  color: #b7b9b0;
  font-size: 13px;
  line-height: 1.75;
}
.atlas-question.is-open .atlas-answer { grid-template-rows: 1fr; opacity: 1; }

.atlas-tensor { min-height: auto; }
.tensor-intro,
.tensor-panel { padding: clamp(76px, 8vw, 118px) clamp(28px, 6vw, 100px); }
.tensor-intro { justify-content: center; }
.tensor-intro h2 { margin: 0; font-size: clamp(48px, 5.3vw, 82px); }
.tensor-intro h2 small {
  margin: 22px 0 0 3px;
  display: block;
  color: #55584f;
  font-family: "IBM Plex Mono", monospace;
  font-size: 10px;
  font-weight: 600;
  font-style: normal;
  letter-spacing: .14em;
}
.tensor-intro h2 small em { color: var(--green-dark); font-style: normal; }

.atlas-models { padding: clamp(78px, 8vw, 124px) clamp(24px, 6vw, 100px); }
.models-heading { margin-bottom: 48px; }
.model-card { min-height: 570px; }
.model-icon {
  width: 134px;
  height: 134px;
  margin-bottom: 26px;
  color: #20211e;
}
.model-card.compas { --model-fill: #9ccbeb; --model-accent: #df4138; }
.model-card.vector { --model-fill: #aae6b6; --model-accent: #20211e; }
.model-card.apex { --model-fill: #d96b63; --model-accent: #20211e; }
.model-icon path,
.model-icon circle,
.model-icon rect {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  fill: none;
  stroke: #20211e;
}
.model-icon .model-surface { fill: var(--model-fill); fill-opacity: 0; }
.model-icon .model-node { fill: #f4f2eb; fill-opacity: 0; }
.model-icon .model-accent { stroke: var(--model-accent); }
.model-card.is-visible .model-icon path,
.model-card.is-visible .model-icon circle,
.model-card.is-visible .model-icon rect {
  animation-name: model-stroke-draw;
  animation-duration: 1250ms;
  animation-timing-function: cubic-bezier(.25,.75,.25,1);
  animation-fill-mode: forwards;
}
.model-card.is-visible .model-icon .model-surface {
  animation-name: model-stroke-draw, model-surface-fill;
  animation-duration: 1250ms, 480ms;
  animation-delay: 0ms, 340ms;
  animation-timing-function: cubic-bezier(.25,.75,.25,1), ease;
  animation-fill-mode: forwards, forwards;
}
.model-card.is-visible .model-icon .model-node {
  animation-name: model-stroke-draw, model-node-fill;
  animation-duration: 1250ms, 280ms;
  animation-timing-function: cubic-bezier(.25,.75,.25,1), ease;
  animation-fill-mode: forwards, forwards;
}
.model-card.is-visible .model-icon > :nth-child(2) { animation-delay: 160ms, 520ms; }
.model-card.is-visible .model-icon > :nth-child(3) { animation-delay: 280ms, 650ms; }
.model-card.is-visible .model-icon > :nth-child(4) { animation-delay: 400ms, 770ms; }
@keyframes model-surface-fill { to { fill-opacity: 1; } }
@keyframes model-node-fill { to { fill-opacity: 1; } }
@keyframes model-stroke-draw {
  from { stroke-dashoffset: 1; }
  to { stroke-dashoffset: 0; }
}

.atlas-closing {
  min-height: 540px;
  padding: clamp(90px, 10vw, 150px) clamp(24px, 6vw, 100px);
}
.atlas-closing h2 {
  max-width: 980px;
  margin-bottom: 48px;
  font-size: clamp(40px, 5vw, 70px);
}

@media (max-width: 980px) {
  .atlas-hero { min-height: auto; }
  .atlas-questions { grid-template-columns: 1fr; gap: 46px; }
  .question-bank { max-width: none; }
  .model-card { min-height: 480px; }
}

@media (max-width: 650px) {
  .atlas-hero { min-height: auto; padding: 64px 20px 46px; }
  .atlas-hero-title h1 { font-size: clamp(68px, 25vw, 108px); }
  .atlas-hero-title > p { margin-top: 24px; }
  .atlas-hero-grid { gap: 42px; }
  .atlas-scroll-cue { margin-top: 48px; }
  .atlas-questions { padding: 72px 20px; gap: 38px; }
  .atlas-question button { min-height: 72px; padding-block: 17px; }
  .atlas-answer p { padding-right: 20px; }
  .tensor-intro,
  .tensor-panel { padding: 72px 20px; }
  .atlas-models { padding: 72px 20px; }
  .model-icon { width: 116px; height: 116px; }
  .atlas-closing { min-height: 480px; padding: 84px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .model-icon path,
  .model-icon circle,
  .model-icon rect { stroke-dashoffset: 0; }
  .model-icon .model-surface,
  .model-icon .model-node { fill-opacity: 1; }
  .model-card.is-visible .model-icon path,
  .model-card.is-visible .model-icon circle,
  .model-card.is-visible .model-icon rect { animation: none; }
  .atlas-answer { transition: none; }
}

/* 2026-08-22 — compact Atlas editorial experience */
.atlas-hero {
  min-height: auto;
  padding: clamp(62px, 7vw, 96px) clamp(24px, 6vw, 100px) 42px;
}
.atlas-hero-grid {
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .62fr);
  align-items: end;
  gap: clamp(48px, 8vw, 128px);
}
.atlas-hero-title h1 {
  font-family: "Inter", sans-serif;
  font-size: clamp(76px, 12vw, 182px);
  font-weight: 700;
  line-height: .78;
  letter-spacing: .105em;
}
.atlas-hero-title > p {
  max-width: 640px;
  margin-top: 38px;
  font-size: clamp(23px, 2.35vw, 37px);
  letter-spacing: -.035em;
}
.atlas-hero-copy { padding: 0 0 2px; }
.atlas-hero-copy > p { font-family: "Inter", sans-serif; font-size: 14px; line-height: 1.75; }
.atlas-hero-facts { margin: 32px 0 0; border-top: 1px solid #c7c7be; }
.atlas-hero-facts div {
  padding: 11px 0;
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 12px;
  border-bottom: 1px solid #c7c7be;
}
.atlas-hero-facts dt,
.atlas-hero-facts dd { margin: 0; font-family: "IBM Plex Mono", monospace; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.atlas-hero-facts dt { color: var(--green-dark); }
.atlas-thesis-rail {
  width: calc(100% + clamp(48px, 12vw, 200px));
  margin: clamp(46px, 5vw, 70px) calc(-1 * clamp(24px, 6vw, 100px)) 0;
  overflow: hidden;
  border-top: 1px solid #c7c7be;
  border-bottom: 1px solid #c7c7be;
}
.atlas-thesis-rail > div {
  width: max-content;
  padding: 13px 0;
  display: flex;
  align-items: center;
  gap: 28px;
  color: #64665e;
  font-family: "IBM Plex Mono", monospace;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .14em;
  animation: atlas-rail 26s linear infinite;
}
.atlas-thesis-rail i { color: var(--green-dark); font-style: normal; }
@keyframes atlas-rail { to { transform: translateX(-50%); } }
.atlas-scroll-cue { margin-top: 28px; padding-top: 0; }

.atlas-questions {
  padding: clamp(64px, 7vw, 100px) clamp(24px, 6vw, 100px);
  grid-template-columns: minmax(250px, .7fr) minmax(440px, 1.3fr);
  gap: clamp(46px, 8vw, 130px);
}
.questions-intro { position: sticky; top: 118px; }
.questions-intro h2 { font-size: clamp(35px, 3.6vw, 54px); line-height: 1.05; }
.atlas-question button { min-height: 72px; font-size: clamp(18px, 1.5vw, 23px); }

.atlas-tensor { min-height: auto; }
.tensor-intro,
.tensor-panel { padding: clamp(60px, 6.5vw, 92px) clamp(28px, 6vw, 100px); }
.tensor-intro h2 { font-size: clamp(44px, 4.7vw, 70px); }
.tensor-panel > p { margin-bottom: 24px; }
.tensor-panel .tensor-lead { margin-bottom: 28px; font-size: clamp(25px, 2.35vw, 35px); }
.tensor-roles { margin-block: 10px 26px; }

.atlas-models { padding: clamp(64px, 7vw, 100px) clamp(24px, 6vw, 100px); }
.models-heading { margin-bottom: 36px; }
.models-heading h2 { font-size: clamp(35px, 3.7vw, 56px); }
.model-grid { gap: 14px; }
.model-card {
  min-height: 590px;
  padding: 0;
  border-radius: 14px;
  background: #e4e0d5;
}
.model-card::before { z-index: 3; }
.model-visual {
  height: 210px;
  margin: 0 0 25px;
  display: grid;
  place-items: center;
  overflow: visible;
  border-bottom: 1px solid #c8c5ba;
  background: #9ccbeb;
}
.model-card.vector .model-visual { background: #aae6b6; }
.model-card.apex .model-visual { background: #d96b63; }
.model-icon {
  width: 156px;
  height: 156px;
  margin: 0;
  overflow: visible;
  color: #20211e;
}
.model-icon path,
.model-icon circle,
.model-icon rect {
  opacity: 1;
  stroke: #20211e;
  stroke-dasharray: none;
  stroke-dashoffset: 0;
}
.model-icon .model-surface { fill: var(--model-fill); fill-opacity: 1; }
.model-icon .model-node { fill: #f4f2eb; fill-opacity: 1; }
.model-icon .model-accent { stroke: var(--model-accent); }
.model-card.is-visible .model-icon path,
.model-card.is-visible .model-icon circle,
.model-card.is-visible .model-icon rect,
.model-card.is-visible .model-icon .model-surface,
.model-card.is-visible .model-icon .model-node { animation: none; }
.reveal-ready .model-card .model-icon { opacity: .22; clip-path: inset(0 100% 0 0); }
.reveal-ready .model-card.is-visible .model-icon { animation: atlas-model-reveal 1050ms cubic-bezier(.2,.8,.2,1) 180ms both; }
@keyframes atlas-model-reveal {
  0% { opacity: .22; clip-path: inset(0 100% 0 0); transform: translateY(7px); }
  100% { opacity: 1; clip-path: inset(-10% -10% -10% -10%); transform: translateY(0); }
}
.model-index,
.model-card h3,
.model-description,
.model-detail-link { margin-left: 28px; margin-right: 28px; }
.model-card h3 { font-size: clamp(28px, 2.25vw, 36px); }
.model-card .model-description { font-size: 14px; line-height: 1.55; }
.model-detail-link { margin-top: 17px; }
.model-meta { margin: auto 28px 18px; }
.model-button { margin: 0 28px 28px; }

.atlas-closing {
  min-height: auto;
  padding: clamp(78px, 8vw, 116px) clamp(24px, 6vw, 100px);
}
.atlas-closing h2 { max-width: 900px; margin-bottom: 38px; font-size: clamp(38px, 4.5vw, 64px); }
.atlas-footer {
  min-height: 132px;
  padding-block: 30px;
}
.atlas-footer strong {
  color: #92958b;
  font-size: 25px;
  font-weight: 700;
  letter-spacing: .18em;
}
.atlas-footer span { font-size: 9px; letter-spacing: .12em; }

@media (max-width: 980px) {
  .atlas-hero-grid { grid-template-columns: 1fr; }
  .atlas-hero-copy { max-width: 620px; }
  .questions-intro { position: static; }
  .model-card { min-height: 560px; }
}
@media (max-width: 650px) {
  .atlas-hero { padding-top: 52px; }
  .atlas-hero-title h1 { font-size: clamp(60px, 22vw, 95px); letter-spacing: .06em; }
  .atlas-questions { padding-block: 58px; }
  .model-visual { height: 186px; }
  .model-icon { width: 140px; height: 140px; }
  .atlas-footer { min-height: 190px; }
}
@media (prefers-reduced-motion: reduce) {
  .atlas-thesis-rail > div { animation: none; }
  .reveal-ready .model-card .model-icon { opacity: 1; clip-path: none; }
}

/* Final Atlas polish: compact company reading flow and always-complete model marks. */
.atlas-hero {
  padding-top: clamp(48px, 5vw, 72px);
  padding-bottom: 30px;
}
.atlas-hero-grid { align-items: center; }
.atlas-hero-title h1 { font-size: clamp(72px, 10vw, 148px); }
.atlas-hero-title > p { margin-top: 28px; }
.atlas-thesis-rail { margin-top: clamp(34px, 4vw, 52px); }
.atlas-scroll-cue { margin-top: 20px; }

.atlas-questions { padding-block: clamp(52px, 5.5vw, 76px); }
.atlas-question button { min-height: 64px; }
.atlas-tensor .tensor-intro,
.atlas-tensor .tensor-panel { padding-block: clamp(52px, 5.5vw, 76px); }
.atlas-models { padding-block: clamp(54px, 5.8vw, 82px); }
.atlas-closing { padding-block: clamp(66px, 7vw, 94px); }

.model-visual { position: relative; overflow: hidden; }
.model-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,.23) 50%, transparent 65%);
  transform: translateX(-120%);
}
.model-card.is-visible .model-visual::after { animation: atlas-model-sweep 900ms cubic-bezier(.2,.8,.2,1) 160ms both; }
@keyframes atlas-model-sweep { to { transform: translateX(120%); } }

/* Keep every frame visible at every stage; motion happens to the complete mark. */
.reveal-ready .model-card .model-icon {
  opacity: 0;
  clip-path: none;
  transform: translateY(10px) scale(.965);
}
.reveal-ready .model-card.is-visible .model-icon {
  clip-path: none;
  animation: atlas-complete-model-reveal 760ms cubic-bezier(.2,.8,.2,1) 120ms both;
}
@keyframes atlas-complete-model-reveal {
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.model-icon,
.model-icon * { overflow: visible; }

.atlas-footer strong {
  font-family: "Inter", sans-serif;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: .19em;
}
.atlas-footer span { font-size: 9px; letter-spacing: .14em; }

@media (max-width: 650px) {
  .atlas-hero { padding-top: 42px; }
  .atlas-tensor .tensor-intro,
  .atlas-tensor .tensor-panel,
  .atlas-models,
  .atlas-questions { padding-block: 52px; }
}

@media (prefers-reduced-motion: reduce) {
  .reveal-ready .model-card .model-icon,
  .reveal-ready .model-card.is-visible .model-icon { opacity: 1; transform: none; animation: none; }
  .model-card.is-visible .model-visual::after { animation: none; }
}

/* 2026 editorial Atlas system */
.atlas-hero {
  min-height: calc(100svh - 92px);
  padding: clamp(64px, 8vw, 118px) clamp(24px, 6vw, 100px) 32px;
}
.atlas-hero-wordmark {
  margin: 0 0 clamp(46px, 7vw, 98px);
  color: #20211d;
  font-size: clamp(28px, 3vw, 46px);
  font-weight: 750;
  letter-spacing: .16em;
}
.atlas-hero-grid {
  grid-template-columns: minmax(0, 1.38fr) minmax(330px, .62fr);
  align-items: center;
  gap: clamp(72px, 10vw, 180px);
}
.atlas-hero-title h1,
.atlas-hero h1 {
  max-width: 1100px;
  font-family: "Inter", sans-serif;
  font-size: clamp(55px, 7.25vw, 116px);
  font-weight: 700;
  line-height: .94;
  letter-spacing: -.065em;
}
.atlas-hero-title h1 em { display: inline; }
.atlas-hero-title h1 em::after { bottom: -.04em; height: .045em; }
.atlas-hero-copy { max-width: 620px; padding: 0; }
.atlas-hero-copy > p:first-child {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(23px, 2.2vw, 35px);
  line-height: 1.42;
  letter-spacing: -.025em;
}
.atlas-hero-copy .atlas-hero-note {
  margin-top: 30px;
  padding-top: 24px;
  border-top: 1px solid #c5c4bb;
  color: #595b53;
  font: 500 12px/1.65 "Inter", sans-serif;
}

.atlas-questions {
  width: 100%;
  min-height: 100svh;
  padding: clamp(14px, 2vw, 28px);
  display: block;
  background: var(--paper);
}
.question-stage {
  position: relative;
  min-height: calc(100svh - clamp(28px, 4vw, 56px));
  overflow: hidden;
  border-radius: clamp(18px, 2vw, 34px);
  background:
    linear-gradient(180deg, #141713 0%, #10120f 100%);
  color: var(--text);
  isolation: isolate;
  box-shadow: 0 20px 56px rgba(10,12,9,.12);
}
.question-stage::before,
.question-stage::after {
  content: "";
  position: absolute;
  width: 380px;
  height: 380px;
  border: 1px solid rgba(158,174,120,.08);
  border-radius: 50%;
}
.question-stage::before { left: -170px; top: -160px; }
.question-stage::after { right: -210px; bottom: -190px; }
.question-lines { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; pointer-events: none; }
.question-lines .question-line {
  fill: none;
  stroke: rgba(158,174,120,.44);
  stroke-width: .92;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .68;
  transition: opacity .42s ease, stroke .42s ease;
}
.question-lines .question-line.is-active {
  stroke: rgba(192,208,148,.82);
  opacity: .96;
}
.question-stage-center {
  position: absolute;
  inset: 0;
  z-index: 5;
  width: min(720px, 62vw);
  margin: auto;
  height: fit-content;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  cursor: pointer;
  transform-origin: center center;
  transition: opacity .4s ease, transform .58s cubic-bezier(.2,.8,.2,1), filter .42s ease;
}
.question-stage-center h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 5.4vw, 82px);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.052em;
}
.question-node {
  position: absolute;
  z-index: 4;
  width: min(228px, 31vw);
  max-width: 228px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #bfc4b3;
  font: 550 clamp(10px, .74vw, 12px)/1.4 "Inter", sans-serif;
  letter-spacing: .01em;
  text-align: left;
  white-space: normal;
  cursor: pointer;
  box-shadow: none;
  --node-scale: 1;
  --node-active-scale: 1.3;
  transform-origin: center center;
  transform-style: preserve-3d;
  translate: 0 0;
  rotate: 0deg;
  scale: var(--node-scale);
  animation: question-node-y var(--node-cycle, 3.2s) ease-in-out infinite;
  animation-delay: var(--node-delay, 0s);
  transition: color .24s ease, scale .48s cubic-bezier(.2,.8,.2,1), opacity .34s ease, filter .34s ease;
}
.question-node::before { content: none; }
.question-node:hover { color: #f2f1eb; }
.question-node.is-active {
  z-index: 8;
  color: #f2f1eb;
  text-shadow: 0 0 0 rgba(0,0,0,0);
  scale: var(--node-active-scale);
}
.question-node-a { left: 9%; top: 16%; }
.question-node-b { right: 8%; top: 15%; }
.question-node-c { left: 5%; bottom: 17%; }
.question-node-d { right: 6%; bottom: 15%; }
.question-node-e { left: 24%; top: 8.8%; }
.question-node-f { right: 24%; top: 9.6%; }
.question-node-g { left: 9%; top: 53%; }
.question-node-h { right: 8%; top: 52%; }
.question-node-i { left: 50%; bottom: 7%; width: min(300px, 62vw); max-width: 300px; transform: translateX(-50%) scale(var(--node-scale)); text-align: center; }
.question-node-i.is-active { transform: translateX(-50%) scale(var(--node-active-scale)); }

.question-node-a { --node-cycle: 2.5s; --node-delay: -0.4s; --mx: 0px; --my: 4px; --mr: 0deg; animation-name: question-node-y; }
.question-node-b { --node-cycle: 3s; --node-delay: -1s; --mx: 4.2px; --my: 0px; --mr: 0deg; animation-name: question-node-x; }
.question-node-c { --node-cycle: 3.5s; --node-delay: -0.9s; --mx: 3.4px; --my: 3px; --mr: 0deg; animation-name: question-node-diag; }
.question-node-d { --node-cycle: 4s; --node-delay: -1.5s; --mx: 0px; --my: 3.6px; --mr: .5deg; animation-name: question-node-tilt; }
.question-node-e { --node-cycle: 3.2s; --node-delay: -2s; --mx: 3px; --my: 2.6px; --mr: .35deg; animation-name: question-node-diag; }
.question-node-f { --node-cycle: 3.8s; --node-delay: -2.4s; --mx: 4.8px; --my: 0px; --mr: .2deg; animation-name: question-node-x; }
.question-node-g { --node-cycle: 2.9s; --node-delay: -1.6s; --mx: 0px; --my: 4.6px; --mr: .2deg; animation-name: question-node-y; }
.question-node-h { --node-cycle: 3.6s; --node-delay: -2.6s; --mx: 3.3px; --my: 3.4px; --mr: .28deg; animation-name: question-node-diag; }
.question-node-i { --node-cycle: 3.3s; --node-delay: -2.1s; --mx: 2.8px; --my: 3px; --mr: .22deg; animation-name: question-node-tilt; }

@keyframes question-node-x {
  0% { translate: calc(-1 * var(--mx, 4px)) 0; rotate: 0deg; }
  50% { translate: var(--mx, 4px) 0; rotate: 0deg; }
  100% { translate: calc(-1 * var(--mx, 4px)) 0; rotate: 0deg; }
}
@keyframes question-node-y {
  0% { translate: 0 calc(-1 * var(--my, 4px)); rotate: 0deg; }
  50% { translate: 0 var(--my, 4px); rotate: 0deg; }
  100% { translate: 0 calc(-1 * var(--my, 4px)); rotate: 0deg; }
}
@keyframes question-node-diag {
  0% { translate: calc(-1 * var(--mx, 3px)) calc(-1 * var(--my, 3px)); rotate: calc(-1 * var(--mr, .25deg)); }
  50% { translate: var(--mx, 3px) var(--my, 3px); rotate: var(--mr, .25deg); }
  100% { translate: calc(-1 * var(--mx, 3px)) calc(-1 * var(--my, 3px)); rotate: calc(-1 * var(--mr, .25deg)); }
}
@keyframes question-node-tilt {
  0% { translate: 0 calc(-1 * var(--my, 3px)); rotate: calc(-1 * var(--mr, .5deg)); }
  50% { translate: 0 var(--my, 3px); rotate: var(--mr, .5deg); }
  100% { translate: 0 calc(-1 * var(--my, 3px)); rotate: calc(-1 * var(--mr, .5deg)); }
}
.question-focus {
  position: absolute;
  left: var(--focus-left, 50%);
  top: var(--focus-top, 64%);
  z-index: 8;
  width: min(var(--focus-width, 320px), calc(100% - 24px));
  max-height: min(30vh, calc(100% - 24px));
  overflow: auto;
  padding: clamp(30px, 4vw, 54px);
  border: 1px solid rgba(158,174,120,.24);
  border-radius: 0;
  background: rgba(18,21,17,.92);
  box-shadow: 0 22px 48px rgba(0,0,0,.24);
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  filter: blur(8px);
  transform: translate(var(--focus-enter-x, 0px), var(--focus-enter-y, 12px)) scale(.97);
  transition: opacity .46s ease, visibility .46s ease, transform .6s cubic-bezier(.16,1,.3,1), filter .54s ease;
}
.question-focus.is-open {
  pointer-events: none;
  opacity: 1;
  visibility: visible;
  filter: blur(0);
  transform: translate(0, 0) scale(1);
}
.question-focus.is-switching {
  opacity: .82;
  transform: translate(0, 0) scale(.992);
  filter: blur(1.6px);
}
.question-focus[data-side="right"] { --focus-enter-x: 14px; --focus-enter-y: 0px; }
.question-focus[data-side="left"] { --focus-enter-x: -14px; --focus-enter-y: 0px; }
.question-focus[data-side="bottom"] { --focus-enter-x: 0px; --focus-enter-y: 14px; }
.question-focus[data-side="top"] { --focus-enter-x: 0px; --focus-enter-y: -14px; }
.question-focus-close { position: absolute; top: 15px; right: 15px; width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--text); font-size: 21px; cursor: pointer; }
.question-focus-close,
.question-focus > span { pointer-events: auto; }
.question-focus-index { margin: 0 0 24px; color: var(--green); font: 600 9px/1 "IBM Plex Mono", monospace; letter-spacing: .14em; }
.question-focus h3 { margin: 0 0 16px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(22px, 2.1vw, 30px); font-weight: 400; letter-spacing: -.03em; }
.question-focus > p:not(.question-focus-index) { margin: 0; color: #c1c3bb; font-size: 12px; line-height: 1.6; }
.question-focus > span { display: block; margin-top: 30px; color: #74776d; font-size: 9px; text-transform: uppercase; letter-spacing: .12em; cursor: pointer; }
.question-stage.has-focus .question-stage-center {
  z-index: 2;
  opacity: .33;
  filter: blur(3px);
  transform: scale(.84);
}
.question-stage.has-focus .question-lines .question-line:not(.is-active) { opacity: .32; }
.question-stage.has-focus .question-node:not(.is-active) {
  --node-scale: .88;
  opacity: .4;
  filter: saturate(.82) brightness(.9);
}
.question-stage.has-focus .question-node:not(.is-active):hover {
  opacity: .7;
  --node-scale: .92;
}
.question-title-word,
.question-answer-word {
  display: inline-block;
  opacity: 0;
  transform: translateY(12px) scale(.98);
  filter: blur(4px);
  transition: opacity .55s cubic-bezier(.2,.8,.2,1), transform .65s cubic-bezier(.2,.8,.2,1), filter .58s ease;
}
.question-focus.is-open .is-entering .question-title-word,
.question-focus.is-open .is-entering .question-answer-word {
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
}

.atlas-tensor { min-height: 82svh; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); }
.tensor-intro { justify-content: center; }
.tensor-intro > p:last-child { max-width: 440px; margin: 28px 0 0; color: #62645d; font-size: 13px; line-height: 1.7; }
.tensor-intro h2 { margin: 28px 0 0; font-size: clamp(48px, 5.2vw, 78px); }
.tensor-intro .atlas-kicker { margin: 0; color: #74776c; }
.tensor-intro .atlas-kicker em { color: var(--green-dark); font-style: normal; }
.tensor-panel { justify-content: center; gap: 30px; }
.tensor-role-detail { min-height: 265px; padding: 32px; border: 1px solid #c7c6bc; border-radius: 18px; background: rgba(255,255,255,.22); transition: opacity .2s ease, transform .3s ease; }
.tensor-role-detail.is-switching { opacity: .18; transform: translateY(5px); }
.tensor-detail-index { margin: 0 0 38px; color: var(--green-dark); font: 600 9px/1 "IBM Plex Mono", monospace; letter-spacing: .13em; }
.tensor-role-detail h3 { max-width: 630px; margin: 0 0 18px; font: 400 clamp(27px, 3vw, 45px)/1.04 Georgia, "Times New Roman", serif; letter-spacing: -.035em; }
.tensor-role-detail > p:last-child { max-width: 610px; margin: 0; color: #575951; font-size: 12px; line-height: 1.75; }
.tensor-roles { margin: 0; grid-template-columns: repeat(2, 1fr); }
.tensor-roles button { min-height: 50px; padding: 0; border: 0; border-bottom: 1px solid #c5c4ba; background: transparent; color: #74766f; font: 600 11px/1 "Inter", sans-serif; text-align: left; cursor: pointer; transition: color .2s ease, padding .25s ease; }
.tensor-roles button:nth-child(odd) { border-right: 1px solid #c5c4ba; }
.tensor-roles button:nth-child(even) { padding-left: 18px; }
.tensor-roles button:hover,
.tensor-roles button.is-active { color: var(--green-dark); padding-left: 8px; }
.tensor-roles button:nth-child(even):hover,
.tensor-roles button:nth-child(even).is-active { padding-left: 26px; }
.tensor-panel > a,
.model-button { background: var(--green-dark); color: #f4f4ed; }
.tensor-panel > a:hover,
.model-button:hover { background: #425131; }

@media (max-width: 900px) {
  .atlas-hero-grid { grid-template-columns: 1fr; gap: 48px; }
  .atlas-hero-copy { max-width: 720px; }
  .question-node-a { left: 5%; top: 9%; }
  .question-node-b { right: 5%; top: 9%; }
  .question-node-c { left: 4%; bottom: 12%; }
  .question-node-d { right: 4%; bottom: 12%; }
  .question-node-e { left: 18%; top: 4%; }
  .question-node-f { right: 18%; top: 4%; }
  .question-node-g { left: 7%; top: 48%; }
  .question-node-h { right: 7%; top: 48%; }
  .question-node-i { left: 50%; bottom: 3%; }
  .atlas-tensor { grid-template-columns: 1fr; }
  .tensor-intro { border-right: 0; border-bottom: 1px solid #c8c7bd; }
}
@media (max-width: 600px) { .publication-tensor figure { max-height: 250px; }.publication-tensor figure img { height: 250px; object-fit: contain; object-position: center; } }
@media (max-width: 600px) {
  .publication-hero { min-height: 620px; }
  .publication-hero-image { inset: auto 0 0 auto; width: 58%; height: 52%; object-fit: contain; object-position: right bottom; opacity: .92; }
  .publication-hero-shade { background: linear-gradient(90deg,#10110f 0%,rgba(16,17,15,.94) 56%,rgba(16,17,15,.38)); }
  .publication-hero-copy { align-self: flex-start; padding-top: 54px; padding-bottom: 24px; }
  .publication-feature-image { width: 108px; height: 108px; }
}
@media (max-width: 650px) {
  .atlas-hero-wordmark { margin-bottom: 42px; font-size: 24px; }
  .atlas-hero-title h1,
  .atlas-hero h1 { font-size: clamp(46px, 14vw, 68px); }
  .question-stage { min-height: 780px; }
  .question-stage-center { width: calc(100% - 40px); }
  .question-stage-center h2 { font-size: 40px; }
  .question-node { width: min(132px, 35vw); max-width: 132px; font-size: 9px; line-height: 1.32; }
  .question-node { --node-active-scale: 1.18; }
  .question-node-a,
  .question-node-b,
  .question-node-c,
  .question-node-d,
  .question-node-e,
  .question-node-f,
  .question-node-g,
  .question-node-h,
  .question-node-i { --mx: 3.2px; --my: 3px; --mr: .34deg; }
  .question-node-e,
  .question-node-f,
  .question-node-g,
  .question-node-h { --node-active-scale: 1.12; }
  .question-stage.has-focus .question-stage-center {
    opacity: .4;
    transform: scale(.9);
  }
  .question-node-a { left: 14px; top: 8%; }
  .question-node-b { right: 14px; top: 14%; }
  .question-node-c { left: 14px; bottom: 18%; }
  .question-node-d { right: 14px; bottom: 10%; }
  .question-node-e { left: 16%; top: 3%; }
  .question-node-f { right: 16%; top: 3%; }
  .question-node-g { left: 14px; top: 42%; }
  .question-node-h { right: 14px; top: 42%; }
  .question-node-i { left: 50%; bottom: 2.4%; width: min(182px, 56vw); max-width: 182px; }
  .question-focus {
    left: var(--focus-left, 50%);
    top: var(--focus-top, 66%);
    width: min(var(--focus-width, 256px), calc(100% - 28px));
    max-height: min(28vh, calc(100% - 28px));
    padding: 24px 18px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .question-stage::before, .question-stage::after { animation: none; }
  .question-node { animation: none; translate: 0 0; rotate: 0deg; }
  .question-lines .question-line,
  .question-title-word,
  .question-answer-word { transition: none; }
}

/* Final Atlas composition -------------------------------------------------- */
.atlas-hero {
  padding-top: clamp(68px, 9vh, 116px);
}
.idrok-hero-wordmark { margin-bottom: clamp(42px, 6.5vh, 76px); }
.idrok-hero-wordmark .idrok-primary {
  font-size: clamp(26px, 2.25vw, 38px) !important;
  font-weight: 700;
  letter-spacing: .075em;
}
.idrok-hero-wordmark .idrok-secondary {
  margin-top: 8px !important;
  font-size: clamp(8px, .7vw, 11px) !important;
  letter-spacing: .42em;
}
.atlas-hero-title h1,
.atlas-hero h1 { font-size: clamp(50px, 6.7vw, 102px); line-height: .98; }
.atlas-hero-title h1 em { display: inline-block; }
.atlas-hero h1 em::after { display: none; }
.atlas-hero-copy { padding-block: 16px; }
.atlas-hero-grid { margin-top: clamp(24px, 4vh, 54px); }.atlas-thesis-rail { margin-top: clamp(64px, 7vh, 104px); }

.atlas-questions { padding: clamp(18px, 2.8vw, 44px); }
.question-stage {
  width: min(78vw, 1260px);
  min-height: 61svh;
  margin: 0 auto;
  border-radius: 22px;
  transition: width 1050ms cubic-bezier(.16,1,.3,1), min-height 1050ms cubic-bezier(.16,1,.3,1), border-radius 1050ms cubic-bezier(.16,1,.3,1), box-shadow 700ms ease;
}
.question-stage.is-expanded {
  width: 100%;
  min-height: calc(100svh - clamp(36px, 5.6vw, 88px));
  border-radius: 0;
  box-shadow: none;
}
.question-node {
  font-size: clamp(13px, 1.12vw, 18px);
  line-height: 1.17;
  letter-spacing: -.022em;
  animation-timing-function: cubic-bezier(.44,0,.56,1);
}
.question-node:hover { color: var(--green); }
.question-stage-center h2 { font-size: clamp(30px, 3.55vw, 56px); line-height: 1.02; }
@keyframes question-node-x {
  0%,100% { translate: calc(-1 * var(--mx, 4px)) calc(var(--my, 4px) * .25); rotate: calc(-1 * var(--mr, .25deg)); }
  25% { translate: calc(var(--mx, 4px) * .45) calc(-1 * var(--my, 4px)); rotate: var(--mr, .25deg); }
  55% { translate: var(--mx, 4px) calc(var(--my, 4px) * .3); rotate: calc(var(--mr, .25deg) * -.4); }
  78% { translate: calc(var(--mx, 4px) * -.35) var(--my, 4px); rotate: var(--mr, .25deg); }
}
@keyframes question-node-y {
  0%,100% { translate: calc(var(--mx, 4px) * -.35) calc(-1 * var(--my, 4px)); rotate: calc(-1 * var(--mr, .25deg)); }
  28% { translate: var(--mx, 4px) calc(var(--my, 4px) * -.28); rotate: var(--mr, .25deg); }
  58% { translate: calc(var(--mx, 4px) * .2) var(--my, 4px); rotate: calc(var(--mr, .25deg) * -.5); }
  80% { translate: calc(-1 * var(--mx, 4px)) calc(var(--my, 4px) * .2); rotate: var(--mr, .25deg); }
}
@keyframes question-node-diag {
  0%,100% { translate: calc(-1 * var(--mx, 3px)) calc(var(--my, 3px) * -.55); rotate: calc(-1 * var(--mr, .25deg)); }
  24% { translate: calc(var(--mx, 3px) * .72) calc(-1 * var(--my, 3px)); rotate: var(--mr, .25deg); }
  53% { translate: var(--mx, 3px) calc(var(--my, 3px) * .48); rotate: calc(var(--mr, .25deg) * -.4); }
  76% { translate: calc(var(--mx, 3px) * -.45) var(--my, 3px); rotate: var(--mr, .25deg); }
}
@keyframes question-node-tilt {
  0%,100% { translate: calc(var(--mx, 3px) * -.3) calc(-1 * var(--my, 3px)); rotate: calc(-1 * var(--mr, .5deg)); }
  30% { translate: var(--mx, 3px) calc(var(--my, 3px) * -.25); rotate: var(--mr, .5deg); }
  63% { translate: calc(var(--mx, 3px) * .2) var(--my, 3px); rotate: calc(var(--mr, .5deg) * -.35); }
  82% { translate: calc(-1 * var(--mx, 3px)) calc(var(--my, 3px) * .18); rotate: var(--mr, .5deg); }
}
.question-focus {
  z-index: 12;
  width: min(390px, calc(100% - 36px));
  max-height: min(52%, 405px);
  padding: clamp(25px, 3vw, 38px);
  border-radius: 14px;
  background: #171a15;
}
.question-focus.is-open { pointer-events: auto; }
.question-focus-index { padding-right: 48px; }
.question-focus h3 { font-size: clamp(23px, 2vw, 31px); line-height: 1.05; }
.question-focus > p:not(.question-focus-index) { font-size: clamp(13px, 1vw, 15px); line-height: 1.6; }
.question-focus-close { z-index: 2; }

/* Bright questions chapter ------------------------------------------------ */
.question-stage { border: 1px solid #cecdc3; background: var(--paper); color: #171815; box-shadow: none; }
.question-stage::before, .question-stage::after { border-color: rgba(45,49,39,.15); }
.question-lines .question-line { stroke: rgba(30,34,27,.65); stroke-width: 1.25; opacity: .8; }.question-lines .question-line.is-active { stroke: var(--green-dark); opacity: 1; }
.question-stage-center h2 { color: #171815; transition: font-size .85s cubic-bezier(.16,1,.3,1); }.question-stage:not(.is-expanded) .question-stage-center h2 { font-size: clamp(24px, 2.5vw, 42px); }.question-stage.is-expanded .question-stage-center h2 { font-size: clamp(38px, 4.6vw, 68px); }
.question-node { color: #33362f; }.question-node:hover, .question-node.is-active { color: var(--green-dark); }.question-stage:not(.is-expanded) .question-node, .question-stage:not(.is-expanded) .question-lines { opacity: 0; }.question-stage.is-expanded .question-node, .question-stage.is-expanded .question-lines { opacity: 1; transition: opacity .85s ease .16s; }
.question-focus { background: #f7f6ef; border-color: #bfc0b4; color: #171815; box-shadow: 0 22px 48px rgba(28,32,23,.16); }.question-focus h3 { color: #171815; }.question-focus > p:not(.question-focus-index) { color: #4e514a; }.question-focus-close { border-color: #bfc0b4; color: #171815; }.question-focus > span { color: #687055; }.question-stage.has-focus .question-stage-center { filter: none; }
.question-stage { border: 0; border-radius: 0; }.question-lines .question-line { stroke: rgba(18,21,16,.78); stroke-width: 1.45; opacity: .9; }
.question-stage::before, .question-stage::after { display: none; }.question-node-a { --node-cycle: 5.2s; }.question-node-b { --node-cycle: 6.1s; }.question-node-c { --node-cycle: 6.8s; }.question-node-d { --node-cycle: 7.3s; }.question-node-e { --node-cycle: 5.9s; }.question-node-f { --node-cycle: 7s; }.question-node-g { --node-cycle: 6.4s; }.question-node-h { --node-cycle: 7.6s; }.question-node-i { --node-cycle: 6.7s; }.question-node { animation-timing-function: cubic-bezier(.45,0,.55,1); }
.atlas-thesis-rail > div { padding-block: 18px; gap: 38px; font-size: 12px; letter-spacing: .12em; animation-duration: 44s; }.atlas-thesis-rail i { font-size: 14px; }.atlas-questions { border-bottom: 0; }.question-stage { margin-bottom: 0; }.question-node { width: min(198px, 26vw); max-width: 198px; }.question-node-a { left: 6%; top: 15%; }.question-node-b { right: 5%; top: 14%; }.question-node-c { left: 4%; bottom: 14%; }.question-node-d { right: 4%; bottom: 13%; }.question-node-e { left: 21%; top: 7%; }.question-node-f { right: 21%; top: 7%; }.question-node-g { left: 6%; top: 55%; }.question-node-h { right: 5%; top: 55%; }.question-lines .question-line { stroke-width: 1.7; opacity: .94; transition: opacity .55s ease, stroke .55s ease; }
.atlas-hero h1 { animation: hero-title-glow 5.8s ease-in-out infinite; }.atlas-hero h1 em { animation: hero-emphasis 5.8s ease-in-out infinite; }@keyframes hero-title-glow { 50% { text-shadow: 0 10px 26px rgba(83,100,62,.14); } }@keyframes hero-emphasis { 50% { color: #4d5f38; } }
.atlas-hero h1.is-visible { animation: hero-title-arrive 1.15s cubic-bezier(.16,1,.3,1) both, hero-title-glow 5.8s ease-in-out 1.15s infinite; }@keyframes hero-title-arrive { from { opacity: 0; transform: translateY(74px) scale(.98); letter-spacing: -.075em; } to { opacity: 1; transform: translateY(0) scale(1); letter-spacing: -.045em; } }.atlas-hero-copy > p { min-height: 7.8em; }.atlas-hero-copy > p.is-typing::after { content: "|"; display: inline-block; margin-left: 3px; color: var(--green-dark); animation: hero-caret .75s steps(1,end) infinite; }.atlas-hero-copy > p.is-typed::after { content: ""; }@keyframes hero-caret { 50% { opacity: 0; } }
.atlas-hero h1 em { color: var(--green-dark); }
.question-node-a { left: 2%; --mx: 6px; --my: 6px; }.question-node-b { right: 2%; --mx: 6px; --my: 6px; }.question-node-c, .question-node-d { --mx: 5.8px; --my: 5.8px; }.question-node-e, .question-node-f { --mx: 5.2px; --my: 5px; }.question-node-g, .question-node-h { --mx: 5.6px; --my: 5.8px; }.question-node-i { --mx: 4.8px; --my: 5.4px; }.question-node { transition: color .3s ease, scale .6s cubic-bezier(.16,1,.3,1), opacity .5s ease, filter .5s ease; }

.tensor-brand-lockup { display: flex; align-items: center; gap: 12px; color: #11120f; font: 400 clamp(45px, 5vw, 76px)/.8 Georgia, "Times New Roman", serif; letter-spacing: -.07em; }
.tensor-brand-lockup strong { font: inherit; font-weight: 400; }
.tensor-brand-lockup { flex-direction: column; align-items: flex-start; gap: 26px; }
.tensor-name-line { display: flex; align-items: center; gap: 12px; }
.tensor-brand-mark { color: var(--green-dark); font: 600 .42em/1 "IBM Plex Mono", monospace; letter-spacing: -.1em; }
.tensor-workspace { position: relative; min-height: 280px; display: grid; grid-template-columns: minmax(0,1fr) 156px; overflow: hidden; border: 1px solid #bfc1b2; border-radius: 18px; background: #eeece4; box-shadow: 0 14px 32px rgba(52,59,43,.08); }
.tensor-workspace::after { content: ""; position: absolute; width: 230px; height: 230px; right: 75px; bottom: -150px; border: 1px solid rgba(83,100,62,.18); border-radius: 50%; }
.tensor-workspace-bar { position: absolute; inset: 0 0 auto; height: 44px; padding: 0 18px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #cccdc3; color: #5c644c; font: 600 9px/1 "IBM Plex Mono", monospace; letter-spacing: .12em; }
.tensor-workspace-bar b { letter-spacing: -.12em; }.tensor-status { color: #73786a; }.tensor-status i { display: inline-block; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: #657b45; box-shadow: 0 0 0 0 rgba(101,123,69,.45); animation: status-pulse 2.4s infinite; }
.tensor-workspace-main { padding: 78px 28px 28px; }.tensor-workspace-label, .tensor-workspace-side p { margin: 0 0 17px; color: #6d7957; font: 600 9px/1 "IBM Plex Mono", monospace; letter-spacing: .14em; }.tensor-workspace-main h3 { max-width: 470px; margin: 0; color: #20231c; font: 400 clamp(23px, 2.25vw, 33px)/1.05 Georgia, "Times New Roman", serif; letter-spacing: -.04em; }.tensor-steps { margin-top: 23px; display: grid; gap: 8px; }.tensor-steps p { margin: 0; color: #777970; font-size: 11px; }.tensor-steps span { display: inline-grid; width: 17px; color: #607544; font-weight: 700; }.tensor-steps .is-working { color: #29321f; }.tensor-steps em { margin-left: 8px; padding: 3px 6px; border-radius: 8px; background: #dce3cb; color: #5a7040; font: 600 8px/1 "IBM Plex Mono", monospace; font-style: normal; letter-spacing: .06em; }.tensor-workspace-side { position: relative; z-index: 1; padding: 78px 20px 22px; display: flex; flex-direction: column; border-left: 1px solid #cccdc3; background: rgba(222,225,211,.42); }.tensor-workspace-side strong { color: #31382a; font: 400 19px/1.1 Georgia, "Times New Roman", serif; }.tensor-workspace-side span { margin-top: auto; color: #7c7e76; font: 600 8px/1 "IBM Plex Mono", monospace; letter-spacing: .1em; }
@keyframes status-pulse { 65% { box-shadow: 0 0 0 6px rgba(101,123,69,0); } 100% { box-shadow: 0 0 0 0 rgba(101,123,69,0); } }
.tensor-telegram-flow { min-height: 420px; display: block; overflow: hidden; background: #151714; color: #f1f1e9; box-shadow: 0 22px 48px rgba(34,39,29,.16); }
.tensor-telegram-flow::after { display: none; }
.tensor-telegram-flow .tensor-workspace-bar { border-color: rgba(255,255,255,.13); color: #bec6ac; }
.tensor-telegram-flow .tensor-status { color: #aab4a0; }.tensor-telegram-flow .tensor-status i { background: #42d96b; }
.telegram-connect-card, .telegram-ai-card { position: absolute; z-index: 2; border: 1px solid rgba(255,255,255,.16); border-radius: 14px; background: rgba(29,32,27,.95); box-shadow: 0 16px 32px rgba(0,0,0,.2); }
.telegram-connect-card { left: 30px; top: 84px; width: min(245px, 34%); padding: 22px; }.telegram-connect-card p, .telegram-ai-card > p { margin: 0 0 9px; color: #aab59b; font: 600 8px/1 "IBM Plex Mono", monospace; letter-spacing: .12em; }.telegram-connect-card > strong { display: block; margin-bottom: 21px; font-size: 13px; }.telegram-logo { float: right; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #2aabee; }.telegram-logo svg { width: 20px; fill: #fff; }.telegram-connect-card label { display: grid; gap: 8px; color: #7d8675; font: 600 8px/1 "IBM Plex Mono", monospace; letter-spacing: .1em; }.telegram-connect-card label span { padding: 9px; border: 1px solid rgba(255,255,255,.12); border-radius: 6px; color: #c2c8ba; }.telegram-connect-card em { display: block; margin-top: 14px; color: #6fe789; font-size: 10px; font-style: normal; }.telegram-connect-card em i { display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: currentColor; }
.telegram-flow-line { position: absolute; left: calc(34% + 8px); right: 39%; top: 51%; height: 1px; background: linear-gradient(90deg, #2aabee, #9eae78); }.telegram-flow-line::before, .telegram-flow-line::after { content: ""; position: absolute; top: -3px; width: 7px; height: 7px; border: 1px solid #91a975; border-radius: 50%; background: #151714; }.telegram-flow-line::before { left: 0; }.telegram-flow-line::after { right: 0; }.telegram-flow-line span { position: absolute; top: -10px; left: 48%; color: #9eae78; animation: telegram-travel 2.9s ease-in-out infinite; }
.telegram-flow-line { height: auto; background: none; }.telegram-flow-line::before, .telegram-flow-line::after { display: none; }.telegram-flow-line span { top: -16px; left: 50%; color: #dfe5d5; font-size: 23px; animation: none; }
.telegram-ai-card { right: 30px; top: 74px; width: min(330px, 43%); padding: 21px; }.telegram-ai-card > p b { color: #9eae78; letter-spacing: -.1em; }.telegram-ai-card > p span { float: right; color: #6fe789; }.telegram-message { max-width: 86%; margin-top: 12px; padding: 10px 12px; border-radius: 11px; font-size: 11px; line-height: 1.4; }.telegram-message.customer { margin-right: auto; background: #2b3029; }.telegram-message.employee { margin-left: auto; background: #56683d; color: #fff; }.telegram-typing { margin-top: 14px; color: #949d8d; font: 600 8px/1 "IBM Plex Mono", monospace; letter-spacing: .06em; }.telegram-typing i { display: inline-block; width: 4px; height: 4px; margin-right: 3px; border-radius: 50%; background: #9eae78; animation: typing-dot 1.2s infinite alternate; }.telegram-typing i:nth-child(2) { animation-delay: .2s; }.telegram-typing i:nth-child(3) { animation-delay: .4s; }
.telegram-proof { position: absolute; z-index: 1; left: 50%; bottom: -16px; display: flex; gap: 12px; transform: translateX(-50%) rotate(-4deg); opacity: .2; }.telegram-proof img { width: 102px; height: 102px; object-fit: cover; object-position: left top; border: 1px solid rgba(255,255,255,.35); border-radius: 9px; filter: grayscale(1) contrast(.9); }.telegram-proof img:last-child { transform: translateY(-15px) rotate(8deg); object-position: top; }.telegram-caption { position: absolute; z-index: 3; left: 30px; bottom: 22px; max-width: 380px; margin: 0; color: #c6cabf; font: 400 16px/1.2 Georgia, "Times New Roman", serif; letter-spacing: -.02em; }
.telegram-proof img:last-child { object-position: left top; }
.tensor-panel > .tensor-try-button { margin-top: 8px; }
@keyframes telegram-travel { 50% { transform: translateX(22px); opacity: .45; } } @keyframes typing-dot { to { transform: translateY(-3px); opacity: .35; } }
.tensor-panel { gap: 22px; }
.tensor-role-detail { min-height: 226px; }

.atlas-footer { position: relative; min-height: 190px; padding-bottom: 32px; }
.atlas-footer div { align-self: end; }
.idrok-wordmark { justify-self: start !important; display: inline-flex; flex-direction: column; gap: 7px; color: #d9dad1; }
.idrok-wordmark .idrok-primary { font: 700 25px/1 "Inter", sans-serif; letter-spacing: .18em; }
.idrok-wordmark .idrok-secondary { font: 600 10px/1 "Inter", sans-serif; letter-spacing: .41em; }
.atlas-footer { min-height: 300px; padding-top: 52px; display: grid; grid-template-columns: minmax(230px, 1.7fr) repeat(3, minmax(110px, .7fr)); align-items: start; gap: clamp(24px, 4vw, 70px); }
.atlas-footer-brand { display: flex !important; flex-direction: column; align-items: flex-start; gap: 22px !important; }.atlas-footer-brand > p { max-width: 230px; color: #8d9085; font-size: 12px; line-height: 1.55; text-transform: none; letter-spacing: 0; }.atlas-footer-links { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }.atlas-footer-links p { margin: 0 0 9px; color: var(--green); font: 600 9px/1 "IBM Plex Mono", monospace; letter-spacing: .13em; }.atlas-footer-links a { justify-self: auto; color: #b2b4aa; font-size: 10px; letter-spacing: .05em; text-transform: none; transition: color .2s ease; }.atlas-footer-links a:hover { color: #f2f2eb; }.atlas-footer-meta { grid-column: 1 / -1; margin-top: 18px; padding-top: 18px; display: flex !important; flex-direction: row; justify-content: space-between; border-top: 1px solid var(--line); }.atlas-footer-meta span, .atlas-footer-meta a { font-size: 9px; letter-spacing: .11em; }.atlas-footer-meta a { justify-self: auto; }

@media (max-width: 650px) {
  .question-stage { width: 100%; min-height: 720px; border-radius: 12px; }
  .question-stage.is-expanded { min-height: 780px; }
  .question-focus { width: calc(100% - 28px); max-height: min(64%, 560px); padding: 28px 24px; }
  .tensor-workspace { grid-template-columns: 1fr 116px; min-height: 280px; }
  .tensor-telegram-flow { min-height: 470px; }.telegram-connect-card { left: 16px; top: 70px; width: 46%; }.telegram-ai-card { right: 16px; top: 206px; width: 62%; }.telegram-flow-line { left: 42%; right: 12%; top: 43%; transform: rotate(42deg); }.telegram-caption { left: 16px; bottom: 18px; max-width: 250px; font-size: 14px; }
  .tensor-workspace-main { padding-inline: 20px; }
  .tensor-workspace-side { padding-inline: 14px; }
  .tensor-intro h2 { margin-top: 42px; }
  .atlas-footer { grid-template-columns: 1fr 1fr; gap: 34px 20px; }.atlas-footer-brand { grid-column: 1 / -1; }.atlas-footer-meta { grid-column: 1 / -1; gap: 14px; flex-direction: column; }
}

/* Idrok knowledge map ----------------------------------------------------- */
.atlas-questions { padding: clamp(22px, 3vw, 48px); min-height: 0; }
.atlas-questions .question-stage {
  width: min(100%, 1400px); min-height: clamp(620px, 48vw, 720px); margin: 0 auto;
  overflow: hidden; border: 0; border-radius: 0; background: var(--paper); color: #171815;
  box-shadow: none; isolation: isolate;
}
.atlas-questions .question-stage::before,
.atlas-questions .question-stage::after { display: none; }
.atlas-questions .question-map-label,
.atlas-questions .question-map-instruction { position: absolute; z-index: 6; margin: 0; font: 600 9px/1 "IBM Plex Mono", monospace; letter-spacing: .14em; text-transform: uppercase; }
.atlas-questions .question-map-label { display: none; }
.atlas-questions .question-map-instruction { display: none; }
.atlas-questions .question-lines { z-index: 1; overflow: visible; }
.atlas-questions .question-stage:not(.is-expanded) .question-node,
.atlas-questions .question-stage:not(.is-expanded) .question-lines { opacity: 1; }
.atlas-questions .question-lines .question-line { stroke: #777d6e; stroke-width: .8; opacity: .78; transition: opacity .45s ease, stroke .45s ease, stroke-width .45s ease; animation: question-thread-breathe var(--thread-cycle, 5.8s) ease-in-out var(--thread-delay, 0s) infinite; }
.atlas-questions .question-lines .question-line.is-active { stroke: #53643e; stroke-width: 1.05; opacity: .96; }
.atlas-questions .question-lines .question-line.is-hover { stroke: #53643e; stroke-width: .95; opacity: .92; }
.atlas-questions .question-stage-center {
  inset: auto; left: 50%; top: 48%; z-index: 8; width: min(860px, 62vw); margin: 0; padding: 18px 34px;
  transform: translate(-50%, -50%); cursor: default; pointer-events: none; text-align: center;
  background: var(--paper);
}
.atlas-questions .question-stage-center::before { display: none; }
.atlas-questions .question-stage-center p { display: none; }
.atlas-questions .question-stage-center h2 { color: #161713; font-size: clamp(44px, 4.3vw, 76px) !important; line-height: .93; letter-spacing: -.06em; transition: none; }
.atlas-questions .question-node {
  z-index: 4; width: min(214px, 18vw); max-width: 214px; padding: 12px 0; border: 0; border-radius: 0;
  background: var(--paper); color: #292c26; font: 500 clamp(13px, 1.1vw, 16px)/1.17 "Inter", sans-serif; letter-spacing: -.025em;
  animation: question-map-drift var(--node-cycle, 9s) ease-in-out infinite; box-shadow: none;
  transition: color .3s ease, opacity .3s ease, transform .3s ease, scale .3s ease;
}
.atlas-questions .question-node span { display: none; }
.atlas-questions .question-node { font-size: clamp(14px, 1.15vw, 17px); }
.atlas-questions .question-node:hover,
.atlas-questions .question-node:focus-visible,
.atlas-questions .question-node.is-active { color: #4e6038; outline: none; }
.atlas-questions .question-node:focus-visible { box-shadow: 0 0 0 2px #6f7c56; }
.atlas-questions .question-node.is-active { scale: 1.04; }
.atlas-questions .question-node-building { left: 5%; top: 20%; }
.atlas-questions .question-node-knowledge { left: 23%; top: 12%; }
.atlas-questions .question-node-approval { left: 64%; right: auto; top: 12%; }
.atlas-questions .question-node-tensor { right: 5%; top: 20%; }
.atlas-questions .question-node-careers { left: 8%; top: 58%; }
.atlas-questions .question-node-employee { right: 8%; top: 59%; }
.atlas-questions .question-node-models { left: 7%; bottom: 14%; }
.atlas-questions .question-node-channels { left: 50%; bottom: 8%; transform: translateX(-50%); text-align: center; }
.atlas-questions .question-node-control { right: 7%; bottom: 14%; }
.atlas-questions .question-node-building { --mx: 10px; --my: -8px; --node-cycle: 10.5s; animation-delay: -1.8s; }.atlas-questions .question-node-tensor { --mx: -10px; --my: 8px; --node-cycle: 11.4s; animation-delay: -4.1s; }.atlas-questions .question-node-employee { --mx: 8px; --my: 6px; --node-cycle: 9.9s; animation-delay: -2.7s; }.atlas-questions .question-node-knowledge { --mx: 7px; --my: -10px; --node-cycle: 12.8s; animation-delay: -5.2s; }.atlas-questions .question-node-control { --mx: -10px; --my: -6px; --node-cycle: 10.7s; animation-delay: -3.3s; }.atlas-questions .question-node-approval { --mx: 8px; --my: -8px; --node-cycle: 11.1s; animation-delay: -6s; }.atlas-questions .question-node-channels { --mx: -7px; --my: 10px; --node-cycle: 12.6s; animation-delay: -4.6s; }.atlas-questions .question-node-models { --mx: 10px; --my: -6px; --node-cycle: 10.8s; animation-delay: -2.2s; }.atlas-questions .question-node-careers { --mx: 8px; --my: 6px; --node-cycle: 11.3s; animation-delay: -5.7s; }
.atlas-questions .question-node:hover { animation-play-state: paused; transform: translate3d(2px, -1px, 0); }.atlas-questions .question-lines .question-line { stroke-dasharray: none; }
@media (max-width: 760px) { .application-page .application-form { grid-template-columns: 1fr; }.application-page .social-fields { grid-template-columns: 1fr; gap: 16px; }.application-page .phone-field { grid-template-columns: 70px 1fr; }.atlas-questions .question-stage-center { width: 100%; } }
.atlas-questions .question-stage.has-focus .question-stage-center { opacity: .48; transform: translate(-50%, -50%) scale(.94); filter: none; }
.atlas-questions .question-stage.has-focus .question-node:not(.is-active) { --node-scale: 1; opacity: .42; filter: none; }
.atlas-questions .question-stage.has-focus .question-node:not(.is-active):hover { opacity: .85; --node-scale: 1; }
.atlas-questions .question-focus {
  z-index: 12; width: min(360px, 28vw); max-height: none; overflow: visible; padding: 24px 28px; border: 0; border-radius: 0;
  background: #f7f6ef; color: #171815; box-shadow: 0 20px 36px rgba(27,31,23,.15);
}
.atlas-questions .question-focus.is-open { pointer-events: auto; }
.atlas-questions .question-focus-index, .atlas-questions .question-focus h3, .atlas-questions .question-related, .atlas-questions .question-focus-return { display: none; }
.atlas-questions .question-focus > p:not(.question-focus-index) { margin: 0; padding: 0; color: #31342d; font: 400 16px/1.55 Georgia, "Times New Roman", serif; }
.atlas-questions .question-related { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 21px; padding-top: 16px; border-top: 1px solid #c6c7bd; }
.atlas-questions .question-related button,
.atlas-questions .question-focus-return { border: 0; background: transparent; color: #53643e; font: 600 9px/1.35 "IBM Plex Mono", monospace; letter-spacing: .08em; text-align: left; cursor: pointer; }
.atlas-questions .question-related button { max-width: 48%; padding: 0; text-transform: none; }
.atlas-questions .question-focus-return { display: inline-flex; gap: 8px; margin-top: 21px; padding: 0; text-transform: uppercase; }
.atlas-questions .question-related button:hover,
.atlas-questions .question-related button:focus-visible,
.atlas-questions .question-focus-return:hover,
.atlas-questions .question-focus-return:focus-visible { color: #1e2816; outline: none; text-decoration: underline; text-underline-offset: 4px; }
@keyframes question-map-drift { 0%, 100% { translate: 0 0; } 23% { translate: calc(var(--mx, 8px) * .38) calc(var(--my, -8px) * .56); } 58% { translate: var(--mx, 8px) var(--my, -8px); } 82% { translate: calc(var(--mx, 8px) * .44) calc(var(--my, -8px) * .22); } }
@keyframes question-thread-breathe { 0%, 100% { opacity: .62; } 50% { opacity: 1; } }

@media (max-width: 760px) {
  .atlas-questions { padding: 0; }
  .atlas-questions .question-stage { min-height: 0; padding: 42px 24px; border: 0; display: flex; flex-direction: column; align-items: stretch; }
  .atlas-questions .question-map-label { top: 25px; left: 24px; }
  .atlas-questions .question-map-instruction { top: 48px; left: 24px; right: auto; }
  .atlas-questions .question-stage-center { position: relative; left: auto; top: auto; width: 100%; margin: 0 0 28px; padding: 0 0 25px 26px; transform: none; text-align: left; }
  .atlas-questions .question-stage-center::before { inset: auto auto 0 0; width: 1px; height: 100%; border: 0; background: #7b806f; }
  .atlas-questions .question-stage-center h2 { font-size: clamp(34px, 9vw, 46px); }
  .atlas-questions .question-lines { inset: 0; }
  .atlas-questions .question-node { position: relative; left: auto !important; right: auto !important; top: auto !important; bottom: auto !important; width: calc(100% - 26px); max-width: none; min-height: 0; margin: 0 0 0 26px; padding: 20px 0 22px 27px; background: transparent; text-align: left; animation: none; }
  .atlas-questions .question-node::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 1px; background: #929687; }
  .atlas-questions .question-node span { margin-bottom: 7px; }
  .atlas-questions .question-stage.has-focus .question-stage-center { opacity: 1; transform: none; }
  .atlas-questions .question-stage.has-focus .question-node:not(.is-active) { opacity: .72; }
  .atlas-questions .question-focus { position: relative; left: auto !important; top: auto !important; width: calc(100% - 26px); max-height: none; margin: 4px 0 20px 26px; padding: 22px 24px; transform: none; }
  .atlas-questions .question-focus:not(.is-open) { display: none; }
  .atlas-questions .question-focus.is-open { display: block; }
  .atlas-questions .question-focus h3 { font-size: 27px; }
  .atlas-questions .question-related button { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .atlas-questions .question-node { animation: none; translate: 0 0; rotate: 0deg; }
  .atlas-questions .question-lines .question-line { animation: none; }
  .atlas-questions .question-lines .question-line,
  .atlas-questions .question-focus,
  .atlas-questions .question-stage-center { transition: none; }
}

@media (min-width: 761px) {
  .atlas-questions .question-stage {
    transition: min-height 950ms cubic-bezier(.16, 1, .3, 1), width 950ms cubic-bezier(.16, 1, .3, 1);
  }
  .atlas-questions .question-stage.is-expanded {
    min-height: calc(100svh - clamp(44px, 6vw, 88px));
    width: 100%;
  }
}
.atlas-questions .question-related, .atlas-questions .question-focus-return { display: none !important; }
@media (max-width: 760px) { .atlas-questions .question-stage-center h2 { font-size: clamp(34px, 9vw, 46px) !important; } }
.contact-section { padding-top: clamp(52px, 6vw, 86px); padding-bottom: clamp(68px, 8vw, 110px); }.contact-section .section-label { color: var(--green-dark); font-size: clamp(13px, 1.15vw, 17px); font-weight: 700; letter-spacing: .05em; }.contact-section h2 { margin-top: clamp(28px, 3.5vw, 48px); }

/* The header Contact link intentionally lands on the practical next step. */
#apply-cta:target { outline: 1px solid var(--green); outline-offset: 8px; animation: apply-cta-arrival 760ms cubic-bezier(.16, 1, .3, 1); }
@keyframes apply-cta-arrival { 0%, 100% { transform: translateY(0); } 45% { transform: translateY(-5px); } }

/* WebKit otherwise paints saved form values with a pale autofill field. */
.application-page .application-form input:-webkit-autofill,
.application-page .application-form input:-webkit-autofill:hover,
.application-page .application-form input:-webkit-autofill:focus,
.application-page .application-form textarea:-webkit-autofill,
.application-page .application-form select:-webkit-autofill {
  -webkit-text-fill-color: #fff;
  -webkit-box-shadow: 0 0 0 1000px #191a17 inset;
  box-shadow: 0 0 0 1000px #191a17 inset;
  caret-color: #fff;
  transition: background-color 9999s ease-out 0s;
}
.application-confirmation { max-width: 760px; margin: 18px 0 28px; padding: clamp(30px, 4vw, 54px) 0; border-top: 1px solid rgba(169, 185, 138, .65); border-bottom: 1px solid rgba(169, 185, 138, .32); color: #f3f4ec; }
.application-confirmation[hidden] { display: none; }
.application-confirmation > p { margin: 0 0 28px; color: #a9b98a; font: 600 10px/1 "IBM Plex Mono", monospace; letter-spacing: .16em; }
.application-confirmation h2 { margin: 0 0 34px; font: 400 clamp(44px, 5.5vw, 76px)/.94 Georgia, "Times New Roman", serif; letter-spacing: -.055em; }
.application-confirmation div { max-width: 470px; color: #c4c7bd; font-size: 15px; line-height: 1.65; }
.application-confirmation div p + p { margin-top: 25px; color: #e2e4da; }
.application-confirmation strong { color: #a9b98a; font-weight: 600; }
.application-confirmation small { display: block; margin-top: 32px; color: #858b80; font: 500 10px/1.5 "IBM Plex Mono", monospace; }
.application-confirmation-mark { width: 34px; height: 34px; margin-bottom: 28px; display: grid; place-items: center; border: 1px solid #a9b98a; border-radius: 50%; color: #a9b98a; font: 500 17px/1 "Inter", sans-serif; }
.application-confirmation a { color: #a9b98a; text-decoration: none; font: 600 11px/1 "Inter", sans-serif; }.application-confirmation a:hover { text-decoration: underline; text-underline-offset: 4px; }.application-form button:disabled { cursor: wait; opacity: .72; transform: none; }.application-form .form-status { white-space: pre-line; }

/* Compact navigation and content layout for phones and tablets. */
.idrok-menu-button { display: none; }
@media (max-width: 900px) {
  .idrok-header { min-height: 70px; padding: 12px 20px; gap: 14px; }
  .idrok-header-brand { margin-right: auto; }
  .idrok-menu-button { width: 42px; height: 42px; display: grid; place-content: center; gap: 6px; border: 1px solid #3d4137; border-radius: 5px; background: transparent; cursor: pointer; }
  .idrok-menu-button i { display: block; width: 17px; height: 1px; background: #e7e8df; transition: transform .28s ease; }
  .menu-is-open .idrok-menu-button i:first-child { transform: translateY(3.5px) rotate(45deg); }.menu-is-open .idrok-menu-button i:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .idrok-nav { position: fixed; z-index: 50; top: 82px; right: 14px; width: min(278px, calc(100vw - 28px)); margin: 0; padding: 14px 18px; display: grid; gap: 0; border: 1px solid #3d4137; background: #11120f; box-shadow: 0 18px 42px rgba(0,0,0,.24); opacity: 0; visibility: hidden; transform: translateY(-10px); transition: opacity .24s ease, transform .24s ease, visibility .24s ease; }
  .menu-is-open .idrok-nav { opacity: 1; visibility: visible; transform: translateY(0); }
  .idrok-nav a { min-height: 48px; display: flex; align-items: center; overflow: visible; font-size: 14px; border-bottom: 1px solid #2e312c; }.idrok-nav a:last-child { border-bottom: 0; }.idrok-nav a span + span { display: none; }
  .idrok-join-button { min-height: 42px; margin-left: 0; padding: 0 13px; gap: 10px; white-space: nowrap; }

  .atlas-questions { padding: 0; }
  .atlas-questions .question-stage { min-height: 0; padding: 44px 20px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; overflow: visible; }
  .atlas-questions .question-lines { display: none; }
  .atlas-questions .question-stage-center { position: relative; left: auto; top: auto; grid-column: 1 / -1; width: 100%; margin: 0 0 22px; padding: 0 0 20px; transform: none; text-align: left; background: transparent; }
  .atlas-questions .question-stage-center h2 { max-width: 620px; font-size: clamp(38px, 7.2vw, 58px) !important; }
  .atlas-questions .question-node { position: relative; left: auto !important; right: auto !important; top: auto !important; bottom: auto !important; width: 100%; min-height: 104px; margin: 0; padding: 17px 0; background: transparent; border-top: 1px solid #c4c5bb; text-align: left; font-size: clamp(14px, 2.1vw, 17px); animation: none; }
  .atlas-questions .question-focus { position: relative; left: auto !important; top: auto !important; grid-column: 1 / -1; width: 100%; margin: 8px 0 18px; padding: 19px 0 5px; background: transparent; box-shadow: none; transform: none; }
  .atlas-questions .question-focus > p:not(.question-focus-index) { max-width: 600px; font-size: 16px; }
  .atlas-questions .question-focus:not(.is-open) { display: none; }
  .atlas-questions .question-focus.is-open { display: block; }

  .atlas-tensor-story { height: auto; }
  .tensor-story-sticky { position: relative; height: auto; min-height: 0; display: block; padding: 58px 20px; overflow: visible; }
  .tensor-story-copy { display: block; }.tensor-story-words { display: block; min-height: 0; }
  .tensor-story-words > article, .tensor-story-words > article.is-active, .tensor-story-words > article.is-exiting { position: relative; inset: auto; display: block; margin: 0 0 64px; opacity: 1; transform: none; }
  .tensor-story-words h2 { position: static; display: block; font-size: clamp(42px, 8vw, 64px); opacity: 1; transform: none; }
  .tensor-story-words article > small { display: block; margin-bottom: 25px; }
  .tensor-story-words .tensor-story-frame { position: relative; inset: auto; display: block; min-height: 250px; aspect-ratio: 1.55 / 1; margin-top: 26px; border-radius: 12px; opacity: 1; transform: none; pointer-events: auto; }
  .tensor-story-media, .tensor-story-progress { display: none; }
  .tensor-story-copy .tensor-try-button { margin-top: 0; }
  .application-page .application-section { padding: 42px 20px 58px; }.application-page .application-intro { margin: 35px 0; }.application-page .application-form { grid-template-columns: 1fr; gap: 18px; }.application-page .social-fields { grid-template-columns: 1fr; gap: 15px; }.application-page .application-form .form-wide { grid-column: auto; }
}
@media (max-width: 520px) {
  .idrok-header-brand span { font-size: 15px; }.idrok-header-brand small { font-size: 7px; }.idrok-join-button { font-size: 11px; }.atlas-questions .question-stage { grid-template-columns: 1fr 1fr; gap: 0 14px; padding-inline: 16px; }.atlas-questions .question-node { min-height: 94px; font-size: 13px; }.atlas-questions .question-focus { grid-column: 1 / -1; }.tensor-story-sticky { padding-inline: 16px; }
}

/* Keep compact questions quiet; their answer opens above the list instead of
   shifting every item below it. */
@media (max-width: 900px) {
  .atlas-questions .question-node { min-height: 76px; border: 0; }
  .atlas-questions .question-node::before { display: none; }
  .atlas-questions .question-focus { position: fixed !important; left: 50% !important; top: 50% !important; z-index: 60; width: min(390px, calc(100% - 32px)); max-height: calc(100svh - 152px); margin: 0; padding: 20px 22px; overflow: auto; scrollbar-width: none; background: #f7f6ef; box-shadow: 0 18px 38px rgba(27,31,23,.18); transform: translate(-50%, -50%) scale(.97); }
  .atlas-questions .question-focus.is-open { transform: translate(-50%, -50%) scale(1); }
  .atlas-questions .question-focus::-webkit-scrollbar { display: none; }
  .atlas-questions .question-focus > p:not(.question-focus-index) { font-size: 15px; }

  .tensor-story-words .idrok-dashboard-frame, .tensor-story-words .idrok-employees-frame { min-height: 270px; aspect-ratio: 1.45 / 1; }
  .tensor-story-words .idrok-app-sidebar { padding: 14px 10px; }
  .tensor-story-words .idrok-app-brand { font-size: 11px; }.tensor-story-words .idrok-app-brand span { font-size: 6px; }
  .tensor-story-words .idrok-workspace-select { padding: 8px 7px; font-size: 8px; }
  .tensor-story-words .idrok-app-menu { margin-top: 8px; }.tensor-story-words .idrok-app-menu span { padding: 6px 4px; font-size: 7px; }
  .tensor-story-words .idrok-app-main { padding: 14px; }.tensor-story-words .idrok-app-top { gap: 8px; }.tensor-story-words .idrok-app-top h3 { font-size: 18px; }.tensor-story-words .idrok-app-top button { padding: 8px; font-size: 7px; }
  .tensor-story-words .idrok-stat-grid { grid-template-columns: repeat(2, 1fr); gap: 6px; }.tensor-story-words .idrok-stat-grid div { padding: 8px; }.tensor-story-words .idrok-dashboard-bottom { gap: 6px; }.tensor-story-words .idrok-roster span { padding: 6px 0; }
  .tensor-story-words .tensor-telegram-flow { min-height: 330px; }.tensor-story-words .telegram-connect-card { left: 5%; top: 12%; width: 46%; padding: 14px; }.tensor-story-words .telegram-ai-card { right: 5%; top: 45%; width: 61%; padding: 14px; }.tensor-story-words .telegram-connect-card > strong { font-size: 11px; }.tensor-story-words .telegram-caption { left: 5%; bottom: 7%; font-size: 12px; }
}

/* Mobile product previews keep the essential interface visible rather than
   squeezing a desktop workspace into a narrow screen. */
@media (max-width: 600px) {
  .tensor-story-words .idrok-dashboard-frame,
  .tensor-story-words .idrok-employees-frame {
    min-height: 296px;
    aspect-ratio: auto;
    grid-template-columns: 1fr;
  }
  .tensor-story-words .idrok-app-sidebar { display: none; }
  .tensor-story-words .idrok-app-main { padding: 18px; }
  .tensor-story-words .idrok-app-top { align-items: flex-start; }
  .tensor-story-words .idrok-app-top p { margin-bottom: 6px; font-size: 7px; }
  .tensor-story-words .idrok-app-top h3 { max-width: 210px; font-size: 19px; line-height: 1; }
  .tensor-story-words .idrok-app-top > div > small { margin-top: 5px; font-size: 8px; }
  .tensor-story-words .idrok-app-top button { padding: 9px 10px; font-size: 8px; }
  .tensor-story-words .idrok-stat-grid { margin-top: 15px; }
  .tensor-story-words .idrok-stat-grid > div:nth-child(n + 3),
  .tensor-story-words .idrok-dashboard-bottom { display: none; }

  .tensor-story-words .idrok-employees-main { padding-top: 18px; }
  .tensor-story-words .idrok-employees-frame .idrok-app-top h3 { font-size: 24px; }
  .tensor-story-words .idrok-employee-grid { margin-top: 15px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .tensor-story-words .idrok-employee-grid article { min-height: 144px; padding: 11px; }
  .tensor-story-words .idrok-employee-grid article:nth-child(n + 3) { display: none; }
  .tensor-story-words .idrok-employee-grid p { margin: 12px 0; font-size: 7px; }
  .tensor-story-words .idrok-employee-grid small { left: 11px; right: 11px; bottom: 9px; font-size: 7px; }

  .tensor-story-words .tensor-telegram-flow { min-height: 336px; aspect-ratio: auto; }
  .tensor-story-words .tensor-workspace-bar { height: 46px; padding-inline: 14px; font-size: 8px; letter-spacing: .08em; }
  .tensor-story-words .tensor-status { font-size: 7px; letter-spacing: .08em; }
  .tensor-story-words .telegram-connect-card { left: 5%; top: 66px; width: 43%; padding: 11px; }
  .tensor-story-words .telegram-connect-card p { margin-bottom: 7px; font-size: 7px; }
  .tensor-story-words .telegram-connect-card > strong { margin-bottom: 12px; font-size: 9px; white-space: nowrap; }
  .tensor-story-words .telegram-connect-card label { gap: 5px; font-size: 6px; }
  .tensor-story-words .telegram-connect-card label span { padding: 7px; font-size: 8px; overflow: hidden; }
  .tensor-story-words .telegram-connect-card em { margin-top: 10px; font-size: 8px; }
  .tensor-story-words .telegram-logo { width: 27px; height: 27px; }.tensor-story-words .telegram-logo svg { width: 16px; }
  .tensor-story-words .telegram-ai-card { right: 5%; top: 142px; width: 50%; padding: 12px; }
  .tensor-story-words .telegram-ai-card > p { margin-bottom: 7px; font-size: 7px; }
  .tensor-story-words .telegram-message { max-width: 100%; margin-top: 8px; padding: 8px 9px; font-size: 9px; }
  .tensor-story-words .telegram-typing { margin-top: 9px; font-size: 6px; white-space: nowrap; }
  .tensor-story-words .telegram-flow-line { left: 40%; right: 42%; top: 45%; transform: rotate(35deg); }
  .tensor-story-words .telegram-caption { left: 5%; bottom: 6%; max-width: 48%; font-size: 11px; }

  .tensor-story-words .idrok-dashboard-frame .idrok-dashboard-bottom { display: block; margin-top: 10px; }
  .tensor-story-words .idrok-dashboard-frame .idrok-approvals { display: none; }
  .tensor-story-words .idrok-dashboard-frame .idrok-roster { padding: 10px 12px; }
  .tensor-story-words .idrok-dashboard-frame .idrok-roster > p { display: inline; margin: 0 12px 0 0; font-size: 7px; }
  .tensor-story-words .idrok-dashboard-frame .idrok-roster h4 { display: inline; margin: 0; font-size: 11px; }
  .tensor-story-words .idrok-dashboard-frame .idrok-roster span { padding: 5px 0; font-size: 8px; }
  .tensor-story-words .idrok-dashboard-frame .idrok-roster span:nth-of-type(n + 3) { display: none; }
}

/* Only the four story headings receive replacement labels. Nested mockup
   cards use their own text without inheriting a Tensor section label. */
.tensor-story-words > article > p { font-size: 0 !important; }
.tensor-story-words > article > p::after { font: 700 13px/1 "Inter", sans-serif; letter-spacing: .045em; }
.tensor-story-words > article:nth-child(1) > p::after { content: "Tensor OS"; }
.tensor-story-words > article:nth-child(2) > p::after { content: "AI Employees"; }
.tensor-story-words > article:nth-child(3) > p::after { content: "Connections"; }
.tensor-story-words > article:nth-child(4) > p::after { content: "Human Control"; }

/* Shared navigation: one quiet selector moves between the four primary areas. */
.idrok-nav-desktop { position: relative; display: flex; align-items: center; gap: 3px; padding: 4px; }
.idrok-nav-desktop a { position: relative; z-index: 1; display: block; height: auto; padding: 9px 13px; overflow: visible; color: #cfd0c8; font: 600 12px/1 "Inter", sans-serif; text-decoration: none; white-space: nowrap; transition: color 180ms ease, transform 220ms cubic-bezier(.16,1,.3,1); }
.idrok-nav-desktop a:hover, .idrok-nav-desktop a:focus-visible, .idrok-nav-desktop a[aria-current="page"] { color: #f7f6ef; }
.idrok-nav-desktop a:hover, .idrok-nav-desktop a:focus-visible { transform: translateY(-1px); }
.idrok-nav-desktop a:focus-visible { outline: 1px solid var(--green); outline-offset: 3px; }
.idrok-nav-indicator { position: absolute; z-index: 0; top: 4px; left: 4px; width: 0; height: calc(100% - 8px); border: 1px solid #4a4e43; border-radius: 4px; background: #252820; opacity: 0; pointer-events: none; transform: translateX(0); transition: width 420ms cubic-bezier(.16,1,.3,1), transform 420ms cubic-bezier(.16,1,.3,1), opacity 180ms ease; }
.idrok-nav-desktop.has-selection .idrok-nav-indicator { opacity: 1; }
.idrok-nav-mobile { display: none; }

.idrok-detail-page { background: var(--cream); color: var(--ink); }
.idrok-detail-main { overflow: hidden; }
.detail-hero { min-height: min(82vh, 780px); padding: clamp(110px, 15vw, 190px) clamp(24px, 8vw, 138px) clamp(72px, 10vw, 128px); display: grid; align-content: end; border-bottom: 1px solid var(--line); }
.detail-hero .section-label { margin: 0 0 28px; }
.detail-hero h1 { max-width: 1000px; margin: 0; font: 400 clamp(58px, 8.6vw, 140px)/.82 Georgia, "Times New Roman", serif; letter-spacing: -.075em; }
.detail-hero h1 em { color: var(--green-dark); font-style: normal; }
.detail-hero p:last-child { max-width: 600px; margin: 42px 0 0 auto; color: #65675f; font-size: clamp(17px, 1.7vw, 24px); line-height: 1.5; }
.detail-section { padding: clamp(70px, 10vw, 150px) clamp(24px, 8vw, 138px); border-bottom: 1px solid var(--line); }
.detail-section-heading { display: grid; grid-template-columns: minmax(170px, .42fr) minmax(0, 1fr); gap: 36px; align-items: start; margin-bottom: clamp(45px, 6vw, 84px); }
.detail-section-heading p { margin: 5px 0 0; font: 600 10px/1.4 "IBM Plex Mono", monospace; letter-spacing: .15em; color: var(--green-dark); text-transform: uppercase; }
.detail-section-heading h2 { max-width: 850px; margin: 0; font: 400 clamp(42px, 5.6vw, 82px)/.9 Georgia, "Times New Roman", serif; letter-spacing: -.06em; }
.detail-section-heading h2 em { color: var(--green-dark); font-style: normal; }
.detail-prose { max-width: 720px; margin-left: auto; color: #676961; font-size: clamp(18px, 2vw, 27px); line-height: 1.48; }
.detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.detail-grid article { min-height: 270px; padding: 26px 26px 28px 0; border-bottom: 1px solid var(--line); }
.detail-grid article:not(:nth-child(3n + 1)) { padding-left: 26px; border-left: 1px solid var(--line); }
.detail-grid span { display: block; color: var(--green-dark); font: 600 10px/1.3 "IBM Plex Mono", monospace; letter-spacing: .14em; }
.detail-grid h3 { margin: 48px 0 14px; font: 400 clamp(25px, 2.8vw, 42px)/.96 Georgia, "Times New Roman", serif; letter-spacing: -.05em; }
.detail-grid p { max-width: 310px; margin: 0; color: #6a6c64; font-size: 15px; line-height: 1.55; }
.detail-list { border-top: 1px solid var(--line); }
.detail-list article { display: grid; grid-template-columns: minmax(120px, .3fr) minmax(0, 1fr) minmax(220px, .7fr); gap: 28px; padding: 25px 0; border-bottom: 1px solid var(--line); }
.detail-list span { color: var(--green-dark); font: 600 10px/1.4 "IBM Plex Mono", monospace; letter-spacing: .14em; }
.detail-list h3 { margin: 0; font: 400 clamp(27px, 3vw, 45px)/.95 Georgia, "Times New Roman", serif; letter-spacing: -.05em; }
.detail-list p { margin: 0; color: #676961; font-size: 16px; line-height: 1.5; }
.detail-cta { display: flex; justify-content: space-between; align-items: end; gap: 30px; background: #151713; color: #f5f4ec; }
.detail-cta p { margin: 0; color: #aeb0a6; font: 500 11px/1.4 "IBM Plex Mono", monospace; letter-spacing: .12em; text-transform: uppercase; }
.detail-cta h2 { max-width: 760px; margin: 22px 0 0; font: 400 clamp(46px, 6.2vw, 92px)/.86 Georgia, "Times New Roman", serif; letter-spacing: -.065em; }
.detail-cta a { flex: 0 0 auto; padding: 16px 20px; border-radius: 5px; background: var(--green); color: #fff; font-weight: 700; text-decoration: none; }

@media (max-width: 900px) {
  .idrok-nav { display: grid !important; padding: 14px 18px !important; }
  .idrok-nav-desktop { display: none; }
  .idrok-nav-mobile { display: grid; }
  .idrok-nav-mobile details { border-bottom: 1px solid #30332d; }
  .idrok-nav-mobile details:last-child { border-bottom: 0; }
  .idrok-nav-mobile summary { min-height: 54px; display: flex; align-items: center; justify-content: space-between; color: #f3f2eb; cursor: pointer; font: 600 15px/1 "Inter", sans-serif; list-style: none; }
  .idrok-nav-mobile summary::-webkit-details-marker { display: none; }
  .idrok-nav-mobile summary b { color: var(--green); font: 400 21px/1 "Inter", sans-serif; transition: transform 280ms cubic-bezier(.16,1,.3,1); }
  .idrok-nav-mobile details[open] summary b { transform: rotate(45deg); }
  .idrok-nav-mobile details > div { display: grid; gap: 0; padding: 0 0 10px 14px; animation: idrok-menu-reveal 320ms cubic-bezier(.16,1,.3,1); }
  .idrok-nav-mobile a, .idrok-nav-mobile a:last-child { min-height: 36px !important; display: flex !important; align-items: center; border: 0 !important; color: #bfc1b7; font-size: 12px !important; }
  .idrok-nav-mobile a[aria-current="page"] { color: #f7f6ef; }
  @keyframes idrok-menu-reveal { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
  .detail-hero { min-height: 560px; padding-top: 138px; }
  .detail-hero p:last-child { margin-left: 0; }
  .detail-section-heading { grid-template-columns: 1fr; gap: 18px; }
  .detail-grid { grid-template-columns: 1fr 1fr; }
  .detail-grid article:not(:nth-child(3n + 1)) { border-left: 0; padding-left: 0; }
  .detail-grid article:nth-child(even) { padding-left: 20px; border-left: 1px solid var(--line); }
  .detail-list article { grid-template-columns: 88px 1fr; }
  .detail-list p { grid-column: 2; }
}
@media (max-width: 600px) {
  .idrok-nav { max-height: calc(100svh - 92px); overflow: auto; }
  .detail-hero { min-height: 500px; padding: 126px 24px 68px; }
  .detail-hero h1 { font-size: clamp(50px, 15vw, 72px); }
  .detail-hero p:last-child { margin-top: 30px; font-size: 17px; }
  .detail-section { padding: 66px 24px; }
  .detail-grid { grid-template-columns: 1fr; }
  .detail-grid article, .detail-grid article:nth-child(even) { min-height: 0; padding: 24px 0; border-left: 0; }
  .detail-grid h3 { margin-top: 32px; }
  .detail-list article { grid-template-columns: 1fr; gap: 12px; }
  .detail-list p { grid-column: auto; }
  .detail-cta { display: block; }
  .detail-cta a { display: inline-block; margin-top: 32px; }
}

/* Tensor is presented through the real product interface, with the website
   providing the frame and the product doing the proof. */
.tensor-product-hero { min-height: min(78vh, 760px); }
.tensor-hero-link { width: max-content; margin: 32px 0 0 auto; padding-bottom: 7px; border-bottom: 1px solid var(--green-dark); color: var(--ink); font: 600 12px/1 "IBM Plex Mono", monospace; letter-spacing: .08em; text-decoration: none; }
.tensor-hero-link span { color: var(--green-dark); margin-left: 10px; }
.tensor-product-section { padding: clamp(72px, 10vw, 150px) clamp(24px, 8vw, 138px); border-bottom: 1px solid var(--line); }
.tensor-product-heading { display: grid; grid-template-columns: minmax(180px, .36fr) minmax(0, .86fr) minmax(260px, .58fr); gap: 32px; align-items: start; margin-bottom: clamp(44px, 6vw, 84px); }
.tensor-product-heading > p, .tensor-product-copy > p:first-child { margin: 7px 0 0; color: var(--green-dark); font: 600 10px/1.4 "IBM Plex Mono", monospace; letter-spacing: .14em; }
.tensor-product-heading h2, .tensor-product-copy h2 { margin: 0; font: 400 clamp(42px, 5.5vw, 80px)/.89 Georgia, "Times New Roman", serif; letter-spacing: -.065em; }
.tensor-product-heading h2 em, .tensor-product-copy h2 em { color: var(--green-dark); font-style: normal; }
.tensor-product-heading div { color: #65675f; font-size: 16px; line-height: 1.55; }
.tensor-product-heading div p { margin: 0; }
.tensor-product-heading div p + p { margin-top: 18px; }
.tensor-product-screen { margin: 0; overflow: hidden; border: 1px solid #5b5e53; border-radius: 16px; background: #10120f; box-shadow: 0 28px 60px rgba(34,36,29,.15); }
.tensor-product-screen img { display: block; width: 100%; height: auto; }
.tensor-dashboard-section, .tensor-control-section { background: #131510; border-color: #30332d; color: #f5f4ec; }
.tensor-dashboard-section .tensor-product-heading > p, .tensor-control-section .tensor-product-heading > p { color: #a6b87d; }
.tensor-dashboard-section .tensor-product-heading h2 em, .tensor-control-section .tensor-product-heading h2 em { color: #afc682; }
.tensor-dashboard-section .tensor-product-heading div, .tensor-control-section .tensor-product-heading div { color: #c0c1b9; }
.tensor-dashboard-screen { border-color: #3f4339; }
.tensor-product-split { display: grid; grid-template-columns: minmax(240px, .65fr) minmax(0, 1.35fr); gap: clamp(48px, 8vw, 128px); align-items: center; }
.tensor-product-copy { max-width: 480px; }
.tensor-product-copy h2 { margin: 34px 0; }
.tensor-product-copy > p:not(:first-child) { margin: 0; color: #65675f; font-size: 18px; line-height: 1.55; }
.tensor-product-copy > p + p { margin-top: 18px !important; }
.tensor-os-section { background: #eeeDE5; }
.tensor-chat-screen { max-width: 630px; justify-self: center; border-color: #4b4f43; }
.tensor-connections-section { min-height: 620px; display: grid; align-content: space-between; }
.tensor-connection-note { width: min(480px, 100%); margin-left: auto; padding: 28px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.tensor-connection-note span { color: var(--green-dark); font: 600 10px/1 "IBM Plex Mono", monospace; letter-spacing: .14em; }
.tensor-connection-note strong { display: block; margin: 24px 0 12px; font: 400 clamp(40px, 5vw, 64px)/.9 Georgia, "Times New Roman", serif; letter-spacing: -.06em; }
.tensor-connection-brand { display: flex; align-items: center; gap: 15px; margin: 22px 0 12px; }.tensor-connection-brand img { width: clamp(42px, 4.3vw, 58px); height: clamp(42px, 4.3vw, 58px); flex: 0 0 auto; }.tensor-connection-brand strong { margin: 0; }
.tensor-connection-note p { max-width: 360px; margin: 0; color: #65675f; font-size: 16px; line-height: 1.5; }
.tensor-final-cta { border-bottom: 0; }
@media (max-width: 900px) {
  .tensor-product-heading { grid-template-columns: 1fr minmax(0, 1fr); }
  .tensor-product-heading > p { grid-column: 1 / -1; }
  .tensor-product-heading div { grid-column: 2; }
  .tensor-product-split { grid-template-columns: 1fr; gap: 46px; }
  .tensor-os-section .tensor-product-copy { order: -1; }
}
@media (max-width: 600px) {
  .tensor-product-hero { min-height: 540px; }
  .tensor-hero-link { margin-left: 0; }
  .tensor-product-section { padding: 68px 24px; }
  .tensor-product-heading { display: block; margin-bottom: 42px; }
  .tensor-product-heading h2 { margin: 28px 0; }
  .tensor-product-heading div { font-size: 16px; }
  .tensor-product-screen { border-radius: 11px; }
  .tensor-product-copy h2 { margin: 26px 0; }
  .tensor-product-copy > p:not(:first-child) { font-size: 17px; }
  .tensor-connections-section { min-height: 0; gap: 54px; }
  .tensor-connection-note { margin-left: 0; }.tensor-connection-brand { gap: 13px; }
}

/* Technology page: deliberately architectural rather than promotional. */
.technology-flow-section { padding: clamp(74px, 10vw, 150px) clamp(24px, 8vw, 138px); background: #151713; color: #f5f4ec; }
.technology-flow-heading { display: grid; grid-template-columns: minmax(150px, .32fr) minmax(0, 1fr) minmax(230px, .5fr); gap: 30px; align-items: start; }
.technology-flow-heading > p:first-child, .technology-layer-number, .technology-together-section > p { margin: 7px 0 0; color: #aabe83; font: 600 10px/1.4 "IBM Plex Mono", monospace; letter-spacing: .14em; }
.technology-flow-heading h2 { max-width: 760px; margin: 0; font: 400 clamp(42px, 5.2vw, 78px)/.9 Georgia, "Times New Roman", serif; letter-spacing: -.065em; }
.technology-flow-heading h2 em, .technology-layer-content h2 em, .technology-together-section h2 em { color: #aabe83; font-style: normal; }
.technology-flow-heading > p:last-child { margin: 5px 0 0; color: #b9bbb2; font-size: 16px; line-height: 1.55; }
.technology-flow { margin: clamp(58px, 8vw, 110px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); list-style: none; border-top: 1px solid #3a3d35; border-bottom: 1px solid #3a3d35; }
.technology-flow li { position: relative; min-height: 252px; padding: 23px 18px 22px 0; border-right: 1px solid #3a3d35; }
.technology-flow li:not(:first-child) { padding-left: 18px; }
.technology-flow li:last-child { border-right: 0; }
.technology-flow li::after { content: "→"; position: absolute; right: -10px; top: 26px; z-index: 1; padding: 0 2px; background: #151713; color: #aabe83; font-size: 15px; }
.technology-flow li:last-child::after { display: none; }
.technology-flow span { display: block; color: #aabe83; font: 600 9px/1 "IBM Plex Mono", monospace; letter-spacing: .14em; }
.technology-flow strong { display: block; margin: 62px 0 13px; font: 400 clamp(21px, 2vw, 31px)/.95 Georgia, "Times New Roman", serif; letter-spacing: -.045em; }
.technology-flow small { display: block; color: #afb1a9; font: 14px/1.45 "Inter", sans-serif; }
.technology-layer-section { min-height: 520px; padding: clamp(74px, 10vw, 150px) clamp(24px, 8vw, 138px); display: grid; grid-template-columns: minmax(180px, .42fr) minmax(0, 1.1fr); gap: clamp(45px, 8vw, 150px); border-bottom: 1px solid var(--line); }
.technology-layer-content { display: grid; grid-template-columns: minmax(0, .98fr) minmax(220px, .52fr); gap: 48px; align-items: start; }
.technology-layer-content h2 { max-width: 700px; margin: 0; font: 400 clamp(44px, 5.6vw, 84px)/.88 Georgia, "Times New Roman", serif; letter-spacing: -.07em; }
.technology-layer-content > div { margin-top: 7px; color: #62645d; font-size: 16px; line-height: 1.58; }
.technology-layer-content > div p { margin: 0; }.technology-layer-content > div p + p { margin-top: 18px; }
.technology-layer-dark { background: #11130f; border-color: #30332d; color: #f5f4ec; }
.technology-layer-dark .technology-layer-number { color: #aabe83; }.technology-layer-dark .technology-layer-content > div { color: #b7b9af; }
.technology-together-section { padding: clamp(88px, 12vw, 178px) clamp(24px, 8vw, 138px); display: grid; grid-template-columns: minmax(150px, .32fr) minmax(0, 1fr); gap: 30px; border-bottom: 1px solid var(--line); }
.technology-together-section h2 { max-width: 980px; margin: 0; font: 400 clamp(48px, 7.3vw, 115px)/.84 Georgia, "Times New Roman", serif; letter-spacing: -.075em; }
.technology-together-section > p:last-child { grid-column: 2; max-width: 650px; margin: 16px 0 0; color: #62645d; font-size: clamp(17px, 1.75vw, 23px); line-height: 1.5; }
@media (max-width: 1100px) { .technology-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); }.technology-flow li:nth-child(3) { border-right: 0; }.technology-flow li:nth-child(-n+3) { border-bottom: 1px solid #3a3d35; } }
@media (max-width: 900px) { .technology-flow-heading { grid-template-columns: 1fr 1fr; }.technology-flow-heading > p:first-child { grid-column: 1 / -1; }.technology-flow-heading > p:last-child { grid-column: 2; }.technology-layer-section { grid-template-columns: 1fr; gap: 22px; }.technology-layer-content { grid-template-columns: 1fr 1fr; }.technology-together-section { grid-template-columns: 1fr; gap: 20px; }.technology-together-section > p:last-child { grid-column: auto; } }
@media (max-width: 600px) { .technology-flow-section { padding: 68px 24px; }.technology-flow-heading { display: block; }.technology-flow-heading h2 { margin: 28px 0; }.technology-flow { grid-template-columns: 1fr; margin-top: 46px; }.technology-flow li, .technology-flow li:not(:first-child) { min-height: 0; padding: 20px 0; border-right: 0; border-bottom: 1px solid #3a3d35; }.technology-flow li:last-child { border-bottom: 0; }.technology-flow li::after { top: auto; right: 0; bottom: -11px; }.technology-flow strong { margin: 26px 0 10px; }.technology-layer-section { min-height: 0; padding: 68px 24px; }.technology-layer-content { grid-template-columns: 1fr; gap: 28px; }.technology-layer-content h2 { font-size: clamp(42px, 13vw, 66px); }.technology-together-section { padding: 76px 24px; }.technology-together-section h2 { font-size: clamp(45px, 13vw, 67px); } }

/* The single olive frame belongs only to the active page or section. */
.idrok-nav-desktop a[aria-current="page"] { color: #f4f5ed; }

/* The compact double-slash mark echoes the favicon without replacing the
   established IDROK wordmark. */
.idrok-header-brand, .idrok-wordmark { position: relative; padding-left: 25px; }
.idrok-header-brand::before, .idrok-wordmark::before { content: "//"; position: absolute; left: 0; top: 1px; color: var(--green); font: 700 14px/.9 "IBM Plex Mono", monospace; letter-spacing: -.24em; transform: skewX(-12deg); }
.idrok-wordmark::before { top: 4px; font-size: 16px; }
.atlas-public-page .atlas-footer .idrok-wordmark { color: #252820; }
.atlas-public-page .atlas-footer .idrok-wordmark .idrok-secondary { color: var(--green-dark); }
.application-page .idrok-wordmark { color: #e4e5dc; }.application-page .idrok-wordmark .idrok-secondary { color: var(--green); }
@media (max-width: 520px) { .idrok-header-brand { padding-left: 21px; }.idrok-header-brand::before { font-size: 12px; } }

/* Solid favicon-style double slash: larger and anchored to the wordmark edge. */
.idrok-header-brand, .idrok-wordmark { padding-left: 40px; }
.idrok-header-brand::before, .idrok-header-brand::after,
.idrok-wordmark::before, .idrok-wordmark::after { content: ""; position: absolute; background: var(--green); }
.idrok-header-brand::before, .idrok-header-brand::after { background: #f5f4ec; }
.idrok-header-brand::before, .idrok-header-brand::after { width: 17px; height: 29px; top: -1px; clip-path: polygon(0 100%, 66.7% 0, 100% 0, 33.3% 100%); }
.idrok-header-brand::before, .idrok-wordmark::before { left: 4px; }
.idrok-header-brand::after { left: 16px; }
.idrok-header-brand::before { width: 30px; height: 29px; background: url("/assets/idrok-symbol-white.svg") center / 58px 58px no-repeat; clip-path: none; }
.idrok-header-brand::after { display: none; }
.idrok-wordmark::before, .idrok-wordmark::after { top: 1px; width: 19px; height: 33px; clip-path: polygon(0 100%, 67.9% 0, 100% 0, 32.1% 100%); }
.idrok-wordmark::after { left: 17px; }
.idrok-wordmark::before { width: 34px; height: 33px; background: url("/assets/idrok-symbol-white.svg") center / 66px 66px no-repeat; clip-path: none; }
.idrok-wordmark::after { display: none; }

/* Shared logo geometry: the mark occupies the same visual height as both
   wordmark lines, with a deliberate, consistent space before the text. */
.idrok-header-brand { padding-left: 48px; }
.idrok-header-brand::before { width: 35px; height: 34px; top: 0; left: 4px; background-size: 68px 68px; }
.idrok-wordmark { padding-left: 57px; }
.idrok-wordmark::before { width: 43px; height: 42px; top: 0; left: 4px; background-size: 84px 84px; }

/* Publication home, navigation and theme system. */
:root { --surface: #10110f; --surface-raised: #171815; --surface-soft: #20221d; --content: #f2f1eb; --content-muted: #afb1a8; --rule: rgba(242,241,235,.16); --accent: #9eae78; }
html[data-theme="light"] { --surface: #efeee7; --surface-raised: #e5e3d8; --surface-soft: #d9d8cd; --content: #171815; --content-muted: #5d6157; --rule: rgba(23,24,21,.16); }
html[data-theme="light"] body { background: var(--surface); color: var(--content); }
html[data-theme="light"] .idrok-header { background: rgba(239,238,231,.94); border-color: var(--rule); }
html[data-theme="light"] .idrok-header-brand { color: #171815; }
html[data-theme="light"] .idrok-header-brand::before { background-image: url("/assets/idrok-symbol-dark.svg"); }
html[data-theme="light"] .idrok-nav a { color: #4d5148; }
html[data-theme="light"] .publication-footer { background: #171815; color: #f2f1eb; }
html[data-theme="light"] .publication-footer .idrok-wordmark::before { background-image: url("/assets/idrok-symbol-white.svg"); }
html[data-theme="light"] .publication-footer .idrok-secondary { color: var(--accent); }
.theme-toggle { min-height: 38px; display: inline-flex; align-items: center; gap: 8px; margin-left: clamp(14px,2vw,28px); padding: 0 10px; border: 1px solid var(--rule); border-radius: 0; background: transparent; color: currentColor; cursor: pointer; font: 600 10px/1 "IBM Plex Mono", monospace; letter-spacing: .08em; }
.theme-toggle span { color: var(--accent); font-size: 17px; }
.publication-menu-button { display: none; }
.publication-mobile-menu { position: fixed; inset: 92px 0 auto; z-index: 29; padding: 16px 24px 28px; border-bottom: 1px solid var(--rule); background: var(--surface); }
.publication-mobile-menu[hidden] { display: none; }
.publication-mobile-menu a { display: flex; justify-content: space-between; padding: 17px 0; border-bottom: 1px solid var(--rule); color: var(--content); font: 500 24px/1 "Inter", sans-serif; text-decoration: none; }
.publication-mobile-menu span { color: var(--content-muted); font: 600 9px/1.4 "IBM Plex Mono", monospace; letter-spacing: .08em; text-align: right; }
.publication-hero { position: relative; min-height: min(820px, calc(100svh - 92px)); display: flex; align-items: flex-end; overflow: hidden; background: #10110f; color: #f2f1eb; }
.publication-hero-image, .publication-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.publication-hero-image { object-fit: cover; object-position: center; animation: idrok-hero-enter 1.7s cubic-bezier(.16,1,.3,1) both; }
.publication-hero-shade { background: linear-gradient(90deg, rgba(12,13,12,.92) 0%, rgba(12,13,12,.64) 43%, rgba(12,13,12,.06) 78%), linear-gradient(0deg, rgba(12,13,12,.75), transparent 52%); }
.publication-hero-copy, .publication-hero-note { position: relative; z-index: 1; }
.publication-hero-copy { max-width: 780px; padding: clamp(54px,8vw,130px) clamp(24px,8vw,138px); }
.publication-eyebrow, .publication-kicker { margin: 0; color: var(--accent); font: 600 10px/1.3 "IBM Plex Mono", monospace; letter-spacing: .15em; }
.publication-hero h1 { max-width: 770px; margin: 20px 0 26px; font: 400 clamp(58px,8vw,122px)/.84 Georgia, "Times New Roman", serif; letter-spacing: -.075em; }
.publication-hero h1 em, .publication-manifesto em, .publication-tensor em { color: var(--accent); font-style: normal; }
.publication-hero-copy > p:not(.publication-eyebrow) { max-width: 510px; margin: 0; color: #d1d2ca; font-size: 17px; line-height: 1.55; }
.publication-link { display: inline-flex; gap: 30px; margin-top: 34px; padding-bottom: 8px; border-bottom: 1px solid currentColor; color: inherit; font-size: 13px; font-weight: 700; text-decoration: none; }
.publication-link span { color: var(--accent); }
.publication-hero-note { width: min(310px, 28vw); margin: 0 clamp(24px,8vw,138px) clamp(52px,7vw,110px) auto; padding-top: 16px; border-top: 1px solid rgba(242,241,235,.38); }
.publication-hero-note > span, .publication-footer > div > p { color: var(--accent); font: 600 9px/1 "IBM Plex Mono", monospace; letter-spacing: .14em; }
.publication-hero-note p { margin: 14px 0; font: 400 18px/1.2 Georgia, serif; }
.publication-hero-note a { color: #f2f1eb; font-size: 11px; text-decoration: none; }
.publication-manifesto { display: grid; grid-template-columns: minmax(180px,.34fr) minmax(0,1fr); gap: 32px; padding: clamp(90px,12vw,188px) clamp(24px,8vw,138px); background: var(--surface); color: var(--content); }
.publication-manifesto h2, .publication-tensor h2 { max-width: 820px; margin: 0; font: 400 clamp(46px,6.6vw,100px)/.88 Georgia, serif; letter-spacing: -.07em; }
.publication-manifesto div { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(240px,.5fr); gap: clamp(35px,7vw,130px); }
.publication-manifesto div p { align-self: end; margin: 0; color: var(--content-muted); font-size: 16px; line-height: 1.65; }
.publication-featured { padding: clamp(70px,9vw,140px) clamp(24px,8vw,138px); background: var(--surface-raised); color: var(--content); }
.publication-section-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; margin-bottom: 40px; }
.publication-section-heading a { color: var(--content); font-size: 12px; text-decoration: none; }
.publication-grid { display: grid; grid-template-columns: 1.4fr .8fr .8fr; border-top: 1px solid var(--rule); }
.publication-feature { min-height: 410px; border-right: 1px solid var(--rule); }
.publication-feature:last-child { border: 0; }
.publication-feature a { height: 100%; padding: 26px; display: flex; flex-direction: column; color: inherit; text-decoration: none; transition: background-color .3s ease; }
.publication-feature a:hover { background: rgba(158,174,120,.09); }
.publication-feature h2 { max-width: 520px; margin: auto 0 14px; font: 400 clamp(28px,3vw,47px)/.94 Georgia, serif; letter-spacing: -.055em; }
.publication-feature:not(.publication-feature--lead) h2 { font-size: clamp(24px,2.2vw,35px); }
.publication-feature p { margin: 0; color: var(--content-muted); font-size: 14px; line-height: 1.55; }
.publication-feature footer { display: flex; justify-content: space-between; margin-top: 30px; padding-top: 15px; border-top: 1px solid var(--rule); color: var(--content-muted); font: 600 9px/1 "IBM Plex Mono", monospace; letter-spacing: .08em; }
.publication-feature-image { width: 116px; height: 116px; margin: 20px 0 12px; object-fit: cover; mix-blend-mode: multiply; }
.publication-grid .publication-feature-image { width: 100%; height: auto; aspect-ratio: 1; max-width: 220px; margin: 24px 0; object-fit: cover; }
.publication-tensor figure { width: min(100%, 760px); justify-self: end; aspect-ratio: 16 / 10; }.publication-tensor figure img { width:100%; height:100%; object-fit:contain; }
html[data-theme="dark"] .publication-feature-image, :root:not([data-theme]) .publication-feature-image { mix-blend-mode: screen; opacity: .86; }
.publication-tensor { padding: clamp(70px,10vw,160px) clamp(24px,8vw,138px); display: grid; grid-template-columns: minmax(0,.8fr) minmax(360px,1.2fr); gap: clamp(42px,8vw,150px); align-items: center; background: var(--surface); color: var(--content); }
.publication-tensor > div > p:not(.publication-eyebrow) { max-width: 440px; margin: 28px 0 0; color: var(--content-muted); font-size: 16px; line-height: 1.65; }
.publication-tensor figure { margin: 0; border: 1px solid var(--rule); overflow: hidden; }
.publication-tensor img { width: 100%; display: block; transition: transform .8s cubic-bezier(.16,1,.3,1); }
.publication-tensor figure:hover img { transform: scale(1.025); }
.publication-statement { padding: clamp(86px,12vw,190px) clamp(24px,8vw,138px); display: grid; grid-template-columns: minmax(0,1.1fr) minmax(220px,.4fr); gap: 50px; align-items: end; background: var(--green-dark); color: #f2f1eb; }
.publication-statement p { max-width: 950px; margin: 0; font: 400 clamp(38px,5vw,76px)/.94 Georgia, serif; letter-spacing: -.06em; }
.publication-statement a { justify-self: end; padding-bottom: 8px; border-bottom: 1px solid #dce1ce; color: #f2f1eb; font-size: 13px; text-decoration: none; }
.publication-statement a span { margin-left: 30px; }
.publication-footer { position: relative; display: grid; grid-template-columns: 1.6fr repeat(3,1fr); gap: 38px; padding: 68px clamp(24px,8vw,138px) 48px; background: #10110f; color: #f2f1eb; }
.publication-footer-brand p { max-width: 270px; margin: 25px 0 0; color: #aeb0a7; font-size: 13px; line-height: 1.5; }
.publication-footer > div:not(.publication-footer-brand) { display: grid; align-content: start; gap: 12px; }
.publication-footer > div > p { margin: 4px 0 16px; }
.publication-footer a { color: #dedfd7; font-size: 12px; text-decoration: none; }
.publication-footer a:hover { color: var(--accent); }
.publication-footer small { grid-column: 1 / -1; margin-top: 55px; padding-top: 16px; border-top: 1px solid rgba(242,241,235,.14); color: #85887f; font: 600 9px/1.4 "IBM Plex Mono", monospace; letter-spacing: .08em; }
@keyframes idrok-hero-enter { from { transform: scale(1.06); opacity: .2; } to { transform: scale(1); opacity: 1; } }
@media (max-width: 860px) { .publication-nav { display: none; }.publication-menu-button { display: inline-flex; margin-left: 10px; }.idrok-header .theme-toggle { margin-left: auto; }.publication-hero { min-height: 700px; }.publication-hero-note { display: none; }.publication-manifesto, .publication-tensor { grid-template-columns: 1fr; }.publication-manifesto div { grid-template-columns: 1fr; }.publication-manifesto div p { max-width: 560px; margin-top: 28px; }.publication-grid { grid-template-columns: 1fr; }.publication-feature { min-height: 285px; border-right: 0; border-bottom: 1px solid var(--rule); }.publication-tensor figure { grid-row: 1; }.publication-footer { grid-template-columns: 1fr 1fr; }.publication-footer-brand { grid-column: 1 / -1; } }
@media (max-width: 520px) { .idrok-header-brand { padding-left: 38px; }.idrok-header-brand::before { width: 29px; height: 28px; left: 3px; top: 0; background-size: 56px 56px; }.theme-toggle b { display: none; }.theme-toggle { min-height: 34px; padding: 0 8px; }.publication-hero { min-height: 640px; }.publication-hero-copy { padding-bottom: 48px; }.publication-hero h1 { font-size: clamp(52px,15vw,72px); }.publication-manifesto, .publication-featured, .publication-tensor, .publication-statement { padding-block: 72px; }.publication-statement { grid-template-columns: 1fr; }.publication-statement a { justify-self: start; }.publication-footer { grid-template-columns: 1fr; gap: 32px; }.publication-footer small { margin-top: 18px; }.publication-mobile-menu { inset: 76px 0 auto; } }

.company-article { background: var(--paper); color: #171815; padding: clamp(80px,12vw,170px) clamp(24px,8vw,138px); }.company-article-intro { max-width: 1060px; }.company-article-intro h1 { max-width: 950px; margin: 22px 0 30px; font: 400 clamp(58px,8vw,124px)/.83 Georgia,serif; letter-spacing: -.08em; }.company-article-intro h1 em { color: var(--green-dark); font-style: normal; }.company-article-dek { max-width: 670px; color: #62645d; font-size: clamp(19px,2.1vw,28px); line-height: 1.42; }.company-article-byline { margin-top: 34px; padding-top: 15px; border-top: 1px solid #c9c9bf; font: 600 10px/1.4 "IBM Plex Mono",monospace; letter-spacing: .1em; }.company-article-image { max-width: 1280px; margin: clamp(60px,9vw,130px) auto; }.company-article-image img { width: 100%; display: block; }.company-article-image figcaption { margin-top: 12px; color: #777970; font: 500 10px/1.4 "IBM Plex Mono",monospace; }.company-article-body { max-width: 720px; margin: 0 auto; font: 400 clamp(21px,2.2vw,30px)/1.48 Georgia,serif; }.company-article-body p { margin: 0 0 34px; }.company-article-lead { font-size: 1.18em; }.company-article-body h2 { margin: 80px 0 28px; font: 500 clamp(35px,4vw,58px)/.94 Georgia,serif; letter-spacing: -.055em; }.company-article-body blockquote { margin: 65px 0; padding: 30px 0; border-top: 1px solid #9eae78; border-bottom: 1px solid #9eae78; color: var(--green-dark); font-size: 1.14em; line-height: 1.16; }.company-article-related { max-width: 1050px; margin: clamp(80px,12vw,170px) auto 0; padding-top: 25px; border-top: 1px solid #c9c9bf; display: grid; grid-template-columns: 1fr repeat(3,1fr); gap: 18px; }.company-article-related a { min-height: 150px; padding: 20px 0; color: #171815; text-decoration: none; }.company-article-related span { display:block; color:var(--green-dark); font:600 9px/1.3 "IBM Plex Mono",monospace; letter-spacing:.1em; }.company-article-related strong { display:block; margin-top:32px; font:400 24px/1 Georgia,serif; }@media(max-width:760px){.company-article-related{grid-template-columns:1fr}.company-article-related a{min-height:0;border-bottom:1px solid #d1d0c6}.company-article-related strong{margin-top:12px}.company-article-body{font-size:22px}}
@media (max-width: 520px) {
  .idrok-header-brand { padding-left: 31px; }
  .idrok-header-brand::before, .idrok-header-brand::after { width: 13px; height: 22px; top: 0; clip-path: polygon(0 100%, 66.2% 0, 100% 0, 33.8% 100%); }
  .idrok-header-brand::before { left: 3px; }.idrok-header-brand::after { left: 12px; }
  .idrok-header-brand::before { width: 23px; height: 22px; background-size: 44px 44px; clip-path: none; }
}

/* Company page: the mission and operating principles behind Tensor. */
.company-why-section { padding: clamp(76px, 11vw, 165px) clamp(24px, 8vw, 138px); display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(260px, .55fr); gap: clamp(46px, 10vw, 180px); background: #151713; color: #f5f4ec; }
.company-why-section > div:first-child > p, .company-tensor-label p, .company-direction-section > p:first-child { margin: 0 0 30px; color: #aabe83; font: 600 10px/1.4 "IBM Plex Mono", monospace; letter-spacing: .14em; }
.company-why-section h2 { max-width: 820px; margin: 0; font: 400 clamp(46px, 6.5vw, 100px)/.86 Georgia, "Times New Roman", serif; letter-spacing: -.07em; }
.company-why-section h2 em, .company-tensor-section h2 em, .company-direction-section h2 em { color: #aabe83; font-style: normal; }
.company-why-section > div:nth-child(2) { align-self: end; color: #bec0b6; font-size: 17px; line-height: 1.6; }
.company-why-section > div:nth-child(2) p { margin: 0; }.company-why-section > div:nth-child(2) p + p { margin-top: 20px; }
.company-why-section ol { grid-column: 1 / -1; margin: clamp(45px, 7vw, 100px) 0 0; padding: 14px 0; display: flex; flex-wrap: wrap; gap: 0; border-top: 1px solid #383b33; border-bottom: 1px solid #383b33; list-style: none; }
.company-why-section li { padding: 8px clamp(13px, 2.2vw, 30px); color: #d9dad1; border-right: 1px solid #383b33; font: 600 10px/1.3 "IBM Plex Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
.company-why-section li:first-child { padding-left: 0; }.company-why-section li:last-child { border-right: 0; }
.company-principles-section .detail-grid article { min-height: 300px; }
.company-tensor-section { padding: clamp(78px, 11vw, 165px) clamp(24px, 8vw, 138px); display: grid; grid-template-columns: minmax(160px, .35fr) minmax(0, .88fr); gap: clamp(45px, 9vw, 150px); border-bottom: 1px solid var(--line); }
.company-tensor-label span { color: #777970; font: 600 10px/1.4 "IBM Plex Mono", monospace; letter-spacing: .14em; }
.company-tensor-section h2 { max-width: 860px; margin: 0; font: 400 clamp(48px, 6.5vw, 100px)/.86 Georgia, "Times New Roman", serif; letter-spacing: -.07em; }
.company-tensor-section > div:last-child > p { max-width: 560px; margin: 40px 0 0 auto; color: #62645d; font-size: clamp(17px, 1.75vw, 23px); line-height: 1.52; }
.company-tensor-section a { display: inline-block; margin: 32px 0 0 calc(100% - 210px); padding-bottom: 7px; border-bottom: 1px solid var(--green-dark); color: var(--ink); font: 600 11px/1 "IBM Plex Mono", monospace; letter-spacing: .08em; text-decoration: none; }
.company-tensor-section a span { color: var(--green-dark); margin-left: 8px; }
.company-direction-section { min-height: 680px; padding: clamp(82px, 12vw, 180px) clamp(24px, 8vw, 138px); display: grid; grid-template-columns: minmax(160px, .32fr) minmax(0, 1fr); gap: 30px; align-content: center; border-bottom: 1px solid var(--line); }
.company-direction-section h2 { max-width: 1050px; margin: 0; font: 400 clamp(48px, 7.3vw, 115px)/.84 Georgia, "Times New Roman", serif; letter-spacing: -.075em; }
.company-direction-section > p:last-child { grid-column: 2; max-width: 640px; margin: 20px 0 0; color: #62645d; font-size: clamp(17px, 1.75vw, 23px); line-height: 1.5; }
.company-final-links { display: flex; flex-wrap: wrap; gap: 12px; }.company-final-links a + a { background: transparent; border: 1px solid #677454; color: #f5f4ec; }
@media (max-width: 900px) { .company-why-section { grid-template-columns: 1fr 1fr; }.company-tensor-section { grid-template-columns: 1fr; gap: 30px; }.company-tensor-section > div:last-child > p { margin-left: 0; }.company-tensor-section a { margin-left: 0; }.company-direction-section { grid-template-columns: 1fr; gap: 20px; }.company-direction-section > p:last-child { grid-column: auto; } }
@media (max-width: 600px) { .company-why-section { padding: 72px 24px; display: block; }.company-why-section h2 { font-size: clamp(46px, 13vw, 68px); }.company-why-section > div:nth-child(2) { margin-top: 34px; }.company-why-section ol { margin-top: 52px; display: grid; grid-template-columns: 1fr 1fr; }.company-why-section li { padding: 12px 0; border-right: 0; border-bottom: 1px solid #383b33; }.company-why-section li:last-child { border-bottom: 0; }.company-principles-section .detail-grid article { min-height: 0; }.company-tensor-section { padding: 72px 24px; }.company-tensor-section h2 { font-size: clamp(46px, 13vw, 68px); }.company-direction-section { min-height: 0; padding: 80px 24px; }.company-direction-section h2 { font-size: clamp(46px, 13vw, 68px); }.company-final-links { display: grid; }.company-final-links a { text-align: center; } }

/* Careers is a recruiting area: specific roles stay separate from the broader
   disciplines where exceptional builders may still be a fit. */
.careers-open-section, .careers-areas-section { padding: clamp(76px, 10vw, 150px) clamp(24px, 8vw, 138px); border-bottom: 1px solid var(--line); }
.careers-section-heading { display: grid; grid-template-columns: minmax(170px, .35fr) minmax(0, 1fr); gap: 32px; align-items: start; }
.careers-section-heading > p, .careers-people-section > p, .careers-general-section > div > p { margin: 7px 0 0; color: var(--green-dark); font: 600 10px/1.4 "IBM Plex Mono", monospace; letter-spacing: .14em; }
.careers-section-heading h2 { max-width: 850px; margin: 0; font: 400 clamp(46px, 6vw, 90px)/.87 Georgia, "Times New Roman", serif; letter-spacing: -.07em; }
.careers-section-heading h2 em, .careers-people-section h2 em, .careers-general-section h2 em { color: var(--green-dark); font-style: normal; }
.careers-empty-role { max-width: 850px; margin: clamp(54px, 7vw, 100px) 0 0 auto; padding: 32px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.careers-empty-role span { color: var(--green-dark); font: 600 10px/1 "IBM Plex Mono", monospace; letter-spacing: .13em; }
.careers-empty-role h3 { max-width: 680px; margin: 42px 0 18px; font: 400 clamp(30px, 4vw, 57px)/.92 Georgia, "Times New Roman", serif; letter-spacing: -.06em; }
.careers-empty-role p { max-width: 450px; margin: 0; color: #62645d; font-size: 16px; line-height: 1.55; }
.careers-areas-section { background: #151713; color: #f5f4ec; border-color: #30332d; }.careers-areas-section .careers-section-heading > p { color: #aabe83; }.careers-areas-section .careers-section-heading h2 em { color: #aabe83; }
.careers-areas-intro { max-width: 500px; margin: 42px 0 0 auto; color: #b7b9b0; font-size: 16px; line-height: 1.55; }
.careers-area-grid { margin-top: clamp(52px, 7vw, 92px); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #3b3e36; }
.careers-area-grid article { min-height: 275px; padding: 26px 26px 26px 0; border-bottom: 1px solid #3b3e36; }.careers-area-grid article:not(:nth-child(3n + 1)) { padding-left: 26px; border-left: 1px solid #3b3e36; }
.careers-area-grid span { color: #aabe83; font: 600 9px/1.4 "IBM Plex Mono", monospace; letter-spacing: .11em; }.careers-area-grid h3 { margin: 50px 0 13px; font: 400 clamp(28px, 3.2vw, 47px)/.94 Georgia, "Times New Roman", serif; letter-spacing: -.055em; }.careers-area-grid p { max-width: 280px; margin: 0; color: #b6b8ae; font-size: 15px; line-height: 1.5; }
.careers-people-section { min-height: 560px; padding: clamp(84px, 12vw, 180px) clamp(24px, 8vw, 138px); display: grid; grid-template-columns: minmax(160px, .32fr) minmax(0, 1fr); gap: 30px; align-content: center; border-bottom: 1px solid var(--line); }.careers-people-section h2 { max-width: 1000px; margin: 0; font: 400 clamp(48px, 7.2vw, 110px)/.84 Georgia, "Times New Roman", serif; letter-spacing: -.075em; }.careers-people-section > p:last-child { grid-column: 2; max-width: 600px; margin: 20px 0 0; color: #62645d; font-size: clamp(17px, 1.75vw, 23px); line-height: 1.5; }
.careers-general-section { padding: clamp(76px, 11vw, 160px) clamp(24px, 8vw, 138px); display: grid; grid-template-columns: minmax(180px, .5fr) minmax(0, .75fr); gap: clamp(48px, 10vw, 160px); background: #151713; color: #f5f4ec; }.careers-general-section h2 { margin: 30px 0 0; font: 400 clamp(50px, 6.7vw, 104px)/.84 Georgia, "Times New Roman", serif; letter-spacing: -.07em; }.careers-general-section h2 em { color: #aabe83; }.careers-general-section > div:last-child { align-self: end; max-width: 540px; color: #b9bbb2; font-size: 18px; line-height: 1.57; }.careers-general-section > div:last-child p { margin: 0; }.careers-general-section > div:last-child p + p { margin-top: 18px; }.careers-general-section a { display: inline-block; margin-top: 36px; padding: 16px 20px; border-radius: 5px; background: var(--green); color: #fff; font-weight: 700; font-size: 14px; text-decoration: none; }.careers-general-section a span { margin-left: 14px; }
@media (max-width: 900px) { .careers-section-heading { grid-template-columns: 1fr; gap: 18px; }.careers-area-grid { grid-template-columns: 1fr 1fr; }.careers-area-grid article:not(:nth-child(3n + 1)) { padding-left: 0; border-left: 0; }.careers-area-grid article:nth-child(even) { padding-left: 22px; border-left: 1px solid #3b3e36; }.careers-people-section { grid-template-columns: 1fr; gap: 20px; }.careers-people-section > p:last-child { grid-column: auto; }.careers-general-section { grid-template-columns: 1fr; gap: 40px; } }
@media (max-width: 600px) { .careers-open-section, .careers-areas-section { padding: 70px 24px; }.careers-empty-role { margin-top: 44px; }.careers-area-grid { grid-template-columns: 1fr; }.careers-area-grid article, .careers-area-grid article:nth-child(even) { min-height: 0; padding: 24px 0; border-left: 0; }.careers-area-grid h3 { margin-top: 32px; }.careers-people-section { min-height: 0; padding: 78px 24px; }.careers-people-section h2 { font-size: clamp(46px, 13vw, 68px); }.careers-general-section { padding: 74px 24px; }.careers-general-section h2 { font-size: clamp(48px, 13vw, 70px); } }

/* Security & Trust: product boundaries expressed as system structure. */
.security-intro-section { min-height: 520px; padding: clamp(80px, 11vw, 168px) clamp(24px, 8vw, 138px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, .48fr); gap: clamp(48px, 10vw, 180px); align-content: center; border-bottom: 1px solid var(--line); }.security-intro-section > div > p, .security-flow-heading > p, .security-layer > p, .security-current-section > p, .security-contact-section > div > p { margin: 0 0 30px; color: var(--green-dark); font: 600 10px/1.4 "IBM Plex Mono", monospace; letter-spacing: .14em; }.security-intro-section h2 { max-width: 880px; margin: 0; font: 400 clamp(48px, 6.6vw, 101px)/.86 Georgia, "Times New Roman", serif; letter-spacing: -.07em; }.security-intro-section h2 em, .security-flow-heading h2 em, .security-layer h2 em, .security-current-section h2 em, .security-contact-section h2 em { color: var(--green-dark); font-style: normal; }.security-intro-section > p { align-self: end; margin: 0; color: #62645d; font-size: clamp(17px, 1.8vw, 23px); line-height: 1.52; }
.security-flow-section { padding: clamp(78px, 10vw, 150px) clamp(24px, 8vw, 138px); background: #151713; color: #f5f4ec; }.security-flow-heading { display: grid; grid-template-columns: minmax(170px, .35fr) minmax(0, 1fr); gap: 32px; }.security-flow-heading > p { color: #aabe83; }.security-flow-heading h2 { max-width: 900px; margin: 0; font: 400 clamp(46px, 6vw, 90px)/.87 Georgia, "Times New Roman", serif; letter-spacing: -.07em; }.security-flow-heading h2 em { color: #aabe83; }.security-control-flow { margin: clamp(58px, 8vw, 105px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); list-style: none; border-top: 1px solid #3a3d35; border-bottom: 1px solid #3a3d35; }.security-control-flow li { position: relative; min-height: 246px; padding: 23px 18px 22px 0; border-right: 1px solid #3a3d35; }.security-control-flow li:not(:first-child) { padding-left: 18px; }.security-control-flow li:last-child { border-right: 0; }.security-control-flow li::after { content: "↓"; position: absolute; top: 24px; right: -8px; z-index: 1; padding: 0 2px; background: #151713; color: #aabe83; font-size: 15px; }.security-control-flow li:last-child::after { display: none; }.security-control-flow span { display: block; color: #aabe83; font: 600 9px/1 "IBM Plex Mono", monospace; letter-spacing: .14em; }.security-control-flow strong { display: block; margin: 60px 0 13px; font: 400 clamp(20px, 2vw, 30px)/.95 Georgia, "Times New Roman", serif; letter-spacing: -.045em; }.security-control-flow small { display: block; color: #b6b8af; font: 14px/1.45 "Inter", sans-serif; }
.security-layers-section { border-bottom: 1px solid var(--line); }.security-layer { min-height: 480px; padding: clamp(70px, 9vw, 130px) clamp(24px, 8vw, 138px); display: grid; grid-template-columns: minmax(170px, .35fr) minmax(0, .94fr) minmax(240px, .46fr); gap: 34px; align-items: start; border-bottom: 1px solid var(--line); }.security-layer:last-child { border-bottom: 0; }.security-layer h2 { max-width: 760px; margin: 0; font: 400 clamp(42px, 5.3vw, 80px)/.88 Georgia, "Times New Roman", serif; letter-spacing: -.07em; }.security-layer > div { margin-top: 7px; color: #62645d; font-size: 16px; line-height: 1.58; }.security-layer > div p { margin: 0; }.security-layer > div p + p { margin-top: 18px; }.security-layer-dark { background: #11130f; border-color: #30332d; color: #f5f4ec; }.security-layer-dark > p { color: #aabe83; }.security-layer-dark h2 em { color: #aabe83; }.security-layer-dark > div { color: #b8bab1; }
.security-current-section { min-height: 550px; padding: clamp(84px, 12vw, 178px) clamp(24px, 8vw, 138px); display: grid; grid-template-columns: minmax(170px, .32fr) minmax(0, 1fr); gap: 30px; align-content: center; border-bottom: 1px solid var(--line); }.security-current-section h2 { max-width: 900px; margin: 0; font: 400 clamp(48px, 7vw, 108px)/.84 Georgia, "Times New Roman", serif; letter-spacing: -.075em; }.security-current-section > p:last-child { grid-column: 2; max-width: 650px; margin: 20px 0 0; color: #62645d; font-size: clamp(17px, 1.75vw, 23px); line-height: 1.5; }
.security-contact-section { padding: clamp(78px, 10vw, 150px) clamp(24px, 8vw, 138px); display: grid; grid-template-columns: minmax(0, .9fr) minmax(250px, .45fr); gap: clamp(45px, 10vw, 170px); background: #151713; color: #f5f4ec; }.security-contact-section > div > p { color: #aabe83; }.security-contact-section h2 { max-width: 760px; margin: 0; font: 400 clamp(44px, 5.7vw, 84px)/.88 Georgia, "Times New Roman", serif; letter-spacing: -.07em; }.security-contact-section h2 em { color: #aabe83; }.security-contact-section > div:last-child { align-self: end; color: #babcb3; font-size: 17px; line-height: 1.57; }.security-contact-section > div:last-child p { margin: 0; }.security-contact-section > div:last-child p + p { margin-top: 18px; }
@media (max-width: 1100px) { .security-control-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); }.security-control-flow li:nth-child(3) { border-right: 0; }.security-control-flow li:nth-child(-n+3) { border-bottom: 1px solid #3a3d35; } }
@media (max-width: 900px) { .security-intro-section { grid-template-columns: 1fr 1fr; }.security-layer { grid-template-columns: 1fr 1fr; }.security-layer > p { grid-column: 1 / -1; }.security-layer > div { grid-column: 2; }.security-current-section { grid-template-columns: 1fr; gap: 20px; }.security-current-section > p:last-child { grid-column: auto; }.security-contact-section { grid-template-columns: 1fr; gap: 40px; } }
@media (max-width: 600px) { .security-intro-section { min-height: 0; padding: 76px 24px; display: block; }.security-intro-section h2 { font-size: clamp(46px, 13vw, 68px); }.security-intro-section > p { margin-top: 34px; }.security-flow-section { padding: 70px 24px; }.security-flow-heading { display: block; }.security-flow-heading h2 { font-size: clamp(45px, 13vw, 67px); }.security-control-flow { grid-template-columns: 1fr; margin-top: 46px; }.security-control-flow li, .security-control-flow li:not(:first-child) { min-height: 0; padding: 20px 0; border-right: 0; border-bottom: 1px solid #3a3d35; }.security-control-flow li:last-child { border-bottom: 0; }.security-control-flow li::after { top: auto; right: 0; bottom: -11px; }.security-control-flow strong { margin: 27px 0 10px; }.security-layer { min-height: 0; padding: 70px 24px; grid-template-columns: 1fr; gap: 26px; }.security-layer > div { grid-column: auto; }.security-layer h2 { font-size: clamp(43px, 13vw, 65px); }.security-current-section { min-height: 0; padding: 78px 24px; }.security-current-section h2 { font-size: clamp(46px, 13vw, 68px); }.security-contact-section { padding: 74px 24px; }.security-contact-section h2 { font-size: clamp(44px, 13vw, 66px); } }

/* Solutions are practical configurations of the same Tensor system. */
.solutions-support-section, .solutions-structure-section { padding: clamp(78px, 10vw, 150px) clamp(24px, 8vw, 138px); background: #151713; color: #f5f4ec; }.solutions-heading { display: grid; grid-template-columns: minmax(165px, .34fr) minmax(0, .9fr) minmax(240px, .47fr); gap: 32px; align-items: start; }.solutions-heading > p, .solutions-role-label > p, .solutions-employees-section > p:first-child { margin: 7px 0 0; color: #aabe83; font: 600 10px/1.4 "IBM Plex Mono", monospace; letter-spacing: .14em; }.solutions-heading h2 { max-width: 820px; margin: 0; font: 400 clamp(44px, 5.7vw, 85px)/.88 Georgia, "Times New Roman", serif; letter-spacing: -.07em; }.solutions-heading h2 em, .solutions-role-section h2 em, .solutions-employees-section h2 em { color: #aabe83; font-style: normal; }.solutions-heading div { color: #b8bab0; font-size: 16px; line-height: 1.57; }.solutions-heading div p { margin: 0; }.solutions-heading div p + p { margin-top: 18px; }.solutions-workflow { margin: clamp(58px, 8vw, 105px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); list-style: none; border-top: 1px solid #3b3e36; border-bottom: 1px solid #3b3e36; }.solutions-workflow li { position: relative; min-height: 205px; padding: 23px 18px 20px 0; border-right: 1px solid #3b3e36; }.solutions-workflow li:not(:first-child) { padding-left: 18px; }.solutions-workflow li:last-child { border-right: 0; }.solutions-workflow li::after { content: "→"; position: absolute; top: 24px; right: -9px; z-index: 1; padding: 0 2px; background: #151713; color: #aabe83; font-size: 15px; }.solutions-workflow li:last-child::after { display: none; }.solutions-workflow span { display: block; color: #aabe83; font: 600 9px/1 "IBM Plex Mono", monospace; letter-spacing: .14em; }.solutions-workflow strong { display: block; margin-top: 70px; font: 400 clamp(20px, 2vw, 30px)/.95 Georgia, "Times New Roman", serif; letter-spacing: -.045em; }
.solutions-role-section { min-height: 560px; padding: clamp(78px, 10vw, 150px) clamp(24px, 8vw, 138px); display: grid; grid-template-columns: minmax(155px, .3fr) minmax(0, .95fr) minmax(180px, .3fr); gap: clamp(35px, 6vw, 100px); border-bottom: 1px solid var(--line); }.solutions-role-label span { color: #777970; font: 600 9px/1 "IBM Plex Mono", monospace; letter-spacing: .14em; }.solutions-role-section h2 { max-width: 800px; margin: 0; font: 400 clamp(44px, 5.7vw, 84px)/.87 Georgia, "Times New Roman", serif; letter-spacing: -.07em; }.solutions-role-section > div:nth-child(2) > div { max-width: 490px; margin: 42px 0 0 auto; color: #62645d; font-size: 17px; line-height: 1.56; }.solutions-role-section > div:nth-child(2) > div p { margin: 0; }.solutions-role-section > div:nth-child(2) > div p + p { margin-top: 18px; }.solutions-role-section ul { align-self: end; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }.solutions-role-section li { padding: 10px 0; border-bottom: 1px solid var(--line); color: #696b63; font: 600 10px/1.35 "IBM Plex Mono", monospace; letter-spacing: .08em; }.solutions-role-dark { background: #11130f; border-color: #30332d; color: #f5f4ec; }.solutions-role-dark .solutions-role-label > p { color: #aabe83; }.solutions-role-dark .solutions-role-label span { color: #98a777; }.solutions-role-dark h2 em { color: #aabe83; }.solutions-role-dark > div:nth-child(2) > div, .solutions-role-dark li { color: #babcb3; }.solutions-role-dark ul, .solutions-role-dark li { border-color: #34372f; }
.solutions-structure-section { background: #efeee6; color: var(--ink); }.solutions-structure-section .solutions-heading > p { color: var(--green-dark); }.solutions-structure-section .solutions-heading h2 em { color: var(--green-dark); }.solutions-structure-section .solutions-heading div { color: #62645d; }.solutions-structure { margin: clamp(58px, 8vw, 104px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); list-style: none; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.solutions-structure li { position: relative; min-height: 150px; padding: 24px 18px 22px 0; border-right: 1px solid var(--line); font: 400 clamp(21px, 2vw, 32px)/.95 Georgia, "Times New Roman", serif; letter-spacing: -.045em; }.solutions-structure li:not(:first-child) { padding-left: 18px; }.solutions-structure li:last-child { border-right: 0; }.solutions-structure li::after { content: "↓"; position: absolute; top: 58px; right: -8px; z-index: 1; padding: 0 2px; background: #efeee6; color: var(--green-dark); font: 15px/1 "Inter", sans-serif; }.solutions-structure li:last-child::after { display: none; }
.solutions-employees-section { min-height: 720px; padding: clamp(84px, 11vw, 168px) clamp(24px, 8vw, 138px); border-bottom: 1px solid var(--line); }.solutions-employees-section > p:first-child { color: var(--green-dark); }.solutions-employees-section h2 { max-width: 1080px; margin: 30px 0 0; font: 400 clamp(48px, 7vw, 108px)/.84 Georgia, "Times New Roman", serif; letter-spacing: -.075em; }.solutions-employees-section > p:nth-child(3) { max-width: 580px; margin: 32px 0 0 auto; color: #62645d; font-size: 17px; line-height: 1.55; }.solutions-employees-section > div { margin-top: clamp(55px, 7vw, 100px); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); }.solutions-employees-section article { min-height: 240px; padding: 25px 25px 25px 0; border-bottom: 1px solid var(--line); }.solutions-employees-section article + article { padding-left: 25px; border-left: 1px solid var(--line); }.solutions-employees-section article span { color: var(--green-dark); font: 600 9px/1.4 "IBM Plex Mono", monospace; letter-spacing: .12em; }.solutions-employees-section article h3 { margin: 50px 0 13px; font: 400 clamp(27px, 3.1vw, 46px)/.94 Georgia, "Times New Roman", serif; letter-spacing: -.055em; }.solutions-employees-section article p { max-width: 270px; margin: 0; color: #62645d; font-size: 15px; line-height: 1.5; }.solutions-final-links { display: flex; flex-wrap: wrap; gap: 12px; }.solutions-final-links a + a { background: transparent; border: 1px solid #677454; color: #f5f4ec; }
@media (max-width: 900px) { .solutions-heading { grid-template-columns: 1fr 1fr; }.solutions-heading > p { grid-column: 1 / -1; }.solutions-heading div { grid-column: 2; }.solutions-role-section { grid-template-columns: 1fr 1fr; }.solutions-role-label { grid-column: 1 / -1; }.solutions-role-section ul { grid-column: 2; }.solutions-structure { grid-template-columns: repeat(3, minmax(0, 1fr)); }.solutions-structure li:nth-child(3) { border-right: 0; }.solutions-structure li:nth-child(-n+3) { border-bottom: 1px solid var(--line); }.solutions-employees-section > div { grid-template-columns: 1fr 1fr; }.solutions-employees-section article:nth-child(3) { padding-left: 0; border-left: 0; } }
@media (max-width: 600px) { .solutions-support-section, .solutions-structure-section { padding: 70px 24px; }.solutions-heading { display: block; }.solutions-heading h2 { margin: 28px 0; font-size: clamp(44px, 13vw, 66px); }.solutions-workflow { grid-template-columns: 1fr; margin-top: 46px; }.solutions-workflow li, .solutions-workflow li:not(:first-child) { min-height: 0; padding: 20px 0; border-right: 0; border-bottom: 1px solid #3b3e36; }.solutions-workflow li:last-child { border-bottom: 0; }.solutions-workflow li::after { top: auto; right: 0; bottom: -11px; }.solutions-workflow strong { margin-top: 26px; }.solutions-role-section { min-height: 0; padding: 72px 24px; grid-template-columns: 1fr; gap: 28px; }.solutions-role-section h2 { font-size: clamp(44px, 13vw, 66px); }.solutions-role-section > div:nth-child(2) > div { margin: 28px 0 0; }.solutions-role-section ul { grid-column: auto; }.solutions-structure { grid-template-columns: 1fr; margin-top: 46px; }.solutions-structure li, .solutions-structure li:not(:first-child) { min-height: 0; padding: 20px 0; border-right: 0; border-bottom: 1px solid var(--line); }.solutions-structure li:last-child { border-bottom: 0; }.solutions-structure li::after { top: auto; right: 0; bottom: -10px; }.solutions-employees-section { min-height: 0; padding: 78px 24px; }.solutions-employees-section h2 { font-size: clamp(46px, 13vw, 68px); }.solutions-employees-section > p:nth-child(3) { margin-left: 0; }.solutions-employees-section > div { grid-template-columns: 1fr; }.solutions-employees-section article, .solutions-employees-section article + article, .solutions-employees-section article:nth-child(3) { min-height: 0; padding: 24px 0; border-left: 0; }.solutions-employees-section article h3 { margin-top: 32px; }.solutions-final-links { display: grid; }.solutions-final-links a { text-align: center; } }

/* Research is an honest list of directions; Updates is a factual log. */
.research-intro-section { min-height: 560px; padding: clamp(84px, 12vw, 176px) clamp(24px, 8vw, 138px); display: grid; grid-template-columns: minmax(160px, .3fr) minmax(0, 1fr); gap: 30px; align-content: center; border-bottom: 1px solid var(--line); }.research-intro-section > p:first-child, .research-notes-section > div > p, .updates-log-heading > p:first-child, .updates-format-section > p { margin: 7px 0 0; color: var(--green-dark); font: 600 10px/1.4 "IBM Plex Mono", monospace; letter-spacing: .14em; }.research-intro-section h2 { max-width: 1000px; margin: 0; font: 400 clamp(48px, 7vw, 108px)/.84 Georgia, "Times New Roman", serif; letter-spacing: -.075em; }.research-intro-section h2 em, .research-notes-section h2 em, .updates-log-heading h2 em, .updates-format-section h2 em { color: var(--green-dark); font-style: normal; }.research-intro-section > p:last-child { grid-column: 2; max-width: 590px; margin: 22px 0 0; color: #62645d; font-size: clamp(17px, 1.7vw, 22px); line-height: 1.55; }
.research-directions-section { background: #151713; color: #f5f4ec; }.research-directions-section article { min-height: 390px; padding: clamp(48px, 7vw, 104px) clamp(24px, 8vw, 138px); display: grid; grid-template-columns: minmax(180px, .33fr) minmax(0, 1fr); gap: 34px; border-bottom: 1px solid #30332d; }.research-directions-section span { color: #aabe83; font: 600 10px/1.4 "IBM Plex Mono", monospace; letter-spacing: .13em; }.research-directions-section h2 { max-width: 930px; margin: 0; font: 400 clamp(36px, 4.6vw, 68px)/.91 Georgia, "Times New Roman", serif; letter-spacing: -.06em; }
.research-notes-section { padding: clamp(80px, 11vw, 164px) clamp(24px, 8vw, 138px); display: grid; grid-template-columns: minmax(200px, .45fr) minmax(0, .75fr); gap: clamp(48px, 10vw, 160px); border-bottom: 1px solid var(--line); }.research-notes-section h2 { margin: 30px 0 0; font: 400 clamp(48px, 6.2vw, 92px)/.87 Georgia, "Times New Roman", serif; letter-spacing: -.07em; }.research-notes-section > div:last-child { align-self: end; max-width: 650px; color: #62645d; font-size: 17px; line-height: 1.55; }.research-notes-section > div:last-child > span { color: var(--green-dark); font: 600 10px/1.4 "IBM Plex Mono", monospace; letter-spacing: .12em; }.research-notes-section > div:last-child > p { margin: 26px 0 0; }.research-notes-section ol { margin: 38px 0 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }.research-notes-section li { padding: 16px 0; border-bottom: 1px solid var(--line); color: #34372f; font: 600 11px/1.4 "IBM Plex Mono", monospace; letter-spacing: .08em; }.research-notes-section li small { display: block; margin-top: 7px; color: #777970; font: 400 15px/1.4 "Inter", sans-serif; letter-spacing: 0; }.research-notes-section em { display: block; margin-top: 20px; color: #8a8c83; font-size: 13px; }
.updates-log-section { min-height: 620px; padding: clamp(80px, 11vw, 164px) clamp(24px, 8vw, 138px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .43fr); gap: clamp(48px, 10vw, 170px); align-content: center; border-bottom: 1px solid var(--line); }.updates-log-heading h2 { max-width: 880px; margin: 30px 0 0; font: 400 clamp(48px, 6.5vw, 98px)/.86 Georgia, "Times New Roman", serif; letter-spacing: -.07em; }.updates-log-heading > p:last-child { max-width: 530px; margin: 34px 0 0 auto; color: #62645d; font-size: 17px; line-height: 1.55; }.updates-empty-log { align-self: end; padding: 26px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.updates-empty-log span { color: var(--green-dark); font: 600 10px/1.3 "IBM Plex Mono", monospace; letter-spacing: .12em; }.updates-empty-log h3 { margin: 38px 0 16px; font: 400 clamp(28px, 3.6vw, 52px)/.93 Georgia, "Times New Roman", serif; letter-spacing: -.06em; }.updates-empty-log p { max-width: 400px; margin: 0; color: #62645d; font-size: 15px; line-height: 1.55; }
.updates-format-section { padding: clamp(80px, 11vw, 164px) clamp(24px, 8vw, 138px); background: #151713; color: #f5f4ec; }.updates-format-section > p { color: #aabe83; }.updates-format-section h2 { max-width: 820px; margin: 30px 0 0; font: 400 clamp(48px, 6.3vw, 94px)/.86 Georgia, "Times New Roman", serif; letter-spacing: -.07em; }.updates-format-section h2 em { color: #aabe83; }.updates-format-section ol { margin: clamp(58px, 8vw, 104px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; border-top: 1px solid #3a3d35; border-bottom: 1px solid #3a3d35; }.updates-format-section li { min-height: 185px; padding: 22px 20px 22px 0; border-right: 1px solid #3a3d35; }.updates-format-section li:not(:first-child) { padding-left: 20px; }.updates-format-section li:last-child { border-right: 0; }.updates-format-section li span { display: block; color: #aabe83; font: 600 9px/1.3 "IBM Plex Mono", monospace; letter-spacing: .13em; }.updates-format-section li strong { display: block; margin-top: 55px; font: 400 clamp(20px, 2vw, 30px)/.95 Georgia, "Times New Roman", serif; letter-spacing: -.045em; }
@media (max-width: 900px) { .research-intro-section { grid-template-columns: 1fr; gap: 20px; }.research-intro-section > p:last-child { grid-column: auto; }.research-directions-section article { grid-template-columns: 1fr; gap: 24px; }.research-notes-section { grid-template-columns: 1fr; gap: 40px; }.updates-log-section { grid-template-columns: 1fr; gap: 46px; }.updates-log-heading > p:last-child { margin-left: 0; }.updates-format-section ol { grid-template-columns: 1fr 1fr; }.updates-format-section li:nth-child(2) { border-right: 0; }.updates-format-section li:nth-child(-n+2) { border-bottom: 1px solid #3a3d35; } }
@media (max-width: 600px) { .research-intro-section { min-height: 0; padding: 78px 24px; }.research-intro-section h2 { font-size: clamp(46px, 13vw, 68px); }.research-directions-section article { min-height: 0; padding: 68px 24px; }.research-directions-section h2 { font-size: clamp(37px, 11vw, 55px); }.research-notes-section { padding: 74px 24px; }.research-notes-section h2 { font-size: clamp(46px, 13vw, 68px); }.updates-log-section { min-height: 0; padding: 78px 24px; }.updates-log-heading h2 { font-size: clamp(46px, 13vw, 68px); }.updates-format-section { padding: 74px 24px; }.updates-format-section h2 { font-size: clamp(46px, 13vw, 68px); }.updates-format-section ol { grid-template-columns: 1fr; }.updates-format-section li, .updates-format-section li:not(:first-child) { min-height: 0; padding: 20px 0; border-right: 0; border-bottom: 1px solid #3a3d35; }.updates-format-section li:last-child { border-bottom: 0; }.updates-format-section li strong { margin-top: 26px; } }

/* Production foundations: visible keyboard focus, modest legal pages, and a
   motion-safe fallback without changing the editorial visual language. */
:where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--green); outline-offset: 4px; }
.legal-hero { min-height: min(76vh, 760px); }.legal-hero .detail-cta-link { display: inline-block; margin-top: 32px; padding-bottom: 7px; border-bottom: 1px solid var(--green-dark); color: var(--ink); font: 600 11px/1 "IBM Plex Mono", monospace; letter-spacing: .08em; text-decoration: none; }
.atlas-footer-meta { flex-wrap: wrap; gap: 10px 18px; }.atlas-footer-meta a { white-space: nowrap; }
.legal-content { padding: clamp(72px, 10vw, 146px) clamp(24px, 8vw, 138px); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.legal-content article { min-height: 270px; padding: 26px 30px 42px 0; border-bottom: 1px solid var(--line); }.legal-content article:nth-child(even) { padding-left: 30px; border-left: 1px solid var(--line); }.legal-content h2 { margin: 0 0 56px; font: 400 clamp(31px, 3.5vw, 52px)/.92 Georgia, "Times New Roman", serif; letter-spacing: -.055em; }.legal-content p { max-width: 460px; margin: 0; color: #62645d; font-size: 16px; line-height: 1.6; }.error-hero { min-height: calc(100vh - 120px); }
@media (max-width: 600px) { .legal-hero { min-height: 520px; }.legal-content { display: block; padding: 60px 24px; }.legal-content article, .legal-content article:nth-child(even) { min-height: 0; padding: 25px 0 34px; border-left: 0; }.legal-content h2 { margin-bottom: 22px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } }

/* Homepage: a concise front door after the dedicated site sections expanded. */
.homepage-page .section-label { margin: 0; color: var(--green-dark); font: 600 10px/1.35 "IBM Plex Mono", monospace; letter-spacing: .14em; }
.home-company-preview, .home-tensor-preview, .home-solutions-preview, .home-technology-preview, .home-control-preview, .home-research-preview, .home-careers-preview { padding: clamp(78px, 11vw, 166px) clamp(24px, 8vw, 138px); }
.home-company-preview { background: #151713; color: #f4f4ec; }.home-company-preview > .section-label, .home-control-preview > .section-label, .home-careers-preview > .section-label { color: #aabe83; }.home-company-preview > div, .home-control-preview > div, .home-careers-preview > div { margin-top: clamp(46px, 7vw, 98px); display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(260px, .45fr); gap: clamp(48px, 10vw, 172px); align-items: end; }.home-company-preview h2, .home-tensor-copy h2, .home-solutions-preview h2, .home-technology-preview h2, .home-control-preview h2, .home-research-preview h2, .home-careers-preview h2 { margin: 0; font: 400 clamp(48px, 6.7vw, 103px)/.86 Georgia, "Times New Roman", serif; letter-spacing: -.07em; }.home-company-preview h2 em, .home-tensor-copy h2 em, .home-solutions-preview h2 em, .home-technology-preview h2 em, .home-control-preview h2 em, .home-research-preview h2 em, .home-careers-preview h2 em { color: #aabe83; font-style: normal; }.home-company-preview > div > div > p, .home-control-preview > div > div > p, .home-careers-preview > div > div > p { max-width: 470px; margin: 0; color: #b7b9af; font-size: 17px; line-height: 1.58; }.home-company-preview a, .home-control-preview a { display: inline-block; margin-top: 30px; padding-bottom: 7px; border-bottom: 1px solid #aabe83; color: #f3f4eb; font: 600 11px/1 "IBM Plex Mono", monospace; letter-spacing: .08em; text-decoration: none; }
.home-tensor-preview { display: grid; grid-template-columns: minmax(260px, .62fr) minmax(0, 1.18fr); gap: clamp(42px, 8vw, 138px); align-items: center; background: var(--paper); color: #171815; }.home-tensor-copy > .section-label { color: var(--green-dark); }.home-tensor-copy h2 { margin: 30px 0; }.home-tensor-copy > p:not(.section-label) { max-width: 420px; margin: 0; color: #5d6057; font-size: 17px; line-height: 1.58; }.home-action { width: fit-content; min-height: 48px; margin-top: 34px; padding: 0 18px; display: inline-flex; align-items: center; gap: 28px; border-radius: 6px; background: var(--green-dark); color: #f6f6ee; font: 700 11px/1 "Inter", sans-serif; text-decoration: none; }.home-action span { transition: transform .22s ease; }.home-action:hover span { transform: translateX(4px); }.home-tensor-screen { margin: 0; overflow: hidden; border: 1px solid #565a50; border-radius: 15px; background: #10120f; box-shadow: 0 28px 65px rgba(34,36,29,.15); }.home-tensor-screen img { width: 100%; height: auto; display: block; }
.home-solutions-preview { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: clamp(44px, 8vw, 140px); background: #151713; color: #f5f4ec; }.home-solutions-preview h2 { margin: 32px 0 0; }.home-solution-list { border-top: 1px solid #3a3d35; }.home-solution-list article { min-height: 150px; padding: 20px 0; display: grid; grid-template-columns: minmax(155px, .7fr) minmax(0, 1fr); gap: 20px; align-items: center; border-bottom: 1px solid #3a3d35; }.home-solution-list span { color: #aabe83; font: 600 9px/1.4 "IBM Plex Mono", monospace; letter-spacing: .12em; }.home-solution-list p { max-width: 330px; margin: 0; color: #b9bbb1; font-size: 15px; line-height: 1.55; }.home-inline-link { align-self: end; grid-column: 2; margin-top: 12px; color: #f4f5ed; font: 600 11px/1 "IBM Plex Mono", monospace; letter-spacing: .08em; text-decoration: none; }.home-inline-link:hover { color: #aabe83; }
.home-technology-preview { background: #eeece4; color: #171815; }.home-technology-preview > div { margin: clamp(44px, 7vw, 98px) 0 clamp(52px, 8vw, 112px); display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(260px, .45fr); gap: clamp(45px, 9vw, 160px); align-items: end; }.home-technology-preview > div p { max-width: 440px; margin: 0; color: #5c6057; font-size: 17px; line-height: 1.58; }.home-technology-preview ol { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); list-style: none; border-top: 1px solid #bfc1b5; border-bottom: 1px solid #bfc1b5; }.home-technology-preview li { min-height: 112px; padding: 20px; display: flex; align-items: end; border-right: 1px solid #bfc1b5; color: #3d4238; font: 600 10px/1.35 "IBM Plex Mono", monospace; letter-spacing: .1em; }.home-technology-preview li:first-child { padding-left: 0; }.home-technology-preview li:last-child { border-right: 0; }.home-technology-preview .home-inline-link { display: inline-block; margin-top: 30px; color: #252820; }
.home-control-preview { background: #10120f; color: #f5f4ec; }.home-control-preview h2 { max-width: 900px; }.home-research-preview { display: grid; grid-template-columns: minmax(170px, .34fr) minmax(0, 1fr); gap: 32px; align-items: start; background: var(--paper); color: #171815; border-bottom: 1px solid #c5c6bc; }.home-research-preview > p { margin: 7px 0 0; color: var(--green-dark); font: 600 10px/1.4 "IBM Plex Mono", monospace; letter-spacing: .14em; }.home-research-preview h2 { max-width: 770px; }.home-research-preview > div > p { max-width: 510px; margin: 26px 0 0; color: #62645d; font-size: 17px; line-height: 1.55; }.home-research-preview a { grid-column: 2; margin-top: 0; color: #262a22; font: 600 11px/1 "IBM Plex Mono", monospace; letter-spacing: .08em; text-decoration: none; }.home-research-preview a:hover { color: var(--green-dark); }.home-careers-preview { background: #151713; color: #f5f4ec; }.home-careers-preview > div > div > p { margin-bottom: 0; }
@media (max-width: 900px) { .home-company-preview > div, .home-tensor-preview, .home-solutions-preview, .home-technology-preview > div, .home-control-preview > div, .home-research-preview, .home-careers-preview > div { grid-template-columns: 1fr; gap: 30px; }.home-solutions-preview .home-inline-link, .home-research-preview a { grid-column: auto; }.home-technology-preview ol { grid-template-columns: repeat(3, minmax(0, 1fr)); }.home-technology-preview li:nth-child(3) { border-right: 0; }.home-technology-preview li:nth-child(-n + 3) { border-bottom: 1px solid #bfc1b5; } }
@media (max-width: 600px) { .home-company-preview, .home-tensor-preview, .home-solutions-preview, .home-technology-preview, .home-control-preview, .home-research-preview, .home-careers-preview { padding: 72px 24px; }.home-company-preview h2, .home-tensor-copy h2, .home-solutions-preview h2, .home-technology-preview h2, .home-control-preview h2, .home-research-preview h2, .home-careers-preview h2 { font-size: clamp(46px, 13vw, 68px); }.home-tensor-screen { border-radius: 11px; }.home-solution-list article { min-height: 0; padding: 24px 0; grid-template-columns: 1fr; gap: 15px; }.home-technology-preview ol { grid-template-columns: 1fr; }.home-technology-preview li, .home-technology-preview li:nth-child(n) { min-height: 0; padding: 18px 0; border-right: 0; border-bottom: 1px solid #bfc1b5; }.home-technology-preview li:last-child { border-bottom: 0; }.home-company-preview > div, .home-control-preview > div, .home-careers-preview > div { margin-top: 42px; }.home-research-preview > p { margin: 0; } }

/* Privacy, terms, and security use one restrained documentation system. */
.document-page { background: #10120f; color: #171815; }
.document-main { background: #efeee7; }
.document-header { padding: clamp(74px, 11vw, 150px) clamp(24px, 8vw, 138px) clamp(54px, 8vw, 100px); border-bottom: 1px solid #c4c5ba; }
.document-header > p:first-child, .document-index, .document-nav > p, .document-header dt { margin: 0; color: #596948; font: 600 10px/1.4 "IBM Plex Mono", monospace; letter-spacing: .14em; }
.document-header h1 { max-width: 950px; margin: 30px 0 28px; font: 400 clamp(58px, 8vw, 116px)/.86 Georgia, "Times New Roman", serif; letter-spacing: -.075em; }
.document-header h1 em, .document-content h2 em { color: #596948; font-style: normal; }
.document-header > p:last-of-type { max-width: 650px; margin: 0; color: #5d6057; font-size: clamp(17px, 1.8vw, 22px); line-height: 1.52; }
.document-header dl { margin: clamp(50px, 7vw, 84px) 0 0; padding: 16px 0 0; display: flex; flex-wrap: wrap; gap: 22px 64px; border-top: 1px solid #c4c5ba; }
.document-header dl > div { display: grid; gap: 8px; }.document-header dd { margin: 0; color: #34372f; font: 500 13px/1.4 "Inter", sans-serif; }.document-header dd a { color: inherit; text-decoration-color: #7e8b66; text-underline-offset: 4px; }.document-header dd a + a { margin-left: 12px; }
.document-layout { max-width: 1420px; margin: 0 auto; padding: clamp(54px, 8vw, 112px) clamp(24px, 8vw, 138px) clamp(88px, 12vw, 174px); display: grid; grid-template-columns: 190px minmax(0, 740px) minmax(0, 1fr); gap: clamp(38px, 7vw, 120px); }
.document-nav { position: sticky; top: 118px; align-self: start; }.document-nav > p { margin-bottom: 18px; }.document-nav nav { display: grid; gap: 11px; }.document-nav a { color: #62655d; font: 500 13px/1.35 "Inter", sans-serif; text-decoration: none; }.document-nav nav a:hover, .document-nav nav a:focus-visible { color: #334126; }.document-nav > div { margin-top: 36px; padding-top: 16px; display: grid; gap: 10px; border-top: 1px solid #c4c5ba; }.document-nav > div a { color: #596948; font: 600 10px/1.4 "IBM Plex Mono", monospace; letter-spacing: .08em; }
.document-content { max-width: 740px; }.document-content section { scroll-margin-top: 135px; padding: 0 0 clamp(52px, 7vw, 88px); margin: 0 0 clamp(52px, 7vw, 88px); border-bottom: 1px solid #c4c5ba; }.document-content section:last-child { margin-bottom: 0; }.document-index { margin-bottom: 26px; }.document-content h2 { max-width: 720px; margin: 0 0 26px; color: #171815; font: 400 clamp(35px, 4.4vw, 62px)/.9 Georgia, "Times New Roman", serif; letter-spacing: -.06em; }.document-content p:not(.document-index) { max-width: 650px; margin: 0; color: #575b53; font-size: 16px; line-height: 1.65; }.document-content p + p { margin-top: 17px; }
.document-mobile-nav { display: none; }.document-action { width: fit-content; min-height: 46px; margin-top: 32px; padding: 0 17px; display: inline-flex; align-items: center; gap: 24px; border-radius: 5px; background: #596948; color: #f6f6ee; font: 700 11px/1 "Inter", sans-serif; text-decoration: none; }.document-action span { transition: transform .2s ease; }.document-action:hover span { transform: translateX(4px); }
.document-flow { margin: 38px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; border-top: 1px solid #c4c5ba; }.document-flow li { min-height: 176px; padding: 20px 24px 22px 0; display: flex; flex-direction: column; border-bottom: 1px solid #c4c5ba; }.document-flow li:nth-child(even) { padding-left: 24px; border-left: 1px solid #c4c5ba; }.document-flow span { color: #596948; font: 600 9px/1.3 "IBM Plex Mono", monospace; letter-spacing: .13em; }.document-flow strong { margin-top: auto; color: #23261f; font: 400 clamp(21px, 2.5vw, 31px)/.95 Georgia, "Times New Roman", serif; letter-spacing: -.045em; }.document-flow small { margin-top: 10px; color: #6b6e66; font: 400 13px/1.45 "Inter", sans-serif; }
.security-document .document-header { background: #10120f; border-color: #343830; color: #f4f4ec; }.security-document .document-header > p:first-child, .security-document .document-header h1 em, .security-document .document-header dt { color: #aabe83; }.security-document .document-header > p:last-of-type { color: #b6b8ae; }.security-document .document-header dl { border-color: #343830; }.security-document .document-header dd, .security-document .document-header dd a { color: #e4e5da; }
@media (max-width: 900px) { .document-layout { grid-template-columns: 180px minmax(0, 1fr); }.document-layout::after { display: none; } }
@media (max-width: 680px) { .document-header { padding: 70px 24px 54px; }.document-header h1 { margin: 24px 0; font-size: clamp(52px, 15vw, 76px); }.document-header dl { margin-top: 44px; display: grid; gap: 18px; }.document-header dd { font-size: 12px; }.document-header dd a + a { margin-left: 9px; }.document-mobile-nav { margin: 0; padding: 0 24px; display: block; border-bottom: 1px solid #c4c5ba; }.document-mobile-nav summary { min-height: 62px; display: flex; align-items: center; justify-content: space-between; color: #30342d; cursor: pointer; font: 600 10px/1.4 "IBM Plex Mono", monospace; letter-spacing: .13em; list-style: none; }.document-mobile-nav summary::-webkit-details-marker { display: none; }.document-mobile-nav summary span { color: #596948; font-size: 17px; line-height: 1; }.document-mobile-nav[open] summary span { transform: rotate(45deg); }.document-mobile-nav nav { padding: 0 0 22px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 18px; }.document-mobile-nav a { color: #596948; font: 500 13px/1.35 "Inter", sans-serif; text-decoration: none; }.document-layout { padding: 56px 24px 86px; display: block; }.document-nav { display: none; }.document-content section { scroll-margin-top: 110px; padding-bottom: 54px; margin-bottom: 54px; }.document-content h2 { margin-bottom: 20px; font-size: clamp(32px, 10vw, 50px); }.document-content p:not(.document-index) { font-size: 15px; line-height: 1.62; }.document-index { margin-bottom: 20px; }.document-flow { grid-template-columns: 1fr; margin-top: 30px; }.document-flow li, .document-flow li:nth-child(even) { min-height: 0; padding: 18px 0; border-left: 0; }.document-flow strong { margin-top: 30px; }.document-flow small { margin-top: 8px; }.document-action { margin-top: 28px; } }

/* The footer is always a dark closing surface, so the Idrok mark stays clear
   and recognisable at the end of every public page. */
.atlas-public-page .atlas-footer { background: #10120f; border-color: #30332d; color: #aeb1a5; }
.atlas-public-page .atlas-footer .idrok-wordmark { color: #f3f4eb; }
.atlas-public-page .atlas-footer .idrok-wordmark .idrok-primary { color: #f3f4eb; }
.atlas-public-page .atlas-footer .idrok-wordmark .idrok-secondary { color: #aabe83; }
.atlas-public-page .atlas-footer-brand > p { color: #b6b8ae; }
.atlas-public-page .atlas-footer-links a, .atlas-public-page .atlas-footer-meta a { color: #d7d9cf; }
.atlas-public-page .atlas-footer-links a:hover, .atlas-public-page .atlas-footer-meta a:hover { color: #aabe83; }
.atlas-public-page .atlas-footer-meta { border-color: #30332d; }.atlas-public-page .atlas-footer-meta span { color: #989b90; }

/* Legal information reads as an actual product document: quiet, dark, and
   structured for reference instead of being treated as a marketing section. */
.privacy-document .document-main, .terms-document .document-main, .security-document .document-main { background: #10120f; color: #f3f4eb; }
.privacy-document .document-header, .terms-document .document-header { background: #10120f; border-color: #343830; color: #f3f4eb; }
.privacy-document .document-header > p:first-child, .terms-document .document-header > p:first-child, .privacy-document .document-header dt, .terms-document .document-header dt { color: #aabe83; }
.privacy-document .document-header > p:last-of-type, .terms-document .document-header > p:last-of-type { color: #b6b8ae; }
.privacy-document .document-header dl, .terms-document .document-header dl { border-color: #343830; }
.privacy-document .document-header dd, .privacy-document .document-header dd a, .terms-document .document-header dd, .terms-document .document-header dd a { color: #e4e5da; }
.document-page .document-layout { background: #10120f; }.document-page .document-nav > p, .document-page .document-index { color: #aabe83; }.document-page .document-nav a { color: #b8bbb0; }.document-page .document-nav nav a:hover, .document-page .document-nav nav a:focus-visible, .document-page .document-nav > div a { color: #c9d9a4; }.document-page .document-nav > div { border-color: #343830; }.document-page .document-content section { border-color: #343830; }.document-page .document-content h2 { color: #f3f4eb; }.document-page .document-content h2 em { color: #aabe83; }.document-page .document-content p:not(.document-index) { color: #b9bbb1; }.document-page .document-flow { border-color: #343830; }.document-page .document-flow li, .document-page .document-flow li:nth-child(even) { border-color: #343830; }.document-page .document-flow span { color: #aabe83; }.document-page .document-flow strong { color: #f3f4eb; }.document-page .document-flow small { color: #9fa298; }
@media (max-width: 680px) { .document-page .document-mobile-nav { background: #10120f; border-color: #343830; }.document-page .document-mobile-nav summary { color: #dfe1d7; }.document-page .document-mobile-nav summary span, .document-page .document-mobile-nav a { color: #aabe83; } }

html[data-theme="light"] .company-article-page .publication-eyebrow { color: var(--green-dark); }
.company-article-intro .company-article-image { max-width: 980px; margin: 40px 0 34px; }
.company-article-intro .company-article-image img { max-height: 500px; object-fit: cover; }

@media (max-width: 900px) {
  .publication-menu-button { display: grid; border-color: var(--rule); }
  html[data-theme="light"] .idrok-menu-button { border-color: #c7c6ba; }
  html[data-theme="light"] .idrok-menu-button i { background: #171815; }
}
@media (max-width: 600px) {
  .company-article-page .idrok-header { justify-content: flex-start; }
  .company-article-page .idrok-join-button { margin-left: auto; }
  .company-article-page .theme-toggle { margin-left: 12px; }
  .company-article-page .company-article-image { margin: 54px 0 64px; }
  .company-article-page .company-article-image img { height: min(54vw, 270px); object-fit: cover; object-position: center 56%; }
  .company-article-page .company-article-image figcaption { padding-inline: 2px; }
}

/* Final mobile hero placement: keep the complete illustration in the empty
   lower-right area, never behind the heading at the top. */
@media (max-width: 600px) {
  .publication-hero .publication-hero-image {
    inset: auto !important;
    top: auto !important;
    left: auto !important;
    right: 6% !important;
    bottom: 7% !important;
    width: 28% !important;
    height: 28% !important;
    max-width: none;
    max-height: none;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
  }
}

/* Article light mode is deliberately specified as a complete reading surface.
   This prevents earlier dark editorial rules from leaking into any of the four
   destination pages when the theme changes. */
html[data-theme="light"] .company-article-page,
html[data-theme="light"] .journal-article-page { background: #efeee7; color: #171815; }
html[data-theme="light"] .company-article-page .company-article,
html[data-theme="light"] .journal-article-page .journal-article { background: #efeee7 !important; color: #171815 !important; }
html[data-theme="light"] .company-article-page .company-article-intro h1,
html[data-theme="light"] .company-article-page .company-article-body,
html[data-theme="light"] .company-article-page .company-article-body h2,
html[data-theme="light"] .company-article-page .company-article-related a,
html[data-theme="light"] .journal-article-page .journal-article-header h1,
html[data-theme="light"] .journal-article-page .journal-article-body,
html[data-theme="light"] .journal-article-page .journal-article-body h2,
html[data-theme="light"] .journal-article-page .journal-article-lead,
html[data-theme="light"] .journal-article-page .journal-article-related a { color: #171815 !important; }
html[data-theme="light"] .company-article-page .company-article-intro h1 em,
html[data-theme="light"] .journal-article-page .journal-article-header h1 em { color: #465735 !important; }
html[data-theme="light"] .company-article-page .publication-eyebrow,
html[data-theme="light"] .journal-article-page .publication-eyebrow,
html[data-theme="light"] .company-article-page .company-article-related span { color: #465735; }
html[data-theme="light"] .company-article-page .company-article-dek,
html[data-theme="light"] .company-article-page .company-article-image figcaption,
html[data-theme="light"] .journal-article-page .journal-article-dek,
html[data-theme="light"] .journal-article-page .journal-article-meta { color: #565b52 !important; }
html[data-theme="light"] .company-article-page .company-article-byline,
html[data-theme="light"] .company-article-page .company-article-related,
html[data-theme="light"] .company-article-page .company-article-related a,
html[data-theme="light"] .journal-article-page .journal-article-meta,
html[data-theme="light"] .journal-article-page .journal-article-related,
html[data-theme="light"] .journal-article-page .journal-article-related a { border-color: #c5c6ba !important; }
html[data-theme="light"] .company-article-page .company-article-body blockquote { color: #465735; border-color: #84936c; }
html[data-theme="light"] .journal-article-page .journal-article-header > img { background: #1a1c17 !important; box-shadow: 14px 14px 0 rgba(70, 87, 53, .12); }

@media (max-width: 900px) {
  .company-article-page .idrok-join-button,
  .journal-article-page .idrok-join-button { display: none !important; }
  .company-article-page .theme-toggle,
  .journal-article-page .theme-toggle { margin-left: auto; }
  .company-article-page .idrok-menu-button,
  .journal-article-page .idrok-menu-button { display: grid; flex: 0 0 42px; order: 3; }
  .company-article-page .idrok-nav,
  .journal-article-page .idrok-nav { top: 76px; }
}

/* Homepage refinements: the opening thought stays quiet, direct, and free of
   decorative labels. The small entrance is intentionally a single motion. */
.publication-home .publication-hero-copy > .publication-eyebrow { display: none; }
.publication-home .publication-hero h1 em { color: inherit; }
.publication-home .publication-hero h1::after {
  content: "";
  width: min(100%, 510px);
  height: 2px;
  margin-top: clamp(18px, 2.5vw, 30px);
  display: block;
  background: currentColor;
  animation: homepage-rule-enter .72s cubic-bezier(.16, 1, .3, 1) .36s both;
}
.publication-home .publication-hero-copy > * {
  animation: homepage-copy-enter .8s cubic-bezier(.16, 1, .3, 1) both;
}
.publication-home .publication-hero-copy > p { animation-delay: .16s; }
.publication-home .publication-hero-copy > .publication-link { animation-delay: .28s; }
.publication-home .publication-manifesto > .publication-eyebrow { display: none; }
.publication-home .publication-manifesto { grid-template-columns: 1fr; }
.publication-home .publication-directory {
  gap: clamp(18px, 2.2vw, 32px);
  border: 0;
}
.publication-home .publication-directory .publication-feature {
  border: 0;
}
.publication-home .publication-directory .publication-feature a {
  padding: 0;
  background: transparent;
}
.publication-home .publication-directory .publication-feature a:hover { background: transparent; }
.publication-home .publication-directory .publication-feature footer { border-top: 0; }
@keyframes homepage-copy-enter {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes homepage-rule-enter {
  from { transform: scaleX(0); transform-origin: left; }
  to { transform: scaleX(1); transform-origin: left; }
}
@media (prefers-reduced-motion: reduce) {
  .publication-home .publication-hero-copy > *, .publication-home .publication-hero h1::after { animation: none; }
}
@media (max-width: 860px) {
  .publication-home .publication-directory { gap: 0; }
  .publication-home .publication-directory .publication-feature { padding: 28px 0; }
  .publication-home .publication-directory .publication-feature + .publication-feature { border-top: 1px solid var(--rule); }
}

/* One compact header everywhere: brand, theme, then the same menu trigger. */
@media (max-width: 900px) {
  .atlas-public-page .idrok-join-button { display: none !important; }
  .atlas-public-page .idrok-header .theme-toggle { order: 2; margin-left: auto; }
  .atlas-public-page .idrok-header .idrok-menu-button { display: grid; flex: 0 0 42px; order: 3; }
}

/* Preserve the complete dark drawing on the light canvas: its black field
   gives the thread and human figure the contrast the illustration needs. */
html[data-theme="light"] .publication-home .publication-hero-image {
  background: #0b0c0a !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}
.publication-scroll-cue {
  position: absolute;
  z-index: 2;
  right: min(48vw, 790px);
  bottom: clamp(34px, 6vw, 92px);
  width: clamp(38px, 4vw, 58px);
  height: clamp(88px, 11vw, 150px);
  object-fit: contain;
  object-position: center;
  pointer-events: none;
}
html:not([data-theme="light"]) .publication-scroll-cue { filter: invert(1) sepia(.15) saturate(.7); opacity: .72; }

/* A mobile menu opens in the same full-width header panel everywhere. */
@media (max-width: 900px) {
  .atlas-public-page:not(.publication-home) .idrok-nav {
    top: 70px;
    right: 0;
    left: 0;
    width: auto;
    max-height: calc(100svh - 70px);
    padding: 8px 20px 26px;
    border: 0;
    border-bottom: 1px solid #30332d;
    border-radius: 0;
    background: #10110f;
    box-shadow: none;
  }
  .atlas-public-page:not(.publication-home) .idrok-nav-mobile { gap: 0; }
  .atlas-public-page:not(.publication-home) .idrok-nav-mobile > a { min-height: 52px !important; }
  html[data-theme="light"] .atlas-public-page:not(.publication-home) .idrok-nav { background: #efeee7; border-color: #c5c6ba; }
  html[data-theme="light"] .atlas-public-page:not(.publication-home) .idrok-nav-mobile summary { color: #171815; border-color: #c5c6ba; }
  html[data-theme="light"] .atlas-public-page:not(.publication-home) .idrok-nav-mobile a,
  html[data-theme="light"] .atlas-public-page:not(.publication-home) .idrok-nav-mobile a:last-child { color: #3f443b; border-color: #c5c6ba !important; }
  html[data-theme="light"] .atlas-public-page:not(.publication-home) .idrok-nav-mobile a[aria-current="page"] { color: #171815; }
}
@media (max-width: 600px) {
  .publication-scroll-cue {
    right: 47%;
    bottom: 8%;
    width: 34px;
    height: 92px;
  }
}

/* Final journal theme layer: these rules follow the legacy article rules so
   light and dark both resolve from the same small set of editorial tokens. */
.journal-article-page .journal-article { background: var(--surface); color: var(--content); }
.journal-article-page .journal-article-header {
  max-width: 1240px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .62fr);
  column-gap: clamp(48px, 8vw, 144px);
  align-items: start;
}
.journal-article-page .journal-article-header .publication-eyebrow,
.journal-article-page .journal-article-header h1,
.journal-article-page .journal-article-header .journal-article-dek,
.journal-article-page .journal-article-header .journal-article-meta { grid-column: 1; }
.journal-article-page .journal-article-header > img {
  grid-column: 2;
  grid-row: 1 / span 4;
  width: 100%;
  max-width: none;
  aspect-ratio: 4 / 5;
  margin: 0;
  padding: clamp(18px, 2.2vw, 30px);
  border: 1px solid var(--rule);
  background: #1a1c17;
  object-fit: contain;
}
.journal-article-page .journal-article-header h1 { margin: 24px 0 34px; }
.journal-article-page .journal-article-dek,
.journal-article-page .journal-article-meta { color: var(--content-muted); }
.journal-article-page .journal-article-meta { margin-top: 42px; border-color: var(--rule); }
.journal-article-page .journal-article-body,
.journal-article-page .journal-article-body h2,
.journal-article-page .journal-article-lead,
.journal-article-page .journal-article-related a { color: var(--content); }
.journal-article-page .journal-article-related,
.journal-article-page .journal-article-related a { border-color: var(--rule); }
.journal-article-page .journal-article-related a:hover,
.journal-article-page .journal-article-related a:focus-visible { color: var(--accent); }
html[data-theme="light"] .journal-article-page .journal-article-header > img {
  background: #d8d7cb;
  box-shadow: 18px 18px 0 rgba(83, 100, 62, .16);
}
html[data-theme="light"] .journal-article-page .journal-article-header h1 em { color: var(--green-dark); }
@media (max-width: 760px) {
  .journal-article-page .journal-article-header { display: block; }
  .journal-article-page .journal-article-header > img { width: min(100%, 430px); aspect-ratio: 1 / 1; margin: 42px 0 34px; }
  .journal-article-page .journal-article-header h1 { margin-bottom: 26px; }
  .journal-article-page .journal-article-meta { margin-top: 30px; }
}

/* Journal articles are treated as composed editorial pages in both themes.
   The artwork remains a deliberate visual anchor instead of a loose thumbnail. */
.journal-article-page .journal-article {
  min-height: calc(100svh - 92px);
  background: var(--surface);
  color: var(--content);
}
.journal-article-page .journal-article-header {
  max-width: 1240px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .62fr);
  column-gap: clamp(48px, 8vw, 144px);
  align-items: start;
}
.journal-article-page .journal-article-header .publication-eyebrow,
.journal-article-page .journal-article-header h1,
.journal-article-page .journal-article-header .journal-article-dek,
.journal-article-page .journal-article-header .journal-article-meta { grid-column: 1; }
.journal-article-page .journal-article-header > img {
  grid-column: 2;
  grid-row: 1 / span 4;
  width: 100%;
  max-width: none;
  aspect-ratio: 4 / 5;
  margin: 0;
  padding: clamp(18px, 2.2vw, 30px);
  border: 1px solid var(--rule);
  background: #1a1c17;
  object-fit: contain;
}
.journal-article-page .journal-article-header h1 { margin: 24px 0 34px; }
.journal-article-page .journal-article-dek { color: var(--content-muted); }
.journal-article-page .journal-article-meta {
  margin-top: 42px;
  border-color: var(--rule);
  color: var(--content-muted);
}
.journal-article-page .journal-article-body {
  color: var(--content);
}
.journal-article-page .journal-article-body h2,
.journal-article-page .journal-article-lead,
.journal-article-page .journal-article-related a { color: var(--content); }
.journal-article-page .journal-article-related { border-color: var(--rule); }
.journal-article-page .journal-article-related a { border-color: var(--rule); }
.journal-article-page .journal-article-related a:hover,
.journal-article-page .journal-article-related a:focus-visible { color: var(--accent); }
html[data-theme="light"] .journal-article-page .journal-article-header > img {
  background: #d8d7cb;
  box-shadow: 18px 18px 0 rgba(83, 100, 62, .16);
}
html[data-theme="light"] .journal-article-page .journal-article-header h1 em { color: var(--green-dark); }
@media (max-width: 760px) {
  .journal-article-page .journal-article-header { display: block; }
  .journal-article-page .journal-article-header > img { width: min(100%, 430px); aspect-ratio: 1 / 1; margin: 42px 0 34px; }
  .journal-article-page .journal-article-header h1 { margin-bottom: 26px; }
  .journal-article-page .journal-article-meta { margin-top: 30px; }
}

/* Use the illustration's own luminance as a mask: the black canvas becomes
   transparent, while the olive form and cream drawing remain untouched. */
.publication-hero .publication-hero-image {
  -webkit-mask-image: url("/assets/intelligence-people-foreground.png");
  -webkit-mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-mode: luminance;
  mask-image: url("/assets/intelligence-people-foreground.png");
  mask-size: 100% 100%;
  mask-repeat: no-repeat;
  mask-mode: luminance;
}
/* Dark mode keeps the original illustration intact. Its dark canvas blends
   into the hero, while preserving every pencil detail in the drawing. */
html:not([data-theme="light"]) .publication-hero .publication-hero-image {
  -webkit-mask-image: none;
  mask-image: none;
}

/* Make the whole foreground drawing available inside the lower-right space. */
@media (max-width: 600px) {
  .publication-hero .publication-hero-image {
    right: 3% !important;
    bottom: 3% !important;
    width: 44% !important;
    height: 43% !important;
    object-fit: contain !important;
    object-position: center center !important;
  }
}

/* Shared editorial reading layout for Technology, Research, and Tensor. */
.journal-article { background: #10110f; color: #f2f1eb; padding: clamp(68px, 10vw, 150px) clamp(24px, 8vw, 138px); }
.journal-article-header { max-width: 1020px; }.journal-article-header h1 { max-width: 900px; margin: 22px 0 34px; font: 400 clamp(58px, 8vw, 120px)/.84 Georgia, serif; letter-spacing: -.075em; }.journal-article-header h1 em { color: var(--green); font-style: normal; }.journal-article-header > img { width: min(100%, 520px); aspect-ratio: 1; display: block; margin: 18px 0 34px; object-fit: cover; }.journal-article-dek { max-width: 680px; color: #b6b8ae; font-size: clamp(19px, 2.1vw, 28px); line-height: 1.42; }.journal-article-meta { max-width: 680px; margin-top: 36px; padding-top: 16px; border-top: 1px solid #343830; font: 600 10px/1.5 "IBM Plex Mono", monospace; letter-spacing: .1em; }.journal-article-body { max-width: 720px; margin: clamp(70px, 10vw, 140px) auto 0; font: 400 clamp(21px, 2.2vw, 30px)/1.48 Georgia, serif; }.journal-article-body p { margin: 0 0 34px; }.journal-article-body h2 { margin: 76px 0 25px; color: #f2f1eb; font: 400 clamp(36px, 4vw, 58px)/.95 Georgia, serif; letter-spacing: -.055em; }.journal-article-lead { color: #f2f1eb; font-size: 1.18em; }.journal-article-related { max-width: 1040px; margin: clamp(80px, 12vw, 160px) auto 0; padding-top: 24px; border-top: 1px solid #343830; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 18px; }.journal-article-related > p { grid-row: 1 / 3; }.journal-article-related a { padding: 20px 0; color: #f2f1eb; border-bottom: 1px solid #343830; font: 400 clamp(22px, 2.4vw, 34px)/1 Georgia, serif; text-decoration: none; }.journal-article-related a:hover { color: var(--green); }
html[data-theme="light"] .journal-article { background: #efeee7; color: #171815; }.journal-article-page:not([data-theme]) .journal-article { background: #10110f; }.journal-article-page .publication-eyebrow { color: var(--green); }html[data-theme="light"] .journal-article-dek { color: #62645d; }html[data-theme="light"] .journal-article-meta, html[data-theme="light"] .journal-article-related { border-color: #c9c9bf; }html[data-theme="light"] .journal-article-body h2, html[data-theme="light"] .journal-article-lead, html[data-theme="light"] .journal-article-related a { color: #171815; }html[data-theme="light"] .journal-article-related a { border-color: #c9c9bf; }
@media (max-width: 680px) { .journal-article { padding-top: 64px; }.journal-article-header > img { width: min(100%, 340px); }.journal-article-body { margin-top: 68px; }.journal-article-related { grid-template-columns: 1fr; }.journal-article-related > p { grid-row: auto; }.journal-article-related a { padding: 18px 0; } }

/* Light mode changes the full welcome canvas, not the illustration itself. */
html[data-theme="light"] .publication-home,
html[data-theme="light"] .publication-home main,
html[data-theme="light"] .publication-home .publication-hero {
  background: #efeee7 !important;
}
html[data-theme="light"] .publication-home .publication-hero-shade {
  background: linear-gradient(90deg, #efeee7 0%, rgba(239, 238, 231, .98) 58%, rgba(239, 238, 231, .28) 100%) !important;
}

/* On a phone, crop away the empty left side of the artwork so the drawing —
   the olive form, thread, and person — fills the lower-right free space. */
@media (max-width: 600px) {
  .publication-hero .publication-hero-image {
    right: 4% !important;
    bottom: 5% !important;
    width: 45% !important;
    height: 40% !important;
    object-fit: cover !important;
    object-position: right bottom !important;
    background: #171815;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .16);
  }
}
html[data-theme="light"] .publication-home .publication-hero-image {
  background: #171815;
  filter: none;
  opacity: 1;
}

/* The direction article must use the same persisted theme choice as the
   homepage. Dark is the default; light is applied only when selected. */
.company-article-page .company-article {
  background: #10110f;
  color: #f2f1eb;
}
.company-article-page .company-article-dek,
.company-article-page .company-article-image figcaption { color: #afb1a8; }
.company-article-page .company-article-byline,
.company-article-page .company-article-related { border-color: #343830; }
.company-article-page .company-article-related a { color: #f2f1eb; }
.company-article-page .company-article-related a + a { border-color: #343830; }
html[data-theme="light"] .company-article-page .company-article {
  background: #efeee7;
  color: #171815;
}
html[data-theme="light"] .company-article-page .company-article-dek,
html[data-theme="light"] .company-article-page .company-article-image figcaption { color: #62645d; }
html[data-theme="light"] .company-article-page .company-article-byline,
html[data-theme="light"] .company-article-page .company-article-related { border-color: #c9c9bf; }
html[data-theme="light"] .company-article-page .company-article-related a { color: #171815; }

/* The foreground artwork sits above the readability wash. It retains its
   original dark/olive contrast on both hero themes. */
.publication-hero .publication-hero-image { z-index: 1; background: transparent; box-shadow: none; }
.publication-hero .publication-hero-shade { z-index: 0; }
.publication-hero .publication-hero-copy,
.publication-hero .publication-hero-note { z-index: 2; }
@media (max-width: 600px) {
  .publication-hero .publication-hero-image {
    right: 5% !important;
    bottom: 5% !important;
    width: 40% !important;
    height: 39% !important;
    object-fit: contain !important;
    object-position: center bottom !important;
    background: transparent;
    box-shadow: none;
  }
}

/* Journal article overrides, deliberately last so both themes retain the
   composed reading layout after all legacy page styles have loaded. */
.journal-article-page .journal-article { background: var(--surface); color: var(--content); }
.journal-article-page .journal-article-header { max-width: 1240px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .62fr); column-gap: clamp(48px, 8vw, 144px); align-items: start; }
.journal-article-page .journal-article-header .publication-eyebrow, .journal-article-page .journal-article-header h1, .journal-article-page .journal-article-header .journal-article-dek, .journal-article-page .journal-article-header .journal-article-meta { grid-column: 1; }
.journal-article-page .journal-article-header > img { grid-column: 2; grid-row: 1 / span 4; width: 100%; max-width: none; aspect-ratio: 4 / 5; margin: 0; padding: clamp(18px, 2.2vw, 30px); border: 1px solid var(--rule); background: #1a1c17; object-fit: contain; }
.journal-article-page .journal-article-header h1 { margin: 24px 0 34px; }
.journal-article-page .journal-article-dek, .journal-article-page .journal-article-meta { color: var(--content-muted); }.journal-article-page .journal-article-meta { margin-top: 42px; border-color: var(--rule); }
.journal-article-page .journal-article-body, .journal-article-page .journal-article-body h2, .journal-article-page .journal-article-lead, .journal-article-page .journal-article-related a { color: var(--content); }.journal-article-page .journal-article-related, .journal-article-page .journal-article-related a { border-color: var(--rule); }.journal-article-page .journal-article-related a:hover, .journal-article-page .journal-article-related a:focus-visible { color: var(--accent); }
html[data-theme="light"] .journal-article-page .journal-article-header > img { background: #d8d7cb; box-shadow: 18px 18px 0 rgba(83, 100, 62, .16); }html[data-theme="light"] .journal-article-page .journal-article-header h1 em { color: var(--green-dark); }
@media (max-width: 760px) { .journal-article-page .journal-article-header { display: block; }.journal-article-page .journal-article-header > img { width: min(100%, 430px); aspect-ratio: 1 / 1; margin: 42px 0 34px; }.journal-article-page .journal-article-header h1 { margin-bottom: 26px; }.journal-article-page .journal-article-meta { margin-top: 30px; } }

/* Homepage hero: the original artwork is one stable piece in both themes.
   It is composed as a contained portrait on laptop screens, never enlarged
   into a cropped background image. */
.publication-hero .publication-hero-image {
  inset: auto clamp(40px, 6vw, 128px) 0 auto;
  width: min(42vw, 680px);
  height: min(92%, 820px);
  object-fit: contain;
  object-position: center bottom;
  transform: none;
  opacity: 1;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}
html[data-theme="light"] .publication-home .publication-hero-image {
  background: transparent;
  filter: none;
  opacity: 1;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}
html[data-theme="light"] .publication-home .publication-hero-shade {
  background: linear-gradient(90deg, #efeee7 0%, rgba(239, 238, 231, .96) 48%, rgba(239, 238, 231, .08) 74%) !important;
}
html[data-theme="light"] .publication-hero h1 em { color: #465735; }
html[data-theme="light"] .publication-hero .publication-eyebrow,
html[data-theme="light"] .idrok-header-brand small { color: #465735; }
html[data-theme="light"] .publication-hero-copy > p:not(.publication-eyebrow) { color: #3f443b; }

/* The three article pages keep the same controls as the rest of the site on
   phones. The menu button remains visible beside the theme control. */
@media (max-width: 900px) {
  .journal-article-page .idrok-join-button { display: none; }
  .journal-article-page .theme-toggle { margin-left: auto; }
  .journal-article-page .idrok-menu-button { display: grid; flex: 0 0 42px; order: 3; }
  .journal-article-page .idrok-nav { top: 76px; }
}
@media (max-width: 600px) {
  .publication-hero .publication-hero-image {
    inset: auto 5% 4% auto !important;
    width: min(42vw, 220px) !important;
    height: 38% !important;
    object-fit: contain !important;
    object-position: center bottom !important;
    transform: none !important;
  }
}

/* Final article light-theme contract. This intentionally follows every
   legacy page rule, so the four linked articles always share one palette. */
html[data-theme="light"] .company-article-page,
html[data-theme="light"] .journal-article-page { background: #efeee7; color: #171815; }
html[data-theme="light"] .company-article-page .company-article,
html[data-theme="light"] .journal-article-page .journal-article { background: #efeee7 !important; color: #171815 !important; }
html[data-theme="light"] .company-article-page .company-article-intro h1,
html[data-theme="light"] .company-article-page .company-article-body,
html[data-theme="light"] .company-article-page .company-article-body h2,
html[data-theme="light"] .company-article-page .company-article-related a,
html[data-theme="light"] .journal-article-page .journal-article-header h1,
html[data-theme="light"] .journal-article-page .journal-article-body,
html[data-theme="light"] .journal-article-page .journal-article-body h2,
html[data-theme="light"] .journal-article-page .journal-article-lead,
html[data-theme="light"] .journal-article-page .journal-article-related a { color: #171815 !important; }
html[data-theme="light"] .company-article-page .company-article-intro h1 em,
html[data-theme="light"] .journal-article-page .journal-article-header h1 em { color: #465735 !important; }
html[data-theme="light"] .company-article-page .publication-eyebrow,
html[data-theme="light"] .journal-article-page .publication-eyebrow,
html[data-theme="light"] .company-article-page .company-article-related span { color: #465735; }
html[data-theme="light"] .company-article-page .company-article-dek,
html[data-theme="light"] .company-article-page .company-article-image figcaption,
html[data-theme="light"] .journal-article-page .journal-article-dek,
html[data-theme="light"] .journal-article-page .journal-article-meta { color: #565b52 !important; }
html[data-theme="light"] .company-article-page .company-article-byline,
html[data-theme="light"] .company-article-page .company-article-related,
html[data-theme="light"] .company-article-page .company-article-related a,
html[data-theme="light"] .journal-article-page .journal-article-meta,
html[data-theme="light"] .journal-article-page .journal-article-related,
html[data-theme="light"] .journal-article-page .journal-article-related a { border-color: #c5c6ba !important; }
html[data-theme="light"] .company-article-page .company-article-body blockquote { color: #465735; border-color: #84936c; }
html[data-theme="light"] .journal-article-page .journal-article-header > img { background: #1a1c17 !important; box-shadow: 14px 14px 0 rgba(70, 87, 53, .12); }
@media (max-width: 900px) {
  .company-article-page .idrok-join-button,
  .journal-article-page .idrok-join-button { display: none !important; }
  .company-article-page .theme-toggle,
  .journal-article-page .theme-toggle { margin-left: auto; }
  .company-article-page .idrok-menu-button,
  .journal-article-page .idrok-menu-button { display: grid; flex: 0 0 42px; order: 3; }
  .company-article-page .idrok-nav,
  .journal-article-page .idrok-nav { top: 76px; }
}

/* Keep the hero artwork quiet and self-contained. The pointer is a small
   single-stroke cue—not a second illustration or a block of copy. */
.publication-hero-note { display: none; }
.publication-scroll-cue {
  width: clamp(28px, 2.2vw, 40px);
  height: clamp(60px, 6vw, 88px);
  right: calc(min(42vw, 680px) + clamp(54px, 7vw, 150px));
  bottom: clamp(28px, 4vw, 62px);
  color: #465735;
  filter: none !important;
}
.publication-scroll-cue path { fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
html:not([data-theme="light"]) .publication-scroll-cue { color: #cbd7af; opacity: .82; }
@media (max-width: 900px) {
  .atlas-public-page:not(.publication-home) .idrok-nav { display: none !important; }
  .universal-mobile-menu { inset: 70px 0 auto; }
}
@media (max-width: 600px) {
  .publication-scroll-cue {
    left: 47%;
    right: auto;
    bottom: 5%;
    width: 40px;
    height: 104px;
  }
  .universal-mobile-menu { inset: 70px 0 auto; }
}

/* Six equal destinations: three across on wide screens, then three below. */
.publication-featured .publication-section-heading { margin-bottom: 28px; }
.publication-directory {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--rule);
  border-left: 1px solid var(--rule);
}
.publication-directory .publication-feature {
  min-height: 0;
  border-right: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
}
.publication-directory .publication-feature a { min-height: clamp(430px, 36vw, 590px); padding: clamp(18px, 2vw, 28px); }
.publication-directory .publication-feature-image,
.publication-directory .publication-feature-placeholder {
  width: 100%;
  max-width: none;
  aspect-ratio: 1 / 1;
  margin: 0;
  display: block;
  object-fit: cover;
  background: #d9d8cd;
}
.publication-directory .publication-feature-placeholder {
  border: 1px dashed rgba(83, 100, 62, .28);
  background: linear-gradient(135deg, rgba(83, 100, 62, .045), rgba(83, 100, 62, .12));
}
.publication-directory .publication-feature h2 {
  margin: clamp(22px, 2.3vw, 34px) 0 0;
  color: var(--content);
  font: 400 clamp(30px, 3vw, 48px)/.94 Georgia, serif;
  letter-spacing: -.055em;
}
.publication-directory .publication-feature footer {
  justify-content: flex-end;
  margin-top: auto;
  padding-top: 22px;
  color: var(--content);
}
.publication-directory .publication-feature footer span { display: inline-flex; gap: 18px; align-items: center; }
.publication-directory .publication-feature footer b { color: var(--accent); font-size: 15px; transition: transform .2s ease; }
.publication-directory .publication-feature a:hover footer b { transform: translateX(4px); }
html:not([data-theme="light"]) .publication-directory .publication-feature-placeholder { background: linear-gradient(135deg, rgba(158, 174, 120, .06), rgba(158, 174, 120, .15)); border-color: rgba(158, 174, 120, .3); }
@media (max-width: 860px) {
  .publication-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); border-left: 1px solid var(--rule); }
  .publication-directory .publication-feature:nth-child(2n) { border-right: 0; }
  .publication-directory .publication-feature a { min-height: 0; }
}

/* A smaller, quieter double slash keeps the Idrok wordmark refined. The
   repeated footer proverb is removed so each page closes more cleanly. */
.idrok-header-brand { padding-left: 40px; }
.idrok-header-brand::before { width: 29px; height: 28px; background-size: 56px 56px; }
.idrok-wordmark { padding-left: 48px; }
.idrok-wordmark::before { width: 35px; height: 34px; background-size: 68px 68px; }
.publication-footer-brand > p,
.atlas-footer-brand > p { display: none; }
@media (max-width: 600px) {
  .publication-directory .publication-feature a { padding: 14px; }
  .publication-directory .publication-feature h2 { margin-top: 16px; font-size: clamp(25px, 8vw, 34px); }
  .publication-directory .publication-feature footer { padding-top: 15px; font-size: 8px; }
  .publication-directory .publication-feature footer span { gap: 9px; }
  .publication-directory .publication-feature footer b { font-size: 13px; }
  .idrok-header-brand { padding-left: 33px; }
  .idrok-header-brand::before { width: 24px; height: 23px; background-size: 46px 46px; }
  .idrok-wordmark { padding-left: 40px; }
  .idrok-wordmark::before { width: 29px; height: 28px; background-size: 56px 56px; }
}

/* The three future stories keep the same editorial card structure while their
   artwork is intentionally left as a quiet, square art board. */
.publication-directory .publication-feature-placeholder {
  border: 1px solid rgba(70, 87, 53, .22);
  background: #e7e5d9;
}
html:not([data-theme="light"]) .publication-directory .publication-feature-placeholder {
  background: #171a14;
  border-color: rgba(174, 190, 131, .28);
}

/* The final Careers action is a deeper, more deliberate green. */
.careers-general-section a {
  min-height: 54px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  gap: 16px;
  border: 1px solid #536b45;
  border-radius: 4px;
  background: #294127;
  color: #f4f4eb;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.careers-general-section a:hover {
  background: #365536;
  border-color: #91a878;
  transform: translateY(-2px);
}
.careers-general-section a:focus-visible { outline: 2px solid #b8cb95; outline-offset: 4px; }

/* News and Careers now use the same editorial entry point as the journal
   pages: one composed header, square artwork, then paced reading sections. */
.editorial-destination-page .journal-article { background: var(--surface); color: var(--content); }
.editorial-destination-page .detail-hero {
  min-height: 0;
  max-width: 1240px;
  margin: 0 auto;
  padding: clamp(88px, 12vw, 160px) clamp(24px, 4vw, 58px) clamp(70px, 10vw, 128px);
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(290px, .72fr);
  column-gap: clamp(48px, 9vw, 150px);
  align-items: start;
  border-bottom: 0;
}
.editorial-destination-page .detail-hero .section-label,
.editorial-destination-page .detail-hero h1,
.editorial-destination-page .detail-hero > p:not(.section-label) { grid-column: 1; }
.editorial-destination-page .detail-hero h1 { max-width: 680px; margin: 24px 0 32px; }
.editorial-destination-page .detail-hero > p:not(.section-label) {
  max-width: 540px;
  margin: 0;
  color: var(--content-muted);
  font-size: clamp(17px, 1.65vw, 22px);
}
.editorial-destination-page .destination-article-art {
  width: 100%;
  aspect-ratio: 1 / 1;
  grid-column: 2;
  grid-row: 1 / span 3;
  display: block;
  object-fit: cover;
  background: #1a1c17;
  box-shadow: 16px 16px 0 rgba(70, 87, 53, .13);
}
.editorial-destination-page .updates-log-section,
.editorial-destination-page .updates-format-section,
.editorial-destination-page .careers-open-section,
.editorial-destination-page .careers-areas-section,
.editorial-destination-page .careers-people-section,
.editorial-destination-page .careers-general-section {
  max-width: 840px;
  margin: 0 auto;
  padding-inline: clamp(24px, 4vw, 58px);
  background: transparent;
  color: var(--content);
}
.editorial-destination-page .updates-log-section { min-height: 0; display: block; padding-block: clamp(70px, 9vw, 120px); }
.editorial-destination-page .updates-log-heading h2,
.editorial-destination-page .careers-section-heading h2,
.editorial-destination-page .careers-people-section h2,
.editorial-destination-page .careers-general-section h2 { color: var(--content); }
.editorial-destination-page .updates-log-heading > p:last-child,
.editorial-destination-page .updates-empty-log p,
.editorial-destination-page .careers-areas-intro,
.editorial-destination-page .careers-people-section > p:last-child,
.editorial-destination-page .careers-general-section > div:last-child { color: var(--content-muted); }
.editorial-destination-page .updates-format-section { padding-block: clamp(70px, 9vw, 120px); border-top: 1px solid var(--rule); }
.editorial-destination-page .updates-format-section ol { border-color: var(--rule); }
.editorial-destination-page .updates-format-section li { border-color: var(--rule); }
.editorial-destination-page .updates-format-section li span,
.editorial-destination-page .updates-format-section h2 em,
.editorial-destination-page .careers-section-heading h2 em,
.editorial-destination-page .careers-people-section h2 em,
.editorial-destination-page .careers-general-section h2 em { color: var(--accent); }
.editorial-destination-page .careers-open-section,
.editorial-destination-page .careers-areas-section,
.editorial-destination-page .careers-people-section,
.editorial-destination-page .careers-general-section { padding-block: clamp(70px, 9vw, 120px); border-top: 1px solid var(--rule); border-bottom: 0; }
.editorial-destination-page .careers-section-heading,
.editorial-destination-page .careers-people-section { grid-template-columns: 1fr; gap: 20px; }
.editorial-destination-page .careers-people-section { min-height: 0; display: block; }
.editorial-destination-page .careers-people-section > p:last-child { margin: 28px 0 0; }
.editorial-destination-page .careers-general-section { display: grid; grid-template-columns: 1fr; gap: 34px; }
.editorial-destination-page .careers-area-grid { border-color: var(--rule); }
.editorial-destination-page .careers-area-grid article { border-color: var(--rule); }
.editorial-destination-page .careers-area-grid p { color: var(--content-muted); }
@media (max-width: 760px) {
  .editorial-destination-page .detail-hero { display: block; padding-top: 116px; }
  .editorial-destination-page .destination-article-art { width: min(100%, 430px); margin: 42px 0 0; }
}

/* All destination illustrations share the Company card's exact square frame. */
.journal-article-page .journal-article-header > img,
.editorial-destination-page .destination-article-art,
.company-article-page .company-article-image img {
  aspect-ratio: 1 / 1;
  box-sizing: border-box;
  object-fit: cover;
}
.journal-article-page .journal-article-header > img { padding: 0; }
.company-article-page .company-article-image img { height: auto; }
@media (max-width: 760px) {
  .company-article-page .company-article-image img { height: auto; aspect-ratio: 1 / 1; }
}

/* Match the Company article composition: headline, a full square artwork,
   then the opening note and reading body. */
.journal-article-page:not(.editorial-destination-page) .journal-article-header {
  max-width: 1060px;
  display: block;
}
.journal-article-page:not(.editorial-destination-page) .journal-article-header > img {
  width: 100%;
  max-width: 980px;
  height: auto;
  aspect-ratio: 1 / 1;
  margin: 40px 0 34px;
  border: 0;
  box-shadow: none;
}
.journal-article-action {
  min-height: 54px;
  margin-top: 18px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  gap: 16px;
  border: 1px solid #536b45;
  border-radius: 4px;
  background: #294127;
  color: #f4f4eb;
  font: 700 12px/1 "Inter", sans-serif;
  text-decoration: none;
  transition: background-color .2s ease, transform .2s ease;
}
.journal-article-action:hover { background: #365536; transform: translateY(-2px); }
.journal-article-action:focus-visible { outline: 2px solid #b8cb95; outline-offset: 4px; }

/* Company desktop article: editorial scale rather than homepage display scale. */
@media (min-width: 761px) {
  .company-article { padding-top: clamp(96px, 8vw, 132px); padding-bottom: clamp(96px, 9vw, 144px); }
  .company-article-intro {
    max-width: 1240px;
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(360px, .82fr);
    column-gap: clamp(54px, 8vw, 132px);
    align-items: start;
  }
  .company-article-intro > .publication-eyebrow,
  .company-article-intro > h1,
  .company-article-intro > .company-article-dek,
  .company-article-intro > .company-article-byline { grid-column: 1; }
  .company-article-intro h1 {
    max-width: 1040px;
    margin: 20px 0 34px;
    font-size: clamp(58px, 5.1vw, 96px);
    line-height: .9;
    letter-spacing: -.07em;
  }
  .company-article-dek { max-width: 640px; font-size: clamp(18px, 1.35vw, 22px); line-height: 1.5; }
  .company-article-image {
    width: 100%;
    max-width: none;
    grid-column: 2;
    grid-row: 1 / span 4;
    margin: 0;
  }
  .company-article-body { max-width: 680px; margin: clamp(70px, 9vw, 110px) auto 0; font-size: clamp(19px, 1.3vw, 22px); line-height: 1.62; }
  .company-article-body p { margin-bottom: 28px; }
  .company-article-body h2 { margin: 68px 0 22px; font-size: clamp(34px, 3vw, 48px); line-height: .98; }
  .company-article-body blockquote { margin: 56px 0; padding: 28px 0; }
}

/* Shared desktop composition for every remaining editorial destination. */
@media (min-width: 761px) {
  .journal-article-page:not(.editorial-destination-page) .journal-article-header {
    max-width: 1240px;
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(360px, .82fr);
    column-gap: clamp(54px, 8vw, 132px);
    align-items: start;
  }
  .journal-article-page:not(.editorial-destination-page) .journal-article-header .publication-eyebrow,
  .journal-article-page:not(.editorial-destination-page) .journal-article-header h1,
  .journal-article-page:not(.editorial-destination-page) .journal-article-header .journal-article-dek,
  .journal-article-page:not(.editorial-destination-page) .journal-article-header .journal-article-meta { grid-column: 1; }
  .journal-article-page:not(.editorial-destination-page) .journal-article-header h1 {
    max-width: 800px;
    margin: 20px 0 34px;
    font-size: clamp(54px, 4.8vw, 92px);
    line-height: .9;
    letter-spacing: -.07em;
  }
  .journal-article-page:not(.editorial-destination-page) .journal-article-header > img {
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 1 / 1;
    grid-column: 2;
    grid-row: 1 / span 4;
    margin: 0;
    padding: 0;
    border: 0;
    box-shadow: none;
    object-fit: cover;
  }
  .journal-article-page:not(.editorial-destination-page) .journal-article-dek { max-width: 640px; font-size: clamp(18px, 1.35vw, 22px); line-height: 1.5; }
  .journal-article-page:not(.editorial-destination-page) .journal-article-meta { margin-top: 34px; }
  .journal-article-page:not(.editorial-destination-page) .journal-article-body {
    max-width: 680px;
    margin: clamp(70px, 9vw, 110px) auto 0;
    font-size: clamp(19px, 1.3vw, 22px);
    line-height: 1.62;
  }
  .journal-article-page:not(.editorial-destination-page) .journal-article-body p { margin-bottom: 28px; }
  .journal-article-page:not(.editorial-destination-page) .journal-article-body h2 { margin: 68px 0 22px; font-size: clamp(34px, 3vw, 48px); line-height: .98; }
  .journal-article-page:not(.editorial-destination-page) .journal-article-related { max-width: 900px; margin: clamp(80px, 10vw, 130px) auto 0; }
}

/* News footer: navigation lives directly beneath the brand, with contact and
   legal information arranged as a quiet, complete closing section. */
.news-footer {
  grid-template-columns: minmax(260px, 1fr) minmax(210px, .48fr);
  gap: clamp(52px, 10vw, 180px);
  padding-top: clamp(82px, 10vw, 132px);
  padding-bottom: 34px;
}
.news-footer .publication-footer-brand { display: block; }
.news-footer-links { margin-top: 54px; display: grid; justify-items: start; gap: 14px; }
.news-footer-links p, .news-footer-contact > p {
  margin: 0 0 12px;
  color: #aabe83;
  font: 600 10px/1.3 "IBM Plex Mono", monospace;
  letter-spacing: .14em;
}
.news-footer-links a { font-size: 16px; }
.news-footer-contact { display: grid; align-content: end; justify-items: start; gap: 15px; }
.news-footer-contact a { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; }
.news-footer-contact svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.news-footer-legal {
  grid-column: 1 / -1;
  margin-top: clamp(66px, 9vw, 130px);
  padding-top: 18px;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid rgba(242, 241, 235, .14);
  color: #85887f;
  font: 600 9px/1.4 "IBM Plex Mono", monospace;
  letter-spacing: .08em;
}
.news-footer-legal nav { display: inline-flex; flex-wrap: wrap; gap: 20px; }
.news-footer-legal a { color: #aeb0a7; font: inherit; }
.news-footer-navigation { margin-top: 54px; display: grid; grid-template-columns: repeat(2, minmax(130px, 1fr)); gap: 46px; }
.news-footer-navigation .news-footer-links { margin-top: 0; }
.news-footer-contact { align-content: start; }
.news-footer-contact > nav { display: flex; flex-wrap: wrap; gap: 12px; }
.news-footer-contact a {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(242, 241, 235, .22);
  border-radius: 50%;
  color: #dedfd7;
  transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.news-footer-contact a:hover { border-color: #aabe83; background: #465735; color: #fff; transform: translateY(-2px); }
.news-footer-contact svg { width: 19px; height: 19px; }
@media (max-width: 760px) {
  .news-footer { grid-template-columns: 1fr; gap: 46px; padding-top: 68px; }
  .news-footer-navigation { margin-top: 40px; gap: 32px; }
  .news-footer-contact { align-content: start; }
  .news-footer-legal { display: grid !important; justify-content: start; margin-top: 42px; }
}
@media (max-width: 460px) { .news-footer-navigation { grid-template-columns: 1fr; } }

/* Keep the complete News footer stack under the brand; the bottom row is
   intentionally copyright-only, without duplicate legal buttons. */
.news-footer { grid-template-columns: 1fr; }
.news-footer .publication-footer-brand { width: min(100%, 720px); }
.news-footer-contact { margin-top: 46px; }
.news-footer-legal { justify-content: flex-start; }
.news-footer-legal nav { display: none; }

/* Compact ending: no inherited empty grid row beneath the social line. */
.news-footer { gap: 0; padding-top: clamp(72px, 7vw, 96px); }
.news-footer-legal { margin-top: 52px; }
.news-footer-contact a {
  border-color: rgba(242, 241, 235, .3);
  background: rgba(242, 241, 235, .025);
}
.news-footer-contact svg { width: 20px; height: 20px; stroke-width: 1.9; }
.news-footer-contact a[aria-label="LinkedIn"] svg,
.news-footer-contact a[aria-label="X"] svg,
.news-footer-contact a[aria-label="Threads"] svg { stroke-width: 2.1; }
@media (max-width: 760px) {
  .news-footer { padding-top: 64px; }
  .news-footer-legal { margin-top: 40px; }
}

/* A smaller, denser final scale for the News footer. */
.news-footer { padding-top: 56px; padding-bottom: 24px; }
.news-footer .publication-footer-brand { width: min(100%, 610px); }
.news-footer .idrok-wordmark { padding-left: 40px; gap: 5px; }
.news-footer .idrok-wordmark::before { width: 30px; height: 29px; background-size: 58px 58px; }
.news-footer .idrok-primary { font-size: 21px; }
.news-footer .idrok-secondary { font-size: 8px; }
.news-footer-navigation { margin-top: 34px; gap: 32px; }
.news-footer-links { gap: 10px; }
.news-footer-links p, .news-footer-contact > p { margin-bottom: 8px; font-size: 9px; }
.news-footer-links a { font-size: 14px; }
.news-footer-contact { margin-top: 30px; }
.news-footer-contact > nav { gap: 9px; }
.news-footer-contact a { width: 34px; height: 34px; }
.news-footer-contact svg { width: 17px; height: 17px; }
.news-footer-legal { margin-top: 32px; padding-top: 14px; font-size: 8px; }
@media (max-width: 760px) {
  .news-footer { padding-top: 52px; }
  .news-footer-navigation { margin-top: 30px; }
}

/* Application page follows the same persisted light mode as the site. */
html[data-theme="light"] .application-page { background: #efeee7; color: #171815; }
html[data-theme="light"] .application-page .application-section { background: #efeee7; color: #171815; }
html[data-theme="light"] .application-page .application-back { color: #465735; }
html[data-theme="light"] .application-page .application-intro > p,
html[data-theme="light"] .application-page .application-form label,
html[data-theme="light"] .application-page .social-fields legend,
html[data-theme="light"] .application-page .social-fields legend small { color: #575b52; }
html[data-theme="light"] .application-page .application-form input,
html[data-theme="light"] .application-page .application-form select,
html[data-theme="light"] .application-page .application-form textarea {
  color: #171815 !important;
  caret-color: #171815;
  border-color: #afb1a6;
}
html[data-theme="light"] .application-page .application-form input::placeholder { color: #7a7d74; }
html[data-theme="light"] .application-page .application-form select option { color: #171815; background: #efeee7; }
html[data-theme="light"] .application-page .application-form input:-webkit-autofill,
html[data-theme="light"] .application-page .application-form input:-webkit-autofill:hover,
html[data-theme="light"] .application-page .application-form input:-webkit-autofill:focus,
html[data-theme="light"] .application-page .application-form textarea:-webkit-autofill,
html[data-theme="light"] .application-page .application-form select:-webkit-autofill {
  -webkit-text-fill-color: #171815;
  -webkit-box-shadow: 0 0 0 1000px #efeee7 inset;
}
html[data-theme="light"] .application-page .application-confirmation { background: #efeee7; color: #171815; }
html[data-theme="light"] .application-page .application-confirmation { border-color: rgba(70, 87, 53, .42); }
html[data-theme="light"] .application-page .application-confirmation > p { color: #53673d; }
html[data-theme="light"] .application-page .application-confirmation h2 { color: #171815; }
html[data-theme="light"] .application-page .application-confirmation div { color: #4f534a; }
html[data-theme="light"] .application-page .application-confirmation div p + p { color: #4f534a; }
html[data-theme="light"] .application-page .application-confirmation strong,
html[data-theme="light"] .application-page .application-confirmation a,
html[data-theme="light"] .application-page .application-confirmation-mark { color: #53673d; }
html[data-theme="light"] .application-page .application-confirmation-mark { border-color: #91a072; }

/* Application header keeps only mode and menu controls on small screens. */
.application-page .idrok-join-button { display: none !important; }
@media (max-width: 900px) {
  .application-page .idrok-header .theme-toggle { order: 2; margin-left: auto; }
  .application-page .idrok-header .idrok-menu-button { display: grid; flex: 0 0 42px; order: 3; }
}

/* Light hero cleanup: the original texture is masked instead of using the
   generated checkerboard asset. Only the illustration remains on the paper. */
html[data-theme="light"] .publication-home .publication-hero-image {
  -webkit-mask-image: url("/assets/intelligence-people-foreground.png") !important;
  -webkit-mask-size: 100% 100% !important;
  -webkit-mask-repeat: no-repeat !important;
  -webkit-mask-mode: luminance !important;
  mask-image: url("/assets/intelligence-people-foreground.png") !important;
  mask-size: 100% 100% !important;
  mask-repeat: no-repeat !important;
  mask-mode: luminance !important;
  mix-blend-mode: multiply;
}
html[data-theme="light"] .publication-home .publication-hero::after {
  content: "";
  position: absolute;
  inset: auto clamp(40px, 6vw, 128px) 0 auto;
  width: min(42vw, 680px);
  height: min(92%, 820px);
  z-index: 1;
  pointer-events: none;
  background: #171815;
  -webkit-mask-image: url("/assets/intelligence-people-foreground.png");
  -webkit-mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-mode: luminance;
  mask-image: url("/assets/intelligence-people-foreground.png");
  mask-size: 100% 100%;
  mask-repeat: no-repeat;
  mask-mode: luminance;
  clip-path: inset(47% 0 0 0);
}
.publication-scroll-cue { display: none; }

/* A low-contrast, calm closing surface shared by every public page. */
.quiet-footer-top { display: grid; grid-template-columns: minmax(220px, 1.75fr) repeat(3, minmax(130px, .7fr)); gap: clamp(32px, 6vw, 110px); }
.quiet-footer-brand .idrok-wordmark { color: #b9bbb2; }
.quiet-footer-brand .idrok-wordmark::before { opacity: .85; }
.quiet-footer-brand .idrok-secondary { color: #9daa7e; }
.quiet-footer-brand > p { max-width: 230px; margin: 28px 0 0; color: #797c74; font-size: 13px; line-height: 1.55; }
.quiet-footer-contact-button { width: fit-content; min-height: 40px; margin-top: 24px; padding: 0 15px; display: inline-flex; align-items: center; gap: 24px; border-radius: 5px; background: #52653c; color: #f4f4eb; font: 700 11px/1 "Inter", sans-serif; text-decoration: none; transition: background .2s ease, transform .2s ease; }.quiet-footer-contact-button:hover { background: #687b4e; transform: translateY(-2px); }.quiet-footer-contact-button span { font-size: 16px; font-weight: 400; transition: transform .2s ease; }.quiet-footer-contact-button:hover span { transform: translateX(3px); }
.quiet-footer-links { display: grid; align-content: start; justify-items: start; gap: 12px; }
.quiet-footer-links > p { margin: 3px 0 14px; color: #8b8e85; font: 600 9px/1.3 "IBM Plex Mono", monospace; letter-spacing: .13em; }
.quiet-footer-links a, .quiet-footer-bottom a { color: #a5a79f; font-size: 13px; text-decoration: none; transition: color .18s ease; }
.quiet-footer-links a:hover, .quiet-footer-bottom a:hover { color: #d9dbd1; }
.quiet-footer-bottom { margin-top: clamp(58px, 8vw, 100px); padding-top: 22px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid rgba(242,241,235,.1); color: #73766e; font: 600 9px/1.4 "IBM Plex Mono", monospace; letter-spacing: .1em; }
.quiet-footer-bottom nav { display: flex; flex-wrap: wrap; gap: 22px; }
.quiet-footer-bottom a { font: inherit; }
.universal-footer.news-footer { display: block; padding: clamp(64px, 8vw, 112px) clamp(24px, 7vw, 78px) 26px; background: #171815; color: #a5a79f; }
html[data-theme="light"] .universal-footer.news-footer { background: #171815; }
.privacy-article-page .journal-article-body { max-width: 720px; font-size: clamp(16px, 1.08vw, 18px); line-height: 1.6; }
.privacy-article-page .journal-article-body p { margin-bottom: 18px; }
.privacy-article-page .journal-article-body h2 { margin: 52px 0 18px; font-size: clamp(30px, 2.5vw, 42px); }
.privacy-article-page .journal-article-body h3 { margin: 30px 0 12px; color: var(--content); font: 600 15px/1.2 "Inter", sans-serif; }
.privacy-article-page .journal-article-body ul { margin: 0 0 22px; padding-left: 20px; }
.privacy-article-page .journal-article-body li { margin: 6px 0; }
.terms-article-page .journal-article-body, .security-article-page .journal-article-body { max-width: 720px; font-size: clamp(16px, 1.08vw, 18px); line-height: 1.6; }
.terms-article-page .journal-article-body p, .security-article-page .journal-article-body p { margin-bottom: 18px; }
.terms-article-page .journal-article-body h2, .security-article-page .journal-article-body h2 { margin: 52px 0 18px; font-size: clamp(30px, 2.5vw, 42px); }
.terms-article-page .journal-article-body h3, .security-article-page .journal-article-body h3 { margin: 30px 0 12px; color: var(--content); font: 600 15px/1.2 "Inter", sans-serif; }
.terms-article-page .journal-article-body ul, .security-article-page .journal-article-body ul { margin: 0 0 22px; padding-left: 20px; }
.terms-article-page .journal-article-body li, .security-article-page .journal-article-body li { margin: 6px 0; }

/* Legal lists should read like policy details, not pasted Markdown bullets. */
.privacy-article-page .journal-article-body ul,
.terms-article-page .journal-article-body ul,
.security-article-page .journal-article-body ul {
  margin: 18px 0 24px;
  padding: 0;
  display: block;
  list-style: none;
}
.privacy-article-page .journal-article-body li,
.terms-article-page .journal-article-body li,
.security-article-page .journal-article-body li {
  margin: 8px 0;
  padding: 0;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 4px;
  color: inherit;
  font: inherit;
  counter-increment: legal-list-item;
}
.privacy-article-page .journal-article-body ul,
.terms-article-page .journal-article-body ul,
.security-article-page .journal-article-body ul { counter-reset: legal-list-item; }
.privacy-article-page .journal-article-body li::before,
.terms-article-page .journal-article-body li::before,
.security-article-page .journal-article-body li::before {
  content: counter(legal-list-item) ".";
  color: inherit;
  font: inherit;
}
.privacy-article-page .journal-article-body h2,
.terms-article-page .journal-article-body h2,
.security-article-page .journal-article-body h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(36px, 3.25vw, 54px);
  line-height: .98;
  letter-spacing: -.055em;
}
@media (max-width: 760px) { .quiet-footer-top { grid-template-columns: 1fr 1fr; gap: 42px 28px; }.quiet-footer-brand { grid-column: 1 / -1; }.quiet-footer-bottom { align-items: flex-start; flex-direction: column; gap: 18px; } }
@media (max-width: 460px) { .quiet-footer-top { grid-template-columns: 1fr; }.quiet-footer-brand { grid-column: auto; } }
@media (max-width: 600px) {
  html[data-theme="light"] .publication-home .publication-hero::after {
    inset: auto 5% 4% auto;
    width: min(42vw, 220px);
    height: 38%;
  }
}

/* Final homepage overrides: keep these after the legacy homepage treatments. */
.publication-home .publication-hero h1 em,
html[data-theme="light"] .publication-home .publication-hero h1 em { color: inherit; }
.publication-home .publication-hero h1 {
  text-decoration-line: underline;
  text-decoration-thickness: 2px;
  text-decoration-color: currentColor;
  text-underline-offset: .18em;
  text-decoration-skip-ink: none;
}
.publication-home .publication-hero h1::after { display: none; }
.publication-direction-art {
  width: min(250px, 34vw);
  height: auto;
  margin: 22px 0 0;
  display: block;
}
.publication-home .publication-directory { gap: clamp(28px, 3vw, 52px); border: 0; }
.publication-home .publication-directory .publication-feature { border: 0; }
.publication-home .publication-directory .publication-feature a { padding: 0; background: transparent; }
.publication-home .publication-directory .publication-feature a:hover { background: transparent; }
.publication-home .publication-directory .publication-feature footer { border-top: 0; }
@media (max-width: 860px) {
  .publication-home .publication-directory { gap: 28px; }
  .publication-home .publication-directory .publication-feature { padding: 0; }
  .publication-home .publication-directory .publication-feature + .publication-feature { border-top: 0; }
  .publication-direction-art { width: min(210px, 45vw); }
}
