:root {
  color-scheme:dark;
  --bg:#111315;
  --panel:#191e22;
  --panel-deep:#14191d;
  --text:#f0f1f2;
  --muted:#b0b8be;
  --quiet:#8c979f;
  --accent:#9cc4dc;
  --line:#30373d;
  --font:Inter,"Pretendard","Noto Sans KR","Malgun Gothic",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:"SFMono-Regular",Consolas,monospace;
}
/* Case study: investigation, modification, and validation */
.investigation-steps {
  list-style:none;
  padding:0;
  margin:28px 0 0;
  counter-reset:investigation;
}
.investigation-steps li {
  position:relative;
  padding:0 0 25px 35px;
  border-left:1px solid var(--line);
  counter-increment:investigation;
}
.investigation-steps li::before {
  content:counter(investigation,decimal-leading-zero);
  position:absolute;
  left:-12px;
  top:2px;
  background:var(--bg);
  color:var(--accent);
  font:11px var(--mono);
  padding:5px 3px;
}
.investigation-steps li:last-child {
  padding-bottom:0;
  border-left-color:transparent;
}
.step-label {
  font-size:14px;
  color:var(--text);
  font-weight:500;
}
.investigation-steps p {
  margin-top:7px;
  font-size:14px;
  line-height:1.9;
  color:var(--muted);
}
.dimension-content {
  padding:8px 25px 25px;
}
.dimension-row {
  padding-top:20px;
}
.dimension-heading {
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:center;
  margin-bottom:13px;
}
.dimension-heading h3 {
  font-size:14px;
  font-weight:500;
}
.dimension-total {
  font:29px var(--mono);
  color:var(--accent);
}
.dimension-total>span {
  font-size:12px;
  margin-left:3px;
  color:var(--quiet);
}
.dimension-bar {
  display:grid;
  min-height:47px;
  gap:3px;
}
.dimension-bar.internal {
  grid-template-columns:1fr 2fr;
}
.dimension-bar.expected {
  grid-template-columns:2fr 3fr;
}
.dimension-bar>span {
  display:flex;
  justify-content:center;
  align-items:center;
  font-size:13px;
  border:1px solid #4a5c69;
  padding:10px 6px;
}
.dimension-bar .arm-part {
  background:#202a32;
  color:#d7e0e7;
}
.dimension-bar .hand-part {
  background:#284354;
  border-color:#6c94ae;
  color:#d9edf8;
}
.dimension-row>p {
  font-size:11px;
  color:var(--quiet);
  margin-top:10px;
  line-height:1.8;
}
.dimension-connector {
  display:flex;
  gap:12px;
  align-items:center;
  color:var(--quiet);
  font-size:11px;
  padding-top:20px;
}
.dimension-connector>span {
  color:var(--accent);
  font-size:17px;
}
.dimension-row.observed {
  border-top:1px solid var(--line);
  margin-top:23px;
}
.observed .dimension-total {
  color:#d6b79a;
}
.dimension-bar .missing-part {
  border:1px dashed #917965;
  color:#d6b79a;
  background:transparent;
}
.modification-section {
  padding:50px 0 60px;
  border-bottom:1px solid var(--line);
}
.modification-heading {
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:64px;
  align-items:center;
  margin-bottom:32px;
}
.modification-heading h2 {
  font-size:29px;
  line-height:1.45;
  letter-spacing:-.04em;
  font-weight:500;
  margin-top:16px;
}
.modification-heading>p {
  font-size:16px;
  color:var(--muted);
  line-height:1.95;
}
.before-after {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.flow-panel {
  min-width:0;
  background:var(--panel-deep);
  border:1px solid var(--line);
  border-radius:5px;
  overflow:hidden;
}
.before-panel .figure-heading>span:last-child {
  color:#d6b79a;
}
.after-panel {
  border-color:#526d80;
}
.flow-content {
  padding:25px;
}
.flow-node {
  border:1px solid #415362;
  padding:16px 20px;
  background:var(--panel);
}
.flow-node>p {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-top:8px;
  font-size:16px;
}
.flow-node strong {
  font:20px var(--mono);
  font-weight:400;
  color:var(--accent);
  white-space:nowrap;
}
.flow-arrow {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  padding:9px 0 13px;
  font-size:11px;
  line-height:1.7;
  color:var(--muted);
  text-align:center;
}
.flow-arrow>span:first-child {
  font-size:21px;
  color:var(--accent);
}
.flow-loss,.flow-retained {
  font-size:12px;
  line-height:1.8;
  margin:15px 0 20px;
  color:#d6b79a;
}
.flow-loss>span,.flow-retained>span {
  margin-right:7px;
}
.flow-retained {
  color:var(--accent);
}
.flow-node.preserved {
  border-color:#6c94ae;
  background:#213440;
}
.flow-result {
  border-top:1px solid var(--line);
  padding-top:16px;
}
.flow-result>span {
  font-size:11px;
  color:var(--quiet);
}
.flow-result>p {
  font-size:16px;
  letter-spacing:.015em;
  margin-top:4px;
}
.flow-result strong {
  font:23px var(--mono);
  font-weight:400;
}
.after-panel .flow-result strong {
  color:var(--accent);
}
.flow-panel figcaption {
  padding:15px 25px;
  border-top:1px solid var(--line);
  font-size:11px;
  color:var(--quiet);
  line-height:1.8;
}
.modification-caption {
  font-size:12px;
  line-height:1.8;
  color:var(--quiet);
  margin-top:19px;
  max-width:790px;
}
.validation-evidence {
  border-top:1px solid var(--line);
  min-width:0;
}
.validation-evidence .figure-heading {
  padding:0 0 17px;
  margin-top:15px;
}
.validation-list {
  margin:0;
}
.validation-list>div {
  padding:23px 0;
  border-bottom:1px solid var(--line);
}
.validation-list dt {
  font-size:17px;
  font-weight:500;
  letter-spacing:-.02em;
}
.verification-type {
  display:block;
  color:var(--accent);
  font-size:10px;
  letter-spacing:.04em;
  margin-bottom:6px;
  font-weight:400;
}
.validation-list dd {
  margin:9px 0 0;
  font-size:14px;
  color:var(--muted);
  line-height:1.85;
}
.evidence-kind {
  display:block;
  font-size:11px;
  color:var(--quiet);
  margin-top:11px;
}
.case-takeaway {
  padding:42px 0;
  border-bottom:1px solid var(--line);
}
.case-takeaway>p {
  font-size:23px;
  line-height:1.7;
  letter-spacing:-.03em;
  margin-top:13px;
  color:var(--muted);
}
.case-takeaway strong {
  color:var(--text);
  font-weight:500;
}
@media(max-width:1000px) {
  .modification-heading {
    gap:34px;
  }
}
@media(max-width:900px) {
  .investigation-steps p {
    font-size:15px;
  }
  .dimension-content {
    padding:5px 19px 22px;
  }
  .dimension-heading h3 {
    font-size:13px;
  }
  .dimension-total {
    font-size:27px;
  }
  .dimension-bar>span {
    font-size:12px;
  }
  .dimension-row>p {
    font-size:11px;
  }
  .dimension-figure {
    max-width:600px;
    width:100%;
    margin-inline:auto;
  }
  .modification-section {
    padding:33px 0 38px;
  }
  .modification-heading {
    grid-template-columns:1fr;
    gap:20px;
    margin-bottom:25px;
  }
  .modification-heading h2 {
    font-size:28px;
    margin-top:12px;
  }
  .before-after {
    grid-template-columns:1fr;
    gap:24px;
  }
  .flow-content {
    padding:20px;
  }
  .flow-panel figcaption {
    padding:14px 20px;
  }
  .flow-node {
    padding:15px 17px;
  }
  .flow-node>p {
    font-size:15px;
  }
  .validation-list dt {
    font-size:17px;
  }
  .validation-list dd {
    font-size:15px;
  }
  .case-takeaway {
    padding:30px 0;
  }
  .case-takeaway>p {
    font-size:20px;
  }
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:96px;
}
body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font);
  font-size:16px;
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
  word-break:keep-all;
  overflow-wrap:break-word;
}
a {
  color:inherit;
  text-decoration:none;
}
a,summary {
  touch-action:manipulation;
}
a:focus-visible,summary:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:6px;
}
::selection {
  background:#36596d;
  color:#fff;
}
img {
  display:block;
  max-width:100%;
  height:auto;
}
figure,p,h1,h2,h3 {
  margin:0;
}
button,a,summary {
  -webkit-tap-highlight-color:transparent;
}
.container {
  width:calc(100% - 96px);
  max-width:1160px;
  margin-inline:auto;
}
.mono {
  font-family:var(--mono);
}
.eyebrow,.project-kicker,.section-number,.figure-heading,.visual-foot {
  font-size:11px;
  line-height:1.5;
  letter-spacing:.12em;
  font-weight:600;
}
.eyebrow,.section-number {
  color:var(--accent);
}
.skip-link {
  position:fixed;
  z-index:100;
  top:12px;
  left:12px;
  padding:10px 18px;
  background:var(--text);
  color:var(--bg);
  transform:translateY(-180%);
}
.skip-link:focus {
  transform:translateY(0);
}
.site-header {
  position:sticky;
  top:0;
  z-index:10;
  background:rgba(17,19,21,.96);
  border-bottom:1px solid var(--line);
}
.header-inner {
  height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.wordmark {
  display:flex;
  flex-direction:column;
  gap:5px;
  font-size:16px;
  line-height:1.1;
  letter-spacing:.015em;
  font-weight:700;
}
.wordmark-name { white-space:nowrap; }
.wordmark-subtitle { font-size:10px; letter-spacing:.2em; color:var(--muted); }
.wordmark-dot {
  color:var(--accent);
  margin-left:3px;
}
.site-header nav {
  display:flex;
  gap:34px;
  align-items:center;
  font-size:13px;
}
.site-header nav a {
  color:var(--muted);
  position:relative;
  transition:color .18s;
}
.site-header nav a:hover,.site-header nav a[aria-current] {
  color:var(--text);
}
.site-header nav a[aria-current]::after {
  content:"";
  height:2px;
  background:var(--accent);
  position:absolute;
  left:0;
  right:0;
  bottom:-28px;
}
.site-header nav a span {
  margin-left:5px;
  color:var(--quiet);
}
.intro {
  padding:65px 0 58px;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:36px;
}
.intro h1 {
  font-size:56px;
  line-height:1.2;
  letter-spacing:-.065em;
  font-weight:600;
  margin-top:15px;
}
.intro-statement {
  font-size:25px;
  line-height:1.6;
  letter-spacing:-.035em;
  color:var(--muted);
  max-width:480px;
}
.intro-statement span {
  color:var(--text);
}
.section-heading {
  border-top:1px solid var(--line);
  padding-top:28px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
}
.section-heading h2 {
  font-size:22px;
  font-weight:500;
  letter-spacing:-.035em;
  display:flex;
  align-items:center;
  gap:12px;
}
.count {
  font:11px var(--mono);
  color:var(--quiet);
  letter-spacing:0;
}
.section-heading>p {
  font-size:12px;
  color:var(--quiet);
}
.platform-context {
  font-size:14px;
  color:var(--muted);
  margin-top:15px;
  line-height:1.8;
}
.project-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:54px;
  padding:40px 0 50px;
  border-bottom:1px solid var(--line);
  align-items:center;
}
.project-row+.project-row {
  padding-top:50px;
}
.project-visual {
  display:block;
  background:var(--panel-deep);
  border:1px solid var(--line);
  border-radius:5px;
  overflow:hidden;
  min-width:0;
}
.project-visual img {
  width:100%;
  transition:opacity .2s;
}
.project-visual[href]:hover img {
  opacity:.84;
}
.visual-foot {
  border-top:1px solid var(--line);
  padding:14px 21px;
  display:flex;
  justify-content:space-between;
  color:var(--quiet);
  font-size:9px;
  letter-spacing:.1em;
}
.visual-foot>span:last-child {
  color:var(--accent);
}
.project-copy {
  padding:8px 0;
}
.project-kicker {
  color:var(--quiet);
  font-size:10px;
  letter-spacing:.09em;
  display:flex;
  gap:14px;
  align-items:center;
}
.project-kicker>span {
  font:13px var(--mono);
  color:var(--accent);
}
.project-copy h3 {
  font-size:29px;
  line-height:1.4;
  letter-spacing:-.045em;
  font-weight:550;
  margin:16px 0 17px;
}
.project-copy h3 a:hover {
  color:var(--accent);
}
.project-copy>p:not(.project-kicker) {
  color:var(--muted);
  font-size:15px;
  line-height:1.85;
  max-width:480px;
}
.project-copy .representative {
  margin-top:22px;
  padding-left:15px;
  border-left:2px solid #40586a;
  font-size:13px!important;
}
.representative>span {
  display:block;
  color:var(--quiet);
  font-size:10px;
  letter-spacing:.04em;
  margin-bottom:5px;
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:32px;
  font-size:13px;
  font-weight:500;
  margin-top:25px;
  padding-bottom:5px;
  border-bottom:1px solid #526570;
  transition:color .18s,border-color .18s;
}
.text-link:hover {
  color:var(--accent);
  border-color:var(--accent);
}
.text-link>span {
  color:var(--accent);
  font-size:19px;
  line-height:1;
}
.project-overview {
  margin-top:24px;
  font-size:13px;
}
.project-overview summary {
  list-style:none;
  cursor:pointer;
  display:inline-flex;
  gap:30px;
  align-items:center;
  border-bottom:1px solid #526570;
  padding-bottom:5px;
}
.project-overview summary::-webkit-details-marker {
  display:none;
}
.project-overview summary span {
  font-size:19px;
  line-height:1;
  color:var(--accent);
}
.project-overview[open] summary span {
  transform:rotate(45deg);
}
.project-overview p {
  color:var(--muted);
  margin-top:18px;
  line-height:1.85;
}
.about {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:54px;
  padding:80px 0 86px;
}
.about h2 {
  font-size:29px;
  line-height:1.5;
  letter-spacing:-.035em;
  font-weight:500;
  margin-top:14px;
}
.about>div>p:not(.eyebrow) {
  font-size:15px;
  color:var(--muted);
}
.site-footer {
  border-top:1px solid var(--line);
  padding:25px 0 30px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:11px;
  color:var(--quiet);
}
.site-footer a:hover {
  color:var(--text);
}
.case-topline {
  padding-top:37px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:11px;
  color:var(--quiet);
}
.back-link {
  font-size:12px;
  color:var(--muted);
}
.back-link:hover {
  color:var(--accent);
}
.case-intro {
  padding:43px 0 35px;
}
.case-intro h1 {
  font-size:46px;
  line-height:1.35;
  letter-spacing:-.05em;
  font-weight:550;
  margin-top:18px;
}
.case-subtitle {
  font-size:17px;
  color:var(--accent);
  margin-top:22px;
  letter-spacing:-.025em;
}
.case-description {
  font-size:15px;
  color:var(--muted);
  margin-top:7px;
}
.case-sections {
  border-block:1px solid var(--line);
  display:flex;
  gap:35px;
  padding:17px 0;
  font-size:12px;
  color:var(--muted);
}
.case-sections a:hover {
  color:var(--accent);
}
.evidence-section {
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:64px;
  padding:50px 0 65px;
  align-items:start;
  border-bottom:1px solid var(--line);
}
.evidence-copy h2 {
  font-size:29px;
  font-weight:500;
  line-height:1.45;
  letter-spacing:-.04em;
  margin:16px 0 23px;
}
.evidence-copy>p:not(.section-number) {
  color:var(--muted);
  font-size:16px;
  line-height:1.95;
  margin-top:18px;
}
.evidence-copy strong {
  color:var(--text);
  font-weight:500;
}
.scope-note {
  border-top:1px solid var(--line);
  margin-top:27px;
  padding-top:17px;
  display:grid;
  grid-template-columns:66px 1fr;
  gap:10px;
  font-size:12px;
  color:var(--quiet);
}
.scope-note>span {
  color:var(--accent);
}
.scope-note p {
  line-height:1.8;
}
.evidence-figure {
  background:var(--panel-deep);
  border:1px solid var(--line);
  border-radius:5px;
  overflow:hidden;
  min-width:0;
}
.figure-heading {
  padding:17px 22px;
  border-bottom:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  color:var(--quiet);
  font-size:9px;
}
.figure-heading>span:last-child {
  color:var(--accent);
}
.evidence-figure>img,.evidence-figure picture img {
  width:100%;
}
.evidence-figure figcaption {
  border-top:1px solid var(--line);
  font-size:11px;
  color:var(--quiet);
  line-height:1.8;
  padding:16px 21px;
  display:flex;
  gap:12px;
}
.evidence-figure figcaption>span {
  font-family:var(--mono);
  color:var(--accent);
}
.contract-block {
  margin:25px 26px 0;
  padding:22px 24px;
  border:1px solid #415362;
  background:var(--panel);
}
.diagram-label {
  font-size:10px;
  color:var(--quiet);
  letter-spacing:.05em;
}
.contract-block h3,.runtime-block h3 {
  font-size:19px;
  line-height:1.5;
  font-weight:500;
  margin:5px 0 12px;
  letter-spacing:-.02em;
}
.contract-block ul {
  padding:0;
  margin:0;
  list-style:none;
}
.contract-block li {
  font-size:12px;
  display:flex;
  justify-content:space-between;
  gap:10px;
  border-top:1px solid var(--line);
  padding:9px 0;
  color:var(--muted);
}
.contract-block li:last-child {
  padding-bottom:0;
}
.contract-block li span {
  font:9px var(--mono);
  color:var(--quiet);
  align-self:center;
}
.contract-bridge {
  display:flex;
  align-items:center;
  flex-direction:column;
  gap:5px;
  font-size:11px;
  color:var(--accent);
  padding:10px 0;
}
.bridge-line {
  width:1px;
  height:13px;
  background:#607f92;
}
.runtime-block {
  margin:0 26px 26px;
  padding:18px 24px;
  border:1px solid #607f92;
  background:#1c2a33;
}
.runtime-block h3 {
  margin-bottom:3px;
}
.runtime-block p {
  font-size:12px;
  color:var(--muted);
}
.quiet-note {
  border-left:2px solid var(--line);
  padding-left:15px;
  font-size:12px!important;
  color:var(--quiet)!important;
}
.case-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:25px 0 60px;
}
.case-bottom .text-link {
  margin-top:0;
}
.case-bottom>.mono {
  font-size:10px;
  color:var(--quiet);
}
@media(min-width:1450px) {
  .intro {
    padding:75px 0 65px;
  }
  .project-copy h3 {
    font-size:31px;
  }
  .project-copy>p:not(.project-kicker) {
    font-size:15px;
  }
}
@media(max-width:1000px) {
  .container {
    width:calc(100% - 64px);
  }
  .project-row {
    gap:30px;
  }
  .project-copy h3 {
    font-size:25px;
  }
  .evidence-section {
    gap:34px;
  }
  .case-intro h1 {
    font-size:41px;
  }
  .intro-statement {
    font-size:23px;
  }
}
@media(max-width:900px) {
  html {
    scroll-padding-top:86px;
  }
  .container {
    width:calc(100% - 40px);
  }
  .header-inner {
    height:65px;
  }
  .wordmark {
    font-size:14px;
  }
  .wordmark-subtitle { font-size:9px; }
  .site-header nav {
    gap:22px;
    font-size:12px;
  }
  .site-header nav a[aria-current]::after {
    bottom:-23px;
  }
  .intro {
    padding:38px 0 35px;
    grid-template-columns:1fr;
    gap:26px;
  }
  .intro h1 {
    font-size:45px;
    margin-top:10px;
  }
  .eyebrow {
    font-size:10px;
  }
  .intro-statement {
    font-size:23px;
    line-height:1.65;
  }
  .intro-statement br:first-of-type {
    display:none;
  }
  .desktop-break {
    display:none;
  }
  .section-heading {
    padding-top:22px;
    align-items:baseline;
    gap:12px;
  }
  .section-heading h2 {
    font-size:21px;
  }
  .section-heading>p {
    font-size:10px;
    text-align:right;
    max-width:150px;
  }
  .platform-context {
    font-size:13px;
    margin-top:13px;
  }
  .project-row,.project-row+.project-row {
    grid-template-columns:1fr;
    gap:25px;
    padding:27px 0 36px;
  }
  .project-row+.project-row {
    padding-top:36px;
  }
  .project-copy {
    padding:0;
  }
  .project-kicker {
    font-size:9px;
    gap:12px;
  }
  .project-copy h3 {
    font-size:27px;
    margin:14px 0;
  }
  .project-copy h3 br {
    display:none;
  }
  .project-copy>p:not(.project-kicker) {
    font-size:14px;
  }
  .project-copy .representative {
    margin-top:18px;
  }
  .text-link {
    margin-top:21px;
  }
  .visual-foot {
    padding:12px 16px;
    font-size:8px;
  }
  .about {
    grid-template-columns:1fr;
    gap:24px;
    padding:45px 0 50px;
  }
  .about h2 {
    font-size:26px;
  }
  .about>div>p:not(.eyebrow) {
    font-size:14px;
  }
  .site-footer {
    font-size:10px;
    padding:22px 0;
    gap:12px;
  }
  .case-topline {
    padding-top:25px;
    font-size:9px;
  }
  .case-intro {
    padding:31px 0 27px;
  }
  .case-intro h1 {
    font-size:34px;
    margin-top:15px;
  }
  .case-subtitle {
    font-size:15px;
    margin-top:18px;
  }
  .case-description {
    font-size:13px;
    margin-top:8px;
  }
  .case-sections {
    gap:24px;
    font-size:11px;
    padding:15px 0;
    flex-wrap:wrap;
  }
  .evidence-section {
    grid-template-columns:1fr;
    gap:27px;
    padding:33px 0 38px;
  }
  .evidence-copy h2 {
    font-size:28px;
    margin-top:12px;
    margin-bottom:20px;
  }
  .evidence-copy>p:not(.section-number) {
    font-size:16px;
    margin-top:15px;
  }
  .section-number {
    font-size:10px;
  }
  .scope-note {
    margin-top:21px;
    font-size:11px;
    grid-template-columns:58px 1fr;
  }
  .figure-heading {
    padding:14px 17px;
    font-size:8px;
  }
  .evidence-figure figcaption {
    padding:14px 16px;
    font-size:10px;
  }
  .contract-block {
    margin:19px 19px 0;
    padding:17px 19px;
  }
  .runtime-block {
    margin:0 19px 19px;
    padding:17px 19px;
  }
  .contract-block li {
    font-size:11px;
  }
  .contract-block li span {
    font-size:8px;
  }
  .case-bottom {
    padding:25px 0 40px;
  }
  .case-bottom>.mono {
    font-size:9px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  * {
    transition:none!important;
  }
}
@media(max-width:900px) {
  picture img {
    aspect-ratio:auto;
  }
}

/* Robot Replay: lifecycle and command comparison */
.replay-states {
  list-style: none;
  margin: 0;
  padding: 24px;
}
.replay-states li {
  position: relative;
  padding: 17px 20px;
  border: 1px solid #415362;
  background: var(--panel);
}
.replay-states li + li { margin-top: 27px; }
.replay-states li + li::before {
  content: '↓';
  position: absolute;
  top: -28px;
  left: calc(50% - 6px);
  color: var(--accent);
  line-height: 27px;
}
.replay-states h3 {
  font-size: 17px;
  font-weight: 500;
  letter-spacing: -.02em;
  margin: 5px 0 7px;
}
.replay-states p { font-size: 13px; color: var(--muted); }
.replay-states .active-state {
  background: #213440;
  border-color: #6c94ae;
}
.state-clock {
  display: block;
  font-size: 11px;
  color: var(--accent);
  margin-top: 10px;
  padding-top: 9px;
  border-top: 1px solid #415362;
}
.command-compare-content { padding: 24px; }
.command-case h3 { font-size: 20px; font-weight: 500; margin: 8px 0 10px; }
.command-case p { font-size: 14px; color: var(--muted); line-height: 1.9; }
.command-pattern {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 7px;
  margin-top: 18px;
}
.command-pattern span {
  text-align: center;
  font-size: 12px;
  padding: 10px 3px;
  background: #284354;
  color: #d9edf8;
  border: 1px solid #6c94ae;
}
.command-pattern .observation-slot {
  border-style: dashed;
  border-color: #657078;
  background: transparent;
  color: var(--quiet);
}
.stalled-case { margin-top: 27px; padding-top: 24px; border-top: 1px solid var(--line); }
.command-conclusion { margin-top: 25px; padding-top: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: 14px; }
.command-conclusion strong { color: var(--text); font-weight: 500; }
@media(max-width:900px) {
  .replay-states, .command-compare-content { padding: 19px; }
  .replay-states li { padding: 16px; }
  .command-pattern { gap: 5px; }
  .command-case .diagram-label { font-size: 9px; letter-spacing: 0; }
  .case-bottom { flex-wrap: wrap; gap: 19px; }
  .case-bottom .text-link { font-size: 12px; }
}

/* Docker: runtime ownership and diagnostic checkpoints */
.ownership-content { padding: 24px; }
.ownership-block { border: 1px solid #415362; padding: 20px; background: var(--panel); }
.ownership-block h3 { margin: 7px 0 12px; font-size: 19px; font-weight: 500; }
.ownership-block ul { margin: 0; padding-left: 18px; color: var(--muted); font-size: 13px; line-height: 1.95; }
.container-owner { background: #213440; border-color: #6c94ae; }
.transport-boundary { display: flex; gap: 17px; align-items: center; padding: 18px 20px; color: var(--accent); }
.transport-boundary > span { font-size: 26px; }
.transport-boundary p { font-size: 12px; color: var(--muted); line-height: 1.9; }
.transport-boundary strong { color: var(--accent); font-weight: 500; }
.diagnostic-stages { list-style: none; margin: 0; padding: 9px 24px; }
.diagnostic-stages li { display: grid; grid-template-columns: 29px minmax(0,1fr); gap: 16px; padding: 21px 0; }
.diagnostic-stages li + li { border-top: 1px solid var(--line); }
.diagnostic-number { color: var(--accent); font-size: 12px; padding-top: 5px; font-family: monospace; }
.diagnostic-stages h3 { font-size: 18px; font-weight: 500; margin: 0 0 6px; }
.diagnostic-stages p { font-size: 13px; color: var(--muted); line-height: 1.8; }
.ai-collaboration { border-top: 1px solid var(--line); padding: 30px 0; display: grid; grid-template-columns: .92fr 1.08fr; column-gap: 64px; }
.ai-collaboration .eyebrow { grid-column: 1 / -1; margin-bottom: 16px; }
.ai-collaboration h2 { font-size: 20px; font-weight: 500; line-height: 1.6; letter-spacing: -.025em; }
.ai-collaboration > p:last-child { color: var(--muted); font-size: 14px; line-height: 1.95; }
@media(max-width:900px) {
  .ownership-content { padding: 19px; }
  .ownership-block { padding: 17px; }
  .ownership-block h3 { font-size: 18px; }
  .transport-boundary { padding: 16px 9px; }
  .diagnostic-stages { padding: 5px 19px; }
  .diagnostic-stages li { gap: 10px; }
  .ai-collaboration { grid-template-columns: 1fr; gap: 15px; }
  .ai-collaboration .eyebrow { margin-bottom: 0; }
}

/* Introduction home */
.home-intro { display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; align-items:start; padding:66px 0 58px; }
.home-intro h1 { font-size:56px; line-height:1.2; letter-spacing:-.06em; font-weight:600; margin-top:15px; }
.home-intro-caption { margin-top:18px; font-size:13px; color:var(--quiet); }
.home-statement { font-size:27px; line-height:1.6; letter-spacing:-.04em; color:var(--muted); }
.home-statement span { color:var(--text); }
.home-intro-copy>p+p { font-size:15px; line-height:1.95; color:var(--muted); margin-top:21px; }
.home-actions { display:flex; flex-wrap:wrap; align-items:center; gap:28px; margin-top:23px; }
.home-actions .text-link { margin-top:0; }
.subtle-link { font-size:13px; color:var(--muted); display:inline-flex; gap:15px; align-items:center; }
.subtle-link:hover { color:var(--accent); }
.subtle-link>span { color:var(--accent); }
.home-section { padding-bottom:60px; }
.home-section-lead { margin-top:17px; color:var(--muted); line-height:1.9; font-size:16px; }
.profile-layout { margin-top:27px; display:grid; gap:14px; }
.profile-wide,.profile-stack>div { padding:22px 25px; background:var(--panel-deep); border:1px solid var(--line); border-radius:5px; }
.profile-wide { display:grid; grid-template-columns:125px minmax(0,1fr); gap:15px; align-items:baseline; }
.profile-layout dt { color:var(--text); font-size:14px; font-weight:600; }
.profile-layout dd { color:var(--muted); font-size:15px; line-height:1.85; }
.profile-columns { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.profile-stack { display:grid; gap:14px; }
.profile-stack:first-child { grid-template-rows:repeat(3,1fr); }
.profile-stack:last-child { grid-template-rows:auto 1fr; }
.profile-stack>div { display:grid; grid-template-columns:80px minmax(0,1fr); gap:13px; align-content:center; align-items:baseline; }
.profile-stack .profile-improvement { display:block; }
.profile-improvement dd { margin-top:12px; }
.profile-improvement ul { list-style:none; padding:0; font-size:13px; }
.profile-improvement li+li { margin-top:9px; }
.profile-improvement li span { color:var(--quiet); display:block; font-size:11px; margin-bottom:1px; }
.competency-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:29px; }
.competency { padding:29px 30px 30px; background:var(--panel-deep); border:1px solid var(--line); border-radius:5px; }
.competency-heading { display:flex; align-items:baseline; gap:16px; }
.competency-heading>.mono { color:var(--accent); font-size:11px; }
.competency h3 { font-size:21px; font-weight:500; letter-spacing:-.025em; }
.competency-keywords { display:flex; flex-wrap:wrap; gap:9px; margin:17px 0 22px; padding:0 0 21px; border-bottom:1px solid var(--line); }
.competency-keywords span { color:var(--accent); font-size:12px; padding:3px 7px; background:#21303a; }
.competency ul { padding-left:19px; }
.competency li { padding-left:3px; color:var(--quiet); }
.competency li+li { margin-top:18px; }
.competency li strong { color:var(--text); font-size:14px; font-weight:500; }
.competency li p { color:var(--muted); font-size:14px; line-height:1.85; margin-top:5px; }
.equipment-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 36px; margin-top:13px; }
.equipment-grid article { padding:27px 0; border-bottom:1px solid var(--line); }
.equipment-grid .eyebrow { font-size:9px; }
.equipment-grid h3 { font-size:22px; font-weight:500; margin:11px 0 15px; }
.equipment-grid ul { list-style:none; padding:0; color:var(--muted); font-size:15px; line-height:1.95; }
.equipment-link { display:inline-flex; gap:18px; font-size:12px; color:var(--accent); margin-top:17px; }
.equipment-link:hover { text-decoration:underline; }
.equipment-note { font-size:12px; line-height:1.9; color:var(--quiet); margin-top:20px; }
.development-tools { display:flex; flex-wrap:wrap; gap:20px; align-items:center; padding:24px 0 0; }
.development-tools .eyebrow { font-size:9px; }
.development-tools>p { color:var(--muted); font-size:14px; }
.ai-introduction { max-width:850px; }
.ai-workflow { list-style:none; padding:0; margin:30px 0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); }
.ai-workflow li { position:relative; padding:0 20px 0 21px; border-left:1px solid #415362; }
.ai-workflow li:first-child { padding-left:0; border-left:0; }
.ai-workflow li:last-child { padding-right:0; }
.workflow-number { display:block; color:var(--accent); font:12px var(--mono); margin-bottom:14px; }
.ai-workflow h3 { font-size:17px; font-weight:500; margin-bottom:10px; }
.ai-workflow p { font-size:13px; line-height:1.85; color:var(--muted); }
.ai-responsibilities { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:22px 0; }
.ai-responsibilities>div { display:grid; grid-template-columns:125px minmax(0,1fr); gap:15px; }
.ai-responsibilities>div+div { margin-top:13px; }
.ai-responsibilities dt { font-size:13px; font-weight:500; color:var(--accent); }
.ai-responsibilities dd { font-size:14px; line-height:1.8; color:var(--muted); }
.project-shortlist { margin-top:18px; }
.project-shortlist>a { display:grid; grid-template-columns:32px minmax(0,1fr) 20px; gap:20px; align-items:center; padding:24px 0; border-bottom:1px solid var(--line); }
.project-shortlist>a>.mono { font-size:11px; color:var(--quiet); }
.project-shortlist h3 { font-size:20px; font-weight:500; letter-spacing:-.03em; }
.project-shortlist p { font-size:13px; color:var(--muted); margin-top:8px; line-height:1.8; }
.project-shortlist>a>span:last-child { color:var(--accent); }
.project-shortlist>a:hover h3 { color:var(--accent); }
.projects-page .projects { padding-top:55px; }
.projects-page .section-heading { border-top:0; padding-top:0; }
.projects-page .section-heading h1 { display:flex; align-items:center; gap:14px; font-size:36px; font-weight:500; letter-spacing:-.04em; }
.ai-collaboration>.text-link { grid-column:2; justify-self:start; margin-top:14px; }
@media(max-width:900px) {
  .home-intro { grid-template-columns:1fr; gap:30px; padding:38px 0 40px; }
  .home-intro h1 { font-size:44px; }
  .home-intro-caption { font-size:12px; margin-top:12px; }
  .home-statement { font-size:24px; }
  .home-intro-copy>p+p { font-size:14px; }
  .home-section { padding-bottom:42px; }
  .home-section-lead { font-size:14px; }
  .profile-columns { grid-template-columns:1fr; gap:14px; }
  .profile-wide { padding:19px; grid-template-columns:1fr; gap:7px; }
  .profile-stack>div { padding:19px; }
  .profile-stack:first-child { grid-template-rows:auto; }
  .profile-layout dd { font-size:14px; }
  .profile-improvement ul { font-size:13px; }
  .competency-grid { grid-template-columns:1fr; gap:17px; }
  .competency { padding:24px 22px; }
  .competency h3 { font-size:20px; }
  .equipment-grid { grid-template-columns:1fr; }
  .equipment-grid h3 { font-size:21px; }
  .ai-workflow { grid-template-columns:1fr; gap:0; }
  .ai-workflow li,.ai-workflow li:first-child { border-left:1px solid #415362; padding:0 0 25px 25px; margin-left:9px; }
  .ai-workflow li:last-child { padding-bottom:0; }
  .workflow-number { position:relative; margin-left:-35px; background:var(--bg); padding:3px 0; width:20px; margin-bottom:8px; }
  .ai-workflow h3 { font-size:19px; }
  .ai-workflow p { font-size:14px; }
  .ai-responsibilities>div { grid-template-columns:1fr; gap:5px; }
  .home-explore .section-heading { flex-wrap:wrap; }
  .project-shortlist>a { grid-template-columns:23px minmax(0,1fr) 13px; gap:10px; }
  .project-shortlist h3 { font-size:18px; }
  .projects-page .projects { padding-top:35px; }
  .projects-page .section-heading h1 { font-size:30px; }
  .ai-collaboration>.text-link { grid-column:1; }
}
/* Keep definition lists aligned with the surrounding layout. */
.profile-layout dl,.profile-layout dd,.ai-responsibilities dd { margin:0; }
.profile-improvement dd { margin-top:12px; }
.profile-improvement ul,.competency ul,.equipment-grid ul { margin:0; }
@media(max-width:900px) {
  .home-page .home-section>.section-heading { display:block; }
  .home-page .home-section>.section-heading>p { margin-top:7px; text-align:left; max-width:none; }
  .home-page .home-explore>.section-heading { display:flex; }
}

/* Equipment image previews */
.equipment-instructions { display:block; font-size:12px; color:var(--quiet); margin-top:5px; }
.equipment-item { position:relative; }
.equipment-trigger { font:inherit; font-size:15px; line-height:1.95; color:var(--muted); background:none; border:0; border-bottom:1px dashed #526570; padding:0; cursor:pointer; text-align:left; touch-action:manipulation; }
.equipment-trigger:hover,.equipment-trigger[aria-expanded="true"] { color:var(--accent); border-bottom-color:var(--accent); }
.equipment-trigger:focus-visible,.equipment-dismiss:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.equipment-image-hint { font-size:12px; color:var(--quiet); margin-left:9px; }
.equipment-preview { position:fixed; z-index:30; width:min(280px,calc(100vw - 24px)); margin:0; border:1px solid #607a8b; border-radius:6px; overflow:hidden; background:var(--panel); box-shadow:0 12px 40px #0009; }
.equipment-preview[hidden] { display:none; }
.equipment-preview figcaption { padding:12px 15px; line-height:1.6; }
.equipment-preview figcaption strong { display:block; font-size:14px; font-weight:500; }
.equipment-preview figcaption>span { display:block; font-size:10px; color:var(--quiet); margin-top:4px; }
.equipment-dismiss { position:absolute; right:7px; top:7px; width:29px; height:29px; border:1px solid #607a8b; border-radius:50%; color:#fff; background:#191e22; cursor:pointer; font:22px/1 sans-serif; }
@media(max-width:900px) {
  .equipment-trigger { min-height:40px; }
}
.equipment-preview { width:min(320px,calc(100vw - 24px)); }
.equipment-preview>img { display:block; width:100%; height:240px; object-fit:contain; padding:15px; background:#fff; }
.equipment-source { display:inline-block; margin-top:5px; color:var(--accent); font-size:11px; }
.equipment-source:hover { text-decoration:underline; }
.equipment-preview figcaption>span a { color:var(--accent); }
@media(max-width:900px) { .equipment-preview>img { height:205px; } }

.equipment-preview { max-height:calc(100dvh - 24px); overflow:auto; }

/* Direct contact */
.contact-details { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin:27px 0 0; }
.contact-details>div { padding:22px 0; border-bottom:1px solid var(--line); }
.contact-details dt { color:var(--quiet); font-size:12px; margin-bottom:8px; }
.contact-details dd { margin:0; }
.contact-details a { font-size:23px; display:inline-flex; align-items:center; gap:18px; }
.contact-details a span { font-size:17px; color:var(--accent); }
.contact-details a:hover { color:var(--accent); }
.footer-contact { display:flex; flex-wrap:wrap; gap:8px 22px; font-style:normal; }
.site-footer { flex-wrap:wrap; }
@media(max-width:900px) {
  .contact-details { grid-template-columns:1fr; gap:0; }
  .contact-details a { font-size:20px; }
  .footer-contact { width:100%; order:3; }
}

@media(max-width:380px) {
  .site-header nav { gap:13px; font-size:11px; }
  .wordmark { font-size:12px; }
}

.dimension-note { color:var(--muted); font-size:12px; line-height:1.8; margin:0 0 22px; }

.detailed-takeaway>p { font-size:17px; line-height:1.9; letter-spacing:-.02em; }
.detailed-takeaway strong { font-weight:700; }
@media(max-width:900px) { .detailed-takeaway>p { font-size:16px; } }

/* ROBROS: extend the retained Tesollo components. */
html{scroll-behavior:smooth;scroll-padding-top:110px}
.robros-lead,.case-body>p{max-width:850px;line-height:1.9;color:var(--muted)}
.robros-tags{font-size:12px;color:var(--accent)}
.robros-credentials,.robros-kpi{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:36px 0}
.robros-credentials article,.robros-kpi article{border-top:1px solid var(--line);padding:24px 0}
.robros-credentials p{color:var(--muted);line-height:1.8}
.robros-activity{display:grid;grid-template-columns:220px 1fr;gap:32px;padding:32px 0;border-top:1px solid var(--line)}
.robros-activity p{line-height:1.9;color:var(--muted)}
.robros-parttime{border-block:1px solid var(--line);padding:24px 0}.robros-parttime summary{cursor:pointer}.robros-parttime dl>div{padding:14px 0}.robros-parttime dd{margin:8px 0;color:var(--muted)}
.robros-flow{margin:32px 0;padding:28px;max-width:900px}.robros-flow ol{display:grid;gap:12px;list-style:none;padding:0}.robros-flow li{padding:15px;border:1px solid var(--line);line-height:1.7}.robros-flow li+li:before{content:'↓';display:block;color:var(--accent);margin-bottom:12px}
.robros-kpi strong{font-size:42px;color:var(--accent)}.robros-kpi small{font-size:18px}.metric-track{position:relative;background:var(--panel);height:14px;margin-top:24px}.metric-track span{display:block;height:100%;background:var(--accent)}.metric-track i{position:absolute;right:0;top:-6px;height:26px;border-right:2px solid var(--text)}.count-track{display:flex;font-size:12px}.count-track span{width:75%;padding:12px;background:#264553}.count-track b{width:25%;padding:12px;background:#634a35}
.case-body h2{font-size:clamp(24px,3vw,38px);line-height:1.4}.case-body .scope-note{display:block;padding:22px}.project-shortlist a>div{min-width:0}.project-shortlist h3{overflow-wrap:anywhere}
@media(max-width:900px){.header-inner{height:auto;min-height:90px;flex-wrap:wrap;gap:16px;padding:16px 0}.site-header nav{width:100%;gap:18px;justify-content:space-between;font-size:11px}.site-header nav a[aria-current]::after{display:none}.robros-credentials,.robros-kpi{grid-template-columns:1fr;gap:8px}.robros-activity{grid-template-columns:1fr;gap:0}.robros-flow{padding:18px}.case-sections{flex-wrap:wrap}.project-shortlist a{gap:15px}html{scroll-padding-top:125px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Profile refinements and training, 2026-10-29. */
.robros-credentials.credential-block{display:block;border:1px solid var(--line);border-radius:8px;background:var(--panel-deep);padding:28px 32px}
.credential-block dl{margin:0}.credential-block dl>div{display:grid;grid-template-columns:155px minmax(0,1fr);gap:24px;padding:18px 0}.credential-block dl>div+div{border-top:1px solid var(--line)}.credential-block dt{font-weight:500}.credential-block dd{margin:0;color:var(--muted);line-height:1.8}.credential-block dd p{margin:0}.credential-block dd p+p{margin-top:10px}
.equipment-grid .robot-platform-group{list-style:none}.equipment-grid .robot-platform-group ul{padding:0;list-style:none;margin:4px 0 16px}.equipment-grid .robot-platform-label{margin:0;color:var(--muted);font-size:13px}
.training-card{padding:28px 0;border-block:1px solid var(--line)}.training-card h3{font-size:22px;font-weight:500}.training-card p,.training-card li{line-height:1.9;color:var(--muted)}.training-card .eyebrow,.training-card .robros-tags{color:var(--accent)}.training-card ul{padding-left:20px}.robros-parttime{margin-top:32px}
@media(max-width:650px){.robros-credentials.credential-block{padding:16px 20px}.credential-block dl>div{grid-template-columns:1fr;gap:10px}}

/* Keep all five navigation entries accessible on narrow screens. */
@media(max-width:650px){.site-header nav{flex-wrap:wrap;justify-content:flex-start;gap:12px 16px;font-size:11px}.site-header nav a{white-space:nowrap}}
